# UI_Window_ItemDetail_ItemDetailCell_471.luac
; fn @ItemDetailCell.lua  line 0-0 np=0 va=1 ms=6 code=49 consts=23 upvals=1 protos=10
;   K[0]='ItemDetailCell'
;   K[1]='__index'
;   K[2]='EItemDetailCellBg'
;   K[3]='Green'
;   K[4]='bgGreen'
;   K[5]='Yellow'
;   K[6]='bgYellow'
;   K[7]='DarkGreen'
;   K[8]='bgDarkGreen'
;   K[9]='CSColor'
;   K[10]='white'
;   K[11]=1
;   K[12]=0.4
;   K[13]='Init'
;   K[14]='SetClickCallback'
;   K[15]='OnClicked'
;   K[16]='ShowAsSelected'
;   K[17]='DisableClick'
;   K[18]='ChangeBg'
;   K[19]='UpdateHotSaleDisplay'
;   K[20]='OnBuyHotSaleClick'
;   K[21]='_TryCreateTestButton'
;   K[22]='AddNumTip'
;   upvals: _ENV
;   locals: white(12-49), transparent(18-49)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('ItemDetailCell')] = R0
0002  GETTABUP  R0 = _ENV[K0('ItemDetailCell')]
0003  GETTABUP  R1 = _ENV[K0('ItemDetailCell')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABLE  R0[K3('Green')] = K4('bgGreen')
0007  SETTABLE  R0[K5('Yellow')] = K6('bgYellow')
0008  SETTABLE  R0[K7('DarkGreen')] = K8('bgDarkGreen')
0009  SETTABUP  _ENV[K2('EItemDetailCellBg')] = R0
0010  GETTABUP  R0 = _ENV[K9('CSColor')]
0011  GETTABLE  R0 = R0[K10('white')]
0012  GETTABUP  R1 = _ENV[K9('CSColor')]
0013  LOADK     R2 = K11 1
0014  LOADK     R3 = K11 1
0015  LOADK     R4 = K11 1
0016  LOADK     R5 = K12 0.4
0017  CALL      R1 = call(R1, 1 args, 4 rets)
0018  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0019  CLOSURE   R3 = closure proto0
0020  SETTABLE  R2[K13('Init')] = R3
0021  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0022  CLOSURE   R3 = closure proto1
0023  SETTABLE  R2[K14('SetClickCallback')] = R3
0024  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0025  CLOSURE   R3 = closure proto2
0026  SETTABLE  R2[K15('OnClicked')] = R3
0027  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0028  CLOSURE   R3 = closure proto3
0029  SETTABLE  R2[K16('ShowAsSelected')] = R3
0030  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0031  CLOSURE   R3 = closure proto4
0032  SETTABLE  R2[K17('DisableClick')] = R3
0033  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0034  CLOSURE   R3 = closure proto5
0035  SETTABLE  R2[K18('ChangeBg')] = R3
0036  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0037  CLOSURE   R3 = closure proto6
0038  SETTABLE  R2[K19('UpdateHotSaleDisplay')] = R3
0039  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0040  CLOSURE   R3 = closure proto7
0041  SETTABLE  R2[K20('OnBuyHotSaleClick')] = R3
0042  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0043  CLOSURE   R3 = closure proto8
0044  SETTABLE  R2[K21('_TryCreateTestButton')] = R3
0045  GETTABUP  R2 = _ENV[K0('ItemDetailCell')]
0046  CLOSURE   R3 = closure proto9
0047  SETTABLE  R2[K22('AddNumTip')] = R3
0048  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 16-66 np=7 va=0 ms=17 code=141 consts=38 upvals=3 protos=1
  ;   K[0]='m_arrowGo'
  ;   K[1]='SetActive'
  ;   K[2]='UIUtil'
  ;   K[3]='m_hotSaleGo'
  ;   K[4]='m_bgImg'
  ;   K[5]='sprite'
  ;   K[6]='m_produceBgSprite'
  ;   K[7]='GM'
  ;   K[8]='ItemDataModel'
  ;   K[9]='IsUnlocked'
  ;   K[10]='IsKnown'
  ;   K[11]='itemType'
  ;   K[12]='m_bMine'
  ;   K[13]='GetModelConfig'
  ;   K[14]='Dig_MaxLevel'
  ;   K[15]=nil
  ;   K[16]='GetSpriteName'
  ;   K[17]='m_itemImg'
  ;   K[18]='enabled'
  ;   K[19]=false
  ;   K[20]='m_loadingGo'
  ;   K[21]='SpriteUtil'
  ;   K[22]='SetImage'
  ;   K[23]='color'
  ;   K[24]='m_itemTipButton'
  ;   K[25]='gameObject'
  ;   K[26]='SetActive'
  ;   K[27]='m_btn'
  ;   K[28]='UpdateItemType'
  ;   K[29]='nextRefer'
  ;   K[30]='m_bHasTipButton'
  ;   K[31]=true
  ;   K[32]='m_loadingGo'
  ;   K[33]='m_selectedGo'
  ;   K[34]='Recipes'
  ;   K[35]='m_cookHourglass'
  ;   K[36]='m_parentWindow'
  ;   K[37]='_TryCreateTestButton'
  ;   upvals: _ENV, white, transparent
  ;   locals: self(0-141), itemType(0-141), isProduceCell(0-141), hasArrow(0-141), forceShow(0-141), hasTipButton(0-141), parentWindow(0-141), unlocked(22-141), locked(32-141), spriteName(55-103), isInstru(131-141)
  0000  GETTABLE  R7 = R0[K0('m_arrowGo')]
  0001  SELF      R8 = R7[K1('SetActive')] (self)
  0002  MOVE      R9 = R0
  0003  CALL      R7 = call(R7, 0 args, 2 rets)
  0004  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0005  GETTABLE  R7 = R7[K1('SetActive')]
  0006  GETTABLE  R8 = R0[K3('m_hotSaleGo')]
  0007  LOADBOOL  R9 = false
  0008  CALL      R7 = call(R7, 0 args, 2 rets)
  0009  TEST      if not R2 then   -> -131061
  0010  JMP       (jump)   -> 14
  0011  GETTABLE  R7 = R0[K4('m_bgImg')]
  0012  GETTABLE  R8 = R0[K6('m_produceBgSprite')]
  0013  SETTABLE  R7[K5('sprite')] = R8
  0014  GETTABUP  R7 = _ENV[K7('GM')]
  0015  GETTABLE  R7 = R7[K8('ItemDataModel')]
  0016  SELF      R8 = R7[K9('IsUnlocked')] (self)
  0017  MOVE      R9 = R0
  0018  CALL      R7 = call(R7, 1 args, 2 rets)
  0019  TEST      if not R7 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  MOVE      R7 = R0
  0022  TEST      if not R7 then   -> -131047
  0023  JMP       (jump)   -> 30
  0024  GETTABUP  R8 = _ENV[K7('GM')]
  0025  GETTABLE  R8 = R8[K8('ItemDataModel')]
  0026  SELF      R9 = R8[K10('IsKnown')] (self)
  0027  MOVE      R10 = R0
  0028  CALL      R8 = call(R8, 1 args, 2 rets)
  0029  JMP       (jump)   -> 32
  0030  LOADBOOL  R8 = false
  0031  LOADBOOL  R8 = true
  0032  SETTABLE  R0[K11('itemType')] = R1
  0033  GETTABUP  R9 = _ENV[K7('GM')]
  0034  GETTABLE  R9 = R9[K8('ItemDataModel')]
  0035  SELF      R10 = R9[K13('GetModelConfig')] (self)
  0036  MOVE      R11 = R0
  0037  CALL      R9 = call(R9, 1 args, 2 rets)
  0038  GETTABLE  R9 = R9[K14('Dig_MaxLevel')]
  0039  EQ        if R0 eq K15(nil)   -> -126152
  0040  JMP       (jump)   -> 42
  0041  LOADBOOL  R9 = false
  0042  LOADBOOL  R9 = true
  0043  SETTABLE  R0[K12('m_bMine')] = R9
  0044  TEST      if not R1 then   -> -131026
  0045  JMP       (jump)   -> 104
  0046  TEST      if not R7 then   -> -131023
  0047  JMP       (jump)   -> 50
  0048  TEST      if not R8 then   -> -131022
  0049  JMP       (jump)   -> 104
  0050  GETTABUP  R9 = _ENV[K7('GM')]
  0051  GETTABLE  R9 = R9[K8('ItemDataModel')]
  0052  SELF      R10 = R9[K16('GetSpriteName')] (self)
  0053  MOVE      R11 = R0
  0054  CALL      R9 = call(R9, 1 args, 2 rets)
  0055  GETTABLE  R10 = R0[K17('m_itemImg')]
  0056  SETTABLE  R10[K18('enabled')] = K19(false)
  0057  GETTABLE  R10 = R0[K20('m_loadingGo')]
  0058  SELF      R11 = R10[K1('SetActive')] (self)
  0059  LOADBOOL  R12 = true
  0060  CALL      R10 = call(R10, 0 args, 2 rets)
  0061  GETTABUP  R10 = _ENV[K21('SpriteUtil')]
  0062  GETTABLE  R10 = R10[K22('SetImage')]
  0063  GETTABLE  R11 = R0[K17('m_itemImg')]
  0064  MOVE      R12 = R0
  0065  LOADBOOL  R13 = true
  0066  CLOSURE   R14 = closure proto0
  0067  LOADNIL   R15..R15 = nil
  0068  LOADBOOL  R16 = true
  0069  CALL      R10 = call(R10, 0 args, 6 rets)
  0070  GETTABLE  R10 = R0[K17('m_itemImg')]
  0071  TEST      if not R7 then   -> -130999
  0072  JMP       (jump)   -> 76
  0073  GETUPVAL  R11 = _ENV
  0074  TEST      if not R11 then   -> -130995
  0075  JMP       (jump)   -> 77
  0076  GETUPVAL  R11 = _ENV
  0077  SETTABLE  R10[K23('color')] = R11
  0078  GETTABLE  R10 = R0[K12('m_bMine')]
  0079  TEST      if not R10 then   -> -130991
  0080  JMP       (jump)   -> 89
  0081  GETTABLE  R10 = R0[K24('m_itemTipButton')]
  0082  GETTABLE  R10 = R10[K25('gameObject')]
  0083  SELF      R11 = R10[K26('SetActive')] (self)
  0084  LOADBOOL  R12 = false
  0085  CALL      R10 = call(R10, 0 args, 2 rets)
  0086  GETTABLE  R10 = R0[K27('m_btn')]
  0087  SETTABLE  R10[K18('enabled')] = K19(false)
  0088  JMP       (jump)   -> 117
  0089  GETTABLE  R10 = R0[K24('m_itemTipButton')]
  0090  GETTABLE  R10 = R10[K25('gameObject')]
  0091  SELF      R11 = R10[K26('SetActive')] (self)
  0092  MOVE      R12 = R0
  0093  CALL      R10 = call(R10, 0 args, 2 rets)
  0094  TEST      if not R5 then   -> -130976
  0095  JMP       (jump)   -> 102
  0096  GETTABLE  R10 = R0[K24('m_itemTipButton')]
  0097  SELF      R11 = R10[K28('UpdateItemType')] (self)
  0098  MOVE      R12 = R0
  0099  LOADBOOL  R13 = false
  0100  GETTABLE  R14 = R6[K29('nextRefer')]
  0101  CALL      R10 = call(R10, 0 args, 4 rets)
  0102  SETTABLE  R0[K30('m_bHasTipButton')] = R5
  0103  JMP       (jump)   -> 117
  0104  GETTABLE  R9 = R0[K17('m_itemImg')]
  0105  SETTABLE  R9[K18('enabled')] = K31(true)
  0106  GETTABLE  R9 = R0[K24('m_itemTipButton')]
  0107  GETTABLE  R9 = R9[K25('gameObject')]
  0108  SELF      R10 = R9[K26('SetActive')] (self)
  0109  LOADBOOL  R11 = false
  0110  CALL      R9 = call(R9, 0 args, 2 rets)
  0111  GETTABLE  R9 = R0[K27('m_btn')]
  0112  SETTABLE  R9[K18('enabled')] = K19(false)
  0113  GETTABLE  R9 = R0[K32('m_loadingGo')]
  0114  SELF      R10 = R9[K26('SetActive')] (self)
  0115  LOADBOOL  R11 = false
  0116  CALL      R9 = call(R9, 0 args, 2 rets)
  0117  GETTABLE  R9 = R0[K33('m_selectedGo')]
  0118  SELF      R10 = R9[K26('SetActive')] (self)
  0119  LOADBOOL  R11 = false
  0120  CALL      R9 = call(R9, 0 args, 2 rets)
  0121  GETTABUP  R9 = _ENV[K7('GM')]
  0122  GETTABLE  R9 = R9[K8('ItemDataModel')]
  0123  SELF      R10 = R9[K13('GetModelConfig')] (self)
  0124  MOVE      R11 = R0
  0125  CALL      R9 = call(R9, 1 args, 2 rets)
  0126  GETTABLE  R9 = R9[K34('Recipes')]
  0127  EQ        if R0 eq K15(nil)   -> -126064
  0128  JMP       (jump)   -> 130
  0129  LOADBOOL  R9 = false
  0130  LOADBOOL  R9 = true
  0131  GETTABLE  R10 = R0[K35('m_cookHourglass')]
  0132  SELF      R11 = R10[K26('SetActive')] (self)
  0133  TESTSET   if R0 then R12   -> -126329
  0134  JMP       (jump)   -> 136
  0135  MOVE      R12 = R0
  0136  CALL      R10 = call(R10, 0 args, 2 rets)
  0137  SETTABLE  R0[K36('m_parentWindow')] = R6
  0138  SELF      R11 = R0[K37('_TryCreateTestButton')] (self)
  0139  CALL      R10 = call(R10, 0 args, 1 rets)
  0140  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 33-37 np=0 va=0 ms=3 code=13 consts=3 upvals=1 protos=0
    ;   K[0]='m_loadingGo'
    ;   K[1]='IsNull'
    ;   K[2]='SetActive'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_loadingGo')]
    0001  TEST      if not R0 then   -> -131069
    0002  JMP       (jump)   -> 12
    0003  GETTABUP  R0 = self[K0('m_loadingGo')]
    0004  SELF      R1 = R0[K1('IsNull')] (self)
    0005  CALL      R0 = call(R0, 1 args, 1 rets)
    0006  TEST      if not R0 then   -> -131063
    0007  JMP       (jump)   -> 12
    0008  GETTABUP  R0 = self[K0('m_loadingGo')]
    0009  SELF      R1 = R0[K2('SetActive')] (self)
    0010  LOADBOOL  R2 = false
    0011  CALL      R0 = call(R0, 0 args, 2 rets)
    0012  RETURN    return R0..R-1
; ---------- proto1 [SetClickCallback] ----------
  ; fn ?  line 68-70 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='m_callback'
  ;   locals: self(0-2), callback(0-2)
  0000  SETTABLE  R0[K0('m_callback')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto2 [OnClicked] ----------
  ; fn ?  line 72-88 np=1 va=0 ms=5 code=33 consts=13 upvals=1 protos=0
  ;   K[0]='m_parentWindow'
  ;   K[1]='OnClickCell'
  ;   K[2]='itemType'
  ;   K[3]='m_callback'
  ;   K[4]=nil
  ;   K[5]='m_bHasTipButton'
  ;   K[6]='ItemDetailWindow'
  ;   K[7]='Open'
  ;   K[8]='mode'
  ;   K[9]='ItemDetailWindowMode'
  ;   K[10]='Normal'
  ;   K[11]='nextRefer'
  ;   K[12]='UpdateView'
  ;   upvals: _ENV
  ;   locals: self(0-33), handled(9-12)
  0000  GETTABLE  R1 = R0[K0('m_parentWindow')]
  0001  SELF      R2 = R1[K1('OnClickCell')] (self)
  0002  GETTABLE  R3 = R0[K2('itemType')]
  0003  CALL      R1 = call(R1, 0 args, 2 rets)
  0004  GETTABLE  R1 = R0[K3('m_callback')]
  0005  EQ        if R1 eq K4(nil)   -> -130293
  0006  JMP       (jump)   -> 12
  0007  GETTABLE  R1 = R0[K3('m_callback')]
  0008  CALL      R1 = call(R1, 1 args, 0 rets)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  GETTABLE  R1 = R0[K5('m_bHasTipButton')]
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 28
  0015  GETTABUP  R1 = _ENV[K6('ItemDetailWindow')]
  0016  GETTABLE  R1 = R1[K7('Open')]
  0017  GETTABLE  R2 = R0[K2('itemType')]
  0018  GETTABLE  R3 = R0[K0('m_parentWindow')]
  0019  GETTABLE  R3 = R3[K8('mode')]
  0020  TEST      if not R3 then   -> -131049
  0021  JMP       (jump)   -> 24
  0022  GETTABUP  R3 = _ENV[K9('ItemDetailWindowMode')]
  0023  GETTABLE  R3 = R3[K10('Normal')]
  0024  GETTABLE  R4 = R0[K0('m_parentWindow')]
  0025  GETTABLE  R4 = R4[K11('nextRefer')]
  0026  CALL      R1 = call(R1, 0 args, 3 rets)
  0027  JMP       (jump)   -> 32
  0028  GETTABLE  R1 = R0[K0('m_parentWindow')]
  0029  SELF      R2 = R1[K12('UpdateView')] (self)
  0030  GETTABLE  R3 = R0[K2('itemType')]
  0031  CALL      R1 = call(R1, 0 args, 2 rets)
  0032  RETURN    return R0..R-1
; ---------- proto3 [ShowAsSelected] ----------
  ; fn ?  line 90-97 np=2 va=0 ms=5 code=13 consts=8 upvals=1 protos=0
  ;   K[0]='ChangeBg'
  ;   K[1]='EItemDetailCellBg'
  ;   K[2]='Green'
  ;   K[3]='m_selectedGo'
  ;   K[4]='SetActive'
  ;   K[5]='m_btn'
  ;   K[6]='enabled'
  ;   K[7]=false
  ;   upvals: _ENV
  ;   locals: self(0-13), bChangeBg(0-13)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 6
  0002  SELF      R3 = R0[K0('ChangeBg')] (self)
  0003  GETTABUP  R4 = _ENV[K1('EItemDetailCellBg')]
  0004  GETTABLE  R4 = R4[K2('Green')]
  0005  CALL      R2 = call(R2, 0 args, 2 rets)
  0006  GETTABLE  R2 = R0[K3('m_selectedGo')]
  0007  SELF      R3 = R2[K4('SetActive')] (self)
  0008  LOADBOOL  R4 = true
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  GETTABLE  R2 = R0[K5('m_btn')]
  0011  SETTABLE  R2[K6('enabled')] = K7(false)
  0012  RETURN    return R0..R-1
; ---------- proto4 [DisableClick] ----------
  ; fn ?  line 99-101 np=1 va=0 ms=2 code=3 consts=3 upvals=0 protos=0
  ;   K[0]='m_btn'
  ;   K[1]='enabled'
  ;   K[2]=false
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_btn')]
  0001  SETTABLE  R1[K1('enabled')] = K2(false)
  0002  RETURN    return R0..R-1
; ---------- proto5 [ChangeBg] ----------
  ; fn ?  line 103-107 np=2 va=0 ms=4 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='m_bgImg'
  ;   K[1]='sprite'
  ;   locals: self(0-7), bgImage(0-7)
  0000  GETTABLE  R2 = R0[R1]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R2 = R0[K0('m_bgImg')]
  0004  GETTABLE  R3 = R0[R1]
  0005  SETTABLE  R2[K1('sprite')] = R3
  0006  RETURN    return R0..R-1
; ---------- proto6 [UpdateHotSaleDisplay] ----------
  ; fn ?  line 109-119 np=1 va=0 ms=7 code=18 consts=12 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ShopModel'
  ;   K[2]='IsItemInStock'
  ;   K[3]='EShopType'
  ;   K[4]='FlashSale'
  ;   K[5]='itemType'
  ;   K[6]='m_hotSaleGo'
  ;   K[7]='SetActive'
  ;   K[8]='inHotSale'
  ;   K[9]='shopItemId'
  ;   K[10]='m_hotSalePriceText'
  ;   K[11]='text'
  ;   upvals: _ENV
  ;   locals: self(0-18), inHotSale(7-18), shopItemId(7-18), price(7-18)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ShopModel')]
  0002  SELF      R2 = R1[K2('IsItemInStock')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EShopType')]
  0004  GETTABLE  R3 = R3[K4('FlashSale')]
  0005  GETTABLE  R4 = R0[K5('itemType')]
  0006  CALL      R1 = call(R1, 3 args, 3 rets)
  0007  GETTABLE  R4 = R0[K6('m_hotSaleGo')]
  0008  SELF      R5 = R4[K7('SetActive')] (self)
  0009  MOVE      R6 = R0
  0010  CALL      R4 = call(R4, 0 args, 2 rets)
  0011  SETTABLE  R0[K8('inHotSale')] = R1
  0012  SETTABLE  R0[K9('shopItemId')] = R2
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 17
  0015  GETTABLE  R4 = R0[K10('m_hotSalePriceText')]
  0016  SETTABLE  R4[K11('text')] = R3
  0017  RETURN    return R0..R-1
; ---------- proto7 [OnBuyHotSaleClick] ----------
  ; fn ?  line 121-156 np=1 va=0 ms=12 code=82 consts=41 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Assert'
  ;   K[2]='shopItemId'
  ;   K[3]='闪售快速购买逻辑错误'
  ;   K[4]='GM'
  ;   K[5]='ShopModel'
  ;   K[6]='BuyItem'
  ;   K[7]='EShopType'
  ;   K[8]='FlashSale'
  ;   K[9]='transform'
  ;   K[10]='position'
  ;   K[11]='UIManager'
  ;   K[12]='IsViewExisting'
  ;   K[13]='UIPrefabConfigName'
  ;   K[14]='ShopWindow'
  ;   K[15]='EventDispatcher'
  ;   K[16]='DispatchEvent'
  ;   K[17]='EEventType'
  ;   K[18]='ShopRefreshed'
  ;   K[19]='shopType'
  ;   K[20]='BoardViewHelper'
  ;   K[21]='GetActiveView'
  ;   K[22]='GetOrderArea'
  ;   K[23]='ScrollToFront'
  ;   K[24]='PROPERTY_TYPE'
  ;   K[25]='itemType'
  ;   K[26]='PROPERTY_COUNT'
  ;   K[27]=1
  ;   K[28]='arrWorldPos'
  ;   K[29]='noDelayTime'
  ;   K[30]=true
  ;   K[31]='spriteScale'
  ;   K[32]='localScale'
  ;   K[33]='x'
  ;   K[34]='RewardApi'
  ;   K[35]='AcquireRewardsInView'
  ;   K[36]='ERewardScene'
  ;   K[37]='Other'
  ;   K[38]='OnLackOfGem'
  ;   K[39]='EBIType'
  ;   K[40]='ShopBuy'
  ;   upvals: _ENV
  ;   locals: self(0-82), success(15-82), costType(15-82), lackNum(15-82), boardView(38-72), orderArea(43-72), formattedRewards(54-72), viewData(65-72)
  0000  GETTABUP  R1 = _ENV[K0('Log')]
  0001  GETTABLE  R1 = R1[K1('Assert')]
  0002  GETTABLE  R2 = R0[K2('shopItemId')]
  0003  LOADK     R3 = K3 '闪售快速购买逻辑错误'
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  GETTABUP  R1 = _ENV[K4('GM')]
  0006  GETTABLE  R1 = R1[K5('ShopModel')]
  0007  SELF      R2 = R1[K6('BuyItem')] (self)
  0008  GETTABUP  R3 = _ENV[K7('EShopType')]
  0009  GETTABLE  R3 = R3[K8('FlashSale')]
  0010  GETTABLE  R4 = R0[K2('shopItemId')]
  0011  LOADBOOL  R5 = false
  0012  GETTABLE  R6 = R0[K9('transform')]
  0013  GETTABLE  R6 = R6[K10('position')]
  0014  CALL      R1 = call(R1, 3 args, 5 rets)
  0015  TEST      if not R1 then   -> -131055
  0016  JMP       (jump)   -> 72
  0017  GETTABUP  R4 = _ENV[K4('GM')]
  0018  GETTABLE  R4 = R4[K11('UIManager')]
  0019  SELF      R5 = R4[K12('IsViewExisting')] (self)
  0020  GETTABUP  R6 = _ENV[K13('UIPrefabConfigName')]
  0021  GETTABLE  R6 = R6[K14('ShopWindow')]
  0022  CALL      R4 = call(R4, 1 args, 2 rets)
  0023  TEST      if not R4 then   -> -131047
  0024  JMP       (jump)   -> 35
  0025  GETTABUP  R4 = _ENV[K15('EventDispatcher')]
  0026  GETTABLE  R4 = R4[K16('DispatchEvent')]
  0027  GETTABUP  R5 = _ENV[K17('EEventType')]
  0028  GETTABLE  R5 = R5[K18('ShopRefreshed')]
  0029  NEWTABLE  R6 = {} (0 items)
  0030  GETTABUP  R7 = _ENV[K7('EShopType')]
  0031  GETTABLE  R7 = R7[K8('FlashSale')]
  0032  SETTABLE  R6[K19('shopType')] = R7
  0033  CALL      R4 = call(R4, 0 args, 2 rets)
  0034  JMP       (jump)   -> 72
  0035  GETTABUP  R4 = _ENV[K20('BoardViewHelper')]
  0036  GETTABLE  R4 = R4[K21('GetActiveView')]
  0037  CALL      R4 = call(R4, 1 args, 0 rets)
  0038  TEST      if not R4 then   -> -131031
  0039  JMP       (jump)   -> 41
  0040  RETURN    return R0..R-1
  0041  SELF      R6 = R4[K22('GetOrderArea')] (self)
  0042  CALL      R5 = call(R5, 1 args, 1 rets)
  0043  SELF      R7 = R5[K23('ScrollToFront')] (self)
  0044  LOADBOOL  R8 = false
  0045  CALL      R6 = call(R6, 0 args, 2 rets)
  0046  NEWTABLE  R6 = {} (1 items)
  0047  NEWTABLE  R7 = {} (0 items)
  0048  GETTABUP  R8 = _ENV[K24('PROPERTY_TYPE')]
  0049  GETTABLE  R9 = R0[K25('itemType')]
  0050  SETTABLE  R7[R8] = R9
  0051  GETTABUP  R8 = _ENV[K26('PROPERTY_COUNT')]
  0052  SETTABLE  R7[R8] = K27(1)
  0053  SETLIST   setlist R6[B=1,C=1]
  0054  NEWTABLE  R7 = {} (0 items)
  0055  NEWTABLE  R8 = {} (1 items)
  0056  GETTABLE  R9 = R0[K9('transform')]
  0057  GETTABLE  R9 = R9[K10('position')]
  0058  SETLIST   setlist R8[B=1,C=1]
  0059  SETTABLE  R7[K28('arrWorldPos')] = R8
  0060  SETTABLE  R7[K29('noDelayTime')] = K30(true)
  0061  GETTABLE  R8 = R0[K9('transform')]
  0062  GETTABLE  R8 = R8[K32('localScale')]
  0063  GETTABLE  R8 = R8[K33('x')]
  0064  SETTABLE  R7[K31('spriteScale')] = R8
  0065  GETTABUP  R8 = _ENV[K34('RewardApi')]
  0066  GETTABLE  R8 = R8[K35('AcquireRewardsInView')]
  0067  MOVE      R9 = R0
  0068  MOVE      R10 = R0
  0069  GETTABUP  R11 = _ENV[K36('ERewardScene')]
  0070  GETTABLE  R11 = R11[K37('Other')]
  0071  CALL      R8 = call(R8, 0 args, 3 rets)
  0072  TEST      if not R1 then   -> -130997
  0073  JMP       (jump)   -> 81
  0074  GETTABUP  R4 = _ENV[K4('GM')]
  0075  GETTABLE  R4 = R4[K5('ShopModel')]
  0076  SELF      R5 = R4[K38('OnLackOfGem')] (self)
  0077  MOVE      R6 = R0
  0078  GETTABUP  R7 = _ENV[K39('EBIType')]
  0079  GETTABLE  R7 = R7[K40('ShopBuy')]
  0080  CALL      R4 = call(R4, 0 args, 3 rets)
  0081  RETURN    return R0..R-1
; ---------- proto8 [_TryCreateTestButton] ----------
  ; fn ?  line 158-176 np=1 va=0 ms=8 code=48 consts=24 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='CanShowTestUI'
  ;   K[3]='m_bExistTestBtn'
  ;   K[4]='GameObject'
  ;   K[5]='Instantiate'
  ;   K[6]='m_simpleButtonPrefab'
  ;   K[7]='transform'
  ;   K[8]='Vector3'
  ;   K[9]='tonumber'
  ;   K[10]='m_testLocalPosX'
  ;   K[11]=-50
  ;   K[12]='m_testLocalPosY'
  ;   K[13]=60
  ;   K[14]=0
  ;   K[15]='localPosition'
  ;   K[16]='SetLocalScaleXY'
  ;   K[17]=0.3
  ;   K[18]='SetSizeDeltaWidth'
  ;   K[19]=250
  ;   K[20]='GetLuaTable'
  ;   K[21]='Init'
  ;   K[22]='Add'
  ;   K[23]=true
  ;   upvals: _ENV
  ;   locals: self(0-48), testButtonGo(15-48), localPos(30-48), testButton(42-48)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('CanShowTestUI')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 9
  0006  GETTABLE  R1 = R0[K3('m_bExistTestBtn')]
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  GETTABUP  R1 = _ENV[K4('GameObject')]
  0011  GETTABLE  R1 = R1[K5('Instantiate')]
  0012  GETTABLE  R2 = R0[K6('m_simpleButtonPrefab')]
  0013  GETTABLE  R3 = R0[K7('transform')]
  0014  CALL      R1 = call(R1, 1 args, 2 rets)
  0015  GETTABUP  R2 = _ENV[K8('Vector3')]
  0016  GETTABUP  R3 = _ENV[K9('tonumber')]
  0017  GETTABLE  R4 = R0[K10('m_testLocalPosX')]
  0018  CALL      R3 = call(R3, 1 args, 1 rets)
  0019  TEST      if not R3 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  LOADK     R3 = K11 -50
  0022  GETTABUP  R4 = _ENV[K9('tonumber')]
  0023  GETTABLE  R5 = R0[K12('m_testLocalPosY')]
  0024  CALL      R4 = call(R4, 1 args, 1 rets)
  0025  TEST      if not R4 then   -> -131044
  0026  JMP       (jump)   -> 28
  0027  LOADK     R4 = K13 60
  0028  LOADK     R5 = K14 0
  0029  CALL      R2 = call(R2, 1 args, 3 rets)
  0030  GETTABLE  R3 = R1[K7('transform')]
  0031  SETTABLE  R3[K15('localPosition')] = R2
  0032  GETTABLE  R3 = R1[K7('transform')]
  0033  SELF      R4 = R3[K16('SetLocalScaleXY')] (self)
  0034  LOADK     R5 = K17 0.3
  0035  CALL      R3 = call(R3, 0 args, 2 rets)
  0036  GETTABLE  R3 = R1[K7('transform')]
  0037  SELF      R4 = R3[K18('SetSizeDeltaWidth')] (self)
  0038  LOADK     R5 = K19 250
  0039  CALL      R3 = call(R3, 0 args, 2 rets)
  0040  SELF      R4 = R1[K20('GetLuaTable')] (self)
  0041  CALL      R3 = call(R3, 1 args, 1 rets)
  0042  SELF      R5 = R3[K21('Init')] (self)
  0043  LOADK     R6 = K22 'Add'
  0044  CLOSURE   R7 = closure proto0
  0045  CALL      R4 = call(R4, 0 args, 3 rets)
  0046  SETTABLE  R0[K3('m_bExistTestBtn')] = K23(true)
  0047  RETURN    return R0..R-1
  ; ---------- proto0 [m_bExistTestBtn] ----------
    ; fn ?  line 171-173 np=0 va=0 ms=3 code=6 consts=4 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='TestModel'
    ;   K[2]='AddItemByStr'
    ;   K[3]='itemType'
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('TestModel')]
    0002  SELF      R1 = R0[K2('AddItemByStr')] (self)
    0003  GETTABUP  R2 = self[K3('itemType')]
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  RETURN    return R0..R-1
; ---------- proto9 [AddNumTip] ----------
  ; fn ?  line 178-190 np=1 va=0 ms=10 code=33 consts=18 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='ItemFindHelper'
  ;   K[3]='FindBoardVisibleItems'
  ;   K[4]='itemType'
  ;   K[5]=0
  ;   K[6]='GameObject'
  ;   K[7]='Instantiate'
  ;   K[8]='m_numTipGo'
  ;   K[9]='transform'
  ;   K[10]='UIUtil'
  ;   K[11]='SetAnchoredPosition'
  ;   K[12]=72
  ;   K[13]=68
  ;   K[14]='GetLuaTable'
  ;   K[15]='Init'
  ;   K[16]='MainBoardView'
  ;   K[17]='GetInstance'
  ;   upvals: _ENV
  ;   locals: self(0-33), boardModel(2-33), itemsArray(8-33), go(17-33), luaTable(25-33)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0002  GETTABUP  R2 = _ENV[K2('ItemFindHelper')]
  0003  GETTABLE  R2 = R2[K3('FindBoardVisibleItems')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('itemType')]
  0006  LOADBOOL  R5 = true
  0007  CALL      R2 = call(R2, 1 args, 3 rets)
  0008  LEN       R3 = len R0
  0009  EQ        if R0 eq K5(0)   -> -129264
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  GETTABUP  R3 = _ENV[K6('GameObject')]
  0013  GETTABLE  R3 = R3[K7('Instantiate')]
  0014  GETTABLE  R4 = R0[K8('m_numTipGo')]
  0015  GETTABLE  R5 = R0[K9('transform')]
  0016  CALL      R3 = call(R3, 1 args, 2 rets)
  0017  GETTABUP  R4 = _ENV[K10('UIUtil')]
  0018  GETTABLE  R4 = R4[K11('SetAnchoredPosition')]
  0019  GETTABLE  R5 = R3[K9('transform')]
  0020  LOADK     R6 = K12 72
  0021  LOADK     R7 = K13 68
  0022  CALL      R4 = call(R4, 0 args, 3 rets)
  0023  SELF      R5 = R3[K14('GetLuaTable')] (self)
  0024  CALL      R4 = call(R4, 1 args, 1 rets)
  0025  SELF      R6 = R4[K15('Init')] (self)
  0026  GETTABUP  R7 = _ENV[K16('MainBoardView')]
  0027  GETTABLE  R7 = R7[K17('GetInstance')]
  0028  CALL      R7 = call(R7, 1 args, 0 rets)
  0029  MOVE      R8 = R0
  0030  CLOSURE   R9 = closure proto0
  0031  CALL      R5 = call(R5, 0 args, 4 rets)
  0032  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 187-189 np=0 va=0 ms=2 code=4 consts=2 upvals=1 protos=0
    ;   K[0]='ItemDetailWindow'
    ;   K[1]='CloseAll'
    ;   upvals: _ENV
    0000  GETTABUP  R0 = _ENV[K0('ItemDetailWindow')]
    0001  GETTABLE  R0 = R0[K1('CloseAll')]
    0002  CALL      R0 = call(R0, 0 args, 0 rets)
    0003  RETURN    return R0..R-1
