# UI_Window_Bundle_BundleChainWindow_537.luac
; fn @BundleChainWindow.lua  line 0-0 np=0 va=1 ms=3 code=77 consts=28 upvals=1 protos=20
;   K[0]='BundleChainWindow'
;   K[1]='setmetatable'
;   K[2]='windowMaskAlpha'
;   K[3]='EWindowMaskAlpha'
;   K[4]='Dark'
;   K[5]='BundleBaseWindow'
;   K[6]='__index'
;   K[7]='UpdatePerSecond'
;   K[8]='OnBundleDataRefreshed'
;   K[9]='OnDestroy'
;   K[10]='Init'
;   K[11]='OnBundleIAPRestoreSuccess'
;   K[12]='PlayEnterAnim'
;   K[13]='GetPurchaseIds'
;   K[14]='PlayNextStepAnimation'
;   K[15]='OnCloseView'
;   K[16]='BundleChainCell'
;   K[17]='Init'
;   K[18]='OnDestroy'
;   K[19]='UpdateStep'
;   K[20]='UpdateContent'
;   K[21]='_UpdateRewards'
;   K[22]='SetUnlocked'
;   K[23]='UpdateLockState'
;   K[24]='IsInCurStep'
;   K[25]='GetStep'
;   K[26]='OnBtnClicked'
;   K[27]='GetLockGo'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K3('EWindowMaskAlpha')]
0003  GETTABLE  R2 = R2[K4('Dark')]
0004  SETTABLE  R1[K2('windowMaskAlpha')] = R2
0005  GETTABUP  R2 = _ENV[K5('BundleBaseWindow')]
0006  CALL      R0 = call(R0, 1 args, 2 rets)
0007  SETTABUP  _ENV[K0('BundleChainWindow')] = R0
0008  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0009  GETTABUP  R1 = _ENV[K0('BundleChainWindow')]
0010  SETTABLE  R0[K6('__index')] = R1
0011  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0012  CLOSURE   R1 = closure proto0
0013  SETTABLE  R0[K7('UpdatePerSecond')] = R1
0014  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0015  CLOSURE   R1 = closure proto1
0016  SETTABLE  R0[K8('OnBundleDataRefreshed')] = R1
0017  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0018  CLOSURE   R1 = closure proto2
0019  SETTABLE  R0[K9('OnDestroy')] = R1
0020  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0021  CLOSURE   R1 = closure proto3
0022  SETTABLE  R0[K10('Init')] = R1
0023  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0024  CLOSURE   R1 = closure proto4
0025  SETTABLE  R0[K11('OnBundleIAPRestoreSuccess')] = R1
0026  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0027  CLOSURE   R1 = closure proto5
0028  SETTABLE  R0[K12('PlayEnterAnim')] = R1
0029  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0030  CLOSURE   R1 = closure proto6
0031  SETTABLE  R0[K13('GetPurchaseIds')] = R1
0032  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0033  CLOSURE   R1 = closure proto7
0034  SETTABLE  R0[K14('PlayNextStepAnimation')] = R1
0035  GETTABUP  R0 = _ENV[K0('BundleChainWindow')]
0036  CLOSURE   R1 = closure proto8
0037  SETTABLE  R0[K15('OnCloseView')] = R1
0038  NEWTABLE  R0 = {} (0 items)
0039  SETTABUP  _ENV[K16('BundleChainCell')] = R0
0040  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0041  GETTABUP  R1 = _ENV[K16('BundleChainCell')]
0042  SETTABLE  R0[K6('__index')] = R1
0043  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0044  CLOSURE   R1 = closure proto9
0045  SETTABLE  R0[K17('Init')] = R1
0046  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0047  CLOSURE   R1 = closure proto10
0048  SETTABLE  R0[K18('OnDestroy')] = R1
0049  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0050  CLOSURE   R1 = closure proto11
0051  SETTABLE  R0[K19('UpdateStep')] = R1
0052  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0053  CLOSURE   R1 = closure proto12
0054  SETTABLE  R0[K20('UpdateContent')] = R1
0055  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0056  CLOSURE   R1 = closure proto13
0057  SETTABLE  R0[K21('_UpdateRewards')] = R1
0058  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0059  CLOSURE   R1 = closure proto14
0060  SETTABLE  R0[K22('SetUnlocked')] = R1
0061  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0062  CLOSURE   R1 = closure proto15
0063  SETTABLE  R0[K23('UpdateLockState')] = R1
0064  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0065  CLOSURE   R1 = closure proto16
0066  SETTABLE  R0[K24('IsInCurStep')] = R1
0067  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0068  CLOSURE   R1 = closure proto17
0069  SETTABLE  R0[K25('GetStep')] = R1
0070  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0071  CLOSURE   R1 = closure proto18
0072  SETTABLE  R0[K26('OnBtnClicked')] = R1
0073  GETTABUP  R0 = _ENV[K16('BundleChainCell')]
0074  CLOSURE   R1 = closure proto19
0075  SETTABLE  R0[K27('GetLockGo')] = R1
0076  RETURN    return R0..R-1
; ---------- proto0 [UpdatePerSecond] ----------
  ; fn ?  line 7-20 np=1 va=0 ms=8 code=35 consts=16 upvals=1 protos=0
  ;   K[0]='m_bundleEndTime'
  ;   K[1]='m_model'
  ;   K[2]='GetBundleTriggerEndTime'
  ;   K[3]='m_dataGroup'
  ;   K[4]='GM'
  ;   K[5]='GameModel'
  ;   K[6]='GetServerTime'
  ;   K[7]='m_countDownText'
  ;   K[8]='text'
  ;   K[9]='TimeUtil'
  ;   K[10]='ParseTimeDescription'
  ;   K[11]=2
  ;   K[12]=0
  ;   K[13]='UIUtil'
  ;   K[14]='SetActive'
  ;   K[15]='m_countDownGo'
  ;   upvals: _ENV
  ;   locals: self(0-35), restDuration(14-35)
  0000  GETTABLE  R1 = R0[K0('m_bundleEndTime')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 8
  0003  GETTABLE  R1 = R0[K1('m_model')]
  0004  SELF      R2 = R1[K2('GetBundleTriggerEndTime')] (self)
  0005  GETTABLE  R3 = R0[K3('m_dataGroup')]
  0006  CALL      R1 = call(R1, 1 args, 2 rets)
  0007  SETTABLE  R0[K0('m_bundleEndTime')] = R1
  0008  GETTABLE  R1 = R0[K0('m_bundleEndTime')]
  0009  GETTABUP  R2 = _ENV[K4('GM')]
  0010  GETTABLE  R2 = R2[K5('GameModel')]
  0011  SELF      R3 = R2[K6('GetServerTime')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  SUB       R1 = R2 sub R1
  0014  GETTABLE  R2 = R0[K7('m_countDownText')]
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 26
  0017  GETTABLE  R2 = R0[K7('m_countDownText')]
  0018  GETTABUP  R3 = _ENV[K9('TimeUtil')]
  0019  GETTABLE  R3 = R3[K10('ParseTimeDescription')]
  0020  MOVE      R4 = R0
  0021  LOADK     R5 = K11 2
  0022  LOADBOOL  R6 = false
  0023  LOADBOOL  R7 = false
  0024  CALL      R3 = call(R3, 1 args, 4 rets)
  0025  SETTABLE  R2[K8('text')] = R3
  0026  LE        if R0 le K12(0)   -> -130264
  0027  JMP       (jump)   -> 34
  0028  GETTABUP  R2 = _ENV[K13('UIUtil')]
  0029  GETTABLE  R2 = R2[K14('SetActive')]
  0030  GETTABLE  R3 = R0[K15('m_countDownGo')]
  0031  LOADBOOL  R4 = false
  0032  CALL      R2 = call(R2, 0 args, 2 rets)
  0033  RETURN    return R0..R-1
  0034  RETURN    return R0..R-1
; ---------- proto1 [OnBundleDataRefreshed] ----------
  ; fn ?  line 22-30 np=2 va=0 ms=5 code=21 consts=7 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]=nil
  ;   K[2]='m_dataGroup'
  ;   K[3]='HasPurchaseFinished'
  ;   K[4]='Close'
  ;   K[5]='BundleBaseWindow'
  ;   K[6]='OnBundleDataRefreshed'
  ;   upvals: _ENV
  ;   locals: self(0-21), msg(0-21)
  0000  GETTABLE  R2 = R0[K0('m_model')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 15
  0003  GETTABLE  R2 = R0[K2('m_dataGroup')]
  0004  EQ        if R1 eq K1(nil)   -> -129785
  0005  JMP       (jump)   -> 15
  0006  GETTABLE  R2 = R0[K0('m_model')]
  0007  SELF      R3 = R2[K3('HasPurchaseFinished')] (self)
  0008  GETTABLE  R4 = R0[K2('m_dataGroup')]
  0009  CALL      R2 = call(R2, 1 args, 2 rets)
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 15
  0012  SELF      R3 = R0[K4('Close')] (self)
  0013  CALL      R2 = call(R2, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
  0015  GETTABUP  R2 = _ENV[K5('BundleBaseWindow')]
  0016  GETTABLE  R2 = R2[K6('OnBundleDataRefreshed')]
  0017  MOVE      R3 = R0
  0018  MOVE      R4 = R0
  0019  CALL      R2 = call(R2, 0 args, 2 rets)
  0020  RETURN    return R0..R-1
; ---------- proto2 [OnDestroy] ----------
  ; fn ?  line 32-44 np=1 va=0 ms=4 code=21 consts=10 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_seq'
  ;   K[3]=nil
  ;   K[4]='Kill'
  ;   K[5]='m_bEventLocked'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='SetEventLock'
  ;   K[9]=false
  ;   upvals: _ENV
  ;   locals: self(0-21)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_seq')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_seq')]
  0008  SELF      R2 = R1[K4('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_seq')] = K3(nil)
  0011  GETTABLE  R1 = R0[K5('m_bEventLocked')]
  0012  TEST      if not R1 then   -> -131058
  0013  JMP       (jump)   -> 20
  0014  GETTABUP  R1 = _ENV[K6('GM')]
  0015  GETTABLE  R1 = R1[K7('UIManager')]
  0016  SELF      R2 = R1[K8('SetEventLock')] (self)
  0017  LOADBOOL  R3 = false
  0018  CALL      R1 = call(R1, 0 args, 2 rets)
  0019  SETTABLE  R0[K5('m_bEventLocked')] = K9(false)
  0020  RETURN    return R0..R-1
; ---------- proto3 [Init] ----------
  ; fn ?  line 46-82 np=1 va=1 ms=14 code=108 consts=38 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='m_model'
  ;   K[3]='GM'
  ;   K[4]='BundleManager'
  ;   K[5]='GetModel'
  ;   K[6]='m_dataGroup'
  ;   K[7]='GetBundleType'
  ;   K[8]='GetBundleUIType'
  ;   K[9]='m_uiStyle'
  ;   K[10]='BundleUIType'
  ;   K[11]='UIUtil'
  ;   K[12]='SetActive'
  ;   K[13]='m_cellOrigin'
  ;   K[14]='m_mountNodes'
  ;   K[15]='m_mountNodesOriginChildCount'
  ;   K[16]='m_cells'
  ;   K[17]='m_lastIndex'
  ;   K[18]='GetCurChainStep'
  ;   K[19]=1
  ;   K[20]=6
  ;   K[21]='m_mountNode'
  ;   K[22]='childCount'
  ;   K[23]='GameObject'
  ;   K[24]='Instantiate'
  ;   K[25]='GetLuaTable'
  ;   K[26]='GetConfigDataByIndex'
  ;   K[27]='gameObject'
  ;   K[28]=nil
  ;   K[29]=0
  ;   K[30]='m_mountNode7'
  ;   K[31]='UpdatePerSecond'
  ;   K[32]='PlayEnterAnim'
  ;   K[33]='EventDispatcher'
  ;   K[34]='AddListener'
  ;   K[35]='EEventType'
  ;   K[36]='BundleIAPRestoreSuccess'
  ;   K[37]='OnBundleIAPRestoreSuccess'
  ;   upvals: _ENV
  ;   locals: self(0-108), uiType(16-108), cell(30-108), (for index)(38-93), (for limit)(38-93), (for step)(38-93), i(39-92), curData(63-92)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('Init')]
  0002  MOVE      R2 = R0
  0003  VARARG    R3 = vararg(0)
  0004  CALL      R1 = call(R1, 0 args, -1 rets)
  0005  GETTABUP  R1 = _ENV[K3('GM')]
  0006  GETTABLE  R1 = R1[K4('BundleManager')]
  0007  SELF      R2 = R1[K5('GetModel')] (self)
  0008  GETTABLE  R3 = R0[K6('m_dataGroup')]
  0009  SELF      R4 = R3[K7('GetBundleType')] (self)
  0010  CALL      R3 = call(R3, -1 args, 1 rets)
  0011  CALL      R1 = call(R1, 1 args, -1 rets)
  0012  SETTABLE  R0[K2('m_model')] = R1
  0013  GETTABLE  R1 = R0[K6('m_dataGroup')]
  0014  SELF      R2 = R1[K8('GetBundleUIType')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  GETTABUP  R2 = _ENV[K10('BundleUIType')]
  0017  GETTABLE  R2 = R2[R1]
  0018  SETTABLE  R0[K9('m_uiStyle')] = R2
  0019  GETTABUP  R2 = _ENV[K11('UIUtil')]
  0020  GETTABLE  R2 = R2[K12('SetActive')]
  0021  GETTABLE  R3 = R0[K13('m_cellOrigin')]
  0022  CALL      R2 = call(R2, 0 args, 1 rets)
  0023  NEWTABLE  R2 = {} (0 items)
  0024  SETTABLE  R0[K14('m_mountNodes')] = R2
  0025  NEWTABLE  R2 = {} (0 items)
  0026  SETTABLE  R0[K15('m_mountNodesOriginChildCount')] = R2
  0027  NEWTABLE  R2 = {} (0 items)
  0028  SETTABLE  R0[K16('m_cells')] = R2
  0029  LOADNIL   R2..R2 = nil
  0030  GETTABLE  R3 = R0[K2('m_model')]
  0031  SELF      R4 = R3[K18('GetCurChainStep')] (self)
  0032  GETTABLE  R5 = R0[K6('m_dataGroup')]
  0033  CALL      R3 = call(R3, 1 args, 2 rets)
  0034  SETTABLE  R0[K17('m_lastIndex')] = R3
  0035  LOADK     R3 = K19 1
  0036  LOADK     R4 = K20 6
  0037  LOADK     R5 = K19 1
  0038  FORPREP   forprep R3(sBx=53)   -> 92
  0039  GETTABLE  R7 = R0[K14('m_mountNodes')]
  0040  LOADK     R8 = K21 'm_mountNode'
  0041  MOVE      R9 = R0
  0042  CONCAT    R8 = concat(R8..R8)
  0043  GETTABLE  R8 = R0[R8]
  0044  SETTABLE  R7[R6] = R8
  0045  GETTABLE  R7 = R0[K15('m_mountNodesOriginChildCount')]
  0046  GETTABLE  R8 = R0[K14('m_mountNodes')]
  0047  GETTABLE  R8 = R8[R6]
  0048  GETTABLE  R8 = R8[K22('childCount')]
  0049  SETTABLE  R7[R6] = R8
  0050  GETTABUP  R7 = _ENV[K23('GameObject')]
  0051  GETTABLE  R7 = R7[K24('Instantiate')]
  0052  GETTABLE  R8 = R0[K13('m_cellOrigin')]
  0053  GETTABLE  R9 = R0[K14('m_mountNodes')]
  0054  GETTABLE  R9 = R9[R6]
  0055  CALL      R7 = call(R7, 1 args, 2 rets)
  0056  SELF      R8 = R7[K25('GetLuaTable')] (self)
  0057  CALL      R7 = call(R7, 1 args, 1 rets)
  0058  MOVE      R2 = R0
  0059  GETTABLE  R7 = R0[K6('m_dataGroup')]
  0060  SELF      R8 = R7[K26('GetConfigDataByIndex')] (self)
  0061  GETTABLE  R9 = R0[K17('m_lastIndex')]
  0062  CALL      R7 = call(R7, 1 args, 2 rets)
  0063  GETTABLE  R8 = R0[K14('m_mountNodes')]
  0064  GETTABLE  R8 = R8[R6]
  0065  GETTABLE  R8 = R8[K27('gameObject')]
  0066  SELF      R9 = R8[K12('SetActive')] (self)
  0067  EQ        if R0 eq K28(nil)   -> -127135
  0068  JMP       (jump)   -> 70
  0069  LOADBOOL  R10 = false
  0070  LOADBOOL  R10 = true
  0071  CALL      R8 = call(R8, 0 args, 2 rets)
  0072  EQ        if R1 eq K28(nil)   -> -127130
  0073  JMP       (jump)   -> 87
  0074  GETTABLE  R8 = R2[K27('gameObject')]
  0075  SELF      R9 = R8[K12('SetActive')] (self)
  0076  LOADBOOL  R10 = true
  0077  CALL      R8 = call(R8, 0 args, 2 rets)
  0078  SELF      R9 = R2[K1('Init')] (self)
  0079  MOVE      R10 = R0
  0080  GETTABLE  R11 = R0[K6('m_dataGroup')]
  0081  GETTABLE  R12 = R0[K17('m_lastIndex')]
  0082  EQ        if R1 eq K19(1)   -> -127641
  0083  JMP       (jump)   -> 85
  0084  LOADBOOL  R13 = false
  0085  LOADBOOL  R13 = true
  0086  CALL      R8 = call(R8, 0 args, 5 rets)
  0087  GETTABLE  R8 = R0[K16('m_cells')]
  0088  SETTABLE  R8[R6] = R2
  0089  GETTABLE  R8 = R0[K17('m_lastIndex')]
  0090  ADD       R8 = K19(1) add R8
  0091  SETTABLE  R0[K17('m_lastIndex')] = R8
  0092  FORLOOP   forloop R3(sBx=-54)   -> 39
  0093  GETTABLE  R3 = R0[K14('m_mountNodes')]
  0094  GETTABLE  R4 = R0[K30('m_mountNode7')]
  0095  SETTABLE  R3[K29(0)] = R4
  0096  SELF      R4 = R0[K31('UpdatePerSecond')] (self)
  0097  CALL      R3 = call(R3, 0 args, 1 rets)
  0098  SELF      R4 = R0[K32('PlayEnterAnim')] (self)
  0099  CALL      R3 = call(R3, 0 args, 1 rets)
  0100  GETTABUP  R3 = _ENV[K33('EventDispatcher')]
  0101  GETTABLE  R3 = R3[K34('AddListener')]
  0102  GETTABUP  R4 = _ENV[K35('EEventType')]
  0103  GETTABLE  R4 = R4[K36('BundleIAPRestoreSuccess')]
  0104  MOVE      R5 = R0
  0105  GETTABLE  R6 = R0[K37('OnBundleIAPRestoreSuccess')]
  0106  CALL      R3 = call(R3, 0 args, 3 rets)
  0107  RETURN    return R0..R-1
; ---------- proto4 [OnBundleIAPRestoreSuccess] ----------
  ; fn ?  line 84-88 np=2 va=0 ms=4 code=11 consts=4 upvals=0 protos=0
  ;   K[0]='m_dataGroup'
  ;   K[1]=nil
  ;   K[2]='GetGroupId'
  ;   K[3]='Close'
  ;   locals: self(0-11), groupId(0-11)
  0000  GETTABLE  R2 = R0[K0('m_dataGroup')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 10
  0003  GETTABLE  R2 = R0[K0('m_dataGroup')]
  0004  SELF      R3 = R2[K2('GetGroupId')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  EQ        if R0 eq R1   -> -130039
  0007  JMP       (jump)   -> 10
  0008  SELF      R3 = R0[K3('Close')] (self)
  0009  CALL      R2 = call(R2, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto5 [PlayEnterAnim] ----------
  ; fn ?  line 90-96 np=1 va=0 ms=7 code=22 consts=9 upvals=0 protos=0
  ;   K[0]='m_titleSpine'
  ;   K[1]=nil
  ;   K[2]='Initialize'
  ;   K[3]='AnimationState'
  ;   K[4]='SetAnimation'
  ;   K[5]=0
  ;   K[6]='appear'
  ;   K[7]='AddAnimation'
  ;   K[8]='idle'
  ;   locals: self(0-22)
  0000  GETTABLE  R1 = R0[K0('m_titleSpine')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 21
  0003  GETTABLE  R1 = R0[K0('m_titleSpine')]
  0004  SELF      R2 = R1[K2('Initialize')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABLE  R1 = R0[K0('m_titleSpine')]
  0007  GETTABLE  R1 = R1[K3('AnimationState')]
  0008  SELF      R2 = R1[K4('SetAnimation')] (self)
  0009  LOADK     R3 = K5 0
  0010  LOADK     R4 = K6 'appear'
  0011  LOADBOOL  R5 = false
  0012  CALL      R1 = call(R1, 0 args, 4 rets)
  0013  GETTABLE  R1 = R0[K0('m_titleSpine')]
  0014  GETTABLE  R1 = R1[K3('AnimationState')]
  0015  SELF      R2 = R1[K7('AddAnimation')] (self)
  0016  LOADK     R3 = K5 0
  0017  LOADK     R4 = K8 'idle'
  0018  LOADBOOL  R5 = true
  0019  LOADK     R6 = K5 0
  0020  CALL      R1 = call(R1, 0 args, 5 rets)
  0021  RETURN    return R0..R-1
; ---------- proto6 [GetPurchaseIds] ----------
  ; fn ?  line 99-108 np=1 va=0 ms=6 code=26 consts=9 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetCurStepBundleConfigData'
  ;   K[2]='m_dataGroup'
  ;   K[3]='GetCurChainStep'
  ;   K[4]=nil
  ;   K[5]='IsFree'
  ;   K[6]='GetPurchaseId'
  ;   K[7]='_'
  ;   K[8]='chain'
  ;   locals: self(0-26), bundleData(4-26), step(8-26)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurStepBundleConfigData')] (self)
  0002  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  GETTABLE  R2 = R0[K0('m_model')]
  0005  SELF      R3 = R2[K3('GetCurChainStep')] (self)
  0006  GETTABLE  R4 = R0[K2('m_dataGroup')]
  0007  CALL      R2 = call(R2, 1 args, 2 rets)
  0008  EQ        if R1 eq K4(nil)   -> -130290
  0009  JMP       (jump)   -> 20
  0010  SELF      R4 = R1[K5('IsFree')] (self)
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  TEST      if not R3 then   -> -131057
  0013  JMP       (jump)   -> 20
  0014  SELF      R4 = R1[K6('GetPurchaseId')] (self)
  0015  CALL      R3 = call(R3, 1 args, 1 rets)
  0016  LOADK     R4 = K7 '_'
  0017  MOVE      R5 = R0
  0018  CONCAT    R3 = concat(R3..R3)
  0019  RETURN    return R3..R2
  0020  LOADK     R3 = K8 'chain'
  0021  LOADK     R4 = K7 '_'
  0022  MOVE      R5 = R0
  0023  CONCAT    R3 = concat(R3..R3)
  0024  RETURN    return R3..R2
  0025  RETURN    return R0..R-1
; ---------- proto7 [PlayNextStepAnimation] ----------
  ; fn ?  line 110-185 np=1 va=0 ms=20 code=138 consts=53 upvals=1 protos=4
  ;   K[0]=1
  ;   K[1]=6
  ;   K[2]='m_cells'
  ;   K[3]='transform'
  ;   K[4]='SetParent'
  ;   K[5]='m_mountNodes'
  ;   K[6]='table'
  ;   K[7]='remove'
  ;   K[8]='insert'
  ;   K[9]='GM'
  ;   K[10]='UIManager'
  ;   K[11]='SetEventLock'
  ;   K[12]='m_bEventLocked'
  ;   K[13]=true
  ;   K[14]='DOTween'
  ;   K[15]='Sequence'
  ;   K[16]='Insert'
  ;   K[17]=0
  ;   K[18]='DOScale'
  ;   K[19]=0.4
  ;   K[20]='InsertCallback'
  ;   K[21]=0.45
  ;   K[22]=1
  ;   K[23]=6
  ;   K[24]='m_cells'
  ;   K[25]='transform'
  ;   K[26]=0.15
  ;   K[27]=0.2
  ;   K[28]='DOLocalMove'
  ;   K[29]='V3Zero'
  ;   K[30]=0.65
  ;   K[31]='SetEase'
  ;   K[32]='Ease'
  ;   K[33]='OutQuart'
  ;   K[34]='GetLockGo'
  ;   K[35]=0.6
  ;   K[36]='DOShakeAnchorPos'
  ;   K[37]=0.5
  ;   K[38]=4
  ;   K[39]=20
  ;   K[40]=90
  ;   K[41]=1.1
  ;   K[42]='DOLocalMoveY'
  ;   K[43]='localPosition'
  ;   K[44]='y'
  ;   K[45]=0.05
  ;   K[46]=1.15
  ;   K[47]=1000
  ;   K[48]=0.45
  ;   K[49]='InQuart'
  ;   K[50]=1.6
  ;   K[51]='OnComplete'
  ;   K[52]='m_seq'
  ;   upvals: _ENV
  ;   locals: self(0-138), (for index)(3-14), (for limit)(3-14), (for step)(3-14), i(4-13), firstCell(19-138), sequence(33-138), playMountNodeAnimation(46-138), (for index)(49-133), (for limit)(49-133), (for step)(49-133), i(50-132), transform(53-131), transform(76-116)
  0000  LOADK     R1 = K0 1
  0001  LOADK     R2 = K1 6
  0002  LOADK     R3 = K0 1
  0003  FORPREP   forprep R1(sBx=9)   -> 13
  0004  GETTABLE  R5 = R0[K2('m_cells')]
  0005  GETTABLE  R5 = R5[R4]
  0006  GETTABLE  R5 = R5[K3('transform')]
  0007  SELF      R6 = R5[K4('SetParent')] (self)
  0008  GETTABLE  R7 = R0[K5('m_mountNodes')]
  0009  SUB       R8 = K0(1) sub R4
  0010  GETTABLE  R7 = R7[R8]
  0011  LOADBOOL  R8 = true
  0012  CALL      R5 = call(R5, 0 args, 3 rets)
  0013  FORLOOP   forloop R1(sBx=-10)   -> 4
  0014  GETTABUP  R1 = _ENV[K6('table')]
  0015  GETTABLE  R1 = R1[K7('remove')]
  0016  GETTABLE  R2 = R0[K2('m_cells')]
  0017  LOADK     R3 = K0 1
  0018  CALL      R1 = call(R1, 1 args, 2 rets)
  0019  GETTABUP  R2 = _ENV[K6('table')]
  0020  GETTABLE  R2 = R2[K8('insert')]
  0021  GETTABLE  R3 = R0[K2('m_cells')]
  0022  MOVE      R4 = R0
  0023  CALL      R2 = call(R2, 0 args, 2 rets)
  0024  GETTABUP  R2 = _ENV[K9('GM')]
  0025  GETTABLE  R2 = R2[K10('UIManager')]
  0026  SELF      R3 = R2[K11('SetEventLock')] (self)
  0027  LOADBOOL  R4 = true
  0028  CALL      R2 = call(R2, 0 args, 2 rets)
  0029  SETTABLE  R0[K12('m_bEventLocked')] = K13(true)
  0030  GETTABUP  R2 = _ENV[K14('DOTween')]
  0031  GETTABLE  R2 = R2[K15('Sequence')]
  0032  CALL      R2 = call(R2, 1 args, 0 rets)
  0033  SELF      R4 = R2[K16('Insert')] (self)
  0034  LOADK     R5 = K17 0
  0035  GETTABLE  R6 = R1[K3('transform')]
  0036  SELF      R7 = R6[K18('DOScale')] (self)
  0037  LOADK     R8 = K17 0
  0038  LOADK     R9 = K19 0.4
  0039  CALL      R6 = call(R6, -1 args, 3 rets)
  0040  CALL      R3 = call(R3, 0 args, -1 rets)
  0041  SELF      R4 = R2[K20('InsertCallback')] (self)
  0042  LOADK     R5 = K21 0.45
  0043  CLOSURE   R6 = closure proto0
  0044  CALL      R3 = call(R3, 0 args, 3 rets)
  0045  CLOSURE   R3 = closure proto1
  0046  LOADK     R4 = K22 1
  0047  LOADK     R5 = K23 6
  0048  LOADK     R6 = K22 1
  0049  FORPREP   forprep R4(sBx=82)   -> 132
  0050  GETTABLE  R8 = R0[K24('m_cells')]
  0051  GETTABLE  R8 = R8[R7]
  0052  GETTABLE  R8 = R8[K25('transform')]
  0053  SELF      R10 = R2[K16('Insert')] (self)
  0054  SUB       R11 = K22(1) sub R7
  0055  MUL       R11 = K26(0.15) mul R11
  0056  ADD       R11 = R11 add K27(0.2)
  0057  SELF      R13 = R8[K28('DOLocalMove')] (self)
  0058  GETTABUP  R14 = _ENV[K29('V3Zero')]
  0059  LOADK     R15 = K30 0.65
  0060  CALL      R12 = call(R12, 1 args, 3 rets)
  0061  SELF      R13 = R12[K31('SetEase')] (self)
  0062  GETTABUP  R14 = _ENV[K32('Ease')]
  0063  GETTABLE  R14 = R14[K33('OutQuart')]
  0064  CALL      R12 = call(R12, -1 args, 2 rets)
  0065  CALL      R9 = call(R9, 0 args, -1 rets)
  0066  MOVE      R9 = R0
  0067  MOVE      R10 = R0
  0068  CALL      R9 = call(R9, 0 args, 1 rets)
  0069  EQ        if R0 eq K22(1)   -> -127139
  0070  JMP       (jump)   -> 116
  0071  GETTABLE  R9 = R0[K24('m_cells')]
  0072  GETTABLE  R9 = R9[R7]
  0073  SELF      R10 = R9[K34('GetLockGo')] (self)
  0074  CALL      R9 = call(R9, 1 args, 1 rets)
  0075  GETTABLE  R9 = R9[K25('transform')]
  0076  SELF      R11 = R2[K16('Insert')] (self)
  0077  LOADK     R12 = K35 0.6
  0078  SELF      R14 = R9[K36('DOShakeAnchorPos')] (self)
  0079  LOADK     R15 = K37 0.5
  0080  LOADK     R16 = K38 4
  0081  LOADK     R17 = K39 20
  0082  LOADK     R18 = K40 90
  0083  LOADBOOL  R19 = true
  0084  CALL      R13 = call(R13, -1 args, 6 rets)
  0085  CALL      R10 = call(R10, 0 args, -1 rets)
  0086  SELF      R11 = R2[K16('Insert')] (self)
  0087  LOADK     R12 = K41 1.1
  0088  SELF      R14 = R9[K42('DOLocalMoveY')] (self)
  0089  GETTABLE  R15 = R9[K43('localPosition')]
  0090  GETTABLE  R15 = R15[K44('y')]
  0091  ADD       R15 = K39(20) add R15
  0092  LOADK     R16 = K45 0.05
  0093  CALL      R13 = call(R13, 1 args, 3 rets)
  0094  SELF      R14 = R13[K31('SetEase')] (self)
  0095  GETTABUP  R15 = _ENV[K32('Ease')]
  0096  GETTABLE  R15 = R15[K33('OutQuart')]
  0097  CALL      R13 = call(R13, -1 args, 2 rets)
  0098  CALL      R10 = call(R10, 0 args, -1 rets)
  0099  SELF      R11 = R2[K16('Insert')] (self)
  0100  LOADK     R12 = K46 1.15
  0101  SELF      R14 = R9[K42('DOLocalMoveY')] (self)
  0102  GETTABLE  R15 = R9[K43('localPosition')]
  0103  GETTABLE  R15 = R15[K44('y')]
  0104  SUB       R15 = K47(1000) sub R15
  0105  LOADK     R16 = K48 0.45
  0106  CALL      R13 = call(R13, 1 args, 3 rets)
  0107  SELF      R14 = R13[K31('SetEase')] (self)
  0108  GETTABUP  R15 = _ENV[K32('Ease')]
  0109  GETTABLE  R15 = R15[K49('InQuart')]
  0110  CALL      R13 = call(R13, -1 args, 2 rets)
  0111  CALL      R10 = call(R10, 0 args, -1 rets)
  0112  SELF      R11 = R2[K20('InsertCallback')] (self)
  0113  LOADK     R12 = K50 1.6
  0114  CLOSURE   R13 = closure proto2
  0115  CALL      R10 = call(R10, 0 args, 3 rets)
  0116  EQ        if R0 eq K23(6)   -> -127091
  0117  JMP       (jump)   -> 132
  0118  SELF      R10 = R2[K16('Insert')] (self)
  0119  SUB       R11 = K22(1) sub R7
  0120  MUL       R11 = K26(0.15) mul R11
  0121  ADD       R11 = R11 add K27(0.2)
  0122  SELF      R13 = R8[K18('DOScale')] (self)
  0123  LOADK     R14 = K22 1
  0124  LOADK     R15 = K30 0.65
  0125  CALL      R12 = call(R12, 1 args, 3 rets)
  0126  SELF      R13 = R12[K31('SetEase')] (self)
  0127  GETTABUP  R14 = _ENV[K32('Ease')]
  0128  GETTABLE  R14 = R14[K33('OutQuart')]
  0129  CALL      R12 = call(R12, -1 args, 2 rets)
  0130  CALL      R9 = call(R9, 0 args, -1 rets)
  0131  JMP       (jump)   -> 132
  0132  FORLOOP   forloop R4(sBx=-83)   -> 50
  0133  SELF      R5 = R2[K51('OnComplete')] (self)
  0134  CLOSURE   R6 = closure proto3
  0135  CALL      R4 = call(R4, 0 args, 2 rets)
  0136  SETTABLE  R0[K52('m_seq')] = R2
  0137  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 123-136 np=0 va=0 ms=6 code=44 consts=20 upvals=3 protos=0
    ;   K[0]='m_dataGroup'
    ;   K[1]='GetConfigDataByIndex'
    ;   K[2]='m_lastIndex'
    ;   K[3]=nil
    ;   K[4]='UIUtil'
    ;   K[5]='SetActive'
    ;   K[6]='gameObject'
    ;   K[7]=1
    ;   K[8]='UpdateContent'
    ;   K[9]='m_uiStyle'
    ;   K[10]='UpdateStep'
    ;   K[11]='GetLockGo'
    ;   K[12]='transform'
    ;   K[13]='localScale'
    ;   K[14]='V3One'
    ;   K[15]='localPosition'
    ;   K[16]='V3Zero'
    ;   K[17]='SetParent'
    ;   K[18]='m_mountNodes'
    ;   K[19]=6
    ;   upvals: self, _ENV, firstCell
    ;   locals: curData(4-44)
    0000  GETTABUP  R0 = self[K0('m_dataGroup')]
    0001  SELF      R1 = R0[K1('GetConfigDataByIndex')] (self)
    0002  GETTABUP  R2 = self[K2('m_lastIndex')]
    0003  CALL      R0 = call(R0, 1 args, 2 rets)
    0004  EQ        if R0 eq K3(nil)   -> -130807
    0005  JMP       (jump)   -> 15
    0006  GETTABUP  R1 = _ENV[K4('UIUtil')]
    0007  GETTABLE  R1 = R1[K5('SetActive')]
    0008  GETTABUP  R2 = firstCell[K6('gameObject')]
    0009  LOADBOOL  R3 = false
    0010  CALL      R1 = call(R1, 0 args, 2 rets)
    0011  GETTABUP  R1 = self[K2('m_lastIndex')]
    0012  ADD       R1 = K7(1) add R1
    0013  SETTABUP  self[K2('m_lastIndex')] = R1
    0014  RETURN    return R0..R-1
    0015  GETUPVAL  R1 = self
    0016  SELF      R2 = R1[K8('UpdateContent')] (self)
    0017  MOVE      R3 = R0
    0018  GETTABUP  R4 = self[K9('m_uiStyle')]
    0019  LOADBOOL  R5 = false
    0020  CALL      R1 = call(R1, 0 args, 4 rets)
    0021  GETUPVAL  R1 = self
    0022  SELF      R2 = R1[K10('UpdateStep')] (self)
    0023  GETTABUP  R3 = self[K2('m_lastIndex')]
    0024  CALL      R1 = call(R1, 0 args, 2 rets)
    0025  GETUPVAL  R1 = self
    0026  SELF      R2 = R1[K11('GetLockGo')] (self)
    0027  CALL      R1 = call(R1, 1 args, 1 rets)
    0028  GETTABLE  R1 = R1[K12('transform')]
    0029  GETTABUP  R2 = _ENV[K14('V3One')]
    0030  SETTABLE  R1[K13('localScale')] = R2
    0031  GETTABUP  R1 = self[K2('m_lastIndex')]
    0032  ADD       R1 = K7(1) add R1
    0033  SETTABUP  self[K2('m_lastIndex')] = R1
    0034  GETTABUP  R1 = firstCell[K12('transform')]
    0035  GETTABUP  R2 = _ENV[K16('V3Zero')]
    0036  SETTABLE  R1[K15('localPosition')] = R2
    0037  GETTABUP  R1 = firstCell[K12('transform')]
    0038  SELF      R2 = R1[K17('SetParent')] (self)
    0039  GETTABUP  R3 = self[K18('m_mountNodes')]
    0040  GETTABLE  R3 = R3[K19(6)]
    0041  LOADBOOL  R4 = true
    0042  CALL      R1 = call(R1, 0 args, 3 rets)
    0043  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 138-157 np=1 va=0 ms=13 code=41 consts=16 upvals=2 protos=1
    ;   K[0]='m_mountNodes'
    ;   K[1]='childCount'
    ;   K[2]=6
    ;   K[3]=1
    ;   K[4]=0.13
    ;   K[5]=0.15
    ;   K[6]=2
    ;   K[7]=0.45
    ;   K[8]=0
    ;   K[9]='StringUtil'
    ;   K[10]='StartWith'
    ;   K[11]='GetChild'
    ;   K[12]='gameObject'
    ;   K[13]='name'
    ;   K[14]='p'
    ;   K[15]='DelayExecuteFuncInView'
    ;   upvals: self, _ENV
    ;   locals: index(0-41), childCount(3-41), duration0(11-41), timeDelta(13-41), pIndex(14-41), (for index)(17-40), (for limit)(17-40), (for step)(17-40), ind(18-39)
    0000  GETTABUP  R1 = self[K0('m_mountNodes')]
    0001  GETTABLE  R1 = R1[R0]
    0002  GETTABLE  R1 = R1[K1('childCount')]
    0003  EQ        if R0 eq K2(6)   -> -130809
    0004  JMP       (jump)   -> 9
    0005  SUB       R2 = K3(1) sub R0
    0006  MUL       R2 = K4(0.13) mul R2
    0007  TEST      if not R2 then   -> -131062
    0008  JMP       (jump)   -> 11
    0009  SUB       R2 = K3(1) sub R0
    0010  MUL       R2 = K5(0.15) mul R2
    0011  ADD       R3 = K6(2) add R1
    0012  DIV       R3 = R3 div K7(0.45)
    0013  LOADK     R4 = K8 0
    0014  LOADK     R5 = K8 0
    0015  SUB       R6 = K3(1) sub R1
    0016  LOADK     R7 = K3 1
    0017  FORPREP   forprep R5(sBx=21)   -> 39
    0018  GETTABUP  R9 = _ENV[K9('StringUtil')]
    0019  GETTABLE  R9 = R9[K10('StartWith')]
    0020  GETTABUP  R10 = self[K0('m_mountNodes')]
    0021  GETTABLE  R10 = R10[R0]
    0022  SELF      R11 = R10[K11('GetChild')] (self)
    0023  MOVE      R12 = R0
    0024  CALL      R10 = call(R10, 1 args, 2 rets)
    0025  GETTABLE  R10 = R10[K12('gameObject')]
    0026  GETTABLE  R10 = R10[K13('name')]
    0027  LOADK     R11 = K14 'p'
    0028  CALL      R9 = call(R9, 1 args, 2 rets)
    0029  TEST      if not R9 then   -> -131041
    0030  JMP       (jump)   -> 39
    0031  ADD       R4 = K3(1) add R4
    0032  GETTABUP  R9 = _ENV[K15('DelayExecuteFuncInView')]
    0033  CLOSURE   R10 = closure proto0
    0034  MUL       R11 = R3 mul R4
    0035  ADD       R11 = R11 add R2
    0036  GETUPVAL  R12 = self
    0037  CALL      R9 = call(R9, 0 args, 3 rets)
    0038  JMP       (jump)   -> 39
    0039  FORLOOP   forloop R5(sBx=-22)   -> 18
    0040  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 148-154 np=0 va=0 ms=4 code=29 consts=9 upvals=4 protos=0
      ;   K[0]='m_cells'
      ;   K[1]='gameObject'
      ;   K[2]='activeInHierarchy'
      ;   K[3]='m_mountNodes'
      ;   K[4]='childCount'
      ;   K[5]='m_mountNodesOriginChildCount'
      ;   K[6]='GetChild'
      ;   K[7]='UIUtil'
      ;   K[8]='SetActive'
      ;   upvals: self, index, ind, _ENV
      ;   locals: childP(23-28)
      0000  GETTABUP  R0 = self[K0('m_cells')]
      0001  GETUPVAL  R1 = self
      0002  GETTABLE  R0 = R0[R1]
      0003  GETTABLE  R0 = R0[K1('gameObject')]
      0004  GETTABLE  R0 = R0[K2('activeInHierarchy')]
      0005  TEST      if not R0 then   -> -131065
      0006  JMP       (jump)   -> 16
      0007  GETTABUP  R0 = self[K3('m_mountNodes')]
      0008  GETUPVAL  R1 = self
      0009  GETTABLE  R0 = R0[R1]
      0010  GETTABLE  R0 = R0[K4('childCount')]
      0011  GETTABUP  R1 = self[K5('m_mountNodesOriginChildCount')]
      0012  GETUPVAL  R2 = self
      0013  GETTABLE  R1 = R1[R2]
      0014  EQ        if R0 eq R1   -> -131055
      0015  JMP       (jump)   -> 28
      0016  GETTABUP  R0 = self[K3('m_mountNodes')]
      0017  GETUPVAL  R1 = self
      0018  GETTABLE  R0 = R0[R1]
      0019  SELF      R1 = R0[K6('GetChild')] (self)
      0020  GETUPVAL  R2 = self
      0021  CALL      R0 = call(R0, 1 args, 2 rets)
      0022  GETTABLE  R0 = R0[K1('gameObject')]
      0023  GETTABUP  R1 = _ENV[K7('UIUtil')]
      0024  GETTABLE  R1 = R1[K8('SetActive')]
      0025  MOVE      R2 = R0
      0026  LOADBOOL  R3 = false
      0027  CALL      R1 = call(R1, 0 args, 2 rets)
      0028  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 169-171 np=0 va=0 ms=2 code=6 consts=2 upvals=2 protos=0
    ;   K[0]='m_cells'
    ;   K[1]='SetUnlocked'
    ;   upvals: self, i
    0000  GETTABUP  R0 = self[K0('m_cells')]
    0001  GETUPVAL  R1 = self
    0002  GETTABLE  R0 = R0[R1]
    0003  SELF      R1 = R0[K1('SetUnlocked')] (self)
    0004  CALL      R0 = call(R0, 0 args, 1 rets)
    0005  RETURN    return R0..R-1
  ; ---------- proto3 [m_seq] ----------
    ; fn ?  line 178-182 np=0 va=0 ms=3 code=8 consts=7 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='m_bEventLocked'
    ;   K[4]=false
    ;   K[5]='m_seq'
    ;   K[6]=nil
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  SETTABUP  self[K3('m_bEventLocked')] = K4(false)
    0006  SETTABUP  self[K5('m_seq')] = K6(nil)
    0007  RETURN    return R0..R-1
; ---------- proto8 [OnCloseView] ----------
  ; fn ?  line 187-194 np=1 va=0 ms=5 code=21 consts=7 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='OnCloseView'
  ;   K[2]='m_dataGroup'
  ;   K[3]=nil
  ;   K[4]='m_model'
  ;   K[5]='IsDisposable'
  ;   K[6]='TryRecoverFreeRewards'
  ;   upvals: _ENV
  ;   locals: self(0-21)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnCloseView')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_dataGroup')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 20
  0007  GETTABLE  R1 = R0[K4('m_model')]
  0008  EQ        if R1 eq K3(nil)   -> -130291
  0009  JMP       (jump)   -> 20
  0010  GETTABLE  R1 = R0[K2('m_dataGroup')]
  0011  SELF      R2 = R1[K5('IsDisposable')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 20
  0015  GETTABLE  R1 = R0[K4('m_model')]
  0016  SELF      R2 = R1[K6('TryRecoverFreeRewards')] (self)
  0017  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0018  LOADBOOL  R4 = true
  0019  CALL      R1 = call(R1, 0 args, 3 rets)
  0020  RETURN    return R0..R-1
; ---------- proto9 [Init] ----------
  ; fn ?  line 200-210 np=5 va=0 ms=10 code=28 consts=17 upvals=1 protos=0
  ;   K[0]='m_window'
  ;   K[1]='m_model'
  ;   K[2]='GM'
  ;   K[3]='BundleManager'
  ;   K[4]='GetModel'
  ;   K[5]='GetBundleType'
  ;   K[6]='m_dataGroup'
  ;   K[7]='m_step'
  ;   K[8]='m_uiStyle'
  ;   K[9]='BundleUIType'
  ;   K[10]='GetBundleUIType'
  ;   K[11]='m_lockPosition'
  ;   K[12]='m_lockGo'
  ;   K[13]='transform'
  ;   K[14]='localPosition'
  ;   K[15]='UpdateContent'
  ;   K[16]='GetConfigDataByIndex'
  ;   upvals: _ENV
  ;   locals: self(0-28), window(0-28), dataGroup(0-28), index(0-28), bUnlocked(0-28)
  0000  SETTABLE  R0[K0('m_window')] = R1
  0001  GETTABUP  R5 = _ENV[K2('GM')]
  0002  GETTABLE  R5 = R5[K3('BundleManager')]
  0003  SELF      R6 = R5[K4('GetModel')] (self)
  0004  SELF      R8 = R2[K5('GetBundleType')] (self)
  0005  CALL      R7 = call(R7, -1 args, 1 rets)
  0006  CALL      R5 = call(R5, 1 args, -1 rets)
  0007  SETTABLE  R0[K1('m_model')] = R5
  0008  SETTABLE  R0[K6('m_dataGroup')] = R2
  0009  SETTABLE  R0[K7('m_step')] = R3
  0010  GETTABUP  R5 = _ENV[K9('BundleUIType')]
  0011  GETTABLE  R6 = R0[K6('m_dataGroup')]
  0012  SELF      R7 = R6[K10('GetBundleUIType')] (self)
  0013  CALL      R6 = call(R6, 1 args, 1 rets)
  0014  GETTABLE  R5 = R5[R6]
  0015  SETTABLE  R0[K8('m_uiStyle')] = R5
  0016  GETTABLE  R5 = R0[K12('m_lockGo')]
  0017  GETTABLE  R5 = R5[K13('transform')]
  0018  GETTABLE  R5 = R5[K14('localPosition')]
  0019  SETTABLE  R0[K11('m_lockPosition')] = R5
  0020  SELF      R6 = R0[K15('UpdateContent')] (self)
  0021  GETTABLE  R7 = R0[K6('m_dataGroup')]
  0022  SELF      R8 = R7[K16('GetConfigDataByIndex')] (self)
  0023  MOVE      R9 = R0
  0024  CALL      R7 = call(R7, 1 args, 2 rets)
  0025  MOVE      R8 = R0
  0026  CALL      R5 = call(R5, 0 args, 3 rets)
  0027  RETURN    return R0..R-1
; ---------- proto10 [OnDestroy] ----------
  ; fn ?  line 212-214 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto11 [UpdateStep] ----------
  ; fn ?  line 216-218 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='m_step'
  ;   locals: self(0-2), index(0-2)
  0000  SETTABLE  R0[K0('m_step')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto12 [UpdateContent] ----------
  ; fn ?  line 220-248 np=3 va=0 ms=13 code=73 consts=25 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]='_UpdateRewards'
  ;   K[2]='GetSkin'
  ;   K[3]='m_bgImg'
  ;   K[4]='sprite'
  ;   K[5]='m_bgSprite'
  ;   K[6]='m_ignoreSetNativeSize'
  ;   K[7]='SetNativeSize'
  ;   K[8]=1
  ;   K[9]=3
  ;   K[10]='m_skinGo'
  ;   K[11]=nil
  ;   K[12]='UIUtil'
  ;   K[13]='SetActive'
  ;   K[14]='tostring'
  ;   K[15]='GetPurchaseId'
  ;   K[16]='m_freeButtonGo'
  ;   K[17]='m_IAPButtonGo'
  ;   K[18]='m_IAPText'
  ;   K[19]='text'
  ;   K[20]='GM'
  ;   K[21]='InAppPurchaseModel'
  ;   K[22]='GetLocalizedPrice'
  ;   K[23]='m_bUnlocked'
  ;   K[24]='UpdateLockState'
  ;   upvals: _ENV
  ;   locals: self(0-73), data(0-73), bUnlocked(0-73), skin(6-73), skinGoName(19-73), (for index)(22-41), (for limit)(22-41), (for step)(22-41), i(23-40), isFree(48-73)
  0000  SETTABLE  R0[K0('m_data')] = R1
  0001  SELF      R4 = R0[K1('_UpdateRewards')] (self)
  0002  CALL      R3 = call(R3, 0 args, 1 rets)
  0003  GETTABLE  R3 = R0[K0('m_data')]
  0004  SELF      R4 = R3[K2('GetSkin')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  GETTABLE  R4 = R0[K3('m_bgImg')]
  0007  LOADK     R5 = K5 'm_bgSprite'
  0008  MOVE      R6 = R0
  0009  CONCAT    R5 = concat(R5..R5)
  0010  GETTABLE  R5 = R0[R5]
  0011  SETTABLE  R4[K4('sprite')] = R5
  0012  GETTABLE  R4 = R0[K6('m_ignoreSetNativeSize')]
  0013  TEST      if not R4 then   -> -131056
  0014  JMP       (jump)   -> 18
  0015  GETTABLE  R4 = R0[K3('m_bgImg')]
  0016  SELF      R5 = R4[K7('SetNativeSize')] (self)
  0017  CALL      R4 = call(R4, 0 args, 1 rets)
  0018  LOADNIL   R4..R4 = nil
  0019  LOADK     R5 = K8 1
  0020  LOADK     R6 = K9 3
  0021  LOADK     R7 = K8 1
  0022  FORPREP   forprep R5(sBx=17)   -> 40
  0023  LOADK     R9 = K10 'm_skinGo'
  0024  MOVE      R10 = R0
  0025  CONCAT    R4 = concat(R4..R9)
  0026  GETTABLE  R9 = R0[R4]
  0027  EQ        if R1 eq K11(nil)   -> -126168
  0028  JMP       (jump)   -> 40
  0029  GETTABUP  R9 = _ENV[K12('UIUtil')]
  0030  GETTABLE  R9 = R9[K13('SetActive')]
  0031  GETTABLE  R10 = R0[R4]
  0032  GETTABUP  R11 = _ENV[K14('tostring')]
  0033  MOVE      R12 = R0
  0034  CALL      R11 = call(R11, 1 args, 1 rets)
  0035  EQ        if R1 eq R3   -> -125400
  0036  JMP       (jump)   -> 38
  0037  LOADBOOL  R11 = false
  0038  LOADBOOL  R11 = true
  0039  CALL      R9 = call(R9, 0 args, 2 rets)
  0040  FORLOOP   forloop R5(sBx=-18)   -> 23
  0041  GETTABLE  R5 = R0[K0('m_data')]
  0042  SELF      R6 = R5[K15('GetPurchaseId')] (self)
  0043  CALL      R5 = call(R5, 1 args, 1 rets)
  0044  EQ        if R1 eq K11(nil)   -> -128199
  0045  JMP       (jump)   -> 47
  0046  LOADBOOL  R5 = false
  0047  LOADBOOL  R5 = true
  0048  GETTABUP  R6 = _ENV[K12('UIUtil')]
  0049  GETTABLE  R6 = R6[K13('SetActive')]
  0050  GETTABLE  R7 = R0[K16('m_freeButtonGo')]
  0051  MOVE      R8 = R0
  0052  CALL      R6 = call(R6, 0 args, 2 rets)
  0053  GETTABUP  R6 = _ENV[K12('UIUtil')]
  0054  GETTABLE  R6 = R6[K13('SetActive')]
  0055  GETTABLE  R7 = R0[K17('m_IAPButtonGo')]
  0056  NOT       R8 = not R0
  0057  CALL      R6 = call(R6, 0 args, 2 rets)
  0058  TEST      if not R5 then   -> -131011
  0059  JMP       (jump)   -> 69
  0060  GETTABLE  R6 = R0[K18('m_IAPText')]
  0061  GETTABUP  R7 = _ENV[K20('GM')]
  0062  GETTABLE  R7 = R7[K21('InAppPurchaseModel')]
  0063  SELF      R8 = R7[K22('GetLocalizedPrice')] (self)
  0064  GETTABLE  R9 = R0[K0('m_data')]
  0065  SELF      R10 = R9[K15('GetPurchaseId')] (self)
  0066  CALL      R9 = call(R9, -1 args, 1 rets)
  0067  CALL      R7 = call(R7, 1 args, -1 rets)
  0068  SETTABLE  R6[K19('text')] = R7
  0069  SETTABLE  R0[K23('m_bUnlocked')] = R2
  0070  SELF      R7 = R0[K24('UpdateLockState')] (self)
  0071  CALL      R6 = call(R6, 0 args, 1 rets)
  0072  RETURN    return R0..R-1
; ---------- proto13 [_UpdateRewards] ----------
  ; fn ?  line 251-253 np=1 va=0 ms=5 code=9 consts=6 upvals=1 protos=0
  ;   K[0]='m_rewardContent'
  ;   K[1]='Init'
  ;   K[2]='m_data'
  ;   K[3]='GetGoods'
  ;   K[4]='ERewardScene'
  ;   K[5]='Bundle'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_rewardContent')]
  0001  SELF      R2 = R1[K1('Init')] (self)
  0002  GETTABLE  R3 = R0[K2('m_data')]
  0003  SELF      R4 = R3[K3('GetGoods')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  GETTABUP  R4 = _ENV[K4('ERewardScene')]
  0006  GETTABLE  R4 = R4[K5('Bundle')]
  0007  CALL      R1 = call(R1, 0 args, 3 rets)
  0008  RETURN    return R0..R-1
; ---------- proto14 [SetUnlocked] ----------
  ; fn ?  line 255-258 np=1 va=0 ms=3 code=4 consts=3 upvals=0 protos=0
  ;   K[0]='m_bUnlocked'
  ;   K[1]=true
  ;   K[2]='UpdateLockState'
  ;   locals: self(0-4)
  0000  SETTABLE  R0[K0('m_bUnlocked')] = K1(true)
  0001  SELF      R2 = R0[K2('UpdateLockState')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  RETURN    return R0..R-1
; ---------- proto15 [UpdateLockState] ----------
  ; fn ?  line 260-264 np=1 va=0 ms=5 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='IsInCurStep'
  ;   K[1]='UIUtil'
  ;   K[2]='SetActive'
  ;   K[3]='m_lockGo'
  ;   K[4]='transform'
  ;   K[5]='localPosition'
  ;   K[6]='m_lockPosition'
  ;   upvals: _ENV
  ;   locals: self(0-12), unlock(2-12)
  0000  SELF      R2 = R0[K0('IsInCurStep')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('UIUtil')]
  0003  GETTABLE  R2 = R2[K2('SetActive')]
  0004  GETTABLE  R3 = R0[K3('m_lockGo')]
  0005  NOT       R4 = not R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  GETTABLE  R2 = R0[K3('m_lockGo')]
  0008  GETTABLE  R2 = R2[K4('transform')]
  0009  GETTABLE  R3 = R0[K6('m_lockPosition')]
  0010  SETTABLE  R2[K5('localPosition')] = R3
  0011  RETURN    return R0..R-1
; ---------- proto16 [IsInCurStep] ----------
  ; fn ?  line 266-268 np=1 va=0 ms=4 code=15 consts=5 upvals=0 protos=0
  ;   K[0]='m_bUnlocked'
  ;   K[1]='m_model'
  ;   K[2]='GetCurChainStep'
  ;   K[3]='m_dataGroup'
  ;   K[4]='GetStep'
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('m_bUnlocked')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 13
  0003  GETTABLE  R1 = R0[K1('m_model')]
  0004  SELF      R2 = R1[K2('GetCurChainStep')] (self)
  0005  GETTABLE  R3 = R0[K3('m_dataGroup')]
  0006  CALL      R1 = call(R1, 1 args, 2 rets)
  0007  SELF      R3 = R0[K4('GetStep')] (self)
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  EQ        if R1 eq R2   -> -130547
  0010  JMP       (jump)   -> 12
  0011  LOADBOOL  R1 = false
  0012  LOADBOOL  R1 = true
  0013  RETURN    return R1..R0
  0014  RETURN    return R0..R-1
; ---------- proto17 [GetStep] ----------
  ; fn ?  line 270-272 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_step'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_step')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto18 [OnBtnClicked] ----------
  ; fn ?  line 274-293 np=1 va=0 ms=5 code=16 consts=8 upvals=1 protos=1
  ;   K[0]='IsInCurStep'
  ;   K[1]='m_model'
  ;   K[2]='BuyBundle'
  ;   K[3]='m_dataGroup'
  ;   K[4]='GM'
  ;   K[5]='UIManager'
  ;   K[6]='ShowPromptWithKey'
  ;   K[7]='chain_bundle_unlock_note'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  0000  SELF      R2 = R0[K0('IsInCurStep')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 10
  0004  GETTABLE  R1 = R0[K1('m_model')]
  0005  SELF      R2 = R1[K2('BuyBundle')] (self)
  0006  GETTABLE  R3 = R0[K3('m_dataGroup')]
  0007  CLOSURE   R4 = closure proto0
  0008  CALL      R1 = call(R1, 0 args, 3 rets)
  0009  JMP       (jump)   -> 15
  0010  GETTABUP  R1 = _ENV[K4('GM')]
  0011  GETTABLE  R1 = R1[K5('UIManager')]
  0012  SELF      R2 = R1[K6('ShowPromptWithKey')] (self)
  0013  LOADK     R3 = K7 'chain_bundle_unlock_note'
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 276-289 np=1 va=0 ms=11 code=30 consts=17 upvals=2 protos=1
    ;   K[0]='m_data'
    ;   K[1]='GetPurchaseId'
    ;   K[2]=nil
    ;   K[3]='m_rewardContent'
    ;   K[4]='PlayRewardAnimation'
    ;   K[5]='m_window'
    ;   K[6]='PlayNextStepAnimation'
    ;   K[7]='m_model'
    ;   K[8]='GetTitleText'
    ;   K[9]='m_dataGroup'
    ;   K[10]='GM'
    ;   K[11]='UIManager'
    ;   K[12]='OpenView'
    ;   K[13]='UIPrefabConfigName'
    ;   K[14]='BundleRewardWindow'
    ;   K[15]='ERewardScene'
    ;   K[16]='Bundle'
    ;   upvals: self, _ENV
    ;   locals: rewards(0-30), titleText(16-29)
    0000  GETTABUP  R1 = self[K0('m_data')]
    0001  SELF      R2 = R1[K1('GetPurchaseId')] (self)
    0002  CALL      R1 = call(R1, 1 args, 1 rets)
    0003  EQ        if R0 eq K2(nil)   -> -130297
    0004  JMP       (jump)   -> 12
    0005  GETTABUP  R1 = self[K3('m_rewardContent')]
    0006  SELF      R2 = R1[K4('PlayRewardAnimation')] (self)
    0007  CALL      R1 = call(R1, 0 args, 1 rets)
    0008  GETTABUP  R1 = self[K5('m_window')]
    0009  SELF      R2 = R1[K6('PlayNextStepAnimation')] (self)
    0010  CALL      R1 = call(R1, 0 args, 1 rets)
    0011  JMP       (jump)   -> 29
    0012  GETTABUP  R1 = self[K7('m_model')]
    0013  SELF      R2 = R1[K8('GetTitleText')] (self)
    0014  GETTABUP  R3 = self[K9('m_dataGroup')]
    0015  CALL      R1 = call(R1, 1 args, 2 rets)
    0016  GETTABUP  R2 = _ENV[K10('GM')]
    0017  GETTABLE  R2 = R2[K11('UIManager')]
    0018  SELF      R3 = R2[K12('OpenView')] (self)
    0019  GETTABUP  R4 = _ENV[K13('UIPrefabConfigName')]
    0020  GETTABLE  R4 = R4[K14('BundleRewardWindow')]
    0021  MOVE      R5 = R0
    0022  MOVE      R6 = R0
    0023  LOADBOOL  R7 = true
    0024  GETTABUP  R8 = _ENV[K15('ERewardScene')]
    0025  GETTABLE  R8 = R8[K16('Bundle')]
    0026  LOADNIL   R9..R9 = nil
    0027  CLOSURE   R10 = closure proto0
    0028  CALL      R2 = call(R2, 0 args, 8 rets)
    0029  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 282-287 np=0 va=0 ms=2 code=16 consts=4 upvals=1 protos=0
      ;   K[0]='gameObject'
      ;   K[1]='IsNull'
      ;   K[2]='m_window'
      ;   K[3]='PlayNextStepAnimation'
      ;   upvals: self
      0000  GETTABUP  R0 = self[K0('gameObject')]
      0001  SELF      R1 = R0[K1('IsNull')] (self)
      0002  CALL      R0 = call(R0, 1 args, 1 rets)
      0003  TEST      if not R0 then   -> -131066
      0004  JMP       (jump)   -> 11
      0005  GETTABUP  R0 = self[K2('m_window')]
      0006  GETTABLE  R0 = R0[K0('gameObject')]
      0007  SELF      R1 = R0[K1('IsNull')] (self)
      0008  CALL      R0 = call(R0, 1 args, 1 rets)
      0009  TEST      if not R0 then   -> -131061
      0010  JMP       (jump)   -> 12
      0011  RETURN    return R0..R-1
      0012  GETTABUP  R0 = self[K2('m_window')]
      0013  SELF      R1 = R0[K3('PlayNextStepAnimation')] (self)
      0014  CALL      R0 = call(R0, 0 args, 1 rets)
      0015  RETURN    return R0..R-1
; ---------- proto19 [GetLockGo] ----------
  ; fn ?  line 295-297 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_lockGo'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_lockGo')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
