@layerzerolabs/lz-evm-sdk-v2 2.0.12-tron-rc.2 → 2.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/artifacts/contracts/EndpointV2.sol/EndpointV2.json +2 -2
  2. package/artifacts/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +2 -2
  3. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  4. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +2 -2
  5. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  6. package/artifacts/contracts/Treasury.sol/Treasury.json +2 -2
  7. package/artifacts/contracts/libs/AddressCast.sol/AddressCast.json +2 -2
  8. package/artifacts/contracts/libs/CalldataBytesLib.sol/CalldataBytesLib.json +2 -2
  9. package/artifacts/contracts/libs/Errors.sol/Errors.json +2 -2
  10. package/artifacts/contracts/libs/GUID.sol/GUID.json +2 -2
  11. package/artifacts/contracts/libs/SafeCall.sol/SafeCall.json +2 -2
  12. package/artifacts/contracts/libs/Transfer.sol/Transfer.json +2 -2
  13. package/artifacts/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +2 -2
  14. package/artifacts/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +2 -2
  15. package/artifacts/contracts/messagelib/libs/BitMaps.sol/BitMaps.json +2 -2
  16. package/artifacts/contracts/messagelib/libs/ExecutorOptions.sol/ExecutorOptions.json +2 -2
  17. package/artifacts/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +2 -2
  18. package/artifacts/contracts/oapp/examples/OmniCounter.sol/MsgCodec.json +2 -2
  19. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  20. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  21. package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +2 -2
  22. package/artifacts/contracts/oft/OFT.sol/OFT.json +2 -2
  23. package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +2 -2
  24. package/artifacts/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +2 -2
  25. package/artifacts/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +2 -2
  26. package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +2 -2
  27. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +5 -5
  28. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +2 -2
  29. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +2 -2
  30. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +2 -2
  31. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +2 -2
  32. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +2 -2
  33. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +2 -2
  34. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +2 -2
  35. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +2 -2
  36. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +2 -2
  37. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +2 -2
  38. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +2 -2
  39. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +2 -2
  40. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +2 -2
  41. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +2 -2
  42. package/deployments/{arbitrum-sandbox-local → bera-testnet}/DVN.json +76 -43
  43. package/deployments/{bsc-sandbox-local → bera-testnet}/DVNFeeLib.json +13 -13
  44. package/deployments/{arbitrum-sandbox-local → bera-testnet}/EndpointV2.json +114 -60
  45. package/deployments/{tron-sandbox-local → bera-testnet}/Executor.json +88 -105
  46. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorFeeLib.json +13 -13
  47. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorProxyAdmin.json +20 -20
  48. package/deployments/{bsc-sandbox-local → bera-testnet}/Executor_Implementation.json +7 -7
  49. package/deployments/{tron-sandbox-local → bera-testnet}/Executor_Proxy.json +79 -94
  50. package/deployments/bera-testnet/LzExecutor.json +332 -0
  51. package/deployments/bera-testnet/PriceFeed.json +35 -35
  52. package/deployments/bera-testnet/PriceFeedProxyAdmin.json +17 -17
  53. package/deployments/bera-testnet/PriceFeed_Implementation.json +6 -6
  54. package/deployments/bera-testnet/PriceFeed_Proxy.json +34 -34
  55. package/deployments/{bsc-sandbox-local → bera-testnet}/ReceiveUln301.json +15 -15
  56. package/deployments/{avalanche-sandbox-local → bera-testnet}/ReceiveUln302.json +18 -18
  57. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln301.json +17 -17
  58. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln302.json +14 -14
  59. package/deployments/{bsc-sandbox-local → bera-testnet}/Treasury.json +13 -13
  60. package/deployments/{avalanche-sandbox-local → bera-testnet}/TreasuryFeeHandler.json +8 -8
  61. package/deployments/ethereum-sandbox-local/BlockedMessageLib.json +90 -0
  62. package/deployments/ethereum-sandbox-local/DVN.json +5 -5
  63. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +2 -2
  64. package/deployments/ethereum-sandbox-local/Endpoint.json +2355 -0
  65. package/deployments/ethereum-sandbox-local/EndpointV2.json +4 -4
  66. package/deployments/ethereum-sandbox-local/Executor.json +14 -14
  67. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +2 -2
  68. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +3 -3
  69. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  70. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +14 -14
  71. package/deployments/ethereum-sandbox-local/MultiSigOracle.json +1448 -0
  72. package/deployments/ethereum-sandbox-local/NonceContract.json +158 -0
  73. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  74. package/deployments/ethereum-sandbox-local/OmniCounter.json +1133 -0
  75. package/deployments/ethereum-sandbox-local/OmniCounterPreCrime.json +493 -0
  76. package/deployments/ethereum-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  77. package/deployments/ethereum-sandbox-local/OmniCounterViewer.json +214 -0
  78. package/deployments/ethereum-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  79. package/deployments/{arbitrum-sandbox-local/Executor.json → ethereum-sandbox-local/Oracle.json} +400 -658
  80. package/deployments/ethereum-sandbox-local/OracleFeeLib.json +166 -0
  81. package/deployments/ethereum-sandbox-local/OracleProxyAdmin.json +272 -0
  82. package/deployments/ethereum-sandbox-local/Oracle_Implementation.json +1326 -0
  83. package/deployments/{bsc-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Oracle_Proxy.json} +96 -35
  84. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  85. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  86. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  87. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  88. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +2 -2
  89. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +2 -2
  90. package/deployments/{tron-sandbox-local/PriceFeed.json → ethereum-sandbox-local/Relayer.json} +445 -339
  91. package/deployments/ethereum-sandbox-local/RelayerFeeLib.json +130 -0
  92. package/deployments/ethereum-sandbox-local/RelayerProxyAdmin.json +272 -0
  93. package/deployments/ethereum-sandbox-local/Relayer_Implementation.json +1014 -0
  94. package/deployments/{tron-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Relayer_Proxy.json} +64 -33
  95. package/deployments/ethereum-sandbox-local/SendUln301.json +2 -2
  96. package/deployments/ethereum-sandbox-local/SendUln302.json +2 -2
  97. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +2 -2
  98. package/deployments/ethereum-sandbox-local/Treasury.json +2 -2
  99. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  100. package/deployments/ethereum-sandbox-local/UlnConfig301.json +1003 -0
  101. package/deployments/ethereum-sandbox-local/UlnConfig302.json +1003 -0
  102. package/deployments/ethereum-sandbox-local/UltraLightNodeE302.json +1696 -0
  103. package/deployments/{bsc-sandbox-local → etherlink-testnet}/PriceFeed.json +34 -34
  104. package/deployments/{arbitrum-sandbox-local/ExecutorProxyAdmin.json → etherlink-testnet/PriceFeedProxyAdmin.json} +22 -22
  105. package/deployments/{arbitrum-sandbox-local → etherlink-testnet}/PriceFeed_Implementation.json +9 -9
  106. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/PriceFeed_Proxy.json +32 -32
  107. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/Treasury.json +15 -15
  108. package/deployments/polygon-sandbox-local/BlockedMessageLib.json +90 -0
  109. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  110. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  111. package/deployments/polygon-sandbox-local/Endpoint.json +2355 -0
  112. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  113. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  114. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  115. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  116. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  117. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  118. package/deployments/polygon-sandbox-local/MultiSigOracle.json +1448 -0
  119. package/deployments/polygon-sandbox-local/NonceContract.json +158 -0
  120. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  121. package/deployments/polygon-sandbox-local/OmniCounter.json +1133 -0
  122. package/deployments/polygon-sandbox-local/OmniCounterPreCrime.json +493 -0
  123. package/deployments/polygon-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  124. package/deployments/polygon-sandbox-local/OmniCounterViewer.json +214 -0
  125. package/deployments/polygon-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  126. package/deployments/{bsc-sandbox-local/Executor.json → polygon-sandbox-local/Oracle.json} +400 -658
  127. package/deployments/polygon-sandbox-local/OracleFeeLib.json +166 -0
  128. package/deployments/polygon-sandbox-local/OracleProxyAdmin.json +272 -0
  129. package/deployments/polygon-sandbox-local/Oracle_Implementation.json +1326 -0
  130. package/deployments/polygon-sandbox-local/Oracle_Proxy.json +305 -0
  131. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  132. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  133. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  134. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  135. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  136. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  137. package/deployments/{arbitrum-sandbox-local/PriceFeed.json → polygon-sandbox-local/Relayer.json} +445 -339
  138. package/deployments/polygon-sandbox-local/RelayerFeeLib.json +130 -0
  139. package/deployments/polygon-sandbox-local/RelayerProxyAdmin.json +272 -0
  140. package/deployments/polygon-sandbox-local/Relayer_Implementation.json +1014 -0
  141. package/deployments/{arbitrum-sandbox-local/PriceFeed_Proxy.json → polygon-sandbox-local/Relayer_Proxy.json} +64 -33
  142. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  143. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  144. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  145. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  146. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  147. package/deployments/polygon-sandbox-local/UlnConfig301.json +1003 -0
  148. package/deployments/polygon-sandbox-local/UlnConfig302.json +1003 -0
  149. package/deployments/polygon-sandbox-local/UltraLightNodeE302.json +1696 -0
  150. package/dist/{index-cijKSBLK.d.cts → index-pO8kCANF.d.mts} +41 -41
  151. package/dist/{index-cijKSBLK.d.ts → index-pO8kCANF.d.ts} +41 -41
  152. package/dist/index.browser.cjs +34 -34
  153. package/dist/index.browser.cjs.map +1 -1
  154. package/dist/{index.browser.d.cts → index.browser.d.mts} +1 -1
  155. package/dist/index.browser.d.ts +1 -1
  156. package/dist/index.browser.mjs +34 -34
  157. package/dist/index.browser.mjs.map +1 -1
  158. package/dist/index.cjs +34 -34
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/{index.d.cts → index.d.mts} +1 -1
  161. package/dist/index.d.ts +1 -1
  162. package/dist/index.mjs +34 -34
  163. package/dist/index.mjs.map +1 -1
  164. package/package.json +15 -14
  165. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -387
  166. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +0 -407
  167. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +0 -1591
  168. package/deployments/arbitrum-sandbox-local/Executor_Proxy.json +0 -380
  169. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +0 -163
  170. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  171. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +0 -1264
  172. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +0 -954
  173. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +0 -708
  174. package/deployments/arbitrum-sandbox-local/Treasury.json +0 -412
  175. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +0 -125
  176. package/deployments/avalanche-sandbox-local/DVN.json +0 -1896
  177. package/deployments/avalanche-sandbox-local/DVNFeeLib.json +0 -387
  178. package/deployments/avalanche-sandbox-local/EndpointV2.json +0 -2955
  179. package/deployments/avalanche-sandbox-local/Executor.json +0 -1549
  180. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +0 -407
  181. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +0 -283
  182. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +0 -1591
  183. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +0 -380
  184. package/deployments/avalanche-sandbox-local/NonceContractMock.json +0 -163
  185. package/deployments/avalanche-sandbox-local/PriceFeed.json +0 -890
  186. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  187. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +0 -912
  188. package/deployments/avalanche-sandbox-local/ReceiveUln301.json +0 -1264
  189. package/deployments/avalanche-sandbox-local/SendUln301.json +0 -1569
  190. package/deployments/avalanche-sandbox-local/SendUln302.json +0 -1527
  191. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +0 -708
  192. package/deployments/bsc-sandbox-local/DVN.json +0 -1896
  193. package/deployments/bsc-sandbox-local/EndpointV2.json +0 -2955
  194. package/deployments/bsc-sandbox-local/Executor_Proxy.json +0 -380
  195. package/deployments/bsc-sandbox-local/NonceContractMock.json +0 -163
  196. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  197. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +0 -912
  198. package/deployments/bsc-sandbox-local/ReceiveUln302.json +0 -954
  199. package/deployments/bsc-sandbox-local/SendUln301.json +0 -1569
  200. package/deployments/bsc-sandbox-local/SendUln302.json +0 -1527
  201. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +0 -708
  202. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +0 -125
  203. package/deployments/tron-sandbox-local/DVN.json +0 -1896
  204. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -387
  205. package/deployments/tron-sandbox-local/EndpointV2.json +0 -2955
  206. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +0 -407
  207. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +0 -283
  208. package/deployments/tron-sandbox-local/Executor_Implementation.json +0 -1591
  209. package/deployments/tron-sandbox-local/NonceContractMock.json +0 -163
  210. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  211. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  212. package/deployments/tron-sandbox-local/ReceiveUln301.json +0 -1264
  213. package/deployments/tron-sandbox-local/ReceiveUln302.json +0 -954
  214. package/deployments/tron-sandbox-local/SendUln301.json +0 -1569
  215. package/deployments/tron-sandbox-local/SendUln302.json +0 -1527
  216. package/deployments/tron-sandbox-local/SimpleMessageLib.json +0 -708
  217. package/deployments/tron-sandbox-local/Treasury.json +0 -412
  218. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +0 -125
@@ -0,0 +1,1003 @@
1
+ {
2
+ "address": "0x0b48aF34f4c854F5ae1A3D587da471FeA45bAD52",
3
+ "abi": [
4
+ {
5
+ "anonymous": false,
6
+ "inputs": [
7
+ {
8
+ "indexed": true,
9
+ "internalType": "address",
10
+ "name": "previousOwner",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "indexed": true,
15
+ "internalType": "address",
16
+ "name": "newOwner",
17
+ "type": "address"
18
+ }
19
+ ],
20
+ "name": "OwnershipTransferred",
21
+ "type": "event"
22
+ },
23
+ {
24
+ "inputs": [
25
+ {
26
+ "internalType": "uint32",
27
+ "name": "dstEid",
28
+ "type": "uint32"
29
+ }
30
+ ],
31
+ "name": "defaultOutboundConfig",
32
+ "outputs": [
33
+ {
34
+ "internalType": "uint32",
35
+ "name": "maxMessageSize",
36
+ "type": "uint32"
37
+ },
38
+ {
39
+ "internalType": "uint64",
40
+ "name": "outboundConfirmations",
41
+ "type": "uint64"
42
+ },
43
+ {
44
+ "internalType": "address",
45
+ "name": "executor",
46
+ "type": "address"
47
+ }
48
+ ],
49
+ "stateMutability": "view",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "uint32",
56
+ "name": "_remoteEid",
57
+ "type": "uint32"
58
+ },
59
+ {
60
+ "internalType": "address",
61
+ "name": "_oapp",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "internalType": "uint32",
66
+ "name": "_configType",
67
+ "type": "uint32"
68
+ }
69
+ ],
70
+ "name": "getConfigByType",
71
+ "outputs": [
72
+ {
73
+ "internalType": "bytes",
74
+ "name": "",
75
+ "type": "bytes"
76
+ },
77
+ {
78
+ "internalType": "bool",
79
+ "name": "",
80
+ "type": "bool"
81
+ }
82
+ ],
83
+ "stateMutability": "view",
84
+ "type": "function"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint32",
90
+ "name": "_remoteEid",
91
+ "type": "uint32"
92
+ },
93
+ {
94
+ "internalType": "uint32",
95
+ "name": "_configType",
96
+ "type": "uint32"
97
+ }
98
+ ],
99
+ "name": "getDefaultConfigByType",
100
+ "outputs": [
101
+ {
102
+ "internalType": "bytes",
103
+ "name": "",
104
+ "type": "bytes"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "uint32",
114
+ "name": "_eid",
115
+ "type": "uint32"
116
+ },
117
+ {
118
+ "internalType": "uint32",
119
+ "name": "_configType",
120
+ "type": "uint32"
121
+ }
122
+ ],
123
+ "name": "getDefaultOutboundConfigByType",
124
+ "outputs": [
125
+ {
126
+ "internalType": "bytes",
127
+ "name": "",
128
+ "type": "bytes"
129
+ }
130
+ ],
131
+ "stateMutability": "view",
132
+ "type": "function"
133
+ },
134
+ {
135
+ "inputs": [
136
+ {
137
+ "internalType": "uint32",
138
+ "name": "_remoteEid",
139
+ "type": "uint32"
140
+ }
141
+ ],
142
+ "name": "getDefaultUlnConfig",
143
+ "outputs": [
144
+ {
145
+ "components": [
146
+ {
147
+ "internalType": "uint64",
148
+ "name": "inboundConfirmations",
149
+ "type": "uint64"
150
+ },
151
+ {
152
+ "internalType": "bool",
153
+ "name": "useCustomVerifiers",
154
+ "type": "bool"
155
+ },
156
+ {
157
+ "internalType": "bool",
158
+ "name": "useCustomOptionalVerifiers",
159
+ "type": "bool"
160
+ },
161
+ {
162
+ "internalType": "uint8",
163
+ "name": "verifierCount",
164
+ "type": "uint8"
165
+ },
166
+ {
167
+ "internalType": "uint8",
168
+ "name": "optionalVerifierCount",
169
+ "type": "uint8"
170
+ },
171
+ {
172
+ "internalType": "uint8",
173
+ "name": "optionalVerifierThreshold",
174
+ "type": "uint8"
175
+ },
176
+ {
177
+ "internalType": "address[]",
178
+ "name": "verifiers",
179
+ "type": "address[]"
180
+ },
181
+ {
182
+ "internalType": "address[]",
183
+ "name": "optionalVerifiers",
184
+ "type": "address[]"
185
+ }
186
+ ],
187
+ "internalType": "struct UlnConfigStruct",
188
+ "name": "",
189
+ "type": "tuple"
190
+ }
191
+ ],
192
+ "stateMutability": "view",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "inputs": [
197
+ {
198
+ "internalType": "address",
199
+ "name": "_oapp",
200
+ "type": "address"
201
+ },
202
+ {
203
+ "internalType": "uint32",
204
+ "name": "_dstEid",
205
+ "type": "uint32"
206
+ }
207
+ ],
208
+ "name": "getOutboundConfig",
209
+ "outputs": [
210
+ {
211
+ "components": [
212
+ {
213
+ "internalType": "uint32",
214
+ "name": "maxMessageSize",
215
+ "type": "uint32"
216
+ },
217
+ {
218
+ "internalType": "uint64",
219
+ "name": "outboundConfirmations",
220
+ "type": "uint64"
221
+ },
222
+ {
223
+ "internalType": "address",
224
+ "name": "executor",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "internalType": "struct OutboundConfigStruct",
229
+ "name": "",
230
+ "type": "tuple"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [
238
+ {
239
+ "internalType": "uint32",
240
+ "name": "_eid",
241
+ "type": "uint32"
242
+ },
243
+ {
244
+ "internalType": "address",
245
+ "name": "_oapp",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "uint256",
250
+ "name": "_configType",
251
+ "type": "uint256"
252
+ }
253
+ ],
254
+ "name": "getOutboundConfigByType",
255
+ "outputs": [
256
+ {
257
+ "internalType": "bytes",
258
+ "name": "",
259
+ "type": "bytes"
260
+ },
261
+ {
262
+ "internalType": "bool",
263
+ "name": "",
264
+ "type": "bool"
265
+ }
266
+ ],
267
+ "stateMutability": "view",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "internalType": "address",
274
+ "name": "_oapp",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "internalType": "uint32",
279
+ "name": "_remoteEid",
280
+ "type": "uint32"
281
+ }
282
+ ],
283
+ "name": "getRawUlnConfig",
284
+ "outputs": [
285
+ {
286
+ "components": [
287
+ {
288
+ "internalType": "uint64",
289
+ "name": "inboundConfirmations",
290
+ "type": "uint64"
291
+ },
292
+ {
293
+ "internalType": "bool",
294
+ "name": "useCustomVerifiers",
295
+ "type": "bool"
296
+ },
297
+ {
298
+ "internalType": "bool",
299
+ "name": "useCustomOptionalVerifiers",
300
+ "type": "bool"
301
+ },
302
+ {
303
+ "internalType": "uint8",
304
+ "name": "verifierCount",
305
+ "type": "uint8"
306
+ },
307
+ {
308
+ "internalType": "uint8",
309
+ "name": "optionalVerifierCount",
310
+ "type": "uint8"
311
+ },
312
+ {
313
+ "internalType": "uint8",
314
+ "name": "optionalVerifierThreshold",
315
+ "type": "uint8"
316
+ },
317
+ {
318
+ "internalType": "address[]",
319
+ "name": "verifiers",
320
+ "type": "address[]"
321
+ },
322
+ {
323
+ "internalType": "address[]",
324
+ "name": "optionalVerifiers",
325
+ "type": "address[]"
326
+ }
327
+ ],
328
+ "internalType": "struct UlnConfigStruct",
329
+ "name": "",
330
+ "type": "tuple"
331
+ }
332
+ ],
333
+ "stateMutability": "view",
334
+ "type": "function"
335
+ },
336
+ {
337
+ "inputs": [
338
+ {
339
+ "internalType": "address",
340
+ "name": "_oapp",
341
+ "type": "address"
342
+ },
343
+ {
344
+ "internalType": "uint32",
345
+ "name": "_remoteEid",
346
+ "type": "uint32"
347
+ }
348
+ ],
349
+ "name": "getUlnAndOutboundConfig",
350
+ "outputs": [
351
+ {
352
+ "components": [
353
+ {
354
+ "internalType": "uint64",
355
+ "name": "inboundConfirmations",
356
+ "type": "uint64"
357
+ },
358
+ {
359
+ "internalType": "bool",
360
+ "name": "useCustomVerifiers",
361
+ "type": "bool"
362
+ },
363
+ {
364
+ "internalType": "bool",
365
+ "name": "useCustomOptionalVerifiers",
366
+ "type": "bool"
367
+ },
368
+ {
369
+ "internalType": "uint8",
370
+ "name": "verifierCount",
371
+ "type": "uint8"
372
+ },
373
+ {
374
+ "internalType": "uint8",
375
+ "name": "optionalVerifierCount",
376
+ "type": "uint8"
377
+ },
378
+ {
379
+ "internalType": "uint8",
380
+ "name": "optionalVerifierThreshold",
381
+ "type": "uint8"
382
+ },
383
+ {
384
+ "internalType": "address[]",
385
+ "name": "verifiers",
386
+ "type": "address[]"
387
+ },
388
+ {
389
+ "internalType": "address[]",
390
+ "name": "optionalVerifiers",
391
+ "type": "address[]"
392
+ }
393
+ ],
394
+ "internalType": "struct UlnConfigStruct",
395
+ "name": "",
396
+ "type": "tuple"
397
+ },
398
+ {
399
+ "components": [
400
+ {
401
+ "internalType": "uint32",
402
+ "name": "maxMessageSize",
403
+ "type": "uint32"
404
+ },
405
+ {
406
+ "internalType": "uint64",
407
+ "name": "outboundConfirmations",
408
+ "type": "uint64"
409
+ },
410
+ {
411
+ "internalType": "address",
412
+ "name": "executor",
413
+ "type": "address"
414
+ }
415
+ ],
416
+ "internalType": "struct OutboundConfigStruct",
417
+ "name": "",
418
+ "type": "tuple"
419
+ }
420
+ ],
421
+ "stateMutability": "view",
422
+ "type": "function"
423
+ },
424
+ {
425
+ "inputs": [
426
+ {
427
+ "internalType": "address",
428
+ "name": "_oapp",
429
+ "type": "address"
430
+ },
431
+ {
432
+ "internalType": "uint32",
433
+ "name": "_remoteEid",
434
+ "type": "uint32"
435
+ }
436
+ ],
437
+ "name": "getUlnConfig",
438
+ "outputs": [
439
+ {
440
+ "components": [
441
+ {
442
+ "internalType": "uint64",
443
+ "name": "inboundConfirmations",
444
+ "type": "uint64"
445
+ },
446
+ {
447
+ "internalType": "bool",
448
+ "name": "useCustomVerifiers",
449
+ "type": "bool"
450
+ },
451
+ {
452
+ "internalType": "bool",
453
+ "name": "useCustomOptionalVerifiers",
454
+ "type": "bool"
455
+ },
456
+ {
457
+ "internalType": "uint8",
458
+ "name": "verifierCount",
459
+ "type": "uint8"
460
+ },
461
+ {
462
+ "internalType": "uint8",
463
+ "name": "optionalVerifierCount",
464
+ "type": "uint8"
465
+ },
466
+ {
467
+ "internalType": "uint8",
468
+ "name": "optionalVerifierThreshold",
469
+ "type": "uint8"
470
+ },
471
+ {
472
+ "internalType": "address[]",
473
+ "name": "verifiers",
474
+ "type": "address[]"
475
+ },
476
+ {
477
+ "internalType": "address[]",
478
+ "name": "optionalVerifiers",
479
+ "type": "address[]"
480
+ }
481
+ ],
482
+ "internalType": "struct UlnConfigStruct",
483
+ "name": "",
484
+ "type": "tuple"
485
+ }
486
+ ],
487
+ "stateMutability": "view",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "uint32",
494
+ "name": "_remoteEid",
495
+ "type": "uint32"
496
+ }
497
+ ],
498
+ "name": "isSupportedEid",
499
+ "outputs": [
500
+ {
501
+ "internalType": "bool",
502
+ "name": "",
503
+ "type": "bool"
504
+ }
505
+ ],
506
+ "stateMutability": "view",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "address",
513
+ "name": "oapp",
514
+ "type": "address"
515
+ },
516
+ {
517
+ "internalType": "uint32",
518
+ "name": "dstEid",
519
+ "type": "uint32"
520
+ }
521
+ ],
522
+ "name": "outboundConfig",
523
+ "outputs": [
524
+ {
525
+ "internalType": "uint32",
526
+ "name": "maxMessageSize",
527
+ "type": "uint32"
528
+ },
529
+ {
530
+ "internalType": "uint64",
531
+ "name": "outboundConfirmations",
532
+ "type": "uint64"
533
+ },
534
+ {
535
+ "internalType": "address",
536
+ "name": "executor",
537
+ "type": "address"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [],
545
+ "name": "owner",
546
+ "outputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "stateMutability": "view",
554
+ "type": "function"
555
+ },
556
+ {
557
+ "inputs": [],
558
+ "name": "renounceOwnership",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [
565
+ {
566
+ "internalType": "uint32[]",
567
+ "name": "_eids",
568
+ "type": "uint32[]"
569
+ },
570
+ {
571
+ "internalType": "address",
572
+ "name": "_oapp",
573
+ "type": "address"
574
+ }
575
+ ],
576
+ "name": "resetConfig",
577
+ "outputs": [],
578
+ "stateMutability": "nonpayable",
579
+ "type": "function"
580
+ },
581
+ {
582
+ "inputs": [
583
+ {
584
+ "internalType": "uint32",
585
+ "name": "_remoteEid",
586
+ "type": "uint32"
587
+ },
588
+ {
589
+ "internalType": "address",
590
+ "name": "_oapp",
591
+ "type": "address"
592
+ },
593
+ {
594
+ "internalType": "uint32",
595
+ "name": "_configType",
596
+ "type": "uint32"
597
+ },
598
+ {
599
+ "internalType": "bytes",
600
+ "name": "_config",
601
+ "type": "bytes"
602
+ }
603
+ ],
604
+ "name": "setConfigByType",
605
+ "outputs": [],
606
+ "stateMutability": "nonpayable",
607
+ "type": "function"
608
+ },
609
+ {
610
+ "inputs": [
611
+ {
612
+ "components": [
613
+ {
614
+ "internalType": "uint32",
615
+ "name": "eid",
616
+ "type": "uint32"
617
+ },
618
+ {
619
+ "components": [
620
+ {
621
+ "internalType": "uint32",
622
+ "name": "maxMessageSize",
623
+ "type": "uint32"
624
+ },
625
+ {
626
+ "internalType": "uint64",
627
+ "name": "outboundConfirmations",
628
+ "type": "uint64"
629
+ },
630
+ {
631
+ "internalType": "address",
632
+ "name": "executor",
633
+ "type": "address"
634
+ }
635
+ ],
636
+ "internalType": "struct OutboundConfigStruct",
637
+ "name": "outboundConfig",
638
+ "type": "tuple"
639
+ },
640
+ {
641
+ "internalType": "uint64",
642
+ "name": "inboundConfirmations",
643
+ "type": "uint64"
644
+ },
645
+ {
646
+ "internalType": "address[]",
647
+ "name": "verifiers",
648
+ "type": "address[]"
649
+ },
650
+ {
651
+ "internalType": "address[]",
652
+ "name": "optionalVerifiers",
653
+ "type": "address[]"
654
+ },
655
+ {
656
+ "internalType": "uint8",
657
+ "name": "optionalVerifierThreshold",
658
+ "type": "uint8"
659
+ }
660
+ ],
661
+ "internalType": "struct SetDefaultConfigParam[]",
662
+ "name": "_params",
663
+ "type": "tuple[]"
664
+ }
665
+ ],
666
+ "name": "setDefaultConfig",
667
+ "outputs": [],
668
+ "stateMutability": "nonpayable",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "address",
675
+ "name": "_uln",
676
+ "type": "address"
677
+ }
678
+ ],
679
+ "name": "setUln",
680
+ "outputs": [],
681
+ "stateMutability": "nonpayable",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "uint32[]",
688
+ "name": "_eids",
689
+ "type": "uint32[]"
690
+ },
691
+ {
692
+ "internalType": "address",
693
+ "name": "_oapp",
694
+ "type": "address"
695
+ }
696
+ ],
697
+ "name": "snapshotConfig",
698
+ "outputs": [],
699
+ "stateMutability": "nonpayable",
700
+ "type": "function"
701
+ },
702
+ {
703
+ "inputs": [
704
+ {
705
+ "internalType": "address",
706
+ "name": "newOwner",
707
+ "type": "address"
708
+ }
709
+ ],
710
+ "name": "transferOwnership",
711
+ "outputs": [],
712
+ "stateMutability": "nonpayable",
713
+ "type": "function"
714
+ },
715
+ {
716
+ "inputs": [],
717
+ "name": "uln",
718
+ "outputs": [
719
+ {
720
+ "internalType": "address",
721
+ "name": "",
722
+ "type": "address"
723
+ }
724
+ ],
725
+ "stateMutability": "view",
726
+ "type": "function"
727
+ }
728
+ ],
729
+ "transactionHash": "0x2240bb80f0dc1ff40017b300d39909ab834016c112a3be64df3ae139f2ee0b7c",
730
+ "receipt": {
731
+ "to": null,
732
+ "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
733
+ "contractAddress": "0x0b48aF34f4c854F5ae1A3D587da471FeA45bAD52",
734
+ "transactionIndex": 0,
735
+ "gasUsed": "3141035",
736
+ "logsBloom": "0x00000000000000000002000000000000000001000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000800020000000000000000000800000010000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000020000000000000000000000000000000000001000000000000000000000000000000",
737
+ "blockHash": "0xbc8a214e8e8e2479cb855a6a0140b5f7a3d3c920c9c53b991610e73c98e531de",
738
+ "transactionHash": "0x2240bb80f0dc1ff40017b300d39909ab834016c112a3be64df3ae139f2ee0b7c",
739
+ "logs": [
740
+ {
741
+ "transactionIndex": 0,
742
+ "blockNumber": 131,
743
+ "transactionHash": "0x2240bb80f0dc1ff40017b300d39909ab834016c112a3be64df3ae139f2ee0b7c",
744
+ "address": "0x0b48aF34f4c854F5ae1A3D587da471FeA45bAD52",
745
+ "topics": [
746
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
747
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
748
+ "0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"
749
+ ],
750
+ "data": "0x",
751
+ "logIndex": 0,
752
+ "blockHash": "0xbc8a214e8e8e2479cb855a6a0140b5f7a3d3c920c9c53b991610e73c98e531de"
753
+ }
754
+ ],
755
+ "blockNumber": 131,
756
+ "cumulativeGasUsed": "3141035",
757
+ "status": 1,
758
+ "byzantium": true
759
+ },
760
+ "args": [],
761
+ "numDeployments": 1,
762
+ "solcInputHash": "5ca99727c7fedfa1f4b820c3cc1e8e86",
763
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001d3362000023565b62000075565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6137c480620000856000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806381fa12a1116100d8578063d0f9ffb51161008c578063d59104ed11610066578063d59104ed14610469578063ef7027f21461047c578063f2fde38b1461048f57600080fd5b8063d0f9ffb514610430578063d2d287f014610443578063d2f759851461045657600080fd5b80638fd061fc116100bd5780638fd061fc146103ea578063c4c37246146103fd578063cd84b89d1461041d57600080fd5b806381fa12a1146103ab5780638da5cb5b146103cc57600080fd5b8063560042df1161012f5780636c473aff116101145780636c473aff146102fd578063715018a61461034257806375b5152a1461034a57600080fd5b8063560042df1461029b5780636750cd4c146102bb57600080fd5b80633563876b116101605780633563876b146101ba57806343ea4fa9146101db578063545d1efa146101ee57600080fd5b80630e3751b91461017c5780631c63e3b6146101a5575b600080fd5b61018f61018a366004612ec8565b6104a2565b60405161019c9190612ffa565b60405180910390f35b6101b86101b3366004613059565b610688565b005b6101cd6101c8366004612ec8565b610819565b60405161019c9291906130b0565b61018f6101e9366004612ec8565b610890565b61025a6101fc366004612ec8565b600160209081526000928352604080842090915290825290205463ffffffff811690640100000000810467ffffffffffffffff16906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1683565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff169082015260600161019c565b6102ae6102a936600461310c565b610c6a565b60405161019c919061318b565b6102ed6102c936600461319e565b63ffffffff1660009081526004602052604090205467ffffffffffffffff16151590565b604051901515815260200161019c565b60055461031d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610e2e565b61025a61035836600461319e565b60006020819052908152604090205463ffffffff811690640100000000810467ffffffffffffffff16906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1683565b6103be6103b93660046131b9565b610e42565b60405161019c9291906131f8565b60025473ffffffffffffffffffffffffffffffffffffffff1661031d565b6103be6103f836600461321c565b611105565b61041061040b366004612ec8565b611305565b60405161019c9190613261565b6101b861042b3660046132a8565b6114bc565b61018f61043e36600461319e565b611592565b6101b8610451366004613059565b611758565b6101b86104643660046132c5565b611a02565b6101b8610477366004613307565b611fd8565b6102ae61048a36600461310c565b6123bb565b6101b861049d3660046132a8565b6124fc565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260036020908152604080832063ffffffff86168452825291829020825161010081018452815467ffffffffffffffff8116825260ff68010000000000000000820481161515838601526901000000000000000000820481161515838701526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548551818602810186019096528086529194929360c0860193929083018282801561060757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116105dc575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561067657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161064b575b50505050508152505090505b92915050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff163314610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b60405180910390fd5b5060005b82811015610813576000848483818110610738576107386133ab565b905060200201602081019061074d919061319e565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020908152604080832063ffffffff85168452909152812080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681559192506107b96001830182612dcd565b6107c7600283016000612dcd565b505073ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832063ffffffff85168452909152812055508061080b81613409565b91505061071c565b50505050565b60408051610100810182526000808252602080830182905282840182905260608084018390526080840183905260a0840183905260c0840181905260e0840181905284519081018552828152908101829052928301529061087a8484610890565b6108848585611305565b915091505b9250929050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260036020908152604080832063ffffffff861684528252808320815161010081018352815467ffffffffffffffff8116825260ff68010000000000000000820481161515838701526901000000000000000000820481161515838601526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548451818702810187019095528085529194929360c08601939092908301828280156109f557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109ca575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a6457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a39575b5050509190925250505063ffffffff841660009081526004602090815260409182902080548351808501909452600784527f4c5a3130303038000000000000000000000000000000000000000000000000009284019290925292935067ffffffffffffffff169081610b03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50825167ffffffffffffffff16600003610b255767ffffffffffffffff811683525b8260200151610bb65781600101805480602002602001604051908101604052809291908181526020018280548015610b9357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b68575b505050505060c084015281546a0100000000000000000000900460ff1660608401525b8260400151610c605781600201805480602002602001604051908101604052809291908181526020018280548015610c2457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bf9575b505050505060e0840152815460ff6b0100000000000000000000008204811660808601526c010000000000000000000000009091041660a08401525b5090949350505050565b6060600363ffffffff831611610c8b57610c8483836123bb565b9050610682565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff831601610d025763ffffffff83166000908152600460209081526040918290208054835167ffffffffffffffff9091169281019290925291015b604051602081830303815290604052915050610682565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff831601610d595763ffffffff83166000908152600460209081526040918290209151610ceb9160018401910161348c565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff831601610dc95763ffffffff8316600090815260046020908152604091829020805492519092610ceb9260028501926c0100000000000000000000000090920460ff16910161349f565b604080518082018252600781527f4c5a433030303000000000000000000000000000000000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261070f919060040161318b565b610e366125b3565b610e406000612634565b565b606060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301610f235773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832063ffffffff808a168552925282208054909291169003610ef35763ffffffff868116600090815260208181526040918290208054835194169184019190915291015b60405160208183030381529060405260019350935050506110fd565b80546040805163ffffffff9092166020830152015b604051602081830303815290604052600092509250506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8301610ffd5773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832063ffffffff8916845290915281208054909164010000000090910467ffffffffffffffff169003610fd95763ffffffff8616600090815260208181526040918290208054835164010000000090910467ffffffffffffffff16928101929092529101610ed7565b80546040805164010000000090920467ffffffffffffffff16602083015201610f08565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8301610dc95773ffffffffffffffffffffffffffffffffffffffff808516600090815260016020908152604080832063ffffffff8a1684529091529020805490916c01000000000000000000000000909104166110c55763ffffffff861660009081526020818152604091829020805483516c0100000000000000000000000090910473ffffffffffffffffffffffffffffffffffffffff16928101929092529101610ed7565b8054604080516c0100000000000000000000000090920473ffffffffffffffffffffffffffffffffffffffff16602083015201610f08565b935093915050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020818152604080842063ffffffff8089168652908352818520600490935290842060609493909186161161116e5761116387878763ffffffff16610e42565b9350935050506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff86160161120057815467ffffffffffffffff166000036111cb5780546040805167ffffffffffffffff909216602083015201610ed7565b81546040805167ffffffffffffffff9092166020830152015b60405160208183030381529060405260009350935050506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff86160161126b57815468010000000000000000900460ff161561125757816001016040516020016111e4919061348c565b80600101604051602001610ed7919061348c565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff861601610dc95781546901000000000000000000900460ff16156112da5781546040516111e49160028501916c0100000000000000000000000090910460ff169060200161349f565b8054604051610ed79160028401916c0100000000000000000000000090910460ff169060200161349f565b60408051606080820183526000808352602080840182905283850182905273ffffffffffffffffffffffffffffffffffffffff87811683526001825285832063ffffffff88811680865291845287852088518088018a529054808316825264010000000080820467ffffffffffffffff908116848901526c01000000000000000000000000928390048716848d0152948852878752968a90208a519889018b525492831680895296830490931687860152919004909116848701528551808701909652600786527f4c5a3130303038000000000000000000000000000000000000000000000000009186019190915292939061142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50815163ffffffff1660000361144957805163ffffffff1682525b816020015167ffffffffffffffff166000036114745760208082015167ffffffffffffffff16908301525b604082015173ffffffffffffffffffffffffffffffffffffffff166114b45760408082015173ffffffffffffffffffffffffffffffffffffffff16908301525b509392505050565b6114c46125b3565b60055460408051808201909152600781527f4c5a38303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff161561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915263ffffffff8216600090815260046020908152604091829020825161010081018452815467ffffffffffffffff8116825260ff68010000000000000000820481161515838601526901000000000000000000820481161515838701526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548551818602810186019096528086529194929360c086019392908301828280156116d957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116ae575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561174857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161171d575b5050505050815250509050919050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff1633146117df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5060005b828110156108135760008484838181106117ff576117ff6133ab565b9050602002016020810190611814919061319e565b905060006118228483610890565b60016020808301828152604080850184815273ffffffffffffffffffffffffffffffffffffffff8a1660009081526003855282812063ffffffff8a16825285529190912085518154935192516060880151608089015160a08a015160ff9081166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff9282166b01000000000000000000000002929092167fffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff939091166a0100000000000000000000027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff941515690100000000000000000002949094167fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff97151568010000000000000000027fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000090991667ffffffffffffffff9096169590951797909717959095169290921717169290921717815560c08401518051949550859491936119c39390850192910190612deb565b5060e082015180516119df916002840191602090910190612deb565b509050506119ed82856126ab565b505080806119fa90613409565b9150506117e3565b611a0a6125b3565b60005b81811015611fd35736838383818110611a2857611a286133ab565b9050602002810190611a3a91906134c4565b90506000611a4b60a0830183613502565b915060009050611a5e60c0840184613502565b915060009050611a7460a085016080860161356a565b67ffffffffffffffff16116040518060400160405280600781526020017f4c5a31303030300000000000000000000000000000000000000000000000000081525090611aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5060ff611afa8284613594565b11156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090611b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5080611b7d610100850160e086016135b8565b60ff1611156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506000821180611c1357506000611c0e610100850160e086016135b8565b60ff16115b6040518060400160405280600781526020017f4c5a31303031310000000000000000000000000000000000000000000000000081525090611c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50611ccb611c9260a0850185613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250869250612763915050565b611d14611cdb60c0850185613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612763915050565b60408051610100810190915280611d3160a086016080870161356a565b67ffffffffffffffff168152600060208201819052604082015260ff80851660608301528316608082015260a001611d70610100860160e087016135b8565b60ff168152602001611d8560a0860186613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505090825250602001611dc960c0860186613502565b808060200260200160405190810160405280939291908181526020018383602002808284376000920182905250939094525060049250611e0e9050602087018761319e565b63ffffffff16815260208082019290925260409081016000208351815485850151938601516060870151608088015160a089015167ffffffffffffffff9095167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909416939093176801000000000000000096151596909602959095177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000911515919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000060ff95861602177fffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff166b010000000000000000000000918516919091027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff16176c01000000000000000000000000939091169290920291909117815560c083015180519192611f8592600185019290910190612deb565b5060e08201518051611fa1916002840191602090910190612deb565b50611fbf9150611fb69050602085018561319e565b8460200161283f565b50505080611fcc90613409565b9050611a0d565b505050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff16331461205f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5073ffffffffffffffffffffffffffffffffffffffff8416600090815260036020818152604080842063ffffffff808b1686529252909220918516116120b1576120ac8587868686612a75565b6123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff8516016121265760006120ec8385018561356a565b82547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff91909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff85160161221257600080612162848601866136d2565b9150915060006121728251612c13565b9050612181828260ff16612763565b83547fffffffffffffffffffffffffffffffffffffffffff00ff00ffffffffffffffff1668010000000000000000841515027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000060ff83160217845581516121ff9060018601906020850190612deb565b5061220a8989612caa565b5050506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff851601610dc9576000808061224f85870187613720565b92509250925060006122618351612c13565b90508060ff168260ff1611156040518060400160405280600781526020017f4c5a313030303000000000000000000000000000000000000000000000000000815250906122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506122e9838260ff16612763565b84547fffffffffffffffffffffffffffffffffffffffff00ff00ffffffffffffffffff166901000000000000000000851515027fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff16176b01000000000000000000000060ff83160217855582516123699060028701906020860190612deb565b5084547fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff166c0100000000000000000000000060ff8416021785556123ae8a8a612caa565b505050505b505050505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff8316016124165763ffffffff83811660009081526020818152604091829020805483519416918401919091529101610ceb565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff83160161247f5763ffffffff8316600090815260208181526040918290208054835164010000000090910467ffffffffffffffff16928101929092529101610ceb565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff831601610dc95763ffffffff831660009081526020818152604091829020805483516c0100000000000000000000000090910473ffffffffffffffffffffffffffffffffffffffff16928101929092529101610ceb565b6125046125b3565b73ffffffffffffffffffffffffffffffffffffffff81166125a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161070f565b6125b081612634565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161070f565b6002805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6126b58183611305565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832063ffffffff9687168452825291829020835181549285015194909301519094166c01000000000000000000000000026bffffffffffffffffffffffff67ffffffffffffffff909416640100000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921692909516919091171716919091179055565b6000805b82811015610813576000848281518110612783576127836133ab565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116040518060400160405280600781526020017f4c5a3130303036000000000000000000000000000000000000000000000000008152509061282a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5091508061283781613409565b915050612767565b6000612851604083016020840161356a565b67ffffffffffffffff1611801561288e5750600061287560608301604084016132a8565b73ffffffffffffffffffffffffffffffffffffffff1614155b6040518060400160405280600781526020017f4c5a313030303000000000000000000000000000000000000000000000000000815250906128fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50600061290c602083018361319e565b63ffffffff16116040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090612981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5063ffffffff821660009081526020819052604090819020906129aa90606084019084016132a8565b815473ffffffffffffffffffffffffffffffffffffffff919091166c01000000000000000000000000026bffffffffffffffffffffffff9091161781556129f4602083018361319e565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff91909116178155612a34604083016020840161356a565b815467ffffffffffffffff91909116640100000000027fffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffff9091161790555050565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832063ffffffff888116855292529091209084167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612b19576000612ae38385018561319e565b82547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff91909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff851601612b96576000612b548385018561356a565b825467ffffffffffffffff909116640100000000027fffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffff909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff851601610dc9576000612bd1838501856132a8565b825473ffffffffffffffffffffffffffffffffffffffff9091166c01000000000000000000000000026bffffffffffffffffffffffff909116178255506123b3565b600060ff821115612ca6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201527f2062697473000000000000000000000000000000000000000000000000000000606482015260840161070f565b5090565b6000612cb68284610890565b90506000816060015160ff161180612cd5575060008160a0015160ff16115b6040518060400160405280600781526020017f4c5a44303030340000000000000000000000000000000000000000000000000081525090612d43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506080810151606082015160ff91612d5a91613775565b60ff1611156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50805460008255906000526020600020908101906125b09190612e6d565b828054828255906000526020600020908101928215612e65579160200282015b82811115612e6557825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612e0b565b50612ca69291505b5b80821115612ca65760008155600101612e6e565b73ffffffffffffffffffffffffffffffffffffffff811681146125b057600080fd5b8035612eaf81612e82565b919050565b803563ffffffff81168114612eaf57600080fd5b60008060408385031215612edb57600080fd5b8235612ee681612e82565b9150612ef460208401612eb4565b90509250929050565b600081518084526020808501945080840160005b83811015612f4357815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612f11565b509495945050505050565b600061010067ffffffffffffffff83511684526020830151151560208501526040830151612f80604086018215159052565b506060830151612f95606086018260ff169052565b506080830151612faa608086018260ff169052565b5060a0830151612fbf60a086018260ff169052565b5060c08301518160c0860152612fd782860182612efd565b91505060e083015184820360e0860152612ff18282612efd565b95945050505050565b60208152600061300d6020830184612f4e565b9392505050565b60008083601f84011261302657600080fd5b50813567ffffffffffffffff81111561303e57600080fd5b6020830191508360208260051b850101111561088957600080fd5b60008060006040848603121561306e57600080fd5b833567ffffffffffffffff81111561308557600080fd5b61309186828701613014565b90945092505060208401356130a581612e82565b809150509250925092565b6080815260006130c36080830185612f4e565b905061300d6020830184805163ffffffff16825260208082015167ffffffffffffffff169083015260409081015173ffffffffffffffffffffffffffffffffffffffff16910152565b6000806040838503121561311f57600080fd5b612ee683612eb4565b60008151808452602060005b8281101561314f578481018201518682018301528101613134565b506000858301820152601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690930190920192915050565b60208152600061300d6020830184613128565b6000602082840312156131b057600080fd5b61300d82612eb4565b6000806000606084860312156131ce57600080fd5b6131d784612eb4565b925060208401356131e781612e82565b929592945050506040919091013590565b60408152600061320b6040830185613128565b905082151560208301529392505050565b60008060006060848603121561323157600080fd5b61323a84612eb4565b9250602084013561324a81612e82565b915061325860408501612eb4565b90509250925092565b815163ffffffff16815260208083015167ffffffffffffffff169082015260408083015173ffffffffffffffffffffffffffffffffffffffff169082015260608101610682565b6000602082840312156132ba57600080fd5b813561300d81612e82565b600080602083850312156132d857600080fd5b823567ffffffffffffffff8111156132ef57600080fd5b6132fb85828601613014565b90969095509350505050565b60008060008060006080868803121561331f57600080fd5b61332886612eb4565b9450602086013561333881612e82565b935061334660408701612eb4565b9250606086013567ffffffffffffffff8082111561336357600080fd5b818801915088601f83011261337757600080fd5b81358181111561338657600080fd5b89602082850101111561339857600080fd5b9699959850939650602001949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361343a5761343a6133da565b5060010190565b6000815480845260208085019450836000528060002060005b83811015612f4357815473ffffffffffffffffffffffffffffffffffffffff168752958201956001918201910161345a565b60208152600061300d6020830184613441565b6040815260006134b26040830185613441565b905060ff831660208301529392505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018336030181126134f857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261353757600080fd5b83018035915067ffffffffffffffff82111561355257600080fd5b6020019150600581901b360382131561088957600080fd5b60006020828403121561357c57600080fd5b813567ffffffffffffffff8116811461300d57600080fd5b80820180821115610682576106826133da565b803560ff81168114612eaf57600080fd5b6000602082840312156135ca57600080fd5b61300d826135a7565b80358015158114612eaf57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261362357600080fd5b8135602067ffffffffffffffff80831115613640576136406135e3565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715613683576136836135e3565b6040529384528581018301938381019250878511156136a157600080fd5b83870191505b848210156136c7576136b882612ea4565b835291830191908301906136a7565b979650505050505050565b600080604083850312156136e557600080fd5b6136ee836135d3565b9150602083013567ffffffffffffffff81111561370a57600080fd5b61371685828601613612565b9150509250929050565b60008060006060848603121561373557600080fd5b61373e846135d3565b9250602084013567ffffffffffffffff81111561375a57600080fd5b61376686828701613612565b925050613258604085016135a7565b60ff8181168382160190811115610682576106826133da56fea264697066735822122089c74b792c1ef0e1b98d245fe87770f3207c4bc5477174d1840d19f83893c66c64736f6c63430008130033",
764
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c806381fa12a1116100d8578063d0f9ffb51161008c578063d59104ed11610066578063d59104ed14610469578063ef7027f21461047c578063f2fde38b1461048f57600080fd5b8063d0f9ffb514610430578063d2d287f014610443578063d2f759851461045657600080fd5b80638fd061fc116100bd5780638fd061fc146103ea578063c4c37246146103fd578063cd84b89d1461041d57600080fd5b806381fa12a1146103ab5780638da5cb5b146103cc57600080fd5b8063560042df1161012f5780636c473aff116101145780636c473aff146102fd578063715018a61461034257806375b5152a1461034a57600080fd5b8063560042df1461029b5780636750cd4c146102bb57600080fd5b80633563876b116101605780633563876b146101ba57806343ea4fa9146101db578063545d1efa146101ee57600080fd5b80630e3751b91461017c5780631c63e3b6146101a5575b600080fd5b61018f61018a366004612ec8565b6104a2565b60405161019c9190612ffa565b60405180910390f35b6101b86101b3366004613059565b610688565b005b6101cd6101c8366004612ec8565b610819565b60405161019c9291906130b0565b61018f6101e9366004612ec8565b610890565b61025a6101fc366004612ec8565b600160209081526000928352604080842090915290825290205463ffffffff811690640100000000810467ffffffffffffffff16906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1683565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff169082015260600161019c565b6102ae6102a936600461310c565b610c6a565b60405161019c919061318b565b6102ed6102c936600461319e565b63ffffffff1660009081526004602052604090205467ffffffffffffffff16151590565b604051901515815260200161019c565b60055461031d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610e2e565b61025a61035836600461319e565b60006020819052908152604090205463ffffffff811690640100000000810467ffffffffffffffff16906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1683565b6103be6103b93660046131b9565b610e42565b60405161019c9291906131f8565b60025473ffffffffffffffffffffffffffffffffffffffff1661031d565b6103be6103f836600461321c565b611105565b61041061040b366004612ec8565b611305565b60405161019c9190613261565b6101b861042b3660046132a8565b6114bc565b61018f61043e36600461319e565b611592565b6101b8610451366004613059565b611758565b6101b86104643660046132c5565b611a02565b6101b8610477366004613307565b611fd8565b6102ae61048a36600461310c565b6123bb565b6101b861049d3660046132a8565b6124fc565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260036020908152604080832063ffffffff86168452825291829020825161010081018452815467ffffffffffffffff8116825260ff68010000000000000000820481161515838601526901000000000000000000820481161515838701526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548551818602810186019096528086529194929360c0860193929083018282801561060757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116105dc575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561067657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161064b575b50505050508152505090505b92915050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff163314610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b60405180910390fd5b5060005b82811015610813576000848483818110610738576107386133ab565b905060200201602081019061074d919061319e565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020908152604080832063ffffffff85168452909152812080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681559192506107b96001830182612dcd565b6107c7600283016000612dcd565b505073ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832063ffffffff85168452909152812055508061080b81613409565b91505061071c565b50505050565b60408051610100810182526000808252602080830182905282840182905260608084018390526080840183905260a0840183905260c0840181905260e0840181905284519081018552828152908101829052928301529061087a8484610890565b6108848585611305565b915091505b9250929050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260036020908152604080832063ffffffff861684528252808320815161010081018352815467ffffffffffffffff8116825260ff68010000000000000000820481161515838701526901000000000000000000820481161515838601526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548451818702810187019095528085529194929360c08601939092908301828280156109f557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109ca575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a6457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a39575b5050509190925250505063ffffffff841660009081526004602090815260409182902080548351808501909452600784527f4c5a3130303038000000000000000000000000000000000000000000000000009284019290925292935067ffffffffffffffff169081610b03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50825167ffffffffffffffff16600003610b255767ffffffffffffffff811683525b8260200151610bb65781600101805480602002602001604051908101604052809291908181526020018280548015610b9357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b68575b505050505060c084015281546a0100000000000000000000900460ff1660608401525b8260400151610c605781600201805480602002602001604051908101604052809291908181526020018280548015610c2457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bf9575b505050505060e0840152815460ff6b0100000000000000000000008204811660808601526c010000000000000000000000009091041660a08401525b5090949350505050565b6060600363ffffffff831611610c8b57610c8483836123bb565b9050610682565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff831601610d025763ffffffff83166000908152600460209081526040918290208054835167ffffffffffffffff9091169281019290925291015b604051602081830303815290604052915050610682565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff831601610d595763ffffffff83166000908152600460209081526040918290209151610ceb9160018401910161348c565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff831601610dc95763ffffffff8316600090815260046020908152604091829020805492519092610ceb9260028501926c0100000000000000000000000090920460ff16910161349f565b604080518082018252600781527f4c5a433030303000000000000000000000000000000000000000000000000000602082015290517f08c379a000000000000000000000000000000000000000000000000000000000815261070f919060040161318b565b610e366125b3565b610e406000612634565b565b606060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301610f235773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832063ffffffff808a168552925282208054909291169003610ef35763ffffffff868116600090815260208181526040918290208054835194169184019190915291015b60405160208183030381529060405260019350935050506110fd565b80546040805163ffffffff9092166020830152015b604051602081830303815290604052600092509250506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8301610ffd5773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832063ffffffff8916845290915281208054909164010000000090910467ffffffffffffffff169003610fd95763ffffffff8616600090815260208181526040918290208054835164010000000090910467ffffffffffffffff16928101929092529101610ed7565b80546040805164010000000090920467ffffffffffffffff16602083015201610f08565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8301610dc95773ffffffffffffffffffffffffffffffffffffffff808516600090815260016020908152604080832063ffffffff8a1684529091529020805490916c01000000000000000000000000909104166110c55763ffffffff861660009081526020818152604091829020805483516c0100000000000000000000000090910473ffffffffffffffffffffffffffffffffffffffff16928101929092529101610ed7565b8054604080516c0100000000000000000000000090920473ffffffffffffffffffffffffffffffffffffffff16602083015201610f08565b935093915050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020818152604080842063ffffffff8089168652908352818520600490935290842060609493909186161161116e5761116387878763ffffffff16610e42565b9350935050506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff86160161120057815467ffffffffffffffff166000036111cb5780546040805167ffffffffffffffff909216602083015201610ed7565b81546040805167ffffffffffffffff9092166020830152015b60405160208183030381529060405260009350935050506110fd565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff86160161126b57815468010000000000000000900460ff161561125757816001016040516020016111e4919061348c565b80600101604051602001610ed7919061348c565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff861601610dc95781546901000000000000000000900460ff16156112da5781546040516111e49160028501916c0100000000000000000000000090910460ff169060200161349f565b8054604051610ed79160028401916c0100000000000000000000000090910460ff169060200161349f565b60408051606080820183526000808352602080840182905283850182905273ffffffffffffffffffffffffffffffffffffffff87811683526001825285832063ffffffff88811680865291845287852088518088018a529054808316825264010000000080820467ffffffffffffffff908116848901526c01000000000000000000000000928390048716848d0152948852878752968a90208a519889018b525492831680895296830490931687860152919004909116848701528551808701909652600786527f4c5a3130303038000000000000000000000000000000000000000000000000009186019190915292939061142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50815163ffffffff1660000361144957805163ffffffff1682525b816020015167ffffffffffffffff166000036114745760208082015167ffffffffffffffff16908301525b604082015173ffffffffffffffffffffffffffffffffffffffff166114b45760408082015173ffffffffffffffffffffffffffffffffffffffff16908301525b509392505050565b6114c46125b3565b60055460408051808201909152600781527f4c5a38303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff161561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915263ffffffff8216600090815260046020908152604091829020825161010081018452815467ffffffffffffffff8116825260ff68010000000000000000820481161515838601526901000000000000000000820481161515838701526a01000000000000000000008204811660608401526b0100000000000000000000008204811660808401526c010000000000000000000000009091041660a08201526001820180548551818602810186019096528086529194929360c086019392908301828280156116d957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116ae575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561174857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161171d575b5050505050815250509050919050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff1633146117df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5060005b828110156108135760008484838181106117ff576117ff6133ab565b9050602002016020810190611814919061319e565b905060006118228483610890565b60016020808301828152604080850184815273ffffffffffffffffffffffffffffffffffffffff8a1660009081526003855282812063ffffffff8a16825285529190912085518154935192516060880151608089015160a08a015160ff9081166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff9282166b01000000000000000000000002929092167fffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff939091166a0100000000000000000000027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff941515690100000000000000000002949094167fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff97151568010000000000000000027fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000090991667ffffffffffffffff9096169590951797909717959095169290921717169290921717815560c08401518051949550859491936119c39390850192910190612deb565b5060e082015180516119df916002840191602090910190612deb565b509050506119ed82856126ab565b505080806119fa90613409565b9150506117e3565b611a0a6125b3565b60005b81811015611fd35736838383818110611a2857611a286133ab565b9050602002810190611a3a91906134c4565b90506000611a4b60a0830183613502565b915060009050611a5e60c0840184613502565b915060009050611a7460a085016080860161356a565b67ffffffffffffffff16116040518060400160405280600781526020017f4c5a31303030300000000000000000000000000000000000000000000000000081525090611aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5060ff611afa8284613594565b11156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090611b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5080611b7d610100850160e086016135b8565b60ff1611156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506000821180611c1357506000611c0e610100850160e086016135b8565b60ff16115b6040518060400160405280600781526020017f4c5a31303031310000000000000000000000000000000000000000000000000081525090611c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50611ccb611c9260a0850185613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250869250612763915050565b611d14611cdb60c0850185613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612763915050565b60408051610100810190915280611d3160a086016080870161356a565b67ffffffffffffffff168152600060208201819052604082015260ff80851660608301528316608082015260a001611d70610100860160e087016135b8565b60ff168152602001611d8560a0860186613502565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505090825250602001611dc960c0860186613502565b808060200260200160405190810160405280939291908181526020018383602002808284376000920182905250939094525060049250611e0e9050602087018761319e565b63ffffffff16815260208082019290925260409081016000208351815485850151938601516060870151608088015160a089015167ffffffffffffffff9095167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909416939093176801000000000000000096151596909602959095177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000911515919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000060ff95861602177fffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff166b010000000000000000000000918516919091027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff16176c01000000000000000000000000939091169290920291909117815560c083015180519192611f8592600185019290910190612deb565b5060e08201518051611fa1916002840191602090910190612deb565b50611fbf9150611fb69050602085018561319e565b8460200161283f565b50505080611fcc90613409565b9050611a0d565b505050565b60055460408051808201909152600781527f4c5a35303030300000000000000000000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff16331461205f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5073ffffffffffffffffffffffffffffffffffffffff8416600090815260036020818152604080842063ffffffff808b1686529252909220918516116120b1576120ac8587868686612a75565b6123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc63ffffffff8516016121265760006120ec8385018561356a565b82547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff91909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff85160161221257600080612162848601866136d2565b9150915060006121728251612c13565b9050612181828260ff16612763565b83547fffffffffffffffffffffffffffffffffffffffffff00ff00ffffffffffffffff1668010000000000000000841515027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000060ff83160217845581516121ff9060018601906020850190612deb565b5061220a8989612caa565b5050506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff851601610dc9576000808061224f85870187613720565b92509250925060006122618351612c13565b90508060ff168260ff1611156040518060400160405280600781526020017f4c5a313030303000000000000000000000000000000000000000000000000000815250906122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506122e9838260ff16612763565b84547fffffffffffffffffffffffffffffffffffffffff00ff00ffffffffffffffffff166901000000000000000000851515027fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff16176b01000000000000000000000060ff83160217855582516123699060028701906020860190612deb565b5084547fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff166c0100000000000000000000000060ff8416021785556123ae8a8a612caa565b505050505b505050505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff8316016124165763ffffffff83811660009081526020818152604091829020805483519416918401919091529101610ceb565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff83160161247f5763ffffffff8316600090815260208181526040918290208054835164010000000090910467ffffffffffffffff16928101929092529101610ceb565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff831601610dc95763ffffffff831660009081526020818152604091829020805483516c0100000000000000000000000090910473ffffffffffffffffffffffffffffffffffffffff16928101929092529101610ceb565b6125046125b3565b73ffffffffffffffffffffffffffffffffffffffff81166125a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161070f565b6125b081612634565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161070f565b6002805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6126b58183611305565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832063ffffffff9687168452825291829020835181549285015194909301519094166c01000000000000000000000000026bffffffffffffffffffffffff67ffffffffffffffff909416640100000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921692909516919091171716919091179055565b6000805b82811015610813576000848281518110612783576127836133ab565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116040518060400160405280600781526020017f4c5a3130303036000000000000000000000000000000000000000000000000008152509061282a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5091508061283781613409565b915050612767565b6000612851604083016020840161356a565b67ffffffffffffffff1611801561288e5750600061287560608301604084016132a8565b73ffffffffffffffffffffffffffffffffffffffff1614155b6040518060400160405280600781526020017f4c5a313030303000000000000000000000000000000000000000000000000000815250906128fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50600061290c602083018361319e565b63ffffffff16116040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090612981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b5063ffffffff821660009081526020819052604090819020906129aa90606084019084016132a8565b815473ffffffffffffffffffffffffffffffffffffffff919091166c01000000000000000000000000026bffffffffffffffffffffffff9091161781556129f4602083018361319e565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff91909116178155612a34604083016020840161356a565b815467ffffffffffffffff91909116640100000000027fffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffff9091161790555050565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832063ffffffff888116855292529091209084167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612b19576000612ae38385018561319e565b82547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff91909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff851601612b96576000612b548385018561356a565b825467ffffffffffffffff909116640100000000027fffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffff909116178255506123b3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff851601610dc9576000612bd1838501856132a8565b825473ffffffffffffffffffffffffffffffffffffffff9091166c01000000000000000000000000026bffffffffffffffffffffffff909116178255506123b3565b600060ff821115612ca6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201527f2062697473000000000000000000000000000000000000000000000000000000606482015260840161070f565b5090565b6000612cb68284610890565b90506000816060015160ff161180612cd5575060008160a0015160ff16115b6040518060400160405280600781526020017f4c5a44303030340000000000000000000000000000000000000000000000000081525090612d43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b506080810151606082015160ff91612d5a91613775565b60ff1611156040518060400160405280600781526020017f4c5a31303030390000000000000000000000000000000000000000000000000081525090610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f919061318b565b50805460008255906000526020600020908101906125b09190612e6d565b828054828255906000526020600020908101928215612e65579160200282015b82811115612e6557825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612e0b565b50612ca69291505b5b80821115612ca65760008155600101612e6e565b73ffffffffffffffffffffffffffffffffffffffff811681146125b057600080fd5b8035612eaf81612e82565b919050565b803563ffffffff81168114612eaf57600080fd5b60008060408385031215612edb57600080fd5b8235612ee681612e82565b9150612ef460208401612eb4565b90509250929050565b600081518084526020808501945080840160005b83811015612f4357815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612f11565b509495945050505050565b600061010067ffffffffffffffff83511684526020830151151560208501526040830151612f80604086018215159052565b506060830151612f95606086018260ff169052565b506080830151612faa608086018260ff169052565b5060a0830151612fbf60a086018260ff169052565b5060c08301518160c0860152612fd782860182612efd565b91505060e083015184820360e0860152612ff18282612efd565b95945050505050565b60208152600061300d6020830184612f4e565b9392505050565b60008083601f84011261302657600080fd5b50813567ffffffffffffffff81111561303e57600080fd5b6020830191508360208260051b850101111561088957600080fd5b60008060006040848603121561306e57600080fd5b833567ffffffffffffffff81111561308557600080fd5b61309186828701613014565b90945092505060208401356130a581612e82565b809150509250925092565b6080815260006130c36080830185612f4e565b905061300d6020830184805163ffffffff16825260208082015167ffffffffffffffff169083015260409081015173ffffffffffffffffffffffffffffffffffffffff16910152565b6000806040838503121561311f57600080fd5b612ee683612eb4565b60008151808452602060005b8281101561314f578481018201518682018301528101613134565b506000858301820152601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690930190920192915050565b60208152600061300d6020830184613128565b6000602082840312156131b057600080fd5b61300d82612eb4565b6000806000606084860312156131ce57600080fd5b6131d784612eb4565b925060208401356131e781612e82565b929592945050506040919091013590565b60408152600061320b6040830185613128565b905082151560208301529392505050565b60008060006060848603121561323157600080fd5b61323a84612eb4565b9250602084013561324a81612e82565b915061325860408501612eb4565b90509250925092565b815163ffffffff16815260208083015167ffffffffffffffff169082015260408083015173ffffffffffffffffffffffffffffffffffffffff169082015260608101610682565b6000602082840312156132ba57600080fd5b813561300d81612e82565b600080602083850312156132d857600080fd5b823567ffffffffffffffff8111156132ef57600080fd5b6132fb85828601613014565b90969095509350505050565b60008060008060006080868803121561331f57600080fd5b61332886612eb4565b9450602086013561333881612e82565b935061334660408701612eb4565b9250606086013567ffffffffffffffff8082111561336357600080fd5b818801915088601f83011261337757600080fd5b81358181111561338657600080fd5b89602082850101111561339857600080fd5b9699959850939650602001949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361343a5761343a6133da565b5060010190565b6000815480845260208085019450836000528060002060005b83811015612f4357815473ffffffffffffffffffffffffffffffffffffffff168752958201956001918201910161345a565b60208152600061300d6020830184613441565b6040815260006134b26040830185613441565b905060ff831660208301529392505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018336030181126134f857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261353757600080fd5b83018035915067ffffffffffffffff82111561355257600080fd5b6020019150600581901b360382131561088957600080fd5b60006020828403121561357c57600080fd5b813567ffffffffffffffff8116811461300d57600080fd5b80820180821115610682576106826133da565b803560ff81168114612eaf57600080fd5b6000602082840312156135ca57600080fd5b61300d826135a7565b80358015158114612eaf57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261362357600080fd5b8135602067ffffffffffffffff80831115613640576136406135e3565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715613683576136836135e3565b6040529384528581018301938381019250878511156136a157600080fd5b83870191505b848210156136c7576136b882612ea4565b835291830191908301906136a7565b979650505050505050565b600080604083850312156136e557600080fd5b6136ee836135d3565b9150602083013567ffffffffffffffff81111561370a57600080fd5b61371685828601613612565b9150509250929050565b60008060006060848603121561373557600080fd5b61373e846135d3565b9250602084013567ffffffffffffffff81111561375a57600080fd5b61376686828701613612565b925050613258604085016135a7565b60ff8181168382160190811115610682576106826133da56fea264697066735822122089c74b792c1ef0e1b98d245fe87770f3207c4bc5477174d1840d19f83893c66c64736f6c63430008130033",
765
+ "devdoc": {
766
+ "kind": "dev",
767
+ "methods": {
768
+ "getRawUlnConfig(address,uint32)": {
769
+ "details": "Get the uln config without the default config for the given remoteEid."
770
+ },
771
+ "owner()": {
772
+ "details": "Returns the address of the current owner."
773
+ },
774
+ "renounceOwnership()": {
775
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
776
+ },
777
+ "transferOwnership(address)": {
778
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
779
+ }
780
+ },
781
+ "version": 1
782
+ },
783
+ "userdoc": {
784
+ "kind": "user",
785
+ "methods": {},
786
+ "version": 1
787
+ },
788
+ "storageLayout": {
789
+ "storage": [
790
+ {
791
+ "astId": 11228,
792
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
793
+ "label": "defaultOutboundConfig",
794
+ "offset": 0,
795
+ "slot": "0",
796
+ "type": "t_mapping(t_uint32,t_struct(OutboundConfigStruct)11213_storage)"
797
+ },
798
+ {
799
+ "astId": 11235,
800
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
801
+ "label": "outboundConfig",
802
+ "offset": 0,
803
+ "slot": "1",
804
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(OutboundConfigStruct)11213_storage))"
805
+ },
806
+ {
807
+ "astId": 5168,
808
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
809
+ "label": "_owner",
810
+ "offset": 0,
811
+ "slot": "2",
812
+ "type": "t_address"
813
+ },
814
+ {
815
+ "astId": 14439,
816
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
817
+ "label": "ulnConfig",
818
+ "offset": 0,
819
+ "slot": "3",
820
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfigStruct)16480_storage))"
821
+ },
822
+ {
823
+ "astId": 14444,
824
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
825
+ "label": "defaultUlnConfig",
826
+ "offset": 0,
827
+ "slot": "4",
828
+ "type": "t_mapping(t_uint32,t_struct(UlnConfigStruct)16480_storage)"
829
+ },
830
+ {
831
+ "astId": 14446,
832
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
833
+ "label": "uln",
834
+ "offset": 0,
835
+ "slot": "5",
836
+ "type": "t_address"
837
+ }
838
+ ],
839
+ "types": {
840
+ "t_address": {
841
+ "encoding": "inplace",
842
+ "label": "address",
843
+ "numberOfBytes": "20"
844
+ },
845
+ "t_array(t_address)dyn_storage": {
846
+ "base": "t_address",
847
+ "encoding": "dynamic_array",
848
+ "label": "address[]",
849
+ "numberOfBytes": "32"
850
+ },
851
+ "t_bool": {
852
+ "encoding": "inplace",
853
+ "label": "bool",
854
+ "numberOfBytes": "1"
855
+ },
856
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(OutboundConfigStruct)11213_storage))": {
857
+ "encoding": "mapping",
858
+ "key": "t_address",
859
+ "label": "mapping(address => mapping(uint32 => struct OutboundConfigStruct))",
860
+ "numberOfBytes": "32",
861
+ "value": "t_mapping(t_uint32,t_struct(OutboundConfigStruct)11213_storage)"
862
+ },
863
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfigStruct)16480_storage))": {
864
+ "encoding": "mapping",
865
+ "key": "t_address",
866
+ "label": "mapping(address => mapping(uint32 => struct UlnConfigStruct))",
867
+ "numberOfBytes": "32",
868
+ "value": "t_mapping(t_uint32,t_struct(UlnConfigStruct)16480_storage)"
869
+ },
870
+ "t_mapping(t_uint32,t_struct(OutboundConfigStruct)11213_storage)": {
871
+ "encoding": "mapping",
872
+ "key": "t_uint32",
873
+ "label": "mapping(uint32 => struct OutboundConfigStruct)",
874
+ "numberOfBytes": "32",
875
+ "value": "t_struct(OutboundConfigStruct)11213_storage"
876
+ },
877
+ "t_mapping(t_uint32,t_struct(UlnConfigStruct)16480_storage)": {
878
+ "encoding": "mapping",
879
+ "key": "t_uint32",
880
+ "label": "mapping(uint32 => struct UlnConfigStruct)",
881
+ "numberOfBytes": "32",
882
+ "value": "t_struct(UlnConfigStruct)16480_storage"
883
+ },
884
+ "t_struct(OutboundConfigStruct)11213_storage": {
885
+ "encoding": "inplace",
886
+ "label": "struct OutboundConfigStruct",
887
+ "members": [
888
+ {
889
+ "astId": 11208,
890
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
891
+ "label": "maxMessageSize",
892
+ "offset": 0,
893
+ "slot": "0",
894
+ "type": "t_uint32"
895
+ },
896
+ {
897
+ "astId": 11210,
898
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
899
+ "label": "outboundConfirmations",
900
+ "offset": 4,
901
+ "slot": "0",
902
+ "type": "t_uint64"
903
+ },
904
+ {
905
+ "astId": 11212,
906
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
907
+ "label": "executor",
908
+ "offset": 12,
909
+ "slot": "0",
910
+ "type": "t_address"
911
+ }
912
+ ],
913
+ "numberOfBytes": "32"
914
+ },
915
+ "t_struct(UlnConfigStruct)16480_storage": {
916
+ "encoding": "inplace",
917
+ "label": "struct UlnConfigStruct",
918
+ "members": [
919
+ {
920
+ "astId": 16463,
921
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
922
+ "label": "inboundConfirmations",
923
+ "offset": 0,
924
+ "slot": "0",
925
+ "type": "t_uint64"
926
+ },
927
+ {
928
+ "astId": 16465,
929
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
930
+ "label": "useCustomVerifiers",
931
+ "offset": 8,
932
+ "slot": "0",
933
+ "type": "t_bool"
934
+ },
935
+ {
936
+ "astId": 16467,
937
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
938
+ "label": "useCustomOptionalVerifiers",
939
+ "offset": 9,
940
+ "slot": "0",
941
+ "type": "t_bool"
942
+ },
943
+ {
944
+ "astId": 16469,
945
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
946
+ "label": "verifierCount",
947
+ "offset": 10,
948
+ "slot": "0",
949
+ "type": "t_uint8"
950
+ },
951
+ {
952
+ "astId": 16471,
953
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
954
+ "label": "optionalVerifierCount",
955
+ "offset": 11,
956
+ "slot": "0",
957
+ "type": "t_uint8"
958
+ },
959
+ {
960
+ "astId": 16473,
961
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
962
+ "label": "optionalVerifierThreshold",
963
+ "offset": 12,
964
+ "slot": "0",
965
+ "type": "t_uint8"
966
+ },
967
+ {
968
+ "astId": 16476,
969
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
970
+ "label": "verifiers",
971
+ "offset": 0,
972
+ "slot": "1",
973
+ "type": "t_array(t_address)dyn_storage"
974
+ },
975
+ {
976
+ "astId": 16479,
977
+ "contract": "contracts/uln/UlnConfig.sol:UlnConfig",
978
+ "label": "optionalVerifiers",
979
+ "offset": 0,
980
+ "slot": "2",
981
+ "type": "t_array(t_address)dyn_storage"
982
+ }
983
+ ],
984
+ "numberOfBytes": "96"
985
+ },
986
+ "t_uint32": {
987
+ "encoding": "inplace",
988
+ "label": "uint32",
989
+ "numberOfBytes": "4"
990
+ },
991
+ "t_uint64": {
992
+ "encoding": "inplace",
993
+ "label": "uint64",
994
+ "numberOfBytes": "8"
995
+ },
996
+ "t_uint8": {
997
+ "encoding": "inplace",
998
+ "label": "uint8",
999
+ "numberOfBytes": "1"
1000
+ }
1001
+ }
1002
+ }
1003
+ }