@artblocks/abx-sdk 0.1.0-alpha.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/README.md +130 -0
  3. package/dist/abi/generated.d.ts +7942 -142
  4. package/dist/abi/generated.d.ts.map +1 -1
  5. package/dist/abi/generated.js +41 -23
  6. package/dist/abi/generated.js.map +1 -1
  7. package/dist/abi/index.d.ts +2364 -84
  8. package/dist/abi/index.d.ts.map +1 -1
  9. package/dist/abi/index.js +34 -7
  10. package/dist/abi/index.js.map +1 -1
  11. package/dist/anchors.d.ts +325 -0
  12. package/dist/anchors.d.ts.map +1 -0
  13. package/dist/anchors.js +740 -0
  14. package/dist/anchors.js.map +1 -0
  15. package/dist/chain-support.d.ts +28 -0
  16. package/dist/chain-support.d.ts.map +1 -0
  17. package/dist/chain-support.js +65 -0
  18. package/dist/chain-support.js.map +1 -0
  19. package/dist/chain-support.json +60 -0
  20. package/dist/chains.d.ts +23 -11
  21. package/dist/chains.d.ts.map +1 -1
  22. package/dist/chains.js +51 -19
  23. package/dist/chains.js.map +1 -1
  24. package/dist/chunks.d.ts +130 -32
  25. package/dist/chunks.d.ts.map +1 -1
  26. package/dist/chunks.js +140 -15
  27. package/dist/chunks.js.map +1 -1
  28. package/dist/clients.d.ts +23 -11
  29. package/dist/clients.d.ts.map +1 -1
  30. package/dist/clients.js +17 -18
  31. package/dist/clients.js.map +1 -1
  32. package/dist/contract-generations.d.ts +58 -0
  33. package/dist/contract-generations.d.ts.map +1 -0
  34. package/dist/contract-generations.js +109 -0
  35. package/dist/contract-generations.js.map +1 -0
  36. package/dist/contract-generations.json +48 -0
  37. package/dist/create2.d.ts +88 -1
  38. package/dist/create2.d.ts.map +1 -1
  39. package/dist/create2.js +174 -4
  40. package/dist/create2.js.map +1 -1
  41. package/dist/creator-token.d.ts +75 -8
  42. package/dist/creator-token.d.ts.map +1 -1
  43. package/dist/creator-token.js +98 -8
  44. package/dist/creator-token.js.map +1 -1
  45. package/dist/creators-service.d.ts +79 -0
  46. package/dist/creators-service.d.ts.map +1 -0
  47. package/dist/creators-service.js +171 -0
  48. package/dist/creators-service.js.map +1 -0
  49. package/dist/deploy.d.ts +224 -14
  50. package/dist/deploy.d.ts.map +1 -1
  51. package/dist/deploy.js +289 -111
  52. package/dist/deploy.js.map +1 -1
  53. package/dist/deployments.d.ts +38 -5
  54. package/dist/deployments.d.ts.map +1 -1
  55. package/dist/deployments.js +157 -45
  56. package/dist/deployments.js.map +1 -1
  57. package/dist/deps.d.ts +123 -6
  58. package/dist/deps.d.ts.map +1 -1
  59. package/dist/deps.js +249 -7
  60. package/dist/deps.js.map +1 -1
  61. package/dist/env.d.ts +5 -4
  62. package/dist/env.d.ts.map +1 -1
  63. package/dist/env.js +20 -5
  64. package/dist/env.js.map +1 -1
  65. package/dist/errors.d.ts +109 -0
  66. package/dist/errors.d.ts.map +1 -0
  67. package/dist/errors.js +148 -0
  68. package/dist/errors.js.map +1 -0
  69. package/dist/execute.d.ts +118 -0
  70. package/dist/execute.d.ts.map +1 -0
  71. package/dist/execute.js +159 -0
  72. package/dist/execute.js.map +1 -0
  73. package/dist/gateways.d.ts +79 -0
  74. package/dist/gateways.d.ts.map +1 -0
  75. package/dist/gateways.js +156 -0
  76. package/dist/gateways.js.map +1 -0
  77. package/dist/generator-document.d.ts +57 -0
  78. package/dist/generator-document.d.ts.map +1 -0
  79. package/dist/generator-document.js +123 -0
  80. package/dist/generator-document.js.map +1 -0
  81. package/dist/generator.d.ts +45 -3
  82. package/dist/generator.d.ts.map +1 -1
  83. package/dist/generator.js +29 -0
  84. package/dist/generator.js.map +1 -1
  85. package/dist/index.d.ts +20 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +20 -3
  88. package/dist/index.js.map +1 -1
  89. package/dist/inspect.d.ts +48 -0
  90. package/dist/inspect.d.ts.map +1 -0
  91. package/dist/inspect.js +295 -0
  92. package/dist/inspect.js.map +1 -0
  93. package/dist/migrate.d.ts +41 -0
  94. package/dist/migrate.d.ts.map +1 -0
  95. package/dist/migrate.js +142 -0
  96. package/dist/migrate.js.map +1 -0
  97. package/dist/mime.d.ts +11 -0
  98. package/dist/mime.d.ts.map +1 -0
  99. package/dist/mime.js +40 -0
  100. package/dist/mime.js.map +1 -0
  101. package/dist/node.d.ts +69 -0
  102. package/dist/node.d.ts.map +1 -0
  103. package/dist/node.js +92 -0
  104. package/dist/node.js.map +1 -0
  105. package/dist/onchain-uri.d.ts +110 -0
  106. package/dist/onchain-uri.d.ts.map +1 -0
  107. package/dist/onchain-uri.js +276 -0
  108. package/dist/onchain-uri.js.map +1 -0
  109. package/dist/ops.d.ts +437 -13
  110. package/dist/ops.d.ts.map +1 -1
  111. package/dist/ops.js +754 -34
  112. package/dist/ops.js.map +1 -1
  113. package/dist/policy.d.ts +57 -0
  114. package/dist/policy.d.ts.map +1 -0
  115. package/dist/policy.js +35 -0
  116. package/dist/policy.js.map +1 -0
  117. package/dist/probe.d.ts +58 -0
  118. package/dist/probe.d.ts.map +1 -1
  119. package/dist/probe.js +190 -9
  120. package/dist/probe.js.map +1 -1
  121. package/dist/reconstruct.d.ts +141 -3
  122. package/dist/reconstruct.d.ts.map +1 -1
  123. package/dist/reconstruct.js +479 -100
  124. package/dist/reconstruct.js.map +1 -1
  125. package/dist/resume.d.ts +147 -0
  126. package/dist/resume.d.ts.map +1 -0
  127. package/dist/resume.js +146 -0
  128. package/dist/resume.js.map +1 -0
  129. package/dist/script-chunks.d.ts +105 -0
  130. package/dist/script-chunks.d.ts.map +1 -0
  131. package/dist/script-chunks.js +158 -0
  132. package/dist/script-chunks.js.map +1 -0
  133. package/dist/service.d.ts +172 -7
  134. package/dist/service.d.ts.map +1 -1
  135. package/dist/service.js +132 -10
  136. package/dist/service.js.map +1 -1
  137. package/dist/spine.d.ts +47 -4
  138. package/dist/spine.d.ts.map +1 -1
  139. package/dist/spine.js +0 -0
  140. package/dist/spine.js.map +1 -1
  141. package/dist/staging.d.ts +139 -0
  142. package/dist/staging.d.ts.map +1 -0
  143. package/dist/staging.js +139 -0
  144. package/dist/staging.js.map +1 -0
  145. package/dist/token.d.ts +11 -1
  146. package/dist/token.d.ts.map +1 -1
  147. package/dist/token.js +32 -1
  148. package/dist/token.js.map +1 -1
  149. package/dist/tokendata.d.ts +4 -4
  150. package/dist/tokendata.d.ts.map +1 -1
  151. package/dist/tokendata.js +28 -9
  152. package/dist/tokendata.js.map +1 -1
  153. package/dist/tokens.d.ts +120 -0
  154. package/dist/tokens.d.ts.map +1 -0
  155. package/dist/tokens.js +322 -0
  156. package/dist/tokens.js.map +1 -0
  157. package/dist/types.d.ts +107 -5
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/uri-lock.d.ts +17 -0
  160. package/dist/uri-lock.d.ts.map +1 -0
  161. package/dist/uri-lock.js +33 -0
  162. package/dist/uri-lock.js.map +1 -0
  163. package/dist/util.d.ts +74 -0
  164. package/dist/util.d.ts.map +1 -0
  165. package/dist/util.js +106 -0
  166. package/dist/util.js.map +1 -0
  167. package/package.json +15 -6
@@ -1,28 +1,46 @@
1
1
  // AUTO-GENERATED by packages/sdk/scripts/sync-abis.ts — do not edit by hand.
2
2
  // Source: contracts/out (Foundry artifacts). Re-run `pnpm sync-abis` after `forge build`.
3
3
  /* eslint-disable */
4
- export const oneOfOneImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
5
- export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6145ed80610b4783390190565b608051610ab961008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610ab96000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063e08d54e914610103578063e2e4716b1461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fec49db7200000000000000000000000000000000000000000000000000000000815263ec49db72906103389084906004016107d9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b60006101a0828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106d557600080fd5b830160208101925035905067ffffffffffffffff8111156106f557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261078157600080fd5b8601803584526020808201359085015261079e60408201826105da565b9150606060408601526107b5606086018383610645565b60209a8b019a90955093909301925050600101610720565b50909695505050505050565b60208152610807602082016107ed84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061081560208401610500565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061083f60408401846105da565b6101a060608501526108566101c085018284610645565b91505061086660608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301608086015261089b838284610645565b925050506108ac60808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108e1838284610645565b925050506108f160a08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061091b60c08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e0860152610950838284610645565b9250505061096060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101008501525061098b6101008501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109b6610120850161068e565b61ffff8116610140850152506109cf6101408501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610160850152506109fb6101608501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610180860152610a31838284610707565b92505050610a436101808501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101a0860152610a79838284610707565b969550505050505056fea26469706673582212201cdde9f604419041239cbf4b04c478ef2c71234f2838f15d7e2c9c2c3db44ddd64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
6
- export const oneOfOneImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
7
- export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
8
- export const seriesImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
9
- export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525c80610cb083390190565b608051610c2261008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610c226000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063801eff7f14610103578063cbe70eb71461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f249c3b0400000000000000000000000000000000000000000000000000000000815263249c3b04906103389084906004016108b9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b6000610240828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b803580151581146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610240604085015261090d61026085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610500565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff811661012085015250610a846101208501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101408501525061014084013561016084810191909152610abd908501610500565b73ffffffffffffffffffffffffffffffffffffffff811661018085015250610ae86101808501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610b136101a085016106a0565b8015156101c085015250610b2a6101c08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101e0850152506101e084013561020084810191909152610b64908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610b9a838284610717565b92505050610bac6102208501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610240860152610be28382846107f3565b969550505050505056fea2646970667358221220f0cc16307511289a9e970eba9729c7ef4358defcbefd52b3fd6703521dc3db4464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
10
- export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
11
- export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
12
- export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
13
- export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fe780610a5a83390190565b6080516109cc61008e600039600081816091015281816101130152818161014f0152818161018701526102fc01526109cc6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635414dff01461005c5780635c60da1b1461008c5780635c857b3e146100b35780637c9cf116146100e6578063cd9c7b24146100f9575b600080fd5b61006f61006a366004610439565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66100c1366004610469565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6100f436600461049d565b61013f565b61006f6101073660046104e2565b610180565b60006101397f000000000000000000000000000000000000000000000000000000000000000083306101bc565b92915050565b600061014a82610219565b6101747f000000000000000000000000000000000000000000000000000000000000000083610258565b9050610139818461026d565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b7818361026d565b919050565b6000806102038560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061021081858561036b565b95945050505050565b606081901c801580159061023657506001600160a01b0381163314155b156102545760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102666000848461038d565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff1916600117905551633d6e924b60e01b8152633d6e924b906102b190849060040161072c565b600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b506102f1925050506020820182610469565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b60006101396000836103e4565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103d85763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b60006020828403121561044b57600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b60006020828403121561047b57600080fd5b61026682610452565b6000610280828403121561049757600080fd5b50919050565b600080604083850312156104b057600080fd5b823567ffffffffffffffff8111156104c757600080fd5b6104d385828601610484565b95602094909401359450505050565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610484565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d6020820161074084610452565b6001600160a01b03169052565b600061075c602084018461051f565b61028060408501526107736102a08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d260808501610452565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c08501610452565b6001600160a01b03811660e08501525061083260e08501610452565b6001600160a01b038116610100850152506108506101008501610595565b61ffff8116610120850152506108696101208501610452565b6001600160a01b0381166101408501525061014084013561016084810191909152610895908501610452565b6001600160a01b038116610180850152506108b36101808501610452565b6001600160a01b0381166101a0850152506108d16101a085016105a7565b8015156101c0850152506108e86101c08501610452565b6001600160a01b0381166101e0850152506109066101e085016105a7565b8015156102008501525061091d6102008501610452565b6001600160a01b038116610220850152506102208401356102408481019190915261094a908501856105b7565b848303601f1901610260860152610962838284610600565b925050506109746102608501856105b7565b848303601f190161028086015261098c8382846106a1565b969550505050505056fea264697066735822122004e34019f312e64b4ff6ed5ac3563bfe0263930bdb58a67b2a07dbf0374bbf0464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
14
- export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
15
- export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
16
- export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
17
- export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b5061019a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100e1565b610055565b60405190815260200160405180910390f35b60003383834461006660014361012a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b8116602083015260348201959095529290941b90921660548201526068810191909152904060888201524260a882015260c8016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100f457600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461011f57600080fd5b809150509250929050565b818103818111156100db577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212208bd690ae1228a7de1abfd64fc090e0e5de7506a54a027895d588571cf8851b7764736f6c634300081c0033";
18
- export const abxParamsLibAbi = [{ "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "hasSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
19
- export const abxParamsLibBytecode = "0x61300f610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101815760003560e01c8063909206e3116100e2578063aa0de18d11610096578063d84d644611610070578063d84d644614610467578063e1b7938114610487578063f22357011461049a57600080fd5b8063aa0de18d14610421578063c4f2604814610441578063cc1cf5151461045457600080fd5b806392b8e739116100c757806392b8e739146103c15780639a851cec146103e15780639ffefae61461040157600080fd5b8063909206e314610399578063909d716e146103a157600080fd5b806333fe6d141161013957806355580cca1161011e57806355580cca146103435780635b02f81c14610358578063838128171461037957600080fd5b806333fe6d14146102865780633c59f1bb146102a657600080fd5b806313bfffac1161016a57806313bfffac146101ff5780631c31cac3146102465780632ed483001461026657600080fd5b806302d66fc2146101865780630ba2352a146101dd575b600080fd5b6101c86101943660046124d2565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156101e957600080fd5b506101fd6101f836600461255f565b6104c1565b005b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b81801561025257600080fd5b506101fd6102613660046125be565b6105d8565b81801561027257600080fd5b506101fd6102813660046125db565b610666565b81801561029257600080fd5b506101fd6102a13660046125db565b61078b565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016101d4565b61034b610889565b6040516101d49190612682565b61036b610366366004612695565b6108dd565b6040516101d49291906126c1565b81801561038557600080fd5b506101fd6103943660046126f1565b610926565b61034b610b46565b8180156103ad57600080fd5b506101fd6103bc366004612739565b610b94565b8180156103cd57600080fd5b506101fd6103dc366004612778565b610d7d565b8180156103ed57600080fd5b506101fd6103fc3660046127b1565b610f15565b81801561040d57600080fd5b506101fd61041c36600461283c565b6110c6565b81801561042d57600080fd5b506101fd61043c3660046128ee565b611565565b61036b61044f36600461292e565b611685565b61036b61046236600461292e565b6116c0565b81801561047357600080fd5b506101fd610482366004612950565b6116ef565b61034b6104953660046124d2565b61179b565b6104ad6104a83660046124d2565b6117fd565b6040516101d49897969594939291906129fd565b60008290036104fc576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516105d29085906105c29086908690612b1c565b6040518091039020600184610b94565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b60008290036106a1576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161078490869086906107749087908790612b1c565b6040518091039020600185610926565b5050505050565b60006107988686846119d0565b905060078154610100900460ff1660088111156107b7576107b7612986565b141580156107e0575060088154610100900460ff1660088111156107dd576107dd612986565b14155b15610817576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610852576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087486868686604051610867929190612b1c565b6040518091039020611af3565b6108818686868633610666565b505050505050565b60606108d77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610919908585611bd0565b915091505b935093915050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561098557506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156109cc5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610ab5576000868152600482016020908152604080832060058501909252909120610ab5919087611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60606108d77f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530082158015610be85750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15610c24576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610cc9600682016007830187611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610df8576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610e96919085611d0c565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610fa6576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025600682016007830185611d0c565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b60018860088111156110da576110da612986565b0361111f57600081900361111a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157565b8015611157576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600388600881111561116b5761116b612986565b036111af57828413156111aa576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111f4565b82158015906111bd57508284115b156111f4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600288600681111561120a5761120a612986565b14806112275750600488600681111561122557611225612986565b145b806112435750600588600681111561124157611241612986565b145b8061125f5750600688600681111561125d5761125d612986565b145b905080151573ffffffffffffffffffffffffffffffffffffffff88161515146112b4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16611330576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010083600881111561136d5761136d612986565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100008360068111156113b0576113b0612986565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a1602178155600181018790556002810186905561145b600382016000612446565b60005b848110156114b7578160030186868381811061147c5761147c612b2c565b905060200281019061148e9190612b5b565b825460018101845560009384526020909320909201916114ae9183612c88565b5060010161145e565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c6040516114f6989796959493929190612deb565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610f07565b606060006116b47ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585611bd0565b915091505b9250929050565b606060006116b47f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585611bd0565b60006116fc8585846119d0565b905060078154610100900460ff16600881111561171b5761171b612986565b1480611741575060088154610100900460ff16600881111561173f5761173f612986565b145b15611778576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117828184611df5565b61178d858585611af3565b610784858585600033610926565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885304602052604081206060916117f691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b5092915050565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561196a5783829060005260206000200180546118dd90612bef565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612bef565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050815260200190600101906118be565b5050505090509850985098509850985098509850985050919395975091939597565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816119ca5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff16611a38576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff168015801590611a7357508065ffffffffffff1642115b15611aaa576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab5828685611ffa565b611aeb576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff1680611b365750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b158015611bb257600080fd5b505af1158015611bc6573d6000803e3d6000fd5b5050505050505050565b8254606090808410611bf257604080516000815260208101909152915061091e565b83810383811115611c005750825b8067ffffffffffffffff811115611c1957611c19612bc0565b604051908082528060200260200182016040528015611c42578160200160208202803683370190505b50925060005b81811015611c94578681870181548110611c6457611c64612b2c565b9060005260206000200154848281518110611c8157611c81612b2c565b6020908102919091010152600101611c48565b5050935093915050565b7f7365656400000000000000000000000000000000000000000000000000000000811480611cd9575060008181526020839052604090205415155b15611ce357505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003611d295750505050565b8354818114611d9b57600085611d40600184612f14565b81548110611d5057611d50612b2c565b906000526020600020015490508086600185611d6c9190612f14565b81548110611d7c57611d7c612b2c565b6000918252602080832090910192909255918252859052604090208290555b84805480611dab57611dab612f54565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115611e1457611e14612986565b03611e59576001811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d2565b6001826008811115611e6d57611e6d612986565b03611eaf5760038401548110611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115611ec357611ec3612986565b03611f055762ffffff811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115611f1957611f19612986565b03611f725760018401548190811280611f355750600285015481135b15611f6c576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506105d2565b6001840154811015611fb0576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590611fc357508082115b15610784576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff16818082600681111561201c5761201c612986565b14806120395750600382600681111561203757612037612986565b145b806120555750600482600681111561205357612053612986565b145b806120715750600682600681111561206f5761206f612986565b145b905080801561209557503373ffffffffffffffffffffffffffffffffffffffff8516145b156120a557600192505050612292565b600060028360068111156120bb576120bb612986565b14806120d8575060048360068111156120d6576120d6612986565b145b806120f4575060058360068111156120f2576120f2612986565b145b806121105750600683600681111561210e5761210e612986565b145b905080801561213c575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561214d5760019350505050612292565b6000600184600681111561216357612163612986565b14806121805750600384600681111561217e5761217e612986565b145b8061219c5750600584600681111561219a5761219a612986565b145b806121b8575060068460068111156121b6576121b6612986565b145b90508015612289576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612f83565b905073ffffffffffffffffffffffffffffffffffffffff8116330361226957600195505050505050612292565b61227433828a612299565b1561228757600195505050505050612292565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806122f6575073ffffffffffffffffffffffffffffffffffffffff81163b155b15612305576000915050612292565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f3687400000000000000000000000000000000000000000000000000000000179052516123cd9190612fa0565b600060405180830381855afa9150503d8060008114612408576040519150601f19603f3d011682016040523d82523d6000602084013e61240d565b606091505b5091509150818015612420575080516020145b801561243b57508080602001905181019061243b9190612fbc565b979650505050505050565b50805460008255906000526020600020908101906124649190612467565b50565b8082111561248457600061247b8282612488565b50600101612467565b5090565b50805461249490612bef565b6000825580601f106124a4575050565b601f01602090049060005260206000209081019061246491905b8082111561248457600081556001016124be565b6000602082840312156124e457600080fd5b5035919050565b60008083601f8401126124fd57600080fd5b50813567ffffffffffffffff81111561251557600080fd5b6020830191508360208285010111156116b957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461246457600080fd5b803561255a8161252d565b919050565b6000806000806060858703121561257557600080fd5b84359350602085013567ffffffffffffffff81111561259357600080fd5b61259f878288016124eb565b90945092505060408501356125b38161252d565b939692955090935050565b6000602082840312156125d057600080fd5b81356122928161252d565b6000806000806000608086880312156125f357600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561261857600080fd5b612624888289016124eb565b90945092505060608601356126388161252d565b809150509295509295909350565b600081518084526020840193506020830160005b8281101561267857815186526020958601959091019060010161265a565b5093949350505050565b6020815260006122926020830184612646565b6000806000606084860312156126aa57600080fd5b505081359360208301359350604090920135919050565b6040815260006126d46040830185612646565b90508260208301529392505050565b801515811461246457600080fd5b600080600080600060a0868803121561270957600080fd5b8535945060208601359350604086013592506060860135612729816126e3565b915060808601356126388161252d565b6000806000806080858703121561274f57600080fd5b84359350602085013592506040850135612768816126e3565b915060608501356125b38161252d565b60008060006060848603121561278d57600080fd5b833592506020840135915060408401356127a68161252d565b809150509250925092565b600080604083850312156127c457600080fd5b8235915060208301356127d68161252d565b809150509250929050565b803565ffffffffffff8116811461255a57600080fd5b60008083601f84011261280957600080fd5b50813567ffffffffffffffff81111561282157600080fd5b6020830191508360208260051b85010111156116b957600080fd5b60008060008060008060008060006101008a8c03121561285b57600080fd5b8935985060208a01356009811061287157600080fd5b975060408a01356007811061288557600080fd5b965061289360608b0161254f565b95506128a160808b016127e1565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff8111156128cb57600080fd5b6128d78c828d016127f7565b915080935050809150509295985092959850929598565b60008060006060848603121561290357600080fd5b833561290e8161252d565b9250602084013561291e8161252d565b915060408401356127a68161252d565b6000806040838503121561294157600080fd5b50508035926020909101359150565b6000806000806080858703121561296657600080fd5b84359350602085013592506040850135915060608501356125b38161252d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600981106129c5576129c5612986565b9052565b600781106129c5576129c5612986565b60005b838110156129f45781810151838201526020016129dc565b50506000910152565b600061010082018a15158352612a16602084018b6129b5565b612a23604084018a6129c9565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015612b09577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee087860301845281518051808752612ac88160208901602085016129d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169590950160209081019550938401939190910190600101612a81565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b9057600080fd5b83018035915067ffffffffffffffff821115612bab57600080fd5b6020019150368190038213156116b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680612c0357607f821691505b6020821081036108d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115612c8357806000526020600020601f840160051c81016020851015612c635750805b601f840160051c820191505b818110156107845760008155600101612c6f565b505050565b67ffffffffffffffff831115612ca057612ca0612bc0565b612cb483612cae8354612bef565b83612c3c565b6000601f841160018114612d065760008515612cd05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610784565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015612d555786850135825560209485019460019092019101612d35565b5086821015612d90577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e08201612dfb838c6129b5565b612e08602084018b6129c9565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612b09577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008786030184528235818112612ec257600080fd5b890160208101903567ffffffffffffffff811115612edf57600080fd5b803603821315612eee57600080fd5b612ef9878284612da2565b96505050602083019250602084019350600182019150612e85565b81810381811115612f4e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060208284031215612f9557600080fd5b81516122928161252d565b60008251612fb28184602087016129d9565b9190910192915050565b600060208284031215612fce57600080fd5b8151612292816126e356fea264697066735822122062d27b6977c4261226f9a4b124f1b937cd8df977a426150ba660efec43da26f464736f6c634300081c0033";
20
- export const abxCodeLibAbi = [{ "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DependenciesAreLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyDependencyRef", "inputs": [] }, { "type": "error", "name": "EmptyScriptChunk", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "ScriptIsLocked", "inputs": [] }];
21
- export const abxCodeLibBytecode = "0x610dec610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639a5db503116100655780639a5db503146100e35780639aa1a1f0146100f8578063b478424714610118578063dc9838791461012d57600080fd5b806325628d341461008c5780636b40ee45146100a357806396f4205a146100c3575b600080fd5b81801561009857600080fd5b506100a1610142565b005b8180156100af57600080fd5b506100a16100be366004610ba7565b6102cb565b8180156100cf57600080fd5b506100a16100de366004610be3565b610502565b8180156100ef57600080fd5b506100a161060a565b81801561010457600080fd5b506100a1610113366004610c20565b6106e2565b81801561012457600080fd5b506100a1610910565b81801561013957600080fd5b506100a1610a60565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156101d8576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610215576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815482908061022657610226610c9e565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd89906102b69083610ccd565b60405190815260200160405180910390a15050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610361576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610398576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156103d3576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180604001604052808560018111156103f2576103f2610d0d565b60ff1681526020018490528254909150850361045e578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9094169390931783558301519101556104c1565b8082600001868154811061047457610474610d3c565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be886866040516104f3929190610d6b565b60405180910390a25050505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610598576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a25050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610688576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610760576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082900361079b576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156107d6576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061081784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6392505050565b825490915085036108775781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556108d6565b8082600001868154811061088d5761088d610d3c565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a15050505050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff161561098e576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036109cb576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806109dc576109dc610c9e565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86102b6600183610ccd565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610af6576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f0915081610ba15763301164256000526004601cfd5b90915290565b600080600060608486031215610bbc57600080fd5b83359250602084013560028110610bd257600080fd5b929592945050506040919091013590565b600060208284031215610bf557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610c1957600080fd5b9392505050565b600080600060408486031215610c3557600080fd5b83359250602084013567ffffffffffffffff811115610c5357600080fd5b8401601f81018613610c6457600080fd5b803567ffffffffffffffff811115610c7b57600080fd5b866020828401011115610c8d57600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b81810381811115610d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8281526040810160028310610da9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b826020830152939250505056fea2646970667358221220bc9d39b8fcd0299061fc38ce10548c7a0ccc1f5c94b148fec87c34d225bdd01964736f6c634300081c0033";
22
- export const abxFixedPriceMinterAbi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }];
23
- export const abxFixedPriceMinterBytecode = "0x6080604052348015600f57600080fd5b506108ed8061001f6000396000f3fe60806040526004361061003f5760003560e01c806325b31a9714610044578063431b4a531461006a5780638afb733b1461008c578063c6b9f06a1461009f575b600080fd5b6100576100523660046107de565b61013f565b6040519081526020015b60405180910390f35b34801561007657600080fd5b5061008a610085366004610802565b610188565b005b61005761009a366004610848565b6102fc565b3480156100ab57600080fd5b506101006100ba3660046107de565b600060208190529081526040902080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a001610061565b60003068929eee149b4bd2126854036101605763ab143c066000526004601cfd5b3068929eee149b4bd21268556101768233610346565b3868929eee149b4bd212685592915050565b610191846106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101f5576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090206003810154821015610258576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528616907fb8a0883311b2984d17ca5bc73b4f76a513dbd0e7d593f7e822cbf3d49388a2cf9060600160405180910390a25050505050565b60003068929eee149b4bd21268540361031d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556103338383610346565b3868929eee149b4bd21268559392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260408120805460ff166103a6576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600201548160030154106103e7576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190610881565b905073ffffffffffffffffffffffffffffffffffffffff81166104a7576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182810154835460038501805490930190925590610100900473ffffffffffffffffffffffffffffffffffffffff168061051a57813414610515576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610574565b3415610552576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff8216338585610732565b6040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152881690636a627842906024016020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610606919061089e565b945073ffffffffffffffffffffffffffffffffffffffff811615801561062b57508115155b156106505761065073ffffffffffffffffffffffffffffffffffffffff841683610799565b6040805186815273ffffffffffffffffffffffffffffffffffffffff8381166020830152918101849052818816913391908a16907fbf643e210feb17151f7b4d5e018eb6bb22020cd22f96c6420d67046bcc9523639060600160405180910390a45050505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190610881565b92915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af1806001600051141661078a57803d873b15171061078a57637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16107b55763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146107db57600080fd5b50565b6000602082840312156107f057600080fd5b81356107fb816107b9565b9392505050565b6000806000806080858703121561081857600080fd5b8435610823816107b9565b93506020850135610833816107b9565b93969395505050506040820135916060013590565b6000806040838503121561085b57600080fd5b8235610866816107b9565b91506020830135610876816107b9565b809150509250929050565b60006020828403121561089357600080fd5b81516107fb816107b9565b6000602082840312156108b057600080fd5b505191905056fea264697066735822122010bbd9a68f04f68ea882d2077ef3da26eef484039114b45a977029992934950a64736f6c634300081c0033";
24
- export const abxMetadataRendererAbi = [{ "type": "function", "name": "contractURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "paramDataOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "tokenScope", "type": "bool", "internalType": "bool" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "paramKeysOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "tokenScope", "type": "bool", "internalType": "bool" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "specVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "pure" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }];
25
- export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b5061471a8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c8062844d13146100665780632030d9551461008f5780637efe64a2146100af578063c388da65146100be578063ca379c6e146100d1578063e9dc6375146100f3575b600080fd5b610079610074366004613610565b610106565b604051610086919061367d565b60405180910390f35b6100a261009d36600461369e565b610535565b60405161008691906136e0565b60405160048152602001610086565b6100796100cc366004613723565b61061e565b6100e46100df36600461376d565b610716565b604051610086939291906137af565b61007961010136600461376d565b6107ac565b60405163055828c560e41b8152636e616d6560e01b600482015260609060009081906001600160a01b038516906355828c5090602401600060405180830381865afa158015610159573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018191908101906138f1565b9150915060608082516000141580156101b4575065696e6c696e6560d01b8414806101b45750653932b0b232b960d11b84145b15610250576101c3848461097c565b9150610249604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b861461021957604051806040016040528060068152602001653932b0b232b960d11b815250610239565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b60016102448861099d565b610a9d565b9050610339565b856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561028e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102b69190810190613938565b9150610336604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060016040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d6528292900000000000000815250610a9d565b90505b600061034483610b14565b604051602001610354919061396c565b60405160208183030381529060405290506103a3876a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508486610b21565b80935081925050506103ed876c65787465726e616c5f6c696e6b60981b6040518060400160405280600d81526020016c65787465726e616c5f6c696e6b60981b8152508486610b21565b80935081925050506104298765185c9d1a5cdd60d21b60405180604001604052806006815260200165185c9d1a5cdd60d21b8152508486610b21565b8093508192505050610473876c646973706c61795f6e6f74657360981b6040518060400160405280600d81526020016c646973706c61795f6e6f74657360981b8152508486610b21565b80935081925050506104bb876b6172746973745f6c696e6b7360a01b6040518060400160405280600c81526020016b6172746973745f6c696e6b7360a01b8152508486610b21565b80935081925050506104f987666c6963656e736560c81b604051806040016040528060078152602001666c6963656e736560c81b8152508486610b21565b60405190935090915061052a9061051690839085906020016139a9565b604051602081830303815290604052610d74565b979650505050505050565b6060816105a757836001600160a01b03166355580cca6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190613a29565b610614565b60405163e1b7938160e01b8152600481018490526001600160a01b0385169063e1b7938190602401600060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106149190810190613a29565b90505b9392505050565b60608161069757604051630d96050360e31b8152600481018490526001600160a01b03861690636cb0281890602401600060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106929190810190613938565b61070b565b6040516384f6687f60e01b815260048101859052602481018490526001600160a01b038616906384f6687f90604401600060405180830381865afa1580156106e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070b9190810190613938565b90505b949350505050565b60008060606000806000876001600160a01b031663f2235701886040518263ffffffff1660e01b815260040161074e91815260200190565b600060405180830381865afa15801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107939190810190613b59565b969c50949a5094985050505050505050505b9250925092565b60606000806107bb8585610da5565b9150915060008060006107ce8888611050565b92509250925060006107df86610b14565b6107e885610b14565b6040516020016107f9929190613c17565b60405160208183030381529060405290506000858460405160200161081f929190613c81565b604051602081830303815290604052905061086f8a8a6a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b81525086866114e9565b80925081935050506108b88a8a6b195e1d195c9b985b17dd5c9b60a21b6040518060400160405280600c81526020016b195e1d195c9b985b17dd5c9b60a21b81525086866114e9565b80925081935050506109038a8a6c185b9a5b585d1a5bdb97dd5c9b609a1b6040518060400160405280600d81526020016c185b9a5b585d1a5bdb97dd5c9b609a1b81525086866114e9565b90925090506109148a8a8484611893565b90925090506109258a8a8484611af8565b8451919350915015610956578183604051602001610944929190613cbd565b60405160208183030381529060405291505b61096c82826040516020016105169291906139a9565b9750505050505050505b92915050565b6060653932b0b232b960d11b83146109945781610617565b61061782611bd4565b6060621d5c9b60ea1b82036109cb576040518060600160405280602181526020016146c46021913992915050565b6b75726c2d74656d706c61746560a01b8203610a00576040518060600160405280602a815260200161469a602a913992915050565b673932b73232b932b960c11b8203610a31576040518060600160405280602281526020016146786022913992915050565b653932b0b232b960d11b8214610a7057604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b815250610976565b50506040805180820190915260118152706f6e2d636861696e20287265616465722960781b602082015290565b6060848484610ac9576040518060400160405280600581526020016466616c736560d81b815250610ae7565b604051806040016040528060048152602001637472756560e01b8152505b84604051602001610afb9493929190613d14565b6040516020818303038152906040529050949350505050565b6060610976826000611c62565b606080600080886001600160a01b03166355828c50896040518263ffffffff1660e01b8152600401610b5591815260200190565b600060405180830381865afa158015610b72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b9a91908101906138f1565b915091508051600003610bb4578585935093505050610d6a565b65696e6c696e6560d01b821480610bd35750653932b0b232b960d11b82145b80610be35750621d5c9b60ea1b82145b15610c67578587610bfc610bf7858561097c565b610b14565b604051602001610c0e93929190613e0b565b604051602081830303815290604052955084610c4088610c2d85611d63565b621d5c9b60ea1b8614156102448761099d565b604051602001610c51929190613c81565b6040516020818303038152906040529450610d61565b673932b73232b932b960c11b8203610d0e576000610c89828b6000198c611e8c565b9150508688610c9783610b14565b604051602001610ca993929190613e0b565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015297508690610ce6908a9060016102448861099d565b604051602001610cf7929190613c81565b604051602081830303815290604052955050610d61565b84610d3e88604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024487611f33565b604051602001610d4f929190613c81565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610d7f82611f4e565b604051602001610d8f9190613e7b565b6040516020818303038152906040529050919050565b6060806000806000610dbf8787636e616d6560e01b611f5c565b9250925092508151600014158015610df1575065696e6c696e6560d01b831480610df15750653932b0b232b960d11b83145b15610e9457610e00838361097c565b610e88604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b8614610e5457604051806040016040528060068152602001653932b0b232b960d11b815250610e74565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6001610244610e828961099d565b87612089565b94509450505050611049565b815115801590610eae5750673932b73232b932b960c11b83145b15610f2e576000610ec8838989636e616d6560e01b611e8c565b91505080610f21604051806040016040528060048152602001636e616d6560e01b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506001610244610f1b8a61099d565b88612089565b9550955050505050611049565b6000876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f969190810190613938565b610f9f886120be565b604051602001610fb0929190613ec0565b604051602081830303815290604052905080611040604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060016040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b202369642900815250610a9d565b95509550505050505b9250929050565b6060806060600080600061106d888864696d61676560d81b611f5c565b92509250925081516000146114405765696e6c696e6560d01b83036111285761109582612102565b61110a60405180604001604052806005815260200164696d61676560d81b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506001610244604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b81525087612089565b604051806020016040528060008152509550955095505050506107a5565b653932b0b232b960d11b83036111be5761114961114483611bd4565b612102565b61110a60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060068152602001653932b0b232b960d11b8152506001610244604051806040016040528060118152602001706f6e2d636861696e20287265616465722960781b81525087612089565b621d5c9b60ea1b830361122d578161110a60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060038152602001621d5c9b60ea1b81525060006102446040518060600160405280602181526020016146c46021913987612089565b6b75726c2d74656d706c61746560a01b83036112b75761124d828861211d565b61110a60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600c81526020016b75726c2d74656d706c61746560a01b81525060006102446040518060600160405280602a815260200161469a602a913987612089565b673932b73232b932b960c11b83036113e9576000806112e0848b8b64696d61676560d81b611e8c565b9150915060006112f0838361214e565b90508061134960405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060088152602001673932b73232b932b960c11b81525060016102446113438c61099d565b8a612089565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b6020918201528551908601207f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de0146113c7576113c260405180604001604052806005815260200164696d61676560d81b815250868561216b565b6113d8565b604051806020016040528060008152505b9850985098505050505050506107a5565b6113f388886121aa565b61110a60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b815250600061024488611f33565b61144a88886121aa565b6114c960405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060006040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e73657400000000815250610a9d565b604051806020016040528060008152509550955095505050509250925092565b60608060008060006114fc8b8b8b611f5c565b925092509250815160000361151957868694509450505050611888565b65696e6c696e6560d01b8314806115385750653932b0b232b960d11b83145b15611602576000611549848461097c565b90506c185b9a5b585d1a5bdb97dd5c9b609a1b8a036115905761158d604051806040016040528060098152602001681d195e1d0bda1d1b5b60ba1b8152508261214e565b90505b878961159b83610b14565b6040516020016115ad93929190613e0b565b6040516020818303038152906040529750866115da8a6115cc87611d63565b6001610244610f1b8a61099d565b6040516020016115eb929190613c81565b60405160208183030381529060405296505061187e565b621d5c9b60ea1b83148061162457506b75726c2d74656d706c61746560a01b83145b1561169d5760006b75726c2d74656d706c61746560a01b84146116475782611651565b611651838c61211d565b9050878961165e83610b14565b60405160200161167093929190613e0b565b6040516020818303038152906040529750866115da8a61168f87611d63565b6000610244610f1b8a61099d565b673932b73232b932b960c11b830361182b576000806116be848e8e8e611e8c565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b60209182015282519083012091935091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01460006c185b9a5b585d1a5bdb97dd5c9b609a1b8d14801561172f575081155b6117395782611743565b611743848461214e565b90508a8c61175083610b14565b60405160200161176293929190613e0b565b6040516020818303038152906040529a5089826117b7576117b28d604051806040016040528060088152602001673932b73232b932b960c11b81525060016102446117ac8d61099d565b8b612089565b611800565b6118008d604051806040016040528060088152602001673932b73232b932b960c11b8152506000610244604051806060016040528060378152602001614641603791398b612089565b604051602001611811929190613c81565b60405160208183030381529060405299505050505061187e565b8561185b89604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024488611f33565b60405160200161186c929190613c81565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b60608060008060006118b38989696174747269627574657360b01b611f5c565b92509250925081516000036118d057868694509450505050611aef565b65696e6c696e6560d01b83036119a65786826040516020016118f3929190613efd565b60405160208183030381529060405296508561197f6040518060400160405280600a8152602001696174747269627574657360b01b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506001610244604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b81525087612089565b604051602001611990929190613c81565b6040516020818303038152906040529550611ae5565b673932b73232b932b960c11b8303611a705760006119d3838b8b696174747269627574657360b01b611e8c565b91505087816040516020016119e9929190613efd565b60408051601f198184030181528282018252600a8352696174747269627574657360b01b602084810191909152825180840190935260088352673932b73232b932b960c11b9083015299508891611a48916001610244610f1b8a61099d565b604051602001611a59929190613c81565b604051602081830303815290604052965050611ae5565b85611ac26040518060400160405280600a8152602001696174747269627574657360b01b815250604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024488611f33565b604051602001611ad3929190613c81565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b6060806000611b078787612205565b90508051600003611b1e5784849250925050611aef565b8481604051602001611b31929190613f46565b60405160208183030381529060405284611ba66040518060400160405280600a8152602001696162785f706172616d7360b01b81525060405180604001604052806006815260200165706172616d7360d01b815250600160405180606001604052806034815260200161460d60349139610a9d565b604051602001611bb7929190613c81565b604051602081830303815290604052925092505094509492505050565b606060008083806020019051810190611bed9190613f9e565b604051635043d43f60e11b81526001600160a01b0380831660048301529294509092509083169063a087a87e90602401600060405180830381865afa158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070e9190810190613938565b604051602081018215611c7757602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b808614611d3a5760018601955060ff86511660208110611cf357826001821b16611cdd5780845360018401935050611caa565b605c845380600185015360028401935050611caa565b6137006001821b16611d20578060041c51601d53600f811651601e53601951845260068401935050611caa565b605c84536008810151600185015350600283019250611caa565b50508215611d4a57602281536001015b60008152601f1982820301825260200160405292915050565b606065696e6c696e6560d01b8203611d97575050604080518082019091526006815265696e6c696e6560d01b602082015290565b653932b0b232b960d11b8203611dc95750506040805180820190915260068152653932b0b232b960d11b602082015290565b673932b73232b932b960c11b8203611dff5750506040805180820190915260088152673932b73232b932b960c11b602082015290565b621d5c9b60ea1b8203611e2b5750506040805180820190915260038152621d5c9b60ea1b602082015290565b6b75726c2d74656d706c61746560a01b8203611e6957505060408051808201909152600c81526b75726c2d74656d706c61746560a01b602082015290565b50506040805180820190915260078152661bdb5a5d1d195960ca1b602082015290565b606080600086806020019051810190611ea59190613fd8565b604051633f307a7b60e11b81526001600160a01b038881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa158015611efd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f259190810190613ff5565b925092505094509492505050565b6060611f3e82612552565b604051602001610d8f9190614046565b60606109768260008061263b565b604051633937c63b60e21b8152600481018390526024810182905260009060609082906001600160a01b0387169063e4df18ec90604401600060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fd891908101906138f1565b8051919450925015611fec57506000612080565b60405163055828c560e41b81526004810185905260009081906001600160a01b038916906355828c5090602401600060405180830381865afa158015612036573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261205e91908101906138f1565b91509150805160001461207957909350915060019050612080565b5060009150505b93509350939050565b6060816120965782610617565b826040516020016120a7919061409c565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806120d9575050819003601f19909101908152919050565b606061210d82611f4e565b604051602001610d8f91906140cd565b606061061783604051806040016040528060048152602001637b69647d60e01b815250612149856120be565b612730565b60608261215a83611f4e565b6040516020016120a7929190614112565b60608361217784610b14565b61218084610b14565b60405160200161219293929190614166565b60405160208183030381529060405290509392505050565b606060006121c36121ba8561273d565b600060066127ac565b90506000816121d1856120be565b6040516020016121e2929190614202565b60405160208183030381529060405290506121fc81612102565b95945050505050565b6060600061221384846127b9565b9050600081516001600160401b0381111561223057612230613842565b60405190808252806020026020018201604052801561226357816020015b606081526020019060019003908161224e5790505b5090506000805b83518110156123155760008061229a898988868151811061228d5761228d614370565b602002602001015161296e565b91509150816122aa57505061230d565b8583815181106122bc576122bc614370565b60200260200101518685815181106122d6576122d6614370565b60209081029190910101528085856122ed8161439c565b9650815181106122ff576122ff614370565b602002602001018190525050505b60010161226a565b5060015b8181101561247b57600084828151811061233557612335614370565b60200260200101519050600084838151811061235357612353614370565b6020026020010151905060008390505b6000811180156123985750828761237b6001846143b5565b8151811061238b5761238b614370565b602002602001015160001c115b1561243057866123a96001836143b5565b815181106123b9576123b9614370565b60200260200101518782815181106123d3576123d3614370565b6020908102919091010152856123ea6001836143b5565b815181106123fa576123fa614370565b602002602001015186828151811061241457612414614370565b602002602001018190525080612429906143c8565b9050612363565b8287828151811061244357612443614370565b6020026020010181815250508186828151811061246257612462614370565b6020026020010181905250505050806001019050612319565b50606060005b828110156125475780158015906124d657506124bf856124a26001846143b5565b815181106124b2576124b2614370565b6020026020010151612a17565b6124d48683815181106124b2576124b2614370565b145b61253f5781511561252157818482815181106124f4576124f4614370565b602002602001015160405160200161250d929190613c81565b60405160208183030381529060405261253c565b83818151811061253357612533614370565b60200260200101515b91505b600101612481565b509695505050505050565b606060005b602081108015612585575082816020811061257457612574614370565b1a60f81b6001600160f81b03191615155b1561259a576125938161439c565b9050612557565b6000816001600160401b038111156125b4576125b4613842565b6040519080825280601f01601f1916602001820160405280156125de576020820181803683370190505b50905060005b82811015612633578481602081106125fe576125fe614370565b1a60f81b82828151811061261457612614614370565b60200101906001600160f81b031916908160001a9053506001016125e4565b509392505050565b606083518015612633576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f8116516003535060005184526004840193508284106126b7579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b6060610614848484612a89565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101906012190161277d575050919050565b6060610614848484612b99565b606060006127c984846000612bff565b905060006127d985856001612bff565b90506000815183516127eb91906143df565b9050806001600160401b0381111561280557612805613842565b60405190808252806020026020018201604052801561282e578160200160208202803683370190505b5093506000805b8281101561296157600085518210612872578486518361285591906143b5565b8151811061286557612865614370565b602002602001015161288d565b85828151811061288457612884614370565b60200260200101515b90506618da185a5b925960ca1b8114806128b857506e636f6e74726163744164647265737360881b81145b806128cc5750661d1bdad95b925960ca1b81145b806128dd5750631cd9595960e21b81145b156128e85750612959565b6000805b84811015612925578289828151811061290757612907614370565b60200260200101510361291d5760019150612925565b6001016128ec565b5080612956578188856129378161439c565b96508151811061294957612949614370565b6020026020010181815250505b50505b600101612835565b5084525091949350505050565b6000606060008060006129848888886001612c99565b9194509250905080806129a65761299e8989896000612c99565b919550935091505b816129ca576000604051806020016040528060008152509550955050505050612a0f565b60016129d8610bf789612dd7565b6129e68b8b8b898988612eb8565b6040516020016129f79291906143f2565b60405160208183030381529060405295509550505050505b935093915050565b6000805b6020811015612a8357828160208110612a3657612a36614370565b1a60f81b6001600160f81b03191615612a8357612a5481600861443d565b838260208110612a6657612a66614370565b1a60f81b6001600160f81b031916901c9190911790600101612a1b565b50919050565b6060604051905082518251858303602087018751810160005287518411612b5c576001846000510301600060208610612ac5578560208a012090505b6020890151601f871660200360031b5b8451828118821c612b45578315612b0d578389872014612b0d578087870152600186019550848610612b075750612b57565b50612ad5565b60005b6020818d0181015189890183015201888110612b105750888888010396508815612b455794880194848610612b075750612b57565b85870152600190940193838510612ad5575b505050505b6000519350836020860183030192505b83811015612b8257805182820152602001612b6c565b600091019081526020016040528252509392505050565b60608351828111612ba8578092505b838111612bb3578093505b50818310156106175750604051828203848401601f19601f830181165b8281015185820152810180612bd057505050806020830101600081526020810160405250808252509392505050565b604051632030d95560e01b81526001600160a01b03841660048201526024810183905281151560448201526060903090632030d95590606401600060405180830381865afa925050508015612c7657506040513d6000823e601f3d908101601f19168201604052612c739190810190613a29565b60015b15612c82579050610617565b505060408051600081526020810190915292915050565b6000806000806000886001600160a01b031686612cec576040516024810189905260440160408051601f198184030181529190526020810180516001600160e01b0316632352b33f60e01b179052612d2b565b604051602481018a90526044810189905260640160408051601f198184030181529190526020810180516001600160e01b03166335e9c91160e11b1790525b604051612d389190614454565b600060405180830381855afa9150503d8060008114612d73576040519150601f19603f3d011682016040523d82523d6000602084013e612d78565b606091505b5091509150811580612d8c57508051606014155b15612da3575060009350839250829150612dcd9050565b600080600083806020019051810190612dbc9190614470565b919950151597501515955050505050505b9450945094915050565b606060005b602081108015612e0a5750828160208110612df957612df9614370565b1a60f81b6001600160f81b03191615155b15612e1f57612e188161439c565b9050612ddc565b6000816001600160401b03811115612e3957612e39613842565b6040519080825280601f01601f191660200182016040528015612e63576020820181803683370190505b50905060005b8281101561263357848160208110612e8357612e83614370565b1a60f81b828281518110612e9957612e99614370565b60200101906001600160f81b031916908160001a905350600101612e69565b60405163651bce3760e11b81526001600160a01b03871660048201526024810185905260609060009081908390309063ca379c6e90604401600060405180830381865afa925050508015612f2e57506040513d6000823e601f3d908101601f19168201604052612f2b919081019061449e565b60015b15612f3b57919450925090505b606086612fbc5783612f5757612f5088613093565b9050613062565b6001836008811115612f6b57612f6b613799565b03612fb257815188908110612f8857612f83816120be565b612faa565b612faa838281518110612f9d57612f9d614370565b6020026020010151610b14565b915050613062565b612f5083896131e1565b6000612fca8c8c8c8a6132e4565b90508051600003612fe757612fe0896020613386565b9150613060565b6108008151111561302857612ffd896020613386565b60405160200161300d91906144fd565b60405160208183030381529060405295505050505050613089565b8480156130465750600784600881111561304457613044613799565b145b1561305457612fe081610b14565b61305d81611f4e565b91505b505b806040516020016130739190614540565b6040516020818303038152906040529450505050505b9695505050505050565b606060205b80158015906130ce5750826130ae6001836143b5565b602081106130be576130be614370565b1a60f81b6001600160f81b031916155b156130e3576130dc816143c8565b9050613098565b80156131d6576000816001600160401b0381111561310357613103613842565b6040519080825280601f01601f19166020018201604052801561312d576020820181803683370190505b509050600160005b838110156131c357600086826020811061315157613151614370565b1a60f81b9050600160fd1b6001600160f81b0319821610806131815750607f60f81b6001600160f81b0319821610155b156131905760009250506131c3565b808483815181106131a3576131a3614370565b60200101906001600160f81b031916908160001a90535050600101613135565b5080156131d3576121fc82610b14565b50505b610617836020613386565b60608160008460088111156131f8576131f8613799565b0361324c57801561322557604051806040016040528060048152602001637472756560e01b815250613244565b6040518060400160405280600581526020016466616c736560d81b8152505b915050610976565b600584600881111561326057613260613799565b03613297576132708160036133ac565b6040516020016132809190614575565b604051602081830303815290604052915050610976565b60038460088111156132ab576132ab613799565b036132b95761324481613434565b60048460088111156132cd576132cd613799565b036132db576132448161346c565b61070e816120be565b60405163c388da6560e01b81526001600160a01b038516600482015260248101849052604481018390528115156064820152606090309063c388da6590608401600060405180830381865afa92505050801561336257506040513d6000823e601f3d908101601f1916820160405261335f9190810190613938565b60015b1561336e57905061070e565b50604080516020810190915260008152949350505050565b606061339283836133ac565b805161307882526002016001199091019081529392505050565b6060601f1960428360011b01166040510190506020810160405260008152806f30313233343536373839616263646566600f528283018203600119855b600f811651948201946001860153600f8160041c1651855360081c8483036133e957801561341f57632194895a6000526004601cfd5b505050819003601f1990910190815292915050565b60606000821261344757610976826120be565b61345482196001016120be565b8051602d825260010160001990910190815292915050565b6060600061347f6402540be400846145b4565b905060006134926402540be400856145c8565b9050806000036134a55761070e826120be565b60006134be6134b96402540be400846143df565b6120be565b80519091505b816134d06001836143b5565b815181106134e0576134e0614370565b01602001516001600160f81b031916600360fc1b0361350957613502816143c8565b90506134c4565b60006135166001836143b5565b6001600160401b0381111561352d5761352d613842565b6040519080825280601f01601f191660200182016040528015613557576020820181803683370190505b50905060015b828110156135c15783818151811061357757613577614370565b01602001516001600160f81b031916826135926001846143b5565b815181106135a2576135a2614370565b60200101906001600160f81b031916908160001a90535060010161355d565b506135cb856120be565b816040516020016135dd9291906145dc565b60405160208183030381529060405295505050505050919050565b6001600160a01b038116811461360d57600080fd5b50565b60006020828403121561362257600080fd5b8135610617816135f8565b60005b83811015613648578181015183820152602001613630565b50506000910152565b6000815180845261366981602086016020860161362d565b601f01601f19169290920160200192915050565b6020815260006106176020830184613651565b801515811461360d57600080fd5b6000806000606084860312156136b357600080fd5b83356136be816135f8565b92506020840135915060408401356136d581613690565b809150509250925092565b602080825282518282018190526000918401906040840190835b818110156137185783518352602093840193909201916001016136fa565b509095945050505050565b6000806000806080858703121561373957600080fd5b8435613744816135f8565b93506020850135925060408501359150606085013561376281613690565b939692955090935050565b6000806040838503121561378057600080fd5b823561378b816135f8565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6000606082018515158352600985106137d857634e487b7160e01b600052602160045260246000fd5b8460208401526060604084015280845180835260808501915060808160051b86010192506020860160005b8281101561383457607f1987860301845261381f858351613651565b94506020938401939190910190600101613803565b509298975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561388057613880613842565b604052919050565b600082601f83011261389957600080fd5b8151602083016000806001600160401b038411156138b9576138b9613842565b50601f8301601f19166020016138ce81613858565b9150508281528583830111156138e357600080fd5b6121fc83602083018461362d565b6000806040838503121561390457600080fd5b825160208401519092506001600160401b0381111561392257600080fd5b61392e85828601613888565b9150509250929050565b60006020828403121561394a57600080fd5b81516001600160401b0381111561396057600080fd5b61070e84828501613888565b683d913730b6b2911d1160b91b8152815160009061399181600985016020870161362d565b601160f91b6009939091019283015250600a01919050565b600083516139bb81846020880161362d565b722c226162785f70726f76656e616e6365223a5b60681b90830190815283516139eb81601384016020880161362d565b615d7d60f01b60139290910191820152601501949350505050565b60006001600160401b03821115613a1f57613a1f613842565b5060051b60200190565b600060208284031215613a3b57600080fd5b81516001600160401b03811115613a5157600080fd5b8201601f81018413613a6257600080fd5b8051613a75613a7082613a06565b613858565b8082825260208201915060208360051b850101925086831115613a9757600080fd5b6020840193505b82841015613089578351825260209384019390910190613a9e565b805160098110613ac857600080fd5b919050565b600082601f830112613ade57600080fd5b8151613aec613a7082613a06565b8082825260208201915060208360051b860101925085831115613b0e57600080fd5b602085015b83811015613b4f5780516001600160401b03811115613b3157600080fd5b613b40886020838a0101613888565b84525060209283019201613b13565b5095945050505050565b600080600080600080600080610100898b031215613b7657600080fd5b8851613b8181613690565b9750613b8f60208a01613ab9565b9650604089015160078110613ba357600080fd5b60608a0151909650613bb4816135f8565b60808a015190955065ffffffffffff81168114613bd057600080fd5b60a08a015160c08b015160e08c015192965090945092506001600160401b03811115613bfb57600080fd5b613c078b828c01613acd565b9150509295985092959890939650565b683d913730b6b2911d1160b91b81528251600090613c3c81600985016020880161362d565b6a11161134b6b0b3b2911d1160a91b6009918401918201528351613c6781601484016020880161362d565b601160f91b60149290910191820152601501949350505050565b60008351613c9381846020880161362d565b600b60fa1b9083019081528351613cb181600184016020880161362d565b01600101949350505050565b60008351613ccf81846020880161362d565b6d2c22617274696661637473223a5b60901b9083019081528351613cfa81600e84016020880161362d565b605d60f81b600e9290910191820152600f01949350505050565b693d913334b2b632111d1160b11b81528451600090613d3a81600a850160208a0161362d565b6b11161139b7bab931b2911d1160a11b600a918401918201528551613d66816016840160208a0161362d565b600a818301019150506b11161137b721b430b4b7111d60a11b600c8201528451613d9781601884016020890161362d565b600c818301019150507f2c227665726966696564416761696e7374436861696e223a6e756c6c2c226e6f600c820152643a32911d1160d91b602c8201528351613de781603184016020880161362d565b01600c810190613dfe9060310161227d60f01b9052565b6027019695505050505050565b60008451613e1d81846020890161362d565b61161160f11b9083019081528451613e3c81600284016020890161362d565b62111d1160e91b600292909101918201528351613e6081600584016020880161362d565b601160f91b6005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251613eb381601d85016020870161362d565b91909101601d0192915050565b60008351613ed281846020880161362d565b61202360f01b9083019081528351613ef181600284016020880161362d565b01600201949350505050565b60008351613f0f81846020880161362d565b6d161130ba3a3934b13aba32b9911d60911b9083019081528351613f3a81600e84016020880161362d565b01600e01949350505050565b60008351613f5881846020880161362d565b6e2c226162785f706172616d73223a7b60881b9083019081528351613f8481600f84016020880161362d565b607d60f81b600f9290910191820152601001949350505050565b60008060408385031215613fb157600080fd5b8251613fbc816135f8565b6020840151909250613fcd816135f8565b809150509250929050565b600060208284031215613fea57600080fd5b8151610617816135f8565b6000806040838503121561400857600080fd5b82516001600160401b0381111561401e57600080fd5b61402a85828601613888565b92505060208301516001600160401b0381111561392257600080fd5b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e64815267032b930b136329d160c51b60208201526000825161408f81602885016020870161362d565b9190910160280192915050565b600082516140ae81846020870161362d565b6c205b636f6c6c656374696f6e5d60981b920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c00000000000081526000825161410581601a85016020870161362d565b91909101601a0192915050565b643230ba309d60d91b81526000835161413281600585016020880161362d565b670ed8985cd94d8d0b60c21b600591840191820152835161415a81600d84016020880161362d565b01600d01949350505050565b673d9135b2bc911d1160c11b8152835160009061418a81600885016020890161362d565b6d11161136b4b6b2aa3cb832911d1160911b60089184019182015284516141b881601684016020890161362d565b600881830101915050681116113ab934911d1160b91b600e82015283516141e681601784016020880161362d565b61227d60f01b6017929091019182015260190195945050505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d22230000006060820152600083516142ac81607d85016020880161362d565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd820152646c65223e2360d81b60dd82015283516143438160e284016020880161362d565b01607d8101906143659060e2016c1e17ba32bc3a1f1e17b9bb339f60991b9052565b607201949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016143ae576143ae614386565b5060010190565b8181038181111561097657610976614386565b6000816143d7576143d7614386565b506000190190565b8082018082111561097657610976614386565b601160f91b8152825160009061440f81600185016020880161362d565b61111d60f11b600191840191820152835161443181600384016020880161362d565b01600301949350505050565b808202811582820484141761097657610976614386565b6000825161446681846020870161362d565b9190910192915050565b60008060006060848603121561448557600080fd5b5050815160208301516040909301519094929350919050565b6000806000606084860312156144b357600080fd5b83516144be81613690565b92506144cc60208501613ab9565b915060408401516001600160401b038111156144e757600080fd5b6144f386828701613acd565b9150509250925092565b6d3d9135b2b1b1b0b5991a9b111d1160911b8152815160009061452781600e85016020870161362d565b61227d60f01b600e939091019283015250601001919050565b601160f91b8152815160009061455d81600185016020870161362d565b601160f91b6001939091019283015250600201919050565b602360f81b81526000825161459181600185016020870161362d565b9190910160010192915050565b634e487b7160e01b600052601260045260246000fd5b6000826145c3576145c361459e565b500490565b6000826145d7576145d761459e565b500690565b600083516145ee81846020880161362d565b601760f91b9083019081528351613cb181600184016020880161362d56fe6f6e2d636861696e20706172616d732028636f6e7472616374202b20746f6b656e2073636f70652c20746f6b656e2077696e7329636f6d7075746564206f6e2d636861696e20286669656c642072656e646572657229202d3e206f66662d636861696e20636f6e74656e74636f6d7075746564206f6e2d636861696e20286669656c642072656e6465726572296f6e2d636861696e2075726c2074656d706c617465202d3e206f66662d636861696e20636f6e74656e746f6e2d636861696e2075726c202d3e206f66662d636861696e20636f6e74656e74a2646970667358221220ebc8f7e2d6bd01a53fc05e2134073aa65fcf118f04b9cc6396762b3686802b0564736f6c634300081c0033";
4
+ export const oneOfOneImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
5
+ export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b614a3880610b9e83390190565b608051610b1061008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610b106000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063d3a091911461011657600080fd5b806342495af61461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f277cf99a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063277cf99a90610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006101e0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e602082016108148461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c6020840161056d565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061086660408401846105f1565b6101e0606085015261087d6102008501828461065c565b91505061088d60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526108c283828461065c565b925050506108d360808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a086015261090883828461065c565b9250505061091860a0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061094260c08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e086015261097783828461065c565b9250505061098760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610100850152506109b2610100850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109dd61012085016106a5565b61ffff8116610140850152506109f661014085016106a5565b61ffff811661016085015250610a0f61016085016106b7565b80151561018085015250610a26610180850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610a526101a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101c0860152610a8883828461072e565b92505050610a9a6101c08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101e0860152610ad083828461072e565b969550505050505056fea264697066735822122064ad115d05d405871e1bf19d19967aeb1233b992a4fbe87b94e3d99d4351703264736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060035b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220e489c04f42cdd560c0663a4b207ae0d0f6a020f87d2960e770fa0985a5cccac264736f6c634300081c0033";
6
+ export const oneOfOneImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
7
+ export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060035b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220e489c04f42cdd560c0663a4b207ae0d0f6a020f87d2960e770fa0985a5cccac264736f6c634300081c0033";
8
+ export const seriesImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
9
+ export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61575f80610cf783390190565b608051610c6961008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c696000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e357806380cc74971461011657600080fd5b80632f6920fd1461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f7e2c303f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690637e2c303f906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b61028060408501526109246102a08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a084810191909152610b0490850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101c085015250610b2f6101c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b5a6101e085016106b7565b80151561020085015250610b71610200850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166102208501525061022084013561024084810191909152610bab908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610be183828461072e565b92505050610bf36102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610c2983828461080a565b969550505050505056fea2646970667358221220be8bea7b827c54235db2ae15b15b7a6e83bc8ba53dcef7945be644ce466272a264736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060035b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212205c0cd80cff85f60147c9e33a9a7c48bf4e82102c8bc81cd9e99ce8ee43f7558264736f6c634300081c0033";
10
+ export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
11
+ export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060035b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212205c0cd80cff85f60147c9e33a9a7c48bf4e82102c8bc81cd9e99ce8ee43f7558264736f6c634300081c0033";
12
+ export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
13
+ export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c3080610a9483390190565b608051610a0661008e6000396000818160a40152818161011c0152818161015a0152818161018701526102a90152610a066000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063302c59ce1461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c6578063f84467d5146100f9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a3660046104a1565b610153565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104d1565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104ec565b610180565b6000610117826101bc565b6101417f0000000000000000000000000000000000000000000000000000000000000000836101fb565b905061014d8184610210565b92915050565b600061014d7f0000000000000000000000000000000000000000000000000000000000000000833061030b565b60006101ab7f0000000000000000000000000000000000000000000000000000000000000000610368565b90506101b78183610210565b919050565b606081901c80158015906101d957506001600160a01b0381163314155b156101f75760405163c61a579960e01b815260040160405180910390fd5b5050565b600061020960008484610375565b9392505050565b6040516361d8791f60e01b81526001600160a01b038316906361d8791f9061023c908490600401610736565b600060405180830381600087803b15801561025657600080fd5b505af115801561026a573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff1916600117905561029e91508201826104d1565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103528560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061035f8185856103cc565b95945050505050565b600061014d6000836103ee565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103c05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104385763301164256000526004601cfd5b600060215292915050565b60006102c0828403121561045657600080fd5b50919050565b6000806040838503121561046f57600080fd5b823567ffffffffffffffff81111561048657600080fd5b61049285828601610443565b95602094909401359450505050565b6000602082840312156104b357600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b6000602082840312156104e357600080fd5b610209826104ba565b6000602082840312156104fe57600080fd5b813567ffffffffffffffff81111561051557600080fd5b61052184828501610443565b949350505050565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104ba565b6001600160a01b03169052565b60006107666020840184610529565b6102c0604085015261077d6102e085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104ba565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104ba565b6001600160a01b03811660e08501525061083c60e085016104ba565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104ba565b6001600160a01b038116610180850152506101808401356101a0848101919091526108cf9085016104ba565b6001600160a01b0381166101c0850152506108ed6101c085016104ba565b6001600160a01b0381166101e08501525061090b6101e085016105b1565b8015156102008501525061092261020085016104ba565b6001600160a01b0381166102208501525061094061022085016105b1565b8015156102408501525061095761024085016104ba565b6001600160a01b0381166102608501525061026084013561028084810191909152610984908501856105c1565b848303601f19016102a086015261099c83828461060a565b925050506109ae6102a08501856105c1565b848303601f19016102c08601526109c68382846106ab565b969550505050505056fea26469706673582212201e20ea2c171db0761606beb87ba1f2f8e407249f221e9240a5fb8b0a11e3b26f64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060035b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220ebf5989484b3de9d3ac9542557c61bb94dce8003f8da1a284399678f9f56949464736f6c634300081c0033";
14
+ export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockParamHooks", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
15
+ export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060035b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220ebf5989484b3de9d3ac9542557c61bb94dce8003f8da1a284399678f9f56949464736f6c634300081c0033";
16
+ export const oneOfOneEditionFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
17
+ export const oneOfOneEditionFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525f80610c2883390190565b608051610b9a61008e6000396000818160d40152818161013001528181610175015281816101b301526102dd0152610b9a6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635414dff0116100505780635414dff0146100bc5780635c60da1b146100cf5780635c857b3e146100f657600080fd5b80630e31426a1461006c5780631e791870146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f6100ca366004610599565b6101ac565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101196101043660046105d6565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b600061017082610359565b61019a7f0000000000000000000000000000000000000000000000000000000000000000836103be565b90506101a681846101e6565b92915050565b60006101a67f000000000000000000000000000000000000000000000000000000000000000083306103d3565b60006101a6600083610430565b6040517fb36e6e8900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063b36e6e8990610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c591508201826105d6565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c8015801590610383575073ffffffffffffffffffffffffffffffffffffffff81163314155b156103ba576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006103cc60008484610485565b9392505050565b60008061041a8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506104278185856104dc565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104d05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b6000806040838503121561056757600080fd5b823567ffffffffffffffff81111561057e57600080fd5b61058a858286016104fe565b95602094909401359450505050565b6000602082840312156105ab57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105e857600080fd5b6103cc826105b2565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e60208201610814846105b2565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c602084016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166040840152506040830135606083810191909152610873908401846105f1565b610280608085015261088a6102a08501828461065c565b91505061089a60808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108cf83828461065c565b925050506108e060a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c086015261091583828461065c565b9250505061092560c085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811660e08501525061094f60e08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030161010086015261098583828461065c565b9250505061099661010085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109c161012085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610140850152506109ec61014085016106a5565b61ffff811661016085015250610a0561016085016106a5565b61ffff811661018085015250610a1e61018085016106b7565b8015156101a085015250610a356101a085016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166101c0850152506101c08401356101e084810191909152610a6e9085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610a9961020085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661022085015250610ac461022085016106b7565b80151561024085015250610adc6102408501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610b1283828461072e565b92505050610b246102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610b5a83828461072e565b969550505050505056fea2646970667358221220dd14dd7faebfdaad9b01120f5f628816dcd29af4bf658456dcdd7f658490ff3064736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060035b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea2646970667358221220074b6b29e2a832e0a43cd83ba959c00f5593dd707e7893fbb978f3b2a3d9b25364736f6c634300081c0033";
18
+ export const oneOfOneEditionAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTokenId", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
19
+ export const oneOfOneEditionBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060035b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea2646970667358221220074b6b29e2a832e0a43cd83ba959c00f5593dd707e7893fbb978f3b2a3d9b25364736f6c634300081c0033";
20
+ export const editionImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
21
+ export const editionImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6156e780610d1183390190565b608051610c8361008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c836000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063fa1c33f61461011657600080fd5b806326b055231461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517fcfc9e0e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063cfc9e0e3906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006102c0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b6102c060408501526109246102e08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a0848101919091528401356101c080850191909152610b1190850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b3c6101e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610b6761020085016106b7565b80151561022085015250610b7e610220850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610240850152506102408401356102608481019190915284013561028080850191909152610bc5908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102a0860152610bfb83828461072e565b92505050610c0d6102a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102c0860152610c4383828461080a565b969550505050505056fea2646970667358221220a3a0873003d2984013dfc23fa1618bd61e979f3fd698c90985ca0417ad6767b164736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060035b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea26469706673582212207b1f9b27c16d739f00b0c080f33d67d395cef90ffce8a9a50825a0c00a849f4f64736f6c634300081c0033";
22
+ export const editionImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
23
+ export const editionImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060035b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea26469706673582212207b1f9b27c16d739f00b0c080f33d67d395cef90ffce8a9a50825a0c00a849f4f64736f6c634300081c0033";
24
+ export const editionCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
25
+ export const editionCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c1d80610a9783390190565b608051610a0961008e6000396000818160b701528181610113015281816101580152818161019601526102620152610a096000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631d78fdd01461005c5780632d6fb1de1461008c5780635414dff01461009f5780635c60da1b146100b25780635c857b3e146100d9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a366004610499565b610148565b61006f6100ad3660046104de565b61018f565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100fc6100e736600461050e565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b60006101377f00000000000000000000000000000000000000000000000000000000000000006101bc565b905061014381836101c9565b919050565b6000610153826102c4565b61017d7f000000000000000000000000000000000000000000000000000000000000000083610303565b905061018981846101c9565b92915050565b60006101897f00000000000000000000000000000000000000000000000000000000000000008330610318565b6000610189600083610375565b60405163084d5d1560e01b81526001600160a01b0383169063084d5d15906101f5908490600401610736565b600060405180830381600087803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff19166001179055610257915082018261050e565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c80158015906102e157506001600160a01b0381163314155b156102ff5760405163c61a579960e01b815260040160405180910390fd5b5050565b6000610311600084846103ca565b9392505050565b60008061035f8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061036c818585610421565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806103bf5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104155763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006102e0828403121561045657600080fd5b50919050565b60006020828403121561046e57600080fd5b813567ffffffffffffffff81111561048557600080fd5b61049184828501610443565b949350505050565b600080604083850312156104ac57600080fd5b823567ffffffffffffffff8111156104c357600080fd5b6104cf85828601610443565b95602094909401359450505050565b6000602082840312156104f057600080fd5b5035919050565b80356001600160a01b038116811461014357600080fd5b60006020828403121561052057600080fd5b610311826104f7565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff8116811461014357600080fd5b8035801515811461014357600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104f7565b6001600160a01b03169052565b60006107666020840184610529565b6102e0604085015261077d61030085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104f7565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104f7565b6001600160a01b03811660e08501525061083c60e085016104f7565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104f7565b6001600160a01b038116610180850152506101808401356101a0848101919091528401356101c0808501919091526108dc9085016104f7565b6001600160a01b0381166101e0850152506108fa6101e085016104f7565b6001600160a01b0381166102008501525061091861020085016105b1565b8015156102208501525061092f61022085016104f7565b6001600160a01b0381166102408501525061094d61024085016104f7565b6001600160a01b03811661026085015250610260840135610280848101919091528401356102a080850191909152610987908501856105c1565b848303601f19016102c086015261099f83828461060a565b925050506109b16102c08501856105c1565b848303601f19016102e08601526109c98382846106ab565b969550505050505056fea26469706673582212205c5c95971dd1de5bb2cd4b84db1aa0661372914cb023859743e6ab2567caa68864736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060035b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a2646970667358221220c8fba08e2a68017f01da422c61e064bcec7e89d777e1c803a9ab4391a649d2f664736f6c634300081c0033";
26
+ export const editionCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockParamHooks", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
27
+ export const editionCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060035b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a2646970667358221220c8fba08e2a68017f01da422c61e064bcec7e89d777e1c803a9ab4391a649d2f664736f6c634300081c0033";
28
+ export const abxEditionLibAbi = [{ "type": "function", "name": "requireWithinEditionCap", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "view" }, { "type": "function", "name": "uri", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }];
29
+ export const abxEditionLibBytecode = "0x6121bf610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100e95760003560e01c806337da577c11610096578063da2bbfc711610070578063da2bbfc71461020e578063dda44fcf1461022e578063edbf22db1461024e578063ff87a5f51461026157600080fd5b806337da577c146101b95780635e5a9e30146101d9578063a9fc664e146101ee57600080fd5b806330aeb1e9116100c757806330aeb1e914610159578063325b818c146101795780633550780d1461019957600080fd5b80630e89341c146100ee57806314cb5667146101175780631622326a14610139575b600080fd5b6101016100fc3660046118ca565b610281565b60405161010e9190611951565b60405180910390f35b81801561012357600080fd5b50610137610132366004611964565b61051d565b005b81801561014557600080fd5b50610137610154366004611a24565b610614565b81801561016557600080fd5b50610137610174366004611b9a565b610798565b81801561018557600080fd5b50610137610194366004611c35565b610930565b8180156101a557600080fd5b506101376101b4366004611cbf565b610b09565b8180156101c557600080fd5b506101376101d4366004611cf4565b610da7565b8180156101e557600080fd5b50610137610f7e565b8180156101fa57600080fd5b50610137610209366004611d16565b611007565b81801561021a57600080fd5b50610137610229366004611d31565b6110b7565b81801561023a57600080fd5b50610137610249366004611d16565b6111f2565b61013761025c366004611cf4565b61134d565b81801561026d57600080fd5b5061013761027c366004611d16565b61145d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156103a75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103a09190810190611d73565b9392505050565b6000838152600282016020526040812080546103c290611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611e27565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090508051600014610452579392505050565b8154829061045f90611e27565b905060000361047f57505060408051602081019091526000815292915050565b61051582600001805461049190611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546104bd90611e27565b801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050505050856115be565b949350505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16151560005b8281101561060e57600084848381811061057657610576611e7a565b9050602002013590507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7816040516105b091815260200190565b60405180910390a182156105c45750610606565b807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6105ef83610281565b6040516105fc9190611951565b60405180910390a2505b60010161055a565b50505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156106aa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260028201602052604090206106c5838583611ef5565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516106f892919061200f565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1600181015473ffffffffffffffffffffffffffffffffffffffff1661060e57837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61077d86610281565b60405161078a9190611951565b60405180910390a250505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e035473ffffffffffffffffffffffffffffffffffffffff16806107db5750610929565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036108145750610929565b60005b86518110156109265785818151811061083257610832611e7a565b60200260200101516000031561091e578173ffffffffffffffffffffffffffffffffffffffff166379a1662488838151811061087057610870611e7a565b60200260200101518787878b878151811061088d5761088d611e7a565b60200260200101516040518663ffffffff1660e01b81526004016108eb95949392919094855273ffffffffffffffffffffffffffffffffffffffff938416602086015291831660408501529091166060830152608082015260a00190565b600060405180830381600087803b15801561090557600080fd5b505af1158015610919573d6000803e3d6000fd5b505050505b600101610817565b50505b5050505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff1680610973575061060e565b73ffffffffffffffffffffffffffffffffffffffff851615806109aa575073ffffffffffffffffffffffffffffffffffffffff8416155b156109b5575061060e565b73ffffffffffffffffffffffffffffffffffffffff811633036109d8575061060e565b60005b8351811015610b01578281815181106109f6576109f6611e7a565b602002602001015160000315610af9578173ffffffffffffffffffffffffffffffffffffffff16631854b241338888888681518110610a3757610a37611e7a565b6020026020010151888781518110610a5157610a51611e7a565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050505b6001016109db565b505050505050565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00908410610b6457610b5e84600161205c565b60018201555b600084815260208290526040902054158015610bc057507ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006000858152602091825260408082208583529092522060010154610100900460ff16155b1561060e577f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005473ffffffffffffffffffffffffffffffffffffffff168015610929577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055604080517f0b1c2e720000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529151600092841691630b1c2e72916044808301926020929190829003018187875af1158015610ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cef9190612096565b6040517f838128170000000000000000000000000000000000000000000000000000000081526004810188905260248101869052604481018290526000606482015273ffffffffffffffffffffffffffffffffffffffff8416608482015290915073__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015610d8757600080fd5b505af4158015610d9b573d6000803e3d6000fd5b50505050505050505050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615610e4e576000838152600182016020526040902054821115610e49576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e95565b805415801590610e5e5750805482115b15610e95576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015610efc576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff1661107b576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156110a0576110a082611607565b6110aa8183611659565b6110b3826116fb565b5050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561114d576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611159838583611ef5565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161118b92919061200f565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff81166112105750565b61121981611607565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781557f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060008190527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060209081527f0277275d1c2d776e406aa63934d6322ff8b8f55ddac0950b07303011b6f8cb0580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016600190811790915560408051918252517f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581929181900390910190a26110aa8183611659565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff161580156113ac57508054155b156113b657505050565b600083815260028201602052604081205460ff166113d55781546113e7565b60008481526001830160205260409020545b60008581527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054909150819061142590859061205c565b111561060e576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156114f3576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b6060826115ca46611799565b6115d3306117fb565b6115dc85611799565b6040516020016115ef94939291906120af565b60405160208183030381529060405290505b92915050565b600063a9b1c2d36000526000386004601c855afa823b1517905080156110b3576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff908116908216810361168157505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016111e5565b73ffffffffffffffffffffffffffffffffffffffff81166117195750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561178857600080fd5b505af19250505080156110b3575050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806117b45750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606118068261183d565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed0161187d575050919050565b6000602082840312156118dc57600080fd5b5035919050565b60005b838110156118fe5781810151838201526020016118e6565b50506000910152565b6000815180845261191f8160208601602086016118e3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006103a06020830184611907565b6000806020838503121561197757600080fd5b823567ffffffffffffffff81111561198e57600080fd5b8301601f8101851361199f57600080fd5b803567ffffffffffffffff8111156119b657600080fd5b8560208260051b84010111156119cb57600080fd5b6020919091019590945092505050565b60008083601f8401126119ed57600080fd5b50813567ffffffffffffffff811115611a0557600080fd5b602083019150836020828501011115611a1d57600080fd5b9250929050565b600080600060408486031215611a3957600080fd5b83359250602084013567ffffffffffffffff811115611a5757600080fd5b611a63868287016119db565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ae657611ae6611a70565b604052919050565b600082601f830112611aff57600080fd5b813567ffffffffffffffff811115611b1957611b19611a70565b8060051b611b2960208201611a9f565b91825260208185018101929081019086841115611b4557600080fd5b6020860192505b83831015611b67578235825260209283019290910190611b4c565b9695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9557600080fd5b919050565b600080600080600060a08688031215611bb257600080fd5b853567ffffffffffffffff811115611bc957600080fd5b611bd588828901611aee565b955050602086013567ffffffffffffffff811115611bf257600080fd5b611bfe88828901611aee565b945050611c0d60408701611b71565b9250611c1b60608701611b71565b9150611c2960808701611b71565b90509295509295909350565b60008060008060808587031215611c4b57600080fd5b611c5485611b71565b9350611c6260208601611b71565b9250604085013567ffffffffffffffff811115611c7e57600080fd5b611c8a87828801611aee565b925050606085013567ffffffffffffffff811115611ca757600080fd5b611cb387828801611aee565b91505092959194509250565b600080600060608486031215611cd457600080fd5b83359250611ce460208501611b71565b9150604084013590509250925092565b60008060408385031215611d0757600080fd5b50508035926020909101359150565b600060208284031215611d2857600080fd5b6103a082611b71565b60008060208385031215611d4457600080fd5b823567ffffffffffffffff811115611d5b57600080fd5b611d67858286016119db565b90969095509350505050565b600060208284031215611d8557600080fd5b815167ffffffffffffffff811115611d9c57600080fd5b8201601f81018413611dad57600080fd5b805167ffffffffffffffff811115611dc757611dc7611a70565b611df860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a9f565b818152856020838501011115611e0d57600080fd5b611e1e8260208301602086016118e3565b95945050505050565b600181811c90821680611e3b57607f821691505b602082108103611e74577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115611ef057806000526020600020601f840160051c81016020851015611ed05750805b601f840160051c820191505b818110156109295760008155600101611edc565b505050565b67ffffffffffffffff831115611f0d57611f0d611a70565b611f2183611f1b8354611e27565b83611ea9565b6000601f841160018114611f735760008515611f3d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610929565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611fc25786850135825560209485019460019092019101611fa2565b5086821015611ffd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b80820180821115611601577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156120a857600080fd5b5051919050565b600085516120c1818460208a016118e3565b7f2f0000000000000000000000000000000000000000000000000000000000000090830190815285516120fb816001840160208a016118e3565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516121398160028401602089016118e3565b6001818301019150507f2f000000000000000000000000000000000000000000000000000000000000006001820152835161217b8160028401602088016118e3565b01600201969550505050505056fea2646970667358221220115604f3580e207e6d93170b4d342ff745fd05b2bbb312c07513665863fa0c8a64736f6c634300081c0033";
30
+ export const abxMetadataLibAbi = [{ "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }];
31
+ export const abxMetadataLibBytecode = "0x6110ca610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100c85760003560e01c8063913b385a11610080578063a482c94611610065578063a482c94614610214578063ae3748cc14610234578063e4df18ec1461025457600080fd5b8063913b385a146101a7578063a148d8cf146101c757600080fd5b806355828c50116100b157806355828c501461014657806368e67b16146101675780638e08141f1461018757600080fd5b80632e73cddb146100cd5780633dda44b014610124575b600080fd5b61010f6100db366004610a96565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b60405190151581526020015b60405180910390f35b81801561013057600080fd5b5061014461013f366004610aaf565b610267565b005b610159610154366004610a96565b6102f6565b60405161011b929190610ad1565b81801561017357600080fd5b50610144610182366004610b89565b6103c6565b81801561019357600080fd5b506101446101a2366004610a96565b610504565b8180156101b357600080fd5b506101446101c2366004610c4a565b610584565b61010f6101d5366004610aaf565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b81801561022057600080fd5b5061014461022f366004610c9d565b610618565b81801561024057600080fd5b5061014461024f366004610ced565b61065f565b610159610262366004610aaf565b61074c565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061033c90610d52565b80601f016020809104026020016040519081016040528092919081815260200182805461036890610d52565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b505050505090509250925050915091565b60005b8381101561046157610459868686848181106103e7576103e7610da5565b90506020028101906103f99190610dd4565b3587878581811061040c5761040c610da5565b905060200281019061041e9190610dd4565b6020013588888681811061043457610434610da5565b90506020028101906104469190610dd4565b610454906040810190610e12565b61082a565b6001016103c9565b5060005b818110156104fc576104f483838381811061048257610482610da5565b90506020028101906104949190610dd4565b358484848181106104a7576104a7610da5565b90506020028101906104b99190610dd4565b602001358585858181106104cf576104cf610da5565b90506020028101906104e19190610dd4565b6104ef906040810190610e12565b61096a565b600101610465565b505050505050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6105908484848461096a565b60408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a16040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b610625858585858561082a565b6040518581527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050505050565b60005b8381101561071c5761071485858381811061067f5761067f610da5565b90506020028101906106919190610e77565b358686848181106106a4576106a4610da5565b90506020028101906106b69190610e77565b602001358787858181106106cc576106cc610da5565b90506020028101906106de9190610e77565b604001358888868181106106f4576106f4610da5565b90506020028101906107069190610e77565b610454906060810190610e12565b600101610662565b5060005b818110156107455761073d83838381811061048257610482610da5565b600101610720565b5050505050565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061079d90610d52565b80601f01602080910402602001604051908101604052809291908181526020018280546107c990610d52565b80156108165780601f106107eb57610100808354040283529160200191610816565b820191906000526020600020905b8154815290600101906020018083116107f957829003601f168201915b5050505050905092509250505b9250929050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156108bf576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036108fa576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101610923848683610f26565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161095993929190611040565b60405180910390a350505050505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156109f4576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610a2f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101610a51848683610f26565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051610a8693929190611040565b60405180910390a2505050505050565b600060208284031215610aa857600080fd5b5035919050565b60008060408385031215610ac257600080fd5b50508035926020909101359150565b828152604060208201526000825180604084015260005b81811015610b055760208186018101516060868401015201610ae8565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509392505050565b60008083601f840112610b5657600080fd5b50813567ffffffffffffffff811115610b6e57600080fd5b6020830191508360208260051b850101111561082357600080fd5b600080600080600060608688031215610ba157600080fd5b85359450602086013567ffffffffffffffff811115610bbf57600080fd5b610bcb88828901610b44565b909550935050604086013567ffffffffffffffff811115610beb57600080fd5b610bf788828901610b44565b969995985093965092949392505050565b60008083601f840112610c1a57600080fd5b50813567ffffffffffffffff811115610c3257600080fd5b60208301915083602082850101111561082357600080fd5b60008060008060608587031215610c6057600080fd5b8435935060208501359250604085013567ffffffffffffffff811115610c8557600080fd5b610c9187828801610c08565b95989497509550505050565b600080600080600060808688031215610cb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115610ce157600080fd5b610bf788828901610c08565b60008060008060408587031215610d0357600080fd5b843567ffffffffffffffff811115610d1a57600080fd5b610d2687828801610b44565b909550935050602085013567ffffffffffffffff811115610d4657600080fd5b610c9187828801610b44565b600181811c90821680610d6657607f821691505b602082108103610d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610e0857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e4757600080fd5b83018035915067ffffffffffffffff821115610e6257600080fd5b60200191503681900382131561082357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610e0857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610f2157806000526020600020601f840160051c81016020851015610f015750805b601f840160051c820191505b818110156107455760008155600101610f0d565b505050565b67ffffffffffffffff831115610f3e57610f3e610eab565b610f5283610f4c8354610d52565b83610eda565b6000601f841160018114610fa45760008515610f6e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610745565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610ff35786850135825560209485019460019092019101610fd3565b508682101561102e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056fea26469706673582212200914090b5c2186332bf4ff95257c8bf2fdab48b464c326e3531dad92af03ec1c64736f6c634300081c0033";
32
+ export const abxFixedPriceMinter1155Abi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxTotalPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxTotalPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "SaleTermsChanged", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }, { "type": "error", "name": "ZeroQuantity", "inputs": [] }];
33
+ export const abxFixedPriceMinter1155Bytecode = "0x6080604052348015600f57600080fd5b50610af58061001f6000396000f3fe60806040526004361061003f5760003560e01c80633a1c83ac1461004457806347b61356146100f0578063a4eb224014610105578063c546c95214610118575b600080fd5b34801561005057600080fd5b506100ad61005f36600461090b565b6000602081815292815260408082209093529081522080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a00160405180910390f35b6101036100fe366004610937565b610138565b005b610103610113366004610989565b610184565b34801561012457600080fd5b506101036101333660046109f0565b6101d1565b3068929eee149b4bd2126854036101575763ab143c066000526004601cfd5b3068929eee149b4bd2126855610171858585338686610352565b3868929eee149b4bd21268555050505050565b3068929eee149b4bd2126854036101a35763ab143c066000526004601cfd5b3068929eee149b4bd21268556101bd868686868686610352565b3868929eee149b4bd2126855505050505050565b6101da856107e8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461023e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320878452909152902060038101548210156102aa576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528691908816907fe5a7e9d14be75ee6a3536e3dd982da3f8886e25a773c14f0ae215645479434009060600160405180910390a3505050505050565b8360000361038c576040517ff4f5b73300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081815260408083208884529091529020805460ff166103f5576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002015485826003015461040a9190610a71565b1115610442576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b39190610a84565b905073ffffffffffffffffffffffffffffffffffffffff8116610502576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018201548254610100900473ffffffffffffffffffffffffffffffffffffffff1660006105308984610aa8565b90508673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610597576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858111156105d1576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888560030160008282546105e59190610a71565b909155505073ffffffffffffffffffffffffffffffffffffffff82166106435780341461063e576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069d565b341561067b576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069d73ffffffffffffffffffffffffffffffffffffffff831633868461085f565b6040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018c9052604482018b90528c169063156e29f690606401600060405180830381600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff821615801561074f57508015155b156107745761077473ffffffffffffffffffffffffffffffffffffffff8516826108c6565b604080518b8152602081018b905273ffffffffffffffffffffffffffffffffffffffff848116828401526060820186905291518a8316923392908f16917f9c329a32f319f0ec31aa909cfb5006aa7c3146e71afa8b4672c01b2d3013ea559181900360800190a45050505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190610a84565b92915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af180600160005114166108b757803d873b1517106108b757637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16108e25763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461090857600080fd5b50565b6000806040838503121561091e57600080fd5b8235610929816108e6565b946020939093013593505050565b600080600080600060a0868803121561094f57600080fd5b853561095a816108e6565b945060208601359350604086013592506060860135610978816108e6565b949793965091946080013592915050565b60008060008060008060c087890312156109a257600080fd5b86356109ad816108e6565b9550602087013594506040870135935060608701356109cb816108e6565b925060808701356109db816108e6565b9598949750929591949360a090920135925050565b600080600080600060a08688031215610a0857600080fd5b8535610a13816108e6565b9450602086013593506040860135610a2a816108e6565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561085957610859610a42565b600060208284031215610a9657600080fd5b8151610aa1816108e6565b9392505050565b808202811582820484141761085957610859610a4256fea26469706673582212208ffce2a80c20bd701ae81cbfa758dd879e426d194c9ce0252813b3d621f2e31964736f6c634300081c0033";
34
+ export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
35
+ export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b506101898061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100d0565b610055565b60405190815260200160405180910390f35b6000338344610065600143610119565b60405160609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208501526034840192909252605483015240607482015242609482015260b4016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100e357600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461010e57600080fd5b809150509250929050565b818103818111156100ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220a6b9623eb611aa2ce6762451d62cd4aca357b43e582814a449799444f78da02a64736f6c634300081c0033";
36
+ export const abxParamsLibAbi = [{ "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "hasSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptionCount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamKey", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamHooksLocked", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamLockNotExtendable", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
37
+ export const abxParamsLibBytecode = "0x6142ed610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061024b5760003560e01c80636c59f7591161014f5780639ffefae6116100c7578063d84d644611610096578063e42b7baf1161007b578063e42b7baf146107c0578063f2235701146107e0578063f8d3adc81461080757600080fd5b8063d84d64461461078d578063e1b79381146107ad57600080fd5b80639ffefae614610727578063aa0de18d14610747578063c4f2604814610767578063cc1cf5151461077a57600080fd5b8063909206e31161011e57806392b29b171161010357806392b29b17146106c757806392b8e739146106e75780639a851cec1461070757600080fd5b8063909206e31461069f578063909d716e146106a757600080fd5b80636c59f7591461057457806374828e341461059e578063838128171461065f57806386b7f6a41461067f57600080fd5b80633990b221116101e25780634efdb5ae116101b15780635b02f81c116101965780635b02f81c1461051e5780635d0b72201461053f578063690533741461055457600080fd5b80634efdb5ae146104e957806355580cca1461050957600080fd5b80633990b221146103ec5780633ba1bd861461040c5780633c59f1bb1461042c578063487fbd2b146104c957600080fd5b80631c31cac31161021e5780631c31cac3146103305780631de450a0146103505780632ed48300146103ac57806333fe6d14146103cc57600080fd5b806302d66fc2146102505780630b4c562b146102a75780630ba2352a146102c957806313bfffac146102e9575b600080fd5b61029261025e366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156102b357600080fd5b506102c76102c23660046136d2565b610827565b005b8180156102d557600080fd5b506102c76102e4366004613750565b610849565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029e565b81801561033c57600080fd5b506102c761034b3660046137af565b610960565b81801561035c57600080fd5b506102c77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b8180156103b857600080fd5b506102c76103c73660046137cc565b610974565b8180156103d857600080fd5b506102c76103e73660046137cc565b610a21565b8180156103f857600080fd5b506102c7610407366004613837565b610bdd565b61041f61041a366004613837565b610bff565b60405161029e91906138c7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915260600161029e565b8180156104d557600080fd5b506102c76104e43660046137af565b610d00565b8180156104f557600080fd5b506102c76105043660046138da565b610d8e565b610511610dbd565b60405161029e9190613969565b61053161052c36600461397c565b610e11565b60405161029e9291906139a8565b81801561054b57600080fd5b506102c7610e5a565b81801561056057600080fd5b506102c761056f366004613677565b610ed7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e065460ff16610292565b61064b6105ac366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020526040902080546001820154600283015460039093015460ff808416956101008504821695620100008604909216946301000000810473ffffffffffffffffffffffffffffffffffffffff16947701000000000000000000000000000000000000000000000090910465ffffffffffff1693909291565b60405161029e989796959493929190613a1d565b81801561066b57600080fd5b506102c761067a366004613a99565b610ee9565b81801561068b57600080fd5b506102c761069a36600461397c565b611237565b610511611256565b8180156106b357600080fd5b506102c76106c2366004613adf565b6112a4565b8180156106d357600080fd5b506102c76106e236600461397c565b611496565b8180156106f357600080fd5b506102c7610702366004613b1c565b6114c4565b81801561071357600080fd5b506102c7610722366004613b55565b6116b5565b81801561073357600080fd5b506102c7610742366004613be0565b611866565b81801561075357600080fd5b506102c7610762366004613c92565b611fdd565b610531610775366004613837565b61210a565b610531610788366004613837565b612145565b81801561079957600080fd5b506102c76107a8366004613cd2565b612174565b6105116107bb366004613677565b612223565b8180156107cc57600080fd5b506102c76107db3660046138da565b612285565b6107f36107ee366004613677565b6122a3565b60405161029e989796959493929190613d08565b81801561081357600080fd5b506102c7610822366004613837565b612432565b61082f61244e565b610838836124d6565b61084483838333610849565b505050565b6000829003610884576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161095a90859061094a9086908690613dee565b60405180910390206001846112a4565b50505050565b61096861244e565b61097181610d00565b50565b60008290036109af576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109b884612582565b610a1a85856109fc86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b8686604051610a0c929190613dee565b6040518091039020856125db565b5050505050565b6000610a2e86868461265f565b905060078154610100900460ff166008811115610a4d57610a4d6139ca565b14158015610a76575060088154610100900460ff166008811115610a7357610a736139ca565b14155b15610aad576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610ae8576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60078154610100900460ff166008811115610b0557610b056139ca565b148015610b195750610b178484612782565b155b15610b50576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5985612582565b6000610b9a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b905060008585604051610bae929190613dee565b6040519081900390209050610bc6888883888661297e565b610bd388888484336125db565b5050505050505050565b610be561244e565b610bee826124d6565b610bfb82826000336112a4565b5050565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090206003018054606091908310610c51575050604080516020810190915260008152610cfa565b808381548110610c6357610c63613dfe565b906000526020600020018054610c7890613e2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca490613e2d565b8015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b50505050509150505b92915050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b61095a848484846103e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b6060610e0b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610e4d908585612a6c565b915091505b935093915050565b610e6261244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f22b5ba170f5498ca48788ca02fd88a94140feded725589294c93003065215b3e90600090a1565b610edf61244e565b61097181336116b5565b610ef284612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853007f8c9a9a9c00000000000000000000000000000000000000000000000000000000850161103857600086815260208281526040808320888452909152902060010154610100900460ff168015610fd357507f73656564000000000000000000000000000000000000000000000000000000006000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b1561100a576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b8215801561107657506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156110bd5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f736565640000000000000000000000000000000000000000000000000000000085146111a65760008681526004820160209081526040808320600585019092529091206111a6919087612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b61123f61244e565b611248826124d6565b610844838383600033610ee9565b6060610e0b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b6112ad84612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300821580156113015750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b1561133d576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790556113e2600682016007830187612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b6108448383836107a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff1661153f576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f73656564000000000000000000000000000000000000000000000000000000008303611598576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120611636919085612d42565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16611746576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556117c5600682016007830185612d42565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b61186f89612b3a565b7f7365656400000000000000000000000000000000000000000000000000000000890361195f577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853085460ff16156118f2576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007886008811115611906576119066139ca565b148061192357506008886008811115611921576119216139ca565b145b1561195a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a0d565b887f636861696e49640000000000000000000000000000000000000000000000000014806119ac5750887f636f6e7472616374416464726573730000000000000000000000000000000000145b806119d65750887f746f6b656e496400000000000000000000000000000000000000000000000000145b15611a0d576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001886008811115611a2157611a216139ca565b03611a66576000819003611a61576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a9e565b8015611a9e576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003886008811115611ab257611ab26139ca565b03611af65782841315611af1576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b3b565b8215801590611b0457508284115b15611b3b576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002886006811115611b5157611b516139ca565b1480611b6e57506004886006811115611b6c57611b6c6139ca565b145b80611b8a57506005886006811115611b8857611b886139ca565b145b80611ba657506006886006811115611ba457611ba46139ca565b145b905080151573ffffffffffffffffffffffffffffffffffffffff8816151514611bfb576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805477010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611c815750805477010000000000000000000000000000000000000000000000900465ffffffffffff1642115b15611cb8576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff16611d04576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100836008811115611d4157611d416139ca565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000836006811115611d8457611d846139ca565b021790555080547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16021780825577010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611e36575065ffffffffffff88161580611e365750805465ffffffffffff770100000000000000000000000000000000000000000000009091048116908916115b15611e6d576040517f806f6f1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff167701000000000000000000000000000000000000000000000065ffffffffffff8a16021781556001810187905560028101869055611ed36003820160006135f2565b60005b84811015611f2f5781600301868683818110611ef457611ef4613dfe565b9050602002810190611f069190613e7a565b82546001810184556000938452602090932090920191611f269183613f55565b50600101611ed6565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c604051611f6e9897969594939291906140b8565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b611fe561244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e06547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e009060ff1615612063576040517f33d576f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556002840180548783169084168117909155600385018054928716929093168217909255604080519384526020840192909252908201527fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb01906060016116a7565b606060006121397ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585612a6c565b915091505b9250929050565b606060006121397f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585612a6c565b600061218185858461265f565b905060078154610100900460ff1660088111156121a0576121a06139ca565b14806121c6575060088154610100900460ff1660088111156121c4576121c46139ca565b145b156121fd576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122078184612e2b565b61221585858560008061297e565b610a1a858585600033610ee9565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609161227e91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b5092915050565b61228d61244e565b612296836124d6565b61095a8484848433610974565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561241057838290600052602060002001805461238390613e2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123af90613e2d565b80156123fc5780601f106123d1576101008083540402835291602001916123fc565b820191906000526020600020905b8154815290600101906020018083116123df57829003601f168201915b505050505081526020019060010190612364565b5050505090509850985098509850985098509850985050919395975091939597565b61243a61244e565b612443816124d6565b610bfb8282336114c4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124d4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1615610971576040517f149eae5700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f091508161257c5763301164256000526004601cfd5b90915290565b7f73656564000000000000000000000000000000000000000000000000000000008103610971576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530260209081526040808320878452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055610a1a858584600185610ee9565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff166126c7576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff16801580159061270257508065ffffffffffff1642115b15612739576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612744828685613030565b61277a576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b600080825b808210156129735760008585848181106127a3576127a3613dfe565b919091013560f81c9150600090508060808310156127d0576127c6600186614210565b9450505050612787565b60c28360ff16101580156127e8575060df8360ff1611155b156127f9575060029050608061285c565b60e08360ff1610158015612811575060ef8360ff1611155b1561282357506003905061080061285c565b60f08360ff161015801561283b575060f48360ff1611155b1561284e5750600490506201000061285c565b600095505050505050610cfa565b836128678387614210565b111561287b57600095505050505050610cfa565b6000612888836001614210565b60ff9081901c851616905060015b838110156129045760008a8a6128ac848b614210565b8181106128bb576128bb613dfe565b919091013560f81c91505060808110806128d8575060bf8160ff16115b156128ee57600098505050505050505050610cfa565b603f1660069290921b9190911790600101612896565b508181101561291c5760009650505050505050610cfa565b61d8008110158015612930575061dfff8111155b156129445760009650505050505050610cfa565b6210ffff81111561295e5760009650505050505050610cfa565b6129688387614210565b955050505050612787565b506001949350505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff16806129c15750610a1a565b6040517f296d8e040000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604481018590523360648201526084810184905273ffffffffffffffffffffffffffffffffffffffff83811660a483015282169063296d8e049060c401600060405180830381600087803b158015612a4c57600080fd5b505af1158015612a60573d6000803e3d6000fd5b50505050505050505050565b8254606090808410612a8e576040805160008152602081019091529150610e52565b83810383811115612a9c5750825b8067ffffffffffffffff811115612ab557612ab5613edf565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50925060005b81811015612b30578681870181548110612b0057612b00613dfe565b9060005260206000200154848281518110612b1d57612b1d613dfe565b6020908102919091010152600101612ae4565b5050935093915050565b80612b71576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b6020811015610844576000838260208110612b9257612b92613dfe565b1a60f81b90507fff000000000000000000000000000000000000000000000000000000000000008116600003612bcb5760019250612ccb565b8215612c03576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f20000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082161080612c9457507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216115b15612ccb576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612b75565b7f7365656400000000000000000000000000000000000000000000000000000000811480612d0f575060008181526020839052604090205415155b15612d1957505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003612d5f5750505050565b8354818114612dd157600085612d76600184614223565b81548110612d8657612d86613dfe565b906000526020600020015490508086600185612da29190614223565b81548110612db257612db2613dfe565b6000918252602080832090910192909255918252859052604090208290555b84805480612de157612de1614236565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115612e4a57612e4a6139ca565b03612e8f576001811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095a565b6001826008811115612ea357612ea36139ca565b03612ee55760038401548110612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115612ef957612ef96139ca565b03612f3b5762ffffff811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115612f4f57612f4f6139ca565b03612fa85760018401548190811280612f6b5750600285015481135b15612fa2576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061095a565b6001840154811015612fe6576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590612ff957508082115b15610a1a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff168180826006811115613052576130526139ca565b148061306f5750600382600681111561306d5761306d6139ca565b145b8061308b57506004826006811115613089576130896139ca565b145b806130a7575060068260068111156130a5576130a56139ca565b145b90508080156130cb57503373ffffffffffffffffffffffffffffffffffffffff8516145b156130db5760019250505061321c565b600060028360068111156130f1576130f16139ca565b148061310e5750600483600681111561310c5761310c6139ca565b145b8061312a57506005836006811115613128576131286139ca565b145b8061314657506006836006811115613144576131446139ca565b145b9050808015613172575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b15613183576001935050505061321c565b60006001846006811115613199576131996139ca565b14806131b6575060038460068111156131b4576131b46139ca565b145b806131d2575060058460068111156131d0576131d06139ca565b145b806131ee575060068460068111156131ec576131ec6139ca565b145b9050808015613201575061320187613223565b1561321357600194505050505061321c565b60009450505050505b9392505050565b60008060006132318461327f565b9150915081156132755773ffffffffffffffffffffffffffffffffffffffff81163303613262575060019392505050565b61326d338286613388565b949350505050565b61326d33856134e2565b6000806000803073ffffffffffffffffffffffffffffffffffffffff16636352211e866040516024016132b491815260200190565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133029190614265565b600060405180830381855afa9150503d806000811461333d576040519150601f19603f3d011682016040523d82523d6000602084013e613342565b606091505b5091509150818015613355575080516020145b1561337b576001818060200190518101906133709190614281565b935093505050915091565b5060009485945092505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806133e5575073ffffffffffffffffffffffffffffffffffffffff81163b155b156133f457600091505061321c565b60405173ffffffffffffffffffffffffffffffffffffffff80871660248301528516604482015230606482015260848101849052600060a482018190529060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f36874000000000000000000000000000000000000000000000000000000001781528251929350600092839291839190875afa60005192503d6020141690508080156134d65750816001145b98975050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff84166024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167efdd58e0000000000000000000000000000000000000000000000000000000017905290516000918291829130916135779190614265565b600060405180830381855afa9150503d80600081146135b2576040519150601f19603f3d011682016040523d82523d6000602084013e6135b7565b606091505b50915091508180156135ca575080516020145b80156135e957506000818060200190518101906135e7919061429e565b115b95945050505050565b508054600082559060005260206000209081019061097191905b80821115613629576000613620828261362d565b5060010161360c565b5090565b50805461363990613e2d565b6000825580601f10613649575050565b601f01602090049060005260206000209081019061097191905b808211156136295760008155600101613663565b60006020828403121561368957600080fd5b5035919050565b60008083601f8401126136a257600080fd5b50813567ffffffffffffffff8111156136ba57600080fd5b60208301915083602082850101111561213e57600080fd5b6000806000604084860312156136e757600080fd5b83359250602084013567ffffffffffffffff81111561370557600080fd5b61371186828701613690565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461097157600080fd5b803561374b8161371e565b919050565b6000806000806060858703121561376657600080fd5b84359350602085013567ffffffffffffffff81111561378457600080fd5b61379087828801613690565b90945092505060408501356137a48161371e565b939692955090935050565b6000602082840312156137c157600080fd5b813561321c8161371e565b6000806000806000608086880312156137e457600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561380957600080fd5b61381588828901613690565b90945092505060608601356138298161371e565b809150509295509295909350565b6000806040838503121561384a57600080fd5b50508035926020909101359150565b60005b8381101561387457818101518382015260200161385c565b50506000910152565b60008151808452613895816020860160208601613859565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061321c602083018461387d565b600080600080606085870312156138f057600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561391557600080fd5b61392187828801613690565b95989497509550505050565b600081518084526020840193506020830160005b8281101561395f578151865260209586019590910190600101613941565b5093949350505050565b60208152600061321c602083018461392d565b60008060006060848603121561399157600080fd5b505081359360208301359350604090920135919050565b6040815260006139bb604083018561392d565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60098110613a0957613a096139ca565b9052565b60078110613a0957613a096139ca565b88151581526101008101613a34602083018a6139f9565b613a416040830189613a0d565b73ffffffffffffffffffffffffffffffffffffffff96909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b8035801515811461374b57600080fd5b600080600080600060a08688031215613ab157600080fd5b853594506020860135935060408601359250613acf60608701613a89565b915060808601356138298161371e565b60008060008060808587031215613af557600080fd5b8435935060208501359250613b0c60408601613a89565b915060608501356137a48161371e565b600080600060608486031215613b3157600080fd5b83359250602084013591506040840135613b4a8161371e565b809150509250925092565b60008060408385031215613b6857600080fd5b823591506020830135613b7a8161371e565b809150509250929050565b803565ffffffffffff8116811461374b57600080fd5b60008083601f840112613bad57600080fd5b50813567ffffffffffffffff811115613bc557600080fd5b6020830191508360208260051b850101111561213e57600080fd5b60008060008060008060008060006101008a8c031215613bff57600080fd5b8935985060208a013560098110613c1557600080fd5b975060408a013560078110613c2957600080fd5b9650613c3760608b01613740565b9550613c4560808b01613b85565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff811115613c6f57600080fd5b613c7b8c828d01613b9b565b915080935050809150509295985092959850929598565b600080600060608486031215613ca757600080fd5b8335613cb28161371e565b92506020840135613cc28161371e565b91506040840135613b4a8161371e565b60008060008060808587031215613ce857600080fd5b84359350602085013592506040850135915060608501356137a48161371e565b600061010082018a15158352613d21602084018b6139f9565b613d2e604084018a613a0d565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015613ddb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0878603018452613dc685835161387d565b94506020938401939190910190600101613d8c565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680613e4157607f821691505b602082108103610e0b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613eaf57600080fd5b83018035915067ffffffffffffffff821115613eca57600080fd5b60200191503681900382131561213e57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561084457806000526020600020601f840160051c81016020851015613f355750805b601f840160051c820191505b81811015610a1a5760008155600101613f41565b67ffffffffffffffff831115613f6d57613f6d613edf565b613f8183613f7b8354613e2d565b83613f0e565b6000601f841160018114613fd35760008515613f9d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610a1a565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156140225786850135825560209485019460019092019101614002565b508682101561405d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e082016140c8838c6139f9565b6140d5602084018b613a0d565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015613ddb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00878603018452823581811261418f57600080fd5b890160208101903567ffffffffffffffff8111156141ac57600080fd5b8036038213156141bb57600080fd5b6141c687828461406f565b96505050602083019250602084019350600182019150614152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610cfa57610cfa6141e1565b81810381811115610cfa57610cfa6141e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251614277818460208701613859565b9190910192915050565b60006020828403121561429357600080fd5b815161321c8161371e565b6000602082840312156142b057600080fd5b505191905056fea264697066735822122085e5895a2725e7eed814ecf8c34edbca0ea1c12dba5b47757f0c4d387bb7f72364736f6c634300081c0033";
38
+ export const abxCodeLibAbi = [{ "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "IAbxDependencies.Resolution", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DependenciesAreLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyDependencyRef", "inputs": [] }, { "type": "error", "name": "EmptyScriptChunk", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "ScriptIsLocked", "inputs": [] }];
39
+ export const abxCodeLibBytecode = "0x611361610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100f45760003560e01c80639a5db50311610096578063cfc59afd11610070578063cfc59afd14610252578063d90f5df214610273578063dc9838791461027b578063ea58f9711461029057600080fd5b80639a5db503146102085780639aa1a1f01461021d578063b47842471461023d57600080fd5b80636b40ee45116100d25780636b40ee451461017c5780637d0b7ae41461019c57806392d9906f146101d257806396f4205a146101e857600080fd5b806320ac0944146100f957806325628d34146101455780636aaf76071461015c575b600080fd5b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b81801561015157600080fd5b5061015a6102d2565b005b61016f61016a36600461107f565b6104b5565b60405161013c9190611098565b81801561018857600080fd5b5061015a610197366004611104565b61055a565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff165b604051901515815260200161013c565b6101da6107eb565b60405190815260200161013c565b8180156101f457600080fd5b5061015a610203366004611140565b610815565b81801561021457600080fd5b5061015a61096f565b81801561022957600080fd5b5061015a610238366004611176565b610a47565b81801561024957600080fd5b5061015a610cc4565b61026561026036600461107f565b610e14565b60405161013c92919061125e565b6101da610ec4565b81801561028757600080fd5b5061015a610eec565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015474010000000000000000000000000000000000000000900460ff166101c2565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610368576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036103a5576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806103b6576103b6611279565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd899061044690836112a8565b60405190815260200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9008054606091908310610514576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61055381600001848154811061052c5761052c6112e8565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16610fef565b9392505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156105f0576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610627576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610662576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060400160405280856001811115610681576106816111f4565b60ff168152602001849052825490915085036106ed578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff909416939093178355830151910155610750565b80826000018681548110610703576107036112e8565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be88686604051610782929190611317565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050505050565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9005b54919050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156108ab576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016104a9565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff16156109ed576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610ac5576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610b00576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610b3b576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610b7c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061103b92505050565b82549091508503610bdc5781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610c3b565b80826000018681548110610bf257610bf26112e8565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016107dc565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610d42576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610d7f576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154829080610d9057610d90611279565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86104466001836112a8565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0200805460009182918410610e74576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816000018581548110610e8b57610e8b6112e8565b60009182526020909120600290910201805490915060ff166001811115610eb457610eb46111f4565b8160010154935093505050915091565b60007f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e020061080f565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610f82576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816110795763301164256000526004601cfd5b90915290565b60006020828403121561109157600080fd5b5035919050565b602081526000825180602084015260005b818110156110c657602081860181015160408684010152016110a9565b5060006040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b60008060006060848603121561111957600080fd5b8335925060208401356002811061112f57600080fd5b929592945050506040919091013590565b60006020828403121561115257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461055357600080fd5b60008060006040848603121561118b57600080fd5b83359250602084013567ffffffffffffffff8111156111a957600080fd5b8401601f810186136111ba57600080fd5b803567ffffffffffffffff8111156111d157600080fd5b8660208284010111156111e357600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061125a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6040810161126c8285611223565b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b818103818111156112e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82815260408101610553602083018461122356fea264697066735822122043d3da52c92cfff5ccb4efa567eb3fe46dc8783eb88faaa3efacc03572561ac264736f6c634300081c0033";
40
+ export const abxFixedPriceMinterAbi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "SaleTermsChanged", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }];
41
+ export const abxFixedPriceMinterBytecode = "0x6080604052348015600f57600080fd5b50610a148061001f6000396000f3fe60806040526004361061003f5760003560e01c8063431b4a53146100445780636404415614610066578063c6b9f06a1461008c578063dbb839491461012c575b600080fd5b34801561005057600080fd5b5061006461005f3660046108ac565b61013f565b005b6100796100743660046108f2565b6102b3565b6040519081526020015b60405180910390f35b34801561009857600080fd5b506100ed6100a7366004610933565b600060208190529081526040902080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a001610083565b61007961013a366004610957565b610300565b6101488461034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ac576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020600381015482101561020f576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528616907fb8a0883311b2984d17ca5bc73b4f76a513dbd0e7d593f7e822cbf3d49388a2cf9060600160405180910390a25050505050565b60003068929eee149b4bd2126854036102d45763ab143c066000526004601cfd5b3068929eee149b4bd21268556102ec843385856103c5565b3868929eee149b4bd2126855949350505050565b60003068929eee149b4bd2126854036103215763ab143c066000526004601cfd5b3068929eee149b4bd2126855610339858585856103c5565b3868929eee149b4bd212685595945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bf91906109a8565b92915050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260408120805460ff16610425576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060020154816003015410610466576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008673ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d791906109a8565b905073ffffffffffffffffffffffffffffffffffffffff8116610526576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018201548254610100900473ffffffffffffffffffffffffffffffffffffffff166105548183898961075b565b600384018054600101905573ffffffffffffffffffffffffffffffffffffffff81166105b8578134146105b3576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610612565b34156105f0576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061273ffffffffffffffffffffffffffffffffffffffff8216338585610800565b6040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528a1690636a627842906024016020604051808303816000875af1158015610680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a491906109c5565b945073ffffffffffffffffffffffffffffffffffffffff81161580156106c957508115155b156106ee576106ee73ffffffffffffffffffffffffffffffffffffffff841683610867565b6040805186815273ffffffffffffffffffffffffffffffffffffffff8381166020830152918101849052818a16913391908c16907fbf643e210feb17151f7b4d5e018eb6bb22020cd22f96c6420d67046bcc9523639060600160405180910390a450505050949350505050565b8173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107c0576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808311156107fa576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af1806001600051141661085857803d873b15171061085857637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16108835763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146108a957600080fd5b50565b600080600080608085870312156108c257600080fd5b84356108cd81610887565b935060208501356108dd81610887565b93969395505050506040820135916060013590565b60008060006060848603121561090757600080fd5b833561091281610887565b9250602084013561092281610887565b929592945050506040919091013590565b60006020828403121561094557600080fd5b813561095081610887565b9392505050565b6000806000806080858703121561096d57600080fd5b843561097881610887565b9350602085013561098881610887565b9250604085013561099881610887565b9396929550929360600135925050565b6000602082840312156109ba57600080fd5b815161095081610887565b6000602082840312156109d757600080fd5b505191905056fea2646970667358221220c0375e0c9b63defa1934733e60d694a5feae8540509b83ebbd996647f0d4a7d964736f6c634300081c0033";
42
+ export const abxMetadataRendererAbi = [{ "type": "function", "name": "contractURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "specVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "pure" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }];
43
+ export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b506130c88061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062844d13146100455780637efe64a21461006e578063e9dc63751461007d575b600080fd5b6100586100533660046126e1565b610090565b6040516100659190612722565b60405180910390f35b604051600b8152602001610065565b61005861008b366004612755565b610553565b60405163055828c560e41b8152636e616d6560e01b600482015260609060009081906001600160a01b038516906355828c5090602401600060405180830381865afa1580156100e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010b9190810190612828565b91509150606080825160001415801561013e575065696e6c696e6560d01b84148061013e5750653932b0b232b960d11b84145b156101d85761014d84846107aa565b91506101d1604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b86146101a357604051806040016040528060068152602001653932b0b232b960d11b8152506101c3565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc876107d2565b61091e565b90506102bf565b856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610216573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023e919081019061286f565b91506102bc604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d652829290000000000000081525061091e565b90505b60006102ca83610955565b6040516020016102da91906128a4565b6040516020818303038152906040529050610329876a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508486610962565b8093508192505050610373876c65787465726e616c5f6c696e6b60981b6040518060400160405280600d81526020016c65787465726e616c5f6c696e6b60981b8152508486610962565b80935081925050506103b1876631b932b0ba37b960c91b6040518060400160405280600781526020016631b932b0ba37b960c91b8152508486610962565b80935081925050506103fb876c646973706c61795f6e6f74657360981b6040518060400160405280600d81526020016c646973706c61795f6e6f74657360981b8152508486610962565b8093508192505050610445876c63726561746f725f6c696e6b7360981b6040518060400160405280600d81526020016c63726561746f725f6c696e6b7360981b8152508486610962565b809350819250505061048387666c6963656e736560c81b604051806040016040528060078152602001666c6963656e736560c81b8152508486610962565b80935081925050506104cb876b62616e6e65725f696d61676560a01b6040518060400160405280600c81526020016b62616e6e65725f696d61676560a01b8152508486610962565b8093508192505050610517876d66656174757265645f696d61676560901b6040518060400160405280600e81526020016d66656174757265645f696d61676560901b8152508486610962565b6040519093509091506105489061053490839085906020016128e1565b604051602081830303815290604052610c7e565b979650505050505050565b60606000806105628585610caf565b9150915060008060006105758888610f54565b925092509250600061058686610955565b61058f85610955565b6040516020016105a092919061293e565b6040516020818303038152906040529050600085846040516020016105c69291906129a8565b60405160208183030381529060405290506106168a8a6a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508686611370565b809250819350505061065f8a8a6b195e1d195c9b985b17dd5c9b60a21b6040518060400160405280600c81526020016b195e1d195c9b985b17dd5c9b60a21b8152508686611370565b80925081935050506106aa8a8a6c185b9a5b585d1a5bdb97dd5c9b609a1b6040518060400160405280600d81526020016c185b9a5b585d1a5bdb97dd5c9b609a1b8152508686611370565b80925081935050506106fb8a8a6f3130b1b5b3b937bab7322fb1b7b637b960811b6040518060400160405280601081526020016f3130b1b5b3b937bab7322fb1b7b637b960811b8152508686611370565b80925081935050506107428a8a6a1e5bdd5d1d589957dd5c9b60aa1b6040518060400160405280600b81526020016a1e5bdd5d1d589957dd5c9b60aa1b8152508686611370565b90925090506107538a8a8484611684565b84519193509150156107845781836040516020016107729291906129e4565b60405160208183030381529060405291505b61079a82826040516020016105349291906128e1565b9750505050505050505b92915050565b6060653932b0b232b960d11b83146107c257816107cb565b6107cb826118dd565b9392505050565b6060621d5c9b60ea1b820361080057604051806060016040528060278152602001612fb86027913992915050565b6b75726c2d74656d706c61746560a01b82036108355760405180606001604052806033815260200161303e6033913992915050565b673932b73232b932b960c11b8203610866576040518060600160405280602281526020016130716022913992915050565b636970667360e01b8214806108845750666172776561766560c81b82145b156108a8576040518060800160405280605f8152602001612fdf605f913992915050565b653932b0b232b960d11b82146108e5576040518060400160405280600f81526020016e39ba37b932b21037b71031b430b4b760891b8152506107a4565b505060408051808201909152601981527f73746f726564206f6e20636861696e20286368756e6b65642900000000000000602082015290565b6060838361092b84610955565b60405160200161093d93929190612a3b565b60405160208183030381529060405290509392505050565b60606107a4826000611973565b606080600080886001600160a01b03166355828c50896040518263ffffffff1660e01b815260040161099691815260200190565b600060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109db9190810190612828565b9150915080516000036109f5578585935093505050610c74565b65696e6c696e6560d01b821480610a145750653932b0b232b960d11b82145b80610a245750621d5c9b60ea1b82145b15610a9e578587610a3d610a3885856107aa565b610955565b604051602001610a4f93929190612ad8565b604051602081830303815290604052955084610a7788610a6e85611a74565b6101cc866107d2565b604051602001610a889291906129a8565b6040516020818303038152906040529450610c6b565b636970667360e01b821480610abc5750666172776561766560c81b82145b15610b9d576000610ad38a84846000196000611bff565b90508051600003610b39578686610b0d8a604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc88611d7f565b604051602001610b1e9291906129a8565b60405160208183030381529060405294509450505050610c74565b8688610b4483610955565b604051602001610b5693929190612ad8565b604051602081830303815290604052965085610b75896101c386611a74565b604051602001610b869291906129a8565b604051602081830303815290604052955050610c6b565b673932b73232b932b960c11b8203610c1a576000610bbf828b6000198c611d9a565b9150508688610bcd83610955565b604051602001610bdf93929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015297508690610b75908a906101cc876107d2565b84610c4888604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc86611d7f565b604051602001610c599291906129a8565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610c8982611e41565b604051602001610c999190612b48565b6040516020818303038152906040529050919050565b6060806000806000610cc98787636e616d6560e01b611e4f565b9250925092508151600014158015610cfb575065696e6c696e6560d01b831480610cfb5750653932b0b232b960d11b83145b15610d9c57610d0a83836107aa565b610d90604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b8614610d5e57604051806040016040528060068152602001653932b0b232b960d11b815250610d7e565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc610d8a886107d2565b86611f7c565b94509450505050610f4d565b815115801590610db65750673932b73232b932b960c11b83145b15610e34576000610dd0838989636e616d6560e01b611d9a565b91505080610e27604051806040016040528060048152602001636e616d6560e01b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b87611f7c565b9550955050505050610f4d565b6000876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9c919081019061286f565b610ea588611fb1565b604051602001610eb6929190612b8d565b604051602081830303815290604052905080610f44604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b20236964290081525061091e565b95509550505050505b9250929050565b60608060606000806000610f71888864696d61676560d81b611e4f565b92509250925081516000146112c85765696e6c696e6560d01b830361100c57610f9982611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b60405180602001604052806000815250955095509550505050611369565b653932b0b232b960d11b83036110825761102d611028836118dd565b611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060068152602001653932b0b232b960d11b8152506101cc610d8a653932b0b232b960d11b6107d2565b621d5c9b60ea1b83036110df5781610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060038152602001621d5c9b60ea1b8152506101cc610d8a621d5c9b60ea1b6107d2565b6b75726c2d74656d706c61746560a01b8303611160576110ff8288612010565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600c81526020016b75726c2d74656d706c61746560a01b8152506101cc610d8a6b75726c2d74656d706c61746560a01b6107d2565b636970667360e01b83148061117e5750666172776561766560c81b83145b156111f65760006111938985858b6001611bff565b905080516000146111f457806111d560405180604001604052806005815260200164696d61676560d81b8152506111c987611a74565b6101cc610e21896107d2565b6040518060200160405280600081525096509650965050505050611369565b505b673932b73232b932b960c11b8303611273576000611220838a8a64696d61676560d81b600161203c565b50509050806111d560405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b61127d88886120d0565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506101cc87611d7f565b6112d288886120d0565b61134f60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e7365740000000081525061091e565b604051806020016040528060008152509550955095505050505b9250925092565b60608060008060006113838b8b8b611e4f565b92509250925081516000036113a057868694509450505050611679565b65696e6c696e6560d01b8314806113bf5750653932b0b232b960d11b83145b1561147b5760006113d084846107aa565b90506c185b9a5b585d1a5bdb97dd5c9b609a1b8a0361141757611414604051806040016040528060098152602001681d195e1d0bda1d1b5b60ba1b81525082612122565b90505b878961142283610955565b60405160200161143493929190612ad8565b6040516020818303038152906040529750866114538a6111c987611a74565b6040516020016114649291906129a8565b60405160208183030381529060405296505061166f565b621d5c9b60ea1b83148061149d57506b75726c2d74656d706c61746560a01b83145b806114ae5750636970667360e01b83145b806114c25750666172776561766560c81b83145b1561158c576060636970667360e01b8414806114e75750666172776561766560c81b84145b15611566576114fa8c85858e6001611bff565b905080516000036115615787876115348b604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc89611d7f565b6040516020016115459291906129a8565b6040516020818303038152906040529550955050505050611679565b611417565b6b75726c2d74656d706c61746560a01b84146115825782611414565b611414838c612010565b673932b73232b932b960c11b830361161e5760006115bf838d8d8d6c185b9a5b585d1a5bdb97dd5c9b609a1b8f1461203c565b5050905087896115ce83610955565b6040516020016115e093929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015298508790611453908b906101cc610e21896107d2565b8561164c89604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b60405160200161165d9291906129a8565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b60608060008060006116a48989696174747269627574657360b01b611e4f565b92509250925081516000036116c1578686945094505050506118d4565b65696e6c696e6560d01b83036117775786826040516020016116e4929190612bca565b6040516020818303038152906040529650856117506040518060400160405280600a8152602001696174747269627574657360b01b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b6040516020016117619291906129a8565b60405160208183030381529060405295506118ca565b673932b73232b932b960c11b83036118575760006117a4838b8b696174747269627574657360b01b611d9a565b91505080516000036117bf57878795509550505050506118d4565b87816040516020016117d2929190612bca565b60408051601f198184030181528282018252600a8352696174747269627574657360b01b602084810191909152825180840190935260088352673932b73232b932b960c11b908301529950889161182f916101cc610e21896107d2565b6040516020016118409291906129a8565b6040516020818303038152906040529650506118ca565b856118a76040518060400160405280600a8152602001696174747269627574657360b01b815250604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b6040516020016118b89291906129a8565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b6060600080838060200190518101906118f69190612c13565b604051635043d43f60e11b81526001600160a01b0380831660048301529294509092509083169063a087a87e90602401600060405180830381865afa158015611943573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261196b919081019061286f565b949350505050565b60405160208101821561198857602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b808614611a4b5760018601955060ff86511660208110611a0457826001821b166119ee57808453600184019350506119bb565b605c8453806001850153600284019350506119bb565b6137006001821b16611a31578060041c51601d53600f811651601e536019518452600684019350506119bb565b605c845360088101516001850153506002830192506119bb565b50508215611a5b57602281536001015b60008152601f1982820301825260200160405292915050565b606065696e6c696e6560d01b8203611aa8575050604080518082019091526006815265696e6c696e6560d01b602082015290565b653932b0b232b960d11b8203611ada5750506040805180820190915260068152653932b0b232b960d11b602082015290565b673932b73232b932b960c11b8203611b105750506040805180820190915260088152673932b73232b932b960c11b602082015290565b621d5c9b60ea1b8203611b3c5750506040805180820190915260038152621d5c9b60ea1b602082015290565b6b75726c2d74656d706c61746560a01b8203611b7a57505060408051808201909152600c81526b75726c2d74656d706c61746560a01b602082015290565b636970667360e01b8203611ba85750506040805180820190915260048152636970667360e01b602082015290565b666172776561766560c81b8203611bdc5750506040805180820190915260078152666172776561766560c81b602082015290565b50506040805180820190915260078152661bdb5a5d1d195960ca1b602082015290565b60608363968f998d60e01b8601611c5157611c398160405180604001604052806007815260200166697066733a2f2f60c81b81525061213f565b15611c4c57611c49816007612160565b90505b611c8b565b611c78816040518060400160405280600581526020016461723a2f2f60d81b81525061213f565b15611c8b57611c88816005612160565b90505b8051600003611caa575050604080516020810190915260008152611d76565b8215611ce257611cdf81604051806040016040528060048152602001637b69647d60e01b815250611cda87611fb1565b61216f565b90505b611d0c816040518060400160405280600881526020016768747470733a2f2f60c01b81525061213f565b80611d3b5750611d3b8160405180604001604052806007815260200166687474703a2f2f60c81b81525061213f565b15611d47579050611d76565b611d51878761217c565b81604051602001611d63929190612c4d565b6040516020818303038152906040529150505b95945050505050565b6060611d8a826122d3565b604051602001610c999190612c7c565b606080600086806020019051810190611db39190612cd2565b604051633f307a7b60e11b81526001600160a01b038881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e339190810190612cef565b925092505094509492505050565b60606107a4826000806123e6565b604051633937c63b60e21b8152600481018390526024810182905260009060609082906001600160a01b0387169063e4df18ec90604401600060405180830381865afa158015611ea3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ecb9190810190612828565b8051919450925015611edf57506000611f73565b60405163055828c560e41b81526004810185905260009081906001600160a01b038916906355828c5090602401600060405180830381865afa158015611f29573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f519190810190612828565b915091508051600014611f6c57909350915060019050611f73565b5060009150505b93509350939050565b606081611f8957826107cb565b82604051602001611f9a9190612d42565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480611fcc575050819003601f19909101908152919050565b606061200082611e41565b604051602001610c999190612d73565b60606107cb83604051806040016040528060048152602001637b69647d60e01b815250611cda85611fb1565b6060806000606061204f89898989611d9a565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b60209182015282519083012091945091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01491508480156120ae575081155b6120b857806120c2565b6120c28382612122565b935050955095509592505050565b606060006120e96120e0856124db565b6000600661254a565b90506000816120f785611fb1565b604051602001612108929190612db8565b6040516020818303038152906040529050611d7681611ff5565b60608261212e83611e41565b604051602001611f9a929190612f26565b805160208083018290209084018290208451600093919092149110106107cb565b60606107cb8383600019612553565b606061196b8484846125b9565b6060600080846001600160a01b03166355828c50636970667360e01b86146121ba57726162785f676174657761795f6172776561766560681b6121cf565b6f6162785f676174657761795f6970667360801b5b6040518263ffffffff1660e01b81526004016121ed91815260200190565b600060405180830381865afa15801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122329190810190612828565b915091508051600014158015612250575065696e6c696e6560d01b82145b1561225e5791506107a49050565b636970667360e01b841461229e576040518060400160405280601481526020017368747470733a2f2f617277656176652e6e65742f60601b815250611d76565b505060408051808201909152601581527468747470733a2f2f697066732e696f2f697066732f60581b60208201529392505050565b606060005b60208110801561230657508281602081106122f5576122f5612f7a565b1a60f81b6001600160f81b03191615155b1561231b5761231481612f90565b90506122d8565b60008167ffffffffffffffff81111561233657612336612781565b6040519080825280601f01601f191660200182016040528015612360576020820181803683370190505b50905060005b828110156123de57600085826020811061238257612382612f7a565b1a9050602081108015906123995750607f8160ff16105b6123a757603f60f81b6123ac565b8060f81b5b8383815181106123be576123be612f7a565b60200101906001600160f81b031916908160001a90535050600101612366565b509392505050565b6060835180156123de576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f811651600353506000518452600484019350828410612462579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101906012190161251b575050919050565b606061196b8484845b60608351828111612562578092505b83811161256d578093505b50818310156107cb5750604051828203848401601f19601f830181165b828101518582015281018061258a57505050806020830101600081526020810160405250808252509392505050565b606060405190508251825185830360208701875181016000528751841161268c5760018460005103016000602086106125f5578560208a012090505b6020890151601f871660200360031b5b8451828118821c61267557831561263d57838987201461263d5780878701526001860195508486106126375750612687565b50612605565b60005b6020818d0181015189890183015201888110612640575088888801039650881561267557948801948486106126375750612687565b85870152600190940193838510612605575b505050505b6000519350836020860183030192505b838110156126b25780518282015260200161269c565b600091019081526020016040528252509392505050565b6001600160a01b03811681146126de57600080fd5b50565b6000602082840312156126f357600080fd5b81356107cb816126c9565b60005b83811015612719578181015183820152602001612701565b50506000910152565b60208152600082518060208401526127418160408501602087016126fe565b601f01601f19169190910160400192915050565b6000806040838503121561276857600080fd5b8235612773816126c9565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127a857600080fd5b81516020830160008067ffffffffffffffff8411156127c9576127c9612781565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff821117156127f8576127f8612781565b60405283815290508082840187101561281057600080fd5b61281e8460208301856126fe565b9695505050505050565b6000806040838503121561283b57600080fd5b82519150602083015167ffffffffffffffff81111561285957600080fd5b61286585828601612797565b9150509250929050565b60006020828403121561288157600080fd5b815167ffffffffffffffff81111561289857600080fd5b61196b84828501612797565b683d913730b6b2911d1160b91b815281516000906128c98160098501602087016126fe565b601160f91b6009939091019283015250600a01919050565b600083516128f38184602088016126fe565b722c226162785f70726f76656e616e6365223a5b60681b90830190815283516129238160138401602088016126fe565b615d7d60f01b60139290910191820152601501949350505050565b683d913730b6b2911d1160b91b815282516000906129638160098501602088016126fe565b6a11161134b6b0b3b2911d1160a91b600991840191820152835161298e8160148401602088016126fe565b601160f91b60149290910191820152601501949350505050565b600083516129ba8184602088016126fe565b600b60fa1b90830190815283516129d88160018401602088016126fe565b01600101949350505050565b600083516129f68184602088016126fe565b6d2c22617274696661637473223a5b60901b9083019081528351612a2181600e8401602088016126fe565b605d60f81b600e9290910191820152600f01949350505050565b693d913334b2b632111d1160b11b81528351600090612a6181600a8501602089016126fe565b6b11161139b7bab931b2911d1160a11b600a918401918201528451612a8d8160168401602089016126fe565b600a81830101915050691116113737ba32911d1160b11b600c8201528351612abc8160168401602088016126fe565b61227d60f01b6016929091019182015260180195945050505050565b60008451612aea8184602089016126fe565b61161160f11b9083019081528451612b098160028401602089016126fe565b62111d1160e91b600292909101918201528351612b2d8160058401602088016126fe565b601160f91b6005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612b8081601d8501602087016126fe565b91909101601d0192915050565b60008351612b9f8184602088016126fe565b61202360f01b9083019081528351612bbe8160028401602088016126fe565b01600201949350505050565b60008351612bdc8184602088016126fe565b6d161130ba3a3934b13aba32b9911d60911b9083019081528351612c0781600e8401602088016126fe565b01600e01949350505050565b60008060408385031215612c2657600080fd5b8251612c31816126c9565b6020840151909250612c42816126c9565b809150509250929050565b60008351612c5f8184602088016126fe565b835190830190612c738183602088016126fe565b01949350505050565b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e64815267032b930b136329d160c51b602082015260008251612cc58160288501602087016126fe565b9190910160280192915050565b600060208284031215612ce457600080fd5b81516107cb816126c9565b60008060408385031215612d0257600080fd5b825167ffffffffffffffff811115612d1957600080fd5b612d2585828601612797565b925050602083015167ffffffffffffffff81111561285957600080fd5b60008251612d548184602087016126fe565b6c205b636f6c6c656374696f6e5d60981b920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000815260008251612dab81601a8501602087016126fe565b91909101601a0192915050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d2223000000606082015260008351612e6281607d8501602088016126fe565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd820152646c65223e2360d81b60dd8201528351612ef98160e28401602088016126fe565b01607d810190612f1b9060e2016c1e17ba32bc3a1f1e17b9bb339f60991b9052565b607201949350505050565b643230ba309d60d91b815260008351612f468160058501602088016126fe565b670ed8985cd94d8d0b60c21b6005918401918201528351612f6e81600d8401602088016126fe565b01600d01949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201612fb057634e487b7160e01b600052601160045260246000fd5b506001019056fe73746f726564206f6e20636861696e3b207468652076616c75652069732061206c6f6361746f7273746f726564206f6e20636861696e3b206120636f6e74656e742d616464726573736564206c6f6361746f722c20736572766564207468726f7567682074686520636f6c6c656374696f6e2773207072656665727265642067617465776179636f6d706f736564206f6e20636861696e2066726f6d20612073746f7265642074656d706c6174653b2061206c6f6361746f72636f6d7075746564206f6e20636861696e20286669656c642072656e646572657229a26469706673582212200e437d0f3d7b3e06475ef64a328335728b2ed6470acd170e62bfe622e2374f2664736f6c634300081c0033";
26
44
  export const abxChunkStoreAbi = [{ "type": "function", "name": "manifestChunks", "inputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct AbxChunkStore.Chunk[]", "components": [{ "name": "pointer", "type": "address", "internalType": "address" }, { "name": "compressed", "type": "bool", "internalType": "bool" }] }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "read", "inputs": [{ "name": "pointer", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "writeChunk", "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "pointer", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeContent", "inputs": [{ "name": "datas", "type": "bytes[]", "internalType": "bytes[]" }, { "name": "compressed", "type": "bool[]", "internalType": "bool[]" }], "outputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeManifest", "inputs": [{ "name": "chunks", "type": "tuple[]", "internalType": "struct AbxChunkStore.Chunk[]", "components": [{ "name": "pointer", "type": "address", "internalType": "address" }, { "name": "compressed", "type": "bool", "internalType": "bool" }] }], "outputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "event", "name": "ChunkWritten", "inputs": [{ "name": "pointer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "storedSize", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ManifestWritten", "inputs": [{ "name": "manifest", "type": "address", "indexed": true, "internalType": "address" }, { "name": "chunkCount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "LengthMismatch", "inputs": [] }];
27
- export const abxChunkStoreBytecode = "0x6080604052348015600f57600080fd5b50610ecc8061001f6000396000f3fe6080604052600436106100655760003560e01c8063a087a87e11610043578063a087a87e14610101578063ac9650d81461012e578063ec6196141461014e57600080fd5b80630824c92d1461006a5780636fba0bf5146100b457806388df5c26146100d4575b600080fd5b34801561007657600080fd5b5061008a610085366004610817565b61016e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b5061008a6100cf36600461088e565b6101ef565b3480156100e057600080fd5b506100f46100ef366004610917565b61027b565b6040516100ab919061093b565b34801561010d57600080fd5b5061012161011c366004610917565b61029f565b6040516100ab9190610a10565b61014161013c366004610a6f565b61037c565b6040516100ab9190610ab1565b34801561015a57600080fd5b5061008a610169366004610b34565b61039b565b600061019a8383604051602001610186929190610bb3565b604051602081830303815290604052610602565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268906020015b60405180910390a292915050565b600061023083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060292505050565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff547906020016101e1565b606061028682610646565b8060200190518101906102999190610cc9565b92915050565b606060006102ac83610646565b8060200190518101906102bf9190610cc9565b9050606060005b82518110156103745760006102f78483815181106102e6576102e6610db6565b602002602001015160000151610646565b905083828151811061030b5761030b610db6565b602002602001015160200151156103285761032581610692565b90505b828160405160200161033b929190610de5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529250506001016102c6565b509392505050565b6060341561038957600080fd5b610299610396848461076f565b610806565b60008382146103d6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008467ffffffffffffffff8111156103f1576103f1610c22565b60405190808252806020026020018201604052801561043657816020015b604080518082019091526000808252602082015281526020019060019003908161040f5790505b50905060005b858110156105915760006104a788888481811061045b5761045b610db6565b905060200281019061046d9190610e14565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060292505050565b90508073ffffffffffffffffffffffffffffffffffffffff167fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff5478989858181106104f3576104f3610db6565b90506020028101906105059190610e14565b604051908152602001905060405180910390a260405180604001604052808273ffffffffffffffffffffffffffffffffffffffff16815260200187878581811061055157610551610db6565b90506020020160208101906105669190610e79565b151581525083838151811061057d5761057d610db6565b60209081029190910101525060010161043c565b506105a681604051602001610186919061093b565b91508173ffffffffffffffffffffffffffffffffffffffff167f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a26882516040516105f191815260200190565b60405180910390a250949350505050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816106405763301164256000526004601cfd5b90915290565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b60405181516020838101938184019201015b808410156107385783518060001a8060051c806106d75750600186810151855295810160020195930190920191506106a4565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a820152820183811061070f579a84016002019a9883019850505050505050506106a4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301825260008152602001604052919050565b600060405190506020815281816020015280604001808360051b8086843782018085156107ee575b835187018035602082018337600038823584305af46107b9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410610797575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806020838503121561082a57600080fd5b823567ffffffffffffffff81111561084157600080fd5b8301601f8101851361085257600080fd5b803567ffffffffffffffff81111561086957600080fd5b8560208260061b840101111561087e57600080fd5b6020919091019590945092505050565b600080602083850312156108a157600080fd5b823567ffffffffffffffff8111156108b857600080fd5b8301601f810185136108c957600080fd5b803567ffffffffffffffff8111156108e057600080fd5b85602082840101111561087e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461091457600080fd5b50565b60006020828403121561092957600080fd5b8135610934816108f2565b9392505050565b602080825282518282018190526000918401906040840190835b81811015610997578351805173ffffffffffffffffffffffffffffffffffffffff16845260209081015115158185015290930192604090920191600101610955565b509095945050505050565b60005b838110156109bd5781810151838201526020016109a5565b50506000910152565b600081518084526109de8160208601602086016109a2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061093460208301846109c6565b60008083601f840112610a3557600080fd5b50813567ffffffffffffffff811115610a4d57600080fd5b6020830191508360208260051b8501011115610a6857600080fd5b9250929050565b60008060208385031215610a8257600080fd5b823567ffffffffffffffff811115610a9957600080fd5b610aa585828601610a23565b90969095509350505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610b28577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610b138583516109c6565b94506020938401939190910190600101610ad9565b50929695505050505050565b60008060008060408587031215610b4a57600080fd5b843567ffffffffffffffff811115610b6157600080fd5b610b6d87828801610a23565b909550935050602085013567ffffffffffffffff811115610b8d57600080fd5b610b9987828801610a23565b95989497509550505050565b801515811461091457600080fd5b6020808252810182905260008360408301825b85811015610c18578235610bd9816108f2565b73ffffffffffffffffffffffffffffffffffffffff1682526020830135610bff81610ba5565b1515602083015260409283019290910190600101610bc6565b5095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610c7457610c74610c22565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610cc157610cc1610c22565b604052919050565b600060208284031215610cdb57600080fd5b815167ffffffffffffffff811115610cf257600080fd5b8201601f81018413610d0357600080fd5b805167ffffffffffffffff811115610d1d57610d1d610c22565b610d2c60208260051b01610c7a565b8082825260208201915060208360061b850101925086831115610d4e57600080fd5b6020840193505b82841015610dac5760408488031215610d6d57600080fd5b610d75610c51565b8451610d80816108f2565b81526020850151610d9081610ba5565b8060208301525080835250602082019150604084019350610d55565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008351610df78184602088016109a2565b835190830190610e0b8183602088016109a2565b01949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e4957600080fd5b83018035915067ffffffffffffffff821115610e6457600080fd5b602001915036819003821315610a6857600080fd5b600060208284031215610e8b57600080fd5b813561093481610ba556fea26469706673582212208885e041f813b1b4e06df3869a33c3f6c6d28f61645a681c2210664b967d414c64736f6c634300081c0033";
45
+ export const abxChunkStoreBytecode = "0x6080604052348015600f57600080fd5b506110928061001f6000396000f3fe6080604052600436106100655760003560e01c8063a087a87e11610043578063a087a87e14610101578063ac9650d81461012e578063ec6196141461014e57600080fd5b80630824c92d1461006a5780636fba0bf5146100b457806388df5c26146100d4575b600080fd5b34801561007657600080fd5b5061008a6100853660046109e6565b61016e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b5061008a6100cf366004610a5d565b6101ef565b3480156100e057600080fd5b506100f46100ef366004610ae6565b61027b565b6040516100ab9190610b0a565b34801561010d57600080fd5b5061012161011c366004610ae6565b61029f565b6040516100ab9190610bd5565b61014161013c366004610c34565b610401565b6040516100ab9190610c76565b34801561015a57600080fd5b5061008a610169366004610cf9565b610420565b600061019a8383604051602001610186929190610d78565b604051602081830303815290604052610687565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268906020015b60405180910390a292915050565b600061023083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061068792505050565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff547906020016101e1565b6060610286826106cb565b8060200190518101906102999190610e84565b92915050565b606060006102ac836106cb565b8060200190518101906102bf9190610e84565b90506000815167ffffffffffffffff8111156102dd576102dd610ddd565b60405190808252806020026020018201604052801561031057816020015b60608152602001906001900390816102fb5790505b5090506000805b83518110156103a557600061034885838151811061033757610337610f71565b6020026020010151600001516106cb565b905084828151811061035c5761035c610f71565b602002602001015160200151156103795761037681610717565b90505b8084838151811061038c5761038c610f71565b6020908102919091010152519190910190600101610317565b50604080518281016060018252908201815260006020909101818152905b83518110156103f7576103ef828583815181106103e2576103e2610f71565b60200260200101516107f4565b6001016103c3565b5095945050505050565b6060341561040e57600080fd5b61029961041b848461080d565b6108a4565b600083821461045b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008467ffffffffffffffff81111561047657610476610ddd565b6040519080825280602002602001820160405280156104bb57816020015b60408051808201909152600080825260208201528152602001906001900390816104945790505b50905060005b8581101561061657600061052c8888848181106104e0576104e0610f71565b90506020028101906104f29190610fa0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061068792505050565b90508073ffffffffffffffffffffffffffffffffffffffff167fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff54789898581811061057857610578610f71565b905060200281019061058a9190610fa0565b604051908152602001905060405180910390a260405180604001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018787858181106105d6576105d6610f71565b90506020020160208101906105eb9190611005565b151581525083838151811061060257610602610f71565b6020908102919091010152506001016104c1565b5061062b816040516020016101869190610b0a565b91508173ffffffffffffffffffffffffffffffffffffffff167f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268825160405161067691815260200190565b60405180910390a250949350505050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816106c55763301164256000526004601cfd5b90915290565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b60405181516020838101938184019201015b808410156107bd5783518060001a8060051c8061075c575060018681015185529581016002019593019092019150610729565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a8201528201838110610794579a84016002019a988301985050505050505050610729565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301825260008152602001604052919050565b6107ff8282516108b5565b61080982826109b0565b5050565b600060405190506020815281816020015280604001808360051b80868437820180851561088c575b835187018035602082018337600038823584305af4610857573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410610835575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000610903837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00190565b905060008284516109149190611022565b9050808210156109aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f44796e616d69634275666665723a20417070656e64696e67206f7574206f662060448201527f626f756e64732e00000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b50505050565b8051602082019150808201602084510184015b818410156109db5783518152602093840193016109c3565b505082510190915250565b600080602083850312156109f957600080fd5b823567ffffffffffffffff811115610a1057600080fd5b8301601f81018513610a2157600080fd5b803567ffffffffffffffff811115610a3857600080fd5b8560208260061b8401011115610a4d57600080fd5b6020919091019590945092505050565b60008060208385031215610a7057600080fd5b823567ffffffffffffffff811115610a8757600080fd5b8301601f81018513610a9857600080fd5b803567ffffffffffffffff811115610aaf57600080fd5b856020828401011115610a4d57600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ae357600080fd5b50565b600060208284031215610af857600080fd5b8135610b0381610ac1565b9392505050565b602080825282518282018190526000918401906040840190835b81811015610b66578351805173ffffffffffffffffffffffffffffffffffffffff16845260209081015115158185015290930192604090920191600101610b24565b509095945050505050565b6000815180845260005b81811015610b9757602081850181015186830182015201610b7b565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610b036020830184610b71565b60008083601f840112610bfa57600080fd5b50813567ffffffffffffffff811115610c1257600080fd5b6020830191508360208260051b8501011115610c2d57600080fd5b9250929050565b60008060208385031215610c4757600080fd5b823567ffffffffffffffff811115610c5e57600080fd5b610c6a85828601610be8565b90969095509350505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610ced577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610cd8858351610b71565b94506020938401939190910190600101610c9e565b50929695505050505050565b60008060008060408587031215610d0f57600080fd5b843567ffffffffffffffff811115610d2657600080fd5b610d3287828801610be8565b909550935050602085013567ffffffffffffffff811115610d5257600080fd5b610d5e87828801610be8565b95989497509550505050565b8015158114610ae357600080fd5b6020808252810182905260008360408301825b858110156103f7578235610d9e81610ac1565b73ffffffffffffffffffffffffffffffffffffffff1682526020830135610dc481610d6a565b1515602083015260409283019290910190600101610d8b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2f57610e2f610ddd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610e7c57610e7c610ddd565b604052919050565b600060208284031215610e9657600080fd5b815167ffffffffffffffff811115610ead57600080fd5b8201601f81018413610ebe57600080fd5b805167ffffffffffffffff811115610ed857610ed8610ddd565b610ee760208260051b01610e35565b8082825260208201915060208360061b850101925086831115610f0957600080fd5b6020840193505b82841015610f675760408488031215610f2857600080fd5b610f30610e0c565b8451610f3b81610ac1565b81526020850151610f4b81610d6a565b8060208301525080835250602082019150604084019350610f10565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610fd557600080fd5b83018035915067ffffffffffffffff821115610ff057600080fd5b602001915036819003821315610c2d57600080fd5b60006020828403121561101757600080fd5b8135610b0381610d6a565b80820180821115610299577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cbc9b6083d20c653f9c28a501bbf915310c62eb791b36c2485dbec41ade44da864736f6c634300081c0033";
28
46
  //# sourceMappingURL=generated.js.map