@layerzerolabs/lz-evm-sdk-v2 3.0.8 → 3.0.9

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 (361) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/artifacts/contracts/oapp/examples/CmdCodecV1Mock.sol/CmdCodecV1Mock.json +2 -2
  3. package/artifacts/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +2 -2
  4. package/artifacts/contracts/oapp/libs/{CmdCodecV1.sol/CmdCodecV1.json → ReadCodecV1.sol/ReadCodecV1.json} +4 -4
  5. package/artifacts-tron/contracts/oapp/examples/CmdCodecV1Mock.sol/CmdCodecV1Mock.json +2 -2
  6. package/artifacts-tron/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +2 -2
  7. package/artifacts-tron/contracts/oapp/libs/ReadCodecV1.sol/ReadCodecV1.json +21 -0
  8. package/deployments/arbitrum-sandbox-local/DVN.json +19 -19
  9. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +7 -7
  10. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +7 -7
  11. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +7 -7
  12. package/deployments/arbitrum-sandbox-local/EndpointV2.json +13 -13
  13. package/deployments/arbitrum-sandbox-local/EndpointV2View.json +13 -13
  14. package/deployments/arbitrum-sandbox-local/EndpointV2View_Implementation.json +4 -4
  15. package/deployments/arbitrum-sandbox-local/EndpointV2View_Proxy.json +13 -13
  16. package/deployments/arbitrum-sandbox-local/Executor.json +46 -46
  17. package/deployments/arbitrum-sandbox-local/ExecutorDecompressor.json +7 -7
  18. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +7 -7
  19. package/deployments/arbitrum-sandbox-local/ExecutorProxyAdmin.json +10 -10
  20. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +4 -4
  21. package/deployments/arbitrum-sandbox-local/Executor_Proxy.json +46 -46
  22. package/deployments/arbitrum-sandbox-local/LzExecutor.json +16 -16
  23. package/deployments/arbitrum-sandbox-local/LzExecutor_Implementation.json +4 -4
  24. package/deployments/arbitrum-sandbox-local/LzExecutor_Proxy.json +16 -16
  25. package/deployments/arbitrum-sandbox-local/MultiCall.json +4 -4
  26. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +4 -4
  27. package/deployments/arbitrum-sandbox-local/PriceFeed.json +16 -16
  28. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  29. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +4 -4
  30. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +16 -16
  31. package/deployments/arbitrum-sandbox-local/ReadLib102.json +7 -7
  32. package/deployments/arbitrum-sandbox-local/ReadLib102View.json +13 -13
  33. package/deployments/arbitrum-sandbox-local/ReadLib102ViewProxyAdmin.json +10 -10
  34. package/deployments/arbitrum-sandbox-local/ReadLib102View_Implementation.json +4 -4
  35. package/deployments/arbitrum-sandbox-local/ReadLib102View_Proxy.json +13 -13
  36. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +7 -7
  37. package/deployments/arbitrum-sandbox-local/ReceiveUln301View.json +13 -13
  38. package/deployments/arbitrum-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  39. package/deployments/arbitrum-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  40. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +7 -7
  41. package/deployments/arbitrum-sandbox-local/ReceiveUln302View.json +13 -13
  42. package/deployments/arbitrum-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  43. package/deployments/arbitrum-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  44. package/deployments/arbitrum-sandbox-local/SendUln301.json +7 -7
  45. package/deployments/arbitrum-sandbox-local/SendUln302.json +7 -7
  46. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +7 -7
  47. package/deployments/arbitrum-sandbox-local/Treasury.json +7 -7
  48. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +4 -4
  49. package/deployments/bsc-sandbox-local/DVN.json +13 -13
  50. package/deployments/bsc-sandbox-local/DVNDecompressor.json +5 -5
  51. package/deployments/bsc-sandbox-local/DVNFeeLib.json +5 -5
  52. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +5 -5
  53. package/deployments/bsc-sandbox-local/EndpointV2.json +9 -9
  54. package/deployments/bsc-sandbox-local/EndpointV2View.json +9 -9
  55. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +3 -3
  56. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +9 -9
  57. package/deployments/bsc-sandbox-local/Executor.json +31 -31
  58. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +5 -5
  59. package/deployments/bsc-sandbox-local/ExecutorFeeLib.json +5 -5
  60. package/deployments/bsc-sandbox-local/ExecutorProxyAdmin.json +7 -7
  61. package/deployments/bsc-sandbox-local/Executor_Implementation.json +3 -3
  62. package/deployments/bsc-sandbox-local/Executor_Proxy.json +31 -31
  63. package/deployments/bsc-sandbox-local/LzExecutor.json +11 -11
  64. package/deployments/bsc-sandbox-local/LzExecutor_Implementation.json +3 -3
  65. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +11 -11
  66. package/deployments/bsc-sandbox-local/MultiCall.json +3 -3
  67. package/deployments/bsc-sandbox-local/NonceContractMock.json +3 -3
  68. package/deployments/bsc-sandbox-local/PriceFeed.json +11 -11
  69. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +7 -7
  70. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +3 -3
  71. package/deployments/bsc-sandbox-local/PriceFeed_Proxy.json +11 -11
  72. package/deployments/bsc-sandbox-local/ReadLib102.json +5 -5
  73. package/deployments/bsc-sandbox-local/ReadLib102View.json +9 -9
  74. package/deployments/bsc-sandbox-local/ReadLib102ViewProxyAdmin.json +7 -7
  75. package/deployments/bsc-sandbox-local/ReadLib102View_Implementation.json +3 -3
  76. package/deployments/bsc-sandbox-local/ReadLib102View_Proxy.json +9 -9
  77. package/deployments/bsc-sandbox-local/ReceiveUln301.json +5 -5
  78. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +9 -9
  79. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +3 -3
  80. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +9 -9
  81. package/deployments/bsc-sandbox-local/ReceiveUln302.json +5 -5
  82. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +9 -9
  83. package/deployments/bsc-sandbox-local/ReceiveUln302View_Implementation.json +3 -3
  84. package/deployments/bsc-sandbox-local/ReceiveUln302View_Proxy.json +9 -9
  85. package/deployments/bsc-sandbox-local/SendUln301.json +5 -5
  86. package/deployments/bsc-sandbox-local/SendUln302.json +5 -5
  87. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +5 -5
  88. package/deployments/bsc-sandbox-local/Treasury.json +5 -5
  89. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +3 -3
  90. package/deployments/codex-mainnet/DVN.json +21 -21
  91. package/deployments/codex-mainnet/DVNFeeLib.json +8 -8
  92. package/deployments/codex-mainnet/DeadDVN.json +5 -5
  93. package/deployments/codex-mainnet/DefaultProxyAdmin.json +8 -8
  94. package/deployments/codex-mainnet/EndpointV2.json +15 -15
  95. package/deployments/codex-mainnet/EndpointV2View.json +14 -14
  96. package/deployments/codex-mainnet/EndpointV2View_Implementation.json +5 -5
  97. package/deployments/codex-mainnet/EndpointV2View_Proxy.json +14 -14
  98. package/deployments/codex-mainnet/Executor.json +35 -35
  99. package/deployments/codex-mainnet/ExecutorFeeLib.json +8 -8
  100. package/deployments/codex-mainnet/ExecutorProxyAdmin.json +11 -11
  101. package/deployments/codex-mainnet/Executor_Implementation.json +5 -5
  102. package/deployments/codex-mainnet/Executor_Proxy.json +35 -35
  103. package/deployments/codex-mainnet/LzExecutor.json +17 -17
  104. package/deployments/codex-mainnet/LzExecutor_Implementation.json +5 -5
  105. package/deployments/codex-mainnet/LzExecutor_Proxy.json +17 -17
  106. package/deployments/codex-mainnet/PriceFeed.json +17 -17
  107. package/deployments/codex-mainnet/PriceFeedProxyAdmin.json +11 -11
  108. package/deployments/codex-mainnet/PriceFeed_Implementation.json +5 -5
  109. package/deployments/codex-mainnet/PriceFeed_Proxy.json +17 -17
  110. package/deployments/codex-mainnet/ReceiveUln301.json +9 -9
  111. package/deployments/codex-mainnet/ReceiveUln301View.json +16 -16
  112. package/deployments/codex-mainnet/ReceiveUln301View_Implementation.json +5 -5
  113. package/deployments/codex-mainnet/ReceiveUln301View_Proxy.json +15 -15
  114. package/deployments/codex-mainnet/ReceiveUln302.json +8 -8
  115. package/deployments/codex-mainnet/ReceiveUln302View.json +14 -14
  116. package/deployments/codex-mainnet/ReceiveUln302View_Implementation.json +5 -5
  117. package/deployments/codex-mainnet/ReceiveUln302View_Proxy.json +14 -14
  118. package/deployments/codex-mainnet/SendUln301.json +9 -9
  119. package/deployments/codex-mainnet/SendUln302.json +8 -8
  120. package/deployments/codex-mainnet/Treasury.json +8 -8
  121. package/deployments/codex-mainnet/TreasuryFeeHandler.json +5 -5
  122. package/deployments/ethereum-sandbox-local/DVN.json +19 -19
  123. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +7 -7
  124. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +7 -7
  125. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +7 -7
  126. package/deployments/ethereum-sandbox-local/EndpointV2.json +13 -13
  127. package/deployments/ethereum-sandbox-local/EndpointV2View.json +13 -13
  128. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +4 -4
  129. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +13 -13
  130. package/deployments/ethereum-sandbox-local/Executor.json +46 -46
  131. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +7 -7
  132. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +7 -7
  133. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +10 -10
  134. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +4 -4
  135. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +46 -46
  136. package/deployments/ethereum-sandbox-local/LzExecutor.json +16 -16
  137. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +4 -4
  138. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +16 -16
  139. package/deployments/ethereum-sandbox-local/MultiCall.json +4 -4
  140. package/deployments/ethereum-sandbox-local/NonceContractMock.json +4 -4
  141. package/deployments/ethereum-sandbox-local/PriceFeed.json +16 -16
  142. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  143. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +4 -4
  144. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +16 -16
  145. package/deployments/ethereum-sandbox-local/ReadLib102.json +7 -7
  146. package/deployments/ethereum-sandbox-local/ReadLib102View.json +13 -13
  147. package/deployments/ethereum-sandbox-local/ReadLib102ViewProxyAdmin.json +10 -10
  148. package/deployments/ethereum-sandbox-local/ReadLib102View_Implementation.json +4 -4
  149. package/deployments/ethereum-sandbox-local/ReadLib102View_Proxy.json +13 -13
  150. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +7 -7
  151. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +13 -13
  152. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  153. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  154. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +7 -7
  155. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +13 -13
  156. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  157. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  158. package/deployments/ethereum-sandbox-local/SendUln301.json +7 -7
  159. package/deployments/ethereum-sandbox-local/SendUln302.json +7 -7
  160. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +7 -7
  161. package/deployments/ethereum-sandbox-local/Treasury.json +7 -7
  162. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +4 -4
  163. package/deployments/hemi-testnet/DVN.json +1930 -0
  164. package/deployments/hemi-testnet/DVNFeeLib.json +399 -0
  165. package/deployments/hemi-testnet/DeadDVN.json +204 -0
  166. package/deployments/hemi-testnet/DefaultProxyAdmin.json +259 -0
  167. package/deployments/hemi-testnet/EndpointV2.json +2947 -0
  168. package/deployments/hemi-testnet/EndpointV2View.json +436 -0
  169. package/deployments/hemi-testnet/EndpointV2View_Implementation.json +314 -0
  170. package/deployments/hemi-testnet/EndpointV2View_Proxy.json +231 -0
  171. package/deployments/hemi-testnet/Executor.json +1653 -0
  172. package/deployments/hemi-testnet/ExecutorFeeLib.json +439 -0
  173. package/deployments/hemi-testnet/ExecutorProxyAdmin.json +284 -0
  174. package/deployments/hemi-testnet/Executor_Implementation.json +1720 -0
  175. package/deployments/hemi-testnet/Executor_Proxy.json +366 -0
  176. package/deployments/hemi-testnet/LzExecutor.json +758 -0
  177. package/deployments/hemi-testnet/LzExecutor_Implementation.json +704 -0
  178. package/deployments/hemi-testnet/LzExecutor_Proxy.json +245 -0
  179. package/deployments/hemi-testnet/PriceFeed.json +935 -0
  180. package/deployments/hemi-testnet/PriceFeedProxyAdmin.json +284 -0
  181. package/deployments/hemi-testnet/PriceFeed_Implementation.json +977 -0
  182. package/deployments/hemi-testnet/PriceFeed_Proxy.json +245 -0
  183. package/deployments/hemi-testnet/ReceiveUln301.json +1293 -0
  184. package/deployments/hemi-testnet/ReceiveUln301View.json +355 -0
  185. package/deployments/hemi-testnet/ReceiveUln301View_Implementation.json +232 -0
  186. package/deployments/hemi-testnet/ReceiveUln301View_Proxy.json +231 -0
  187. package/deployments/hemi-testnet/ReceiveUln302.json +1007 -0
  188. package/deployments/hemi-testnet/ReceiveUln302View.json +479 -0
  189. package/deployments/hemi-testnet/ReceiveUln302View_Implementation.json +385 -0
  190. package/deployments/hemi-testnet/ReceiveUln302View_Proxy.json +231 -0
  191. package/deployments/hemi-testnet/SendUln301.json +1570 -0
  192. package/deployments/hemi-testnet/SendUln302.json +1528 -0
  193. package/deployments/hemi-testnet/Treasury.json +413 -0
  194. package/deployments/hemi-testnet/TreasuryFeeHandler.json +126 -0
  195. package/deployments/optimism-sandbox-local/DVN.json +19 -19
  196. package/deployments/optimism-sandbox-local/DVNDecompressor.json +7 -7
  197. package/deployments/optimism-sandbox-local/DVNFeeLib.json +7 -7
  198. package/deployments/optimism-sandbox-local/DefaultProxyAdmin.json +7 -7
  199. package/deployments/optimism-sandbox-local/EndpointV2.json +13 -13
  200. package/deployments/optimism-sandbox-local/EndpointV2View.json +13 -13
  201. package/deployments/optimism-sandbox-local/EndpointV2View_Implementation.json +4 -4
  202. package/deployments/optimism-sandbox-local/EndpointV2View_Proxy.json +13 -13
  203. package/deployments/optimism-sandbox-local/Executor.json +46 -46
  204. package/deployments/optimism-sandbox-local/ExecutorDecompressor.json +7 -7
  205. package/deployments/optimism-sandbox-local/ExecutorFeeLib.json +7 -7
  206. package/deployments/optimism-sandbox-local/ExecutorProxyAdmin.json +10 -10
  207. package/deployments/optimism-sandbox-local/Executor_Implementation.json +4 -4
  208. package/deployments/optimism-sandbox-local/Executor_Proxy.json +46 -46
  209. package/deployments/optimism-sandbox-local/LzExecutor.json +16 -16
  210. package/deployments/optimism-sandbox-local/LzExecutor_Implementation.json +4 -4
  211. package/deployments/optimism-sandbox-local/LzExecutor_Proxy.json +16 -16
  212. package/deployments/optimism-sandbox-local/MultiCall.json +4 -4
  213. package/deployments/optimism-sandbox-local/NonceContractMock.json +4 -4
  214. package/deployments/optimism-sandbox-local/PriceFeed.json +16 -16
  215. package/deployments/optimism-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  216. package/deployments/optimism-sandbox-local/PriceFeed_Implementation.json +4 -4
  217. package/deployments/optimism-sandbox-local/PriceFeed_Proxy.json +16 -16
  218. package/deployments/optimism-sandbox-local/ReadLib102.json +7 -7
  219. package/deployments/optimism-sandbox-local/ReadLib102View.json +13 -13
  220. package/deployments/optimism-sandbox-local/ReadLib102ViewProxyAdmin.json +10 -10
  221. package/deployments/optimism-sandbox-local/ReadLib102View_Implementation.json +4 -4
  222. package/deployments/optimism-sandbox-local/ReadLib102View_Proxy.json +13 -13
  223. package/deployments/optimism-sandbox-local/ReceiveUln301.json +7 -7
  224. package/deployments/optimism-sandbox-local/ReceiveUln301View.json +13 -13
  225. package/deployments/optimism-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  226. package/deployments/optimism-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  227. package/deployments/optimism-sandbox-local/ReceiveUln302.json +7 -7
  228. package/deployments/optimism-sandbox-local/ReceiveUln302View.json +13 -13
  229. package/deployments/optimism-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  230. package/deployments/optimism-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  231. package/deployments/optimism-sandbox-local/SendUln301.json +7 -7
  232. package/deployments/optimism-sandbox-local/SendUln302.json +7 -7
  233. package/deployments/optimism-sandbox-local/SimpleMessageLib.json +7 -7
  234. package/deployments/optimism-sandbox-local/Treasury.json +7 -7
  235. package/deployments/optimism-sandbox-local/TreasuryFeeHandler.json +4 -4
  236. package/deployments/otherworld-testnet/DVN.json +37 -37
  237. package/deployments/otherworld-testnet/DVNFeeLib.json +14 -14
  238. package/deployments/otherworld-testnet/DeadDVN.json +6 -6
  239. package/deployments/otherworld-testnet/DefaultProxyAdmin.json +14 -14
  240. package/deployments/otherworld-testnet/EndpointV2.json +21 -21
  241. package/deployments/otherworld-testnet/EndpointV2View.json +32 -32
  242. package/deployments/otherworld-testnet/EndpointV2View_Implementation.json +6 -6
  243. package/deployments/otherworld-testnet/EndpointV2View_Proxy.json +30 -30
  244. package/deployments/otherworld-testnet/Executor.json +57 -57
  245. package/deployments/otherworld-testnet/ExecutorFeeLib.json +14 -14
  246. package/deployments/otherworld-testnet/ExecutorProxyAdmin.json +15 -15
  247. package/deployments/otherworld-testnet/Executor_Implementation.json +6 -6
  248. package/deployments/otherworld-testnet/Executor_Proxy.json +53 -53
  249. package/deployments/otherworld-testnet/LzExecutor.json +32 -32
  250. package/deployments/otherworld-testnet/LzExecutor_Implementation.json +6 -6
  251. package/deployments/otherworld-testnet/LzExecutor_Proxy.json +28 -28
  252. package/deployments/otherworld-testnet/PriceFeed.json +28 -28
  253. package/deployments/otherworld-testnet/PriceFeedProxyAdmin.json +15 -15
  254. package/deployments/otherworld-testnet/PriceFeed_Implementation.json +6 -6
  255. package/deployments/otherworld-testnet/PriceFeed_Proxy.json +27 -27
  256. package/deployments/otherworld-testnet/ReceiveUln301.json +13 -13
  257. package/deployments/otherworld-testnet/ReceiveUln302.json +12 -12
  258. package/deployments/otherworld-testnet/ReceiveUln302View.json +27 -27
  259. package/deployments/otherworld-testnet/ReceiveUln302View_Implementation.json +6 -6
  260. package/deployments/otherworld-testnet/ReceiveUln302View_Proxy.json +24 -24
  261. package/deployments/otherworld-testnet/SendUln301.json +18 -18
  262. package/deployments/otherworld-testnet/SendUln302.json +15 -15
  263. package/deployments/otherworld-testnet/Treasury.json +11 -11
  264. package/deployments/otherworld-testnet/TreasuryFeeHandler.json +7 -7
  265. package/deployments/polygon-sandbox-local/DVN.json +19 -19
  266. package/deployments/polygon-sandbox-local/DVNDecompressor.json +7 -7
  267. package/deployments/polygon-sandbox-local/DVNFeeLib.json +7 -7
  268. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +7 -7
  269. package/deployments/polygon-sandbox-local/EndpointV2.json +13 -13
  270. package/deployments/polygon-sandbox-local/EndpointV2View.json +13 -13
  271. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +4 -4
  272. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +13 -13
  273. package/deployments/polygon-sandbox-local/Executor.json +46 -46
  274. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +7 -7
  275. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +7 -7
  276. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +10 -10
  277. package/deployments/polygon-sandbox-local/Executor_Implementation.json +4 -4
  278. package/deployments/polygon-sandbox-local/Executor_Proxy.json +46 -46
  279. package/deployments/polygon-sandbox-local/LzExecutor.json +16 -16
  280. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +4 -4
  281. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +16 -16
  282. package/deployments/polygon-sandbox-local/MultiCall.json +4 -4
  283. package/deployments/polygon-sandbox-local/NonceContractMock.json +4 -4
  284. package/deployments/polygon-sandbox-local/PriceFeed.json +16 -16
  285. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  286. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +4 -4
  287. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +16 -16
  288. package/deployments/polygon-sandbox-local/ReadLib102.json +7 -7
  289. package/deployments/polygon-sandbox-local/ReadLib102View.json +13 -13
  290. package/deployments/polygon-sandbox-local/ReadLib102ViewProxyAdmin.json +10 -10
  291. package/deployments/polygon-sandbox-local/ReadLib102View_Implementation.json +4 -4
  292. package/deployments/polygon-sandbox-local/ReadLib102View_Proxy.json +13 -13
  293. package/deployments/polygon-sandbox-local/ReceiveUln301.json +7 -7
  294. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +13 -13
  295. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  296. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  297. package/deployments/polygon-sandbox-local/ReceiveUln302.json +7 -7
  298. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +13 -13
  299. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  300. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  301. package/deployments/polygon-sandbox-local/SendUln301.json +7 -7
  302. package/deployments/polygon-sandbox-local/SendUln302.json +7 -7
  303. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +7 -7
  304. package/deployments/polygon-sandbox-local/Treasury.json +7 -7
  305. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +4 -4
  306. package/deployments/tron-sandbox-local/DVN.json +35 -35
  307. package/deployments/tron-sandbox-local/DVNDecompressor.json +14 -14
  308. package/deployments/tron-sandbox-local/DVNFeeLib.json +10 -10
  309. package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +10 -10
  310. package/deployments/tron-sandbox-local/EndpointV2.json +19 -19
  311. package/deployments/tron-sandbox-local/EndpointV2View.json +25 -25
  312. package/deployments/tron-sandbox-local/EndpointV2View_Implementation.json +6 -6
  313. package/deployments/tron-sandbox-local/EndpointV2View_Proxy.json +23 -23
  314. package/deployments/tron-sandbox-local/Executor.json +79 -79
  315. package/deployments/tron-sandbox-local/ExecutorDecompressor.json +11 -11
  316. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +10 -10
  317. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +14 -14
  318. package/deployments/tron-sandbox-local/Executor_Implementation.json +6 -6
  319. package/deployments/tron-sandbox-local/Executor_Proxy.json +71 -71
  320. package/deployments/tron-sandbox-local/LzExecutor.json +31 -31
  321. package/deployments/tron-sandbox-local/LzExecutor_Implementation.json +6 -6
  322. package/deployments/tron-sandbox-local/LzExecutor_Proxy.json +27 -27
  323. package/deployments/tron-sandbox-local/MultiCall.json +6 -6
  324. package/deployments/tron-sandbox-local/NonceContractMock.json +7 -7
  325. package/deployments/tron-sandbox-local/PriceFeed.json +27 -27
  326. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +14 -14
  327. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +6 -6
  328. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +26 -26
  329. package/deployments/tron-sandbox-local/ReadLib102.json +11 -11
  330. package/deployments/tron-sandbox-local/ReadLib102View.json +26 -26
  331. package/deployments/tron-sandbox-local/ReadLib102ViewProxyAdmin.json +14 -14
  332. package/deployments/tron-sandbox-local/ReadLib102View_Implementation.json +6 -6
  333. package/deployments/tron-sandbox-local/ReadLib102View_Proxy.json +23 -23
  334. package/deployments/tron-sandbox-local/ReceiveUln301.json +11 -11
  335. package/deployments/tron-sandbox-local/ReceiveUln301View.json +26 -26
  336. package/deployments/tron-sandbox-local/ReceiveUln301View_Implementation.json +6 -6
  337. package/deployments/tron-sandbox-local/ReceiveUln301View_Proxy.json +23 -23
  338. package/deployments/tron-sandbox-local/ReceiveUln302.json +11 -11
  339. package/deployments/tron-sandbox-local/ReceiveUln302View.json +26 -26
  340. package/deployments/tron-sandbox-local/ReceiveUln302View_Implementation.json +6 -6
  341. package/deployments/tron-sandbox-local/ReceiveUln302View_Proxy.json +23 -23
  342. package/deployments/tron-sandbox-local/SendUln301.json +13 -13
  343. package/deployments/tron-sandbox-local/SendUln302.json +11 -11
  344. package/deployments/tron-sandbox-local/SimpleMessageLib.json +11 -11
  345. package/deployments/tron-sandbox-local/Treasury.json +10 -10
  346. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +7 -7
  347. package/dist/{index-wO6a5KZo.d.mts → index-c7QTS2j4.d.mts} +55 -58
  348. package/dist/{index-wO6a5KZo.d.ts → index-c7QTS2j4.d.ts} +55 -58
  349. package/dist/index.browser.cjs +59 -60
  350. package/dist/index.browser.cjs.map +1 -1
  351. package/dist/index.browser.d.mts +1 -1
  352. package/dist/index.browser.d.ts +1 -1
  353. package/dist/index.browser.mjs +60 -60
  354. package/dist/index.browser.mjs.map +1 -1
  355. package/dist/index.cjs +59 -60
  356. package/dist/index.cjs.map +1 -1
  357. package/dist/index.d.mts +1 -1
  358. package/dist/index.d.ts +1 -1
  359. package/dist/index.mjs +60 -60
  360. package/dist/index.mjs.map +1 -1
  361. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @layerzerolabs/lz-evm-sdk-v2
2
2
 
3
+ ## 3.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 9de3403: endpoints: codex mainnet redeploy, testnets: otherworld (redeploy), hemi
8
+ - Updated dependencies [9de3403]
9
+ - @layerzerolabs/evm-sdks-core@3.0.9
10
+
3
11
  ## 3.0.8
4
12
 
5
13
  ### Patch Changes
@@ -271,8 +271,8 @@
271
271
  "type": "function"
272
272
  }
273
273
  ],
274
- "bytecode": "0x608060405234801561001057600080fd5b50611789806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea264697066735822122089ce3c73d5ae2293e44ab660075162be2b0718558719317afe71d9890663897364736f6c63430008160033",
275
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea264697066735822122089ce3c73d5ae2293e44ab660075162be2b0718558719317afe71d9890663897364736f6c63430008160033",
274
+ "bytecode": "0x608060405234801561001057600080fd5b50611789806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea264697066735822122064c2dc04b5175afa78e8d2f1d56acceb59bf5a26225e6577db975e3dbd3fed5164736f6c63430008160033",
275
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea264697066735822122064c2dc04b5175afa78e8d2f1d56acceb59bf5a26225e6577db975e3dbd3fed5164736f6c63430008160033",
276
276
  "linkReferences": {},
277
277
  "deployedLinkReferences": {}
278
278
  }
@@ -836,8 +836,8 @@
836
836
  "type": "receive"
837
837
  }
838
838
  ],
839
- "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002d2f38038062002d2f83398101604081905262000034916200019f565b80338181818162000045816200014f565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b50505050505050505050806001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f9190620001d1565b63ffffffff1660a05250620001f9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620001b257600080fd5b81516001600160a01b0381168114620001ca57600080fd5b9392505050565b600060208284031215620001e457600080fd5b815163ffffffff81168114620001ca57600080fd5b60805160a051612adf620002506000396000818161021a0152610b3c015260008181610263015281816105b501528181610c1d01528181611250015281816113d00152818161162d01526117260152612adf6000f3fe6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea264697066735822122010a919c5b1e07edadc2a563d83e85f14afabf17ccadcbbae2d3e0cb5495175b664736f6c63430008160033",
840
- "deployedBytecode": "0x6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea264697066735822122010a919c5b1e07edadc2a563d83e85f14afabf17ccadcbbae2d3e0cb5495175b664736f6c63430008160033",
839
+ "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002d2f38038062002d2f83398101604081905262000034916200019f565b80338181818162000045816200014f565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b50505050505050505050806001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f9190620001d1565b63ffffffff1660a05250620001f9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620001b257600080fd5b81516001600160a01b0381168114620001ca57600080fd5b9392505050565b600060208284031215620001e457600080fd5b815163ffffffff81168114620001ca57600080fd5b60805160a051612adf620002506000396000818161021a0152610b3c015260008181610263015281816105b501528181610c1d01528181611250015281816113d00152818161162d01526117260152612adf6000f3fe6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea2646970667358221220ca66e359ce5e6fc24840c1c2323704489dac99ee101e0d4d92c3f06ad86f45a064736f6c63430008160033",
840
+ "deployedBytecode": "0x6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea2646970667358221220ca66e359ce5e6fc24840c1c2323704489dac99ee101e0d4d92c3f06ad86f45a064736f6c63430008160033",
841
841
  "linkReferences": {},
842
842
  "deployedLinkReferences": {}
843
843
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "CmdCodecV1",
4
- "sourceName": "contracts/oapp/libs/CmdCodecV1.sol",
3
+ "contractName": "ReadCodecV1",
4
+ "sourceName": "contracts/oapp/libs/ReadCodecV1.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
@@ -14,8 +14,8 @@
14
14
  "type": "error"
15
15
  }
16
16
  ],
17
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122097ec36c9b6acac4b16bd84177d870db6b14180ea834ce11d8a52bf04340824b164736f6c63430008160033",
18
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122097ec36c9b6acac4b16bd84177d870db6b14180ea834ce11d8a52bf04340824b164736f6c63430008160033",
17
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c23c12bf70bda2a4d1d095b1e968ea866963d21102e60783d7fd8c40375312d464736f6c63430008160033",
18
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c23c12bf70bda2a4d1d095b1e968ea866963d21102e60783d7fd8c40375312d464736f6c63430008160033",
19
19
  "linkReferences": {},
20
20
  "deployedLinkReferences": {}
21
21
  }
@@ -271,8 +271,8 @@
271
271
  "type": "function"
272
272
  }
273
273
  ],
274
- "bytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506118308061003a6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e58221220753427eb9138f9360bcc28e54853dda6e3b953c269f803ab576917f709ebe77064736f6c63430008140033",
275
- "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e58221220753427eb9138f9360bcc28e54853dda6e3b953c269f803ab576917f709ebe77064736f6c63430008140033",
274
+ "bytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506118308061003a6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e58221220dfb3c03dbd49dcf5a765fbebe09fd23e22453bda55242c563663c0bc045013f564736f6c63430008140033",
275
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e58221220dfb3c03dbd49dcf5a765fbebe09fd23e22453bda55242c563663c0bc045013f564736f6c63430008140033",
276
276
  "linkReferences": {},
277
277
  "deployedLinkReferences": {}
278
278
  }