@etherisc/gif-next 0.0.2-f9905e1 → 0.0.2-f99f1d2-109

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. package/README.md +33 -0
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  3. package/artifacts/contracts/components/Component.sol/Component.json +35 -9
  4. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +1 -1
  5. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +2 -2
  6. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +84 -8
  8. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +34 -152
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +146 -13
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  13. package/artifacts/contracts/components/Product.sol/Product.json +148 -15
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +4 -0
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +105 -0
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +4 -0
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +105 -0
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +4 -0
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +59 -0
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +4 -0
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +124 -0
  32. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +4 -0
  33. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +74 -0
  34. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +4 -0
  35. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +124 -0
  36. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +4 -0
  37. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +207 -0
  38. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  40. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  42. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +714 -127
  44. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  45. package/artifacts/contracts/instance/Instance.sol/Instance.json +845 -129
  46. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +1 -1
  47. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +1 -1
  48. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +1 -1
  49. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +1 -1
  50. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  51. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  52. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +31 -59
  53. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +1 -1
  54. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +103 -6
  55. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +1 -1
  56. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +1 -1
  57. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +34 -8
  58. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  59. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +31 -59
  60. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +50 -3
  62. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +1 -1
  63. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  64. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +134 -0
  65. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
  66. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.json +182 -0
  67. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
  68. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
  69. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  70. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  71. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +44 -21
  72. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  73. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +44 -21
  74. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  75. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  76. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +23 -43
  77. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  78. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +28 -35
  79. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +1 -1
  80. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +21 -8
  82. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +1 -1
  83. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +85 -14
  85. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  86. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.json +10 -0
  87. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  88. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +490 -0
  89. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  90. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +45 -0
  91. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  92. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +490 -0
  93. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +4 -0
  94. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +534 -0
  95. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +4 -0
  96. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +452 -0
  97. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +1 -1
  98. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +1 -1
  99. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +8 -8
  100. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +45 -128
  102. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +1 -1
  103. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +1 -1
  104. package/artifacts/contracts/registry/Registry.sol/Registerable.json +9 -9
  105. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/Registry.sol/Registry.json +95 -128
  107. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +1 -1
  108. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +2 -2
  109. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  110. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +174 -0
  111. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  112. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  113. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +4 -0
  114. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +92 -0
  115. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  116. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +92 -0
  117. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +4 -0
  118. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +92 -0
  119. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +4 -0
  120. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +174 -0
  121. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +4 -0
  122. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +453 -0
  123. package/contracts/components/Component.sol +39 -24
  124. package/contracts/components/IPool.sol +9 -3
  125. package/contracts/components/IProduct.sol +11 -6
  126. package/contracts/components/Pool.sol +37 -14
  127. package/contracts/components/Product.sol +48 -24
  128. package/contracts/experiment/errors/Require.sol +38 -0
  129. package/contracts/experiment/errors/Revert.sol +44 -0
  130. package/contracts/experiment/inheritance/A.sol +8 -11
  131. package/contracts/experiment/inheritance/B.sol +10 -5
  132. package/contracts/experiment/inheritance/C.sol +11 -5
  133. package/contracts/experiment/inheritance/IA.sol +2 -7
  134. package/contracts/experiment/inheritance/IB.sol +3 -2
  135. package/contracts/experiment/inheritance/IC.sol +4 -3
  136. package/contracts/experiment/statemachine/Dummy.sol +27 -0
  137. package/contracts/experiment/statemachine/ISM.sol +25 -0
  138. package/contracts/experiment/statemachine/README.md +112 -0
  139. package/contracts/experiment/statemachine/SM.sol +57 -0
  140. package/contracts/experiment/statemachine/SimpleStateMachine.sol +31 -0
  141. package/contracts/experiment/types/TypeA.sol +14 -9
  142. package/contracts/experiment/types/TypeB.sol +14 -9
  143. package/contracts/instance/IInstance.sol +9 -4
  144. package/contracts/instance/Instance.sol +24 -15
  145. package/contracts/instance/access/Access.sol +63 -116
  146. package/contracts/instance/access/IAccess.sol +28 -48
  147. package/contracts/instance/component/ComponentModule.sol +162 -147
  148. package/contracts/instance/component/IComponent.sol +41 -61
  149. package/contracts/instance/lifecycle/ILifecycle.sol +47 -0
  150. package/contracts/instance/lifecycle/LifecycleModule.sol +88 -0
  151. package/contracts/instance/policy/IPolicy.sol +19 -35
  152. package/contracts/instance/policy/PolicyModule.sol +52 -44
  153. package/contracts/instance/pool/IPoolModule.sol +9 -26
  154. package/contracts/instance/pool/PoolModule.sol +43 -45
  155. package/contracts/instance/product/IProductService.sol +10 -19
  156. package/contracts/instance/product/ProductService.sol +86 -55
  157. package/contracts/instance/treasury/ITreasury.sol +91 -0
  158. package/contracts/instance/treasury/TokenHandler.sol +24 -0
  159. package/contracts/instance/treasury/TreasuryModule.sol +168 -0
  160. package/contracts/registry/ChainNft.sol +135 -0
  161. package/contracts/registry/IChainNft.sol +21 -0
  162. package/contracts/registry/IRegistry.sol +41 -40
  163. package/contracts/registry/Registry.sol +82 -97
  164. package/contracts/types/Blocknumber.sol +118 -0
  165. package/contracts/types/ChainId.sol +24 -10
  166. package/contracts/types/Fee.sol +32 -0
  167. package/contracts/types/NftId.sol +51 -0
  168. package/contracts/types/ObjectType.sol +107 -0
  169. package/contracts/types/StateId.sol +91 -0
  170. package/contracts/types/Timestamp.sol +102 -0
  171. package/contracts/types/UFixed.sol +206 -0
  172. package/package.json +13 -5
@@ -14,6 +14,45 @@
14
14
  "internalType": "address",
15
15
  "name": "instance",
16
16
  "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "token",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "components": [
25
+ {
26
+ "internalType": "UFixed",
27
+ "name": "fractionalFee",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "internalType": "uint256",
32
+ "name": "fixedFee",
33
+ "type": "uint256"
34
+ }
35
+ ],
36
+ "internalType": "struct Fee",
37
+ "name": "stakingFee",
38
+ "type": "tuple"
39
+ },
40
+ {
41
+ "components": [
42
+ {
43
+ "internalType": "UFixed",
44
+ "name": "fractionalFee",
45
+ "type": "uint256"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "fixedFee",
50
+ "type": "uint256"
51
+ }
52
+ ],
53
+ "internalType": "struct Fee",
54
+ "name": "performanceFee",
55
+ "type": "tuple"
17
56
  }
18
57
  ],
19
58
  "stateMutability": "nonpayable",
@@ -88,9 +127,9 @@
88
127
  "name": "getNftId",
89
128
  "outputs": [
90
129
  {
91
- "internalType": "uint256",
92
- "name": "id",
93
- "type": "uint256"
130
+ "internalType": "NftId",
131
+ "name": "nftId",
132
+ "type": "uint96"
94
133
  }
95
134
  ],
96
135
  "stateMutability": "view",
@@ -114,9 +153,34 @@
114
153
  "name": "getParentNftId",
115
154
  "outputs": [
116
155
  {
117
- "internalType": "uint256",
156
+ "internalType": "NftId",
118
157
  "name": "",
119
- "type": "uint256"
158
+ "type": "uint96"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "getPerformanceFee",
167
+ "outputs": [
168
+ {
169
+ "components": [
170
+ {
171
+ "internalType": "UFixed",
172
+ "name": "fractionalFee",
173
+ "type": "uint256"
174
+ },
175
+ {
176
+ "internalType": "uint256",
177
+ "name": "fixedFee",
178
+ "type": "uint256"
179
+ }
180
+ ],
181
+ "internalType": "struct Fee",
182
+ "name": "performanceFee",
183
+ "type": "tuple"
120
184
  }
121
185
  ],
122
186
  "stateMutability": "view",
@@ -135,14 +199,65 @@
135
199
  "stateMutability": "view",
136
200
  "type": "function"
137
201
  },
202
+ {
203
+ "inputs": [],
204
+ "name": "getStakingFee",
205
+ "outputs": [
206
+ {
207
+ "components": [
208
+ {
209
+ "internalType": "UFixed",
210
+ "name": "fractionalFee",
211
+ "type": "uint256"
212
+ },
213
+ {
214
+ "internalType": "uint256",
215
+ "name": "fixedFee",
216
+ "type": "uint256"
217
+ }
218
+ ],
219
+ "internalType": "struct Fee",
220
+ "name": "stakingFee",
221
+ "type": "tuple"
222
+ }
223
+ ],
224
+ "stateMutability": "view",
225
+ "type": "function"
226
+ },
227
+ {
228
+ "inputs": [],
229
+ "name": "getToken",
230
+ "outputs": [
231
+ {
232
+ "internalType": "contract IERC20Metadata",
233
+ "name": "token",
234
+ "type": "address"
235
+ }
236
+ ],
237
+ "stateMutability": "view",
238
+ "type": "function"
239
+ },
138
240
  {
139
241
  "inputs": [],
140
242
  "name": "getType",
141
243
  "outputs": [
142
244
  {
143
- "internalType": "uint256",
245
+ "internalType": "ObjectType",
144
246
  "name": "",
145
- "type": "uint256"
247
+ "type": "uint8"
248
+ }
249
+ ],
250
+ "stateMutability": "pure",
251
+ "type": "function"
252
+ },
253
+ {
254
+ "inputs": [],
255
+ "name": "getWallet",
256
+ "outputs": [
257
+ {
258
+ "internalType": "address",
259
+ "name": "walletAddress",
260
+ "type": "address"
146
261
  }
147
262
  ],
148
263
  "stateMutability": "view",
@@ -179,17 +294,35 @@
179
294
  "name": "register",
180
295
  "outputs": [
181
296
  {
182
- "internalType": "uint256",
297
+ "internalType": "NftId",
183
298
  "name": "componentId",
184
- "type": "uint256"
299
+ "type": "uint96"
185
300
  }
186
301
  ],
187
302
  "stateMutability": "nonpayable",
188
303
  "type": "function"
189
304
  }
190
305
  ],
191
- "bytecode": "0x60806040523480156200001157600080fd5b506040516200116638038062001166833981810160405281019062000037919062000175565b8181808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050620001bc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200013d8262000110565b9050919050565b6200014f8162000130565b81146200015b57600080fd5b50565b6000815190506200016f8162000144565b92915050565b600080604083850312156200018f576200018e6200010b565b5b60006200019f858286016200015e565b9250506020620001b2858286016200015e565b9150509250929050565b610f9a80620001cc6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a43565b60405180910390f35b6100d461028f565b6040516100e19190610a43565b60405180910390f35b6100f26105a7565b6040516100ff9190610a79565b60405180910390f35b61011061064a565b60405161011d9190610a43565b60405180910390f35b61012e6106c7565b60405161013b9190610b24565b60405180910390f35b61014c610763565b6040516101599190610bc5565b60405180910390f35b61016a61078c565b6040516101779190610a43565b60405180910390f35b61018861082e565b6040516101959190610a79565b60405180910390f35b6101a6610837565b6040516101b39190610c01565b60405180910390f35b6101c46109d6565b6040516101d19190610c3d565b60405180910390f35b6101e2610a00565b6040516101ef9190610c01565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610c89565b905090565b6000610299610a00565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610ced565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610d59565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c01565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610da5565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610e44565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ea2565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610ef0565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610c89565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c01565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610c89565b11905090565b60006106546109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190610c89565b905090565b60606106d16109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610c89565b60405160200161074f9190610a43565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107e89190610c01565b602060405180830381865afa158015610805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190610c89565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108939190610c01565b602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610c89565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b815260040161092f9190610a43565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109709190610f37565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ce57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109d0565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610a3d81610a2a565b82525050565b6000602082019050610a586000830184610a34565b92915050565b60008115159050919050565b610a7381610a5e565b82525050565b6000602082019050610a8e6000830184610a6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ace578082015181840152602081019050610ab3565b60008484015250505050565b6000601f19601f8301169050919050565b6000610af682610a94565b610b008185610a9f565b9350610b10818560208601610ab0565b610b1981610ada565b840191505092915050565b60006020820190508181036000830152610b3e8184610aeb565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b8b610b86610b8184610b46565b610b66565b610b46565b9050919050565b6000610b9d82610b70565b9050919050565b6000610baf82610b92565b9050919050565b610bbf81610ba4565b82525050565b6000602082019050610bda6000830184610bb6565b92915050565b6000610beb82610b46565b9050919050565b610bfb81610be0565b82525050565b6000602082019050610c166000830184610bf2565b92915050565b6000610c2782610b92565b9050919050565b610c3781610c1c565b82525050565b6000602082019050610c526000830184610c2e565b92915050565b600080fd5b610c6681610a2a565b8114610c7157600080fd5b50565b600081519050610c8381610c5d565b92915050565b600060208284031215610c9f57610c9e610c58565b5b6000610cad84828501610c74565b91505092915050565b600082825260208201905092915050565b50565b6000610cd7600083610cb6565b9150610ce282610cc7565b600082019050919050565b60006020820190508181036000830152610d0681610cca565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610d43601b83610cb6565b9150610d4e82610d0d565b602082019050919050565b60006020820190508181036000830152610d7281610d36565b9050919050565b610d8281610a5e565b8114610d8d57600080fd5b50565b600081519050610d9f81610d79565b92915050565b600060208284031215610dbb57610dba610c58565b5b6000610dc984828501610d90565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610e2e602583610cb6565b9150610e3982610dd2565b604082019050919050565b60006020820190508181036000830152610e5d81610e21565b9050919050565b6000610e6f82610be0565b9050919050565b610e7f81610e64565b8114610e8a57600080fd5b50565b600081519050610e9c81610e76565b92915050565b600060208284031215610eb857610eb7610c58565b5b6000610ec684828501610e8d565b91505092915050565b6000610eda82610b92565b9050919050565b610eea81610ecf565b82525050565b6000602082019050610f056000830184610ee1565b92915050565b610f1481610be0565b8114610f1f57600080fd5b50565b600081519050610f3181610f0b565b92915050565b600060208284031215610f4d57610f4c610c58565b5b6000610f5b84828501610f22565b9150509291505056fea2646970667358221220e66c872076d3d336eac3fe98aa57b459d95217a2981731041f1e2405958f41ed64736f6c63430008140033",
192
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80635ab1bd53116100715780635ab1bd5314610144578063644c45e01461016257806379e829d014610180578063893d20e81461019e578063de7b5d14146101bc578063fb2cb101146101da576100a9565b806315dae03e146100ae5780631aa3a008146100cc57806322366844146100ea57806331b62a3b146101085780633bc5de3014610126575b600080fd5b6100b66101f8565b6040516100c39190610a43565b60405180910390f35b6100d461028f565b6040516100e19190610a43565b60405180910390f35b6100f26105a7565b6040516100ff9190610a79565b60405180910390f35b61011061064a565b60405161011d9190610a43565b60405180910390f35b61012e6106c7565b60405161013b9190610b24565b60405180910390f35b61014c610763565b6040516101599190610bc5565b60405180910390f35b61016a61078c565b6040516101779190610a43565b60405180910390f35b61018861082e565b6040516101959190610a79565b60405180910390f35b6101a6610837565b6040516101b39190610c01565b60405180910390f35b6101c46109d6565b6040516101d19190610c3d565b60405180910390f35b6101e2610a00565b6040516101ef9190610c01565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610c89565b905090565b6000610299610a00565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd90610ced565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90610d59565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104109190610c01565b602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610da5565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610e44565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ea2565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040161055e9190610ef0565b6020604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610c89565b91505090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106039190610c01565b602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190610c89565b11905090565b60006106546109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190610c89565b905090565b60606106d16109d6565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610c89565b60405160200161074f9190610a43565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107e89190610c01565b602060405180830381865afa158015610805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190610c89565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108939190610c01565b602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610c89565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b815260040161092f9190610a43565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109709190610f37565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ce57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109d0565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610a3d81610a2a565b82525050565b6000602082019050610a586000830184610a34565b92915050565b60008115159050919050565b610a7381610a5e565b82525050565b6000602082019050610a8e6000830184610a6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ace578082015181840152602081019050610ab3565b60008484015250505050565b6000601f19601f8301169050919050565b6000610af682610a94565b610b008185610a9f565b9350610b10818560208601610ab0565b610b1981610ada565b840191505092915050565b60006020820190508181036000830152610b3e8184610aeb565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b8b610b86610b8184610b46565b610b66565b610b46565b9050919050565b6000610b9d82610b70565b9050919050565b6000610baf82610b92565b9050919050565b610bbf81610ba4565b82525050565b6000602082019050610bda6000830184610bb6565b92915050565b6000610beb82610b46565b9050919050565b610bfb81610be0565b82525050565b6000602082019050610c166000830184610bf2565b92915050565b6000610c2782610b92565b9050919050565b610c3781610c1c565b82525050565b6000602082019050610c526000830184610c2e565b92915050565b600080fd5b610c6681610a2a565b8114610c7157600080fd5b50565b600081519050610c8381610c5d565b92915050565b600060208284031215610c9f57610c9e610c58565b5b6000610cad84828501610c74565b91505092915050565b600082825260208201905092915050565b50565b6000610cd7600083610cb6565b9150610ce282610cc7565b600082019050919050565b60006020820190508181036000830152610d0681610cca565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610d43601b83610cb6565b9150610d4e82610d0d565b602082019050919050565b60006020820190508181036000830152610d7281610d36565b9050919050565b610d8281610a5e565b8114610d8d57600080fd5b50565b600081519050610d9f81610d79565b92915050565b600060208284031215610dbb57610dba610c58565b5b6000610dc984828501610d90565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610e2e602583610cb6565b9150610e3982610dd2565b604082019050919050565b60006020820190508181036000830152610e5d81610e21565b9050919050565b6000610e6f82610be0565b9050919050565b610e7f81610e64565b8114610e8a57600080fd5b50565b600081519050610e9c81610e76565b92915050565b600060208284031215610eb857610eb7610c58565b5b6000610ec684828501610e8d565b91505092915050565b6000610eda82610b92565b9050919050565b610eea81610ecf565b82525050565b6000602082019050610f056000830184610ee1565b92915050565b610f1481610be0565b8114610f1f57600080fd5b50565b600081519050610f3181610f0b565b92915050565b600060208284031215610f4d57610f4c610c58565b5b6000610f5b84828501610f22565b9150509291505056fea2646970667358221220e66c872076d3d336eac3fe98aa57b459d95217a2981731041f1e2405958f41ed64736f6c63430008140033",
193
- "linkReferences": {},
194
- "deployedLinkReferences": {}
306
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620016f9380380620016f9833981810160405281019062000037919062000399565b848484818380806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505030600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505081600660008201518160000155602082015181600101559050508060086000820151816000015560208201518160010155905050505050505062000421565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200020282620001d5565b9050919050565b6200021481620001f5565b81146200022057600080fd5b50565b600081519050620002348162000209565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200028a826200023f565b810181811067ffffffffffffffff82111715620002ac57620002ab62000250565b5b80604052505050565b6000620002c1620001c6565b9050620002cf82826200027f565b919050565b6000819050919050565b620002e981620002d4565b8114620002f557600080fd5b50565b6000815190506200030981620002de565b92915050565b6200031a81620002d4565b81146200032657600080fd5b50565b6000815190506200033a816200030f565b92915050565b6000604082840312156200035957620003586200023a565b5b620003656040620002b5565b905060006200037784828501620002f8565b60008301525060206200038d8482850162000329565b60208301525092915050565b600080600080600060e08688031215620003b857620003b7620001d0565b5b6000620003c88882890162000223565b9550506020620003db8882890162000223565b9450506040620003ee8882890162000223565b9350506060620004018882890162000340565b92505060a0620004148882890162000340565b9150509295509295909350565b6112c880620004316000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633bc5de301161009757806379e829d01161006657806379e829d014610244578063893d20e814610262578063de7b5d1414610280578063fb2cb1011461029e576100f5565b80633bc5de30146101cc5780634b270a46146101ea5780635ab1bd5314610208578063644c45e014610226576100f5565b806321df0da7116100d357806321df0da7146101545780632236684414610172578063235c36031461019057806331b62a3b146101ae576100f5565b806313299604146100fa57806315dae03e146101185780631aa3a00814610136575b600080fd5b6101026102bc565b60405161010f9190610c16565b60405180910390f35b6101206102e6565b60405161012d9190610c79565b60405180910390f35b61013e6102f5565b60405161014b9190610cdd565b60405180910390f35b61015c61060d565b6040516101699190610d4d565b60405180910390f35b61017a610637565b6040516101879190610d83565b60405180910390f35b610198610764565b6040516101a59190610e17565b60405180910390f35b6101b6610792565b6040516101c39190610cdd565b60405180910390f35b6101d461080f565b6040516101e19190610ec2565b60405180910390f35b6101f26108ab565b6040516101ff9190610e17565b60405180910390f35b6102106108d9565b60405161021d9190610f05565b60405180910390f35b61022e610902565b60405161023b9190610cdd565b60405180910390f35b61024c6109a4565b6040516102599190610d83565b60405180910390f35b61026a6109ad565b6040516102779190610c16565b60405180910390f35b610288610b4c565b6040516102959190610f41565b60405180910390f35b6102a6610b76565b6040516102b39190610c16565b60405180910390f35b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006102f0610ba0565b905090565b60006102ff610b76565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610f93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f290610fff565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104769190610c16565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611050565b6104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906110ef565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610589919061114d565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105c4919061119b565b6020604051808303816000875af11580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060791906111e2565b91505090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106939190610c16565b602060405180830381865afa1580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d491906111e2565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b815260040161071d919061121e565b602060405180830381865af415801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611050565b91505090565b61076c610bbb565b600860405180604001604052908160008201548152602001600182015481525050905090565b600061079c610b4c565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080a91906111e2565b905090565b6060610819610b4c565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610863573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088791906111e2565b6040516020016108979190610cdd565b604051602081830303815290604052905090565b6108b3610bbb565b600660405180604001604052908160008201548152602001600182015481525050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161095e9190610c16565b602060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f91906111e2565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610a099190610c16565b602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a91906111e2565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610aa59190610cdd565b602060405180830381865afa158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae69190611265565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b4457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b46565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610bac6050610bb1565b905090565b6000819050919050565b604051806040016040528060008152602001600081525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c0082610bd5565b9050919050565b610c1081610bf5565b82525050565b6000602082019050610c2b6000830184610c07565b92915050565b600060ff82169050919050565b6000819050919050565b6000610c63610c5e610c5984610c31565b610c3e565b610c31565b9050919050565b610c7381610c48565b82525050565b6000602082019050610c8e6000830184610c6a565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000610cc7610cc2610cbd84610c94565b610c3e565b610c94565b9050919050565b610cd781610cac565b82525050565b6000602082019050610cf26000830184610cce565b92915050565b6000610d13610d0e610d0984610bd5565b610c3e565b610bd5565b9050919050565b6000610d2582610cf8565b9050919050565b6000610d3782610d1a565b9050919050565b610d4781610d2c565b82525050565b6000602082019050610d626000830184610d3e565b92915050565b60008115159050919050565b610d7d81610d68565b82525050565b6000602082019050610d986000830184610d74565b92915050565b6000819050919050565b6000610dc3610dbe610db984610d9e565b610c3e565b610d9e565b9050919050565b610dd381610da8565b82525050565b610de281610d9e565b82525050565b604082016000820151610dfe6000850182610dca565b506020820151610e116020850182610dd9565b50505050565b6000604082019050610e2c6000830184610de8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e6c578082015181840152602081019050610e51565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9482610e32565b610e9e8185610e3d565b9350610eae818560208601610e4e565b610eb781610e78565b840191505092915050565b60006020820190508181036000830152610edc8184610e89565b905092915050565b6000610eef82610d1a565b9050919050565b610eff81610ee4565b82525050565b6000602082019050610f1a6000830184610ef6565b92915050565b6000610f2b82610d1a565b9050919050565b610f3b81610f20565b82525050565b6000602082019050610f566000830184610f32565b92915050565b600082825260208201905092915050565b50565b6000610f7d600083610f5c565b9150610f8882610f6d565b600082019050919050565b60006020820190508181036000830152610fac81610f70565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610fe9601b83610f5c565b9150610ff482610fb3565b602082019050919050565b6000602082019050818103600083015261101881610fdc565b9050919050565b600080fd5b61102d81610d68565b811461103857600080fd5b50565b60008151905061104a81611024565b92915050565b6000602082840312156110665761106561101f565b5b60006110748482850161103b565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b60006110d9602583610f5c565b91506110e48261107d565b604082019050919050565b60006020820190508181036000830152611108816110cc565b9050919050565b600061111a82610bf5565b9050919050565b61112a8161110f565b811461113557600080fd5b50565b60008151905061114781611121565b92915050565b6000602082840312156111635761116261101f565b5b600061117184828501611138565b91505092915050565b600061118582610d1a565b9050919050565b6111958161117a565b82525050565b60006020820190506111b0600083018461118c565b92915050565b6111bf81610c94565b81146111ca57600080fd5b50565b6000815190506111dc816111b6565b92915050565b6000602082840312156111f8576111f761101f565b5b6000611206848285016111cd565b91505092915050565b61121881610cac565b82525050565b6000602082019050611233600083018461120f565b92915050565b61124281610bf5565b811461124d57600080fd5b50565b60008151905061125f81611239565b92915050565b60006020828403121561127b5761127a61101f565b5b600061128984828501611250565b9150509291505056fea2646970667358221220a13a9c031223dca79fb61cabd02dcd75ce7d80dd1981c810eee9973d36c8e08c64736f6c63430008140033",
307
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633bc5de301161009757806379e829d01161006657806379e829d014610244578063893d20e814610262578063de7b5d1414610280578063fb2cb1011461029e576100f5565b80633bc5de30146101cc5780634b270a46146101ea5780635ab1bd5314610208578063644c45e014610226576100f5565b806321df0da7116100d357806321df0da7146101545780632236684414610172578063235c36031461019057806331b62a3b146101ae576100f5565b806313299604146100fa57806315dae03e146101185780631aa3a00814610136575b600080fd5b6101026102bc565b60405161010f9190610c16565b60405180910390f35b6101206102e6565b60405161012d9190610c79565b60405180910390f35b61013e6102f5565b60405161014b9190610cdd565b60405180910390f35b61015c61060d565b6040516101699190610d4d565b60405180910390f35b61017a610637565b6040516101879190610d83565b60405180910390f35b610198610764565b6040516101a59190610e17565b60405180910390f35b6101b6610792565b6040516101c39190610cdd565b60405180910390f35b6101d461080f565b6040516101e19190610ec2565b60405180910390f35b6101f26108ab565b6040516101ff9190610e17565b60405180910390f35b6102106108d9565b60405161021d9190610f05565b60405180910390f35b61022e610902565b60405161023b9190610cdd565b60405180910390f35b61024c6109a4565b6040516102599190610d83565b60405180910390f35b61026a6109ad565b6040516102779190610c16565b60405180910390f35b610288610b4c565b6040516102959190610f41565b60405180910390f35b6102a6610b76565b6040516102b39190610c16565b60405180910390f35b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006102f0610ba0565b905090565b60006102ff610b76565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610f93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f290610fff565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104769190610c16565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611050565b6104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906110ef565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610589919061114d565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105c4919061119b565b6020604051808303816000875af11580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060791906111e2565b91505090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106939190610c16565b602060405180830381865afa1580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d491906111e2565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b815260040161071d919061121e565b602060405180830381865af415801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611050565b91505090565b61076c610bbb565b600860405180604001604052908160008201548152602001600182015481525050905090565b600061079c610b4c565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080a91906111e2565b905090565b6060610819610b4c565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610863573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088791906111e2565b6040516020016108979190610cdd565b604051602081830303815290604052905090565b6108b3610bbb565b600660405180604001604052908160008201548152602001600182015481525050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161095e9190610c16565b602060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f91906111e2565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610a099190610c16565b602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a91906111e2565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610aa59190610cdd565b602060405180830381865afa158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae69190611265565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b4457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b46565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610bac6050610bb1565b905090565b6000819050919050565b604051806040016040528060008152602001600081525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c0082610bd5565b9050919050565b610c1081610bf5565b82525050565b6000602082019050610c2b6000830184610c07565b92915050565b600060ff82169050919050565b6000819050919050565b6000610c63610c5e610c5984610c31565b610c3e565b610c31565b9050919050565b610c7381610c48565b82525050565b6000602082019050610c8e6000830184610c6a565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000610cc7610cc2610cbd84610c94565b610c3e565b610c94565b9050919050565b610cd781610cac565b82525050565b6000602082019050610cf26000830184610cce565b92915050565b6000610d13610d0e610d0984610bd5565b610c3e565b610bd5565b9050919050565b6000610d2582610cf8565b9050919050565b6000610d3782610d1a565b9050919050565b610d4781610d2c565b82525050565b6000602082019050610d626000830184610d3e565b92915050565b60008115159050919050565b610d7d81610d68565b82525050565b6000602082019050610d986000830184610d74565b92915050565b6000819050919050565b6000610dc3610dbe610db984610d9e565b610c3e565b610d9e565b9050919050565b610dd381610da8565b82525050565b610de281610d9e565b82525050565b604082016000820151610dfe6000850182610dca565b506020820151610e116020850182610dd9565b50505050565b6000604082019050610e2c6000830184610de8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e6c578082015181840152602081019050610e51565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9482610e32565b610e9e8185610e3d565b9350610eae818560208601610e4e565b610eb781610e78565b840191505092915050565b60006020820190508181036000830152610edc8184610e89565b905092915050565b6000610eef82610d1a565b9050919050565b610eff81610ee4565b82525050565b6000602082019050610f1a6000830184610ef6565b92915050565b6000610f2b82610d1a565b9050919050565b610f3b81610f20565b82525050565b6000602082019050610f566000830184610f32565b92915050565b600082825260208201905092915050565b50565b6000610f7d600083610f5c565b9150610f8882610f6d565b600082019050919050565b60006020820190508181036000830152610fac81610f70565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610fe9601b83610f5c565b9150610ff482610fb3565b602082019050919050565b6000602082019050818103600083015261101881610fdc565b9050919050565b600080fd5b61102d81610d68565b811461103857600080fd5b50565b60008151905061104a81611024565b92915050565b6000602082840312156110665761106561101f565b5b60006110748482850161103b565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b60006110d9602583610f5c565b91506110e48261107d565b604082019050919050565b60006020820190508181036000830152611108816110cc565b9050919050565b600061111a82610bf5565b9050919050565b61112a8161110f565b811461113557600080fd5b50565b60008151905061114781611121565b92915050565b6000602082840312156111635761116261101f565b5b600061117184828501611138565b91505092915050565b600061118582610d1a565b9050919050565b6111958161117a565b82525050565b60006020820190506111b0600083018461118c565b92915050565b6111bf81610c94565b81146111ca57600080fd5b50565b6000815190506111dc816111b6565b92915050565b6000602082840312156111f8576111f761101f565b5b6000611206848285016111cd565b91505092915050565b61121881610cac565b82525050565b6000602082019050611233600083018461120f565b92915050565b61124281610bf5565b811461124d57600080fd5b50565b60008151905061125f81611239565b92915050565b60006020828403121561127b5761127a61101f565b5b600061128984828501611250565b9150509291505056fea2646970667358221220a13a9c031223dca79fb61cabd02dcd75ce7d80dd1981c810eee9973d36c8e08c64736f6c63430008140033",
308
+ "linkReferences": {
309
+ "contracts/types/NftId.sol": {
310
+ "NftIdLib": [
311
+ {
312
+ "length": 20,
313
+ "start": 2840
314
+ }
315
+ ]
316
+ }
317
+ },
318
+ "deployedLinkReferences": {
319
+ "contracts/types/NftId.sol": {
320
+ "NftIdLib": [
321
+ {
322
+ "length": 20,
323
+ "start": 1767
324
+ }
325
+ ]
326
+ }
327
+ }
195
328
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/f211b802294e8958d4ab3ed8cbf2371f.json"
3
+ "buildInfo": "../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
4
4
  }
@@ -15,10 +15,49 @@
15
15
  "name": "instance",
16
16
  "type": "address"
17
17
  },
18
+ {
19
+ "internalType": "address",
20
+ "name": "token",
21
+ "type": "address"
22
+ },
18
23
  {
19
24
  "internalType": "address",
20
25
  "name": "pool",
21
26
  "type": "address"
27
+ },
28
+ {
29
+ "components": [
30
+ {
31
+ "internalType": "UFixed",
32
+ "name": "fractionalFee",
33
+ "type": "uint256"
34
+ },
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "fixedFee",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "internalType": "struct Fee",
42
+ "name": "policyFee",
43
+ "type": "tuple"
44
+ },
45
+ {
46
+ "components": [
47
+ {
48
+ "internalType": "UFixed",
49
+ "name": "fractionalFee",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "fixedFee",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "internalType": "struct Fee",
59
+ "name": "processingFee",
60
+ "type": "tuple"
22
61
  }
23
62
  ],
24
63
  "stateMutability": "nonpayable",
@@ -93,9 +132,9 @@
93
132
  "name": "getNftId",
94
133
  "outputs": [
95
134
  {
96
- "internalType": "uint256",
97
- "name": "id",
98
- "type": "uint256"
135
+ "internalType": "NftId",
136
+ "name": "nftId",
137
+ "type": "uint96"
99
138
  }
100
139
  ],
101
140
  "stateMutability": "view",
@@ -119,9 +158,34 @@
119
158
  "name": "getParentNftId",
120
159
  "outputs": [
121
160
  {
122
- "internalType": "uint256",
161
+ "internalType": "NftId",
123
162
  "name": "",
124
- "type": "uint256"
163
+ "type": "uint96"
164
+ }
165
+ ],
166
+ "stateMutability": "view",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [],
171
+ "name": "getPolicyFee",
172
+ "outputs": [
173
+ {
174
+ "components": [
175
+ {
176
+ "internalType": "UFixed",
177
+ "name": "fractionalFee",
178
+ "type": "uint256"
179
+ },
180
+ {
181
+ "internalType": "uint256",
182
+ "name": "fixedFee",
183
+ "type": "uint256"
184
+ }
185
+ ],
186
+ "internalType": "struct Fee",
187
+ "name": "policyFee",
188
+ "type": "tuple"
125
189
  }
126
190
  ],
127
191
  "stateMutability": "view",
@@ -132,9 +196,34 @@
132
196
  "name": "getPoolNftId",
133
197
  "outputs": [
134
198
  {
135
- "internalType": "uint256",
199
+ "internalType": "NftId",
136
200
  "name": "poolNftId",
137
- "type": "uint256"
201
+ "type": "uint96"
202
+ }
203
+ ],
204
+ "stateMutability": "view",
205
+ "type": "function"
206
+ },
207
+ {
208
+ "inputs": [],
209
+ "name": "getProcessingFee",
210
+ "outputs": [
211
+ {
212
+ "components": [
213
+ {
214
+ "internalType": "UFixed",
215
+ "name": "fractionalFee",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "fixedFee",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "internalType": "struct Fee",
225
+ "name": "processingFee",
226
+ "type": "tuple"
138
227
  }
139
228
  ],
140
229
  "stateMutability": "view",
@@ -153,14 +242,40 @@
153
242
  "stateMutability": "view",
154
243
  "type": "function"
155
244
  },
245
+ {
246
+ "inputs": [],
247
+ "name": "getToken",
248
+ "outputs": [
249
+ {
250
+ "internalType": "contract IERC20Metadata",
251
+ "name": "token",
252
+ "type": "address"
253
+ }
254
+ ],
255
+ "stateMutability": "view",
256
+ "type": "function"
257
+ },
156
258
  {
157
259
  "inputs": [],
158
260
  "name": "getType",
159
261
  "outputs": [
160
262
  {
161
- "internalType": "uint256",
263
+ "internalType": "ObjectType",
162
264
  "name": "",
163
- "type": "uint256"
265
+ "type": "uint8"
266
+ }
267
+ ],
268
+ "stateMutability": "pure",
269
+ "type": "function"
270
+ },
271
+ {
272
+ "inputs": [],
273
+ "name": "getWallet",
274
+ "outputs": [
275
+ {
276
+ "internalType": "address",
277
+ "name": "walletAddress",
278
+ "type": "address"
164
279
  }
165
280
  ],
166
281
  "stateMutability": "view",
@@ -197,17 +312,35 @@
197
312
  "name": "register",
198
313
  "outputs": [
199
314
  {
200
- "internalType": "uint256",
315
+ "internalType": "NftId",
201
316
  "name": "componentId",
202
- "type": "uint256"
317
+ "type": "uint96"
203
318
  }
204
319
  ],
205
320
  "stateMutability": "nonpayable",
206
321
  "type": "function"
207
322
  }
208
323
  ],
209
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620013f5380380620013f583398181016040528101906200003791906200028b565b8282808280806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019791906200032c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200035e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002538262000226565b9050919050565b620002658162000246565b81146200027157600080fd5b50565b60008151905062000285816200025a565b92915050565b600080600060608486031215620002a757620002a662000221565b5b6000620002b78682870162000274565b9350506020620002ca8682870162000274565b9250506040620002dd8682870162000274565b9150509250925092565b6000620002f48262000246565b9050919050565b6200030681620002e7565b81146200031257600080fd5b50565b6000815190506200032681620002fb565b92915050565b60006020828403121562000345576200034462000221565b5b6000620003558482850162000315565b91505092915050565b611087806200036e6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220a6f1fc64005b43c5a616d21b6512f2f67576051be72c357c3adb145fab783dd864736f6c63430008140033",
210
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635ab1bd53116100715780635ab1bd531461016d578063644c45e01461018b57806379e829d0146101a9578063893d20e8146101c7578063de7b5d14146101e5578063fb2cb10114610203576100b4565b806315dae03e146100b95780631aa3a008146100d75780631bdd6b76146100f5578063223668441461011357806331b62a3b146101315780633bc5de301461014f575b600080fd5b6100c1610221565b6040516100ce9190610b30565b60405180910390f35b6100df6102b8565b6040516100ec9190610b30565b60405180910390f35b6100fd6105d0565b60405161010a9190610b30565b60405180910390f35b61011b610694565b6040516101289190610b66565b60405180910390f35b610139610737565b6040516101469190610b30565b60405180910390f35b6101576107b4565b6040516101649190610c11565b60405180910390f35b610175610850565b6040516101829190610cb2565b60405180910390f35b610193610879565b6040516101a09190610b30565b60405180910390f35b6101b161091b565b6040516101be9190610b66565b60405180910390f35b6101cf610924565b6040516101dc9190610cee565b60405180910390f35b6101ed610ac3565b6040516101fa9190610d2a565b60405180910390f35b61020b610aed565b6040516102189190610cee565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325425a916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b39190610d76565b905090565b60006102c2610aed565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032690610dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036103be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b590610e46565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104399190610cee565b602060405180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610e92565b6104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090610f31565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610f8f565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105879190610fdd565b6020604051808303816000875af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610d76565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161064e9190610cee565b602060405180830381865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d76565b905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016106f09190610cee565b602060405180830381865afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190610d76565b11905090565b6000610741610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190610d76565b905090565b60606107be610ac3565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d76565b60405160200161083c9190610b30565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016108d59190610cee565b602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190610d76565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109809190610cee565b602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190610d76565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c41a360a826040518263ffffffff1660e01b8152600401610a1c9190610b30565b602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611024565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610abb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abd565b815b91505090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b610b2a81610b17565b82525050565b6000602082019050610b456000830184610b21565b92915050565b60008115159050919050565b610b6081610b4b565b82525050565b6000602082019050610b7b6000830184610b57565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbb578082015181840152602081019050610ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610be382610b81565b610bed8185610b8c565b9350610bfd818560208601610b9d565b610c0681610bc7565b840191505092915050565b60006020820190508181036000830152610c2b8184610bd8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c78610c73610c6e84610c33565b610c53565b610c33565b9050919050565b6000610c8a82610c5d565b9050919050565b6000610c9c82610c7f565b9050919050565b610cac81610c91565b82525050565b6000602082019050610cc76000830184610ca3565b92915050565b6000610cd882610c33565b9050919050565b610ce881610ccd565b82525050565b6000602082019050610d036000830184610cdf565b92915050565b6000610d1482610c7f565b9050919050565b610d2481610d09565b82525050565b6000602082019050610d3f6000830184610d1b565b92915050565b600080fd5b610d5381610b17565b8114610d5e57600080fd5b50565b600081519050610d7081610d4a565b92915050565b600060208284031215610d8c57610d8b610d45565b5b6000610d9a84828501610d61565b91505092915050565b600082825260208201905092915050565b50565b6000610dc4600083610da3565b9150610dcf82610db4565b600082019050919050565b60006020820190508181036000830152610df381610db7565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b6000610e30601b83610da3565b9150610e3b82610dfa565b602082019050919050565b60006020820190508181036000830152610e5f81610e23565b9050919050565b610e6f81610b4b565b8114610e7a57600080fd5b50565b600081519050610e8c81610e66565b92915050565b600060208284031215610ea857610ea7610d45565b5b6000610eb684828501610e7d565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b6000610f1b602583610da3565b9150610f2682610ebf565b604082019050919050565b60006020820190508181036000830152610f4a81610f0e565b9050919050565b6000610f5c82610ccd565b9050919050565b610f6c81610f51565b8114610f7757600080fd5b50565b600081519050610f8981610f63565b92915050565b600060208284031215610fa557610fa4610d45565b5b6000610fb384828501610f7a565b91505092915050565b6000610fc782610c7f565b9050919050565b610fd781610fbc565b82525050565b6000602082019050610ff26000830184610fce565b92915050565b61100181610ccd565b811461100c57600080fd5b50565b60008151905061101e81610ff8565b92915050565b60006020828403121561103a57611039610d45565b5b60006110488482850161100f565b9150509291505056fea2646970667358221220a6f1fc64005b43c5a616d21b6512f2f67576051be72c357c3adb145fab783dd864736f6c63430008140033",
211
- "linkReferences": {},
212
- "deployedLinkReferences": {}
324
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001988380380620019888339818101604052810190620000379190620004af565b858585818380806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505030600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b919062000591565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816008600082015181600001556020820151816001015590505080600a6000820151816000015560208201518160010155905050505050505050620005c3565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200031882620002eb565b9050919050565b6200032a816200030b565b81146200033657600080fd5b50565b6000815190506200034a816200031f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003a08262000355565b810181811067ffffffffffffffff82111715620003c257620003c162000366565b5b80604052505050565b6000620003d7620002dc565b9050620003e5828262000395565b919050565b6000819050919050565b620003ff81620003ea565b81146200040b57600080fd5b50565b6000815190506200041f81620003f4565b92915050565b6200043081620003ea565b81146200043c57600080fd5b50565b600081519050620004508162000425565b92915050565b6000604082840312156200046f576200046e62000350565b5b6200047b6040620003cb565b905060006200048d848285016200040e565b6000830152506020620004a3848285016200043f565b60208301525092915050565b6000806000806000806101008789031215620004d057620004cf620002e6565b5b6000620004e089828a0162000339565b9650506020620004f389828a0162000339565b95505060406200050689828a0162000339565b94505060606200051989828a0162000339565b93505060806200052c89828a0162000456565b92505060c06200053f89828a0162000456565b9150509295509295509295565b600062000559826200030b565b9050919050565b6200056b816200054c565b81146200057757600080fd5b50565b6000815190506200058b8162000560565b92915050565b600060208284031215620005aa57620005a9620002e6565b5b6000620005ba848285016200057a565b91505092915050565b6113b580620005d36000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635ab1bd5311610097578063bc74aab011610066578063bc74aab01461026d578063daafed401461028b578063de7b5d14146102a9578063fb2cb101146102c757610100565b80635ab1bd53146101f5578063644c45e01461021357806379e829d014610231578063893d20e81461024f57610100565b806321df0da7116100d357806321df0da71461017d578063223668441461019b57806331b62a3b146101b95780633bc5de30146101d757610100565b8063132996041461010557806315dae03e146101235780631aa3a008146101415780631bdd6b761461015f575b600080fd5b61010d6102e5565b60405161011a9190610d03565b60405180910390f35b61012b61030f565b6040516101389190610d66565b60405180910390f35b61014961031e565b6040516101569190610dca565b60405180910390f35b610167610636565b6040516101749190610dca565b60405180910390f35b6101856106fa565b6040516101929190610e3a565b60405180910390f35b6101a3610724565b6040516101b09190610e70565b60405180910390f35b6101c1610851565b6040516101ce9190610dca565b60405180910390f35b6101df6108ce565b6040516101ec9190610f1b565b60405180910390f35b6101fd61096a565b60405161020a9190610f5e565b60405180910390f35b61021b610993565b6040516102289190610dca565b60405180910390f35b610239610a35565b6040516102469190610e70565b60405180910390f35b610257610a3e565b6040516102649190610d03565b60405180910390f35b610275610bdd565b6040516102829190610ff2565b60405180910390f35b610293610c0b565b6040516102a09190610ff2565b60405180910390f35b6102b1610c39565b6040516102be919061102e565b60405180910390f35b6102cf610c63565b6040516102dc9190610d03565b60405180910390f35b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610319610c8d565b905090565b6000610328610c63565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90611080565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b906110ec565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161049f9190610d03565b602060405180830381865afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e0919061113d565b61051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906111dc565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b2919061123a565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105ed9190611288565b6020604051808303816000875af115801561060c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063091906112cf565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016106b49190610d03565b602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f591906112cf565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107809190610d03565b602060405180830381865afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c191906112cf565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b815260040161080a919061130b565b602060405180830381865af4158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b919061113d565b91505090565b600061085b610c39565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c991906112cf565b905090565b60606108d8610c39565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094691906112cf565b6040516020016109569190610dca565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109ef9190610d03565b602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3091906112cf565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610a9a9190610d03565b602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adb91906112cf565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610b369190610dca565b602060405180830381865afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b779190611352565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bd557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bd7565b815b91505090565b610be5610ca8565b600860405180604001604052908160008201548152602001600182015481525050905090565b610c13610ca8565b600a60405180604001604052908160008201548152602001600182015481525050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610c99603c610c9e565b905090565b6000819050919050565b604051806040016040528060008152602001600081525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ced82610cc2565b9050919050565b610cfd81610ce2565b82525050565b6000602082019050610d186000830184610cf4565b92915050565b600060ff82169050919050565b6000819050919050565b6000610d50610d4b610d4684610d1e565b610d2b565b610d1e565b9050919050565b610d6081610d35565b82525050565b6000602082019050610d7b6000830184610d57565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000610db4610daf610daa84610d81565b610d2b565b610d81565b9050919050565b610dc481610d99565b82525050565b6000602082019050610ddf6000830184610dbb565b92915050565b6000610e00610dfb610df684610cc2565b610d2b565b610cc2565b9050919050565b6000610e1282610de5565b9050919050565b6000610e2482610e07565b9050919050565b610e3481610e19565b82525050565b6000602082019050610e4f6000830184610e2b565b92915050565b60008115159050919050565b610e6a81610e55565b82525050565b6000602082019050610e856000830184610e61565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ec5578082015181840152602081019050610eaa565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eed82610e8b565b610ef78185610e96565b9350610f07818560208601610ea7565b610f1081610ed1565b840191505092915050565b60006020820190508181036000830152610f358184610ee2565b905092915050565b6000610f4882610e07565b9050919050565b610f5881610f3d565b82525050565b6000602082019050610f736000830184610f4f565b92915050565b6000819050919050565b6000610f9e610f99610f9484610f79565b610d2b565b610f79565b9050919050565b610fae81610f83565b82525050565b610fbd81610f79565b82525050565b604082016000820151610fd96000850182610fa5565b506020820151610fec6020850182610fb4565b50505050565b60006040820190506110076000830184610fc3565b92915050565b600061101882610e07565b9050919050565b6110288161100d565b82525050565b6000602082019050611043600083018461101f565b92915050565b600082825260208201905092915050565b50565b600061106a600083611049565b91506110758261105a565b600082019050919050565b600060208201905081810360008301526110998161105d565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b60006110d6601b83611049565b91506110e1826110a0565b602082019050919050565b60006020820190508181036000830152611105816110c9565b9050919050565b600080fd5b61111a81610e55565b811461112557600080fd5b50565b60008151905061113781611111565b92915050565b6000602082840312156111535761115261110c565b5b600061116184828501611128565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b60006111c6602583611049565b91506111d18261116a565b604082019050919050565b600060208201905081810360008301526111f5816111b9565b9050919050565b600061120782610ce2565b9050919050565b611217816111fc565b811461122257600080fd5b50565b6000815190506112348161120e565b92915050565b6000602082840312156112505761124f61110c565b5b600061125e84828501611225565b91505092915050565b600061127282610e07565b9050919050565b61128281611267565b82525050565b600060208201905061129d6000830184611279565b92915050565b6112ac81610d81565b81146112b757600080fd5b50565b6000815190506112c9816112a3565b92915050565b6000602082840312156112e5576112e461110c565b5b60006112f3848285016112ba565b91505092915050565b61130581610d99565b82525050565b600060208201905061132060008301846112fc565b92915050565b61132f81610ce2565b811461133a57600080fd5b50565b60008151905061134c81611326565b92915050565b6000602082840312156113685761136761110c565b5b60006113768482850161133d565b9150509291505056fea26469706673582212207ec024b81db7db230d4d7d17dc7f57f5d18e73fb21183418f7f61fe6db66402e64736f6c63430008140033",
325
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80635ab1bd5311610097578063bc74aab011610066578063bc74aab01461026d578063daafed401461028b578063de7b5d14146102a9578063fb2cb101146102c757610100565b80635ab1bd53146101f5578063644c45e01461021357806379e829d014610231578063893d20e81461024f57610100565b806321df0da7116100d357806321df0da71461017d578063223668441461019b57806331b62a3b146101b95780633bc5de30146101d757610100565b8063132996041461010557806315dae03e146101235780631aa3a008146101415780631bdd6b761461015f575b600080fd5b61010d6102e5565b60405161011a9190610d03565b60405180910390f35b61012b61030f565b6040516101389190610d66565b60405180910390f35b61014961031e565b6040516101569190610dca565b60405180910390f35b610167610636565b6040516101749190610dca565b60405180910390f35b6101856106fa565b6040516101929190610e3a565b60405180910390f35b6101a3610724565b6040516101b09190610e70565b60405180910390f35b6101c1610851565b6040516101ce9190610dca565b60405180910390f35b6101df6108ce565b6040516101ec9190610f1b565b60405180910390f35b6101fd61096a565b60405161020a9190610f5e565b60405180910390f35b61021b610993565b6040516102289190610dca565b60405180910390f35b610239610a35565b6040516102469190610e70565b60405180910390f35b610257610a3e565b6040516102649190610d03565b60405180910390f35b610275610bdd565b6040516102829190610ff2565b60405180910390f35b610293610c0b565b6040516102a09190610ff2565b60405180910390f35b6102b1610c39565b6040516102be919061102e565b60405180910390f35b6102cf610c63565b6040516102dc9190610d03565b60405180910390f35b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610319610c8d565b905090565b6000610328610c63565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c90611080565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b906110ec565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3c5a547600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161049f9190610d03565b602060405180830381865afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e0919061113d565b61051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906111dc565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b2919061123a565b90508073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105ed9190611288565b6020604051808303816000875af115801561060c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063091906112cf565b91505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016106b49190610d03565b602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f591906112cf565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016107809190610d03565b602060405180830381865afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c191906112cf565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b815260040161080a919061130b565b602060405180830381865af4158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b919061113d565b91505090565b600061085b610c39565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c991906112cf565b905090565b60606108d8610c39565b73ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094691906112cf565b6040516020016109569190610dca565b604051602081830303815290604052905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016109ef9190610d03565b602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3091906112cf565b905090565b60006001905090565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610a9a9190610d03565b602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adb91906112cf565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b8152600401610b369190610dca565b602060405180830381865afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b779190611352565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bd557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bd7565b815b91505090565b610be5610ca8565b600860405180604001604052908160008201548152602001600182015481525050905090565b610c13610ca8565b600a60405180604001604052908160008201548152602001600182015481525050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610c99603c610c9e565b905090565b6000819050919050565b604051806040016040528060008152602001600081525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ced82610cc2565b9050919050565b610cfd81610ce2565b82525050565b6000602082019050610d186000830184610cf4565b92915050565b600060ff82169050919050565b6000819050919050565b6000610d50610d4b610d4684610d1e565b610d2b565b610d1e565b9050919050565b610d6081610d35565b82525050565b6000602082019050610d7b6000830184610d57565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6000610db4610daf610daa84610d81565b610d2b565b610d81565b9050919050565b610dc481610d99565b82525050565b6000602082019050610ddf6000830184610dbb565b92915050565b6000610e00610dfb610df684610cc2565b610d2b565b610cc2565b9050919050565b6000610e1282610de5565b9050919050565b6000610e2482610e07565b9050919050565b610e3481610e19565b82525050565b6000602082019050610e4f6000830184610e2b565b92915050565b60008115159050919050565b610e6a81610e55565b82525050565b6000602082019050610e856000830184610e61565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ec5578082015181840152602081019050610eaa565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eed82610e8b565b610ef78185610e96565b9350610f07818560208601610ea7565b610f1081610ed1565b840191505092915050565b60006020820190508181036000830152610f358184610ee2565b905092915050565b6000610f4882610e07565b9050919050565b610f5881610f3d565b82525050565b6000602082019050610f736000830184610f4f565b92915050565b6000819050919050565b6000610f9e610f99610f9484610f79565b610d2b565b610f79565b9050919050565b610fae81610f83565b82525050565b610fbd81610f79565b82525050565b604082016000820151610fd96000850182610fa5565b506020820151610fec6020850182610fb4565b50505050565b60006040820190506110076000830184610fc3565b92915050565b600061101882610e07565b9050919050565b6110288161100d565b82525050565b6000602082019050611043600083018461101f565b92915050565b600082825260208201905092915050565b50565b600061106a600083611049565b91506110758261105a565b600082019050919050565b600060208201905081810360008301526110998161105d565b9050919050565b7f4552524f523a5052442d3030313a52454749535452595f5a45524f0000000000600082015250565b60006110d6601b83611049565b91506110e1826110a0565b602082019050919050565b60006020820190508181036000830152611105816110c9565b9050919050565b600080fd5b61111a81610e55565b811461112557600080fd5b50565b60008151905061113781611111565b92915050565b6000602082840312156111535761115261110c565b5b600061116184828501611128565b91505092915050565b7f4552524f523a5052442d3030323a494e5354414e43455f4e4f545f524547495360008201527f5445524544000000000000000000000000000000000000000000000000000000602082015250565b60006111c6602583611049565b91506111d18261116a565b604082019050919050565b600060208201905081810360008301526111f5816111b9565b9050919050565b600061120782610ce2565b9050919050565b611217816111fc565b811461122257600080fd5b50565b6000815190506112348161120e565b92915050565b6000602082840312156112505761124f61110c565b5b600061125e84828501611225565b91505092915050565b600061127282610e07565b9050919050565b61128281611267565b82525050565b600060208201905061129d6000830184611279565b92915050565b6112ac81610d81565b81146112b757600080fd5b50565b6000815190506112c9816112a3565b92915050565b6000602082840312156112e5576112e461110c565b5b60006112f3848285016112ba565b91505092915050565b61130581610d99565b82525050565b600060208201905061132060008301846112fc565b92915050565b61132f81610ce2565b811461133a57600080fd5b50565b60008151905061134c81611326565b92915050565b6000602082840312156113685761136761110c565b5b60006113768482850161133d565b9150509291505056fea26469706673582212207ec024b81db7db230d4d7d17dc7f57f5d18e73fb21183418f7f61fe6db66402e64736f6c63430008140033",
326
+ "linkReferences": {
327
+ "contracts/types/NftId.sol": {
328
+ "NftIdLib": [
329
+ {
330
+ "length": 20,
331
+ "start": 3495
332
+ }
333
+ ]
334
+ }
335
+ },
336
+ "deployedLinkReferences": {
337
+ "contracts/types/NftId.sol": {
338
+ "NftIdLib": [
339
+ {
340
+ "length": 20,
341
+ "start": 2004
342
+ }
343
+ ]
344
+ }
345
+ }
213
346
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
4
+ }