@towns-protocol/generated 0.0.455 → 1.0.2
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.
- package/config/deployments.json +10 -0
- package/deployments/alpha/.env +6 -0
- package/deployments/alpha/.env.vite +6 -0
- package/deployments/alpha/base/addresses/l2Registrar.json +3 -0
- package/deployments/alpha/base/addresses/l2Resolver.json +3 -0
- package/deployments/alpha/base/addresses/usdc.json +3 -0
- package/deployments/alpha/base/addresses/utils/domainFeeHook.json +3 -0
- package/deployments/alpha/mainnet/addresses/l1Resolver.json +3 -0
- package/deployments/alpha/mainnet/chainId.json +3 -0
- package/dev/.contracts-hash +1 -1
- package/dev/abis/Architect.abi.json +0 -54
- package/dev/abis/Architect.abi.ts +0 -54
- package/dev/abis/ICreateSpace.abi.json +6 -21
- package/dev/abis/ICreateSpace.abi.ts +6 -21
- package/dev/abis/MockRiverRegistry.abi.json +77 -0
- package/dev/abis/MockRiverRegistry.abi.ts +77 -0
- package/dev/abis/NodeRegistry.abi.json +112 -0
- package/dev/abis/NodeRegistry.abi.ts +112 -0
- package/dev/typings/Architect.ts +0 -79
- package/dev/typings/IArchitect.ts +0 -79
- package/dev/typings/ICreateSpace.ts +22 -22
- package/dev/typings/INodeRegistry.ts +123 -1
- package/dev/typings/NodeRegistry.ts +146 -1
- package/dev/typings/factories/Architect__factory.ts +1 -55
- package/dev/typings/factories/IArchitect__factory.ts +0 -54
- package/dev/typings/factories/ICreateSpace__factory.ts +6 -21
- package/dev/typings/factories/INodeRegistry__factory.ts +77 -0
- package/dev/typings/factories/MembershipFacet__factory.ts +1 -1
- package/dev/typings/factories/MockLegacyArchitect__factory.ts +1 -1
- package/dev/typings/factories/NodeRegistry__factory.ts +113 -1
- package/package.json +2 -3
- package/LICENSE.txt +0 -21
|
@@ -2357,7 +2357,7 @@ const _abi = [
|
|
|
2357
2357
|
] as const;
|
|
2358
2358
|
|
|
2359
2359
|
const _bytecode =
|
|
2360
|
-
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6158b3806100ca5f395ff3fe608060405260043610610178575f3560e01c806379dda585116100d157806393b13cb71161007c578063a5a4103111610057578063a5a41031146103f5578063df9a9fe614610409578063e847abdd14610428575f5ffd5b806393b13cb7146103a157806395d600c8146103c257806397fb7c1e146103d6575f5ffd5b80638120f0ba116100ac5780638120f0ba1461034257806383f3f0dc1461036f5780638c625b061461038e575f5ffd5b806379dda585146102fc5780637c9669ac146103105780637d0567c414610323575f5ffd5b80635803909f11610131578063686f76841161010c578063686f7684146102b657806369d5f38a146102c9578063706b8e09146102e8575f5ffd5b80635803909f1461023f5780635becd24a1461025e578063657e45e81461027d575f5ffd5b806317c957091161016157806317c95709146101c4578063280a47c7146102185780633e9491a21461022b575f5ffd5b80630ef1be5f1461017c5780631278076a1461019d575b5f5ffd5b348015610187575f5ffd5b5061019b610196366004614bcd565b61043c565b005b3480156101a8575f5ffd5b506101b16104f1565b6040519081526020015b60405180910390f35b3480156101cf575f5ffd5b506101b16101de366004614c0c565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b61019b610226366004614c23565b610566565b348015610236575f5ffd5b506101b1610652565b34801561024a575f5ffd5b506101b1610259366004614c0c565b6106bc565b348015610269575f5ffd5b5061019b610278366004614c0c565b610734565b348015610288575f5ffd5b506102916108ae565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b61019b6102c4366004614c98565b6108bc565b3480156102d4575f5ffd5b5061019b6102e3366004614c0c565b610900565b3480156102f3575f5ffd5b506101b1610a0f565b348015610307575f5ffd5b50610291610a18565b61019b61031e366004614c0c565b610a57565b34801561032e575f5ffd5b5061019b61033d366004614ceb565b610a9a565b34801561034d575f5ffd5b50610356610b54565b60405167ffffffffffffffff90911681526020016101bb565b34801561037a575f5ffd5b5061019b610389366004614d1b565b610b5d565b61019b61039c366004614ceb565b610bd7565b3480156103ac575f5ffd5b506103b5610c0a565b6040516101bb9190614d82565b3480156103cd575f5ffd5b506101b1610c14565b3480156103e1575f5ffd5b5061019b6103f0366004614c0c565b610c3d565b348015610400575f5ffd5b506101b1610d27565b348015610414575f5ffd5b5061019b610423366004614ceb565b610d97565b348015610433575f5ffd5b50610291610e70565b610444610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104af576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104ed82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610f6992505050565b5050565b5f5f6105466105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610f94565b9050805f03610556575f91505090565b61055f816110a2565b5092915050565b3068929eee149b4bd2126854036105845763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8360018111156105a3576105a3614d94565b036105cf5773ffffffffffffffffffffffffffffffffffffffff8235166105c9816110c0565b50610641565b60018360018111156105e3576105e3614d94565b036106185773ffffffffffffffffffffffffffffffffffffffff8235166020830135830161061182826111a6565b5050610641565b6106417f3be01969000000000000000000000000000000000000000000000000000000006112ce565b3868929eee149b4bd2126855505050565b5f5f61065c6112d6565b905073ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146106b5576106af73ffffffffffffffffffffffffffffffffffffffff82163061132d565b91505090565b4791505090565b5f5f6107128361070d7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611360565b9050805f0361072357505f92915050565b61072c816110a2565b509392505050565b61073c610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b5f6107cb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b905080158015906107db57508082115b15610809576108097fc3983b91000000000000000000000000000000000000000000000000000000006112ce565b610812826113de565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60782905560405182907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b5f6108b76112d6565b905090565b3068929eee149b4bd2126854036108da5763ab143c065f526004601cfd5b3068929eee149b4bd21268556108f082826111a6565b3868929eee149b4bd21268555050565b610908610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461096e576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156109f6575f5ffd5b505af1158015610a08573d5f5f3e3d5ffd5b5050505050565b5f6108b7611482565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd212685403610a755763ab143c065f526004601cfd5b3068929eee149b4bd2126855610a8b338261154d565b3868929eee149b4bd212685550565b610aa2610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610b11816117b3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f14b7cb0621729ad169b573c8b04f2ba383bf36b3724f2e2809df566f45df16ec905f90a250565b5f6108b76119c9565b610b65610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bcb576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610bd481611a89565b50565b3068929eee149b4bd212685403610bf55763ab143c065f526004601cfd5b3068929eee149b4bd2126855610a8b816110c0565b60606108b7611b04565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610c45610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cab576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610cff81610cfa7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611bb6565b610bd4817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f5f610d776105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f03610d87575f91505090565b610d90816110a2565b9392505050565b610d9f610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e05576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610e0e81611be7565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610f45573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190614dd1565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104ed8282614eb2565b5f5f610fd47fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b905073ffffffffffffffffffffffffffffffffffffffff8116610ff957505f92915050565b5f611002611482565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018290526024810186905290915073ffffffffffffffffffffffffffffffffffffffff831690635cf4ee91906044015b602060405180830381865afa158015611076573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109a9190614fc9565b949350505050565b5f5f6110ad83611d20565b90506110b9818461500d565b9150915091565b6110c981611e1c565b5f6110d2611f12565b90505f6110dd6112d6565b90505f6110ee828460400151611fe7565b90505f6111358561112f7f8c625b06d047a4c1ca46cdab06b7e14ce79b486f06c67a1b220fa942669ca49b338960405180602001604052805f8152506120ac565b846120de565b90505f5f6111498733858960400151612275565b915091508061119d5781156111935785606001516111715761116c83885f6122f0565b61117b565b61117b8387612312565b61118583886124b3565b61118e87612503565b61119d565b61119d8388612612565b50505050505050565b6111af82611e1c565b5f6111b8611f12565b90505f6111c36112d6565b90505f6111d4828460400151611fe7565b90506111e08585612669565b5f846040516020016111f29190615067565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f61125a88611254843383886120ac565b866120de565b90505f5f61126e8a33858b60400151612275565b91509150806112c25781156112b857876060015161129657611291838b5f6122f0565b6112a0565b6112a08389612704565b6112aa838b6124b3565b6112b38a612503565b6112c2565b6112c2838b612612565b50505050505050505050565b805f5260045ffd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff168061132a575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b90565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090826113b985610f94565b9050815f036113cc5792506113d8915050565b81811890821102189150505b92915050565b6113e6610a18565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190614fc9565b811115610bd457610bd47fc3983b91000000000000000000000000000000000000000000000000000000006112ce565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff16156114d95760070154919050565b6114e1610a18565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611529573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190614fc9565b5f611557826128e7565b905073ffffffffffffffffffffffffffffffffffffffff811661159d5761159d7f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f6115a66119c9565b67ffffffffffffffff1690505f6116028461070d7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61160d6112d6565b9050815f036116485761163673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3088346128f2565b611640858461294a565b505050505050565b5f5f611653846110a2565b90925090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8416016116f657348211156116c6576116c67f34a7a93d000000000000000000000000000000000000000000000000000000006112ce565b6116d1838583612a78565b5f6116dc833461513a565b905080156116f0576116f084308b846128f2565b50611744565b341561172e576040517fbf39a02400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611739838984612acb565b611744838583612a78565b604080518581526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a261179f8683612baf565b6117a9878661294a565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811615806117ff575073ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b61196357604080517f4645455f545950452e4d454d4245525348495000000000000000000000000000602080830191909152606084901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016603383015282516027818403018152604790920190925280519101205f6118b37fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663146516df836040518263ffffffff1660e01b81526004016118ed91815260200190565b60e060405180830381865afa158015611908573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192c9190615235565b90508060800151611960576119607f212be89d000000000000000000000000000000000000000000000000000000006112ce565b50505b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f81900361132a57611a1d610a18565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a65573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b791906152d5565b611a9281612c4d565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c018054611b3590614e19565b80601f0160208091040260200160405190810160405280929190818152602001828054611b6190614e19565b8015611bac5780601f10611b8357610100808354040283529160200191611bac565b820191905f5260205f20905b815481529060010190602001808311611b8f57829003601f168201915b5050505050905090565b808210156104ed576104ed7fccc9aa2e000000000000000000000000000000000000000000000000000000006112ce565b73ffffffffffffffffffffffffffffffffffffffff8116611c2b57611c2b7f0e88bf4b000000000000000000000000000000000000000000000000000000006112ce565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611ccf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf391906152f0565b610bd457610bd47f0e88bf4b000000000000000000000000000000000000000000000000000000006112ce565b5f5f611d32611d2d6112d6565b612d43565b9050611d727fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fecad870d000000000000000000000000000000000000000000000000000000008152600481018390525f602482018190526044820186905260806064830152608482015273ffffffffffffffffffffffffffffffffffffffff919091169063ecad870d9060a401602060405180830381865afa158015611df8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d909190614fc9565b73ffffffffffffffffffffffffffffffffffffffff8116611e6057611e607f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f611e897fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611ee4575080611ee17f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104ed576104ed7f7efcdb49000000000000000000000000000000000000000000000000000000006112ce565b611f3b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f611f877f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611f9382610f94565b90505f611f9e611482565b9050815f03611fad5750505090565b81845282811115611fbe5750505090565b5f5f611fc9846110a2565b60016060890152604088019190915260208701525093949350505050565b5f7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161205d5781341015612056576120567fb1296a8a000000000000000000000000000000000000000000000000000000006112ce565b50346113d8565b3415612095576040517fbf39a02400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81156120a6576120a6833384612acb565b50919050565b6060848484846040516020016120c59493929190615309565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b1660208201524360348201525f9081906054016040516020818303038152906040528051906020012090506121bd81612191838861214486612e1e565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040812080549294507f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092909190829061221e90614e19565b9050111561224f5761224f7ff82e65c3000000000000000000000000000000000000000000000000000000006112ce565b8061225a8782614eb2565b50841561226b5761226b8486612e64565b5050509392505050565b5f5f5f6122b66040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612ecc565b90506122c28188613064565b156122d45760015f92509250506122e7565b6122e1818888888861327f565b92509250505b94509492505050565b6122fa83826133eb565b61230383613449565b61230d8282612baf565b505050565b5f5f61231d846134a1565b805461232890614e19565b80601f016020809104026020016040519081016040528092919081815260200182805461235490614e19565b801561239f5780601f106123765761010080835404028352916020019161239f565b820191905f5260205f20905b81548152906001019060200180831161238257829003601f168201915b50505050508060200190518101906123b79190615421565b50919350909150507fffffffff0000000000000000000000000000000000000000000000000000000082167f8c625b060000000000000000000000000000000000000000000000000000000014612431576124317fda6153bd000000000000000000000000000000000000000000000000000000006112ce565b5f61243a6112d6565b905061244e81855f01518660200151612a78565b8351602080860151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff8316917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a2610a08858386604001516122f0565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040902054801561230d576124f083826133eb565b61230d6124fb6112d6565b3084846128f2565b5f61252c7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005490565b90506125b0816125806105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b6125bb8260016134f4565b6125cc816125c76119c9565b61294a565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b61261b82613449565b61262582826124b3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b73ffffffffffffffffffffffffffffffffffffffff82166126906040830160208401614ceb565b73ffffffffffffffffffffffffffffffffffffffff1614806126d65750336126be6040830160208401614ceb565b73ffffffffffffffffffffffffffffffffffffffff16145b156104ed576104ed7f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f5f5f5f612711866134a1565b805461271c90614e19565b80601f016020809104026020016040519081016040528092919081815260200182805461274890614e19565b80156127935780601f1061276a57610100808354040283529160200191612793565b820191905f5260205f20905b81548152906001019060200180831161277657829003601f168201915b50505050508060200190518101906127ab9190615421565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f76840000000000000000000000000000000000000000000000000000000014612827576128277fda6153bd000000000000000000000000000000000000000000000000000000006112ce565b5f8180602001905181019061283c91906154a5565b90505f6128476112d6565b905061285b81885f01518960200151612a78565b8151875161286a91839161350d565b6128828186846020015185604001518b5f0151613630565b8651602080890151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff8316917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a26117a9888589604001516122f0565b5f6113d88183613730565b80156129445773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461293a576129358484848461373b565b612944565b61294482826137cf565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff16801580159061299057505f5b156129ca576040517ff7d2131a000000000000000000000000000000000000000000000000000000008152600481018590526024016104a6565b5f428267ffffffffffffffff1611156129ee576129e7848361554d565b90506129fb565b6129f8844261554d565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b612944612ab97fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b612ac285612d43565b338686866137ef565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff841601612b0d57505050565b5f612b2e73ffffffffffffffffffffffffffffffffffffffff85163061132d565b9050612b5273ffffffffffffffffffffffffffffffffffffffff8516843085613964565b5f612b7373ffffffffffffffffffffffffffffffffffffffff86163061132d565b905082612b80838361513a565b1015610a0857610a087fb1296a8a000000000000000000000000000000000000000000000000000000006112ce565b805f03612bba575050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee612bd76112d6565b73ffffffffffffffffffffffffffffffffffffffff1614612bf6575050565b5f612bff6139c6565b90505f612c2e825f85604051602001612c1a91815260200190565b604051602081830303815290604052613a99565b9050612c3b828583613aef565b61294482612c47610eaf565b83613aef565b5f612c56610a18565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cc291906152d5565b67ffffffffffffffff1690508167ffffffffffffffff165f03612d0857612d087f82323d2e000000000000000000000000000000000000000000000000000000006112ce565b808267ffffffffffffffff1611156104ed576104ed7f82323d2e000000000000000000000000000000000000000000000000000000006112ce565b5f7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff831601612da857507f7bf182fc45d83735258e0907e7fbae2ced2b54cf5d36bf3f9c30097bec3e88f5919050565b604080517f4645455f545950452e4d454d4245525348495000000000000000000000000000602080830191909152606085901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016603383015282516027818403018152604790920190925280519101206113d8565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612e598361556d565b909155509392505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291612ec290849061500d565b9091555050505050565b60605f612ed7613b6e565b80519091505f8167ffffffffffffffff811115612ef657612ef6614dec565b604051908082528060200260200182016040528015612f5957816020015b612f466040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612f145790505b50855160208701209091505f90815b84811015613058575f5f5f5f612f968a8681518110612f8957612f896155a4565b6020026020010151613b99565b93509350935093505f5b82518110156130485786838281518110612fbc57612fbc6155a4565b60200260200101518051906020012003613040576040518060a001604052808c8881518110612fed57612fed6155a4565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110613024576130246155a4565b6020026020010181905250876130399061556d565b9750613048565b600101612fa0565b5050505050806001019050612f68565b50508152949350505050565b5f5f61306f83613c85565b90505f5b84518110156132755784818151811061308e5761308e6155a4565b60200260200101516040015161326d575f5b8582815181106130b2576130b26155a4565b6020026020010151608001515181101561326b575f8683815181106130d9576130d96155a4565b60200260200101516080015182815181106130f6576130f66155a4565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613149573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061316d91906152f0565b15801561325057508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e537061636500000000000000000000000000000000000000000000008152506040516020016131db91906155d1565b6040516020818303038152906040526131f3906155e7565b6040518463ffffffff1660e01b815260040161321193929190615629565b602060405180830381865afa15801561322c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061325091906152f0565b156132625760019450505050506113d8565b506001016130a0565b505b600101613073565b505f949350505050565b5f5f5f5f5b88518110156133dc5788818151811061329f5761329f6155a4565b6020026020010151604001516133d4575f5b8982815181106132c3576132c36155a4565b602002602001015160800151518110156133d2575f8a83815181106132ea576132ea6155a4565b6020026020010151608001518281518110613307576133076155a4565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561335a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061337e91906152f0565b156133c9576133c08a8a8a848f888151811061339c5761339c6155a4565b60200260200101515f01516133af6112d6565b8a6133ba578d613ef9565b5f613ef9565b60019350600194505b506001016132b1565b505b600101613284565b505f9250509550959350505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291612ec290849061513a565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906104ed905f614b3d565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604081207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0090610d90565b6104ed828260405180602001604052805f815250614244565b73ffffffffffffffffffffffffffffffffffffffff821661352d57505050565b5f61356c7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690635cb4f54890602401608060405180830381865afa1580156135d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135fc9190615694565b905080604001515f0361360f5750505050565b5f61361e83836040015161430c565b9050610a0885308460200151846128f2565b8151156136a0575f61364183614358565b604081015190915073ffffffffffffffffffffffffffffffffffffffff16158061366d57506020810151155b156136785750610a08565b5f61368783836020015161430c565b905061369987308460400151846128f2565b5050610a08565b73ffffffffffffffffffffffffffffffffffffffff831615610a08578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160315610a08575f6137228261371d7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b61430c565b9050611640863086846128f2565b5f610d908383614400565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156129445773ffffffffffffffffffffffffffffffffffffffff831630146137ae5761293573ffffffffffffffffffffffffffffffffffffffff8516848484613964565b61294473ffffffffffffffffffffffffffffffffffffffff8516838361453b565b6104ed73ffffffffffffffffffffffffffffffffffffffff83168261458e565b5f815f036137fe57505f61395a565b73ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14806138515761385173ffffffffffffffffffffffffffffffffffffffff861689856145a7565b8773ffffffffffffffffffffffffffffffffffffffff16639c65a60d82613878575f61387a565b845b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481018b905273ffffffffffffffffffffffffffffffffffffffff808b16602483015260448201899052891660648201526084810187905260c060a48201525f60c482015260e40160206040518083038185885af115801561390b573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906139309190614fc9565b9150806139585761395873ffffffffffffffffffffffffffffffffffffffff8616895f614639565b505b9695505050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166139b857803d873b1517106139b857637939f4245f526004601cfd5b505f60605260405250505050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015613a75573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190614dd1565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde9061105b908690869060040161570e565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015613b5c575f5ffd5b505af115801561119d573d5f5f3e3d5ffd5b60606108b77f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01614682565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190613bdb90614e19565b80601f0160208091040260200160405190810160405280929190818152602001828054613c0790614e19565b8015613c525780601f10613c2957610100808354040283529160200191613c52565b820191905f5260205f20905b815481529060010190602001808311613c3557829003601f168201915b5050505060018301549196505060ff169350613c706002820161468e565b9250613c7b81614765565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015613d1c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613d619190810190615736565b905080515f03613ed2576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015613dd8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613dfc9190614dd1565b905073ffffffffffffffffffffffffffffffffffffffff811615613ed0576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015613e88573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613ecd9190810190615736565b91505b505b613edb81614774565b92506001835101835283604051526020604051016040525050919050565b73ffffffffffffffffffffffffffffffffffffffff8716613f3d57613f3d7f99ef0388000000000000000000000000000000000000000000000000000000006112ce565b73ffffffffffffffffffffffffffffffffffffffff8416613f8157613f817f4bb7c205000000000000000000000000000000000000000000000000000000006112ce565b5f8581527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff166140475780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560038101805473ffffffffffffffffffffffffffffffffffffffff88167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555b81546040805173ffffffffffffffffffffffffffffffffffffffff8c811660208301529181018a905260608101889052868216608082015260a081018690528a821660c08201529116905f9060e001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff87160161418d576040517f6fcc618800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690636fcc618890879061415a9060029086906004016157ea565b5f604051808303818588803b158015614171575f5ffd5b505af1158015614183573d5f5f3e3d5ffd5b5050505050614237565b84156141b4576141b473ffffffffffffffffffffffffffffffffffffffff871683876145a7565b6040517f6fcc618800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690636fcc6188906142099060029085906004016157ea565b5f604051808303815f87803b158015614220575f5ffd5b505af1158015614232573d5f5f3e3d5ffd5b505050505b5050505050505050505050565b61424e8383614782565b73ffffffffffffffffffffffffffffffffffffffff83163b1561230d577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b6142a35f868380600101945086614937565b6142d9576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811061429157817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005414610a08575f5ffd5b5f612710821115614341576143417f197f19620000000000000000000000000000000000000000000000000000000083614aa9565b61271061434e83856157fb565b610d909190615812565b6143906040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f81831161450957505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361450757815f0361450157805483106144c0576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f818152600484016020526040902054909290915081156144c1575b506113d8565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661458457803d853b151710614584576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16104ed5763b12d13eb5f526004601cfd5b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661458457803d853b151710614584575f6034526f095ea7b30000000000000000000000005f525f38604460105f885af1508160345260205f604460105f885af190508060015f51141661458457803d853b15171061458457633e3f8f735f526004601cfd5b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661458457803d853b15171061458457633e3f8f735f526004601cfd5b60605f610d9083614ab5565b6060815f01805480602002602001604051908101604052809291908181526020015f905b8282101561475a578382905f5260205f200180546146cf90614e19565b80601f01602080910402602001604051908101604052809291908181526020018280546146fb90614e19565b80156147465780601f1061471d57610100808354040283529160200191614746565b820191905f5260205f20905b81548152906001019060200180831161472957829003601f168201915b5050505050815260200190600101906146b2565b505050509050919050565b60605f610d9083600401614682565b60606113d861132a83614b0e565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f8290036147de576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146148d55780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa460010161489f565b50815f0361490f576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061499190339089908890889060040161584a565b6020604051808303815f875af19250505080156149e9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526149e69181019061589a565b60015b614a5e573d808015614a16576040519150601f19603f3d011682016040523d82523d5f602084013e614a1b565b606091505b5080515f03614a56576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061109a565b815f528060045260245ffd5b6060815f01805480602002602001604051908101604052809291908181526020018280548015614b0257602002820191905f5260205f20905b815481526020019060010190808311614aee575b50505050509050919050565b604051815160051b8101602001818084035b808201518252816020019150828203614b20575060405250919050565b508054614b4990614e19565b5f825580601f10614b58575050565b601f0160209004905f5260205f2090610bd491905f5b80821115614b83575f81840155600101614b6e565b505090565b5f5f83601f840112614b98575f5ffd5b50813567ffffffffffffffff811115614baf575f5ffd5b602083019150836020828501011115614bc6575f5ffd5b9250929050565b5f5f60208385031215614bde575f5ffd5b823567ffffffffffffffff811115614bf4575f5ffd5b614c0085828601614b88565b90969095509350505050565b5f60208284031215614c1c575f5ffd5b5035919050565b5f5f5f60408486031215614c35575f5ffd5b833560028110614c43575f5ffd5b9250602084013567ffffffffffffffff811115614c5e575f5ffd5b614c6a86828701614b88565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bd4575f5ffd5b5f5f60408385031215614ca9575f5ffd5b8235614cb481614c77565b9150602083013567ffffffffffffffff811115614ccf575f5ffd5b830160608186031215614ce0575f5ffd5b809150509250929050565b5f60208284031215614cfb575f5ffd5b8135610d9081614c77565b67ffffffffffffffff81168114610bd4575f5ffd5b5f60208284031215614d2b575f5ffd5b8135610d9081614d06565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610d906020830184614d36565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8051614dcc81614c77565b919050565b5f60208284031215614de1575f5ffd5b8151610d9081614c77565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600181811c90821680614e2d57607f821691505b6020821081036120a6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f82111561230d578282111561230d57805f5260205f20601f840160051c6020851015614e8f57505f5b90810190601f840160051c035f5b81811015611640575f83820155600101614e9d565b815167ffffffffffffffff811115614ecc57614ecc614dec565b614ee081614eda8454614e19565b84614e64565b6020601f821160018114614f31575f8315614efb5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610a08565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614f7e5787850151825560209485019460019092019101614f5e565b5084821015614fba57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614fd9575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156113d8576113d8614fe0565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081525f823561507781614c77565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060208301356150a281614c77565b73ffffffffffffffffffffffffffffffffffffffff811660408401525060408301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f3575f5ffd5b830160208101903567ffffffffffffffff81111561510f575f5ffd5b80360382131561511d575f5ffd5b606080850152615131608085018284615020565b95945050505050565b818103818111156113d8576113d8614fe0565b60405160e0810167ffffffffffffffff8111828210171561517057615170614dec565b60405290565b6040516060810167ffffffffffffffff8111828210171561517057615170614dec565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156151e0576151e0614dec565b604052919050565b805161ffff81168114614dcc575f5ffd5b805160038110614dcc575f5ffd5b80518015158114614dcc575f5ffd5b80516fffffffffffffffffffffffffffffffff81168114614dcc575f5ffd5b5f60e0828403128015615246575f5ffd5b5061524f61514d565b825161525a81614c77565b8152602083015165ffffffffffff81168114615274575f5ffd5b6020820152615285604084016151e8565b6040820152615296606084016151f9565b60608201526152a760808401615207565b60808201526152b860a08401615216565b60a08201526152c960c08401614dc1565b60c08201529392505050565b5f602082840312156152e5575f5ffd5b8151610d9081614d06565b5f60208284031215615300575f5ffd5b610d9082615207565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f61395a6080830184614d36565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614dcc575f5ffd5b5f5f67ffffffffffffffff8411156153c4576153c4614dec565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016153f781615199565b91505082815283838301111561540b575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215615434575f5ffd5b61543d8561537b565b9350602085015161544d81614c77565b604086015190935061545e81614c77565b606086015190925067ffffffffffffffff81111561547a575f5ffd5b8501601f8101871361548a575f5ffd5b615499878251602084016153aa565b91505092959194509250565b5f602082840312156154b5575f5ffd5b815167ffffffffffffffff8111156154cb575f5ffd5b8201606081850312156154dc575f5ffd5b6154e4615176565b81516154ef81614c77565b815260208201516154ff81614c77565b6020820152604082015167ffffffffffffffff81111561551d575f5ffd5b80830192505084601f830112615531575f5ffd5b615540858351602085016153aa565b6040820152949350505050565b67ffffffffffffffff81811683821601908111156113d8576113d8614fe0565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361559d5761559d614fe0565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b805160208083015191908110156120a6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561568057835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161564c565b505060409390930193909352509392505050565b5f60808284031280156156a5575f5ffd5b506040516080810167ffffffffffffffff811182821017156156c9576156c9614dec565b60405282516156d781614c77565b815260208301516156e781614c77565b60208201526040838101519082015261570260608401615207565b60608201529392505050565b5f6004841061571f5761571f614d94565b8382526040602083015261109a6040830184614d36565b5f60208284031215615746575f5ffd5b815167ffffffffffffffff81111561575c575f5ffd5b8201601f8101841361576c575f5ffd5b805167ffffffffffffffff81111561578657615786614dec565b8060051b61579660208201615199565b918252602081840181019290810190878411156157b1575f5ffd5b6020850194505b838510156157df57845192506157cd83614c77565b828252602094850194909101906157b8565b979650505050505050565b5f6003841061571f5761571f614d94565b80820281158282048414176113d8576113d8614fe0565b5f82615845577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f61395a6080830184614d36565b5f602082840312156158aa575f5ffd5b610d908261537b56";
|
|
2360
|
+
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6158f5806100ca5f395ff3fe608060405260043610610178575f3560e01c806379dda585116100d157806393b13cb71161007c578063a5a4103111610057578063a5a41031146103f5578063df9a9fe614610409578063e847abdd14610428575f5ffd5b806393b13cb7146103a157806395d600c8146103c257806397fb7c1e146103d6575f5ffd5b80638120f0ba116100ac5780638120f0ba1461034257806383f3f0dc1461036f5780638c625b061461038e575f5ffd5b806379dda585146102fc5780637c9669ac146103105780637d0567c414610323575f5ffd5b80635803909f11610131578063686f76841161010c578063686f7684146102b657806369d5f38a146102c9578063706b8e09146102e8575f5ffd5b80635803909f1461023f5780635becd24a1461025e578063657e45e81461027d575f5ffd5b806317c957091161016157806317c95709146101c4578063280a47c7146102185780633e9491a21461022b575f5ffd5b80630ef1be5f1461017c5780631278076a1461019d575b5f5ffd5b348015610187575f5ffd5b5061019b610196366004614ba8565b61043c565b005b3480156101a8575f5ffd5b506101b16104f1565b6040519081526020015b60405180910390f35b3480156101cf575f5ffd5b506101b16101de366004614be7565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b61019b610226366004614bfe565b610566565b348015610236575f5ffd5b506101b1610652565b34801561024a575f5ffd5b506101b1610259366004614be7565b6106bc565b348015610269575f5ffd5b5061019b610278366004614be7565b610734565b348015610288575f5ffd5b506102916108ae565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b61019b6102c4366004614c73565b6108bc565b3480156102d4575f5ffd5b5061019b6102e3366004614be7565b610900565b3480156102f3575f5ffd5b506101b1610a0f565b348015610307575f5ffd5b50610291610a18565b61019b61031e366004614be7565b610a57565b34801561032e575f5ffd5b5061019b61033d366004614cc6565b610a9a565b34801561034d575f5ffd5b50610356610b54565b60405167ffffffffffffffff90911681526020016101bb565b34801561037a575f5ffd5b5061019b610389366004614cf6565b610b5d565b61019b61039c366004614cc6565b610bd7565b3480156103ac575f5ffd5b506103b5610c0a565b6040516101bb9190614d5d565b3480156103cd575f5ffd5b506101b1610c14565b3480156103e1575f5ffd5b5061019b6103f0366004614be7565b610c3d565b348015610400575f5ffd5b506101b1610d27565b348015610414575f5ffd5b5061019b610423366004614cc6565b610d97565b348015610433575f5ffd5b50610291610e70565b610444610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104af576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104ed82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610f6992505050565b5050565b5f5f6105466105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610f94565b9050805f03610556575f91505090565b61055f816110a2565b5092915050565b3068929eee149b4bd2126854036105845763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8360018111156105a3576105a3614d6f565b036105cf5773ffffffffffffffffffffffffffffffffffffffff8235166105c9816110c0565b50610641565b60018360018111156105e3576105e3614d6f565b036106185773ffffffffffffffffffffffffffffffffffffffff8235166020830135830161061182826111a6565b5050610641565b6106417f3be01969000000000000000000000000000000000000000000000000000000006112ce565b3868929eee149b4bd2126855505050565b5f5f61065c6112d6565b905073ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146106b5576106af73ffffffffffffffffffffffffffffffffffffffff82163061132d565b91505090565b4791505090565b5f5f6107128361070d7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611360565b9050805f0361072357505f92915050565b61072c816110a2565b509392505050565b61073c610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b5f6107cb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b905080158015906107db57508082115b15610809576108097fc3983b91000000000000000000000000000000000000000000000000000000006112ce565b610812826113de565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60782905560405182907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b5f6108b76112d6565b905090565b3068929eee149b4bd2126854036108da5763ab143c065f526004601cfd5b3068929eee149b4bd21268556108f082826111a6565b3868929eee149b4bd21268555050565b610908610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461096e576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156109f6575f5ffd5b505af1158015610a08573d5f5f3e3d5ffd5b5050505050565b5f6108b7611482565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd212685403610a755763ab143c065f526004601cfd5b3068929eee149b4bd2126855610a8b338261154d565b3868929eee149b4bd212685550565b610aa2610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610b11816117b3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f14b7cb0621729ad169b573c8b04f2ba383bf36b3724f2e2809df566f45df16ec905f90a250565b5f6108b76119c9565b610b65610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bcb576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610bd481611a89565b50565b3068929eee149b4bd212685403610bf55763ab143c065f526004601cfd5b3068929eee149b4bd2126855610a8b816110c0565b60606108b7611b04565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610c45610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cab576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610cff81610cfa7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611bb6565b610bd4817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f5f610d776105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f03610d87575f91505090565b610d90816110a2565b9392505050565b610d9f610eaf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e05576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016104a6565b610e0e81611be7565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6108b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610f45573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190614dac565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104ed8282614e8d565b5f5f610fd47fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b905073ffffffffffffffffffffffffffffffffffffffff8116610ff957505f92915050565b5f611002611482565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018290526024810186905290915073ffffffffffffffffffffffffffffffffffffffff831690635cf4ee91906044015b602060405180830381865afa158015611076573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109a9190614fa4565b949350505050565b5f5f6110ad83611d20565b90506110b98184614fe8565b9150915091565b6110c981611e1c565b5f6110d2611f12565b90505f6110dd6112d6565b90505f6110ee828460400151611fe7565b90505f6111358561112f7f8c625b06d047a4c1ca46cdab06b7e14ce79b486f06c67a1b220fa942669ca49b338960405180602001604052805f8152506120ac565b846120de565b90505f5f6111498733858960400151612275565b915091508061119d5781156111935785606001516111715761116c83885f6122f0565b61117b565b61117b8387612312565b61118583886124b3565b61118e87612503565b61119d565b61119d8388612612565b50505050505050565b6111af82611e1c565b5f6111b8611f12565b90505f6111c36112d6565b90505f6111d4828460400151611fe7565b90506111e08585612669565b5f846040516020016111f29190615042565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f61125a88611254843383886120ac565b866120de565b90505f5f61126e8a33858b60400151612275565b91509150806112c25781156112b857876060015161129657611291838b5f6122f0565b6112a0565b6112a08389612704565b6112aa838b6124b3565b6112b38a612503565b6112c2565b6112c2838b612612565b50505050505050505050565b805f5260045ffd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff168061132a575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b90565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090826113b985610f94565b9050815f036113cc5792506113d8915050565b81811890821102189150505b92915050565b6113e6610a18565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190614fa4565b811115610bd457610bd47fc3983b91000000000000000000000000000000000000000000000000000000006112ce565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff16156114d95760070154919050565b6114e1610a18565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611529573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190614fa4565b5f611557826128e7565b905073ffffffffffffffffffffffffffffffffffffffff811661159d5761159d7f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f6115a66119c9565b67ffffffffffffffff1690505f6116028461070d7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61160d6112d6565b9050815f036116485761163673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3088346128f2565b611640858461294a565b505050505050565b5f5f611653846110a2565b90925090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8416016116f657348211156116c6576116c67f34a7a93d000000000000000000000000000000000000000000000000000000006112ce565b6116d1838583612a78565b5f6116dc8334615115565b905080156116f0576116f084308b846128f2565b50611744565b341561172e576040517fbf39a02400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611739838984612acb565b611744838583612a78565b604080518581526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a261179f8683612baf565b6117a9878661294a565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811615806117ff575073ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b61196357604080517f4645455f545950452e4d454d4245525348495000000000000000000000000000602080830191909152606084901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016603383015282516027818403018152604790920190925280519101205f6118b37fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663146516df836040518263ffffffff1660e01b81526004016118ed91815260200190565b60e060405180830381865afa158015611908573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192c9190615210565b90508060800151611960576119607f212be89d000000000000000000000000000000000000000000000000000000006112ce565b50505b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f81900361132a57611a1d610a18565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a65573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b791906152b0565b611a9281612c4d565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c018054611b3590614df4565b80601f0160208091040260200160405190810160405280929190818152602001828054611b6190614df4565b8015611bac5780601f10611b8357610100808354040283529160200191611bac565b820191905f5260205f20905b815481529060010190602001808311611b8f57829003601f168201915b5050505050905090565b808210156104ed576104ed7fccc9aa2e000000000000000000000000000000000000000000000000000000006112ce565b73ffffffffffffffffffffffffffffffffffffffff8116611c2b57611c2b7f0e88bf4b000000000000000000000000000000000000000000000000000000006112ce565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611ccf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf391906152cb565b610bd457610bd47f0e88bf4b000000000000000000000000000000000000000000000000000000006112ce565b5f5f611d32611d2d6112d6565b612d43565b9050611d727fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fecad870d000000000000000000000000000000000000000000000000000000008152600481018390525f602482018190526044820186905260806064830152608482015273ffffffffffffffffffffffffffffffffffffffff919091169063ecad870d9060a401602060405180830381865afa158015611df8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d909190614fa4565b73ffffffffffffffffffffffffffffffffffffffff8116611e6057611e607f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f611e897fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611ee4575080611ee17f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104ed576104ed7f7efcdb49000000000000000000000000000000000000000000000000000000006112ce565b611f3b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f611f877f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611f9382610f94565b90505f611f9e611482565b9050815f03611fad5750505090565b81845282811115611fbe5750505090565b5f5f611fc9846110a2565b60016060890152604088019190915260208701525093949350505050565b5f7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161205d5781341015612056576120567fb1296a8a000000000000000000000000000000000000000000000000000000006112ce565b50346113d8565b3415612095576040517fbf39a02400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81156120a6576120a6833384612acb565b50919050565b6060848484846040516020016120c594939291906152e4565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b1660208201524360348201525f9081906054016040516020818303038152906040528051906020012090506121bd81612191838861214486612e1e565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040812080549294507f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092909190829061221e90614df4565b9050111561224f5761224f7ff82e65c3000000000000000000000000000000000000000000000000000000006112ce565b8061225a8782614e8d565b50841561226b5761226b8486612e64565b5050509392505050565b5f5f5f6122b66040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612ecc565b90506122c28188613064565b156122d45760015f92509250506122e7565b6122e1818888888861327f565b92509250505b94509492505050565b6122fa83826133eb565b61230383613449565b61230d8282612baf565b505050565b5f5f61231d846134a1565b805461232890614df4565b80601f016020809104026020016040519081016040528092919081815260200182805461235490614df4565b801561239f5780601f106123765761010080835404028352916020019161239f565b820191905f5260205f20905b81548152906001019060200180831161238257829003601f168201915b50505050508060200190518101906123b79190615406565b50919350909150507fffffffff0000000000000000000000000000000000000000000000000000000082167f8c625b060000000000000000000000000000000000000000000000000000000014612431576124317fda6153bd000000000000000000000000000000000000000000000000000000006112ce565b5f61243a6112d6565b905061244e81855f01518660200151612a78565b8351602080860151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff8316917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a2610a08858386604001516122f0565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040902054801561230d576124f083826133eb565b61230d6124fb6112d6565b3084846128f2565b5f61252c7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005490565b90506125b0816125806105417f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b6125bb8260016134f4565b6125cc816125c76119c9565b61294a565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b61261b82613449565b61262582826124b3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b73ffffffffffffffffffffffffffffffffffffffff82166126906040830160208401614cc6565b73ffffffffffffffffffffffffffffffffffffffff1614806126d65750336126be6040830160208401614cc6565b73ffffffffffffffffffffffffffffffffffffffff16145b156104ed576104ed7f5fbd5717000000000000000000000000000000000000000000000000000000006112ce565b5f5f5f5f612711866134a1565b805461271c90614df4565b80601f016020809104026020016040519081016040528092919081815260200182805461274890614df4565b80156127935780601f1061276a57610100808354040283529160200191612793565b820191905f5260205f20905b81548152906001019060200180831161277657829003601f168201915b50505050508060200190518101906127ab9190615406565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f76840000000000000000000000000000000000000000000000000000000014612827576128277fda6153bd000000000000000000000000000000000000000000000000000000006112ce565b5f8180602001905181019061283c919061548a565b90505f6128476112d6565b905061285b81885f01518960200151612a78565b8151875161286a91839161350d565b6128828186846020015185604001518b5f0151613630565b8651602080890151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff8316917f8fed26ea05e17903891c5c2a70ac7ce2aeafbb48acf403b9defdb2c96ab2e5c3910160405180910390a26117a9888589604001516122f0565b5f6113d88183613730565b80156129445773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461293a576129358484848461373b565b612944565b61294482826137cf565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff16801580159061299057505f5b156129ca576040517ff7d2131a000000000000000000000000000000000000000000000000000000008152600481018590526024016104a6565b5f428267ffffffffffffffff1611156129ee576129e78483615532565b90506129fb565b6129f88442615532565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b612944612ab97fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b612ac285612d43565b338686866137ef565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff841601612b0d57505050565b5f612b2e73ffffffffffffffffffffffffffffffffffffffff85163061132d565b9050612b5273ffffffffffffffffffffffffffffffffffffffff8516843085613818565b5f612b7373ffffffffffffffffffffffffffffffffffffffff86163061132d565b905082612b808383615115565b1015610a0857610a087fb1296a8a000000000000000000000000000000000000000000000000000000006112ce565b805f03612bba575050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee612bd76112d6565b73ffffffffffffffffffffffffffffffffffffffff1614612bf6575050565b5f612bff61387a565b90505f612c2e825f85604051602001612c1a91815260200190565b60405160208183030381529060405261394d565b9050612c3b8285836139a3565b61294482612c47610eaf565b836139a3565b5f612c56610a18565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cc291906152b0565b67ffffffffffffffff1690508167ffffffffffffffff165f03612d0857612d087f82323d2e000000000000000000000000000000000000000000000000000000006112ce565b808267ffffffffffffffff1611156104ed576104ed7f82323d2e000000000000000000000000000000000000000000000000000000006112ce565b5f7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff831601612da857507f7bf182fc45d83735258e0907e7fbae2ced2b54cf5d36bf3f9c30097bec3e88f5919050565b604080517f4645455f545950452e4d454d4245525348495000000000000000000000000000602080830191909152606085901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016603383015282516027818403018152604790920190925280519101206113d8565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612e5983615552565b909155509392505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291612ec2908490614fe8565b9091555050505050565b60605f612ed7613a22565b80519091505f8167ffffffffffffffff811115612ef657612ef6614dc7565b604051908082528060200260200182016040528015612f5957816020015b612f466040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612f145790505b50855160208701209091505f90815b84811015613058575f5f5f5f612f968a8681518110612f8957612f89615589565b6020026020010151613a4d565b93509350935093505f5b82518110156130485786838281518110612fbc57612fbc615589565b60200260200101518051906020012003613040576040518060a001604052808c8881518110612fed57612fed615589565b6020026020010151815260200186815260200185151581526020018481526020018381525089898151811061302457613024615589565b60200260200101819052508761303990615552565b9750613048565b600101612fa0565b5050505050806001019050612f68565b50508152949350505050565b5f5f61306f83613b39565b90505f5b84518110156132755784818151811061308e5761308e615589565b60200260200101516040015161326d575f5b8582815181106130b2576130b2615589565b6020026020010151608001515181101561326b575f8683815181106130d9576130d9615589565b60200260200101516080015182815181106130f6576130f6615589565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613149573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061316d91906152cb565b15801561325057508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e537061636500000000000000000000000000000000000000000000008152506040516020016131db91906155b6565b6040516020818303038152906040526131f3906155cc565b6040518463ffffffff1660e01b81526004016132119392919061560e565b602060405180830381865afa15801561322c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061325091906152cb565b156132625760019450505050506113d8565b506001016130a0565b505b600101613073565b505f949350505050565b5f5f5f5f5b88518110156133dc5788818151811061329f5761329f615589565b6020026020010151604001516133d4575f5b8982815181106132c3576132c3615589565b602002602001015160800151518110156133d2575f8a83815181106132ea576132ea615589565b602002602001015160800151828151811061330757613307615589565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561335a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061337e91906152cb565b156133c9576133c08a8a8a848f888151811061339c5761339c615589565b60200260200101515f01516133af6112d6565b8a6133ba578d613dad565b5f613dad565b60019350600194505b506001016132b1565b505b600101613284565b505f9250509550959350505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291612ec2908490615115565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906104ed905f614b18565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604081207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0090610d90565b6104ed828260405180602001604052805f8152506140f8565b73ffffffffffffffffffffffffffffffffffffffff821661352d57505050565b5f61356c7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690635cb4f54890602401608060405180830381865afa1580156135d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135fc9190615679565b905080604001515f0361360f5750505050565b5f61361e8383604001516141c0565b9050610a0885308460200151846128f2565b8151156136a0575f6136418361420c565b604081015190915073ffffffffffffffffffffffffffffffffffffffff16158061366d57506020810151155b156136785750610a08565b5f6136878383602001516141c0565b905061369987308460400151846128f2565b5050610a08565b73ffffffffffffffffffffffffffffffffffffffff831615610a08578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160315610a08575f6137228261371d7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b6141c0565b9050611640863086846128f2565b5f610d9083836142b4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156129445773ffffffffffffffffffffffffffffffffffffffff831630146137ae5761293573ffffffffffffffffffffffffffffffffffffffff8516848484613818565b61294473ffffffffffffffffffffffffffffffffffffffff851683836143ef565b6104ed73ffffffffffffffffffffffffffffffffffffffff831682614442565b5f61380d87878787878760405180602001604052805f81525061445b565b979650505050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661386c57803d873b15171061386c57637939f4245f526004601cfd5b505f60605260405250505050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015613929573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190614dac565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde9061105b90869086906004016156f3565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015613a10575f5ffd5b505af115801561119d573d5f5f3e3d5ffd5b60606108b77f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01614582565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190613a8f90614df4565b80601f0160208091040260200160405190810160405280929190818152602001828054613abb90614df4565b8015613b065780601f10613add57610100808354040283529160200191613b06565b820191905f5260205f20905b815481529060010190602001808311613ae957829003601f168201915b5050505060018301549196505060ff169350613b246002820161458e565b9250613b2f81614665565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015613bd0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613c15919081019061571b565b905080515f03613d86576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015613c8c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cb09190614dac565b905073ffffffffffffffffffffffffffffffffffffffff811615613d84576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015613d3c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613d81919081019061571b565b91505b505b613d8f81614674565b92506001835101835283604051526020604051016040525050919050565b73ffffffffffffffffffffffffffffffffffffffff8716613df157613df17f99ef0388000000000000000000000000000000000000000000000000000000006112ce565b73ffffffffffffffffffffffffffffffffffffffff8416613e3557613e357f4bb7c205000000000000000000000000000000000000000000000000000000006112ce565b5f8581527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff16613efb5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560038101805473ffffffffffffffffffffffffffffffffffffffff88167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555b81546040805173ffffffffffffffffffffffffffffffffffffffff8c811660208301529181018a905260608101889052868216608082015260a081018690528a821660c08201529116905f9060e001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff871601614041576040517f6fcc618800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690636fcc618890879061400e9060029086906004016157c4565b5f604051808303818588803b158015614025575f5ffd5b505af1158015614037573d5f5f3e3d5ffd5b50505050506140eb565b84156140685761406873ffffffffffffffffffffffffffffffffffffffff87168387614682565b6040517f6fcc618800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690636fcc6188906140bd9060029085906004016157c4565b5f604051808303815f87803b1580156140d4575f5ffd5b505af11580156140e6573d5f5f3e3d5ffd5b505050505b5050505050505050505050565b6141028383614714565b73ffffffffffffffffffffffffffffffffffffffff83163b1561230d577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b6141575f8683806001019450866148c9565b61418d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811061414557817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005414610a08575f5ffd5b5f6127108211156141f5576141f57f197f19620000000000000000000000000000000000000000000000000000000083614a3b565b61271061420283856157d5565b610d9091906157ec565b6142446040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f8183116143bd57505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c0100000000000000000000000000000000000000000000000000000000831690036143bb57815f036143b55780548310614374576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115614375575b506113d8565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661443857803d853b151710614438576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16104ed5763b12d13eb5f526004601cfd5b5f825f0361446a57505f61380d565b73ffffffffffffffffffffffffffffffffffffffff851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14806144bd576144bd73ffffffffffffffffffffffffffffffffffffffff87168a86614682565b8873ffffffffffffffffffffffffffffffffffffffff16639c65a60d826144e4575f6144e6565b855b8a8a898b8a8a6040518863ffffffff1660e01b815260040161450d96959493929190615824565b60206040518083038185885af1158015614529573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061454e9190614fa4565b9150806145765761457673ffffffffffffffffffffffffffffffffffffffff87168a5f614a47565b50979650505050505050565b60605f610d9083614a90565b6060815f01805480602002602001604051908101604052809291908181526020015f905b8282101561465a578382905f5260205f200180546145cf90614df4565b80601f01602080910402602001604051908101604052809291908181526020018280546145fb90614df4565b80156146465780601f1061461d57610100808354040283529160200191614646565b820191905f5260205f20905b81548152906001019060200180831161462957829003601f168201915b5050505050815260200190600101906145b2565b505050509050919050565b60605f610d9083600401614582565b60606113d861132a83614ae9565b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661443857803d853b151710614438575f6034526f095ea7b30000000000000000000000005f525f38604460105f885af1508160345260205f604460105f885af190508060015f51141661443857803d853b15171061443857633e3f8f735f526004601cfd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f829003614770576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146148675780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4600101614831565b50815f036148a1576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061492390339089908890889060040161588c565b6020604051808303815f875af192505050801561497b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252614978918101906158dc565b60015b6149f0573d8080156149a8576040519150601f19603f3d011682016040523d82523d5f602084013e6149ad565b606091505b5080515f036149e8576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061109a565b815f528060045260245ffd5b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661443857803d853b15171061443857633e3f8f735f526004601cfd5b6060815f01805480602002602001604051908101604052809291908181526020018280548015614add57602002820191905f5260205f20905b815481526020019060010190808311614ac9575b50505050509050919050565b604051815160051b8101602001818084035b808201518252816020019150828203614afb575060405250919050565b508054614b2490614df4565b5f825580601f10614b33575050565b601f0160209004905f5260205f2090610bd491905f5b80821115614b5e575f81840155600101614b49565b505090565b5f5f83601f840112614b73575f5ffd5b50813567ffffffffffffffff811115614b8a575f5ffd5b602083019150836020828501011115614ba1575f5ffd5b9250929050565b5f5f60208385031215614bb9575f5ffd5b823567ffffffffffffffff811115614bcf575f5ffd5b614bdb85828601614b63565b90969095509350505050565b5f60208284031215614bf7575f5ffd5b5035919050565b5f5f5f60408486031215614c10575f5ffd5b833560028110614c1e575f5ffd5b9250602084013567ffffffffffffffff811115614c39575f5ffd5b614c4586828701614b63565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bd4575f5ffd5b5f5f60408385031215614c84575f5ffd5b8235614c8f81614c52565b9150602083013567ffffffffffffffff811115614caa575f5ffd5b830160608186031215614cbb575f5ffd5b809150509250929050565b5f60208284031215614cd6575f5ffd5b8135610d9081614c52565b67ffffffffffffffff81168114610bd4575f5ffd5b5f60208284031215614d06575f5ffd5b8135610d9081614ce1565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610d906020830184614d11565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8051614da781614c52565b919050565b5f60208284031215614dbc575f5ffd5b8151610d9081614c52565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600181811c90821680614e0857607f821691505b6020821081036120a6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f82111561230d578282111561230d57805f5260205f20601f840160051c6020851015614e6a57505f5b90810190601f840160051c035f5b81811015611640575f83820155600101614e78565b815167ffffffffffffffff811115614ea757614ea7614dc7565b614ebb81614eb58454614df4565b84614e3f565b6020601f821160018114614f0c575f8315614ed65750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610a08565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614f595787850151825560209485019460019092019101614f39565b5084821015614f9557868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614fb4575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156113d8576113d8614fbb565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081525f823561505281614c52565b73ffffffffffffffffffffffffffffffffffffffff8116602084015250602083013561507d81614c52565b73ffffffffffffffffffffffffffffffffffffffff811660408401525060408301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150ce575f5ffd5b830160208101903567ffffffffffffffff8111156150ea575f5ffd5b8036038213156150f8575f5ffd5b60608085015261510c608085018284614ffb565b95945050505050565b818103818111156113d8576113d8614fbb565b60405160e0810167ffffffffffffffff8111828210171561514b5761514b614dc7565b60405290565b6040516060810167ffffffffffffffff8111828210171561514b5761514b614dc7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156151bb576151bb614dc7565b604052919050565b805161ffff81168114614da7575f5ffd5b805160038110614da7575f5ffd5b80518015158114614da7575f5ffd5b80516fffffffffffffffffffffffffffffffff81168114614da7575f5ffd5b5f60e0828403128015615221575f5ffd5b5061522a615128565b825161523581614c52565b8152602083015165ffffffffffff8116811461524f575f5ffd5b6020820152615260604084016151c3565b6040820152615271606084016151d4565b6060820152615282608084016151e2565b608082015261529360a084016151f1565b60a08201526152a460c08401614d9c565b60c08201529392505050565b5f602082840312156152c0575f5ffd5b8151610d9081614ce1565b5f602082840312156152db575f5ffd5b610d90826151e2565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6153566080830184614d11565b9695505050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614da7575f5ffd5b5f5f67ffffffffffffffff8411156153a9576153a9614dc7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016153dc81615174565b9150508281528383830111156153f0575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215615419575f5ffd5b61542285615360565b9350602085015161543281614c52565b604086015190935061544381614c52565b606086015190925067ffffffffffffffff81111561545f575f5ffd5b8501601f8101871361546f575f5ffd5b61547e8782516020840161538f565b91505092959194509250565b5f6020828403121561549a575f5ffd5b815167ffffffffffffffff8111156154b0575f5ffd5b8201606081850312156154c1575f5ffd5b6154c9615151565b81516154d481614c52565b815260208201516154e481614c52565b6020820152604082015167ffffffffffffffff811115615502575f5ffd5b80830192505084601f830112615516575f5ffd5b6155258583516020850161538f565b6040820152949350505050565b67ffffffffffffffff81811683821601908111156113d8576113d8614fbb565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361558257615582614fbb565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b805160208083015191908110156120a6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561566557835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101615631565b505060409390930193909352509392505050565b5f608082840312801561568a575f5ffd5b506040516080810167ffffffffffffffff811182821017156156ae576156ae614dc7565b60405282516156bc81614c52565b815260208301516156cc81614c52565b6020820152604083810151908201526156e7606084016151e2565b60608201529392505050565b5f6004841061570457615704614d6f565b8382526040602083015261109a6040830184614d11565b5f6020828403121561572b575f5ffd5b815167ffffffffffffffff811115615741575f5ffd5b8201601f81018413615751575f5ffd5b805167ffffffffffffffff81111561576b5761576b614dc7565b8060051b61577b60208201615174565b91825260208184018101929081019087841115615796575f5ffd5b6020850194505b8385101561380d57845192506157b283614c52565b8282526020948501949091019061579d565b5f6003841061570457615704614d6f565b80820281158282048414176113d8576113d8614fbb565b5f8261581f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b86815273ffffffffffffffffffffffffffffffffffffffff8616602082015284604082015273ffffffffffffffffffffffffffffffffffffffff8416606082015282608082015260c060a08201525f61588060c0830184614d11565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f6153566080830184614d11565b5f602082840312156158ec575f5ffd5b610d908261536056";
|
|
2361
2361
|
|
|
2362
2362
|
type MembershipFacetConstructorParams =
|
|
2363
2363
|
| [signer?: Signer]
|
|
@@ -382,7 +382,7 @@ const _abi = [
|
|
|
382
382
|
] as const;
|
|
383
383
|
|
|
384
384
|
const _bytecode =
|
|
385
|
-
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6130ad806100ca5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063ade4c8fa14610038578063e8546e0714610074575b5f5ffd5b61004b610046366004611b97565b61007e565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007c610120565b005b5f3068929eee149b4bd21268540361009d5763ab143c065f526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615610105576040517f059519da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010e826101ae565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610183576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ac7fade4c8fa00000000000000000000000000000000000000000000000000000000610626565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d008054604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0000939092859273ffffffffffffffffffffffffffffffffffffffff909216916375794a3c916004808201926020929091908290030181865afa158015610264573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102889190611cda565b905061029881866080015161077b565b8354909450835f6102a883611cf1565b90915550505f818152600284016020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925584526001870183529281902084905584548851928901518983015160608b015193517f3bf5b8f40000000000000000000000000000000000000000000000000000000081529290951694633bf5b8f4946103639490938b929190600401611d99565b6020604051808303815f875af115801561037f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a39190611cda565b5060018201545f906103cb9073ffffffffffffffffffffffffffffffffffffffff16866107a1565b60058401549091505f906103f59073ffffffffffffffffffffffffffffffffffffffff16876107a1565b6040805160028082526060820183529293505f92909160208301908036833701905050905082815f8151811061042d5761042d611e0d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061047b5761047b611e0d565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f8bfc820f00000000000000000000000000000000000000000000000000000000815290881690638bfc820f906104dc908490600401611e3a565b5f604051808303815f87803b1580156104f3575f5ffd5b505af1158015610505573d5f5f3e3d5ffd5b5050505061051d8784848b60800151602001516108ea565b5060808801518051516040909101515f9161053b918a919087610d77565b905061054c88828b60a00151610f2d565b85546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810187905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015f604051808303815f87803b1580156105c0575f5ffd5b505af11580156105d2573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff8b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b905f90a450505050505050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166106fa577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561072c565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b5f5f5f6107888585611072565b91509150610796828261129b565b925050505b92915050565b5f5f604051806020016107b390611394565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff851660248201528590604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161088c93929101611e92565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526108c89291602001611ed7565b60405160208183030381529060405290506108e2816112ee565b949350505050565b6040805160018082528183019092525f91829190816020015b60608152602001906001900390816109035790505090506040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250815f8151811061096257610962611e0d565b60200260200101819052508573ffffffffffffffffffffffffffffffffffffffff16638fcd793d6040518060400160405280600681526020017f4d696e7465720000000000000000000000000000000000000000000000000000815250835f67ffffffffffffffff8111156109d9576109d96113ae565b604051908082528060200260200182016040528015610a1e57816020015b604080518082019091525f8152606060208201528152602001906001900390816109f75790505b506040518463ffffffff1660e01b8152600401610a3d93929190611f1f565b6020604051808303815f875af1158015610a59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7d9190611cda565b835190925015610bad576040805160018082528183019092525f91602080830190803683370190505090506001815f81518110610abc57610abc611e0d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663ba201ba88460405180604001604052808a73ffffffffffffffffffffffffffffffffffffffff16815260200185604051602001610b4b9190611e3a565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610b7a92919061202b565b5f604051808303815f87803b158015610b91575f5ffd5b505af1158015610ba3573d5f5f3e3d5ffd5b5050505050610d6e565b60208301515115610cac575f5b836020015151811015610bf557610bed84602001518281518110610be057610be0611e0d565b6020026020010151611345565b600101610bba565b508573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808973ffffffffffffffffffffffffffffffffffffffff1681526020018760200151604051602001610c4f9190611e3a565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610c7e92919061202b565b5f604051808303815f87803b158015610c95575f5ffd5b505af1158015610ca7573d5f5f3e3d5ffd5b505050505b6040830151515115610d6e578573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018760400151604051602001610d119190612165565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610d4092919061202b565b5f604051808303815f87803b158015610d57575f5ffd5b505af1158015610d69573d5f5f3e3d5ffd5b505050505b50949350505050565b6040805160018082528183019092525f91829190602080830190803683370190505090506001815f81518110610daf57610daf611e0d565b73ffffffffffffffffffffffffffffffffffffffff92909216602092830291909101909101526040805160018082528183019092525f91816020015b604080518082019091525f815260606020820152815260200190600190039081610deb57905050905083815f81518110610e2757610e27611e0d565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff909216909152604051610e5d91849101611e3a565b604051602081830303815290604052815f81518110610e7e57610e7e611e0d565b60209081029190910181015101526040517f8fcd793d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881690638fcd793d90610ee290899089908690600401611f1f565b6020604051808303815f875af1158015610efe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f229190611cda565b979650505050505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110610f6157610f61611e0d565b6020908102919091018101919091526040517f2000000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660218201525f90603501604051602081830303815290604052610fe49061223e565b83516040517f921f717500000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff87169163921f71759161103e918591908790600401612283565b5f604051808303815f87803b158015611055575f5ffd5b505af1158015611067573d5f5f3e3d5ffd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00919073ffffffffffffffffffffffffffffffffffffffff166110f1573360c08201525b600682015460405173ffffffffffffffffffffffffffffffffffffffff9091169061111e602082016113a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828203810183526040601f9092011681810182527fdc9cc64500000000000000000000000000000000000000000000000000000000815230602082810182905283518085018552885473ffffffffffffffffffffffffffffffffffffffff1681529081018c90529251919285926111be923392909189906024016122dd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40e47dfe0000000000000000000000000000000000000000000000000000000017905290516112449493929101612448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112809291602001611ed7565b60405160208183030381529060405294505050509250929050565b5f818351602085015ff590508061079b57632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b5f8151602083015ff090508061134057632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116611389576113897fe6c4247b0000000000000000000000000000000000000000000000000000000061138c565b50565b805f5260045ffd5b6103a6806124c983390190565b61083e8061286f83390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113fe576113fe6113ae565b60405290565b6040516060810167ffffffffffffffff811182821017156113fe576113fe6113ae565b6040805190810167ffffffffffffffff811182821017156113fe576113fe6113ae565b604051610120810167ffffffffffffffff811182821017156113fe576113fe6113ae565b60405160c0810167ffffffffffffffff811182821017156113fe576113fe6113ae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156114d8576114d86113ae565b604052919050565b5f82601f8301126114ef575f5ffd5b813567ffffffffffffffff811115611509576115096113ae565b61153a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611491565b81815284602083860101111561154e575f5ffd5b816020850160208301375f918101602001919091529392505050565b803567ffffffffffffffff81168114611340575f5ffd5b803573ffffffffffffffffffffffffffffffffffffffff81168114611340575f5ffd5b80358015158114611340575f5ffd5b5f67ffffffffffffffff8211156115cc576115cc6113ae565b5060051b60200190565b60038110611389575f5ffd5b803560ff81168114611340575f5ffd5b5f82601f830112611601575f5ffd5b813561161461160f826115b3565b611491565b8082825260208201915060208360071b860101925085831115611635575f5ffd5b602085015b8381101561169e5760808188031215611651575f5ffd5b6116596113db565b813560078110611667575f5ffd5b81526020828101359082015261167f60408301611581565b604082015260608281013590820152835260209092019160800161163a565b5095945050505050565b5f82601f8301126116b7575f5ffd5b81356116c561160f826115b3565b808282526020820191506020606084028601019250858311156116e6575f5ffd5b602085015b8381101561169e5760608188031215611702575f5ffd5b61170a611404565b8135611715816115d6565b8152611723602083016115e2565b6020820152611734604083016115e2565b604082015283526020909201916060016116eb565b5f60608284031215611759575f5ffd5b611761611404565b9050813567ffffffffffffffff811115611779575f5ffd5b8201601f81018413611789575f5ffd5b803561179761160f826115b3565b8082825260208201915060208360061b8501019250868311156117b8575f5ffd5b6020840193505b8284101561181157604084880312156117d6575f5ffd5b6117de611427565b84356117e9816115d6565b81526117f7602086016115e2565b6020820152808352506020820191506040840193506117bf565b8452505050602082013567ffffffffffffffff81111561182f575f5ffd5b61183b848285016115f2565b602083015250604082013567ffffffffffffffff81111561185a575f5ffd5b611866848285016116a8565b60408301525092915050565b5f60808284031215611882575f5ffd5b61188a6113db565b9050611895826115a4565b8152602082013567ffffffffffffffff8111156118b0575f5ffd5b8201601f810184136118c0575f5ffd5b80356118ce61160f826115b3565b8082825260208201915060208360051b8501019250868311156118ef575f5ffd5b6020840193505b828410156119185761190784611581565b8252602093840193909101906118f6565b6020850152505050604082013567ffffffffffffffff811115611939575f5ffd5b61194584828501611749565b604083015250611957606083016115a4565b606082015292915050565b5f82601f830112611971575f5ffd5b813561197f61160f826115b3565b8082825260208201915060208360051b8601019250858311156119a0575f5ffd5b602085015b8381101561169e57803567ffffffffffffffff8111156119c3575f5ffd5b6119d2886020838a01016114e0565b845250602092830192016119a5565b5f606082840312156119f1575f5ffd5b6119f9611404565b9050813567ffffffffffffffff811115611a11575f5ffd5b82016101208185031215611a23575f5ffd5b611a2b61144a565b813567ffffffffffffffff811115611a41575f5ffd5b611a4d868285016114e0565b825250602082013567ffffffffffffffff811115611a69575f5ffd5b611a75868285016114e0565b6020830152506040828101359082015260608083013590820152611a9b6080830161156a565b6080820152611aac60a08301611581565b60a0820152611abd60c08301611581565b60c082015260e08281013590820152611ad96101008301611581565b610100820152825250602082013567ffffffffffffffff811115611afb575f5ffd5b611b0784828501611872565b602083015250604082013567ffffffffffffffff811115611b26575f5ffd5b61186684828501611962565b5f60208284031215611b42575f5ffd5b6040516020810167ffffffffffffffff81118282101715611b6557611b656113ae565b604052905080823567ffffffffffffffff811115611b81575f5ffd5b611b8d858286016114e0565b8252505092915050565b5f60208284031215611ba7575f5ffd5b813567ffffffffffffffff811115611bbd575f5ffd5b820160c08185031215611bce575f5ffd5b611bd661146e565b813567ffffffffffffffff811115611bec575f5ffd5b611bf8868285016114e0565b825250602082013567ffffffffffffffff811115611c14575f5ffd5b611c20868285016114e0565b602083015250604082013567ffffffffffffffff811115611c3f575f5ffd5b611c4b868285016114e0565b604083015250606082013567ffffffffffffffff811115611c6a575f5ffd5b611c76868285016114e0565b606083015250608082013567ffffffffffffffff811115611c95575f5ffd5b611ca1868285016119e1565b60808301525060a082013567ffffffffffffffff811115611cc0575f5ffd5b611ccc86828501611b32565b60a083015250949350505050565b5f60208284031215611cea575f5ffd5b5051919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d46577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60a081525f611dab60a0830188611d4d565b8281036020840152611dbd8188611d4d565b905073ffffffffffffffffffffffffffffffffffffffff861660408401528281036060840152611ded8186611d4d565b90508281036080840152611e018185611d4d565b98975050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b81811015611e8757835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611e53565b509095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6108e26040830184611d4d565b5f81518060208401855e5f93019283525090919050565b5f6108e2611ee58386611ec0565b84611ec0565b73ffffffffffffffffffffffffffffffffffffffff81511682525f6020820151604060208501526108e26040850182611d4d565b606081525f611f316060830186611d4d565b828103602084015280855180835260208301915060208160051b840101602088015f5b83811015611fa4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018552611f8e838351611d4d565b6020958601959093509190910190600101611f54565b50508581036040870152865180825260208083019550909350600584901b82018101925087015f5b8481101561201c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838503018652612006848351611eeb565b6020968701969094509190910190600101611fcc565b50919998505050505050505050565b828152604060208201525f6108e26040830184611eeb565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061138957611389612043565b5f8151808452602084019350602083015f5b828110156120fe5781518051600781106120ae576120ae612043565b808852506020810151602088015273ffffffffffffffffffffffffffffffffffffffff60408201511660408801526060810151606088015250608086019550602082019150600181019050612092565b5093949350505050565b5f8151808452602084019350602083015f5b828110156120fe578151805161212f81612070565b8088525060ff602082015116602088015260ff60408201511660408801525060608601955060208201915060018101905061211a565b602080825282516060838301528051608084018190525f929190910190829060a08501905b808310156121c5578351805161219f81612070565b835260209081015160ff168184015293909301926001929092019160409091019061218a565b50602086015192507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030160408601526122018184612080565b9250505060408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526107968282612108565b8051602080830151919081101561227d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b838152606060208201525f61229b6060830185611d4d565b8281036040840152835180825260208086019201905f5b818110156122d05783518352602093840193909201916001016122b2565b5090979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83511660408201526020830151606082015260a060808201525f825161012060a08401526123596101c0840182611d4d565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608483030160c08501526123948282611d4d565b915050604084015160e0840152606084015161010084015260808401516123c861012085018267ffffffffffffffff169052565b5060a084015173ffffffffffffffffffffffffffffffffffffffff81166101408501525060c084015173ffffffffffffffffffffffffffffffffffffffff81166101608501525060e084015161018084015261010084015173ffffffffffffffffffffffffffffffffffffffff81166101a0850152509695505050505050565b7fffffffff00000000000000000000000000000000000000000000000000000000845116815273ffffffffffffffffffffffffffffffffffffffff602085015116602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6124bf6080830184611d4d565b9594505050505056fe60806040526040516103a63803806103a68339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024c575f5ffd5b82516001600160a01b0381168114610262575f5ffd5b60208401519092506001600160401b0381111561027d575f5ffd5b8301601f8101851361028d575f5ffd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b607a8061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b605d565b565b5f60587f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156076573d5ff35b3d5ffd608060405234801561000f575f5ffd5b5060405161083e38038061083e83398101604081905261002e9161022c565b6100948380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009e82826100a7565b5050505061032d565b60605f5f846001600160a01b0316846040516100c39190610317565b5f60405180830381855af49150503d805f81146100fb576040519150601f19603f3d011682016040523d82523d5f602084013e610100565b606091505b50909250905061011185838361011a565b95945050505050565b60608261012f5761012a8261017d565b610176565b815115801561014657506001600160a01b0384163b155b1561017357604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b80511561018c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156101db576101db6101a5565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610209576102096101a5565b604052919050565b80516001600160a01b0381168114610227575f5ffd5b919050565b5f5f5f838503608081121561023f575f5ffd5b604081121561024c575f5ffd5b506102556101b9565b84516001600160e01b03198116811461026c575f5ffd5b815261027a60208601610211565b6020820152925061028d60408501610211565b60608501519092506001600160401b038111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b80516001600160401b038111156102d1576102d16101a5565b6102e4601f8201601f19166020016101e1565b8181528760208385010111156102f8575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b6105048061033a5f395ff3fe608060405260043610610021575f3560e01c8063ac9650d81461003257610028565b3661002857005b61003061005b565b005b610045610040366004610383565b6100d4565b60405161005291906103f4565b60405180910390f35b5f6100646100f8565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f036100b6576040517f87c9fc3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b365f5f375f5f365f845af43d5f5f3e8080156100d0573d5ff35b3d5ffd5b606034156100e0575f5ffd5b6100f26100ed84846102e0565b610372565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00545f9074010000000000000000000000000000000000000000900460e01b81806101777f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a005473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff000000000000000000000000000000000000000000000000000000005f3516602482015273ffffffffffffffffffffffffffffffffffffffff91909116908490604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161024b91906104b4565b5f60405180830381855afa9150503d805f8114610283576040519150601f19603f3d011682016040523d82523d5f602084013e610288565b606091505b5091509150816102c4576040517f391aa44500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906102d891906104ca565b935050505090565b5f60405190506020815281816020015280604001808360051b80868437820180851561035a575b8351870180356020820183375f38823584305af4610327573d5f873e3d86fd5b5082810384523d815260209384019381013d5f823e5f3d8201523d01601f0167ffffffffffffffe0169050818410610307575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b5f5f60208385031215610394575f5ffd5b823567ffffffffffffffff8111156103aa575f5ffd5b8301601f810185136103ba575f5ffd5b803567ffffffffffffffff8111156103d0575f5ffd5b8560208260051b84010111156103e4575f5ffd5b6020919091019590945092505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156104a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815180518087528060208301602089015e5f6020828901015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168801019650505060208201915060208401935060018101905061041a565b50929695505050505050565b5f82518060208501845e5f920191825250919050565b5f602082840312156104da575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff811681146104fd575f5ffd5b939250505056";
|
|
385
|
+
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b614965806100ca5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063ade4c8fa14610038578063e8546e0714610074575b5f5ffd5b61004b610046366004611ca3565b61007e565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007c610120565b005b5f3068929eee149b4bd21268540361009d5763ab143c065f526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615610105576040517f059519da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010e826101ae565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610183576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ac7fade4c8fa00000000000000000000000000000000000000000000000000000000610626565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d008054604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0000939092859273ffffffffffffffffffffffffffffffffffffffff909216916375794a3c916004808201926020929091908290030181865afa158015610264573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102889190611de6565b905061029881866080015161077b565b8354909450835f6102a883611dfd565b90915550505f818152600284016020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925584526001870183529281902084905584548851928901518983015160608b015193517f3bf5b8f40000000000000000000000000000000000000000000000000000000081529290951694633bf5b8f4946103639490938b929190600401611ea5565b6020604051808303815f875af115801561037f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a39190611de6565b5060018201545f906103cb9073ffffffffffffffffffffffffffffffffffffffff16866107a1565b60058401549091505f906103f59073ffffffffffffffffffffffffffffffffffffffff16876107a1565b6040805160028082526060820183529293505f92909160208301908036833701905050905082815f8151811061042d5761042d611f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061047b5761047b611f19565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f8bfc820f00000000000000000000000000000000000000000000000000000000815290881690638bfc820f906104dc908490600401611f46565b5f604051808303815f87803b1580156104f3575f5ffd5b505af1158015610505573d5f5f3e3d5ffd5b5050505061051d8784848b60800151602001516108ea565b5060808801518051516040909101515f9161053b918a919087610d77565b905061054c88828b60a00151610f2d565b85546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810187905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015f604051808303815f87803b1580156105c0575f5ffd5b505af11580156105d2573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff8b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b905f90a450505050505050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166106fa577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561072c565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b5f5f5f6107888585611072565b915091506107968282611289565b925050505b92915050565b5f5f604051806020016107b390611493565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff851660248201528590604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161088c93929101611f9e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526108c89291602001611fe3565b60405160208183030381529060405290506108e2816112dc565b949350505050565b6040805160018082528183019092525f91829190816020015b60608152602001906001900390816109035790505090506040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250815f8151811061096257610962611f19565b60200260200101819052508573ffffffffffffffffffffffffffffffffffffffff16638fcd793d6040518060400160405280600681526020017f4d696e7465720000000000000000000000000000000000000000000000000000815250835f67ffffffffffffffff8111156109d9576109d96114ba565b604051908082528060200260200182016040528015610a1e57816020015b604080518082019091525f8152606060208201528152602001906001900390816109f75790505b506040518463ffffffff1660e01b8152600401610a3d9392919061202b565b6020604051808303815f875af1158015610a59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7d9190611de6565b835190925015610bad576040805160018082528183019092525f91602080830190803683370190505090506001815f81518110610abc57610abc611f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663ba201ba88460405180604001604052808a73ffffffffffffffffffffffffffffffffffffffff16815260200185604051602001610b4b9190611f46565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610b7a929190612137565b5f604051808303815f87803b158015610b91575f5ffd5b505af1158015610ba3573d5f5f3e3d5ffd5b5050505050610d6e565b60208301515115610cac575f5b836020015151811015610bf557610bed84602001518281518110610be057610be0611f19565b6020026020010151611333565b600101610bba565b508573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808973ffffffffffffffffffffffffffffffffffffffff1681526020018760200151604051602001610c4f9190611f46565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610c7e929190612137565b5f604051808303815f87803b158015610c95575f5ffd5b505af1158015610ca7573d5f5f3e3d5ffd5b505050505b6040830151515115610d6e578573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018760400151604051602001610d119190612271565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610d40929190612137565b5f604051808303815f87803b158015610d57575f5ffd5b505af1158015610d69573d5f5f3e3d5ffd5b505050505b50949350505050565b6040805160018082528183019092525f91829190602080830190803683370190505090506001815f81518110610daf57610daf611f19565b73ffffffffffffffffffffffffffffffffffffffff92909216602092830291909101909101526040805160018082528183019092525f91816020015b604080518082019091525f815260606020820152815260200190600190039081610deb57905050905083815f81518110610e2757610e27611f19565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff909216909152604051610e5d91849101611f46565b604051602081830303815290604052815f81518110610e7e57610e7e611f19565b60209081029190910181015101526040517f8fcd793d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881690638fcd793d90610ee29089908990869060040161202b565b6020604051808303815f875af1158015610efe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f229190611de6565b979650505050505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110610f6157610f61611f19565b6020908102919091018101919091526040517f2000000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660218201525f90603501604051602081830303815290604052610fe49061234a565b83516040517f921f717500000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff87169163921f71759161103e91859190879060040161238f565b5f604051808303815f87803b158015611055575f5ffd5b505af1158015611067573d5f5f3e3d5ffd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00919073ffffffffffffffffffffffffffffffffffffffff166110f1573360c08201525b5f6110fa61137a565b90506040518060200161110c906114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828203810183526040601f9092011681810182527fdc9cc64500000000000000000000000000000000000000000000000000000000815230602082810182905283518085018552885473ffffffffffffffffffffffffffffffffffffffff1681529081018c90529251919285926111ac923392909189906024016123e9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40e47dfe0000000000000000000000000000000000000000000000000000000017905290516112329493929101612554565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261126e9291602001611fe3565b60405160208183030381529060405294505050509250929050565b5f818351602085015ff590508061079b57632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b5f8151602083015ff090508061132e57632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116611377576113777fe6c4247b00000000000000000000000000000000000000000000000000000000611443565b50565b5f5f6113cf6040518060200161138f906114ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040528051602091909101205f61144b565b905073ffffffffffffffffffffffffffffffffffffffff81163b156113f357919050565b61143d60405180602001611406906114ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040525f611289565b91505090565b805f5260045ffd5b5f611457838330611474565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6103a6806125d583390190565b61083e8061297b83390190565b6117ac806131b983390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561150a5761150a6114ba565b60405290565b6040516060810167ffffffffffffffff8111828210171561150a5761150a6114ba565b6040805190810167ffffffffffffffff8111828210171561150a5761150a6114ba565b604051610120810167ffffffffffffffff8111828210171561150a5761150a6114ba565b60405160c0810167ffffffffffffffff8111828210171561150a5761150a6114ba565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115e4576115e46114ba565b604052919050565b5f82601f8301126115fb575f5ffd5b813567ffffffffffffffff811115611615576116156114ba565b61164660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161159d565b81815284602083860101111561165a575f5ffd5b816020850160208301375f918101602001919091529392505050565b803567ffffffffffffffff8116811461132e575f5ffd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461132e575f5ffd5b8035801515811461132e575f5ffd5b5f67ffffffffffffffff8211156116d8576116d86114ba565b5060051b60200190565b60038110611377575f5ffd5b803560ff8116811461132e575f5ffd5b5f82601f83011261170d575f5ffd5b813561172061171b826116bf565b61159d565b8082825260208201915060208360071b860101925085831115611741575f5ffd5b602085015b838110156117aa576080818803121561175d575f5ffd5b6117656114e7565b813560078110611773575f5ffd5b81526020828101359082015261178b6040830161168d565b6040820152606082810135908201528352602090920191608001611746565b5095945050505050565b5f82601f8301126117c3575f5ffd5b81356117d161171b826116bf565b808282526020820191506020606084028601019250858311156117f2575f5ffd5b602085015b838110156117aa576060818803121561180e575f5ffd5b611816611510565b8135611821816116e2565b815261182f602083016116ee565b6020820152611840604083016116ee565b604082015283526020909201916060016117f7565b5f60608284031215611865575f5ffd5b61186d611510565b9050813567ffffffffffffffff811115611885575f5ffd5b8201601f81018413611895575f5ffd5b80356118a361171b826116bf565b8082825260208201915060208360061b8501019250868311156118c4575f5ffd5b6020840193505b8284101561191d57604084880312156118e2575f5ffd5b6118ea611533565b84356118f5816116e2565b8152611903602086016116ee565b6020820152808352506020820191506040840193506118cb565b8452505050602082013567ffffffffffffffff81111561193b575f5ffd5b611947848285016116fe565b602083015250604082013567ffffffffffffffff811115611966575f5ffd5b611972848285016117b4565b60408301525092915050565b5f6080828403121561198e575f5ffd5b6119966114e7565b90506119a1826116b0565b8152602082013567ffffffffffffffff8111156119bc575f5ffd5b8201601f810184136119cc575f5ffd5b80356119da61171b826116bf565b8082825260208201915060208360051b8501019250868311156119fb575f5ffd5b6020840193505b82841015611a2457611a138461168d565b825260209384019390910190611a02565b6020850152505050604082013567ffffffffffffffff811115611a45575f5ffd5b611a5184828501611855565b604083015250611a63606083016116b0565b606082015292915050565b5f82601f830112611a7d575f5ffd5b8135611a8b61171b826116bf565b8082825260208201915060208360051b860101925085831115611aac575f5ffd5b602085015b838110156117aa57803567ffffffffffffffff811115611acf575f5ffd5b611ade886020838a01016115ec565b84525060209283019201611ab1565b5f60608284031215611afd575f5ffd5b611b05611510565b9050813567ffffffffffffffff811115611b1d575f5ffd5b82016101208185031215611b2f575f5ffd5b611b37611556565b813567ffffffffffffffff811115611b4d575f5ffd5b611b59868285016115ec565b825250602082013567ffffffffffffffff811115611b75575f5ffd5b611b81868285016115ec565b6020830152506040828101359082015260608083013590820152611ba760808301611676565b6080820152611bb860a0830161168d565b60a0820152611bc960c0830161168d565b60c082015260e08281013590820152611be5610100830161168d565b610100820152825250602082013567ffffffffffffffff811115611c07575f5ffd5b611c138482850161197e565b602083015250604082013567ffffffffffffffff811115611c32575f5ffd5b61197284828501611a6e565b5f60208284031215611c4e575f5ffd5b6040516020810167ffffffffffffffff81118282101715611c7157611c716114ba565b604052905080823567ffffffffffffffff811115611c8d575f5ffd5b611c99858286016115ec565b8252505092915050565b5f60208284031215611cb3575f5ffd5b813567ffffffffffffffff811115611cc9575f5ffd5b820160c08185031215611cda575f5ffd5b611ce261157a565b813567ffffffffffffffff811115611cf8575f5ffd5b611d04868285016115ec565b825250602082013567ffffffffffffffff811115611d20575f5ffd5b611d2c868285016115ec565b602083015250604082013567ffffffffffffffff811115611d4b575f5ffd5b611d57868285016115ec565b604083015250606082013567ffffffffffffffff811115611d76575f5ffd5b611d82868285016115ec565b606083015250608082013567ffffffffffffffff811115611da1575f5ffd5b611dad86828501611aed565b60808301525060a082013567ffffffffffffffff811115611dcc575f5ffd5b611dd886828501611c3e565b60a083015250949350505050565b5f60208284031215611df6575f5ffd5b5051919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e52577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60a081525f611eb760a0830188611e59565b8281036020840152611ec98188611e59565b905073ffffffffffffffffffffffffffffffffffffffff861660408401528281036060840152611ef98186611e59565b90508281036080840152611f0d8185611e59565b98975050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b81811015611f9357835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611f5f565b509095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6108e26040830184611e59565b5f81518060208401855e5f93019283525090919050565b5f6108e2611ff18386611fcc565b84611fcc565b73ffffffffffffffffffffffffffffffffffffffff81511682525f6020820151604060208501526108e26040850182611e59565b606081525f61203d6060830186611e59565b828103602084015280855180835260208301915060208160051b840101602088015f5b838110156120b0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086840301855261209a838351611e59565b6020958601959093509190910190600101612060565b50508581036040870152865180825260208083019550909350600584901b82018101925087015f5b84811015612128577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838503018652612112848351611ff7565b60209687019690945091909101906001016120d8565b50919998505050505050505050565b828152604060208201525f6108e26040830184611ff7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600381106113775761137761214f565b5f8151808452602084019350602083015f5b8281101561220a5781518051600781106121ba576121ba61214f565b808852506020810151602088015273ffffffffffffffffffffffffffffffffffffffff6040820151166040880152606081015160608801525060808601955060208201915060018101905061219e565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561220a578151805161223b8161217c565b8088525060ff602082015116602088015260ff604082015116604088015250606086019550602082019150600181019050612226565b602080825282516060838301528051608084018190525f929190910190829060a08501905b808310156122d157835180516122ab8161217c565b835260209081015160ff1681840152939093019260019290920191604090910190612296565b50602086015192507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301604086015261230d818461218c565b9250505060408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526107968282612214565b80516020808301519190811015612389577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b838152606060208201525f6123a76060830185611e59565b8281036040840152835180825260208086019201905f5b818110156123dc5783518352602093840193909201916001016123be565b5090979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83511660408201526020830151606082015260a060808201525f825161012060a08401526124656101c0840182611e59565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608483030160c08501526124a08282611e59565b915050604084015160e0840152606084015161010084015260808401516124d461012085018267ffffffffffffffff169052565b5060a084015173ffffffffffffffffffffffffffffffffffffffff81166101408501525060c084015173ffffffffffffffffffffffffffffffffffffffff81166101608501525060e084015161018084015261010084015173ffffffffffffffffffffffffffffffffffffffff81166101a0850152509695505050505050565b7fffffffff00000000000000000000000000000000000000000000000000000000845116815273ffffffffffffffffffffffffffffffffffffffff602085015116602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6125cb6080830184611e59565b9594505050505056fe60806040526040516103a63803806103a68339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024c575f5ffd5b82516001600160a01b0381168114610262575f5ffd5b60208401519092506001600160401b0381111561027d575f5ffd5b8301601f8101851361028d575f5ffd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b607a8061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b605d565b565b5f60587f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156076573d5ff35b3d5ffd608060405234801561000f575f5ffd5b5060405161083e38038061083e83398101604081905261002e9161022c565b6100948380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009e82826100a7565b5050505061032d565b60605f5f846001600160a01b0316846040516100c39190610317565b5f60405180830381855af49150503d805f81146100fb576040519150601f19603f3d011682016040523d82523d5f602084013e610100565b606091505b50909250905061011185838361011a565b95945050505050565b60608261012f5761012a8261017d565b610176565b815115801561014657506001600160a01b0384163b155b1561017357604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b80511561018c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156101db576101db6101a5565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610209576102096101a5565b604052919050565b80516001600160a01b0381168114610227575f5ffd5b919050565b5f5f5f838503608081121561023f575f5ffd5b604081121561024c575f5ffd5b506102556101b9565b84516001600160e01b03198116811461026c575f5ffd5b815261027a60208601610211565b6020820152925061028d60408501610211565b60608501519092506001600160401b038111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b80516001600160401b038111156102d1576102d16101a5565b6102e4601f8201601f19166020016101e1565b8181528760208385010111156102f8575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b6105048061033a5f395ff3fe608060405260043610610021575f3560e01c8063ac9650d81461003257610028565b3661002857005b61003061005b565b005b610045610040366004610383565b6100d4565b60405161005291906103f4565b60405180910390f35b5f6100646100f8565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f036100b6576040517f87c9fc3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b365f5f375f5f365f845af43d5f5f3e8080156100d0573d5ff35b3d5ffd5b606034156100e0575f5ffd5b6100f26100ed84846102e0565b610372565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00545f9074010000000000000000000000000000000000000000900460e01b81806101777f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a005473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff000000000000000000000000000000000000000000000000000000005f3516602482015273ffffffffffffffffffffffffffffffffffffffff91909116908490604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161024b91906104b4565b5f60405180830381855afa9150503d805f8114610283576040519150601f19603f3d011682016040523d82523d5f602084013e610288565b606091505b5091509150816102c4576040517f391aa44500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906102d891906104ca565b935050505090565b5f60405190506020815281816020015280604001808360051b80868437820180851561035a575b8351870180356020820183375f38823584305af4610327573d5f873e3d86fd5b5082810384523d815260209384019381013d5f823e5f3d8201523d01601f0167ffffffffffffffe0169050818410610307575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b5f5f60208385031215610394575f5ffd5b823567ffffffffffffffff8111156103aa575f5ffd5b8301601f810185136103ba575f5ffd5b803567ffffffffffffffff8111156103d0575f5ffd5b8560208260051b84010111156103e4575f5ffd5b6020919091019590945092505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156104a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815180518087528060208301602089015e5f6020828901015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168801019650505060208201915060208401935060018101905061041a565b50929695505050505050565b5f82518060208501845e5f920191825250919050565b5f602082840312156104da575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff811681146104fd575f5ffd5b9392505050566080604052348015600e575f5ffd5b506117908061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c806340e47dfe1461002d575b5f5ffd5b61004061003b366004611243565b610042565b005b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16158061007f57303b151561008e565b8154600163ffffffff90911610155b156100d45781546040517f5477bbf800000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260240160405180910390fd5b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600117825580156101315781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff166401000000001782555b610139610264565b83517fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b60080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560208401517fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b601556101d6835f0151846020015161028f565b6101e083866102f2565b6101eb86600161053e565b6101f361055b565b6101fb610696565b801561025c5781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b505050505050565b61028d7f01ffc9a70000000000000000000000000000000000000000000000000000000061075f565b565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df007f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df026102db848261145a565b50600381016102ea838261145a565b505f90555050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556101008401517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608805491909316911617905560a08201517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600906103b7906108b4565b6060830151600382015560e0830151156103e3576103d88360e00151610aca565b60e083015160078201555b600d810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040830151156104bf5760e08301511561044d5761044d7f2a4538b700000000000000000000000000000000000000000000000000000000610b71565b82610100015173ffffffffffffffffffffffffffffffffffffffff166391b7f5ed84604001516040518263ffffffff1660e01b815260040161049191815260200190565b5f604051808303815f87803b1580156104a8575f5ffd5b505af11580156104ba573d5f5f3e3d5ffd5b505050505b608083015167ffffffffffffffff1615610539576104e08360800151610b79565b608083015160068201805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790555b505050565b610557828260405180602001604052805f815250610c6f565b5050565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0090505f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f53706163654f70657261746f7200000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa15801561062e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610652919061157c565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff919091161790915550565b6106bf7f80ac58cd0000000000000000000000000000000000000000000000000000000061075f565b6106e87f5b5e139f0000000000000000000000000000000000000000000000000000000061075f565b6107117f8c65f84d0000000000000000000000000000000000000000000000000000000061075f565b61073a7f7f5828d00000000000000000000000000000000000000000000000000000000061075f565b61028d7fff84a085000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610833577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610865565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b73ffffffffffffffffffffffffffffffffffffffff81161580610900575073ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b610a6457604080517f4645455f545950452e4d454d4245525348495000000000000000000000000000602080830191909152606084901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016603383015282516027818403018152604790920190925280519101205f6109b47fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663146516df836040518263ffffffff1660e01b81526004016109ee91815260200190565b60e060405180830381865afa158015610a09573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2d91906115eb565b90508060800151610a6157610a617f212be89d00000000000000000000000000000000000000000000000000000000610b71565b50505b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ad2610d3e565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3e919061168b565b811115610b6e57610b6e7fc3983b9100000000000000000000000000000000000000000000000000000000610b71565b50565b805f5260045ffd5b5f610b82610d3e565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bee91906116a2565b67ffffffffffffffff1690508167ffffffffffffffff165f03610c3457610c347f82323d2e00000000000000000000000000000000000000000000000000000000610b71565b808267ffffffffffffffff161115610557576105577f82323d2e00000000000000000000000000000000000000000000000000000000610b71565b610c798383610d82565b73ffffffffffffffffffffffffffffffffffffffff83163b15610539577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b610cce5f868380600101945086610f37565b610d04576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110610cbc57817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005414610d37575f5ffd5b5050505050565b5f610d7d7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f829003610dde576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114610ed55780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4600101610e9f565b50815f03610f0f576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610f919033908990889088906004016116bd565b6020604051808303815f875af1925050508015610fe9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fe691810190611751565b60015b61105e573d808015611016576040519150601f19603f3d011682016040523d82523d5f602084013e61101b565b606091505b5080515f03611056576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b6e575f5ffd5b80356110d8816110ac565b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff8111828210171561112d5761112d6110dd565b60405290565b604051610120810167ffffffffffffffff8111828210171561112d5761112d6110dd565b60405160e0810167ffffffffffffffff8111828210171561112d5761112d6110dd565b5f82601f830112611189575f5ffd5b813567ffffffffffffffff8111156111a3576111a36110dd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff811182821017156111f0576111f06110dd565b604052818152838201602001851015611207575f5ffd5b816020850160208301375f918101602001919091529392505050565b67ffffffffffffffff81168114610b6e575f5ffd5b80356110d881611223565b5f5f5f5f84860360a0811215611257575f5ffd5b8535611262816110ac565b94506020860135611272816110ac565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820112156112a3575f5ffd5b506112ac61110a565b60408601356112ba816110ac565b8152606086013560208201529150608085013567ffffffffffffffff8111156112e1575f5ffd5b850161012081880312156112f3575f5ffd5b6112fb611133565b813567ffffffffffffffff811115611311575f5ffd5b61131d8982850161117a565b825250602082013567ffffffffffffffff811115611339575f5ffd5b6113458982850161117a565b602083015250604082810135908201526060808301359082015261136b60808301611238565b608082015261137c60a083016110cd565b60a082015261138d60c083016110cd565b60c082015260e082810135908201526113a961010083016110cd565b61010082015294979396509194505050565b600181811c908216806113cf57607f821691505b602082108103611406577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610539578282111561053957805f5260205f20601f840160051c602085101561143757505f5b90810190601f840160051c035f5b8181101561025c575f83820155600101611445565b815167ffffffffffffffff811115611474576114746110dd565b6114888161148284546113bb565b8461140c565b6020601f8211600181146114d9575f83156114a35750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610d37565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156115265787850151825560209485019460019092019101611506565b508482101561156257868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b80516110d8816110ac565b5f6020828403121561158c575f5ffd5b8151611597816110ac565b9392505050565b805161ffff811681146110d8575f5ffd5b8051600381106110d8575f5ffd5b805180151581146110d8575f5ffd5b80516fffffffffffffffffffffffffffffffff811681146110d8575f5ffd5b5f60e08284031280156115fc575f5ffd5b50611605611157565b8251611610816110ac565b8152602083015165ffffffffffff8116811461162a575f5ffd5b602082015261163b6040840161159e565b604082015261164c606084016115af565b606082015261165d608084016115bd565b608082015261166e60a084016115cc565b60a082015261167f60c08401611571565b60c08201529392505050565b5f6020828403121561169b575f5ffd5b5051919050565b5f602082840312156116b2575f5ffd5b815161159781611223565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f8251806080840152806020850160a085015e5f60a0828501015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505095945050505050565b5f60208284031215611761575f5ffd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611597575f5ffd";
|
|
386
386
|
|
|
387
387
|
type MockLegacyArchitectConstructorParams =
|
|
388
388
|
| [signer?: Signer]
|
|
@@ -6,6 +6,13 @@ import type { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
|
6
6
|
import type { NodeRegistry, NodeRegistryInterface } from "../NodeRegistry";
|
|
7
7
|
|
|
8
8
|
const _abi = [
|
|
9
|
+
{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "backfillPermanentIndices",
|
|
12
|
+
inputs: [],
|
|
13
|
+
outputs: [],
|
|
14
|
+
stateMutability: "nonpayable",
|
|
15
|
+
},
|
|
9
16
|
{
|
|
10
17
|
type: "function",
|
|
11
18
|
name: "getAllNodeAddresses",
|
|
@@ -49,11 +56,34 @@ const _abi = [
|
|
|
49
56
|
type: "address",
|
|
50
57
|
internalType: "address",
|
|
51
58
|
},
|
|
59
|
+
{
|
|
60
|
+
name: "permanentIndex",
|
|
61
|
+
type: "uint32",
|
|
62
|
+
internalType: "uint32",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "cometBftPubKey",
|
|
66
|
+
type: "bytes32",
|
|
67
|
+
internalType: "bytes32",
|
|
68
|
+
},
|
|
52
69
|
],
|
|
53
70
|
},
|
|
54
71
|
],
|
|
55
72
|
stateMutability: "view",
|
|
56
73
|
},
|
|
74
|
+
{
|
|
75
|
+
type: "function",
|
|
76
|
+
name: "getLastNodeIndex",
|
|
77
|
+
inputs: [],
|
|
78
|
+
outputs: [
|
|
79
|
+
{
|
|
80
|
+
name: "",
|
|
81
|
+
type: "uint32",
|
|
82
|
+
internalType: "uint32",
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
stateMutability: "view",
|
|
86
|
+
},
|
|
57
87
|
{
|
|
58
88
|
type: "function",
|
|
59
89
|
name: "getNode",
|
|
@@ -90,6 +120,16 @@ const _abi = [
|
|
|
90
120
|
type: "address",
|
|
91
121
|
internalType: "address",
|
|
92
122
|
},
|
|
123
|
+
{
|
|
124
|
+
name: "permanentIndex",
|
|
125
|
+
type: "uint32",
|
|
126
|
+
internalType: "uint32",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "cometBftPubKey",
|
|
130
|
+
type: "bytes32",
|
|
131
|
+
internalType: "bytes32",
|
|
132
|
+
},
|
|
93
133
|
],
|
|
94
134
|
},
|
|
95
135
|
],
|
|
@@ -163,6 +203,24 @@ const _abi = [
|
|
|
163
203
|
outputs: [],
|
|
164
204
|
stateMutability: "nonpayable",
|
|
165
205
|
},
|
|
206
|
+
{
|
|
207
|
+
type: "function",
|
|
208
|
+
name: "setNodeCometBftPubKey",
|
|
209
|
+
inputs: [
|
|
210
|
+
{
|
|
211
|
+
name: "nodeAddress",
|
|
212
|
+
type: "address",
|
|
213
|
+
internalType: "address",
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "cometBftPubKey",
|
|
217
|
+
type: "bytes32",
|
|
218
|
+
internalType: "bytes32",
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
outputs: [],
|
|
222
|
+
stateMutability: "nonpayable",
|
|
223
|
+
},
|
|
166
224
|
{
|
|
167
225
|
type: "function",
|
|
168
226
|
name: "updateNodeStatus",
|
|
@@ -230,6 +288,25 @@ const _abi = [
|
|
|
230
288
|
],
|
|
231
289
|
anonymous: false,
|
|
232
290
|
},
|
|
291
|
+
{
|
|
292
|
+
type: "event",
|
|
293
|
+
name: "NodeCometBftPubKeyUpdated",
|
|
294
|
+
inputs: [
|
|
295
|
+
{
|
|
296
|
+
name: "nodeAddress",
|
|
297
|
+
type: "address",
|
|
298
|
+
indexed: true,
|
|
299
|
+
internalType: "address",
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
name: "cometBftPubKey",
|
|
303
|
+
type: "bytes32",
|
|
304
|
+
indexed: false,
|
|
305
|
+
internalType: "bytes32",
|
|
306
|
+
},
|
|
307
|
+
],
|
|
308
|
+
anonymous: false,
|
|
309
|
+
},
|
|
233
310
|
{
|
|
234
311
|
type: "event",
|
|
235
312
|
name: "NodeRemoved",
|
|
@@ -281,10 +358,45 @@ const _abi = [
|
|
|
281
358
|
],
|
|
282
359
|
anonymous: false,
|
|
283
360
|
},
|
|
361
|
+
{
|
|
362
|
+
type: "event",
|
|
363
|
+
name: "OwnershipTransferred",
|
|
364
|
+
inputs: [
|
|
365
|
+
{
|
|
366
|
+
name: "previousOwner",
|
|
367
|
+
type: "address",
|
|
368
|
+
indexed: true,
|
|
369
|
+
internalType: "address",
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
name: "newOwner",
|
|
373
|
+
type: "address",
|
|
374
|
+
indexed: true,
|
|
375
|
+
internalType: "address",
|
|
376
|
+
},
|
|
377
|
+
],
|
|
378
|
+
anonymous: false,
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
type: "error",
|
|
382
|
+
name: "Ownable__NotOwner",
|
|
383
|
+
inputs: [
|
|
384
|
+
{
|
|
385
|
+
name: "account",
|
|
386
|
+
type: "address",
|
|
387
|
+
internalType: "address",
|
|
388
|
+
},
|
|
389
|
+
],
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
type: "error",
|
|
393
|
+
name: "Ownable__ZeroAddress",
|
|
394
|
+
inputs: [],
|
|
395
|
+
},
|
|
284
396
|
] as const;
|
|
285
397
|
|
|
286
398
|
const _bytecode =
|
|
287
|
-
"0x6080604052348015600e575f5ffd5b506119ca8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c80639d20904811610072578063b2b99ec911610058578063b2b99ec914610168578063c8fe3a011461017b578063eecc66f414610190575f5ffd5b80639d20904814610133578063a1174e7d14610153575f5ffd5b806301750152146100a357806339bf397e146100f5578063581f8b9b1461010b5780637e4465e714610120575b5f5ffd5b6100e06100b1366004611295565b73ffffffffffffffffffffffffffffffffffffffff9081165f9081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6100fd6101a3565b6040519081526020016100ec565b61011e6101193660046112bc565b6101b3565b005b61011e61012e3660046113e2565b6103b4565b610146610141366004611295565b6105f8565b6040516100ec9190611550565b61015b610790565b6040516100ec9190611562565b61011e610176366004611295565b61097d565b610183610bbc565b6040516100ec91906115e3565b61011e61019e36600461163b565b610bc8565b5f6101ae6005610e04565b905090565b73ffffffffffffffffffffffffffffffffffffffff8083165f90815260076020526040902060020154839116610221576102216040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250610e13565b3361022d600882610e36565b61026f5761026f6040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260076020526040902060030154859133911681146102e1576102e16040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff86165f90815260076020526040902080546103149060ff1687610e67565b8054869082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360058111156103505761035061142d565b0217905550600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906103a3908990611695565b60405180910390a250505050505050565b336103c0600882610e36565b610402576104026040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff8084165f90815260076020526040902060020154849116610470576104706040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260076020526040902060030154859133911681146104e2576104e26040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff86165f908152600760209081526040918290209151610518918891016116a3565b60405160208183030381529060405280519060200120816001016040516020016105429190611704565b604051602081830303815290604052805190602001200361059b5761059b6040518060400160405280600781526020017f4241445f41524700000000000000000000000000000000000000000000000000815250610e13565b600181016105a987826117ea565b50600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906103a3908990611905565b6106216040805160808101909152805f81526060602082018190525f6040830181905291015290565b61062c600583610e36565b61066e5761066e6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260076020526040908190208151608081019092528054829060ff1660058111156106b5576106b561142d565b60058111156106c6576106c661142d565b81526020016001820180546106da906116b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610706906116b9565b80156107515780601f1061072857610100808354040283529160200191610751565b820191905f5260205f20905b81548152906001019060200180831161073457829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff908116602083015260039092015490911660409091015292915050565b60605f61079d6005610e04565b67ffffffffffffffff8111156107b5576107b56112ed565b60405190808252806020026020018201604052801561080f57816020015b6107fc6040805160808101909152805f81526060602082018190525f6040830181905291015290565b8152602001906001900390816107d35790505b5090505f5b61081e6005610e04565b8110156109775760075f610833600584611013565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260409081015f208151608081019092528054829060ff16600581111561087b5761087b61142d565b600581111561088c5761088c61142d565b81526020016001820180546108a0906116b9565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc906116b9565b80156109175780601f106108ee57610100808354040283529160200191610917565b820191905f5260205f20905b8154815290600101906020018083116108fa57829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff9081166020830152600390920154909116604090910152825183908390811061096457610964611917565b6020908102919091010152600101610814565b50919050565b73ffffffffffffffffffffffffffffffffffffffff8082165f90815260076020526040902060030154829133911681146109ef576109ef6040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081526007602052604090206002015416610a5b57610a5b6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250610e13565b600573ffffffffffffffffffffffffffffffffffffffff84165f9081526007602052604090205460ff166005811115610a9657610a9661142d565b14610ad957610ad96040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f57454400000000000000000000815250610e13565b610ae460058461101e565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815590610b3d600183018261121a565b506002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915560039091018054909116905560405173ffffffffffffffffffffffffffffffffffffffff8416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b905f90a2505050565b60606101ae600561103f565b33610bd4600882610e36565b610c1657610c166040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250610e13565b73ffffffffffffffffffffffffffffffffffffffff8481165f908152600760205260409020600201541615610c8357610c836040518060400160405280600e81526020017f414c52454144595f455849535453000000000000000000000000000000000000815250610e13565b5f6040518060800160405280846005811115610ca157610ca161142d565b81526020810186905273ffffffffffffffffffffffffffffffffffffffff87166040820152336060909101529050610cda60058661104b565b5073ffffffffffffffffffffffffffffffffffffffff85165f908152600760205260409020815181548392919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836005811115610d3f57610d3f61142d565b021790555060208201516001820190610d5890826117ea565b506040828101516002830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610df59088908890611944565b60405180910390a35050505050565b5f610e0d825490565b92915050565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b5f826005811115610e7a57610e7a61142d565b1480610eea57506001826005811115610e9557610e9561142d565b148015610eea57506003816005811115610eb157610eb161142d565b1480610ece57506004816005811115610ecc57610ecc61142d565b145b80610eea57506002816005811115610ee857610ee861142d565b145b80610f3d57506002826005811115610f0457610f0461142d565b148015610f3d57506003816005811115610f2057610f2061142d565b1480610f3d57506004816005811115610f3b57610f3b61142d565b145b80610f9057506004826005811115610f5757610f5761142d565b148015610f9057506003816005811115610f7357610f7361142d565b1480610f9057506005816005811115610f8e57610f8e61142d565b145b80610fc857506003826005811115610faa57610faa61142d565b148015610fc857506005816005811115610fc657610fc661142d565b145b15610fd1575050565b61100f6040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f57454400000000000000000000815250610e13565b5050565b5f610e60838361106c565b5f610e608373ffffffffffffffffffffffffffffffffffffffff8416611092565b60605f610e6083611175565b5f610e608373ffffffffffffffffffffffffffffffffffffffff84166111ce565b5f825f01828154811061108157611081611917565b905f5260205f200154905092915050565b5f818152600183016020526040812054801561116c575f6110b4600183611965565b85549091505f906110c790600190611965565b9050808214611126575f865f0182815481106110e5576110e5611917565b905f5260205f200154905080875f01848154811061110557611105611917565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806111375761113761199d565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610e0d565b5f915050610e0d565b6060815f018054806020026020016040519081016040528092919081815260200182805480156111c257602002820191905f5260205f20905b8154815260200190600101908083116111ae575b50505050509050919050565b5f81815260018301602052604081205461121357508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610e0d565b505f610e0d565b508054611226906116b9565b5f825580601f10611235575050565b601f0160209004905f5260205f209061124e9190611251565b50565b5f5b80821115611268575f81840155600101611253565b505090565b803573ffffffffffffffffffffffffffffffffffffffff81168114611290575f5ffd5b919050565b5f602082840312156112a5575f5ffd5b610e608261126d565b803560068110611290575f5ffd5b5f5f604083850312156112cd575f5ffd5b6112d68361126d565b91506112e4602084016112ae565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112611329575f5ffd5b813567ffffffffffffffff811115611343576113436112ed565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156113af576113af6112ed565b6040528181528382016020018510156113c6575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156113f3575f5ffd5b6113fc8361126d565b9150602083013567ffffffffffffffff811115611417575f5ffd5b6114238582860161131a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6006811061148f577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6114ea82825161145a565b5f6020820151608060208501526115046080850182611493565b905073ffffffffffffffffffffffffffffffffffffffff604084015116604085015273ffffffffffffffffffffffffffffffffffffffff60608401511660608501528091505092915050565b602081525f610e6060208301846114df565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156115d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526115c28583516114df565b94506020938401939190910190600101611588565b50929695505050505050565b602080825282518282018190525f918401906040840190835b8181101561163057835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016115fc565b509095945050505050565b5f5f5f6060848603121561164d575f5ffd5b6116568461126d565b9250602084013567ffffffffffffffff811115611671575f5ffd5b61167d8682870161131a565b92505061168c604085016112ae565b90509250925092565b60208101610e0d828461145a565b5f82518060208501845e5f920191825250919050565b600181811c908216806116cd57607f821691505b602082108103610977577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f5f8354611711816116b9565b600182168015611728576001811461175b57611788565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611788565b865f5260205f205f5b8381101561178057815488820152600190910190602001611764565b505081860193505b509195945050505050565b601f8211156117e557828211156117e557805f5260205f20601f840160051c60208510156117be57505f5b90810190601f840160051c035f5b818110156117e1575f838201556001016117cc565b5050505b505050565b815167ffffffffffffffff811115611804576118046112ed565b6118188161181284546116b9565b84611793565b6020601f821160018114611869575f83156118335750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556118fe565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156118b65787850151825560209485019460019092019101611896565b50848210156118f257868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f610e606020830184611493565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b604081525f6119566040830185611493565b9050610e60602083018461145a565b81810381811115610e0d577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
|
|
399
|
+
"0x6080604052348015600e575f5ffd5b50611f488061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637e4465e71161007d578063b2b99ec911610058578063b2b99ec9146101cb578063c8fe3a01146101de578063eecc66f4146101f3575f5ffd5b80637e4465e7146101835780639d20904814610196578063a1174e7d146101b6575f5ffd5b806344be9beb116100ad57806344be9beb14610150578063581f8b9b14610168578063624245761461017b575f5ffd5b806301750152146100d35780632936781a1461012557806339bf397e1461013a575b5f5ffd5b6101106100e13660046117a5565b73ffffffffffffffffffffffffffffffffffffffff9081165f9081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6101386101333660046117be565b610206565b005b610142610337565b60405190815260200161011c565b60115460405163ffffffff909116815260200161011c565b6101386101763660046117f4565b610347565b610138610548565b61013861019136600461191a565b61076a565b6101a96101a43660046117a5565b6109ae565b60405161011c9190611aa2565b6101be610b7c565b60405161011c9190611ab4565b6101386101d93660046117a5565b610db9565b6101e661101a565b60405161011c9190611b35565b610138610201366004611b8d565b611026565b73ffffffffffffffffffffffffffffffffffffffff8083165f90815260076020526040902060020154839116610274576102746040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250611314565b3373ffffffffffffffffffffffffffffffffffffffff8416146102cf576102cf6040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff83165f818152600760209081526040918290206004810186905591518581529192917f59fdfe8dc31c73e0c191476c7185d5dd1242052b47edc1de5a45c770cc0e7edc910160405180910390a250505050565b5f6103426005611337565b905090565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152600760205260409020600201548391166103b5576103b56040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250611314565b336103c1600882611346565b610403576104036040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff8085165f9081526007602052604090206003015485913391168114610475576104756040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff86165f90815260076020526040902080546104a89060ff1687611377565b8054869082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360058111156104e4576104e4611965565b0217905550600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610537908990611be7565b60405180910390a250505050505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146105be576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240160405180910390fd5b60115463ffffffff161561060a5761060a6040518060400160405280600e81526020017f414c52454144595f455849535453000000000000000000000000000000000000815250611314565b5f6106156005611523565b90505f5f5b8251811015610731575f5f6007015f85848151811061063b5761063b611bf5565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f20600381015490915074010000000000000000000000000000000000000000900463ffffffff16156106d3576106d36040518060400160405280600781526020017f4241445f41524700000000000000000000000000000000000000000000000000815250611314565b6106dc83611c4f565b60039190910180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff841602179055915060010161061a565b50601180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9290921691909117905550565b33610776600882611346565b6107b8576107b86040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff8084165f90815260076020526040902060020154849116610826576108266040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff8085165f9081526007602052604090206003015485913391168114610898576108986040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff86165f9081526007602090815260409182902091516108ce91889101611c73565b60405160208183030381529060405280519060200120816001016040516020016108f89190611cd4565b6040516020818303038152906040528051906020012003610951576109516040518060400160405280600781526020017f4241445f41524700000000000000000000000000000000000000000000000000815250611314565b6001810161095f8782611dba565b50600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610537908990611ed5565b6040805160c0810182525f8082526060602083018190529282018190529181018290526080810182905260a08101919091526109eb600583611346565b610a2d57610a2d6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526007602052604090819020815160c081019092528054829060ff166005811115610a7457610a74611965565b6005811115610a8557610a85611965565b8152602001600182018054610a9990611c89565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac590611c89565b8015610b105780601f10610ae757610100808354040283529160200191610b10565b820191905f5260205f20905b815481529060010190602001808311610af357829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff90811660208301526003830154908116604083015274010000000000000000000000000000000000000000900463ffffffff16606082015260049091015460809091015292915050565b60605f610b896005611337565b67ffffffffffffffff811115610ba157610ba1611825565b604051908082528060200260200182016040528015610c1e57816020015b6040805160c0810182525f8082526060602080840182905293830182905282018190526080820181905260a082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610bbf5790505b5090505f5b610c2d6005611337565b811015610db35760075f610c4260058461152f565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260409081015f20815160c081019092528054829060ff166005811115610c8a57610c8a611965565b6005811115610c9b57610c9b611965565b8152602001600182018054610caf90611c89565b80601f0160208091040260200160405190810160405280929190818152602001828054610cdb90611c89565b8015610d265780601f10610cfd57610100808354040283529160200191610d26565b820191905f5260205f20905b815481529060010190602001808311610d0957829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff90811660208301526003830154908116604083015274010000000000000000000000000000000000000000900463ffffffff1660608201526004909101546080909101528251839083908110610da057610da0611bf5565b6020908102919091010152600101610c23565b50919050565b73ffffffffffffffffffffffffffffffffffffffff8082165f9081526007602052604090206003015482913391168114610e2b57610e2b6040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081526007602052604090206002015416610e9757610e976040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e44000000000000000000000000000000000000815250611314565b600573ffffffffffffffffffffffffffffffffffffffff84165f9081526007602052604090205460ff166005811115610ed257610ed2611965565b14610f1557610f156040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f57454400000000000000000000815250611314565b610f2060058461153a565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815590610f79600183018261172a565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556003810180547fffffffffffffffff0000000000000000000000000000000000000000000000001690555f600490910181905560405173ffffffffffffffffffffffffffffffffffffffff8516917fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b91a2505050565b60606103426005611523565b33611032600882611346565b611074576110746040518060400160405280600881526020017f4241445f41555448000000000000000000000000000000000000000000000000815250611314565b73ffffffffffffffffffffffffffffffffffffffff8481165f9081526007602052604090206002015416156110e1576110e16040518060400160405280600e81526020017f414c52454144595f455849535453000000000000000000000000000000000000815250611314565b6011545f9063ffffffff161561112657601180545f906111069063ffffffff16611c4f565b91906101000a81548163ffffffff021916908363ffffffff160217905590505b5f6040518060c0016040528085600581111561114457611144611965565b81526020810187905273ffffffffffffffffffffffffffffffffffffffff8816604082015233606082015263ffffffff80851660808301525f60a09092019190915290915061119890600590889061155b16565b5073ffffffffffffffffffffffffffffffffffffffff86165f908152600760205260409020815181548392919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360058111156111fd576111fd611965565b0217905550602082015160018201906112169082611dba565b5060408281015160028301805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790556060840151600384018054608087015163ffffffff1674010000000000000000000000000000000000000000027fffffffffffffffff0000000000000000000000000000000000000000000000009091169284169290921791909117905560a0909301516004909201919091555133918816907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906113049089908990611ee7565b60405180910390a3505050505050565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b5f611340825490565b92915050565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b5f82600581111561138a5761138a611965565b14806113fa575060018260058111156113a5576113a5611965565b1480156113fa575060038160058111156113c1576113c1611965565b14806113de575060048160058111156113dc576113dc611965565b145b806113fa575060028160058111156113f8576113f8611965565b145b8061144d5750600282600581111561141457611414611965565b14801561144d5750600381600581111561143057611430611965565b148061144d5750600481600581111561144b5761144b611965565b145b806114a05750600482600581111561146757611467611965565b1480156114a05750600381600581111561148357611483611965565b14806114a05750600581600581111561149e5761149e611965565b145b806114d8575060038260058111156114ba576114ba611965565b1480156114d8575060058160058111156114d6576114d6611965565b145b156114e1575050565b61151f6040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f57454400000000000000000000815250611314565b5050565b60605f6113708361157c565b5f61137083836115d5565b5f6113708373ffffffffffffffffffffffffffffffffffffffff84166115fb565b5f6113708373ffffffffffffffffffffffffffffffffffffffff84166116de565b6060815f018054806020026020016040519081016040528092919081815260200182805480156115c957602002820191905f5260205f20905b8154815260200190600101908083116115b5575b50505050509050919050565b5f825f0182815481106115ea576115ea611bf5565b905f5260205f200154905092915050565b5f81815260018301602052604081205480156116d5575f61161d600183611f08565b85549091505f9061163090600190611f08565b905080821461168f575f865f01828154811061164e5761164e611bf5565b905f5260205f200154905080875f01848154811061166e5761166e611bf5565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806116a0576116a0611f1b565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611340565b5f915050611340565b5f81815260018301602052604081205461172357508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611340565b505f611340565b50805461173690611c89565b5f825580601f10611745575050565b601f0160209004905f5260205f209061175e9190611761565b50565b5f5b80821115611778575f81840155600101611763565b505090565b803573ffffffffffffffffffffffffffffffffffffffff811681146117a0575f5ffd5b919050565b5f602082840312156117b5575f5ffd5b6113708261177d565b5f5f604083850312156117cf575f5ffd5b6117d88361177d565b946020939093013593505050565b8035600681106117a0575f5ffd5b5f5f60408385031215611805575f5ffd5b61180e8361177d565b915061181c602084016117e6565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112611861575f5ffd5b813567ffffffffffffffff81111561187b5761187b611825565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156118e7576118e7611825565b6040528181528382016020018510156118fe575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561192b575f5ffd5b6119348361177d565b9150602083013567ffffffffffffffff81111561194f575f5ffd5b61195b85828601611852565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106119c7577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b611a22828251611992565b5f602082015160c06020850152611a3c60c08501826119cb565b905073ffffffffffffffffffffffffffffffffffffffff604084015116604085015273ffffffffffffffffffffffffffffffffffffffff606084015116606085015263ffffffff608084015116608085015260a083015160a08501528091505092915050565b602081525f6113706020830184611a17565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b29577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452611b14858351611a17565b94506020938401939190910190600101611ada565b50929695505050505050565b602080825282518282018190525f918401906040840190835b81811015611b8257835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611b4e565b509095945050505050565b5f5f5f60608486031215611b9f575f5ffd5b611ba88461177d565b9250602084013567ffffffffffffffff811115611bc3575f5ffd5b611bcf86828701611852565b925050611bde604085016117e6565b90509250925092565b602081016113408284611992565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f63ffffffff821663ffffffff8103611c6a57611c6a611c22565b60010192915050565b5f82518060208501845e5f920191825250919050565b600181811c90821680611c9d57607f821691505b602082108103610db3577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f5f8354611ce181611c89565b600182168015611cf85760018114611d2b57611d58565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611d58565b865f5260205f205f5b83811015611d5057815488820152600190910190602001611d34565b505081860193505b509195945050505050565b601f821115611db55782821115611db557805f5260205f20601f840160051c6020851015611d8e57505f5b90810190601f840160051c035f5b81811015611db1575f83820155600101611d9c565b5050505b505050565b815167ffffffffffffffff811115611dd457611dd4611825565b611de881611de28454611c89565b84611d63565b6020601f821160018114611e39575f8315611e035750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611ece565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015611e865787850151825560209485019460019092019101611e66565b5084821015611ec257868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f61137060208301846119cb565b604081525f611ef960408301856119cb565b90506113706020830184611992565b8181038181111561134057611340611c22565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
|
|
288
400
|
|
|
289
401
|
type NodeRegistryConstructorParams =
|
|
290
402
|
| [signer?: Signer]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@towns-protocol/generated",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "bun ./scripts/prepare.js",
|
|
@@ -33,6 +33,5 @@
|
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
|
-
}
|
|
37
|
-
"gitHead": "9a5d511378b12fca4eb316895e0bbfe137de137b"
|
|
36
|
+
}
|
|
38
37
|
}
|