# DashActivity_Common_Model_DashActivityModel_789.luac
; fn @DashActivityModel.lua  line 0-0 np=0 va=1 ms=3 code=108 consts=57 upvals=1 protos=28
;   K[0]='DashActivityEventType'
;   K[1]='StateChanged'
;   K[2]=1
;   K[3]='Upgraded'
;   K[4]=2
;   K[5]='ScoreChanged'
;   K[6]=3
;   K[7]='DashActivityModel'
;   K[8]='setmetatable'
;   K[9]='BaseActivityModel'
;   K[10]='__index'
;   K[11]='LevelKey'
;   K[12]='level'
;   K[13]='ScoreKey'
;   K[14]='score'
;   K[15]='FinishedLevelKey'
;   K[16]='finishedLevel'
;   K[17]='RoundKey'
;   K[18]='round'
;   K[19]='PlayEntryFinal'
;   K[20]='playEntryFinal'
;   K[21]='Init'
;   K[22]='Destroy'
;   K[23]='_LoadOtherServerConfig'
;   K[24]='_OnStateChanged'
;   K[25]='GetResourceLabels'
;   K[26]='GetBoardEntryShowConfig'
;   K[27]='CanShowDashAcivityEntry'
;   K[28]='LogActivity'
;   K[29]='GetCurrentRound'
;   K[30]='DashActivityModel'
;   K[31]='GetLevelConfigs'
;   K[32]='GetLevel'
;   K[33]='DashActivityModel'
;   K[34]='GetScore'
;   K[35]='DashActivityModel'
;   K[36]='SetPlayEntryFinal'
;   K[37]='DashActivityModel'
;   K[38]='IsPlayEntryFinal'
;   K[39]='DashActivityModel'
;   K[40]='GetFinishLevel'
;   K[41]='DashActivityModel'
;   K[42]='GetMilestoneLevel'
;   K[43]='GetMilestoneScore'
;   K[44]='GetMilestoneTargetScore'
;   K[45]='CanAddScore'
;   K[46]='_OnBoardCollect'
;   K[47]='AddScore'
;   K[48]='_AddScore'
;   K[49]='DashActivityModel'
;   K[50]='Upgrade'
;   K[51]='DashActivityModel'
;   K[52]='GetMaxRewardLevel'
;   K[53]='CanPlayEntryFinalChallengeAnimation'
;   K[54]='IsFinalChallengeing'
;   K[55]='HasFinalChallenge'
;   K[56]='IsFinalSccuess'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('StateChanged')] = K2(1)
0002  SETTABLE  R0[K3('Upgraded')] = K4(2)
0003  SETTABLE  R0[K5('ScoreChanged')] = K6(3)
0004  SETTABUP  _ENV[K0('DashActivityEventType')] = R0
0005  GETTABUP  R0 = _ENV[K8('setmetatable')]
0006  NEWTABLE  R1 = {} (0 items)
0007  GETTABUP  R2 = _ENV[K9('BaseActivityModel')]
0008  CALL      R0 = call(R0, 1 args, 2 rets)
0009  SETTABUP  _ENV[K7('DashActivityModel')] = R0
0010  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0011  GETTABUP  R1 = _ENV[K7('DashActivityModel')]
0012  SETTABLE  R0[K10('__index')] = R1
0013  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0014  SETTABLE  R0[K11('LevelKey')] = K12('level')
0015  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0016  SETTABLE  R0[K13('ScoreKey')] = K14('score')
0017  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0018  SETTABLE  R0[K15('FinishedLevelKey')] = K16('finishedLevel')
0019  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0020  SETTABLE  R0[K17('RoundKey')] = K18('round')
0021  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0022  SETTABLE  R0[K19('PlayEntryFinal')] = K20('playEntryFinal')
0023  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0024  CLOSURE   R1 = closure proto0
0025  SETTABLE  R0[K21('Init')] = R1
0026  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0027  CLOSURE   R1 = closure proto1
0028  SETTABLE  R0[K22('Destroy')] = R1
0029  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0030  CLOSURE   R1 = closure proto2
0031  SETTABLE  R0[K23('_LoadOtherServerConfig')] = R1
0032  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0033  CLOSURE   R1 = closure proto3
0034  SETTABLE  R0[K24('_OnStateChanged')] = R1
0035  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0036  CLOSURE   R1 = closure proto4
0037  SETTABLE  R0[K25('GetResourceLabels')] = R1
0038  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0039  CLOSURE   R1 = closure proto5
0040  SETTABLE  R0[K26('GetBoardEntryShowConfig')] = R1
0041  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0042  CLOSURE   R1 = closure proto6
0043  SETTABLE  R0[K27('CanShowDashAcivityEntry')] = R1
0044  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0045  CLOSURE   R1 = closure proto7
0046  SETTABLE  R0[K28('LogActivity')] = R1
0047  GETTABUP  R0 = _ENV[K7('DashActivityModel')]
0048  CLOSURE   R1 = closure proto8
0049  SETTABLE  R0[K29('GetCurrentRound')] = R1
0050  GETTABUP  R0 = _ENV[K30('DashActivityModel')]
0051  CLOSURE   R1 = closure proto9
0052  SETTABLE  R0[K31('GetLevelConfigs')] = R1
0053  GETTABUP  R0 = _ENV[K30('DashActivityModel')]
0054  CLOSURE   R1 = closure proto10
0055  SETTABLE  R0[K32('GetLevel')] = R1
0056  GETTABUP  R0 = _ENV[K33('DashActivityModel')]
0057  CLOSURE   R1 = closure proto11
0058  SETTABLE  R0[K34('GetScore')] = R1
0059  GETTABUP  R0 = _ENV[K35('DashActivityModel')]
0060  CLOSURE   R1 = closure proto12
0061  SETTABLE  R0[K36('SetPlayEntryFinal')] = R1
0062  GETTABUP  R0 = _ENV[K37('DashActivityModel')]
0063  CLOSURE   R1 = closure proto13
0064  SETTABLE  R0[K38('IsPlayEntryFinal')] = R1
0065  GETTABUP  R0 = _ENV[K39('DashActivityModel')]
0066  CLOSURE   R1 = closure proto14
0067  SETTABLE  R0[K40('GetFinishLevel')] = R1
0068  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0069  CLOSURE   R1 = closure proto15
0070  SETTABLE  R0[K42('GetMilestoneLevel')] = R1
0071  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0072  CLOSURE   R1 = closure proto16
0073  SETTABLE  R0[K43('GetMilestoneScore')] = R1
0074  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0075  CLOSURE   R1 = closure proto17
0076  SETTABLE  R0[K44('GetMilestoneTargetScore')] = R1
0077  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0078  CLOSURE   R1 = closure proto18
0079  SETTABLE  R0[K45('CanAddScore')] = R1
0080  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0081  CLOSURE   R1 = closure proto19
0082  SETTABLE  R0[K46('_OnBoardCollect')] = R1
0083  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0084  CLOSURE   R1 = closure proto20
0085  SETTABLE  R0[K47('AddScore')] = R1
0086  GETTABUP  R0 = _ENV[K41('DashActivityModel')]
0087  CLOSURE   R1 = closure proto21
0088  SETTABLE  R0[K48('_AddScore')] = R1
0089  GETTABUP  R0 = _ENV[K49('DashActivityModel')]
0090  CLOSURE   R1 = closure proto22
0091  SETTABLE  R0[K50('Upgrade')] = R1
0092  GETTABUP  R0 = _ENV[K51('DashActivityModel')]
0093  CLOSURE   R1 = closure proto23
0094  SETTABLE  R0[K52('GetMaxRewardLevel')] = R1
0095  GETTABUP  R0 = _ENV[K51('DashActivityModel')]
0096  CLOSURE   R1 = closure proto24
0097  SETTABLE  R0[K53('CanPlayEntryFinalChallengeAnimation')] = R1
0098  GETTABUP  R0 = _ENV[K51('DashActivityModel')]
0099  CLOSURE   R1 = closure proto25
0100  SETTABLE  R0[K54('IsFinalChallengeing')] = R1
0101  GETTABUP  R0 = _ENV[K51('DashActivityModel')]
0102  CLOSURE   R1 = closure proto26
0103  SETTABLE  R0[K55('HasFinalChallenge')] = R1
0104  GETTABUP  R0 = _ENV[K51('DashActivityModel')]
0105  CLOSURE   R1 = closure proto27
0106  SETTABLE  R0[K56('IsFinalSccuess')] = R1
0107  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 19-23 np=3 va=0 ms=7 code=17 consts=9 upvals=1 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='DashActivityDefinition'
  ;   K[2]='BaseActivityModel'
  ;   K[3]='Init'
  ;   K[4]='EventDispatcher'
  ;   K[5]='AddListener'
  ;   K[6]='EEventType'
  ;   K[7]='BoardCollect'
  ;   K[8]='_OnBoardCollect'
  ;   upvals: _ENV
  ;   locals: self(0-17), activityType(0-17), virtualDBTable(0-17)
  0000  GETTABUP  R3 = _ENV[K1('DashActivityDefinition')]
  0001  GETTABLE  R3 = R3[R1]
  0002  SETTABLE  R0[K0('m_activityDefinition')] = R3
  0003  GETTABUP  R3 = _ENV[K2('BaseActivityModel')]
  0004  GETTABLE  R3 = R3[K3('Init')]
  0005  MOVE      R4 = R0
  0006  MOVE      R5 = R0
  0007  MOVE      R6 = R0
  0008  CALL      R3 = call(R3, 0 args, 3 rets)
  0009  GETTABUP  R3 = _ENV[K4('EventDispatcher')]
  0010  GETTABLE  R3 = R3[K5('AddListener')]
  0011  GETTABUP  R4 = _ENV[K6('EEventType')]
  0012  GETTABLE  R4 = R4[K7('BoardCollect')]
  0013  MOVE      R5 = R0
  0014  GETTABLE  R6 = R0[K8('_OnBoardCollect')]
  0015  CALL      R3 = call(R3, 0 args, 3 rets)
  0016  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 25-27 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
; ---------- proto2 [_LoadOtherServerConfig] ----------
  ; fn ?  line 29-38 np=2 va=0 ms=11 code=25 consts=10 upvals=1 protos=0
  ;   K[0]='m_config'
  ;   K[1]='levelConfigs'
  ;   K[2]='ipairs'
  ;   K[3]='m_activityDefinition'
  ;   K[4]='RewardConfigName'
  ;   K[5]='score'
  ;   K[6]='rewards'
  ;   K[7]='Table'
  ;   K[8]='DeepCopy'
  ;   K[9]='level'
  ;   upvals: _ENV
  ;   locals: self(0-25), config(0-25), (for generator)(8-24), (for state)(8-24), (for control)(8-24), _(9-22), lConfig(9-22), levelConfigItem(10-22)
  0000  GETTABLE  R2 = R0[K0('m_config')]
  0001  NEWTABLE  R3 = {} (0 items)
  0002  SETTABLE  R2[K1('levelConfigs')] = R3
  0003  GETTABUP  R2 = _ENV[K2('ipairs')]
  0004  GETTABLE  R3 = R0[K3('m_activityDefinition')]
  0005  GETTABLE  R3 = R3[K4('RewardConfigName')]
  0006  GETTABLE  R3 = R1[R3]
  0007  CALL      R2 = call(R2, 3 args, 1 rets)
  0008  JMP       (jump)   -> 22
  0009  NEWTABLE  R7 = {} (0 items)
  0010  GETTABLE  R8 = R6[K5('score')]
  0011  SETTABLE  R7[K5('score')] = R8
  0012  GETTABUP  R8 = _ENV[K7('Table')]
  0013  GETTABLE  R8 = R8[K8('DeepCopy')]
  0014  GETTABLE  R9 = R6[K6('rewards')]
  0015  LOADBOOL  R10 = true
  0016  CALL      R8 = call(R8, 1 args, 2 rets)
  0017  SETTABLE  R7[K6('rewards')] = R8
  0018  GETTABLE  R8 = R0[K0('m_config')]
  0019  GETTABLE  R8 = R8[K1('levelConfigs')]
  0020  GETTABLE  R9 = R6[K9('level')]
  0021  SETTABLE  R8[R9] = R7
  0022  TFORCALL  tforcall R2
  0023  TFORLOOP  tforloop R4(sBx=-15)   -> 9
  0024  RETURN    return R0..R-1
; ---------- proto3 [_OnStateChanged] ----------
  ; fn ?  line 40-45 np=1 va=0 ms=4 code=15 consts=10 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_OnStateChanged'
  ;   K[2]='event'
  ;   K[3]='Call'
  ;   K[4]='DashActivityEventType'
  ;   K[5]='StateChanged'
  ;   K[6]='EventDispatcher'
  ;   K[7]='DispatchEvent'
  ;   K[8]='m_activityDefinition'
  ;   K[9]='StateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_OnStateChanged')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('event')]
  0005  SELF      R2 = R1[K3('Call')] (self)
  0006  GETTABUP  R3 = _ENV[K4('DashActivityEventType')]
  0007  GETTABLE  R3 = R3[K5('StateChanged')]
  0008  CALL      R1 = call(R1, 0 args, 2 rets)
  0009  GETTABUP  R1 = _ENV[K6('EventDispatcher')]
  0010  GETTABLE  R1 = R1[K7('DispatchEvent')]
  0011  GETTABLE  R2 = R0[K8('m_activityDefinition')]
  0012  GETTABLE  R2 = R2[K9('StateChangedEvent')]
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
; ---------- proto4 [GetResourceLabels] ----------
  ; fn ?  line 47-49 np=1 va=0 ms=3 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='ResourceLabel'
  ;   locals: self(0-6)
  0000  NEWTABLE  R1 = {} (1 items)
  0001  GETTABLE  R2 = R0[K0('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K1('ResourceLabel')]
  0003  SETLIST   setlist R1[B=1,C=1]
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto5 [GetBoardEntryShowConfig] ----------
  ; fn ?  line 51-67 np=1 va=0 ms=5 code=26 consts=22 upvals=0 protos=1
  ;   K[0]='statusChangeName'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='listener2'
  ;   K[4]='UpgradedEvent'
  ;   K[5]='bubbleName'
  ;   K[6]='m_'
  ;   K[7]='m_type'
  ;   K[8]='Order'
  ;   K[9]='bubbleNodeName'
  ;   K[10]='m_dashActivityOrderNode'
  ;   K[11]='entryPrefabName'
  ;   K[12]='OrderCellPrefabName'
  ;   K[13]='bubbleCountName'
  ;   K[14]='m_dashActivityOrderCount'
  ;   K[15]='scrollToFunName'
  ;   K[16]='ScrollToDashActivityOrder'
  ;   K[17]='activityType'
  ;   K[18]='GetType'
  ;   K[19]='bSetSize'
  ;   K[20]=true
  ;   K[21]='checkFun'
  ;   locals: self(0-26)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeName')] = R2
  0004  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0005  GETTABLE  R2 = R2[K4('UpgradedEvent')]
  0006  SETTABLE  R1[K3('listener2')] = R2
  0007  LOADK     R2 = K6 'm_'
  0008  GETTABLE  R3 = R0[K7('m_type')]
  0009  LOADK     R4 = K8 'Order'
  0010  CONCAT    R2 = concat(R2..R2)
  0011  SETTABLE  R1[K5('bubbleName')] = R2
  0012  SETTABLE  R1[K9('bubbleNodeName')] = K10('m_dashActivityOrderNode')
  0013  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0014  GETTABLE  R2 = R2[K12('OrderCellPrefabName')]
  0015  SETTABLE  R1[K11('entryPrefabName')] = R2
  0016  SETTABLE  R1[K13('bubbleCountName')] = K14('m_dashActivityOrderCount')
  0017  SETTABLE  R1[K15('scrollToFunName')] = K16('ScrollToDashActivityOrder')
  0018  SELF      R3 = R0[K18('GetType')] (self)
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  SETTABLE  R1[K17('activityType')] = R2
  0021  SETTABLE  R1[K19('bSetSize')] = K20(true)
  0022  CLOSURE   R2 = closure proto0
  0023  SETTABLE  R1[K21('checkFun')] = R2
  0024  RETURN    return R1..R0
  0025  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 62-65 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='CanAddScore'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('CanAddScore')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto6 [CanShowDashAcivityEntry] ----------
  ; fn ?  line 69-78 np=1 va=0 ms=4 code=23 consts=7 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Preparing'
  ;   K[3]='Started'
  ;   K[4]='GetLevel'
  ;   K[5]='m_config'
  ;   K[6]='levelConfigs'
  ;   upvals: _ENV
  ;   locals: self(0-23), state(2-23), level(14-23)
  0000  SELF      R2 = R0[K0('GetState')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R2 = R2[K2('Preparing')]
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 12
  0006  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0007  GETTABLE  R2 = R2[K3('Started')]
  0008  EQ        if R1 eq R2   -> -130548
  0009  JMP       (jump)   -> 12
  0010  LOADBOOL  R2 = false
  0011  RETURN    return R2..R1
  0012  SELF      R3 = R0[K4('GetLevel')] (self)
  0013  CALL      R2 = call(R2, 1 args, 1 rets)
  0014  GETTABLE  R3 = R0[K5('m_config')]
  0015  GETTABLE  R3 = R3[K6('levelConfigs')]
  0016  LEN       R3 = len R0
  0017  LE        if R1 le R3   -> -130026
  0018  JMP       (jump)   -> 20
  0019  LOADBOOL  R3 = false
  0020  LOADBOOL  R3 = true
  0021  RETURN    return R3..R2
  0022  RETURN    return R0..R-1
; ---------- proto7 [LogActivity] ----------
  ; fn ?  line 80-82 np=3 va=0 ms=10 code=14 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='BIManager'
  ;   K[2]='LogActivity'
  ;   K[3]='m_type'
  ;   K[4]='GetId'
  ;   K[5]='_'
  ;   K[6]='GetCurrentRound'
  ;   upvals: _ENV
  ;   locals: self(0-14), scene(0-14), action(0-14)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('BIManager')]
  0002  SELF      R4 = R3[K2('LogActivity')] (self)
  0003  GETTABLE  R5 = R0[K3('m_type')]
  0004  SELF      R7 = R0[K4('GetId')] (self)
  0005  CALL      R6 = call(R6, 1 args, 1 rets)
  0006  LOADK     R7 = K5 '_'
  0007  SELF      R9 = R0[K6('GetCurrentRound')] (self)
  0008  CALL      R8 = call(R8, 1 args, 1 rets)
  0009  CONCAT    R6 = concat(R6..R6)
  0010  MOVE      R7 = R0
  0011  MOVE      R8 = R0
  0012  CALL      R3 = call(R3, 0 args, 5 rets)
  0013  RETURN    return R0..R-1
; ---------- proto8 [GetCurrentRound] ----------
  ; fn ?  line 84-86 np=1 va=0 ms=5 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='DashActivityModel'
  ;   K[3]='RoundKey'
  ;   K[4]='value'
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('RoundKey')]
  0004  LOADK     R4 = K4 'value'
  0005  CALL      R1 = call(R1, 1 args, 3 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R1 = K5 1
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto9 [GetLevelConfigs] ----------
  ; fn ?  line 88-90 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_config'
  ;   K[1]='levelConfigs'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_config')]
  0001  GETTABLE  R1 = R1[K1('levelConfigs')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto10 [GetLevel] ----------
  ; fn ?  line 92-94 np=1 va=0 ms=5 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='DashActivityModel'
  ;   K[3]='LevelKey'
  ;   K[4]='value'
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('LevelKey')]
  0004  LOADK     R4 = K4 'value'
  0005  CALL      R1 = call(R1, 1 args, 3 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R1 = K5 1
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto11 [GetScore] ----------
  ; fn ?  line 96-98 np=1 va=0 ms=5 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='DashActivityModel'
  ;   K[3]='ScoreKey'
  ;   K[4]='value'
  ;   K[5]=0
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('ScoreKey')]
  0004  LOADK     R4 = K4 'value'
  0005  CALL      R1 = call(R1, 1 args, 3 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R1 = K5 0
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto12 [SetPlayEntryFinal] ----------
  ; fn ?  line 100-102 np=1 va=0 ms=6 code=8 consts=6 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Set'
  ;   K[2]='DashActivityModel'
  ;   K[3]='PlayEntryFinal'
  ;   K[4]='value'
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('Set')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('PlayEntryFinal')]
  0004  LOADK     R4 = K4 'value'
  0005  LOADK     R5 = K5 1
  0006  CALL      R1 = call(R1, 0 args, 4 rets)
  0007  RETURN    return R0..R-1
; ---------- proto13 [IsPlayEntryFinal] ----------
  ; fn ?  line 104-107 np=1 va=0 ms=5 code=15 consts=7 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='DashActivityModel'
  ;   K[3]='PlayEntryFinal'
  ;   K[4]='value'
  ;   K[5]=0
  ;   K[6]=1
  ;   upvals: _ENV
  ;   locals: self(0-15), pef(9-15)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('PlayEntryFinal')]
  0004  LOADK     R4 = K4 'value'
  0005  CALL      R1 = call(R1, 1 args, 3 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R1 = K5 0
  0009  EQ        if R1 eq K6(1)   -> -130287
  0010  JMP       (jump)   -> 12
  0011  LOADBOOL  R2 = false
  0012  LOADBOOL  R2 = true
  0013  RETURN    return R2..R1
  0014  RETURN    return R0..R-1
; ---------- proto14 [GetFinishLevel] ----------
  ; fn ?  line 109-111 np=1 va=0 ms=5 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='DashActivityModel'
  ;   K[3]='FinishedLevelKey'
  ;   K[4]='value'
  ;   K[5]=0
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = _ENV[K2('DashActivityModel')]
  0003  GETTABLE  R3 = R3[K3('FinishedLevelKey')]
  0004  LOADK     R4 = K4 'value'
  0005  CALL      R1 = call(R1, 1 args, 3 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R1 = K5 0
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto15 [GetMilestoneLevel] ----------
  ; fn ?  line 117-119 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='GetLevel'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('GetLevel')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto16 [GetMilestoneScore] ----------
  ; fn ?  line 122-124 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='GetScore'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('GetScore')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto17 [GetMilestoneTargetScore] ----------
  ; fn ?  line 127-130 np=2 va=0 ms=4 code=10 consts=4 upvals=0 protos=0
  ;   K[0]='GetLevel'
  ;   K[1]='m_config'
  ;   K[2]='levelConfigs'
  ;   K[3]='score'
  ;   locals: self(0-10), lvl(0-10), level(4-10)
  0000  TESTSET   if R1 then R2   -> -130557
  0001  JMP       (jump)   -> 4
  0002  SELF      R3 = R0[K0('GetLevel')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R3 = R0[K1('m_config')]
  0005  GETTABLE  R3 = R3[K2('levelConfigs')]
  0006  GETTABLE  R3 = R3[R2]
  0007  GETTABLE  R3 = R3[K3('score')]
  0008  RETURN    return R3..R2
  0009  RETURN    return R0..R-1
; ---------- proto18 [CanAddScore] ----------
  ; fn ?  line 132-140 np=1 va=0 ms=3 code=19 consts=6 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   K[3]='GetLevel'
  ;   K[4]='m_config'
  ;   K[5]='levelConfigs'
  ;   upvals: _ENV
  ;   locals: self(0-19), level(10-19)
  0000  SELF      R2 = R0[K0('GetState')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R2 = R2[K2('Started')]
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 8
  0006  LOADBOOL  R1 = false
  0007  RETURN    return R1..R0
  0008  SELF      R2 = R0[K3('GetLevel')] (self)
  0009  CALL      R1 = call(R1, 1 args, 1 rets)
  0010  GETTABLE  R2 = R0[K4('m_config')]
  0011  GETTABLE  R2 = R2[K5('levelConfigs')]
  0012  LEN       R2 = len R0
  0013  LE        if R1 le R2   -> -130543
  0014  JMP       (jump)   -> 16
  0015  LOADBOOL  R2 = false
  0016  LOADBOOL  R2 = true
  0017  RETURN    return R2..R1
  0018  RETURN    return R0..R-1
; ---------- proto19 [_OnBoardCollect] ----------
  ; fn ?  line 142-158 np=2 va=0 ms=10 code=31 consts=13 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SceneManager'
  ;   K[2]='GetGameMode'
  ;   K[3]='EGameMode'
  ;   K[4]='Board'
  ;   K[5]=0
  ;   K[6]='ipairs'
  ;   K[7]='Rewards'
  ;   K[8]='PROPERTY_TYPE'
  ;   K[9]='m_activityDefinition'
  ;   K[10]='ScorePropertyType'
  ;   K[11]='PROPERTY_COUNT'
  ;   K[12]='AddScore'
  ;   upvals: _ENV
  ;   locals: self(0-31), message(0-31), score(10-31), (for generator)(13-25), (for state)(13-25), (for control)(13-25), _(14-23), reward(14-23)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('SceneManager')]
  0002  SELF      R3 = R2[K2('GetGameMode')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABUP  R3 = _ENV[K3('EGameMode')]
  0005  GETTABLE  R3 = R3[K4('Board')]
  0006  EQ        if R1 eq R3   -> -130037
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  LOADK     R2 = K5 0
  0010  GETTABUP  R3 = _ENV[K6('ipairs')]
  0011  GETTABLE  R4 = R1[K7('Rewards')]
  0012  CALL      R3 = call(R3, 3 args, 1 rets)
  0013  JMP       (jump)   -> 23
  0014  GETTABUP  R8 = _ENV[K8('PROPERTY_TYPE')]
  0015  GETTABLE  R8 = R7[R8]
  0016  GETTABLE  R9 = R0[K9('m_activityDefinition')]
  0017  GETTABLE  R9 = R9[K10('ScorePropertyType')]
  0018  EQ        if R0 eq R9   -> -126947
  0019  JMP       (jump)   -> 23
  0020  GETTABUP  R8 = _ENV[K11('PROPERTY_COUNT')]
  0021  GETTABLE  R8 = R7[R8]
  0022  ADD       R2 = R8 add R2
  0023  TFORCALL  tforcall R3
  0024  TFORLOOP  tforloop R5(sBx=-11)   -> 14
  0025  EQ        if R1 eq K5(0)   -> -129760
  0026  JMP       (jump)   -> 30
  0027  SELF      R4 = R0[K12('AddScore')] (self)
  0028  MOVE      R5 = R0
  0029  CALL      R3 = call(R3, 0 args, 2 rets)
  0030  RETURN    return R0..R-1
; ---------- proto20 [AddScore] ----------
  ; fn ?  line 160-166 np=2 va=0 ms=5 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='CanAddScore'
  ;   K[1]='_AddScore'
  ;   locals: self(0-9), delta(0-9)
  0000  SELF      R3 = R0[K0('CanAddScore')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R3 = R0[K1('_AddScore')] (self)
  0006  MOVE      R4 = R0
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto21 [_AddScore] ----------
  ; fn ?  line 168-197 np=2 va=0 ms=12 code=69 consts=23 upvals=1 protos=0
  ;   K[0]='GetLevel'
  ;   K[1]='GetScore'
  ;   K[2]='LogActivity'
  ;   K[3]='EBIType'
  ;   K[4]='ActivityAddScore'
  ;   K[5]='ActivityScoreChanged'
  ;   K[6]=1
  ;   K[7]='m_config'
  ;   K[8]='levelConfigs'
  ;   K[9]='score'
  ;   K[10]='m_dbTable'
  ;   K[11]='GetValue'
  ;   K[12]='DashActivityModel'
  ;   K[13]='FinishedLevelKey'
  ;   K[14]='value'
  ;   K[15]=0
  ;   K[16]='ActivityRankUp'
  ;   K[17]='Set'
  ;   K[18]='ScoreKey'
  ;   K[19]='event'
  ;   K[20]='Call'
  ;   K[21]='DashActivityEventType'
  ;   K[22]='ScoreChanged'
  ;   upvals: _ENV
  ;   locals: self(0-69), delta(0-69), level(2-69), newScore(5-69), finishedLevel(16-69), tempScore(17-69), levelConfig(25-32), dataFinishedLevel(42-69)
  0000  SELF      R3 = R0[K0('GetLevel')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  SELF      R4 = R0[K1('GetScore')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  ADD       R3 = R1 add R3
  0005  SELF      R5 = R0[K2('LogActivity')] (self)
  0006  GETTABUP  R6 = _ENV[K3('EBIType')]
  0007  GETTABLE  R6 = R6[K4('ActivityAddScore')]
  0008  MOVE      R7 = R0
  0009  CALL      R4 = call(R4, 0 args, 3 rets)
  0010  SELF      R5 = R0[K2('LogActivity')] (self)
  0011  GETTABUP  R6 = _ENV[K3('EBIType')]
  0012  GETTABLE  R6 = R6[K5('ActivityScoreChanged')]
  0013  MOVE      R7 = R0
  0014  CALL      R4 = call(R4, 0 args, 3 rets)
  0015  SUB       R4 = K6(1) sub R2
  0016  MOVE      R5 = R0
  0017  GETTABLE  R6 = R0[K7('m_config')]
  0018  GETTABLE  R6 = R6[K8('levelConfigs')]
  0019  LEN       R6 = len R0
  0020  LE        if R0 le R6   -> -130020
  0021  JMP       (jump)   -> 33
  0022  GETTABLE  R6 = R0[K7('m_config')]
  0023  GETTABLE  R6 = R6[K8('levelConfigs')]
  0024  GETTABLE  R6 = R6[R2]
  0025  GETTABLE  R7 = R6[K9('score')]
  0026  LT        if R1 lt R7   -> -128477
  0027  JMP       (jump)   -> 33
  0028  GETTABLE  R7 = R6[K9('score')]
  0029  SUB       R5 = R7 sub R5
  0030  MOVE      R4 = R0
  0031  ADD       R2 = K6(1) add R2
  0032  JMP       (jump)   -> 17
  0033  GETTABLE  R6 = R0[K10('m_dbTable')]
  0034  SELF      R7 = R6[K11('GetValue')] (self)
  0035  GETTABUP  R8 = _ENV[K12('DashActivityModel')]
  0036  GETTABLE  R8 = R8[K13('FinishedLevelKey')]
  0037  LOADK     R9 = K14 'value'
  0038  CALL      R6 = call(R6, 1 args, 3 rets)
  0039  TEST      if not R6 then   -> -131030
  0040  JMP       (jump)   -> 42
  0041  LOADK     R6 = K15 0
  0042  LT        if R0 lt R4   -> -127952
  0043  JMP       (jump)   -> 49
  0044  SELF      R8 = R0[K2('LogActivity')] (self)
  0045  GETTABUP  R9 = _ENV[K3('EBIType')]
  0046  GETTABLE  R9 = R9[K16('ActivityRankUp')]
  0047  MOVE      R10 = R0
  0048  CALL      R7 = call(R7, 0 args, 3 rets)
  0049  GETTABLE  R7 = R0[K10('m_dbTable')]
  0050  SELF      R8 = R7[K17('Set')] (self)
  0051  GETTABUP  R9 = _ENV[K12('DashActivityModel')]
  0052  GETTABLE  R9 = R9[K13('FinishedLevelKey')]
  0053  LOADK     R10 = K14 'value'
  0054  MOVE      R11 = R0
  0055  CALL      R7 = call(R7, 0 args, 4 rets)
  0056  GETTABLE  R7 = R0[K10('m_dbTable')]
  0057  SELF      R8 = R7[K17('Set')] (self)
  0058  GETTABUP  R9 = _ENV[K12('DashActivityModel')]
  0059  GETTABLE  R9 = R9[K18('ScoreKey')]
  0060  LOADK     R10 = K14 'value'
  0061  MOVE      R11 = R0
  0062  CALL      R7 = call(R7, 0 args, 4 rets)
  0063  GETTABLE  R7 = R0[K19('event')]
  0064  SELF      R8 = R7[K20('Call')] (self)
  0065  GETTABUP  R9 = _ENV[K21('DashActivityEventType')]
  0066  GETTABLE  R9 = R9[K22('ScoreChanged')]
  0067  CALL      R7 = call(R7, 0 args, 2 rets)
  0068  RETURN    return R0..R-1
; ---------- proto22 [Upgrade] ----------
  ; fn ?  line 199-213 np=1 va=0 ms=9 code=54 consts=31 upvals=1 protos=0
  ;   K[0]='GetLevel'
  ;   K[1]='GetLevelConfigs'
  ;   K[2]='RewardApi'
  ;   K[3]='AcquireRewardsLogic'
  ;   K[4]='rewards'
  ;   K[5]='EPropertySource'
  ;   K[6]='Give'
  ;   K[7]='m_activityDefinition'
  ;   K[8]='GetRewardsBIType'
  ;   K[9]='EGameMode'
  ;   K[10]='Board'
  ;   K[11]='LogActivity'
  ;   K[12]='EBIType'
  ;   K[13]='ActivityGetRewards'
  ;   K[14]='GetScore'
  ;   K[15]='score'
  ;   K[16]='ActivityScoreChanged'
  ;   K[17]='m_dbTable'
  ;   K[18]='Set'
  ;   K[19]='DashActivityModel'
  ;   K[20]='ScoreKey'
  ;   K[21]='value'
  ;   K[22]='LevelKey'
  ;   K[23]=1
  ;   K[24]='event'
  ;   K[25]='Call'
  ;   K[26]='DashActivityEventType'
  ;   K[27]='Upgraded'
  ;   K[28]='EventDispatcher'
  ;   K[29]='DispatchEvent'
  ;   K[30]='UpgradedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-54), level(2-54), levelConfig(5-54), newScore(24-54)
  0000  SELF      R2 = R0[K0('GetLevel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetLevelConfigs')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[R1]
  0005  GETTABUP  R3 = _ENV[K2('RewardApi')]
  0006  GETTABLE  R3 = R3[K3('AcquireRewardsLogic')]
  0007  GETTABLE  R4 = R2[K4('rewards')]
  0008  GETTABUP  R5 = _ENV[K5('EPropertySource')]
  0009  GETTABLE  R5 = R5[K6('Give')]
  0010  GETTABLE  R6 = R0[K7('m_activityDefinition')]
  0011  GETTABLE  R6 = R6[K8('GetRewardsBIType')]
  0012  GETTABUP  R7 = _ENV[K9('EGameMode')]
  0013  GETTABLE  R7 = R7[K10('Board')]
  0014  CALL      R3 = call(R3, 0 args, 4 rets)
  0015  SELF      R4 = R0[K11('LogActivity')] (self)
  0016  GETTABUP  R5 = _ENV[K12('EBIType')]
  0017  GETTABLE  R5 = R5[K13('ActivityGetRewards')]
  0018  MOVE      R6 = R0
  0019  CALL      R3 = call(R3, 0 args, 3 rets)
  0020  SELF      R4 = R0[K14('GetScore')] (self)
  0021  CALL      R3 = call(R3, 1 args, 1 rets)
  0022  GETTABLE  R4 = R2[K15('score')]
  0023  SUB       R3 = R4 sub R3
  0024  SELF      R5 = R0[K11('LogActivity')] (self)
  0025  GETTABUP  R6 = _ENV[K12('EBIType')]
  0026  GETTABLE  R6 = R6[K16('ActivityScoreChanged')]
  0027  MOVE      R7 = R0
  0028  CALL      R4 = call(R4, 0 args, 3 rets)
  0029  GETTABLE  R4 = R0[K17('m_dbTable')]
  0030  SELF      R5 = R4[K18('Set')] (self)
  0031  GETTABUP  R6 = _ENV[K19('DashActivityModel')]
  0032  GETTABLE  R6 = R6[K20('ScoreKey')]
  0033  LOADK     R7 = K21 'value'
  0034  MOVE      R8 = R0
  0035  CALL      R4 = call(R4, 0 args, 4 rets)
  0036  GETTABLE  R4 = R0[K17('m_dbTable')]
  0037  SELF      R5 = R4[K18('Set')] (self)
  0038  GETTABUP  R6 = _ENV[K19('DashActivityModel')]
  0039  GETTABLE  R6 = R6[K22('LevelKey')]
  0040  LOADK     R7 = K21 'value'
  0041  ADD       R8 = K23(1) add R1
  0042  CALL      R4 = call(R4, 0 args, 4 rets)
  0043  GETTABLE  R4 = R0[K24('event')]
  0044  SELF      R5 = R4[K25('Call')] (self)
  0045  GETTABUP  R6 = _ENV[K26('DashActivityEventType')]
  0046  GETTABLE  R6 = R6[K27('Upgraded')]
  0047  CALL      R4 = call(R4, 0 args, 2 rets)
  0048  GETTABUP  R4 = _ENV[K28('EventDispatcher')]
  0049  GETTABLE  R4 = R4[K29('DispatchEvent')]
  0050  GETTABLE  R5 = R0[K7('m_activityDefinition')]
  0051  GETTABLE  R5 = R5[K30('UpgradedEvent')]
  0052  CALL      R4 = call(R4, 0 args, 1 rets)
  0053  RETURN    return R0..R-1
; ---------- proto23 [GetMaxRewardLevel] ----------
  ; fn ?  line 216-218 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]=10
  ;   locals: self(0-3)
  0000  LOADK     R1 = K0 10
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto24 [CanPlayEntryFinalChallengeAnimation] ----------
  ; fn ?  line 221-223 np=1 va=0 ms=3 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='IsFinalChallengeing'
  ;   K[1]='IsPlayEntryFinal'
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('IsFinalChallengeing')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SELF      R2 = R0[K1('IsPlayEntryFinal')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  NOT       R1 = not R0
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto25 [IsFinalChallengeing] ----------
  ; fn ?  line 226-232 np=1 va=0 ms=5 code=15 consts=4 upvals=0 protos=0
  ;   K[0]='GetMaxRewardLevel'
  ;   K[1]='m_config'
  ;   K[2]='levelConfigs'
  ;   K[3]='GetLevel'
  ;   locals: self(0-15), maxRewardLevel(2-15), totalLevel(5-15), curLevel(7-15)
  0000  SELF      R2 = R0[K0('GetMaxRewardLevel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('levelConfigs')]
  0004  LEN       R2 = len R0
  0005  SELF      R4 = R0[K3('GetLevel')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  LT        if R0 lt R2   -> -130549
  0008  JMP       (jump)   -> 11
  0009  LT        if R1 lt R3   -> -130546
  0010  JMP       (jump)   -> 12
  0011  LOADBOOL  R4 = false
  0012  LOADBOOL  R4 = true
  0013  RETURN    return R4..R3
  0014  RETURN    return R0..R-1
; ---------- proto26 [HasFinalChallenge] ----------
  ; fn ?  line 235-239 np=1 va=0 ms=4 code=11 consts=3 upvals=0 protos=0
  ;   K[0]='GetMaxRewardLevel'
  ;   K[1]='m_config'
  ;   K[2]='levelConfigs'
  ;   locals: self(0-11), maxRewardLevel(2-11), totalLevel(5-11)
  0000  SELF      R2 = R0[K0('GetMaxRewardLevel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('levelConfigs')]
  0004  LEN       R2 = len R0
  0005  LT        if R1 lt R2   -> -130551
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R3 = false
  0008  LOADBOOL  R3 = true
  0009  RETURN    return R3..R2
  0010  RETURN    return R0..R-1
; ---------- proto27 [IsFinalSccuess] ----------
  ; fn ?  line 242-244 np=1 va=0 ms=3 code=15 consts=4 upvals=0 protos=0
  ;   K[0]='HasFinalChallenge'
  ;   K[1]='GetFinishLevel'
  ;   K[2]='m_config'
  ;   K[3]='levelConfigs'
  ;   locals: self(0-15)
  0000  SELF      R2 = R0[K0('HasFinalChallenge')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 13
  0004  SELF      R2 = R0[K1('GetFinishLevel')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  GETTABLE  R2 = R0[K2('m_config')]
  0007  GETTABLE  R2 = R2[K3('levelConfigs')]
  0008  LEN       R2 = len R0
  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
