@artblocks/contracts 1.2.1 → 1.3.1

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 (71) hide show
  1. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +201 -0
  2. package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +2 -2
  3. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +42 -53
  4. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2 -2
  5. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
  6. package/artifacts/contracts/interfaces/v0.8.x/IDelegateRegistry.sol/IDelegateRegistry.json +820 -0
  7. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +13 -0
  8. package/artifacts/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol/IPMPAugmentHook.json +83 -0
  9. package/artifacts/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol/IPMPConfigureHook.json +80 -0
  10. package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +402 -0
  11. package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +13 -0
  12. package/artifacts/contracts/interfaces/v0.8.x/IWeb3Call.sol/IWeb3Call.json +47 -0
  13. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol/DelegateRegistry.json +846 -0
  14. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol/RegistryHashes.json +10 -0
  15. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol/RegistryOps.json +10 -0
  16. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol/RegistryStorage.json +10 -0
  17. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  18. package/artifacts/contracts/libs/v0.8.x/ImmutableStringArray.sol/ImmutableStringArray.json +10 -0
  19. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  20. package/artifacts/contracts/mock/ImmutableStringArrayMock.sol/ImmutableStringArrayMock.json +69 -0
  21. package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +214 -0
  22. package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +236 -0
  23. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +629 -0
  24. package/artifacts/contracts/web3call/Web3Call.sol/Web3Call.json +66 -0
  25. package/artifacts/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol/AbstractPMPAugmentHook.json +83 -0
  26. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +83 -0
  27. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/IUniswapV2Pair.json +60 -0
  28. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +107 -0
  29. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +96 -0
  30. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +83 -0
  31. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +141 -0
  32. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +99 -0
  33. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +99 -0
  34. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +83 -0
  35. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +107 -0
  36. package/artifacts/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol/AbstractPMPConfigureHook.json +80 -0
  37. package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol +128 -0
  38. package/contracts/DependencyRegistryV0.sol +67 -28
  39. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +7 -1
  40. package/contracts/generator/GenArt721GeneratorV0.sol +77 -8
  41. package/contracts/interfaces/v0.8.x/IDelegateRegistry.sol +318 -0
  42. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +2 -0
  43. package/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol +31 -0
  44. package/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol +25 -0
  45. package/contracts/interfaces/v0.8.x/IPMPV0.sol +224 -0
  46. package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +5 -0
  47. package/contracts/interfaces/v0.8.x/IWeb3Call.sol +28 -0
  48. package/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol +753 -0
  49. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol +359 -0
  50. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol +31 -0
  51. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol +87 -0
  52. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +3 -0
  53. package/contracts/libs/v0.8.x/ImmutableStringArray.sol +301 -0
  54. package/contracts/libs/v0.8.x/V3FlexLib.sol +7 -1
  55. package/contracts/mock/ImmutableStringArrayMock.sol +47 -0
  56. package/contracts/mock/MockPMPAugmentHook.sol +170 -0
  57. package/contracts/mock/MockPMPConfigureHook.sol +78 -0
  58. package/contracts/web3call/PMPV0.sol +1126 -0
  59. package/contracts/web3call/Web3Call.sol +25 -0
  60. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +46 -0
  61. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +57 -0
  62. package/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol +103 -0
  63. package/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol +66 -0
  64. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +73 -0
  65. package/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol +88 -0
  66. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +62 -0
  67. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +60 -0
  68. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +61 -0
  69. package/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol +69 -0
  70. package/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol +41 -0
  71. package/package.json +5 -5
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RegistryHashes",
4
+ "sourceName": "contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220052fbcc9f9fdfc696e4809d5a8d57d2b9bc0f97c4b804633c18fce710440671164736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220052fbcc9f9fdfc696e4809d5a8d57d2b9bc0f97c4b804633c18fce710440671164736f6c63430008160033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RegistryOps",
4
+ "sourceName": "contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122016f0c7626d2450c164e5addbc5fb614f5b8fd2f7c23dacb34600cf3955f2c19e64736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122016f0c7626d2450c164e5addbc5fb614f5b8fd2f7c23dacb34600cf3955f2c19e64736f6c63430008160033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RegistryStorage",
4
+ "sourceName": "contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7fd44a6b7cd721edd5a014becf705263da4dd348e5c75f17418e9666cd13df064736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7fd44a6b7cd721edd5a014becf705263da4dd348e5c75f17418e9666cd13df064736f6c63430008160033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -3,8 +3,8 @@
3
3
  "contractName": "DependencyRegistryStorageLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208dcabcd3ae2776ee6da46b4bab937cf7b95ab440924406d9670b887cedc43ddf64736f6c63430008160033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208dcabcd3ae2776ee6da46b4bab937cf7b95ab440924406d9670b887cedc43ddf64736f6c63430008160033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220408bd1e5e14ce675e8d53ea4e70a495d35d4f5548b03d3b9a2bfeed7d8fae02864736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220408bd1e5e14ce675e8d53ea4e70a495d35d4f5548b03d3b9a2bfeed7d8fae02864736f6c63430008160033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ImmutableStringArray",
4
+ "sourceName": "contracts/libs/v0.8.x/ImmutableStringArray.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220890000c4abc20f90345af1562c84f14e4518e7605538d985a355e348a8247a3664736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220890000c4abc20f90345af1562c84f14e4518e7605538d985a355e348a8247a3664736f6c63430008160033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -188,8 +188,8 @@
188
188
  "type": "function"
189
189
  }
190
190
  ],
191
- "bytecode": "0x61182361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c806315d3a7a3146100c957806339077c6e146100f25780635464c309146101145780636ee96f2a146101345780638f65b1f3146101545780639424702b14610174578063ad28329014610194578063ad576c45146101b5578063b7ba527d146101d5578063ba3c2345146101ea578063bb7dbb6c1461020a578063d50f51381461022a578063e949d2d21461024a578063f6cd39e31461026a575b600080fd5b6100dc6100d7366004610f13565b610272565b6040516100e99190610fd4565b60405180910390f35b8180156100fe57600080fd5b5061011261010d366004610f13565b610452565b005b81801561012057600080fd5b5061011261012f36600461103e565b610521565b81801561014057600080fd5b5061011261014f3660046110af565b61057b565b81801561016057600080fd5b5061011261016f3660046111b6565b6106ab565b81801561018057600080fd5b5061011261018f36600461120c565b61080c565b6101a76101a2366004611252565b610889565b6040519081526020016100e9565b8180156101c157600080fd5b506101126101d036600461126b565b6108a7565b6101dd6109c5565b6040516100e9919061128d565b8180156101f657600080fd5b50610112610205366004611252565b610a60565b81801561021657600080fd5b506101126102253660046112a7565b610ab0565b81801561023657600080fd5b5061011261024536600461103e565b610b7e565b81801561025657600080fd5b506101126102653660046112f6565b610b9c565b6101dd610d42565b61029e604080516080810190915260608152602081016000815260006020820152606060409091015290565b60006102a985610d57565b6000858152600182810160205260409182902090810154825160808101909352815493945090926101009091046001600160a01b03169190819084906102ee90611356565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611356565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050509183525050600184015460209091019060ff16600381111561038e5761038e610f9c565b81526001600160a01b03831660208201526040016002600185015460ff1660038111156103bd576103bd610f9c565b146103d75760405180602001604052806000815250610445565b604051630eacc5e760e31b81526001600160a01b0384811660048301528816906375662f3890602401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610445919081019061138a565b9052979650505050505050565b600061045d84610d57565b905061046881610d74565b8054610100900462ffffff1680841061049c5760405162461bcd60e51b8152600401610493906113f7565b60405180910390fd5b60008481526001830160209081526040808320815192830190915291815281906104c6908261148f565b5060018101805460026001600160a81b03199091166101006001600160a01b03881602178117909155604051869188916000805160206117ae83398151915291610511918790611548565b60405180910390a3505050505050565b818161052b610dc8565b6001019161053a919083611576565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd838360405161056f929190611630565b60405180910390a25050565b600061058683610d57565b905061059181610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff169060208101600281526001600160a01b03851660209182015262ffffff831660009081526001850190915260409020815181906105f1908261148f565b50602082015160018083018054909160ff199091169083600381111561061957610619610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b0319909216919091179055610659908290611675565b825463ffffff00191661010062ffffff928316021783558116846000805160206117ae833981519152600261068f856001611675565b60405161069d929190611548565b60405180910390a350505050565b60006106b684610d57565b90506106c181610d74565b8054610100900462ffffff16600060028460038111156106e3576106e3610f9c565b03610706576106f185610dec565b90506040518060200160405280600081525094505b604051806060016040528086815260200185600381111561072957610729610f9c565b81526001600160a01b03831660209182015262ffffff8416600090815260018601909152604090208151819061075f908261148f565b50602082015160018083018054909160ff199091169083600381111561078757610787610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556107c7908390611675565b835463ffffff00191661010062ffffff928316021784558216866000805160206117ae83398151915287876107fd876001611675565b60405161051193929190611698565b600061081783610d57565b905061082281610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff1690602081016002815260200161085a85610e8a565b6001600160a01b0316905262ffffff821660009081526001840160205260409020815181906105f1908261148f565b60008061089583610d57565b54610100900462ffffff169392505050565b60006108b283610d57565b90506108bd81610d74565b8054610100900462ffffff168083106108e85760405162461bcd60e51b8152600401610493906113f7565b60006108f56001836116cd565b90508062ffffff1684146109485760405162461bcd60e51b815260206004820152601a60248201527913db9b1e481c995b5bdd985b081bd9881b185cdd08185cdcd95d60321b6044820152606401610493565b62ffffff811660009081526001840160205260408120906109698282610eb0565b5060010180546001600160a81b0319169055825463ffffff00191661010062ffffff831602178355604051849086907fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d7075990600090a35050505050565b60606109cf610dc8565b60010180546109dd90611356565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0990611356565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b6000610a6b82610d57565b9050610a7681610d74565b805460ff1916600117815560405182907fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc90600090a25050565b6000610abb84610d57565b9050610ac681610d74565b8054610100900462ffffff16808410610af15760405162461bcd60e51b8152600401610493906113f7565b6000848152600183016020908152604080832081519283019091529181528190610b1b908261148f565b5060018101805460ff19166002179055610b3484610e8a565b8160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084866000805160206117ae833981519152600285604051610511929190611548565b8181610b88610dc8565b91610b94919083611576565b50600061053e565b6000610ba785610d57565b9050610bb281610d74565b8054610100900462ffffff16808510610bdd5760405162461bcd60e51b8152600401610493906113f7565b6000858152600180840160205260409091208082018054919260ff83169287929160ff1990911690836003811115610c1757610c17610f9c565b02179055506002856003811115610c3057610c30610f9c565b03610ccf576002816003811115610c4957610c49610f9c565b14610c7957604080516020808201835260008083528a8152600188019091529190912090610c77908261148f565b505b610c8286610dec565b600088815260018087016020908152604080842090920180546001600160a01b039590951661010002610100600160a81b0319909516949094179093558051928301905281529550610d0d565b60008781526001850160205260409020610ce9878261148f565b50600087815260018086016020526040909120018054610100600160a81b03191690555b86886000805160206117ae833981519152888887604051610d3093929190611698565b60405180910390a35050505050505050565b6060610d4c610dc8565b80546109dd90611356565b6000610d61610dc8565b6000928352600201602052506040902090565b805460ff1615610dc55760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610493565b50565b7f02168cc07b1677bf9881e576212278e548bdcea13c48e53c3b39ad205060fb9a90565b6000806000805160206117ce8339815191523084604051602001610e12939291906116e9565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216610e845760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610493565b50919050565b6000806000805160206117ce8339815191523084604051602001610e1293929190611751565b508054610ebc90611356565b6000825580601f10610ecc575050565b601f016020900490600052602060002090810190610dc591905b80821115610efa5760008155600101610ee6565b5090565b6001600160a01b0381168114610dc557600080fd5b600080600060608486031215610f2857600080fd5b83359250602084013591506040840135610f4181610efe565b809150509250925092565b60005b83811015610f67578181015183820152602001610f4f565b50506000910152565b60008151808452610f88816020860160208601610f4c565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110610fd057634e487b7160e01b600052602160045260246000fd5b9052565b602081526000825160806020840152610ff060a0840182610f70565b905060208401516110046040850182610fb2565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526110358282610f70565b95945050505050565b6000806020838503121561105157600080fd5b82356001600160401b038082111561106857600080fd5b818501915085601f83011261107c57600080fd5b81358181111561108b57600080fd5b86602082850101111561109d57600080fd5b60209290920196919550909350505050565b600080604083850312156110c257600080fd5b8235915060208301356110d481610efe565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561111d5761111d6110df565b604052919050565b60006001600160401b0382111561113e5761113e6110df565b50601f01601f191660200190565b600082601f83011261115d57600080fd5b813561117061116b82611125565b6110f5565b81815284602083860101111561118557600080fd5b816020850160208301376000918101602001919091529392505050565b8035600481106111b157600080fd5b919050565b6000806000606084860312156111cb57600080fd5b8335925060208401356001600160401b038111156111e857600080fd5b6111f48682870161114c565b925050611203604085016111a2565b90509250925092565b6000806040838503121561121f57600080fd5b8235915060208301356001600160401b0381111561123c57600080fd5b6112488582860161114c565b9150509250929050565b60006020828403121561126457600080fd5b5035919050565b6000806040838503121561127e57600080fd5b50508035926020909101359150565b6020815260006112a06020830184610f70565b9392505050565b6000806000606084860312156112bc57600080fd5b833592506020840135915060408401356001600160401b038111156112e057600080fd5b6112ec8682870161114c565b9150509250925092565b6000806000806080858703121561130c57600080fd5b843593506020850135925060408501356001600160401b0381111561133057600080fd5b61133c8782880161114c565b92505061134b606086016111a2565b905092959194509250565b600181811c9082168061136a57607f821691505b602082108103610e8457634e487b7160e01b600052602260045260246000fd5b60006020828403121561139c57600080fd5b81516001600160401b038111156113b257600080fd5b8201601f810184136113c357600080fd5b80516113d161116b82611125565b8181528560208385010111156113e657600080fd5b611035826020830160208601610f4c565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b601f821115611475576000816000526020600020601f850160051c810160208610156114525750805b601f850160051c820191505b818110156114715782815560010161145e565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156114a8576114a86110df565b6114bc816114b68454611356565b84611429565b602080601f8311600181146114eb57600084156114d95750858301515b6114e3858261147a565b865550611471565b600085815260208120601f198616915b8281101561151a578886015182559484019460019091019084016114fb565b50858210156115385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060808252600090820152608081016115646020830185610fb2565b62ffffff831660408301529392505050565b6001600160401b0383111561158d5761158d6110df565b6115a18361159b8354611356565b83611429565b6000601f8411600181146115cf57600085156115bd5750838201355b6115c7868261147a565b845550611629565b600083815260209020601f19861690835b8281101561160057868501358255602094850194600190920191016115e0565b508682101561161d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b62ffffff8181168382160190808211156116915761169161165f565b5092915050565b6060815260006116ab6060830186610f70565b90506116ba6020830185610fb2565b62ffffff83166040830152949350505050565b62ffffff8281168282160390808211156116915761169161165f565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161174281604d850160208701610f4c565b91909101604d01949350505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161174281604d850160208701610f4c56fe1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae94942797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20a26469706673582212202fd760f7f04ddcf5fd5207ffeb73041fdee75e1b0a105cc1a7010fe80be98fb464736f6c63430008160033",
192
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c806315d3a7a3146100c957806339077c6e146100f25780635464c309146101145780636ee96f2a146101345780638f65b1f3146101545780639424702b14610174578063ad28329014610194578063ad576c45146101b5578063b7ba527d146101d5578063ba3c2345146101ea578063bb7dbb6c1461020a578063d50f51381461022a578063e949d2d21461024a578063f6cd39e31461026a575b600080fd5b6100dc6100d7366004610f13565b610272565b6040516100e99190610fd4565b60405180910390f35b8180156100fe57600080fd5b5061011261010d366004610f13565b610452565b005b81801561012057600080fd5b5061011261012f36600461103e565b610521565b81801561014057600080fd5b5061011261014f3660046110af565b61057b565b81801561016057600080fd5b5061011261016f3660046111b6565b6106ab565b81801561018057600080fd5b5061011261018f36600461120c565b61080c565b6101a76101a2366004611252565b610889565b6040519081526020016100e9565b8180156101c157600080fd5b506101126101d036600461126b565b6108a7565b6101dd6109c5565b6040516100e9919061128d565b8180156101f657600080fd5b50610112610205366004611252565b610a60565b81801561021657600080fd5b506101126102253660046112a7565b610ab0565b81801561023657600080fd5b5061011261024536600461103e565b610b7e565b81801561025657600080fd5b506101126102653660046112f6565b610b9c565b6101dd610d42565b61029e604080516080810190915260608152602081016000815260006020820152606060409091015290565b60006102a985610d57565b6000858152600182810160205260409182902090810154825160808101909352815493945090926101009091046001600160a01b03169190819084906102ee90611356565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611356565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050509183525050600184015460209091019060ff16600381111561038e5761038e610f9c565b81526001600160a01b03831660208201526040016002600185015460ff1660038111156103bd576103bd610f9c565b146103d75760405180602001604052806000815250610445565b604051630eacc5e760e31b81526001600160a01b0384811660048301528816906375662f3890602401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610445919081019061138a565b9052979650505050505050565b600061045d84610d57565b905061046881610d74565b8054610100900462ffffff1680841061049c5760405162461bcd60e51b8152600401610493906113f7565b60405180910390fd5b60008481526001830160209081526040808320815192830190915291815281906104c6908261148f565b5060018101805460026001600160a81b03199091166101006001600160a01b03881602178117909155604051869188916000805160206117ae83398151915291610511918790611548565b60405180910390a3505050505050565b818161052b610dc8565b6001019161053a919083611576565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd838360405161056f929190611630565b60405180910390a25050565b600061058683610d57565b905061059181610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff169060208101600281526001600160a01b03851660209182015262ffffff831660009081526001850190915260409020815181906105f1908261148f565b50602082015160018083018054909160ff199091169083600381111561061957610619610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b0319909216919091179055610659908290611675565b825463ffffff00191661010062ffffff928316021783558116846000805160206117ae833981519152600261068f856001611675565b60405161069d929190611548565b60405180910390a350505050565b60006106b684610d57565b90506106c181610d74565b8054610100900462ffffff16600060028460038111156106e3576106e3610f9c565b03610706576106f185610dec565b90506040518060200160405280600081525094505b604051806060016040528086815260200185600381111561072957610729610f9c565b81526001600160a01b03831660209182015262ffffff8416600090815260018601909152604090208151819061075f908261148f565b50602082015160018083018054909160ff199091169083600381111561078757610787610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556107c7908390611675565b835463ffffff00191661010062ffffff928316021784558216866000805160206117ae83398151915287876107fd876001611675565b60405161051193929190611698565b600061081783610d57565b905061082281610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff1690602081016002815260200161085a85610e8a565b6001600160a01b0316905262ffffff821660009081526001840160205260409020815181906105f1908261148f565b60008061089583610d57565b54610100900462ffffff169392505050565b60006108b283610d57565b90506108bd81610d74565b8054610100900462ffffff168083106108e85760405162461bcd60e51b8152600401610493906113f7565b60006108f56001836116cd565b90508062ffffff1684146109485760405162461bcd60e51b815260206004820152601a60248201527913db9b1e481c995b5bdd985b081bd9881b185cdd08185cdcd95d60321b6044820152606401610493565b62ffffff811660009081526001840160205260408120906109698282610eb0565b5060010180546001600160a81b0319169055825463ffffff00191661010062ffffff831602178355604051849086907fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d7075990600090a35050505050565b60606109cf610dc8565b60010180546109dd90611356565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0990611356565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b6000610a6b82610d57565b9050610a7681610d74565b805460ff1916600117815560405182907fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc90600090a25050565b6000610abb84610d57565b9050610ac681610d74565b8054610100900462ffffff16808410610af15760405162461bcd60e51b8152600401610493906113f7565b6000848152600183016020908152604080832081519283019091529181528190610b1b908261148f565b5060018101805460ff19166002179055610b3484610e8a565b8160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084866000805160206117ae833981519152600285604051610511929190611548565b8181610b88610dc8565b91610b94919083611576565b50600061053e565b6000610ba785610d57565b9050610bb281610d74565b8054610100900462ffffff16808510610bdd5760405162461bcd60e51b8152600401610493906113f7565b6000858152600180840160205260409091208082018054919260ff83169287929160ff1990911690836003811115610c1757610c17610f9c565b02179055506002856003811115610c3057610c30610f9c565b03610ccf576002816003811115610c4957610c49610f9c565b14610c7957604080516020808201835260008083528a8152600188019091529190912090610c77908261148f565b505b610c8286610dec565b600088815260018087016020908152604080842090920180546001600160a01b039590951661010002610100600160a81b0319909516949094179093558051928301905281529550610d0d565b60008781526001850160205260409020610ce9878261148f565b50600087815260018086016020526040909120018054610100600160a81b03191690555b86886000805160206117ae833981519152888887604051610d3093929190611698565b60405180910390a35050505050505050565b6060610d4c610dc8565b80546109dd90611356565b6000610d61610dc8565b6000928352600201602052506040902090565b805460ff1615610dc55760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610493565b50565b7f02168cc07b1677bf9881e576212278e548bdcea13c48e53c3b39ad205060fb9a90565b6000806000805160206117ce8339815191523084604051602001610e12939291906116e9565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216610e845760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610493565b50919050565b6000806000805160206117ce8339815191523084604051602001610e1293929190611751565b508054610ebc90611356565b6000825580601f10610ecc575050565b601f016020900490600052602060002090810190610dc591905b80821115610efa5760008155600101610ee6565b5090565b6001600160a01b0381168114610dc557600080fd5b600080600060608486031215610f2857600080fd5b83359250602084013591506040840135610f4181610efe565b809150509250925092565b60005b83811015610f67578181015183820152602001610f4f565b50506000910152565b60008151808452610f88816020860160208601610f4c565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110610fd057634e487b7160e01b600052602160045260246000fd5b9052565b602081526000825160806020840152610ff060a0840182610f70565b905060208401516110046040850182610fb2565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526110358282610f70565b95945050505050565b6000806020838503121561105157600080fd5b82356001600160401b038082111561106857600080fd5b818501915085601f83011261107c57600080fd5b81358181111561108b57600080fd5b86602082850101111561109d57600080fd5b60209290920196919550909350505050565b600080604083850312156110c257600080fd5b8235915060208301356110d481610efe565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561111d5761111d6110df565b604052919050565b60006001600160401b0382111561113e5761113e6110df565b50601f01601f191660200190565b600082601f83011261115d57600080fd5b813561117061116b82611125565b6110f5565b81815284602083860101111561118557600080fd5b816020850160208301376000918101602001919091529392505050565b8035600481106111b157600080fd5b919050565b6000806000606084860312156111cb57600080fd5b8335925060208401356001600160401b038111156111e857600080fd5b6111f48682870161114c565b925050611203604085016111a2565b90509250925092565b6000806040838503121561121f57600080fd5b8235915060208301356001600160401b0381111561123c57600080fd5b6112488582860161114c565b9150509250929050565b60006020828403121561126457600080fd5b5035919050565b6000806040838503121561127e57600080fd5b50508035926020909101359150565b6020815260006112a06020830184610f70565b9392505050565b6000806000606084860312156112bc57600080fd5b833592506020840135915060408401356001600160401b038111156112e057600080fd5b6112ec8682870161114c565b9150509250925092565b6000806000806080858703121561130c57600080fd5b843593506020850135925060408501356001600160401b0381111561133057600080fd5b61133c8782880161114c565b92505061134b606086016111a2565b905092959194509250565b600181811c9082168061136a57607f821691505b602082108103610e8457634e487b7160e01b600052602260045260246000fd5b60006020828403121561139c57600080fd5b81516001600160401b038111156113b257600080fd5b8201601f810184136113c357600080fd5b80516113d161116b82611125565b8181528560208385010111156113e657600080fd5b611035826020830160208601610f4c565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b601f821115611475576000816000526020600020601f850160051c810160208610156114525750805b601f850160051c820191505b818110156114715782815560010161145e565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156114a8576114a86110df565b6114bc816114b68454611356565b84611429565b602080601f8311600181146114eb57600084156114d95750858301515b6114e3858261147a565b865550611471565b600085815260208120601f198616915b8281101561151a578886015182559484019460019091019084016114fb565b50858210156115385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060808252600090820152608081016115646020830185610fb2565b62ffffff831660408301529392505050565b6001600160401b0383111561158d5761158d6110df565b6115a18361159b8354611356565b83611429565b6000601f8411600181146115cf57600085156115bd5750838201355b6115c7868261147a565b845550611629565b600083815260209020601f19861690835b8281101561160057868501358255602094850194600190920191016115e0565b508682101561161d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b62ffffff8181168382160190808211156116915761169161165f565b5092915050565b6060815260006116ab6060830186610f70565b90506116ba6020830185610fb2565b62ffffff83166040830152949350505050565b62ffffff8281168282160390808211156116915761169161165f565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161174281604d850160208701610f4c565b91909101604d01949350505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161174281604d850160208701610f4c56fe1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae94942797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20a26469706673582212202fd760f7f04ddcf5fd5207ffeb73041fdee75e1b0a105cc1a7010fe80be98fb464736f6c63430008160033",
191
+ "bytecode": "0x61182361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c806315d3a7a3146100c957806339077c6e146100f25780635464c309146101145780636ee96f2a146101345780638f65b1f3146101545780639424702b14610174578063ad28329014610194578063ad576c45146101b5578063b7ba527d146101d5578063ba3c2345146101ea578063bb7dbb6c1461020a578063d50f51381461022a578063e949d2d21461024a578063f6cd39e31461026a575b600080fd5b6100dc6100d7366004610f13565b610272565b6040516100e99190610fd4565b60405180910390f35b8180156100fe57600080fd5b5061011261010d366004610f13565b610452565b005b81801561012057600080fd5b5061011261012f36600461103e565b610521565b81801561014057600080fd5b5061011261014f3660046110af565b61057b565b81801561016057600080fd5b5061011261016f3660046111b6565b6106ab565b81801561018057600080fd5b5061011261018f36600461120c565b61080c565b6101a76101a2366004611252565b610889565b6040519081526020016100e9565b8180156101c157600080fd5b506101126101d036600461126b565b6108a7565b6101dd6109c5565b6040516100e9919061128d565b8180156101f657600080fd5b50610112610205366004611252565b610a60565b81801561021657600080fd5b506101126102253660046112a7565b610ab0565b81801561023657600080fd5b5061011261024536600461103e565b610b7e565b81801561025657600080fd5b506101126102653660046112f6565b610b9c565b6101dd610d42565b61029e604080516080810190915260608152602081016000815260006020820152606060409091015290565b60006102a985610d57565b6000858152600182810160205260409182902090810154825160808101909352815493945090926101009091046001600160a01b03169190819084906102ee90611356565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611356565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050509183525050600184015460209091019060ff16600381111561038e5761038e610f9c565b81526001600160a01b03831660208201526040016002600185015460ff1660038111156103bd576103bd610f9c565b146103d75760405180602001604052806000815250610445565b604051630eacc5e760e31b81526001600160a01b0384811660048301528816906375662f3890602401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610445919081019061138a565b9052979650505050505050565b600061045d84610d57565b905061046881610d74565b8054610100900462ffffff1680841061049c5760405162461bcd60e51b8152600401610493906113f7565b60405180910390fd5b60008481526001830160209081526040808320815192830190915291815281906104c6908261148f565b5060018101805460026001600160a81b03199091166101006001600160a01b03881602178117909155604051869188916000805160206117ae83398151915291610511918790611548565b60405180910390a3505050505050565b818161052b610dc8565b6001019161053a919083611576565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd838360405161056f929190611630565b60405180910390a25050565b600061058683610d57565b905061059181610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff169060208101600281526001600160a01b03851660209182015262ffffff831660009081526001850190915260409020815181906105f1908261148f565b50602082015160018083018054909160ff199091169083600381111561061957610619610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b0319909216919091179055610659908290611675565b825463ffffff00191661010062ffffff928316021783558116846000805160206117ae833981519152600261068f856001611675565b60405161069d929190611548565b60405180910390a350505050565b60006106b684610d57565b90506106c181610d74565b8054610100900462ffffff16600060028460038111156106e3576106e3610f9c565b03610706576106f185610dec565b90506040518060200160405280600081525094505b604051806060016040528086815260200185600381111561072957610729610f9c565b81526001600160a01b03831660209182015262ffffff8416600090815260018601909152604090208151819061075f908261148f565b50602082015160018083018054909160ff199091169083600381111561078757610787610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556107c7908390611675565b835463ffffff00191661010062ffffff928316021784558216866000805160206117ae83398151915287876107fd876001611675565b60405161051193929190611698565b600061081783610d57565b905061082281610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff1690602081016002815260200161085a85610e8a565b6001600160a01b0316905262ffffff821660009081526001840160205260409020815181906105f1908261148f565b60008061089583610d57565b54610100900462ffffff169392505050565b60006108b283610d57565b90506108bd81610d74565b8054610100900462ffffff168083106108e85760405162461bcd60e51b8152600401610493906113f7565b60006108f56001836116cd565b90508062ffffff1684146109485760405162461bcd60e51b815260206004820152601a60248201527913db9b1e481c995b5bdd985b081bd9881b185cdd08185cdcd95d60321b6044820152606401610493565b62ffffff811660009081526001840160205260408120906109698282610eb0565b5060010180546001600160a81b0319169055825463ffffff00191661010062ffffff831602178355604051849086907fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d7075990600090a35050505050565b60606109cf610dc8565b60010180546109dd90611356565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0990611356565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b6000610a6b82610d57565b9050610a7681610d74565b805460ff1916600117815560405182907fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc90600090a25050565b6000610abb84610d57565b9050610ac681610d74565b8054610100900462ffffff16808410610af15760405162461bcd60e51b8152600401610493906113f7565b6000848152600183016020908152604080832081519283019091529181528190610b1b908261148f565b5060018101805460ff19166002179055610b3484610e8a565b8160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084866000805160206117ae833981519152600285604051610511929190611548565b8181610b88610dc8565b91610b94919083611576565b50600061053e565b6000610ba785610d57565b9050610bb281610d74565b8054610100900462ffffff16808510610bdd5760405162461bcd60e51b8152600401610493906113f7565b6000858152600180840160205260409091208082018054919260ff83169287929160ff1990911690836003811115610c1757610c17610f9c565b02179055506002856003811115610c3057610c30610f9c565b03610ccf576002816003811115610c4957610c49610f9c565b14610c7957604080516020808201835260008083528a8152600188019091529190912090610c77908261148f565b505b610c8286610dec565b600088815260018087016020908152604080842090920180546001600160a01b039590951661010002610100600160a81b0319909516949094179093558051928301905281529550610d0d565b60008781526001850160205260409020610ce9878261148f565b50600087815260018086016020526040909120018054610100600160a81b03191690555b86886000805160206117ae833981519152888887604051610d3093929190611698565b60405180910390a35050505050505050565b6060610d4c610dc8565b80546109dd90611356565b6000610d61610dc8565b6000928352600201602052506040902090565b805460ff1615610dc55760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610493565b50565b7f02168cc07b1677bf9881e576212278e548bdcea13c48e53c3b39ad205060fb9a90565b6000806000805160206117ce8339815191523084604051602001610e12939291906116e9565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216610e845760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610493565b50919050565b6000806000805160206117ce8339815191523084604051602001610e1293929190611751565b508054610ebc90611356565b6000825580601f10610ecc575050565b601f016020900490600052602060002090810190610dc591905b80821115610efa5760008155600101610ee6565b5090565b6001600160a01b0381168114610dc557600080fd5b600080600060608486031215610f2857600080fd5b83359250602084013591506040840135610f4181610efe565b809150509250925092565b60005b83811015610f67578181015183820152602001610f4f565b50506000910152565b60008151808452610f88816020860160208601610f4c565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110610fd057634e487b7160e01b600052602160045260246000fd5b9052565b602081526000825160806020840152610ff060a0840182610f70565b905060208401516110046040850182610fb2565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526110358282610f70565b95945050505050565b6000806020838503121561105157600080fd5b82356001600160401b038082111561106857600080fd5b818501915085601f83011261107c57600080fd5b81358181111561108b57600080fd5b86602082850101111561109d57600080fd5b60209290920196919550909350505050565b600080604083850312156110c257600080fd5b8235915060208301356110d481610efe565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561111d5761111d6110df565b604052919050565b60006001600160401b0382111561113e5761113e6110df565b50601f01601f191660200190565b600082601f83011261115d57600080fd5b813561117061116b82611125565b6110f5565b81815284602083860101111561118557600080fd5b816020850160208301376000918101602001919091529392505050565b8035600481106111b157600080fd5b919050565b6000806000606084860312156111cb57600080fd5b8335925060208401356001600160401b038111156111e857600080fd5b6111f48682870161114c565b925050611203604085016111a2565b90509250925092565b6000806040838503121561121f57600080fd5b8235915060208301356001600160401b0381111561123c57600080fd5b6112488582860161114c565b9150509250929050565b60006020828403121561126457600080fd5b5035919050565b6000806040838503121561127e57600080fd5b50508035926020909101359150565b6020815260006112a06020830184610f70565b9392505050565b6000806000606084860312156112bc57600080fd5b833592506020840135915060408401356001600160401b038111156112e057600080fd5b6112ec8682870161114c565b9150509250925092565b6000806000806080858703121561130c57600080fd5b843593506020850135925060408501356001600160401b0381111561133057600080fd5b61133c8782880161114c565b92505061134b606086016111a2565b905092959194509250565b600181811c9082168061136a57607f821691505b602082108103610e8457634e487b7160e01b600052602260045260246000fd5b60006020828403121561139c57600080fd5b81516001600160401b038111156113b257600080fd5b8201601f810184136113c357600080fd5b80516113d161116b82611125565b8181528560208385010111156113e657600080fd5b611035826020830160208601610f4c565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b601f821115611475576000816000526020600020601f850160051c810160208610156114525750805b601f850160051c820191505b818110156114715782815560010161145e565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156114a8576114a86110df565b6114bc816114b68454611356565b84611429565b602080601f8311600181146114eb57600084156114d95750858301515b6114e3858261147a565b865550611471565b600085815260208120601f198616915b8281101561151a578886015182559484019460019091019084016114fb565b50858210156115385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060808252600090820152608081016115646020830185610fb2565b62ffffff831660408301529392505050565b6001600160401b0383111561158d5761158d6110df565b6115a18361159b8354611356565b83611429565b6000601f8411600181146115cf57600085156115bd5750838201355b6115c7868261147a565b845550611629565b600083815260209020601f19861690835b8281101561160057868501358255602094850194600190920191016115e0565b508682101561161d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b62ffffff8181168382160190808211156116915761169161165f565b5092915050565b6060815260006116ab6060830186610f70565b90506116ba6020830185610fb2565b62ffffff83166040830152949350505050565b62ffffff8281168282160390808211156116915761169161165f565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161174281604d850160208701610f4c565b91909101604d01949350505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161174281604d850160208701610f4c56fe1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae94942797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20a2646970667358221220893a9368acd5104f0000df0220430da809165e50b662404163df4dde5b261c9e64736f6c63430008160033",
192
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c806315d3a7a3146100c957806339077c6e146100f25780635464c309146101145780636ee96f2a146101345780638f65b1f3146101545780639424702b14610174578063ad28329014610194578063ad576c45146101b5578063b7ba527d146101d5578063ba3c2345146101ea578063bb7dbb6c1461020a578063d50f51381461022a578063e949d2d21461024a578063f6cd39e31461026a575b600080fd5b6100dc6100d7366004610f13565b610272565b6040516100e99190610fd4565b60405180910390f35b8180156100fe57600080fd5b5061011261010d366004610f13565b610452565b005b81801561012057600080fd5b5061011261012f36600461103e565b610521565b81801561014057600080fd5b5061011261014f3660046110af565b61057b565b81801561016057600080fd5b5061011261016f3660046111b6565b6106ab565b81801561018057600080fd5b5061011261018f36600461120c565b61080c565b6101a76101a2366004611252565b610889565b6040519081526020016100e9565b8180156101c157600080fd5b506101126101d036600461126b565b6108a7565b6101dd6109c5565b6040516100e9919061128d565b8180156101f657600080fd5b50610112610205366004611252565b610a60565b81801561021657600080fd5b506101126102253660046112a7565b610ab0565b81801561023657600080fd5b5061011261024536600461103e565b610b7e565b81801561025657600080fd5b506101126102653660046112f6565b610b9c565b6101dd610d42565b61029e604080516080810190915260608152602081016000815260006020820152606060409091015290565b60006102a985610d57565b6000858152600182810160205260409182902090810154825160808101909352815493945090926101009091046001600160a01b03169190819084906102ee90611356565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611356565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050509183525050600184015460209091019060ff16600381111561038e5761038e610f9c565b81526001600160a01b03831660208201526040016002600185015460ff1660038111156103bd576103bd610f9c565b146103d75760405180602001604052806000815250610445565b604051630eacc5e760e31b81526001600160a01b0384811660048301528816906375662f3890602401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610445919081019061138a565b9052979650505050505050565b600061045d84610d57565b905061046881610d74565b8054610100900462ffffff1680841061049c5760405162461bcd60e51b8152600401610493906113f7565b60405180910390fd5b60008481526001830160209081526040808320815192830190915291815281906104c6908261148f565b5060018101805460026001600160a81b03199091166101006001600160a01b03881602178117909155604051869188916000805160206117ae83398151915291610511918790611548565b60405180910390a3505050505050565b818161052b610dc8565b6001019161053a919083611576565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd838360405161056f929190611630565b60405180910390a25050565b600061058683610d57565b905061059181610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff169060208101600281526001600160a01b03851660209182015262ffffff831660009081526001850190915260409020815181906105f1908261148f565b50602082015160018083018054909160ff199091169083600381111561061957610619610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b0319909216919091179055610659908290611675565b825463ffffff00191661010062ffffff928316021783558116846000805160206117ae833981519152600261068f856001611675565b60405161069d929190611548565b60405180910390a350505050565b60006106b684610d57565b90506106c181610d74565b8054610100900462ffffff16600060028460038111156106e3576106e3610f9c565b03610706576106f185610dec565b90506040518060200160405280600081525094505b604051806060016040528086815260200185600381111561072957610729610f9c565b81526001600160a01b03831660209182015262ffffff8416600090815260018601909152604090208151819061075f908261148f565b50602082015160018083018054909160ff199091169083600381111561078757610787610f9c565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556107c7908390611675565b835463ffffff00191661010062ffffff928316021784558216866000805160206117ae83398151915287876107fd876001611675565b60405161051193929190611698565b600061081783610d57565b905061082281610d74565b80546040805160808101909152600060608201908152815261010090910462ffffff1690602081016002815260200161085a85610e8a565b6001600160a01b0316905262ffffff821660009081526001840160205260409020815181906105f1908261148f565b60008061089583610d57565b54610100900462ffffff169392505050565b60006108b283610d57565b90506108bd81610d74565b8054610100900462ffffff168083106108e85760405162461bcd60e51b8152600401610493906113f7565b60006108f56001836116cd565b90508062ffffff1684146109485760405162461bcd60e51b815260206004820152601a60248201527913db9b1e481c995b5bdd985b081bd9881b185cdd08185cdcd95d60321b6044820152606401610493565b62ffffff811660009081526001840160205260408120906109698282610eb0565b5060010180546001600160a81b0319169055825463ffffff00191661010062ffffff831602178355604051849086907fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d7075990600090a35050505050565b60606109cf610dc8565b60010180546109dd90611356565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0990611356565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b6000610a6b82610d57565b9050610a7681610d74565b805460ff1916600117815560405182907fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc90600090a25050565b6000610abb84610d57565b9050610ac681610d74565b8054610100900462ffffff16808410610af15760405162461bcd60e51b8152600401610493906113f7565b6000848152600183016020908152604080832081519283019091529181528190610b1b908261148f565b5060018101805460ff19166002179055610b3484610e8a565b8160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084866000805160206117ae833981519152600285604051610511929190611548565b8181610b88610dc8565b91610b94919083611576565b50600061053e565b6000610ba785610d57565b9050610bb281610d74565b8054610100900462ffffff16808510610bdd5760405162461bcd60e51b8152600401610493906113f7565b6000858152600180840160205260409091208082018054919260ff83169287929160ff1990911690836003811115610c1757610c17610f9c565b02179055506002856003811115610c3057610c30610f9c565b03610ccf576002816003811115610c4957610c49610f9c565b14610c7957604080516020808201835260008083528a8152600188019091529190912090610c77908261148f565b505b610c8286610dec565b600088815260018087016020908152604080842090920180546001600160a01b039590951661010002610100600160a81b0319909516949094179093558051928301905281529550610d0d565b60008781526001850160205260409020610ce9878261148f565b50600087815260018086016020526040909120018054610100600160a81b03191690555b86886000805160206117ae833981519152888887604051610d3093929190611698565b60405180910390a35050505050505050565b6060610d4c610dc8565b80546109dd90611356565b6000610d61610dc8565b6000928352600201602052506040902090565b805460ff1615610dc55760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610493565b50565b7f02168cc07b1677bf9881e576212278e548bdcea13c48e53c3b39ad205060fb9a90565b6000806000805160206117ce8339815191523084604051602001610e12939291906116e9565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216610e845760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610493565b50919050565b6000806000805160206117ce8339815191523084604051602001610e1293929190611751565b508054610ebc90611356565b6000825580601f10610ecc575050565b601f016020900490600052602060002090810190610dc591905b80821115610efa5760008155600101610ee6565b5090565b6001600160a01b0381168114610dc557600080fd5b600080600060608486031215610f2857600080fd5b83359250602084013591506040840135610f4181610efe565b809150509250925092565b60005b83811015610f67578181015183820152602001610f4f565b50506000910152565b60008151808452610f88816020860160208601610f4c565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110610fd057634e487b7160e01b600052602160045260246000fd5b9052565b602081526000825160806020840152610ff060a0840182610f70565b905060208401516110046040850182610fb2565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526110358282610f70565b95945050505050565b6000806020838503121561105157600080fd5b82356001600160401b038082111561106857600080fd5b818501915085601f83011261107c57600080fd5b81358181111561108b57600080fd5b86602082850101111561109d57600080fd5b60209290920196919550909350505050565b600080604083850312156110c257600080fd5b8235915060208301356110d481610efe565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561111d5761111d6110df565b604052919050565b60006001600160401b0382111561113e5761113e6110df565b50601f01601f191660200190565b600082601f83011261115d57600080fd5b813561117061116b82611125565b6110f5565b81815284602083860101111561118557600080fd5b816020850160208301376000918101602001919091529392505050565b8035600481106111b157600080fd5b919050565b6000806000606084860312156111cb57600080fd5b8335925060208401356001600160401b038111156111e857600080fd5b6111f48682870161114c565b925050611203604085016111a2565b90509250925092565b6000806040838503121561121f57600080fd5b8235915060208301356001600160401b0381111561123c57600080fd5b6112488582860161114c565b9150509250929050565b60006020828403121561126457600080fd5b5035919050565b6000806040838503121561127e57600080fd5b50508035926020909101359150565b6020815260006112a06020830184610f70565b9392505050565b6000806000606084860312156112bc57600080fd5b833592506020840135915060408401356001600160401b038111156112e057600080fd5b6112ec8682870161114c565b9150509250925092565b6000806000806080858703121561130c57600080fd5b843593506020850135925060408501356001600160401b0381111561133057600080fd5b61133c8782880161114c565b92505061134b606086016111a2565b905092959194509250565b600181811c9082168061136a57607f821691505b602082108103610e8457634e487b7160e01b600052602260045260246000fd5b60006020828403121561139c57600080fd5b81516001600160401b038111156113b257600080fd5b8201601f810184136113c357600080fd5b80516113d161116b82611125565b8181528560208385010111156113e657600080fd5b611035826020830160208601610f4c565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b601f821115611475576000816000526020600020601f850160051c810160208610156114525750805b601f850160051c820191505b818110156114715782815560010161145e565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156114a8576114a86110df565b6114bc816114b68454611356565b84611429565b602080601f8311600181146114eb57600084156114d95750858301515b6114e3858261147a565b865550611471565b600085815260208120601f198616915b8281101561151a578886015182559484019460019091019084016114fb565b50858210156115385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060808252600090820152608081016115646020830185610fb2565b62ffffff831660408301529392505050565b6001600160401b0383111561158d5761158d6110df565b6115a18361159b8354611356565b83611429565b6000601f8411600181146115cf57600085156115bd5750838201355b6115c7868261147a565b845550611629565b600083815260209020601f19861690835b8281101561160057868501358255602094850194600190920191016115e0565b508682101561161d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b62ffffff8181168382160190808211156116915761169161165f565b5092915050565b6060815260006116ab6060830186610f70565b90506116ba6020830185610fb2565b62ffffff83166040830152949350505050565b62ffffff8281168282160390808211156116915761169161165f565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161174281604d850160208701610f4c565b91909101604d01949350505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161174281604d850160208701610f4c56fe1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae94942797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20a2646970667358221220893a9368acd5104f0000df0220430da809165e50b662404163df4dde5b261c9e64736f6c63430008160033",
193
193
  "linkReferences": {},
194
194
  "deployedLinkReferences": {}
195
195
  }
@@ -0,0 +1,69 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ImmutableStringArrayMock",
4
+ "sourceName": "contracts/mock/ImmutableStringArrayMock.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "index",
11
+ "type": "uint256"
12
+ }
13
+ ],
14
+ "name": "get",
15
+ "outputs": [
16
+ {
17
+ "internalType": "string",
18
+ "name": "",
19
+ "type": "string"
20
+ }
21
+ ],
22
+ "stateMutability": "view",
23
+ "type": "function"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "getAll",
28
+ "outputs": [
29
+ {
30
+ "internalType": "string[]",
31
+ "name": "",
32
+ "type": "string[]"
33
+ }
34
+ ],
35
+ "stateMutability": "view",
36
+ "type": "function"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "length",
41
+ "outputs": [
42
+ {
43
+ "internalType": "uint256",
44
+ "name": "",
45
+ "type": "uint256"
46
+ }
47
+ ],
48
+ "stateMutability": "view",
49
+ "type": "function"
50
+ },
51
+ {
52
+ "inputs": [
53
+ {
54
+ "internalType": "string[]",
55
+ "name": "strings",
56
+ "type": "string[]"
57
+ }
58
+ ],
59
+ "name": "store",
60
+ "outputs": [],
61
+ "stateMutability": "nonpayable",
62
+ "type": "function"
63
+ }
64
+ ],
65
+ "bytecode": "0x608060405234801561001057600080fd5b50610c85806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631f7b6d321461005157806353ed51431461006c5780639507d39a14610081578063ae00106a146100a1575b600080fd5b6100596100b6565b6040519081526020015b60405180910390f35b6100746100c7565b604051610063919061090b565b61009461008f36600461096f565b6100d3565b6040516100639190610988565b6100b46100af3660046109e8565b6100e6565b005b60006100c260006100f4565b905090565b60606100c26000610133565b60606100e060008361035d565b92915050565b6100f1600082610510565b50565b80546000906001600160a01b031661010e57506000919050565b8154600090610125906001600160a01b03166107d2565b6020015160c01c9392505050565b80546060906001600160a01b0316610177576040805160008082526020820190925290610170565b606081526020019060019003908161015b5790505b5092915050565b815460009061018e906001600160a01b03166107d2565b602081015190915060c01c806001600160401b038111156101b1576101b16109a2565b6040519080825280602002602001820160405280156101e457816020015b60608152602001906001900390816101cf5790505b50925060005b81811015610355576000808084610202856001610b17565b03610230576000865190506028870193506008850284015160c01c9250600886026008018103915050610252565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b600061025e8383610b2a565b6001600160401b031690506000610276826020610b17565b6001600160401b0381111561028d5761028d6109a2565b6040519080825280601f01601f1916602001820160405280156102b7576020820181803683370190505b5090506020810160005b8381101561031d576000816001600160401b0388166102e18c6008610b4a565b6102ec906028610b17565b6102f69190610b17565b6103009190610b17565b8b01518352506020918201916103169082610b17565b90506102c1565b50819050828152818a888151811061033757610337610b61565b602002602001018190525050505050505080806001019150506101ea565b505050919050565b81546060906001600160a01b03166103905760405162461bcd60e51b815260040161038790610b77565b60405180910390fd5b82546000906103a7906001600160a01b03166107d2565b9050600080600080602085015160c01c90508087106103d85760405162461bcd60e51b815260040161038790610b77565b806103e4886001610b17565b03610412576000855190506028860194506008880285015160c01c9350600882026008018103925050610434565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006104408484610b2a565b6001600160401b031690506000610458826020610b17565b6001600160401b0381111561046f5761046f6109a2565b6040519080825280601f01601f191660200182016040528015610499576020820181803683370190505b5090506020810160005b838110156104ff576000816001600160401b0389166104c3886008610b4a565b6104ce906028610b17565b6104d89190610b17565b6104e29190610b17565b8a01518352506020918201916104f89082610b17565b90506104a3565b505090815298975050505050505050565b8051600081900361052d57505080546001600160a01b0319169055565b6000816001600160401b03811115610547576105476109a2565b604051908082528060200260200182016040528015610570578160200160208202803683370190505b5090506000805b838110156105e2578183828151811061059257610592610b61565b60200260200101906001600160401b031690816001600160401b0316815250508481815181106105c4576105c4610b61565b602002602001015151826105d89190610b17565b9150600101610577565b506001600160401b038111156106385760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610387565b600081610646856008610b4a565b610651906008610b17565b61065b9190610b17565b9050600061066a826020610b17565b6001600160401b03811115610681576106816109a2565b6040519080825280601f01601f1916602001820160405280156106ab576020820181803683370190505b5060c086901b602082015290506028810160005b868110156107045760008682815181106106db576106db610b61565b602090810291909101015160c01b6001600160c01b0319168352506008909101906001016106bf565b5060005b8681101561079e57600088828151811061072457610724610b61565b602002602001015190506000815190506000602083019050600060208361074b9190610bba565b9050600061075a602085610bce565b905060005b8281101561077d57835188526020978801979093019260010161075f565b50801561078d5782518752958601955b505060019093019250610708915050565b5050818152806107ad816107f3565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b60606100e08260016107ee816001600160a01b0384163b610be2565b610898565b600080826040516020016108079190610bf5565b604051602081830303815290604052905060008160405160200161082b9190610c1b565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166108915760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610387565b5050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60005b838110156108d65781810151838201526020016108be565b50506000910152565b600081518084526108f78160208601602086016108bb565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561096257603f198886030184526109508583516108df565b94509285019290850190600101610934565b5092979650505050505050565b60006020828403121561098157600080fd5b5035919050565b60208152600061099b60208301846108df565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156109e0576109e06109a2565b604052919050565b600060208083850312156109fb57600080fd5b82356001600160401b0380821115610a1257600080fd5b8185019150601f86601f840112610a2857600080fd5b823582811115610a3a57610a3a6109a2565b8060051b610a498682016109b8565b918252848101860191868101908a841115610a6357600080fd5b87870192505b83831015610af357823586811115610a815760008081fd5b8701603f81018c13610a935760008081fd5b88810135604088821115610aa957610aa96109a2565b610aba828901601f19168c016109b8565b8281528e82848601011115610acf5760008081fd5b828285018d83013760009281018c0192909252508352509187019190870190610a69565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156100e0576100e0610b01565b6001600160401b0382811682821603908082111561017057610170610b01565b80820281158282048414176100e0576100e0610b01565b634e487b7160e01b600052603260045260246000fd5b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b600082610bc957610bc9610ba4565b500490565b600082610bdd57610bdd610ba4565b500690565b818103818111156100e0576100e0610b01565b6000815260008251610c0e8160018501602087016108bb565b9190910160010192915050565b6a600b5981380380925939f360a81b81528151600090610c4281600b8501602087016108bb565b91909101600b019291505056fea26469706673582212209e377e6d1083e71d8e1a76546970df3c3fd56fafa315e21640db282a9411abfe64736f6c63430008160033",
66
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631f7b6d321461005157806353ed51431461006c5780639507d39a14610081578063ae00106a146100a1575b600080fd5b6100596100b6565b6040519081526020015b60405180910390f35b6100746100c7565b604051610063919061090b565b61009461008f36600461096f565b6100d3565b6040516100639190610988565b6100b46100af3660046109e8565b6100e6565b005b60006100c260006100f4565b905090565b60606100c26000610133565b60606100e060008361035d565b92915050565b6100f1600082610510565b50565b80546000906001600160a01b031661010e57506000919050565b8154600090610125906001600160a01b03166107d2565b6020015160c01c9392505050565b80546060906001600160a01b0316610177576040805160008082526020820190925290610170565b606081526020019060019003908161015b5790505b5092915050565b815460009061018e906001600160a01b03166107d2565b602081015190915060c01c806001600160401b038111156101b1576101b16109a2565b6040519080825280602002602001820160405280156101e457816020015b60608152602001906001900390816101cf5790505b50925060005b81811015610355576000808084610202856001610b17565b03610230576000865190506028870193506008850284015160c01c9250600886026008018103915050610252565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b600061025e8383610b2a565b6001600160401b031690506000610276826020610b17565b6001600160401b0381111561028d5761028d6109a2565b6040519080825280601f01601f1916602001820160405280156102b7576020820181803683370190505b5090506020810160005b8381101561031d576000816001600160401b0388166102e18c6008610b4a565b6102ec906028610b17565b6102f69190610b17565b6103009190610b17565b8b01518352506020918201916103169082610b17565b90506102c1565b50819050828152818a888151811061033757610337610b61565b602002602001018190525050505050505080806001019150506101ea565b505050919050565b81546060906001600160a01b03166103905760405162461bcd60e51b815260040161038790610b77565b60405180910390fd5b82546000906103a7906001600160a01b03166107d2565b9050600080600080602085015160c01c90508087106103d85760405162461bcd60e51b815260040161038790610b77565b806103e4886001610b17565b03610412576000855190506028860194506008880285015160c01c9350600882026008018103925050610434565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006104408484610b2a565b6001600160401b031690506000610458826020610b17565b6001600160401b0381111561046f5761046f6109a2565b6040519080825280601f01601f191660200182016040528015610499576020820181803683370190505b5090506020810160005b838110156104ff576000816001600160401b0389166104c3886008610b4a565b6104ce906028610b17565b6104d89190610b17565b6104e29190610b17565b8a01518352506020918201916104f89082610b17565b90506104a3565b505090815298975050505050505050565b8051600081900361052d57505080546001600160a01b0319169055565b6000816001600160401b03811115610547576105476109a2565b604051908082528060200260200182016040528015610570578160200160208202803683370190505b5090506000805b838110156105e2578183828151811061059257610592610b61565b60200260200101906001600160401b031690816001600160401b0316815250508481815181106105c4576105c4610b61565b602002602001015151826105d89190610b17565b9150600101610577565b506001600160401b038111156106385760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610387565b600081610646856008610b4a565b610651906008610b17565b61065b9190610b17565b9050600061066a826020610b17565b6001600160401b03811115610681576106816109a2565b6040519080825280601f01601f1916602001820160405280156106ab576020820181803683370190505b5060c086901b602082015290506028810160005b868110156107045760008682815181106106db576106db610b61565b602090810291909101015160c01b6001600160c01b0319168352506008909101906001016106bf565b5060005b8681101561079e57600088828151811061072457610724610b61565b602002602001015190506000815190506000602083019050600060208361074b9190610bba565b9050600061075a602085610bce565b905060005b8281101561077d57835188526020978801979093019260010161075f565b50801561078d5782518752958601955b505060019093019250610708915050565b5050818152806107ad816107f3565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b60606100e08260016107ee816001600160a01b0384163b610be2565b610898565b600080826040516020016108079190610bf5565b604051602081830303815290604052905060008160405160200161082b9190610c1b565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166108915760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610387565b5050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60005b838110156108d65781810151838201526020016108be565b50506000910152565b600081518084526108f78160208601602086016108bb565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561096257603f198886030184526109508583516108df565b94509285019290850190600101610934565b5092979650505050505050565b60006020828403121561098157600080fd5b5035919050565b60208152600061099b60208301846108df565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156109e0576109e06109a2565b604052919050565b600060208083850312156109fb57600080fd5b82356001600160401b0380821115610a1257600080fd5b8185019150601f86601f840112610a2857600080fd5b823582811115610a3a57610a3a6109a2565b8060051b610a498682016109b8565b918252848101860191868101908a841115610a6357600080fd5b87870192505b83831015610af357823586811115610a815760008081fd5b8701603f81018c13610a935760008081fd5b88810135604088821115610aa957610aa96109a2565b610aba828901601f19168c016109b8565b8281528e82848601011115610acf5760008081fd5b828285018d83013760009281018c0192909252508352509187019190870190610a69565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156100e0576100e0610b01565b6001600160401b0382811682821603908082111561017057610170610b01565b80820281158282048414176100e0576100e0610b01565b634e487b7160e01b600052603260045260246000fd5b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b600082610bc957610bc9610ba4565b500490565b600082610bdd57610bdd610ba4565b500690565b818103818111156100e0576100e0610b01565b6000815260008251610c0e8160018501602087016108bb565b9190910160010192915050565b6a600b5981380380925939f360a81b81528151600090610c4281600b8501602087016108bb565b91909101600b019291505056fea26469706673582212209e377e6d1083e71d8e1a76546970df3c3fd56fafa315e21640db282a9411abfe64736f6c63430008160033",
67
+ "linkReferences": {},
68
+ "deployedLinkReferences": {}
69
+ }
@@ -0,0 +1,214 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockPMPAugmentHook",
4
+ "sourceName": "contracts/mock/MockPMPAugmentHook.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "coreContract",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "uint256",
18
+ "name": "tokenId",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "paramCount",
25
+ "type": "uint256"
26
+ }
27
+ ],
28
+ "name": "TokenPMPAugmented",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "augmentKey",
34
+ "outputs": [
35
+ {
36
+ "internalType": "string",
37
+ "name": "",
38
+ "type": "string"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [],
46
+ "name": "augmentValue",
47
+ "outputs": [
48
+ {
49
+ "internalType": "string",
50
+ "name": "",
51
+ "type": "string"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [
59
+ {
60
+ "internalType": "address",
61
+ "name": "",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "",
67
+ "type": "uint256"
68
+ },
69
+ {
70
+ "components": [
71
+ {
72
+ "internalType": "string",
73
+ "name": "key",
74
+ "type": "string"
75
+ },
76
+ {
77
+ "internalType": "string",
78
+ "name": "value",
79
+ "type": "string"
80
+ }
81
+ ],
82
+ "internalType": "struct IWeb3Call.TokenParam[]",
83
+ "name": "tokenParams",
84
+ "type": "tuple[]"
85
+ }
86
+ ],
87
+ "name": "onTokenPMPReadAugmentation",
88
+ "outputs": [
89
+ {
90
+ "components": [
91
+ {
92
+ "internalType": "string",
93
+ "name": "key",
94
+ "type": "string"
95
+ },
96
+ {
97
+ "internalType": "string",
98
+ "name": "value",
99
+ "type": "string"
100
+ }
101
+ ],
102
+ "internalType": "struct IWeb3Call.TokenParam[]",
103
+ "name": "",
104
+ "type": "tuple[]"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "string",
114
+ "name": "_augmentKey",
115
+ "type": "string"
116
+ },
117
+ {
118
+ "internalType": "string",
119
+ "name": "_augmentValue",
120
+ "type": "string"
121
+ }
122
+ ],
123
+ "name": "setAugmentValues",
124
+ "outputs": [],
125
+ "stateMutability": "nonpayable",
126
+ "type": "function"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "bool",
132
+ "name": "_shouldAddParam",
133
+ "type": "bool"
134
+ },
135
+ {
136
+ "internalType": "bool",
137
+ "name": "_shouldModifyParams",
138
+ "type": "bool"
139
+ },
140
+ {
141
+ "internalType": "bool",
142
+ "name": "_shouldRevert",
143
+ "type": "bool"
144
+ }
145
+ ],
146
+ "name": "setHookBehavior",
147
+ "outputs": [],
148
+ "stateMutability": "nonpayable",
149
+ "type": "function"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "shouldAddParam",
154
+ "outputs": [
155
+ {
156
+ "internalType": "bool",
157
+ "name": "",
158
+ "type": "bool"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "shouldModifyParams",
167
+ "outputs": [
168
+ {
169
+ "internalType": "bool",
170
+ "name": "",
171
+ "type": "bool"
172
+ }
173
+ ],
174
+ "stateMutability": "view",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [],
179
+ "name": "shouldRevert",
180
+ "outputs": [
181
+ {
182
+ "internalType": "bool",
183
+ "name": "",
184
+ "type": "bool"
185
+ }
186
+ ],
187
+ "stateMutability": "view",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "inputs": [
192
+ {
193
+ "internalType": "bytes4",
194
+ "name": "interfaceId",
195
+ "type": "bytes4"
196
+ }
197
+ ],
198
+ "name": "supportsInterface",
199
+ "outputs": [
200
+ {
201
+ "internalType": "bool",
202
+ "name": "",
203
+ "type": "bool"
204
+ }
205
+ ],
206
+ "stateMutability": "view",
207
+ "type": "function"
208
+ }
209
+ ],
210
+ "bytecode": "0x6000805462ffffff1916905560c0604052600e60809081526d6175676d656e746564506172616d60901b60a0526001906200003b90826200012c565b5060408051808201909152600e81526d6175676d656e74656456616c756560901b60208201526002906200007090826200012c565b503480156200007e57600080fd5b50620001f8565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b057607f821691505b602082108103620000d157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000127576000816000526020600020601f850160051c81016020861015620001025750805b601f850160051c820191505b8181101562000123578281556001016200010e565b5050505b505050565b81516001600160401b0381111562000148576200014862000085565b62000160816200015984546200009b565b84620000d7565b602080601f8311600181146200019857600084156200017f5750858301515b600019600386901b1c1916600185901b17855562000123565b600085815260208120601f198616915b82811015620001c957888601518255948401946001909101908401620001a8565b5085821015620001e85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610f7880620002086000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806301ffc9a7146100885780630e78584c146100b05780632e37ba74146100c557806358f8699f146100d757806364481db1146100f757806368b8500c146100ff578063a14a1ae714610148578063a48c2d4e1461015b578063d3072d8214610168575b600080fd5b61009b6100963660046109a6565b61017b565b60405190151581526020015b60405180910390f35b6100b86101b2565b6040516100a79190610a1d565b60005461009b90610100900460ff1681565b6100ea6100e5366004610a30565b610240565b6040516100a79190610ac7565b6100b8610961565b61014661010d366004610b63565b6000805461ffff191693151561ff00191693909317610100921515929092029190911762ff000019166201000091151591909102179055565b005b610146610156366004610c48565b61096e565b60005461009b9060ff1681565b60005461009b9062010000900460ff1681565b60006001600160e01b031982166358f8699f60e01b14806101ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600180546101bf90610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610cab565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505081565b60005460609062010000900460ff16156102b05760405162461bcd60e51b815260206004820152602660248201527f4d6f636b504d504175676d656e74486f6f6b3a20496e74656e74696f6e616c206044820152651c995d995c9d60d21b60648201526084015b60405180910390fd5b60005460ff161580156102cb5750600054610100900460ff16155b1561038b576000826001600160401b038111156102ea576102ea610ba6565b60405190808252806020026020018201604052801561032357816020015b61031061098c565b8152602001906001900390816103085790505b50905060005b838110156103835784848281811061034357610343610ce5565b90506020028101906103559190610cfb565b61035e90610d1b565b82828151811061037057610370610ce5565b6020908102919091010152600101610329565b509050610959565b600054610100900460ff1680156103a157508115155b156106e8576000826001600160401b038111156103c0576103c0610ba6565b6040519080825280602002602001820160405280156103f957816020015b6103e661098c565b8152602001906001900390816103de5790505b50905060005b838110156104595784848281811061041957610419610ce5565b905060200281019061042b9190610cfb565b61043490610d1b565b82828151811061044657610446610ce5565b60209081029190910101526001016103ff565b5082156104d6578383600081811061047357610473610ce5565b90506020028101906104859190610cfb565b610493906020810190610da0565b6040516020016104a4929190610ded565b604051602081830303815290604052816000815181106104c6576104c6610ce5565b6020026020010151602001819052505b60005460ff16156106e1576000815160016104f19190610e12565b6001600160401b0381111561050857610508610ba6565b60405190808252806020026020018201604052801561054157816020015b61052e61098c565b8152602001906001900390816105265790505b50905060005b825181101561058f5782818151811061056257610562610ce5565b602002602001015182828151811061057c5761057c610ce5565b6020908102919091010152600101610547565b506040518060400160405280600180546105a890610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490610cab565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081526020016002805461063890610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461066490610cab565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050815250818351815181106106cc576106cc610ce5565b60200260200101819052508092505050610959565b9050610959565b60005460ff1615610901576000610700836001610e12565b6001600160401b0381111561071757610717610ba6565b60405190808252806020026020018201604052801561075057816020015b61073d61098c565b8152602001906001900390816107355790505b50905060005b838110156107b05784848281811061077057610770610ce5565b90506020028101906107829190610cfb565b61078b90610d1b565b82828151811061079d5761079d610ce5565b6020908102919091010152600101610756565b506040518060400160405280600180546107c990610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590610cab565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b505050505081526020016002805461085990610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461088590610cab565b80156108d25780601f106108a7576101008083540402835291602001916108d2565b820191906000526020600020905b8154815290600101906020018083116108b557829003601f168201915b50505050508152508185859050815181106108ef576108ef610ce5565b60209081029190910101529050610959565b60405162461bcd60e51b815260206004820152602760248201527f4d6f636b504d504175676d656e74486f6f6b3a20556e6578706563746564206260448201526632b430bb34b7b960c91b60648201526084016102a7565b949350505050565b600280546101bf90610cab565b600161097a8382610e83565b5060026109878282610e83565b505050565b604051806040016040528060608152602001606081525090565b6000602082840312156109b857600080fd5b81356001600160e01b0319811681146109d057600080fd5b9392505050565b6000815180845260005b818110156109fd576020818501810151868301820152016109e1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109d060208301846109d7565b60008060008060608587031215610a4657600080fd5b84356001600160a01b0381168114610a5d57600080fd5b93506020850135925060408501356001600160401b0380821115610a8057600080fd5b818701915087601f830112610a9457600080fd5b813581811115610aa357600080fd5b8860208260051b8501011115610ab857600080fd5b95989497505060200194505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015610b4057888303603f1901855281518051878552610b14888601826109d7565b91890151858303868b0152919050610b2c81836109d7565b968901969450505090860190600101610af0565b509098975050505050505050565b80358015158114610b5e57600080fd5b919050565b600080600060608486031215610b7857600080fd5b610b8184610b4e565b9250610b8f60208501610b4e565b9150610b9d60408501610b4e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610bcd57600080fd5b81356001600160401b0380821115610be757610be7610ba6565b604051601f8301601f19908116603f01168101908282118183101715610c0f57610c0f610ba6565b81604052838152866020858801011115610c2857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c5b57600080fd5b82356001600160401b0380821115610c7257600080fd5b610c7e86838701610bbc565b93506020850135915080821115610c9457600080fd5b50610ca185828601610bbc565b9150509250929050565b600181811c90821680610cbf57607f821691505b602082108103610cdf57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610d1157600080fd5b9190910192915050565b600060408236031215610d2d57600080fd5b604080519081016001600160401b038082118383101715610d5057610d50610ba6565b816040528435915080821115610d6557600080fd5b610d7136838701610bbc565b83526020850135915080821115610d8757600080fd5b50610d9436828601610bbc565b60208301525092915050565b6000808335601e19843603018112610db757600080fd5b8301803591506001600160401b03821115610dd157600080fd5b602001915036819003821315610de657600080fd5b9250929050565b686d6f6469666965645f60b81b81528183600983013760009101600901908152919050565b808201808211156101ac57634e487b7160e01b600052601160045260246000fd5b601f821115610987576000816000526020600020601f850160051c81016020861015610e5c5750805b601f850160051c820191505b81811015610e7b57828155600101610e68565b505050505050565b81516001600160401b03811115610e9c57610e9c610ba6565b610eb081610eaa8454610cab565b84610e33565b602080601f831160018114610ee55760008415610ecd5750858301515b600019600386901b1c1916600185901b178555610e7b565b600085815260208120601f198616915b82811015610f1457888601518255948401946001909101908401610ef5565b5085821015610f325787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212206872b87715911299d49dea2419656dd3be08840f5fd43df16fcc845bc550875464736f6c63430008160033",
211
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c806301ffc9a7146100885780630e78584c146100b05780632e37ba74146100c557806358f8699f146100d757806364481db1146100f757806368b8500c146100ff578063a14a1ae714610148578063a48c2d4e1461015b578063d3072d8214610168575b600080fd5b61009b6100963660046109a6565b61017b565b60405190151581526020015b60405180910390f35b6100b86101b2565b6040516100a79190610a1d565b60005461009b90610100900460ff1681565b6100ea6100e5366004610a30565b610240565b6040516100a79190610ac7565b6100b8610961565b61014661010d366004610b63565b6000805461ffff191693151561ff00191693909317610100921515929092029190911762ff000019166201000091151591909102179055565b005b610146610156366004610c48565b61096e565b60005461009b9060ff1681565b60005461009b9062010000900460ff1681565b60006001600160e01b031982166358f8699f60e01b14806101ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600180546101bf90610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610cab565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505081565b60005460609062010000900460ff16156102b05760405162461bcd60e51b815260206004820152602660248201527f4d6f636b504d504175676d656e74486f6f6b3a20496e74656e74696f6e616c206044820152651c995d995c9d60d21b60648201526084015b60405180910390fd5b60005460ff161580156102cb5750600054610100900460ff16155b1561038b576000826001600160401b038111156102ea576102ea610ba6565b60405190808252806020026020018201604052801561032357816020015b61031061098c565b8152602001906001900390816103085790505b50905060005b838110156103835784848281811061034357610343610ce5565b90506020028101906103559190610cfb565b61035e90610d1b565b82828151811061037057610370610ce5565b6020908102919091010152600101610329565b509050610959565b600054610100900460ff1680156103a157508115155b156106e8576000826001600160401b038111156103c0576103c0610ba6565b6040519080825280602002602001820160405280156103f957816020015b6103e661098c565b8152602001906001900390816103de5790505b50905060005b838110156104595784848281811061041957610419610ce5565b905060200281019061042b9190610cfb565b61043490610d1b565b82828151811061044657610446610ce5565b60209081029190910101526001016103ff565b5082156104d6578383600081811061047357610473610ce5565b90506020028101906104859190610cfb565b610493906020810190610da0565b6040516020016104a4929190610ded565b604051602081830303815290604052816000815181106104c6576104c6610ce5565b6020026020010151602001819052505b60005460ff16156106e1576000815160016104f19190610e12565b6001600160401b0381111561050857610508610ba6565b60405190808252806020026020018201604052801561054157816020015b61052e61098c565b8152602001906001900390816105265790505b50905060005b825181101561058f5782818151811061056257610562610ce5565b602002602001015182828151811061057c5761057c610ce5565b6020908102919091010152600101610547565b506040518060400160405280600180546105a890610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490610cab565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081526020016002805461063890610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461066490610cab565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050815250818351815181106106cc576106cc610ce5565b60200260200101819052508092505050610959565b9050610959565b60005460ff1615610901576000610700836001610e12565b6001600160401b0381111561071757610717610ba6565b60405190808252806020026020018201604052801561075057816020015b61073d61098c565b8152602001906001900390816107355790505b50905060005b838110156107b05784848281811061077057610770610ce5565b90506020028101906107829190610cfb565b61078b90610d1b565b82828151811061079d5761079d610ce5565b6020908102919091010152600101610756565b506040518060400160405280600180546107c990610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590610cab565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b505050505081526020016002805461085990610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461088590610cab565b80156108d25780601f106108a7576101008083540402835291602001916108d2565b820191906000526020600020905b8154815290600101906020018083116108b557829003601f168201915b50505050508152508185859050815181106108ef576108ef610ce5565b60209081029190910101529050610959565b60405162461bcd60e51b815260206004820152602760248201527f4d6f636b504d504175676d656e74486f6f6b3a20556e6578706563746564206260448201526632b430bb34b7b960c91b60648201526084016102a7565b949350505050565b600280546101bf90610cab565b600161097a8382610e83565b5060026109878282610e83565b505050565b604051806040016040528060608152602001606081525090565b6000602082840312156109b857600080fd5b81356001600160e01b0319811681146109d057600080fd5b9392505050565b6000815180845260005b818110156109fd576020818501810151868301820152016109e1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109d060208301846109d7565b60008060008060608587031215610a4657600080fd5b84356001600160a01b0381168114610a5d57600080fd5b93506020850135925060408501356001600160401b0380821115610a8057600080fd5b818701915087601f830112610a9457600080fd5b813581811115610aa357600080fd5b8860208260051b8501011115610ab857600080fd5b95989497505060200194505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015610b4057888303603f1901855281518051878552610b14888601826109d7565b91890151858303868b0152919050610b2c81836109d7565b968901969450505090860190600101610af0565b509098975050505050505050565b80358015158114610b5e57600080fd5b919050565b600080600060608486031215610b7857600080fd5b610b8184610b4e565b9250610b8f60208501610b4e565b9150610b9d60408501610b4e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610bcd57600080fd5b81356001600160401b0380821115610be757610be7610ba6565b604051601f8301601f19908116603f01168101908282118183101715610c0f57610c0f610ba6565b81604052838152866020858801011115610c2857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c5b57600080fd5b82356001600160401b0380821115610c7257600080fd5b610c7e86838701610bbc565b93506020850135915080821115610c9457600080fd5b50610ca185828601610bbc565b9150509250929050565b600181811c90821680610cbf57607f821691505b602082108103610cdf57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610d1157600080fd5b9190910192915050565b600060408236031215610d2d57600080fd5b604080519081016001600160401b038082118383101715610d5057610d50610ba6565b816040528435915080821115610d6557600080fd5b610d7136838701610bbc565b83526020850135915080821115610d8757600080fd5b50610d9436828601610bbc565b60208301525092915050565b6000808335601e19843603018112610db757600080fd5b8301803591506001600160401b03821115610dd157600080fd5b602001915036819003821315610de657600080fd5b9250929050565b686d6f6469666965645f60b81b81528183600983013760009101600901908152919050565b808201808211156101ac57634e487b7160e01b600052601160045260246000fd5b601f821115610987576000816000526020600020601f850160051c81016020861015610e5c5750805b601f850160051c820191505b81811015610e7b57828155600101610e68565b505050505050565b81516001600160401b03811115610e9c57610e9c610ba6565b610eb081610eaa8454610cab565b84610e33565b602080601f831160018114610ee55760008415610ecd5750858301515b600019600386901b1c1916600185901b178555610e7b565b600085815260208120601f198616915b82811015610f1457888601518255948401946001909101908401610ef5565b5085821015610f325787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212206872b87715911299d49dea2419656dd3be08840f5fd43df16fcc845bc550875464736f6c63430008160033",
212
+ "linkReferences": {},
213
+ "deployedLinkReferences": {}
214
+ }