# UI_Window_Board_ItemRecycleWindow_623.luac
; fn @ItemRecycleWindow.lua  line 0-0 np=0 va=1 ms=3 code=50 consts=18 upvals=1 protos=12
;   K[0]='ItemRecycleWindow'
;   K[1]='setmetatable'
;   K[2]='BaseWindow'
;   K[3]='__index'
;   K[4]='BeforeOpenCheck'
;   K[5]='Init'
;   K[6]='InitCells'
;   K[7]='InitTypeCells'
;   K[8]='_GetRelaventCookItemType'
;   K[9]='SortArray'
;   K[10]='AddCell'
;   K[11]='OnGreenClick'
;   K[12]='ItemRecycleWindow'
;   K[13]='OnRedClick'
;   K[14]='ShouldPlayPdInventoryAnimation'
;   K[15]='PlayPdInventoryAnimation'
;   K[16]='ItemRecycleCell'
;   K[17]='UpdateContent'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ItemRecycleWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0006  GETTABUP  R1 = _ENV[K0('ItemRecycleWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('BeforeOpenCheck')] = R1
0011  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('Init')] = R1
0014  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('InitCells')] = R1
0017  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('InitTypeCells')] = R1
0020  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('_GetRelaventCookItemType')] = R1
0023  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('SortArray')] = R1
0026  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K10('AddCell')] = R1
0029  GETTABUP  R0 = _ENV[K0('ItemRecycleWindow')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K11('OnGreenClick')] = R1
0032  GETTABUP  R0 = _ENV[K12('ItemRecycleWindow')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K13('OnRedClick')] = R1
0035  GETTABUP  R0 = _ENV[K12('ItemRecycleWindow')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K14('ShouldPlayPdInventoryAnimation')] = R1
0038  GETTABUP  R0 = _ENV[K12('ItemRecycleWindow')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K15('PlayPdInventoryAnimation')] = R1
0041  NEWTABLE  R0 = {} (0 items)
0042  SETTABUP  _ENV[K16('ItemRecycleCell')] = R0
0043  GETTABUP  R0 = _ENV[K16('ItemRecycleCell')]
0044  GETTABUP  R1 = _ENV[K16('ItemRecycleCell')]
0045  SETTABLE  R0[K3('__index')] = R1
0046  GETTABUP  R0 = _ENV[K16('ItemRecycleCell')]
0047  CLOSURE   R1 = closure proto11
0048  SETTABLE  R0[K17('UpdateContent')] = R1
0049  RETURN    return R0..R-1
; ---------- proto0 [BeforeOpenCheck] ----------
  ; fn ?  line 5-8 np=1 va=0 ms=3 code=18 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SceneManager'
  ;   K[2]='GetGameMode'
  ;   K[3]='EGameMode'
  ;   K[4]='Board'
  ;   K[5]='ItemRecycleModel'
  ;   K[6]='GetCurMaxSeries'
  ;   K[7]=nil
  ;   upvals: _ENV
  ;   locals: self(0-18)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('SceneManager')]
  0002  SELF      R2 = R1[K2('GetGameMode')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('EGameMode')]
  0005  GETTABLE  R2 = R2[K4('Board')]
  0006  EQ        if R0 eq R2   -> -130550
  0007  JMP       (jump)   -> 14
  0008  GETTABUP  R1 = _ENV[K0('GM')]
  0009  GETTABLE  R1 = R1[K5('ItemRecycleModel')]
  0010  SELF      R2 = R1[K6('GetCurMaxSeries')] (self)
  0011  CALL      R1 = call(R1, 1 args, 1 rets)
  0012  EQ        if R0 eq K7(nil)   -> -130283
  0013  JMP       (jump)   -> 15
  0014  LOADBOOL  R1 = false
  0015  LOADBOOL  R1 = true
  0016  RETURN    return R1..R0
  0017  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 10-50 np=1 va=0 ms=10 code=117 consts=48 upvals=1 protos=1
  ;   K[0]='m_arrDishes'
  ;   K[1]='m_arrInstrus'
  ;   K[2]='m_arrOthers'
  ;   K[3]='m_mapInInstrumentItems'
  ;   K[4]='GM'
  ;   K[5]='ItemRecycleModel'
  ;   K[6]='GetRecycleData'
  ;   K[7]='m_bCanRecycle'
  ;   K[8]=false
  ;   K[9]='ipairs'
  ;   K[10]='next'
  ;   K[11]=nil
  ;   K[12]=true
  ;   K[13]='GetCurMaxSeries'
  ;   K[14]='ShouldPlayPdInventoryAnimation'
  ;   K[15]='SpriteUtil'
  ;   K[16]='SetImage'
  ;   K[17]='m_pdImg'
  ;   K[18]='m_pdImg2'
  ;   K[19]='m_btmGo'
  ;   K[20]='SetActive'
  ;   K[21]='UIUtil'
  ;   K[22]='AddSizeDelta'
  ;   K[23]='m_contentRect'
  ;   K[24]=0
  ;   K[25]=-320
  ;   K[26]='m_energyCount'
  ;   K[27]='CalculateEnergyCount'
  ;   K[28]='m_energyText'
  ;   K[29]='text'
  ;   K[30]='x'
  ;   K[31]='InitCells'
  ;   K[32]='m_topGo'
  ;   K[33]=-760
  ;   K[34]='Log'
  ;   K[35]='Error'
  ;   K[36]='棋子回收弹窗逻辑错误'
  ;   K[37]='Close'
  ;   K[38]='LogWindowAction'
  ;   K[39]='EBIType'
  ;   K[40]='UIActionType'
  ;   K[41]='Open'
  ;   K[42]='EBIReferType'
  ;   K[43]='AutoPopup'
  ;   K[44]='IsAutoRun'
  ;   K[45]='DOVirtual'
  ;   K[46]='DelayedCall'
  ;   K[47]=0.2
  ;   upvals: _ENV
  ;   locals: self(0-117), (for generator)(17-27), (for state)(17-27), (for control)(17-27), _(18-25), tb(18-25), nSeries(31-117), producerType(31-117), shouldStoreMaxPd(34-117)
  0000  GETTABUP  R1 = _ENV[K4('GM')]
  0001  GETTABLE  R1 = R1[K5('ItemRecycleModel')]
  0002  SELF      R2 = R1[K6('GetRecycleData')] (self)
  0003  CALL      R1 = call(R1, 4 args, 1 rets)
  0004  SETTABLE  R0[K3('m_mapInInstrumentItems')] = R4
  0005  SETTABLE  R0[K2('m_arrOthers')] = R3
  0006  SETTABLE  R0[K1('m_arrInstrus')] = R2
  0007  SETTABLE  R0[K0('m_arrDishes')] = R1
  0008  SETTABLE  R0[K7('m_bCanRecycle')] = K8(false)
  0009  GETTABUP  R1 = _ENV[K9('ipairs')]
  0010  NEWTABLE  R2 = {} (4 items)
  0011  GETTABLE  R3 = R0[K0('m_arrDishes')]
  0012  GETTABLE  R4 = R0[K1('m_arrInstrus')]
  0013  GETTABLE  R5 = R0[K2('m_arrOthers')]
  0014  GETTABLE  R6 = R0[K3('m_mapInInstrumentItems')]
  0015  SETLIST   setlist R2[B=1,C=4]
  0016  CALL      R1 = call(R1, 3 args, 1 rets)
  0017  JMP       (jump)   -> 25
  0018  GETTABUP  R6 = _ENV[K10('next')]
  0019  MOVE      R7 = R0
  0020  CALL      R6 = call(R6, 1 args, 1 rets)
  0021  EQ        if R1 eq K11(nil)   -> -127710
  0022  JMP       (jump)   -> 25
  0023  SETTABLE  R0[K7('m_bCanRecycle')] = K12(true)
  0024  JMP       (jump)   -> 27
  0025  TFORCALL  tforcall R1
  0026  TFORLOOP  tforloop R3(sBx=-9)   -> 18
  0027  GETTABUP  R1 = _ENV[K4('GM')]
  0028  GETTABLE  R1 = R1[K5('ItemRecycleModel')]
  0029  SELF      R2 = R1[K13('GetCurMaxSeries')] (self)
  0030  CALL      R1 = call(R1, 2 args, 1 rets)
  0031  SELF      R4 = R0[K14('ShouldPlayPdInventoryAnimation')] (self)
  0032  MOVE      R5 = R0
  0033  CALL      R3 = call(R3, 1 args, 2 rets)
  0034  TEST      if not R3 then   -> -131036
  0035  JMP       (jump)   -> 49
  0036  GETTABUP  R4 = _ENV[K15('SpriteUtil')]
  0037  GETTABLE  R4 = R4[K16('SetImage')]
  0038  GETTABLE  R5 = R0[K17('m_pdImg')]
  0039  MOVE      R6 = R0
  0040  LOADBOOL  R7 = true
  0041  CALL      R4 = call(R4, 0 args, 3 rets)
  0042  GETTABUP  R4 = _ENV[K15('SpriteUtil')]
  0043  GETTABLE  R4 = R4[K16('SetImage')]
  0044  GETTABLE  R5 = R0[K18('m_pdImg2')]
  0045  MOVE      R6 = R0
  0046  LOADBOOL  R7 = true
  0047  CALL      R4 = call(R4, 0 args, 3 rets)
  0048  JMP       (jump)   -> 59
  0049  GETTABLE  R4 = R0[K19('m_btmGo')]
  0050  SELF      R5 = R4[K20('SetActive')] (self)
  0051  LOADBOOL  R6 = false
  0052  CALL      R4 = call(R4, 0 args, 2 rets)
  0053  GETTABUP  R4 = _ENV[K21('UIUtil')]
  0054  GETTABLE  R4 = R4[K22('AddSizeDelta')]
  0055  GETTABLE  R5 = R0[K23('m_contentRect')]
  0056  LOADK     R6 = K24 0
  0057  LOADK     R7 = K25 -320
  0058  CALL      R4 = call(R4, 0 args, 3 rets)
  0059  GETTABLE  R4 = R0[K7('m_bCanRecycle')]
  0060  TEST      if not R4 then   -> -131010
  0061  JMP       (jump)   -> 79
  0062  GETTABUP  R4 = _ENV[K4('GM')]
  0063  GETTABLE  R4 = R4[K5('ItemRecycleModel')]
  0064  SELF      R5 = R4[K27('CalculateEnergyCount')] (self)
  0065  GETTABLE  R6 = R0[K0('m_arrDishes')]
  0066  GETTABLE  R7 = R0[K1('m_arrInstrus')]
  0067  GETTABLE  R8 = R0[K2('m_arrOthers')]
  0068  GETTABLE  R9 = R0[K3('m_mapInInstrumentItems')]
  0069  CALL      R4 = call(R4, 1 args, 5 rets)
  0070  SETTABLE  R0[K26('m_energyCount')] = R4
  0071  GETTABLE  R4 = R0[K28('m_energyText')]
  0072  LOADK     R5 = K30 'x'
  0073  GETTABLE  R6 = R0[K26('m_energyCount')]
  0074  CONCAT    R5 = concat(R5..R5)
  0075  SETTABLE  R4[K29('text')] = R5
  0076  SELF      R5 = R0[K31('InitCells')] (self)
  0077  CALL      R4 = call(R4, 0 args, 1 rets)
  0078  JMP       (jump)   -> 89
  0079  GETTABLE  R4 = R0[K32('m_topGo')]
  0080  SELF      R5 = R4[K20('SetActive')] (self)
  0081  LOADBOOL  R6 = false
  0082  CALL      R4 = call(R4, 0 args, 2 rets)
  0083  GETTABUP  R4 = _ENV[K21('UIUtil')]
  0084  GETTABLE  R4 = R4[K22('AddSizeDelta')]
  0085  GETTABLE  R5 = R0[K23('m_contentRect')]
  0086  LOADK     R6 = K24 0
  0087  LOADK     R7 = K33 -760
  0088  CALL      R4 = call(R4, 0 args, 3 rets)
  0089  TEST      if not R3 then   -> -130980
  0090  JMP       (jump)   -> 100
  0091  GETTABLE  R4 = R0[K7('m_bCanRecycle')]
  0092  TEST      if not R4 then   -> -130977
  0093  JMP       (jump)   -> 100
  0094  GETTABUP  R4 = _ENV[K34('Log')]
  0095  GETTABLE  R4 = R4[K35('Error')]
  0096  LOADK     R5 = K36 '棋子回收弹窗逻辑错误'
  0097  CALL      R4 = call(R4, 0 args, 1 rets)
  0098  SELF      R5 = R0[K37('Close')] (self)
  0099  CALL      R4 = call(R4, 0 args, 1 rets)
  0100  SELF      R5 = R0[K38('LogWindowAction')] (self)
  0101  GETTABUP  R6 = _ENV[K39('EBIType')]
  0102  GETTABLE  R6 = R6[K40('UIActionType')]
  0103  GETTABLE  R6 = R6[K41('Open')]
  0104  GETTABUP  R7 = _ENV[K42('EBIReferType')]
  0105  GETTABLE  R7 = R7[K43('AutoPopup')]
  0106  CALL      R4 = call(R4, 0 args, 3 rets)
  0107  GETTABUP  R4 = _ENV[K44('IsAutoRun')]
  0108  CALL      R4 = call(R4, 1 args, 0 rets)
  0109  TEST      if not R4 then   -> -130961
  0110  JMP       (jump)   -> 116
  0111  GETTABUP  R4 = _ENV[K45('DOVirtual')]
  0112  GETTABLE  R4 = R4[K46('DelayedCall')]
  0113  LOADK     R5 = K47 0.2
  0114  CLOSURE   R6 = closure proto0
  0115  CALL      R4 = call(R4, 0 args, 2 rets)
  0116  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 48-48 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='OnGreenClick'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('OnGreenClick')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto2 [InitCells] ----------
  ; fn ?  line 52-88 np=1 va=0 ms=14 code=58 consts=14 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='ShallowCopy'
  ;   K[2]='m_arrDishes'
  ;   K[3]='m_arrInstrus'
  ;   K[4]='m_arrOthers'
  ;   K[5]='GM'
  ;   K[6]='ItemDataModel'
  ;   K[7]='pairs'
  ;   K[8]='m_mapInInstrumentItems'
  ;   K[9]='GetType'
  ;   K[10]='IsDishes'
  ;   K[11]=1
  ;   K[12]='SortArray'
  ;   K[13]='InitTypeCells'
  ;   upvals: _ENV
  ;   locals: self(0-58), arrDishes(4-58), arrInstrus(8-58), arrOthers(12-58), itemDataModel(14-58), itemType(15-58), (for generator)(18-36), (for state)(18-36), (for control)(18-36), materialItem(19-34), cookItem(19-34)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('ShallowCopy')]
  0002  GETTABLE  R2 = R0[K2('m_arrDishes')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K0('Table')]
  0005  GETTABLE  R2 = R2[K1('ShallowCopy')]
  0006  GETTABLE  R3 = R0[K3('m_arrInstrus')]
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  GETTABUP  R3 = _ENV[K0('Table')]
  0009  GETTABLE  R3 = R3[K1('ShallowCopy')]
  0010  GETTABLE  R4 = R0[K4('m_arrOthers')]
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  GETTABUP  R4 = _ENV[K5('GM')]
  0013  GETTABLE  R4 = R4[K6('ItemDataModel')]
  0014  LOADNIL   R5..R5 = nil
  0015  GETTABUP  R6 = _ENV[K7('pairs')]
  0016  GETTABLE  R7 = R0[K8('m_mapInInstrumentItems')]
  0017  CALL      R6 = call(R6, 3 args, 1 rets)
  0018  JMP       (jump)   -> 34
  0019  SELF      R12 = R9[K9('GetType')] (self)
  0020  CALL      R11 = call(R11, 1 args, 1 rets)
  0021  MOVE      R5 = R0
  0022  SELF      R12 = R4[K10('IsDishes')] (self)
  0023  MOVE      R13 = R0
  0024  CALL      R11 = call(R11, 1 args, 2 rets)
  0025  TEST      if not R11 then   -> -131045
  0026  JMP       (jump)   -> 31
  0027  LEN       R11 = len R0
  0028  ADD       R11 = K11(1) add R11
  0029  SETTABLE  R1[R11] = R9
  0030  JMP       (jump)   -> 34
  0031  LEN       R11 = len R0
  0032  ADD       R11 = K11(1) add R11
  0033  SETTABLE  R3[R11] = R9
  0034  TFORCALL  tforcall R6
  0035  TFORLOOP  tforloop R8(sBx=-17)   -> 19
  0036  SELF      R7 = R0[K12('SortArray')] (self)
  0037  MOVE      R8 = R0
  0038  LOADBOOL  R9 = false
  0039  CALL      R6 = call(R6, 0 args, 3 rets)
  0040  SELF      R7 = R0[K12('SortArray')] (self)
  0041  MOVE      R8 = R0
  0042  LOADBOOL  R9 = true
  0043  CALL      R6 = call(R6, 0 args, 3 rets)
  0044  SELF      R7 = R0[K12('SortArray')] (self)
  0045  MOVE      R8 = R0
  0046  LOADBOOL  R9 = true
  0047  CALL      R6 = call(R6, 0 args, 3 rets)
  0048  SELF      R7 = R0[K13('InitTypeCells')] (self)
  0049  MOVE      R8 = R0
  0050  CALL      R6 = call(R6, 0 args, 2 rets)
  0051  SELF      R7 = R0[K13('InitTypeCells')] (self)
  0052  MOVE      R8 = R0
  0053  CALL      R6 = call(R6, 0 args, 2 rets)
  0054  SELF      R7 = R0[K13('InitTypeCells')] (self)
  0055  MOVE      R8 = R0
  0056  CALL      R6 = call(R6, 0 args, 2 rets)
  0057  RETURN    return R0..R-1
; ---------- proto3 [InitTypeCells] ----------
  ; fn ?  line 90-133 np=2 va=0 ms=21 code=92 consts=6 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='GetType'
  ;   K[2]='eRecycleTag'
  ;   K[3]='_GetRelaventCookItemType'
  ;   K[4]=2
  ;   K[5]='AddCell'
  ;   locals: self(0-92), sortedArray(0-92), firstItem(1-92), type(7-92), num(8-92), eTag(9-92), cookType(12-92), tp(23-92), et(23-92), ct(23-92), itemModel(23-92), (for index)(27-56), (for limit)(27-56), (for step)(27-56), i(28-55)
  0000  GETTABLE  R2 = R1[K0(1)]
  0001  GETTABLE  R3 = R1[K0(1)]
  0002  TEST      if not R3 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R4 = R2[K1('GetType')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  LOADK     R4 = K0 1
  0008  GETTABLE  R5 = R2[K2('eRecycleTag')]
  0009  SELF      R7 = R0[K3('_GetRelaventCookItemType')] (self)
  0010  MOVE      R8 = R0
  0011  CALL      R6 = call(R6, 1 args, 2 rets)
  0012  GETTABLE  R7 = R1[K4(2)]
  0013  TEST      if not R7 then   -> -131056
  0014  JMP       (jump)   -> 22
  0015  SELF      R8 = R0[K5('AddCell')] (self)
  0016  MOVE      R9 = R0
  0017  MOVE      R10 = R0
  0018  MOVE      R11 = R0
  0019  MOVE      R12 = R0
  0020  CALL      R7 = call(R7, 0 args, 5 rets)
  0021  RETURN    return R0..R-1
  0022  LOADNIL   R7..R7 = nil
  0023  LOADK     R11 = K4 2
  0024  LEN       R12 = len R0
  0025  SUB       R12 = K0(1) sub R12
  0026  LOADK     R13 = K0 1
  0027  FORPREP   forprep R11(sBx=27)   -> 55
  0028  GETTABLE  R10 = R1[R14]
  0029  SELF      R16 = R10[K1('GetType')] (self)
  0030  CALL      R15 = call(R15, 1 args, 1 rets)
  0031  MOVE      R7 = R0
  0032  GETTABLE  R8 = R10[K2('eRecycleTag')]
  0033  SELF      R16 = R0[K3('_GetRelaventCookItemType')] (self)
  0034  MOVE      R17 = R0
  0035  CALL      R15 = call(R15, 1 args, 2 rets)
  0036  MOVE      R9 = R0
  0037  EQ        if R0 eq R3   -> -127446
  0038  JMP       (jump)   -> 43
  0039  EQ        if R0 eq R5   -> -126930
  0040  JMP       (jump)   -> 43
  0041  EQ        if R1 eq R6   -> -126415
  0042  JMP       (jump)   -> 54
  0043  SELF      R16 = R0[K5('AddCell')] (self)
  0044  MOVE      R17 = R0
  0045  MOVE      R18 = R0
  0046  MOVE      R19 = R0
  0047  MOVE      R20 = R0
  0048  CALL      R15 = call(R15, 0 args, 5 rets)
  0049  MOVE      R3 = R0
  0050  MOVE      R5 = R0
  0051  MOVE      R6 = R0
  0052  LOADK     R4 = K0 1
  0053  JMP       (jump)   -> 55
  0054  ADD       R4 = K0(1) add R4
  0055  FORLOOP   forloop R11(sBx=-28)   -> 28
  0056  LEN       R11 = len R0
  0057  GETTABLE  R10 = R1[R11]
  0058  SELF      R12 = R10[K1('GetType')] (self)
  0059  CALL      R11 = call(R11, 1 args, 1 rets)
  0060  MOVE      R7 = R0
  0061  GETTABLE  R8 = R10[K2('eRecycleTag')]
  0062  SELF      R12 = R0[K3('_GetRelaventCookItemType')] (self)
  0063  MOVE      R13 = R0
  0064  CALL      R11 = call(R11, 1 args, 2 rets)
  0065  MOVE      R9 = R0
  0066  EQ        if R0 eq R3   -> -127417
  0067  JMP       (jump)   -> 72
  0068  EQ        if R0 eq R5   -> -126901
  0069  JMP       (jump)   -> 72
  0070  EQ        if R1 eq R6   -> -126386
  0071  JMP       (jump)   -> 85
  0072  SELF      R12 = R0[K5('AddCell')] (self)
  0073  MOVE      R13 = R0
  0074  MOVE      R14 = R0
  0075  MOVE      R15 = R0
  0076  MOVE      R16 = R0
  0077  CALL      R11 = call(R11, 0 args, 5 rets)
  0078  SELF      R12 = R0[K5('AddCell')] (self)
  0079  MOVE      R13 = R0
  0080  LOADK     R14 = K0 1
  0081  MOVE      R15 = R0
  0082  MOVE      R16 = R0
  0083  CALL      R11 = call(R11, 0 args, 5 rets)
  0084  JMP       (jump)   -> 91
  0085  SELF      R12 = R0[K5('AddCell')] (self)
  0086  MOVE      R13 = R0
  0087  ADD       R14 = K0(1) add R4
  0088  MOVE      R15 = R0
  0089  MOVE      R16 = R0
  0090  CALL      R11 = call(R11, 0 args, 5 rets)
  0091  RETURN    return R0..R-1
; ---------- proto4 [_GetRelaventCookItemType] ----------
  ; fn ?  line 135-142 np=2 va=0 ms=5 code=12 consts=3 upvals=0 protos=0
  ;   K[0]='m_mapInInstrumentItems'
  ;   K[1]='GetItemModel'
  ;   K[2]='GetType'
  ;   locals: self(0-12), materialItem(0-12), cookCmp(2-12)
  0000  GETTABLE  R2 = R0[K0('m_mapInInstrumentItems')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADNIL   R3..R3 = nil
  0005  RETURN    return R3..R2
  0006  SELF      R4 = R2[K1('GetItemModel')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  SELF      R4 = R3[K2('GetType')] (self)
  0009  TAILCALL  tailcall(R3, 0)
  0010  RETURN    return R3..R2
  0011  RETURN    return R0..R-1
; ---------- proto5 [SortArray] ----------
  ; fn ?  line 144-185 np=3 va=0 ms=15 code=9 consts=4 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ItemDataModel'
  ;   K[2]='table'
  ;   K[3]='sort'
  ;   upvals: _ENV
  ;   locals: self(0-9), array(0-9), checkLevel(0-9), itemDataModel(2-9), nSeries1(3-9), nSeries2(3-9), type1(3-9), type2(3-9), chain1(3-9), chain2(3-9), level1(3-9), level2(3-9)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ItemDataModel')]
  0002  LOADNIL   R4..R4 = nil
  0003  GETTABUP  R12 = _ENV[K2('table')]
  0004  GETTABLE  R12 = R12[K3('sort')]
  0005  MOVE      R13 = R0
  0006  CLOSURE   R14 = closure proto0
  0007  CALL      R12 = call(R12, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 147-184 np=2 va=0 ms=7 code=122 consts=10 upvals=12 protos=0
    ;   K[0]='GetType'
    ;   K[1]='GetItemSeries'
    ;   K[2]='GetChainId'
    ;   K[3]='GetChainLevel'
    ;   K[4]='eRecycleTag'
    ;   K[5]='EItemRecycleTag'
    ;   K[6]='InInstrument'
    ;   K[7]='m_mapInInstrumentItems'
    ;   K[8]='GetItemModel'
    ;   K[9]='GetId'
    ;   upvals: type1, type2, nSeries1, itemDataModel, nSeries2, chain1, chain2, checkLevel, level1, level2, _ENV, self
    ;   locals: item1(0-122), item2(0-122), cook1(91-112), cook2(93-112), cookType1(103-112), cookType2(107-112)
    0000  SELF      R3 = R0[K0('GetType')] (self)
    0001  CALL      R2 = call(R2, 1 args, 1 rets)
    0002  SETUPVAL  nSeries1 = R0
    0003  SELF      R3 = R1[K0('GetType')] (self)
    0004  CALL      R2 = call(R2, 1 args, 1 rets)
    0005  SETUPVAL  nSeries1 = R0
    0006  GETUPVAL  R2 = type1
    0007  SELF      R3 = R2[K1('GetItemSeries')] (self)
    0008  GETUPVAL  R4 = type1
    0009  CALL      R2 = call(R2, 1 args, 2 rets)
    0010  SETUPVAL  nSeries1 = R0
    0011  GETUPVAL  R2 = type1
    0012  SELF      R3 = R2[K1('GetItemSeries')] (self)
    0013  GETUPVAL  R4 = type1
    0014  CALL      R2 = call(R2, 1 args, 2 rets)
    0015  SETUPVAL  nSeries1 = R0
    0016  GETUPVAL  R2 = type1
    0017  GETUPVAL  R3 = type1
    0018  EQ        if R1 eq R3   -> -130025
    0019  JMP       (jump)   -> 27
    0020  GETUPVAL  R2 = type1
    0021  GETUPVAL  R3 = type1
    0022  LT        if R1 lt R2   -> -129510
    0023  JMP       (jump)   -> 25
    0024  LOADBOOL  R2 = false
    0025  LOADBOOL  R2 = true
    0026  RETURN    return R2..R1
    0027  GETUPVAL  R2 = type1
    0028  SELF      R3 = R2[K2('GetChainId')] (self)
    0029  GETUPVAL  R4 = type1
    0030  CALL      R2 = call(R2, 1 args, 2 rets)
    0031  SETUPVAL  nSeries1 = R0
    0032  GETUPVAL  R2 = type1
    0033  SELF      R3 = R2[K2('GetChainId')] (self)
    0034  GETUPVAL  R4 = type1
    0035  CALL      R2 = call(R2, 1 args, 2 rets)
    0036  SETUPVAL  nSeries1 = R0
    0037  GETUPVAL  R2 = type1
    0038  GETUPVAL  R3 = type1
    0039  EQ        if R1 eq R3   -> -130004
    0040  JMP       (jump)   -> 48
    0041  GETUPVAL  R2 = type1
    0042  GETUPVAL  R3 = type1
    0043  LT        if R1 lt R2   -> -129489
    0044  JMP       (jump)   -> 46
    0045  LOADBOOL  R2 = false
    0046  LOADBOOL  R2 = true
    0047  RETURN    return R2..R1
    0048  GETUPVAL  R2 = type1
    0049  TEST      if not R2 then   -> -131021
    0050  JMP       (jump)   -> 72
    0051  GETUPVAL  R2 = type1
    0052  SELF      R3 = R2[K3('GetChainLevel')] (self)
    0053  GETUPVAL  R4 = type1
    0054  CALL      R2 = call(R2, 1 args, 2 rets)
    0055  SETUPVAL  nSeries1 = R0
    0056  GETUPVAL  R2 = type1
    0057  SELF      R3 = R2[K3('GetChainLevel')] (self)
    0058  GETUPVAL  R4 = type1
    0059  CALL      R2 = call(R2, 1 args, 2 rets)
    0060  SETUPVAL  nSeries1 = R0
    0061  GETUPVAL  R2 = type1
    0062  GETUPVAL  R3 = type1
    0063  EQ        if R1 eq R3   -> -129980
    0064  JMP       (jump)   -> 72
    0065  GETUPVAL  R2 = type1
    0066  GETUPVAL  R3 = type1
    0067  LT        if R1 lt R2   -> -129465
    0068  JMP       (jump)   -> 70
    0069  LOADBOOL  R2 = false
    0070  LOADBOOL  R2 = true
    0071  RETURN    return R2..R1
    0072  GETTABLE  R2 = R0[K4('eRecycleTag')]
    0073  GETTABLE  R3 = R1[K4('eRecycleTag')]
    0074  EQ        if R1 eq R3   -> -129969
    0075  JMP       (jump)   -> 84
    0076  GETTABLE  R2 = R0[K4('eRecycleTag')]
    0077  GETTABLE  R3 = R1[K4('eRecycleTag')]
    0078  LT        if R1 lt R3   -> -129965
    0079  JMP       (jump)   -> 81
    0080  LOADBOOL  R2 = false
    0081  LOADBOOL  R2 = true
    0082  RETURN    return R2..R1
    0083  JMP       (jump)   -> 112
    0084  GETTABLE  R2 = R0[K4('eRecycleTag')]
    0085  GETTABUP  R3 = _ENV[K5('EItemRecycleTag')]
    0086  GETTABLE  R3 = R3[K6('InInstrument')]
    0087  EQ        if R0 eq R3   -> -129956
    0088  JMP       (jump)   -> 112
    0089  GETTABUP  R2 = self[K7('m_mapInInstrumentItems')]
    0090  GETTABLE  R2 = R2[R0]
    0091  GETTABUP  R3 = self[K7('m_mapInInstrumentItems')]
    0092  GETTABLE  R3 = R3[R1]
    0093  TEST      if not R2 then   -> -130977
    0094  JMP       (jump)   -> 97
    0095  TEST      if not R3 then   -> -130974
    0096  JMP       (jump)   -> 99
    0097  LOADBOOL  R4 = true
    0098  RETURN    return R4..R3
    0099  SELF      R5 = R2[K8('GetItemModel')] (self)
    0100  CALL      R4 = call(R4, 1 args, 1 rets)
    0101  SELF      R5 = R4[K0('GetType')] (self)
    0102  CALL      R4 = call(R4, 1 args, 1 rets)
    0103  SELF      R6 = R3[K8('GetItemModel')] (self)
    0104  CALL      R5 = call(R5, 1 args, 1 rets)
    0105  SELF      R6 = R5[K0('GetType')] (self)
    0106  CALL      R5 = call(R5, 1 args, 1 rets)
    0107  LT        if R1 lt R5   -> -128910
    0108  JMP       (jump)   -> 110
    0109  LOADBOOL  R6 = false
    0110  LOADBOOL  R6 = true
    0111  RETURN    return R6..R5
    0112  SELF      R3 = R0[K9('GetId')] (self)
    0113  CALL      R2 = call(R2, 1 args, 1 rets)
    0114  SELF      R4 = R1[K9('GetId')] (self)
    0115  CALL      R3 = call(R3, 1 args, 1 rets)
    0116  LT        if R1 lt R3   -> -129927
    0117  JMP       (jump)   -> 119
    0118  LOADBOOL  R2 = false
    0119  LOADBOOL  R2 = true
    0120  RETURN    return R2..R1
    0121  RETURN    return R0..R-1
; ---------- proto6 [AddCell] ----------
  ; fn ?  line 187-192 np=5 va=0 ms=13 code=17 consts=7 upvals=1 protos=0
  ;   K[0]='GameObject'
  ;   K[1]='Instantiate'
  ;   K[2]='m_cellTemplateGo'
  ;   K[3]='m_cellRoot'
  ;   K[4]='SetActive'
  ;   K[5]='GetLuaTable'
  ;   K[6]='UpdateContent'
  ;   upvals: _ENV
  ;   locals: self(0-17), type(0-17), num(0-17), eTag(0-17), cookType(0-17), newCellGo(5-17), newCell(10-17)
  0000  GETTABUP  R5 = _ENV[K0('GameObject')]
  0001  GETTABLE  R5 = R5[K1('Instantiate')]
  0002  GETTABLE  R6 = R0[K2('m_cellTemplateGo')]
  0003  GETTABLE  R7 = R0[K3('m_cellRoot')]
  0004  CALL      R5 = call(R5, 1 args, 2 rets)
  0005  SELF      R7 = R5[K4('SetActive')] (self)
  0006  LOADBOOL  R8 = true
  0007  CALL      R6 = call(R6, 0 args, 2 rets)
  0008  SELF      R7 = R5[K5('GetLuaTable')] (self)
  0009  CALL      R6 = call(R6, 1 args, 1 rets)
  0010  SELF      R8 = R6[K6('UpdateContent')] (self)
  0011  MOVE      R9 = R0
  0012  MOVE      R10 = R0
  0013  MOVE      R11 = R0
  0014  MOVE      R12 = R0
  0015  CALL      R7 = call(R7, 0 args, 5 rets)
  0016  RETURN    return R0..R-1
; ---------- proto7 [OnGreenClick] ----------
  ; fn ?  line 194-220 np=1 va=0 ms=9 code=75 consts=34 upvals=1 protos=1
  ;   K[0]='MainBoardView'
  ;   K[1]='GetInstance'
  ;   K[2]='UpdateSelectedItem'
  ;   K[3]='m_bCanRecycle'
  ;   K[4]='GM'
  ;   K[5]='ItemRecycleModel'
  ;   K[6]='ConfirmRecycle'
  ;   K[7]='m_arrDishes'
  ;   K[8]='m_arrInstrus'
  ;   K[9]='m_arrOthers'
  ;   K[10]='m_mapInInstrumentItems'
  ;   K[11]='UIManager'
  ;   K[12]='OpenViewWhenIdle'
  ;   K[13]='UIPrefabConfigName'
  ;   K[14]='ItemRecycleAnimationWindow'
  ;   K[15]='m_energyCount'
  ;   K[16]='GetCurMaxSeries'
  ;   K[17]='ShouldPlayPdInventoryAnimation'
  ;   K[18]='GetItemView'
  ;   K[19]='transform'
  ;   K[20]='position'
  ;   K[21]='MainBoardModel'
  ;   K[22]='StoreItem'
  ;   K[23]='SetEventLock'
  ;   K[24]='PropertyAnimationManager'
  ;   K[25]='AddFlyingCount'
  ;   K[26]='DelayExecuteFunc'
  ;   K[27]=0.5
  ;   K[28]='LogWindowAction'
  ;   K[29]='EBIType'
  ;   K[30]='UIActionType'
  ;   K[31]='Click'
  ;   K[32]='confirm'
  ;   K[33]='Close'
  ;   upvals: _ENV
  ;   locals: self(0-75), nSeries(34-75), producerType(34-75), producerItem(37-75), producerView(45-65), boardWorldPosition(47-65)
  0000  GETTABUP  R1 = _ENV[K0('MainBoardView')]
  0001  SELF      R2 = R1[K1('GetInstance')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  SELF      R2 = R1[K2('UpdateSelectedItem')] (self)
  0004  LOADNIL   R3..R3 = nil
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  GETTABLE  R1 = R0[K3('m_bCanRecycle')]
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 30
  0009  GETTABUP  R1 = _ENV[K4('GM')]
  0010  GETTABLE  R1 = R1[K5('ItemRecycleModel')]
  0011  SELF      R2 = R1[K6('ConfirmRecycle')] (self)
  0012  GETTABLE  R3 = R0[K7('m_arrDishes')]
  0013  GETTABLE  R4 = R0[K8('m_arrInstrus')]
  0014  GETTABLE  R5 = R0[K9('m_arrOthers')]
  0015  GETTABLE  R6 = R0[K10('m_mapInInstrumentItems')]
  0016  CALL      R1 = call(R1, 1 args, 5 rets)
  0017  TEST      if not R1 then   -> -131053
  0018  JMP       (jump)   -> 30
  0019  GETTABUP  R1 = _ENV[K4('GM')]
  0020  GETTABLE  R1 = R1[K11('UIManager')]
  0021  SELF      R2 = R1[K12('OpenViewWhenIdle')] (self)
  0022  GETTABUP  R3 = _ENV[K13('UIPrefabConfigName')]
  0023  GETTABLE  R3 = R3[K14('ItemRecycleAnimationWindow')]
  0024  GETTABLE  R4 = R0[K7('m_arrDishes')]
  0025  GETTABLE  R5 = R0[K8('m_arrInstrus')]
  0026  GETTABLE  R6 = R0[K9('m_arrOthers')]
  0027  GETTABLE  R7 = R0[K10('m_mapInInstrumentItems')]
  0028  GETTABLE  R8 = R0[K15('m_energyCount')]
  0029  CALL      R1 = call(R1, 0 args, 7 rets)
  0030  GETTABUP  R1 = _ENV[K4('GM')]
  0031  GETTABLE  R1 = R1[K5('ItemRecycleModel')]
  0032  SELF      R2 = R1[K16('GetCurMaxSeries')] (self)
  0033  CALL      R1 = call(R1, 2 args, 1 rets)
  0034  SELF      R4 = R0[K17('ShouldPlayPdInventoryAnimation')] (self)
  0035  MOVE      R5 = R0
  0036  CALL      R3 = call(R3, 1 args, 2 rets)
  0037  TEST      if not R3 then   -> -131033
  0038  JMP       (jump)   -> 65
  0039  GETTABUP  R4 = _ENV[K0('MainBoardView')]
  0040  SELF      R5 = R4[K1('GetInstance')] (self)
  0041  CALL      R4 = call(R4, 1 args, 1 rets)
  0042  SELF      R5 = R4[K18('GetItemView')] (self)
  0043  MOVE      R6 = R0
  0044  CALL      R4 = call(R4, 1 args, 2 rets)
  0045  GETTABLE  R5 = R4[K19('transform')]
  0046  GETTABLE  R5 = R5[K20('position')]
  0047  GETTABUP  R6 = _ENV[K4('GM')]
  0048  GETTABLE  R6 = R6[K21('MainBoardModel')]
  0049  SELF      R7 = R6[K22('StoreItem')] (self)
  0050  MOVE      R8 = R0
  0051  CALL      R6 = call(R6, 0 args, 2 rets)
  0052  GETTABUP  R6 = _ENV[K4('GM')]
  0053  GETTABLE  R6 = R6[K11('UIManager')]
  0054  SELF      R7 = R6[K23('SetEventLock')] (self)
  0055  LOADBOOL  R8 = true
  0056  CALL      R6 = call(R6, 0 args, 2 rets)
  0057  GETTABUP  R6 = _ENV[K24('PropertyAnimationManager')]
  0058  GETTABLE  R6 = R6[K25('AddFlyingCount')]
  0059  CALL      R6 = call(R6, 0 args, 0 rets)
  0060  GETTABUP  R6 = _ENV[K26('DelayExecuteFunc')]
  0061  CLOSURE   R7 = closure proto0
  0062  LOADK     R8 = K27 0.5
  0063  CALL      R6 = call(R6, 0 args, 2 rets)
  0064  JMP       (jump)   -> 65
  0065  SELF      R5 = R0[K28('LogWindowAction')] (self)
  0066  GETTABUP  R6 = _ENV[K29('EBIType')]
  0067  GETTABLE  R6 = R6[K30('UIActionType')]
  0068  GETTABLE  R6 = R6[K31('Click')]
  0069  LOADNIL   R7..R7 = nil
  0070  LOADK     R8 = K32 'confirm'
  0071  CALL      R4 = call(R4, 0 args, 4 rets)
  0072  SELF      R5 = R0[K33('Close')] (self)
  0073  CALL      R4 = call(R4, 0 args, 1 rets)
  0074  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 211-215 np=0 va=0 ms=3 code=14 consts=7 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='PropertyAnimationManager'
    ;   K[4]='RemoveFlyingCount'
    ;   K[5]='ItemRecycleWindow'
    ;   K[6]='PlayPdInventoryAnimation'
    ;   upvals: _ENV, producerType, boardWorldPosition
    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  GETTABUP  R0 = _ENV[K3('PropertyAnimationManager')]
    0006  GETTABLE  R0 = R0[K4('RemoveFlyingCount')]
    0007  CALL      R0 = call(R0, 0 args, 0 rets)
    0008  GETTABUP  R0 = _ENV[K5('ItemRecycleWindow')]
    0009  GETTABLE  R0 = R0[K6('PlayPdInventoryAnimation')]
    0010  GETUPVAL  R1 = _ENV
    0011  GETUPVAL  R2 = _ENV
    0012  CALL      R0 = call(R0, 0 args, 2 rets)
    0013  RETURN    return R0..R-1
; ---------- proto8 [OnRedClick] ----------
  ; fn ?  line 222-225 np=1 va=0 ms=6 code=10 consts=6 upvals=1 protos=0
  ;   K[0]='LogWindowAction'
  ;   K[1]='EBIType'
  ;   K[2]='UIActionType'
  ;   K[3]='Click'
  ;   K[4]='cancel'
  ;   K[5]='Close'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('LogWindowAction')] (self)
  0001  GETTABUP  R3 = _ENV[K1('EBIType')]
  0002  GETTABLE  R3 = R3[K2('UIActionType')]
  0003  GETTABLE  R3 = R3[K3('Click')]
  0004  LOADNIL   R4..R4 = nil
  0005  LOADK     R5 = K4 'cancel'
  0006  CALL      R1 = call(R1, 0 args, 4 rets)
  0007  SELF      R2 = R0[K5('Close')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto9 [ShouldPlayPdInventoryAnimation] ----------
  ; fn ?  line 227-230 np=2 va=0 ms=5 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetOneBoardItemByType'
  ;   upvals: _ENV
  ;   locals: self(0-7), producerType(0-7)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0002  SELF      R3 = R2[K2('GetOneBoardItemByType')] (self)
  0003  MOVE      R4 = R0
  0004  TAILCALL  tailcall(R2, 0)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto10 [PlayPdInventoryAnimation] ----------
  ; fn ?  line 232-249 np=2 va=0 ms=21 code=41 consts=21 upvals=1 protos=1
  ;   K[0]='MainBoardView'
  ;   K[1]='GetInstance'
  ;   K[2]='ConvertWorldPositionToScreenPosition'
  ;   K[3]='PositionUtil'
  ;   K[4]='UICameraScreen2World'
  ;   K[5]='z'
  ;   K[6]=0
  ;   K[7]=0.7
  ;   K[8]='TutorialHelper'
  ;   K[9]='GetHudButton'
  ;   K[10]='ESceneViewHudButtonKey'
  ;   K[11]='Inventory'
  ;   K[12]='transform'
  ;   K[13]='position'
  ;   K[14]=1
  ;   K[15]='GM'
  ;   K[16]='ItemDataModel'
  ;   K[17]='GetSpriteName'
  ;   K[18]='PropertyAnimationManager'
  ;   K[19]='PlayFlyElementAnimation'
  ;   K[20]=10
  ;   upvals: _ENV
  ;   locals: producerType(0-41), boardWorldPosition(0-41), screenPosition(6-41), uiWorldPosition(10-41), moveDuration(12-41), targetPosition(19-41), fromScale(20-41), targetScale(21-41), spriteName(26-41)
  0000  GETTABUP  R2 = _ENV[K0('MainBoardView')]
  0001  SELF      R3 = R2[K1('GetInstance')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  SELF      R3 = R2[K2('ConvertWorldPositionToScreenPosition')] (self)
  0004  MOVE      R4 = R0
  0005  CALL      R2 = call(R2, 1 args, 2 rets)
  0006  GETTABUP  R3 = _ENV[K3('PositionUtil')]
  0007  GETTABLE  R3 = R3[K4('UICameraScreen2World')]
  0008  MOVE      R4 = R0
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  SETTABLE  R3[K5('z')] = K6(0)
  0011  LOADK     R4 = K7 0.7
  0012  GETTABUP  R5 = _ENV[K8('TutorialHelper')]
  0013  GETTABLE  R5 = R5[K9('GetHudButton')]
  0014  GETTABUP  R6 = _ENV[K10('ESceneViewHudButtonKey')]
  0015  GETTABLE  R6 = R6[K11('Inventory')]
  0016  CALL      R5 = call(R5, 1 args, 1 rets)
  0017  GETTABLE  R5 = R5[K12('transform')]
  0018  GETTABLE  R5 = R5[K13('position')]
  0019  LOADK     R6 = K14 1
  0020  LOADK     R7 = K14 1
  0021  GETTABUP  R8 = _ENV[K15('GM')]
  0022  GETTABLE  R8 = R8[K16('ItemDataModel')]
  0023  SELF      R9 = R8[K17('GetSpriteName')] (self)
  0024  MOVE      R10 = R0
  0025  CALL      R8 = call(R8, 1 args, 2 rets)
  0026  GETTABUP  R9 = _ENV[K18('PropertyAnimationManager')]
  0027  GETTABLE  R9 = R9[K19('PlayFlyElementAnimation')]
  0028  MOVE      R10 = R0
  0029  MOVE      R11 = R0
  0030  MOVE      R12 = R0
  0031  MOVE      R13 = R0
  0032  MOVE      R14 = R0
  0033  MOVE      R15 = R0
  0034  LOADBOOL  R16 = true
  0035  LOADBOOL  R17 = true
  0036  LOADK     R18 = K20 10
  0037  LOADNIL   R19..R19 = nil
  0038  CLOSURE   R20 = closure proto0
  0039  CALL      R9 = call(R9, 0 args, 11 rets)
  0040  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 243-248 np=0 va=0 ms=5 code=12 consts=5 upvals=1 protos=0
    ;   K[0]='TutorialHelper'
    ;   K[1]='GetHudButton'
    ;   K[2]='ESceneViewHudButtonKey'
    ;   K[3]='Inventory'
    ;   K[4]='IconScaleAnimation'
    ;   upvals: _ENV
    ;   locals: inventoryButton(5-12)
    0000  GETTABUP  R0 = _ENV[K0('TutorialHelper')]
    0001  GETTABLE  R0 = R0[K1('GetHudButton')]
    0002  GETTABUP  R1 = _ENV[K2('ESceneViewHudButtonKey')]
    0003  GETTABLE  R1 = R1[K3('Inventory')]
    0004  CALL      R0 = call(R0, 1 args, 1 rets)
    0005  TEST      if not R0 then   -> -131065
    0006  JMP       (jump)   -> 11
    0007  SELF      R2 = R0[K4('IconScaleAnimation')] (self)
    0008  LOADBOOL  R3 = true
    0009  LOADBOOL  R4 = false
    0010  CALL      R1 = call(R1, 0 args, 3 rets)
    0011  RETURN    return R0..R-1
; ---------- proto11 [UpdateContent] ----------
  ; fn ?  line 254-270 np=5 va=0 ms=8 code=55 consts=17 upvals=1 protos=0
  ;   K[0]='SpriteUtil'
  ;   K[1]='SetImage'
  ;   K[2]='m_image'
  ;   K[3]='m_countText'
  ;   K[4]='text'
  ;   K[5]='x'
  ;   K[6]='EItemRecycleTag'
  ;   K[7]='InBoard'
  ;   K[8]='m_tagGo'
  ;   K[9]='SetActive'
  ;   K[10]='InInventory'
  ;   K[11]='m_tagImg'
  ;   K[12]='ImageFileConfigName'
  ;   K[13]='game_icon_cabinet'
  ;   K[14]='InInstrument'
  ;   K[15]='InCache'
  ;   K[16]='icon_board_cache'
  ;   upvals: _ENV
  ;   locals: self(0-55), type(0-55), num(0-55), eTag(0-55), cookType(0-55)
  0000  GETTABUP  R5 = _ENV[K0('SpriteUtil')]
  0001  GETTABLE  R5 = R5[K1('SetImage')]
  0002  GETTABLE  R6 = R0[K2('m_image')]
  0003  MOVE      R7 = R0
  0004  CALL      R5 = call(R5, 0 args, 2 rets)
  0005  GETTABLE  R5 = R0[K3('m_countText')]
  0006  LOADK     R6 = K5 'x'
  0007  MOVE      R7 = R0
  0008  CONCAT    R6 = concat(R6..R6)
  0009  SETTABLE  R5[K4('text')] = R6
  0010  GETTABUP  R5 = _ENV[K6('EItemRecycleTag')]
  0011  GETTABLE  R5 = R5[K7('InBoard')]
  0012  EQ        if R0 eq R5   -> -129517
  0013  JMP       (jump)   -> 19
  0014  GETTABLE  R5 = R0[K8('m_tagGo')]
  0015  SELF      R6 = R5[K9('SetActive')] (self)
  0016  LOADBOOL  R7 = false
  0017  CALL      R5 = call(R5, 0 args, 2 rets)
  0018  JMP       (jump)   -> 54
  0019  GETTABLE  R5 = R0[K8('m_tagGo')]
  0020  SELF      R6 = R5[K9('SetActive')] (self)
  0021  LOADBOOL  R7 = true
  0022  CALL      R5 = call(R5, 0 args, 2 rets)
  0023  GETTABUP  R5 = _ENV[K6('EItemRecycleTag')]
  0024  GETTABLE  R5 = R5[K10('InInventory')]
  0025  EQ        if R0 eq R5   -> -129504
  0026  JMP       (jump)   -> 34
  0027  GETTABUP  R5 = _ENV[K0('SpriteUtil')]
  0028  GETTABLE  R5 = R5[K1('SetImage')]
  0029  GETTABLE  R6 = R0[K11('m_tagImg')]
  0030  GETTABUP  R7 = _ENV[K12('ImageFileConfigName')]
  0031  GETTABLE  R7 = R7[K13('game_icon_cabinet')]
  0032  CALL      R5 = call(R5, 0 args, 2 rets)
  0033  JMP       (jump)   -> 54
  0034  GETTABUP  R5 = _ENV[K6('EItemRecycleTag')]
  0035  GETTABLE  R5 = R5[K14('InInstrument')]
  0036  EQ        if R0 eq R5   -> -129493
  0037  JMP       (jump)   -> 44
  0038  GETTABUP  R5 = _ENV[K0('SpriteUtil')]
  0039  GETTABLE  R5 = R5[K1('SetImage')]
  0040  GETTABLE  R6 = R0[K11('m_tagImg')]
  0041  MOVE      R7 = R0
  0042  CALL      R5 = call(R5, 0 args, 2 rets)
  0043  JMP       (jump)   -> 54
  0044  GETTABUP  R5 = _ENV[K6('EItemRecycleTag')]
  0045  GETTABLE  R5 = R5[K15('InCache')]
  0046  EQ        if R0 eq R5   -> -129483
  0047  JMP       (jump)   -> 54
  0048  GETTABUP  R5 = _ENV[K0('SpriteUtil')]
  0049  GETTABLE  R5 = R5[K1('SetImage')]
  0050  GETTABLE  R6 = R0[K11('m_tagImg')]
  0051  GETTABUP  R7 = _ENV[K12('ImageFileConfigName')]
  0052  GETTABLE  R7 = R7[K16('icon_board_cache')]
  0053  CALL      R5 = call(R5, 0 args, 2 rets)
  0054  RETURN    return R0..R-1
