# Model_Notification_PushTokenModel_180.luac
; fn @PushTokenModel.lua  line 0-0 np=0 va=1 ms=2 code=28 consts=13 upvals=1 protos=6
;   K[0]='LogPushTokenKey'
;   K[1]='Android'
;   K[2]='oem_token'
;   K[3]='IOS'
;   K[4]='device_token'
;   K[5]='PushTokenModel'
;   K[6]='__index'
;   K[7]='Init'
;   K[8]='Destroy'
;   K[9]='_TryUpdatePushToken'
;   K[10]='UpdatePushToken'
;   K[11]='_TryUpdatePushTokenIOS'
;   K[12]='_TryUpdatePushTokenAndroid'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('Android')] = K2('oem_token')
0002  SETTABLE  R0[K3('IOS')] = K4('device_token')
0003  SETTABUP  _ENV[K0('LogPushTokenKey')] = R0
0004  NEWTABLE  R0 = {} (0 items)
0005  SETTABUP  _ENV[K5('PushTokenModel')] = R0
0006  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0007  GETTABUP  R1 = _ENV[K5('PushTokenModel')]
0008  SETTABLE  R0[K6('__index')] = R1
0009  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0010  CLOSURE   R1 = closure proto0
0011  SETTABLE  R0[K7('Init')] = R1
0012  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0013  CLOSURE   R1 = closure proto1
0014  SETTABLE  R0[K8('Destroy')] = R1
0015  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0016  CLOSURE   R1 = closure proto2
0017  SETTABLE  R0[K9('_TryUpdatePushToken')] = R1
0018  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0019  CLOSURE   R1 = closure proto3
0020  SETTABLE  R0[K10('UpdatePushToken')] = R1
0021  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0022  CLOSURE   R1 = closure proto4
0023  SETTABLE  R0[K11('_TryUpdatePushTokenIOS')] = R1
0024  GETTABUP  R0 = _ENV[K5('PushTokenModel')]
0025  CLOSURE   R1 = closure proto5
0026  SETTABLE  R0[K12('_TryUpdatePushTokenAndroid')] = R1
0027  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 26-30 np=1 va=0 ms=5 code=22 consts=15 upvals=1 protos=0
  ;   K[0]='m_pushToken'
  ;   K[1]='PlayerPrefs'
  ;   K[2]='GetString'
  ;   K[3]='EPlayerPrefKey'
  ;   K[4]='PushToken'
  ;   K[5]=''
  ;   K[6]='m_pushTokenUserId'
  ;   K[7]='GetInt'
  ;   K[8]='PushTokenUserId'
  ;   K[9]=0
  ;   K[10]='EventDispatcher'
  ;   K[11]='AddListener'
  ;   K[12]='EEventType'
  ;   K[13]='LoginFinished'
  ;   K[14]='_TryUpdatePushToken'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABUP  R1 = _ENV[K1('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K2('GetString')]
  0002  GETTABUP  R2 = _ENV[K3('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K4('PushToken')]
  0004  LOADK     R3 = K5 ''
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_pushToken')] = R1
  0007  GETTABUP  R1 = _ENV[K1('PlayerPrefs')]
  0008  GETTABLE  R1 = R1[K7('GetInt')]
  0009  GETTABUP  R2 = _ENV[K3('EPlayerPrefKey')]
  0010  GETTABLE  R2 = R2[K8('PushTokenUserId')]
  0011  LOADK     R3 = K9 0
  0012  CALL      R1 = call(R1, 1 args, 2 rets)
  0013  SETTABLE  R0[K6('m_pushTokenUserId')] = R1
  0014  GETTABUP  R1 = _ENV[K10('EventDispatcher')]
  0015  GETTABLE  R1 = R1[K11('AddListener')]
  0016  GETTABUP  R2 = _ENV[K12('EEventType')]
  0017  GETTABLE  R2 = R2[K13('LoginFinished')]
  0018  MOVE      R3 = R0
  0019  GETTABLE  R4 = R0[K14('_TryUpdatePushToken')]
  0020  CALL      R1 = call(R1, 0 args, 3 rets)
  0021  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 32-35 np=1 va=0 ms=3 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   K[2]='Scheduler'
  ;   K[3]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  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  GETTABUP  R1 = _ENV[K2('Scheduler')]
  0005  GETTABLE  R1 = R1[K3('UnscheduleTarget')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto2 [_TryUpdatePushToken] ----------
  ; fn ?  line 37-47 np=1 va=0 ms=3 code=17 consts=5 upvals=1 protos=0
  ;   K[0]='DeviceInfo'
  ;   K[1]='IsUnityEditor'
  ;   K[2]='IsSystemIOS'
  ;   K[3]='_TryUpdatePushTokenIOS'
  ;   K[4]='_TryUpdatePushTokenAndroid'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  GETTABUP  R1 = _ENV[K0('DeviceInfo')]
  0001  GETTABLE  R1 = R1[K1('IsUnityEditor')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABUP  R1 = _ENV[K0('DeviceInfo')]
  0007  GETTABLE  R1 = R1[K2('IsSystemIOS')]
  0008  CALL      R1 = call(R1, 1 args, 0 rets)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 14
  0011  SELF      R2 = R0[K3('_TryUpdatePushTokenIOS')] (self)
  0012  CALL      R1 = call(R1, 0 args, 1 rets)
  0013  JMP       (jump)   -> 16
  0014  SELF      R2 = R0[K4('_TryUpdatePushTokenAndroid')] (self)
  0015  CALL      R1 = call(R1, 0 args, 1 rets)
  0016  RETURN    return R0..R-1
; ---------- proto3 [UpdatePushToken] ----------
  ; fn ?  line 49-64 np=2 va=0 ms=9 code=59 consts=23 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UserModel'
  ;   K[2]='GetUserId'
  ;   K[3]='m_pushToken'
  ;   K[4]='m_pushTokenUserId'
  ;   K[5]='PlayerPrefs'
  ;   K[6]='SetString'
  ;   K[7]='EPlayerPrefKey'
  ;   K[8]='PushToken'
  ;   K[9]='SetInt'
  ;   K[10]='PushTokenUserId'
  ;   K[11]='DeviceInfo'
  ;   K[12]='IsSystemIOS'
  ;   K[13]='LogPushTokenKey'
  ;   K[14]='IOS'
  ;   K[15]='Android'
  ;   K[16]='BIManager'
  ;   K[17]='LogPushToken'
  ;   K[18]='Log'
  ;   K[19]='Info'
  ;   K[20]='Notification PushToken[New]: token '
  ;   K[21]=' userId '
  ;   K[22]='Notification PushToken[Same]: token '
  ;   upvals: _ENV
  ;   locals: self(0-59), token(0-59), userId(4-59), tokenKey(35-49)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('UserModel')]
  0002  SELF      R3 = R2[K2('GetUserId')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R3 = R0[K3('m_pushToken')]
  0005  EQ        if R0 eq R1   -> -129528
  0006  JMP       (jump)   -> 10
  0007  GETTABLE  R3 = R0[K4('m_pushTokenUserId')]
  0008  EQ        if R1 eq R2   -> -129524
  0009  JMP       (jump)   -> 50
  0010  SETTABLE  R0[K3('m_pushToken')] = R1
  0011  GETTABUP  R3 = _ENV[K5('PlayerPrefs')]
  0012  GETTABLE  R3 = R3[K6('SetString')]
  0013  GETTABUP  R4 = _ENV[K7('EPlayerPrefKey')]
  0014  GETTABLE  R4 = R4[K8('PushToken')]
  0015  MOVE      R5 = R0
  0016  CALL      R3 = call(R3, 0 args, 2 rets)
  0017  SETTABLE  R0[K4('m_pushTokenUserId')] = R2
  0018  GETTABUP  R3 = _ENV[K5('PlayerPrefs')]
  0019  GETTABLE  R3 = R3[K9('SetInt')]
  0020  GETTABUP  R4 = _ENV[K7('EPlayerPrefKey')]
  0021  GETTABLE  R4 = R4[K10('PushTokenUserId')]
  0022  MOVE      R5 = R0
  0023  CALL      R3 = call(R3, 0 args, 2 rets)
  0024  GETTABUP  R3 = _ENV[K11('DeviceInfo')]
  0025  GETTABLE  R3 = R3[K12('IsSystemIOS')]
  0026  CALL      R3 = call(R3, 1 args, 0 rets)
  0027  TEST      if not R3 then   -> -131043
  0028  JMP       (jump)   -> 33
  0029  GETTABUP  R3 = _ENV[K13('LogPushTokenKey')]
  0030  GETTABLE  R3 = R3[K14('IOS')]
  0031  TEST      if not R3 then   -> -131038
  0032  JMP       (jump)   -> 35
  0033  GETTABUP  R3 = _ENV[K13('LogPushTokenKey')]
  0034  GETTABLE  R3 = R3[K15('Android')]
  0035  GETTABUP  R4 = _ENV[K0('GM')]
  0036  GETTABLE  R4 = R4[K16('BIManager')]
  0037  SELF      R5 = R4[K17('LogPushToken')] (self)
  0038  MOVE      R6 = R0
  0039  MOVE      R7 = R0
  0040  CALL      R4 = call(R4, 0 args, 3 rets)
  0041  GETTABUP  R4 = _ENV[K18('Log')]
  0042  GETTABLE  R4 = R4[K19('Info')]
  0043  LOADK     R5 = K20 'Notification PushToken[New]: token '
  0044  MOVE      R6 = R0
  0045  LOADK     R7 = K21 ' userId '
  0046  MOVE      R8 = R0
  0047  CONCAT    R5 = concat(R5..R5)
  0048  CALL      R4 = call(R4, 0 args, 1 rets)
  0049  JMP       (jump)   -> 58
  0050  GETTABUP  R3 = _ENV[K18('Log')]
  0051  GETTABLE  R3 = R3[K19('Info')]
  0052  LOADK     R4 = K22 'Notification PushToken[Same]: token '
  0053  MOVE      R5 = R0
  0054  LOADK     R6 = K21 ' userId '
  0055  MOVE      R7 = R0
  0056  CONCAT    R4 = concat(R4..R4)
  0057  CALL      R3 = call(R3, 0 args, 1 rets)
  0058  RETURN    return R0..R-1
; ---------- proto4 [_TryUpdatePushTokenIOS] ----------
  ; fn ?  line 66-70 np=1 va=0 ms=3 code=16 consts=6 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='NotificationModel'
  ;   K[2]='IsSystemNotiRequsted'
  ;   K[3]='PlatformInterface'
  ;   K[4]='IsNotificationsEnabled'
  ;   K[5]='RequestAuthorization'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('NotificationModel')]
  0002  SELF      R2 = R1[K2('IsSystemNotiRequsted')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 11
  0006  GETTABUP  R1 = _ENV[K3('PlatformInterface')]
  0007  GETTABLE  R1 = R1[K4('IsNotificationsEnabled')]
  0008  CALL      R1 = call(R1, 1 args, 0 rets)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 15
  0011  GETTABUP  R1 = _ENV[K0('GM')]
  0012  GETTABLE  R1 = R1[K1('NotificationModel')]
  0013  SELF      R2 = R1[K5('RequestAuthorization')] (self)
  0014  CALL      R1 = call(R1, 0 args, 1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto5 [_TryUpdatePushTokenAndroid] ----------
  ; fn ?  line 72-83 np=1 va=0 ms=7 code=9 consts=4 upvals=1 protos=1
  ;   K[0]='Scheduler'
  ;   K[1]='Schedule'
  ;   K[2]=1
  ;   K[3]=10
  ;   upvals: _ENV
  ;   locals: self(0-9), func(1-9)
  0000  CLOSURE   R1 = closure proto0
  0001  GETTABUP  R2 = _ENV[K0('Scheduler')]
  0002  GETTABLE  R2 = R2[K1('Schedule')]
  0003  MOVE      R3 = R0
  0004  MOVE      R4 = R0
  0005  LOADK     R5 = K2 1
  0006  LOADK     R6 = K3 10
  0007  CALL      R2 = call(R2, 0 args, 4 rets)
  0008  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 73-79 np=0 va=0 ms=4 code=14 consts=6 upvals=2 protos=0
    ;   K[0]='DeviceInfo'
    ;   K[1]='GetAndroidPushToken'
    ;   K[2]=''
    ;   K[3]='UpdatePushToken'
    ;   K[4]='Scheduler'
    ;   K[5]='UnscheduleTarget'
    ;   upvals: _ENV, self
    ;   locals: pushToken(3-14)
    0000  GETTABUP  R0 = _ENV[K0('DeviceInfo')]
    0001  GETTABLE  R0 = R0[K1('GetAndroidPushToken')]
    0002  CALL      R0 = call(R0, 1 args, 0 rets)
    0003  EQ        if R1 eq K2('')   -> -130809
    0004  JMP       (jump)   -> 13
    0005  GETUPVAL  R1 = _ENV
    0006  SELF      R2 = R1[K3('UpdatePushToken')] (self)
    0007  MOVE      R3 = R0
    0008  CALL      R1 = call(R1, 0 args, 2 rets)
    0009  GETTABUP  R1 = _ENV[K4('Scheduler')]
    0010  GETTABLE  R1 = R1[K5('UnscheduleTarget')]
    0011  GETUPVAL  R2 = _ENV
    0012  CALL      R1 = call(R1, 0 args, 1 rets)
    0013  RETURN    return R0..R-1
