@gooddollar/goodcollective-contracts 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/contracts/DirectPayments/DirectPaymentsFactory.sol +23 -15
- package/contracts/DirectPayments/DirectPaymentsLibrary.sol +54 -0
- package/contracts/DirectPayments/DirectPaymentsPool.sol +25 -41
- package/contracts/GoodCollective/GoodCollectiveSuperApp.sol +89 -61
- package/contracts/GoodCollective/IGoodCollectiveSuperApp.sol +12 -0
- package/contracts/Interfaces.sol +25 -0
- package/contracts/UBI/UBIPool.sol +103 -90
- package/contracts/UBI/UBIPoolFactory.sol +24 -10
- package/contracts/test/HelperLibraryTest.sol +16 -0
- package/contracts/utils/HelperLibrary.sol +109 -8
- package/package.json +4 -3
- package/releases/deployment.json +22797 -431
- package/typechain-types/@uniswap/index.ts +0 -2
- package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +56 -9
- package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +187 -9
- package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.ts +150 -6
- package/typechain-types/contracts/{UBI/MultiClaimModule.sol/IClaimable.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.ts} +24 -23
- package/typechain-types/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/index.ts +1 -1
- package/typechain-types/contracts/GoodCollective/index.ts +3 -2
- package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2.ts +1 -1
- package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator.ts +1 -1
- package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
- package/typechain-types/contracts/UBI/{UBIPool.sol/UBIPool.ts → UBIPool.ts} +325 -78
- package/typechain-types/contracts/UBI/UBIPoolFactory.ts +95 -33
- package/typechain-types/contracts/UBI/index.ts +1 -4
- package/typechain-types/contracts/index.ts +4 -0
- package/typechain-types/contracts/test/HelperLibraryTest.ts +147 -0
- package/typechain-types/{@uniswap/v3-periphery/contracts/interfaces → contracts/test}/index.ts +1 -1
- package/typechain-types/contracts/utils/HelperLibrary.ts +46 -4
- package/typechain-types/factories/@uniswap/index.ts +0 -1
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +25 -2
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +128 -1
- package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory.ts +105 -1
- package/typechain-types/factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp__factory.ts +48 -0
- package/typechain-types/factories/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/IRegistry__factory.ts +1 -1
- package/typechain-types/factories/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/index.ts +1 -1
- package/typechain-types/factories/contracts/GoodCollective/index.ts +2 -1
- package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2__factory.ts +1 -1
- package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator__factory.ts +1 -1
- package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
- package/typechain-types/factories/contracts/UBI/UBIPoolFactory__factory.ts +76 -4
- package/typechain-types/factories/contracts/UBI/UBIPool__factory.ts +2052 -0
- package/typechain-types/factories/contracts/UBI/index.ts +1 -2
- package/typechain-types/factories/contracts/index.ts +2 -0
- package/typechain-types/factories/contracts/test/HelperLibraryTest__factory.ts +154 -0
- package/typechain-types/{@uniswap/v3-periphery → factories/contracts/test}/index.ts +1 -2
- package/typechain-types/factories/contracts/utils/HelperLibrary__factory.ts +31 -1
- package/typechain-types/hardhat.d.ts +18 -36
- package/typechain-types/index.ts +10 -14
- package/contracts/UBI/MultiClaimModule.sol +0 -78
- package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula.ts +0 -115
- package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +0 -4
- package/typechain-types/@uniswap/v3-periphery/contracts/index.ts +0 -5
- package/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts +0 -369
- package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp.ts +0 -1000
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/IModule.ts +0 -196
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/MultiClaimModule.ts +0 -242
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/index.ts +0 -6
- package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula__factory.ts +0 -60
- package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +0 -4
- package/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts +0 -4
- package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts +0 -263
- package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts +0 -4
- package/typechain-types/factories/@uniswap/v3-periphery/index.ts +0 -4
- package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp__factory.ts +0 -728
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IClaimable__factory.ts +0 -33
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IModule__factory.ts +0 -84
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/MultiClaimModule__factory.ts +0 -150
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/index.ts +0 -6
- package/typechain-types/factories/contracts/UBI/UBIPool.sol/UBIPool__factory.ts +0 -1835
- /package/typechain-types/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/IRegistry.ts +0 -0
package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts
CHANGED
|
@@ -323,7 +323,7 @@ const _abi = [
|
|
|
323
323
|
inputs: [
|
|
324
324
|
{
|
|
325
325
|
internalType: "address",
|
|
326
|
-
name: "
|
|
326
|
+
name: "member",
|
|
327
327
|
type: "address",
|
|
328
328
|
},
|
|
329
329
|
],
|
|
@@ -431,6 +431,11 @@ const _abi = [
|
|
|
431
431
|
name: "_limits",
|
|
432
432
|
type: "tuple",
|
|
433
433
|
},
|
|
434
|
+
{
|
|
435
|
+
internalType: "uint32",
|
|
436
|
+
name: "_managerFeeBps",
|
|
437
|
+
type: "uint32",
|
|
438
|
+
},
|
|
434
439
|
],
|
|
435
440
|
name: "createBeaconPool",
|
|
436
441
|
outputs: [
|
|
@@ -524,6 +529,11 @@ const _abi = [
|
|
|
524
529
|
name: "_limits",
|
|
525
530
|
type: "tuple",
|
|
526
531
|
},
|
|
532
|
+
{
|
|
533
|
+
internalType: "uint32",
|
|
534
|
+
name: "_managerFeeBps",
|
|
535
|
+
type: "uint32",
|
|
536
|
+
},
|
|
527
537
|
],
|
|
528
538
|
name: "createPool",
|
|
529
539
|
outputs: [
|
|
@@ -799,6 +809,19 @@ const _abi = [
|
|
|
799
809
|
stateMutability: "view",
|
|
800
810
|
type: "function",
|
|
801
811
|
},
|
|
812
|
+
{
|
|
813
|
+
inputs: [
|
|
814
|
+
{
|
|
815
|
+
internalType: "address",
|
|
816
|
+
name: "member",
|
|
817
|
+
type: "address",
|
|
818
|
+
},
|
|
819
|
+
],
|
|
820
|
+
name: "removeMember",
|
|
821
|
+
outputs: [],
|
|
822
|
+
stateMutability: "nonpayable",
|
|
823
|
+
type: "function",
|
|
824
|
+
},
|
|
802
825
|
{
|
|
803
826
|
inputs: [
|
|
804
827
|
{
|
|
@@ -937,7 +960,7 @@ const _abi = [
|
|
|
937
960
|
] as const;
|
|
938
961
|
|
|
939
962
|
const _bytecode =
|
|
940
|
-
"0x60a06040523060805234801561001457600080fd5b50608051613dd561004c600039600081816107cd01528181610810015281816108a1015281816108e40152610ace0152613dd56000f3fe608060405260043610620001585760003560e01c806301ffc9a7146200015d578063038defd71462000197578063248a9ca314620001cd57806324a9d85314620002015780632f2ff15d146200023657806336568abe146200025d5780633659cfe614620002825780634690484014620002a757806347ccca0214620002d85780634f1ef28614620002fa5780634f962c8c146200031157806352d1902d1462000336578063545d6299146200034e57806357b707671462000373578063592f7b0514620003985780638abf607714620003be57806391d1485414620003e0578063952d3ea114620004055780639cedd89b146200042a5780639cf5c6131462000464578063a217fddf1462000489578063ac4afa3814620004a0578063ca6d56dc14620004c5578063d547741f14620004ea578063e9e50b04146200050f578063f8a2334c1462000534578063fcf1e0091462000559575b600080fd5b3480156200016a57600080fd5b50620001826200017c36600462001fdf565b6200057e565b60405190151581526020015b60405180910390f35b348015620001a457600080fd5b50620001bc620001b636600462002033565b620005b6565b6040516200018e93929190620020a7565b348015620001da57600080fd5b50620001f2620001ec366004620020e2565b62000701565b6040519081526020016200018e565b3480156200020e57600080fd5b5060ff546200022790600160a01b900463ffffffff1681565b6040516200018e9190620020fc565b3480156200024357600080fd5b506200025b620002553660046200210d565b62000716565b005b3480156200026a57600080fd5b506200025b6200027c3660046200210d565b6200073d565b3480156200028f57600080fd5b506200025b620002a136600462002033565b620007c3565b348015620002b457600080fd5b5060ff54620002c9906001600160a01b031681565b6040516200018e91906200214d565b348015620002e557600080fd5b5060fc54620002c9906001600160a01b031681565b6200025b6200030b36600462002233565b62000897565b3480156200031e57600080fd5b506200025b62000330366004620022c0565b62000958565b3480156200034357600080fd5b50620001f262000ac1565b3480156200035b57600080fd5b50620002c96200036d366004620024bf565b62000b72565b3480156200038057600080fd5b50620002c96200039236600462002632565b62000cb4565b348015620003a557600080fd5b5060fc546200022790600160a01b900463ffffffff1681565b348015620003cb57600080fd5b5060fb54620002c9906001600160a01b031681565b348015620003ed57600080fd5b5062000182620003ff3660046200210d565b62000cee565b3480156200041257600080fd5b50620002c962000424366004620024bf565b62000d19565b3480156200043757600080fd5b50620002c962000449366004620020e2565b60fe602052600090815260409020546001600160a01b031681565b3480156200047157600080fd5b506200025b6200048336600462002661565b62000e50565b3480156200049657600080fd5b50620001f2600081565b348015620004ad57600080fd5b50620002c9620004bf366004620020e2565b62000eb9565b348015620004d257600080fd5b506200025b620004e436600462002033565b62000ee5565b348015620004f757600080fd5b506200025b620005093660046200210d565b62000f61565b3480156200051c57600080fd5b506200025b6200052e36600462002694565b62000f83565b3480156200054157600080fd5b506200025b62000553366004620026ce565b62000fd0565b3480156200056657600080fd5b506200025b6200057836600462002033565b6200119e565b60006001600160e01b03198216637965db0b60e01b1480620005b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fd60205260009081526040902080548190620005d39062002746565b80601f0160208091040260200160405190810160405280929190818152602001828054620006019062002746565b8015620006525780601f10620006265761010080835404028352916020019162000652565b820191906000526020600020905b8154815290600101906020018083116200063457829003601f168201915b5050506001840154600285018054949560ff909216949193509150620006789062002746565b80601f0160208091040260200160405190810160405280929190818152602001828054620006a69062002746565b8015620006f75780601f10620006cb57610100808354040283529160200191620006f7565b820191906000526020600020905b815481529060010190602001808311620006d957829003601f168201915b5050505050905083565b60009081526065602052604090206001015490565b620007218262000701565b6200072c8162001249565b62000738838362001255565b505050565b6001600160a01b0381163314620007b35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620007bf8282620012df565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200080e5760405162461bcd60e51b8152600401620007aa9062002782565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200084262001349565b6001600160a01b0316146200086b5760405162461bcd60e51b8152600401620007aa90620027bd565b620008768162001366565b60408051600080825260208201909252620008949183919062001373565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008e25760405162461bcd60e51b8152600401620007aa9062002782565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200091662001349565b6001600160a01b0316146200093f5760405162461bcd60e51b8152600401620007aa90620027bd565b6200094a8262001366565b620007bf8282600162001373565b81806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620009a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009cd9190620027f8565b336040518363ffffffff1660e01b8152600401620009ed92919062002812565b602060405180830381865afa15801562000a0b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a31919062002829565b151560000362000a5457604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038316600090815260fd6020526040902062000a78838262002893565b50826001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8360405162000ab491906200295f565b60405180910390a2505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000b5e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620007aa565b5060008051602062003d5983398151915290565b8351602080860191909120600090815260fe909152604081205485906001600160a01b0316801562000c9957806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000bec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c129190620027f8565b336040518363ffffffff1660e01b815260040162000c3292919062002812565b602060405180830381865afa15801562000c50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c76919062002829565b151560000362000c9957604051631d799a6d60e21b815260040160405180910390fd5b62000ca9878787876001620014eb565b979650505050505050565b610100602052816000526040600020818154811062000cd257600080fd5b6000918252602090912001546001600160a01b03169150829050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8351602080860191909120600090815260fe909152604081205485906001600160a01b0316801562000e4057806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000d93573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000db99190620027f8565b336040518363ffffffff1660e01b815260040162000dd992919062002812565b602060405180830381865afa15801562000df7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e1d919062002829565b151560000362000e4057604051631d799a6d60e21b815260040160405180910390fd5b62000ca9878787876000620014eb565b600062000e5d8162001249565b6001600160a01b038316600081815260fd6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910162000ab4565b610101818154811062000ecb57600080fd5b6000918252602090912001546001600160a01b0316905081565b33600090815260fd60205260409020600201805462000f049062002746565b905060000362000f2757604051630cc15fbb60e11b815260040160405180910390fd5b6001600160a01b03166000908152610100602090815260408220805460018101825590835291200180546001600160a01b03191633179055565b62000f6c8262000701565b62000f778162001249565b620007388383620012df565b600062000f908162001249565b5060ff80546001600160a01b039093166001600160a01b031963ffffffff909316600160a01b02929092166001600160c01b031990931692909217179055565b600054610100900460ff161580801562000ff15750600054600160ff909116105b80620010165750620010033062001b10565b15801562001016575060005460ff166001145b6200107b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620007aa565b6000805460ff1916600117905580156200109f576000805461ff0019166101001790555b60fc805463ffffffff60a01b1916600160a01b1790556040518590620010c59062001fb5565b620010d191906200214d565b604051809103906000f080158015620010ee573d6000803e3d6000fd5b5060fb80546001600160a01b03199081166001600160a01b039384161790915560fc805490911686831617905560ff80549185166001600160c01b031990921691909117600160a01b63ffffffff8516021790556200114f60008762001b1f565b801562001196576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000620011ab8162001249565b60fb54604051631b2ce7f360e11b81526001600160a01b0390911690633659cfe690620011dd9085906004016200214d565b600060405180830381600087803b158015620011f857600080fd5b505af11580156200120d573d6000803e3d6000fd5b50506040516001600160a01b03851692507f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c79150600090a25050565b62000894813362001b2b565b62001261828262000cee565b620007bf5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200129b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b620012eb828262000cee565b15620007bf5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062003d59833981519152546001600160a01b031690565b6000620007bf8162001249565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620013a957620007388362001b8f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001406575060408051601f3d908101601f191682019092526200140391810190620027f8565b60015b6200146b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620007aa565b60008051602062003d598339815191528114620014dd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620007aa565b506200073883838362001c2e565b60fc5463ffffffff600160a01b82041684526040516000918291635ea4cef760e11b916200152e916001600160a01b039091169088908890309060240162002ab9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290508215620015bb5760fb546040516001600160a01b03909116908290620015889062001fc3565b6200159592919062002b00565b604051809103906000f080158015620015b2573d6000803e3d6000fd5b50915062001672565b60fb60009054906101000a90046001600160a01b03166001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200160f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001635919062002b2e565b81604051620016449062001fd1565b6200165192919062002b00565b604051809103906000f0801580156200166e573d6000803e3d6000fd5b5091505b60fc54604051634e93f47b60e01b81526001600160a01b03821691632f2ff15d918391634e93f47b91620016b791600160a01b900463ffffffff1690600401620020fc565b602060405180830381865afa158015620016d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016fb9190620027f8565b87606001516040518363ffffffff1660e01b81526004016200171f92919062002812565b600060405180830381600087803b1580156200173a57600080fd5b505af11580156200174f573d6000803e3d6000fd5b505060fc54604051634e93f47b60e01b81526001600160a01b0382169350632f2ff15d92508391634e93f47b916200179891600160a01b900463ffffffff1690600401620020fc565b602060405180830381865afa158015620017b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017dc9190620027f8565b846040518363ffffffff1660e01b8152600401620017fc92919062002812565b600060405180830381600087803b1580156200181757600080fd5b505af11580156200182c573d6000803e3d6000fd5b50505050816001600160a01b0316632f2ff15d836001600160a01b031663d53913936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200187e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018a49190620027f8565b87606001516040518363ffffffff1660e01b8152600401620018c892919062002812565b600060405180830381600087803b158015620018e357600080fd5b505af1158015620018f8573d6000803e3d6000fd5b505088516020808b0191909120600090815260fe90915260409020546001600160a01b03169150620019599050578651602080890191909120600090815260fe9091526040902080546001600160a01b0319166001600160a01b0384161790555b6001600160a01b038216600090815260fd602052604090206200197d878262002893565b506001600160a01b038216600090815260fd60205260409020600201620019a5888262002893565b50604051631b2b455f60e11b81526001600160a01b038316906336568abe90620019d790600090309060040162002812565b600060405180830381600087803b158015620019f257600080fd5b505af115801562001a07573d6000803e3d6000fd5b505061010180546001810182556000919091527f109ea3cebb188b9c1b9fc5bb3920be60dfdc8699098dff92f3d80daaca7476890180546001600160a01b0319166001600160a01b038616179055505060fc54604051600160a01b90910463ffffffff169062001a7990899062002b4e565b6040518091039020836001600160a01b03167fabf24e13dd04b5233e0ccecc88963e42e9d8b5ceae25458b61109fcbc0201bfe89898960405162001ac09392919062002b6c565b60405180910390a460fc8054600160a01b900463ffffffff1690601462001ae78362002bbd565b91906101000a81548163ffffffff021916908363ffffffff160217905550505095945050505050565b6001600160a01b03163b151590565b620007bf828262001255565b62001b37828262000cee565b620007bf5762001b478162001c5f565b62001b5483602062001c72565b60405160200162001b6792919062002be3565b60408051601f198184030181529082905262461bcd60e51b8252620007aa916004016200295f565b62001b9a8162001b10565b62001bfe5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620007aa565b60008051602062003d5983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62001c398362001e32565b60008251118062001c475750805b15620007385762001c59838362001e74565b50505050565b6060620005b06001600160a01b03831660145b6060600062001c8383600262002c56565b62001c9090600262002c70565b6001600160401b0381111562001caa5762001caa62002161565b6040519080825280601f01601f19166020018201604052801562001cd5576020820181803683370190505b509050600360fc1b8160008151811062001cf35762001cf362002c86565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001d255762001d2562002c86565b60200101906001600160f81b031916908160001a905350600062001d4b84600262002c56565b62001d5890600162002c70565b90505b600181111562001dda576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001d905762001d9062002c86565b1a60f81b82828151811062001da95762001da962002c86565b60200101906001600160f81b031916908160001a90535060049490941c9362001dd28162002c9c565b905062001d5b565b50831562001e2b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620007aa565b9392505050565b62001e3d8162001b8f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001e818362001b10565b62001ede5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401620007aa565b600080846001600160a01b03168460405162001efb919062002b4e565b600060405180830381855af49150503d806000811462001f38576040519150601f19603f3d011682016040523d82523d6000602084013e62001f3d565b606091505b509150915062001f68828260405180606001604052806027815260200162003d796027913962001f71565b95945050505050565b6060831562001f8257508162001e2b565b62001e2b838381511562001f995781518083602001fd5b8060405162461bcd60e51b8152600401620007aa91906200295f565b6104c98062002cb783390190565b6106cd806200318083390190565b6104ec806200384d83390190565b60006020828403121562001ff257600080fd5b81356001600160e01b03198116811462001e2b57600080fd5b6001600160a01b03811681146200089457600080fd5b80356200202e816200200b565b919050565b6000602082840312156200204657600080fd5b813562001e2b816200200b565b60005b838110156200207057818101518382015260200162002056565b50506000910152565b600081518084526200209381602086016020860162002053565b601f01601f19169290920160200192915050565b606081526000620020bc606083018662002079565b84151560208401528281036040840152620020d8818562002079565b9695505050505050565b600060208284031215620020f557600080fd5b5035919050565b63ffffffff91909116815260200190565b600080604083850312156200212157600080fd5b82359150602083013562002135816200200b565b809150509250929050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156200219d576200219d62002161565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620021ce57620021ce62002161565b604052919050565b60006001600160401b03831115620021f257620021f262002161565b62002207601f8401601f1916602001620021a3565b90508281528383830111156200221c57600080fd5b828260208301376000602084830101529392505050565b600080604083850312156200224757600080fd5b823562002254816200200b565b915060208301356001600160401b038111156200227057600080fd5b8301601f810185136200228257600080fd5b6200229385823560208401620021d6565b9150509250929050565b600082601f830112620022af57600080fd5b62001e2b83833560208501620021d6565b60008060408385031215620022d457600080fd5b8235620022e1816200200b565b915060208301356001600160401b03811115620022fd57600080fd5b62002293858286016200229d565b803563ffffffff811681146200202e57600080fd5b60006001600160401b038211156200233c576200233c62002161565b5060051b60200190565b600082601f8301126200235857600080fd5b81356020620023716200236b8362002320565b620021a3565b82815260059290921b840181019181810190868411156200239157600080fd5b8286015b84811015620023c057803561ffff81168114620023b25760008081fd5b835291830191830162002395565b509695505050505050565b600082601f830112620023dd57600080fd5b81356020620023f06200236b8362002320565b82815260059290921b840181019181810190868411156200241057600080fd5b8286015b84811015620023c05780356001600160801b0381168114620024365760008081fd5b835291830191830162002414565b80151581146200089457600080fd5b80356200202e8162002444565b6000606082840312156200247357600080fd5b604051606081016001600160401b038111828210171562002498576200249862002161565b80604052508091508235815260208301356020820152604083013560408201525092915050565b60008060008060c08587031215620024d657600080fd5b84356001600160401b0380821115620024ee57600080fd5b620024fc888389016200229d565b955060208701359150808211156200251357600080fd5b62002521888389016200229d565b945060408701359150808211156200253857600080fd5b9086019061010082890312156200254e57600080fd5b6200255862002177565b62002563836200230b565b81526020830135828111156200257857600080fd5b620025868a82860162002346565b6020830152506040830135828111156200259f57600080fd5b620025ad8a828601620023cb565b604083015250620025c16060840162002021565b6060820152620025d46080840162002021565b6080820152620025e760a0840162002021565b60a0820152620025fa60c0840162002021565b60c08201526200260d60e0840162002453565b60e082015280945050505062002627866060870162002460565b905092959194509250565b600080604083850312156200264657600080fd5b823562002653816200200b565b946020939093013593505050565b600080604083850312156200267557600080fd5b823562002682816200200b565b91506020830135620021358162002444565b60008060408385031215620026a857600080fd5b8235620026b5816200200b565b9150620026c5602084016200230b565b90509250929050565b600080600080600060a08688031215620026e757600080fd5b8535620026f4816200200b565b9450602086013562002706816200200b565b9350604086013562002718816200200b565b925060608601356200272a816200200b565b91506200273a608087016200230b565b90509295509295909350565b600181811c908216806200275b57607f821691505b6020821081036200277c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c9082015260008051602062003d3983398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062003d3983398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200280b57600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200283c57600080fd5b815162001e2b8162002444565b601f8211156200073857600081815260208120601f850160051c81016020861015620028725750805b601f850160051c820191505b8181101562001196578281556001016200287e565b81516001600160401b03811115620028af57620028af62002161565b620028c781620028c0845462002746565b8462002849565b602080601f831160018114620028ff5760008415620028e65750858301515b600019600386901b1c1916600185901b17855562001196565b600085815260208120601f198616915b8281101562002930578886015182559484019460019091019084016200290f565b50858210156200294f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001e2b602083018462002079565b600081518084526020808501945080840160005b83811015620029af5781516001600160801b03168752958201959082019060010162002988565b509495945050505050565b805163ffffffff168252602080820151610100828501819052815190850181905260009261012086019281019184905b8082101562002a1057835161ffff168552938201939282019260019190910190620029ea565b505050506040830151848203604086015262002a2d828262002974565b915050606083015162002a44606086018262002140565b50608083015162002a59608086018262002140565b5060a083015162002a6e60a086018262002140565b5060c083015162002a8360c086018262002140565b5060e083015162002a9860e086018215159052565b509392505050565b8051825260208082015190830152604090810151910152565b600060018060a01b03808716835260c0602084015262002add60c0840187620029ba565b915062002aee604084018662002aa0565b80841660a08401525095945050505050565b6001600160a01b038316815260406020820181905260009062002b269083018462002079565b949350505050565b60006020828403121562002b4157600080fd5b815162001e2b816200200b565b6000825162002b6281846020870162002053565b9190910192915050565b60a08152600062002b8160a083018662002079565b828103602084015262002b958186620029ba565b91505062002b26604083018462002aa0565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681810362002bd95762002bd962002ba7565b6001019392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162002c1781601785016020880162002053565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162002c4a81602884016020880162002053565b01602801949350505050565b8082028115828204841417620005b057620005b062002ba7565b80820180821115620005b057620005b062002ba7565b634e487b7160e01b600052603260045260246000fd5b60008162002cae5762002cae62002ba7565b50600019019056fe608060405234801561001057600080fd5b506040516104c93803806104c983398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610350806101796000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100aa575b600080fd5b61006f61006a3660046102ea565b6100bd565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f610105565b61007e610119565b61006f6100b83660046102ea565b610128565b6100c56101a6565b6100ce81610205565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61010d6101a6565b610117600061029a565b565b6000546001600160a01b031690565b6101306101a6565b6001600160a01b03811661019a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6101a38161029a565b50565b336101af610119565b6001600160a01b0316146101175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610191565b6001600160a01b0381163b6102785760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b6064820152608401610191565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156102fc57600080fd5b81356001600160a01b038116811461031357600080fd5b939250505056fea264697066735822122038970e7cf09dc887c70d5260fa612ed542a4b7fc825586d54bcad83fc1ebdd9164736f6c6343000813003360806040526040516106cd3803806106cd83398101604081905261002291610421565b61002e82826000610035565b505061054b565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e1565b8361026e565b505b505050565b6100ff8161029a565b61015e5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101c8816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c391906104e1565b61029a565b61022d5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610155565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029383836040518060600160405280602781526020016106a6602791396102a9565b9392505050565b6001600160a01b03163b151590565b6060600080856001600160a01b0316856040516102c691906104fc565b600060405180830381855af49150503d8060008114610301576040519150601f19603f3d011682016040523d82523d6000602084013e610306565b606091505b50909250905061031886838387610322565b9695505050505050565b6060831561038f5782516000036103885761033c8561029a565b6103885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610155565b5081610399565b61039983836103a1565b949350505050565b8151156103b15781518083602001fd5b8060405162461bcd60e51b81526004016101559190610518565b80516001600160a01b03811681146103e257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610418578181015183820152602001610400565b50506000910152565b6000806040838503121561043457600080fd5b61043d836103cb565b60208401519092506001600160401b038082111561045a57600080fd5b818501915085601f83011261046e57600080fd5b815181811115610480576104806103e7565b604051601f8201601f19908116603f011681019083821181831017156104a8576104a86103e7565b816040528281528860208487010111156104c157600080fd5b6104d28360208301602088016103fd565b80955050505050509250929050565b6000602082840312156104f357600080fd5b610293826103cb565b6000825161050e8184602087016103fd565b9190910192915050565b60208152600082518060208401526105378160408501602087016103fd565b601f01601f19169190910160400192915050565b61014c8061055a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100c2565b565b600061005c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bd91906100e6565b905090565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b6000602082840312156100f857600080fd5b81516001600160a01b038116811461010f57600080fd5b939250505056fea26469706673582212207b4f4f4bd905b812712d76801c617b8aa3f4c3f8d6d9e59a18563606189dd4e564736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220abbaabd2913dcb3339a847d136a51f10d58a5d96e27dd20fb362a42be07a9f1864736f6c63430008130033";
|
|
963
|
+
"0x60a06040523060805234801561001457600080fd5b50608051613eae61004c600039600081816109b6015281816109f901528181610a8a01528181610acd0152610cb70152613eae6000f3fe608060405260043610620001645760003560e01c806301ffc9a71462000169578063038defd714620001a35780630b1ca49a14620001d9578063248a9ca3146200020057806324a9d85314620002345780632f2ff15d146200027057806336568abe14620002955780633659cfe614620002ba5780634690484014620002df57806347ccca0214620003105780634f1ef28614620003325780634f962c8c146200034957806352d1902d146200036e57806357b707671462000386578063592f7b0514620003ab57806376967ae014620003d15780638abf607714620003f657806391d1485414620004185780639cedd89b146200043d5780639cf5c6131462000477578063a217fddf146200049c578063ac4afa3814620004b3578063ae6ec80114620004d8578063ca6d56dc14620004fd578063d547741f1462000522578063e9e50b041462000547578063f8a2334c146200056c578063fcf1e0091462000591575b600080fd5b3480156200017657600080fd5b506200018e620001883660046200206d565b620005b6565b60405190151581526020015b60405180910390f35b348015620001b057600080fd5b50620001c8620001c2366004620020c1565b620005ee565b6040516200019a9392919062002135565b348015620001e657600080fd5b50620001fe620001f8366004620020c1565b62000739565b005b3480156200020d57600080fd5b50620002256200021f36600462002170565b620008ee565b6040519081526020016200019a565b3480156200024157600080fd5b5060ff546200025a90600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016200019a565b3480156200027d57600080fd5b50620001fe6200028f3660046200218a565b62000903565b348015620002a257600080fd5b50620001fe620002b43660046200218a565b6200092a565b348015620002c757600080fd5b50620001fe620002d9366004620020c1565b620009ac565b348015620002ec57600080fd5b5060ff5462000301906001600160a01b031681565b6040516200019a9190620021ca565b3480156200031d57600080fd5b5060fc5462000301906001600160a01b031681565b620001fe62000343366004620022b0565b62000a80565b3480156200035657600080fd5b50620001fe620003683660046200233d565b62000b41565b3480156200037b57600080fd5b506200022562000caa565b3480156200039357600080fd5b5062000301620003a536600462002388565b62000d5b565b348015620003b857600080fd5b5060fc546200025a90600160a01b900463ffffffff1681565b348015620003de57600080fd5b5062000301620003f03660046200256b565b62000d95565b3480156200040357600080fd5b5060fb5462000301906001600160a01b031681565b3480156200042557600080fd5b506200018e620004373660046200218a565b62000ed9565b3480156200044a57600080fd5b50620003016200045c36600462002170565b60fe602052600090815260409020546001600160a01b031681565b3480156200048457600080fd5b50620001fe62000496366004620026f1565b62000f04565b348015620004a957600080fd5b5062000225600081565b348015620004c057600080fd5b5062000301620004d236600462002170565b62000f6d565b348015620004e557600080fd5b5062000301620004f73660046200256b565b62000f99565b3480156200050a57600080fd5b50620001fe6200051c366004620020c1565b620010d1565b3480156200052f57600080fd5b50620001fe620005413660046200218a565b6200114d565b3480156200055457600080fd5b50620001fe6200056636600462002724565b6200116f565b3480156200057957600080fd5b50620001fe6200058b3660046200275e565b620011bc565b3480156200059e57600080fd5b50620001fe620005b0366004620020c1565b6200138a565b60006001600160e01b03198216637965db0b60e01b1480620005e857506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fd602052600090815260409020805481906200060b90620027ca565b80601f01602080910402602001604051908101604052809291908181526020018280546200063990620027ca565b80156200068a5780601f106200065e576101008083540402835291602001916200068a565b820191906000526020600020905b8154815290600101906020018083116200066c57829003601f168201915b5050506001840154600285018054949560ff909216949193509150620006b090620027ca565b80601f0160208091040260200160405190810160405280929190818152602001828054620006de90620027ca565b80156200072f5780601f1062000703576101008083540402835291602001916200072f565b820191906000526020600020905b8154815290600101906020018083116200071157829003601f168201915b5050505050905083565b33600090815260fd6020526040902060020180546200075890620027ca565b90506000036200077b57604051630cc15fbb60e11b815260040160405180910390fd5b60005b6001600160a01b03821660009081526101006020526040902054811015620008ea576001600160a01b038216600090815261010060205260409020805433919083908110620007d157620007d162002806565b6000918252602090912001546001600160a01b031603620008d5576001600160a01b0382166000908152610100602052604090208054620008159060019062002832565b8154811062000828576200082862002806565b60009182526020808320909101546001600160a01b038581168452610100909252604090922080549190921691908390811062000869576200086962002806565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918416815261010090915260409020805480620008b257620008b262002848565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620008e1816200285e565b9150506200077e565b5050565b60009081526065602052604090206001015490565b6200090e82620008ee565b620009198162001435565b62000925838362001441565b505050565b6001600160a01b0381163314620009a05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008ea8282620014cb565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620009f75760405162461bcd60e51b815260040162000997906200287a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000a2b62001535565b6001600160a01b03161462000a545760405162461bcd60e51b81526004016200099790620028b5565b62000a5f8162001552565b6040805160008082526020820190925262000a7d918391906200155f565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000acb5760405162461bcd60e51b815260040162000997906200287a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000aff62001535565b6001600160a01b03161462000b285760405162461bcd60e51b81526004016200099790620028b5565b62000b338262001552565b620008ea828260016200155f565b81806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000b90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bb69190620028f0565b336040518363ffffffff1660e01b815260040162000bd69291906200290a565b602060405180830381865afa15801562000bf4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c1a919062002921565b151560000362000c3d57604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038316600090815260fd6020526040902062000c6183826200298b565b50826001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8360405162000c9d919062002a57565b60405180910390a2505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000d475760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000997565b5060008051602062003e3283398151915290565b610100602052816000526040600020818154811062000d7957600080fd5b6000918252602090912001546001600160a01b03169150829050565b8451602080870191909120600090815260fe909152604081205486906001600160a01b0316801562000ebc57806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000e0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e359190620028f0565b336040518363ffffffff1660e01b815260040162000e559291906200290a565b602060405180830381865afa15801562000e73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e99919062002921565b151560000362000ebc57604051631d799a6d60e21b815260040160405180910390fd5b62000ecd88888888886000620016d7565b98975050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600062000f118162001435565b6001600160a01b038316600081815260fd6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910162000c9d565b610101818154811062000f7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b8451602080870191909120600090815260fe909152604081205486906001600160a01b03168015620010c057806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001013573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010399190620028f0565b336040518363ffffffff1660e01b8152600401620010599291906200290a565b602060405180830381865afa15801562001077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200109d919062002921565b1515600003620010c057604051631d799a6d60e21b815260040160405180910390fd5b62000ecd88888888886001620016d7565b33600090815260fd602052604090206002018054620010f090620027ca565b90506000036200111357604051630cc15fbb60e11b815260040160405180910390fd5b6001600160a01b03166000908152610100602090815260408220805460018101825590835291200180546001600160a01b03191633179055565b6200115882620008ee565b620011638162001435565b620009258383620014cb565b60006200117c8162001435565b5060ff80546001600160a01b039093166001600160a01b031963ffffffff909316600160a01b02929092166001600160c01b031990931692909217179055565b600054610100900460ff1615808015620011dd5750600054600160ff909116105b80620012025750620011ef3062001b9e565b15801562001202575060005460ff166001145b620012675760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000997565b6000805460ff1916600117905580156200128b576000805461ff0019166101001790555b60fc805463ffffffff60a01b1916600160a01b1790556040518590620012b19062002043565b620012bd9190620021ca565b604051809103906000f080158015620012da573d6000803e3d6000fd5b5060fb80546001600160a01b03199081166001600160a01b039384161790915560fc805490911686831617905560ff80549185166001600160c01b031990921691909117600160a01b63ffffffff8516021790556200133b60008762001bad565b801562001382576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000620013978162001435565b60fb54604051631b2ce7f360e11b81526001600160a01b0390911690633659cfe690620013c9908590600401620021ca565b600060405180830381600087803b158015620013e457600080fd5b505af1158015620013f9573d6000803e3d6000fd5b50506040516001600160a01b03851692507f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c79150600090a25050565b62000a7d813362001bb9565b6200144d828262000ed9565b620008ea5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620014873390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b620014d7828262000ed9565b15620008ea5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062003e32833981519152546001600160a01b031690565b6000620008ea8162001435565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200159557620009258362001c1d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620015f2575060408051601f3d908101601f19168201909252620015ef91810190620028f0565b60015b620016575760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000997565b60008051602062003e328339815191528114620016c95760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000997565b506200092583838362001cbc565b60fc5463ffffffff600160a01b8204168552604051600091829162001711916001600160a01b031690889088908890309060240162002bb1565b60408051601f198184030181529190526020810180516001600160e01b0316634b1e337f60e01b17905290508215620017965760fb546040516001600160a01b03909116908290620017639062002051565b6200177092919062002c05565b604051809103906000f0801580156200178d573d6000803e3d6000fd5b5091506200184d565b60fb60009054906101000a90046001600160a01b03166001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001810919062002c33565b816040516200181f906200205f565b6200182c92919062002c05565b604051809103906000f08015801562001849573d6000803e3d6000fd5b5091505b60fc54604051634e93f47b60e01b815263ffffffff600160a01b83041660048201526001600160a01b0390911690632f2ff15d908290634e93f47b90602401602060405180830381865afa158015620018aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018d09190620028f0565b846040518363ffffffff1660e01b8152600401620018f09291906200290a565b600060405180830381600087803b1580156200190b57600080fd5b505af115801562001920573d6000803e3d6000fd5b505089516020808c0191909120600090815260fe90915260409020546001600160a01b031691506200198190505787516020808a0191909120600090815260fe9091526040902080546001600160a01b0319166001600160a01b0384161790555b6001600160a01b038216600090815260fd60205260409020620019a588826200298b565b506001600160a01b038216600090815260fd60205260409020600201620019cd89826200298b565b50604051632f2ff15d60e01b81526001600160a01b03831690632f2ff15d90620019ff9060009033906004016200290a565b600060405180830381600087803b15801562001a1a57600080fd5b505af115801562001a2f573d6000803e3d6000fd5b5050604051631b2b455f60e11b81526001600160a01b03851692506336568abe915062001a649060009030906004016200290a565b600060405180830381600087803b15801562001a7f57600080fd5b505af115801562001a94573d6000803e3d6000fd5b505061010180546001810182556000919091527f109ea3cebb188b9c1b9fc5bb3920be60dfdc8699098dff92f3d80daaca7476890180546001600160a01b0319166001600160a01b038616179055505060fc54604051600160a01b90910463ffffffff169062001b06908a9062002c53565b6040518091039020836001600160a01b03167fabf24e13dd04b5233e0ccecc88963e42e9d8b5ceae25458b61109fcbc0201bfe8a8a8a60405162001b4d9392919062002c71565b60405180910390a460fc8054600160a01b900463ffffffff1690601462001b748362002cac565b91906101000a81548163ffffffff021916908363ffffffff16021790555050509695505050505050565b6001600160a01b03163b151590565b620008ea828262001441565b62001bc5828262000ed9565b620008ea5762001bd58162001ced565b62001be283602062001d00565b60405160200162001bf592919062002cd2565b60408051601f198184030181529082905262461bcd60e51b8252620009979160040162002a57565b62001c288162001b9e565b62001c8c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000997565b60008051602062003e3283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62001cc78362001ec0565b60008251118062001cd55750805b15620009255762001ce7838362001f02565b50505050565b6060620005e86001600160a01b03831660145b6060600062001d1183600262002d45565b62001d1e90600262002d5f565b6001600160401b0381111562001d385762001d38620021de565b6040519080825280601f01601f19166020018201604052801562001d63576020820181803683370190505b509050600360fc1b8160008151811062001d815762001d8162002806565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001db35762001db362002806565b60200101906001600160f81b031916908160001a905350600062001dd984600262002d45565b62001de690600162002d5f565b90505b600181111562001e68576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001e1e5762001e1e62002806565b1a60f81b82828151811062001e375762001e3762002806565b60200101906001600160f81b031916908160001a90535060049490941c9362001e608162002d75565b905062001de9565b50831562001eb95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162000997565b9392505050565b62001ecb8162001c1d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001f0f8362001b9e565b62001f6c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840162000997565b600080846001600160a01b03168460405162001f89919062002c53565b600060405180830381855af49150503d806000811462001fc6576040519150601f19603f3d011682016040523d82523d6000602084013e62001fcb565b606091505b509150915062001ff6828260405180606001604052806027815260200162003e526027913962001fff565b95945050505050565b606083156200201057508162001eb9565b62001eb98383815115620020275781518083602001fd5b8060405162461bcd60e51b815260040162000997919062002a57565b6104c98062002d9083390190565b6106cd806200325983390190565b6104ec806200392683390190565b6000602082840312156200208057600080fd5b81356001600160e01b03198116811462001eb957600080fd5b6001600160a01b038116811462000a7d57600080fd5b8035620020bc8162002099565b919050565b600060208284031215620020d457600080fd5b813562001eb98162002099565b60005b83811015620020fe578181015183820152602001620020e4565b50506000910152565b6000815180845262002121816020860160208601620020e1565b601f01601f19169290920160200192915050565b6060815260006200214a606083018662002107565b8415156020840152828103604084015262002166818562002107565b9695505050505050565b6000602082840312156200218357600080fd5b5035919050565b600080604083850312156200219e57600080fd5b823591506020830135620021b28162002099565b809150509250929050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156200221a576200221a620021de565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200224b576200224b620021de565b604052919050565b60006001600160401b038311156200226f576200226f620021de565b62002284601f8401601f191660200162002220565b90508281528383830111156200229957600080fd5b828260208301376000602084830101529392505050565b60008060408385031215620022c457600080fd5b8235620022d18162002099565b915060208301356001600160401b03811115620022ed57600080fd5b8301601f81018513620022ff57600080fd5b620023108582356020840162002253565b9150509250929050565b600082601f8301126200232c57600080fd5b62001eb98383356020850162002253565b600080604083850312156200235157600080fd5b82356200235e8162002099565b915060208301356001600160401b038111156200237a57600080fd5b62002310858286016200231a565b600080604083850312156200239c57600080fd5b8235620023a98162002099565b946020939093013593505050565b803563ffffffff81168114620020bc57600080fd5b60006001600160401b03821115620023e857620023e8620021de565b5060051b60200190565b600082601f8301126200240457600080fd5b813560206200241d6200241783620023cc565b62002220565b82815260059290921b840181019181810190868411156200243d57600080fd5b8286015b848110156200246c57803561ffff811681146200245e5760008081fd5b835291830191830162002441565b509695505050505050565b600082601f8301126200248957600080fd5b813560206200249c6200241783620023cc565b82815260059290921b84018101918181019086841115620024bc57600080fd5b8286015b848110156200246c5780356001600160801b0381168114620024e25760008081fd5b8352918301918301620024c0565b801515811462000a7d57600080fd5b8035620020bc81620024f0565b6000606082840312156200251f57600080fd5b604051606081016001600160401b0381118282101715620025445762002544620021de565b80604052508091508235815260208301356020820152604083013560408201525092915050565b600080600080600060e086880312156200258457600080fd5b85356001600160401b03808211156200259c57600080fd5b620025aa89838a016200231a565b96506020880135915080821115620025c157600080fd5b620025cf89838a016200231a565b95506040880135915080821115620025e657600080fd5b90870190610100828a031215620025fc57600080fd5b62002606620021f4565b6200261183620023b7565b81526020830135828111156200262657600080fd5b620026348b828601620023f2565b6020830152506040830135828111156200264d57600080fd5b6200265b8b82860162002477565b6040830152506200266f60608401620020af565b60608201526200268260808401620020af565b60808201526200269560a08401620020af565b60a0820152620026a860c08401620020af565b60c0820152620026bb60e08401620024ff565b60e0820152809550505050620026d587606088016200250c565b9150620026e560c08701620023b7565b90509295509295909350565b600080604083850312156200270557600080fd5b8235620027128162002099565b91506020830135620021b281620024f0565b600080604083850312156200273857600080fd5b8235620027458162002099565b91506200275560208401620023b7565b90509250929050565b600080600080600060a086880312156200277757600080fd5b8535620027848162002099565b94506020860135620027968162002099565b93506040860135620027a88162002099565b92506060860135620027ba8162002099565b9150620026e560808701620023b7565b600181811c90821680620027df57607f821691505b6020821081036200280057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115620005e857620005e86200281c565b634e487b7160e01b600052603160045260246000fd5b6000600182016200287357620028736200281c565b5060010190565b6020808252602c9082015260008051602062003e1283398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062003e1283398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200290357600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200293457600080fd5b815162001eb981620024f0565b601f8211156200092557600081815260208120601f850160051c810160208610156200296a5750805b601f850160051c820191505b81811015620013825782815560010162002976565b81516001600160401b03811115620029a757620029a7620021de565b620029bf81620029b88454620027ca565b8462002941565b602080601f831160018114620029f75760008415620029de5750858301515b600019600386901b1c1916600185901b17855562001382565b600085815260208120601f198616915b8281101562002a285788860151825594840194600190910190840162002a07565b508582101562002a475787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001eb9602083018462002107565b600081518084526020808501945080840160005b8381101562002aa75781516001600160801b03168752958201959082019060010162002a80565b509495945050505050565b805163ffffffff168252602080820151610100828501819052815190850181905260009261012086019281019184905b8082101562002b0857835161ffff16855293820193928201926001919091019062002ae2565b505050506040830151848203604086015262002b25828262002a6c565b915050606083015162002b3c6060860182620021bd565b50608083015162002b516080860182620021bd565b5060a083015162002b6660a0860182620021bd565b5060c083015162002b7b60c0860182620021bd565b5060e083015162002b9060e086018215159052565b509392505050565b8051825260208082015190830152604090810151910152565b600060018060a01b03808816835260e0602084015262002bd560e084018862002ab2565b915062002be6604084018762002b98565b63ffffffff851660a084015280841660c0840152509695505050505050565b6001600160a01b038316815260406020820181905260009062002c2b9083018462002107565b949350505050565b60006020828403121562002c4657600080fd5b815162001eb98162002099565b6000825162002c67818460208701620020e1565b9190910192915050565b60a08152600062002c8660a083018662002107565b828103602084015262002c9a818662002ab2565b91505062002c2b604083018462002b98565b600063ffffffff80831681810362002cc85762002cc86200281c565b6001019392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162002d06816017850160208801620020e1565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162002d39816028840160208801620020e1565b01602801949350505050565b8082028115828204841417620005e857620005e86200281c565b80820180821115620005e857620005e86200281c565b60008162002d875762002d876200281c565b50600019019056fe608060405234801561001057600080fd5b506040516104c93803806104c983398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610350806101796000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100aa575b600080fd5b61006f61006a3660046102ea565b6100bd565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f610105565b61007e610119565b61006f6100b83660046102ea565b610128565b6100c56101a6565b6100ce81610205565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61010d6101a6565b610117600061029a565b565b6000546001600160a01b031690565b6101306101a6565b6001600160a01b03811661019a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6101a38161029a565b50565b336101af610119565b6001600160a01b0316146101175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610191565b6001600160a01b0381163b6102785760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b6064820152608401610191565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156102fc57600080fd5b81356001600160a01b038116811461031357600080fd5b939250505056fea264697066735822122038970e7cf09dc887c70d5260fa612ed542a4b7fc825586d54bcad83fc1ebdd9164736f6c6343000813003360806040526040516106cd3803806106cd83398101604081905261002291610421565b61002e82826000610035565b505061054b565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e1565b8361026e565b505b505050565b6100ff8161029a565b61015e5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101c8816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c391906104e1565b61029a565b61022d5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610155565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029383836040518060600160405280602781526020016106a6602791396102a9565b9392505050565b6001600160a01b03163b151590565b6060600080856001600160a01b0316856040516102c691906104fc565b600060405180830381855af49150503d8060008114610301576040519150601f19603f3d011682016040523d82523d6000602084013e610306565b606091505b50909250905061031886838387610322565b9695505050505050565b6060831561038f5782516000036103885761033c8561029a565b6103885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610155565b5081610399565b61039983836103a1565b949350505050565b8151156103b15781518083602001fd5b8060405162461bcd60e51b81526004016101559190610518565b80516001600160a01b03811681146103e257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610418578181015183820152602001610400565b50506000910152565b6000806040838503121561043457600080fd5b61043d836103cb565b60208401519092506001600160401b038082111561045a57600080fd5b818501915085601f83011261046e57600080fd5b815181811115610480576104806103e7565b604051601f8201601f19908116603f011681019083821181831017156104a8576104a86103e7565b816040528281528860208487010111156104c157600080fd5b6104d28360208301602088016103fd565b80955050505050509250929050565b6000602082840312156104f357600080fd5b610293826103cb565b6000825161050e8184602087016103fd565b9190910192915050565b60208152600082518060208401526105378160408501602087016103fd565b601f01601f19169190910160400192915050565b61014c8061055a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100c2565b565b600061005c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bd91906100e6565b905090565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b6000602082840312156100f857600080fd5b81516001600160a01b038116811461010f57600080fd5b939250505056fea26469706673582212207b4f4f4bd905b812712d76801c617b8aa3f4c3f8d6d9e59a18563606189dd4e564736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122044f5c400a13c9fd8ca4b2b561a2460b2351e0706773dd9516462a1e1f772b88e64736f6c63430008130033";
|
|
941
964
|
|
|
942
965
|
type DirectPaymentsFactoryConstructorParams =
|
|
943
966
|
| [signer?: Signer]
|
|
@@ -1050,6 +1050,24 @@ const _abi = [
|
|
|
1050
1050
|
stateMutability: "view",
|
|
1051
1051
|
type: "function",
|
|
1052
1052
|
},
|
|
1053
|
+
{
|
|
1054
|
+
inputs: [],
|
|
1055
|
+
name: "getManagerFee",
|
|
1056
|
+
outputs: [
|
|
1057
|
+
{
|
|
1058
|
+
internalType: "address",
|
|
1059
|
+
name: "feeRecipient",
|
|
1060
|
+
type: "address",
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
internalType: "uint32",
|
|
1064
|
+
name: "feeBps",
|
|
1065
|
+
type: "uint32",
|
|
1066
|
+
},
|
|
1067
|
+
],
|
|
1068
|
+
stateMutability: "view",
|
|
1069
|
+
type: "function",
|
|
1070
|
+
},
|
|
1053
1071
|
{
|
|
1054
1072
|
inputs: [
|
|
1055
1073
|
{
|
|
@@ -1083,6 +1101,16 @@ const _abi = [
|
|
|
1083
1101
|
name: "totalFees",
|
|
1084
1102
|
type: "uint256",
|
|
1085
1103
|
},
|
|
1104
|
+
{
|
|
1105
|
+
internalType: "uint256",
|
|
1106
|
+
name: "protocolFees",
|
|
1107
|
+
type: "uint256",
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
internalType: "uint256",
|
|
1111
|
+
name: "managerFees",
|
|
1112
|
+
type: "uint256",
|
|
1113
|
+
},
|
|
1086
1114
|
{
|
|
1087
1115
|
internalType: "int96",
|
|
1088
1116
|
name: "incomeFlowRate",
|
|
@@ -1093,6 +1121,11 @@ const _abi = [
|
|
|
1093
1121
|
name: "feeRate",
|
|
1094
1122
|
type: "int96",
|
|
1095
1123
|
},
|
|
1124
|
+
{
|
|
1125
|
+
internalType: "int96",
|
|
1126
|
+
name: "managerFeeRate",
|
|
1127
|
+
type: "int96",
|
|
1128
|
+
},
|
|
1096
1129
|
],
|
|
1097
1130
|
stateMutability: "view",
|
|
1098
1131
|
type: "function",
|
|
@@ -1349,6 +1382,11 @@ const _abi = [
|
|
|
1349
1382
|
name: "_limits",
|
|
1350
1383
|
type: "tuple",
|
|
1351
1384
|
},
|
|
1385
|
+
{
|
|
1386
|
+
internalType: "uint32",
|
|
1387
|
+
name: "_managerFeeBps",
|
|
1388
|
+
type: "uint32",
|
|
1389
|
+
},
|
|
1352
1390
|
{
|
|
1353
1391
|
internalType: "contract DirectPaymentsFactory",
|
|
1354
1392
|
name: "_registry",
|
|
@@ -1402,6 +1440,19 @@ const _abi = [
|
|
|
1402
1440
|
stateMutability: "view",
|
|
1403
1441
|
type: "function",
|
|
1404
1442
|
},
|
|
1443
|
+
{
|
|
1444
|
+
inputs: [],
|
|
1445
|
+
name: "managerFeeBps",
|
|
1446
|
+
outputs: [
|
|
1447
|
+
{
|
|
1448
|
+
internalType: "uint32",
|
|
1449
|
+
name: "",
|
|
1450
|
+
type: "uint32",
|
|
1451
|
+
},
|
|
1452
|
+
],
|
|
1453
|
+
stateMutability: "view",
|
|
1454
|
+
type: "function",
|
|
1455
|
+
},
|
|
1405
1456
|
{
|
|
1406
1457
|
inputs: [
|
|
1407
1458
|
{
|
|
@@ -1735,6 +1786,11 @@ const _abi = [
|
|
|
1735
1786
|
name: "_settings",
|
|
1736
1787
|
type: "tuple",
|
|
1737
1788
|
},
|
|
1789
|
+
{
|
|
1790
|
+
internalType: "uint32",
|
|
1791
|
+
name: "_managerFeeBps",
|
|
1792
|
+
type: "uint32",
|
|
1793
|
+
},
|
|
1738
1794
|
],
|
|
1739
1795
|
name: "setPoolSettings",
|
|
1740
1796
|
outputs: [],
|
|
@@ -1808,6 +1864,21 @@ const _abi = [
|
|
|
1808
1864
|
name: "lastIncomeRate",
|
|
1809
1865
|
type: "int96",
|
|
1810
1866
|
},
|
|
1867
|
+
{
|
|
1868
|
+
internalType: "address",
|
|
1869
|
+
name: "lastManagerFeeRecipient",
|
|
1870
|
+
type: "address",
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
internalType: "uint256",
|
|
1874
|
+
name: "protocolFees",
|
|
1875
|
+
type: "uint256",
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
internalType: "uint256",
|
|
1879
|
+
name: "managerFees",
|
|
1880
|
+
type: "uint256",
|
|
1881
|
+
},
|
|
1811
1882
|
],
|
|
1812
1883
|
stateMutability: "view",
|
|
1813
1884
|
type: "function",
|
|
@@ -1854,6 +1925,62 @@ const _abi = [
|
|
|
1854
1925
|
stateMutability: "nonpayable",
|
|
1855
1926
|
type: "function",
|
|
1856
1927
|
},
|
|
1928
|
+
{
|
|
1929
|
+
inputs: [
|
|
1930
|
+
{
|
|
1931
|
+
internalType: "address",
|
|
1932
|
+
name: "_sender",
|
|
1933
|
+
type: "address",
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
components: [
|
|
1937
|
+
{
|
|
1938
|
+
internalType: "address",
|
|
1939
|
+
name: "swapFrom",
|
|
1940
|
+
type: "address",
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
internalType: "uint256",
|
|
1944
|
+
name: "amount",
|
|
1945
|
+
type: "uint256",
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
internalType: "uint256",
|
|
1949
|
+
name: "minReturn",
|
|
1950
|
+
type: "uint256",
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
internalType: "uint256",
|
|
1954
|
+
name: "deadline",
|
|
1955
|
+
type: "uint256",
|
|
1956
|
+
},
|
|
1957
|
+
{
|
|
1958
|
+
internalType: "bytes",
|
|
1959
|
+
name: "path",
|
|
1960
|
+
type: "bytes",
|
|
1961
|
+
},
|
|
1962
|
+
],
|
|
1963
|
+
internalType: "struct HelperLibrary.SwapData",
|
|
1964
|
+
name: "_customData",
|
|
1965
|
+
type: "tuple",
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
internalType: "bytes",
|
|
1969
|
+
name: "_ctx",
|
|
1970
|
+
type: "bytes",
|
|
1971
|
+
},
|
|
1972
|
+
],
|
|
1973
|
+
name: "supportWithSwap",
|
|
1974
|
+
outputs: [
|
|
1975
|
+
{
|
|
1976
|
+
internalType: "bytes",
|
|
1977
|
+
name: "",
|
|
1978
|
+
type: "bytes",
|
|
1979
|
+
},
|
|
1980
|
+
],
|
|
1981
|
+
stateMutability: "nonpayable",
|
|
1982
|
+
type: "function",
|
|
1983
|
+
},
|
|
1857
1984
|
{
|
|
1858
1985
|
inputs: [
|
|
1859
1986
|
{
|
|
@@ -1962,7 +2089,7 @@ const _abi = [
|
|
|
1962
2089
|
] as const;
|
|
1963
2090
|
|
|
1964
2091
|
const _bytecode =
|
|
1965
|
-
"0x60e06040523060c0523480156200001557600080fd5b50604051620060c6380380620060c6833981016040819052620000389162000098565b6001600160a01b038216608081905282908290620000695760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b031660a05250620000d7915050565b6001600160a01b03811681146200009557600080fd5b50565b60008060408385031215620000ac57600080fd5b8251620000b9816200007f565b6020840151909250620000cc816200007f565b809150509250929050565b60805160a05160c051615f5d62000169600039600081816110fa0152818161113a0152818161123a0152818161127a01526112f201526000818161086d0152610ec3015260008181610acd01528181610e4501528181610fbc015281816113a00152818161148d015281816116310152818161182501528181611f0d01528181612927015261298c0152615f5d6000f3fe60806040526004361061022e5760003560e01c80630150aefb1461023357806301d06a8c1461027957806301ffc9a71461029b5780630c710776146102bb578063150b7a02146102e75780631a2a84b3146103205780631bb15f3d1461034e5780631db128c7146103fa578063230dbd2914610427578063248a9ca3146104475780632b4116f7146104675780632f2ff15d1461049457806330d9c915146104b457806336568abe146104d45780633659cfe6146104f4578063379607f51461051457806347ccca02146105345780634f1ef2861461055557806352d1902d1461056857806353c11f991461057d5780635ab1bd531461059d5780635f9e7d77146105b2578063647c75e2146105d257806372ca8a3e1461064357806376ba085b146106635780637b10399914610683578063860aefcf146106a4578063884d1f40146106e157806391d14854146107015780639f351ce4146107215780639f8fddd214610741578063a10f469e14610761578063a217fddf14610783578063a4c0ed3614610798578063ae827200146107b8578063bcb4546f146107cb578063bd499dee146107ed578063c2e11e3f1461080d578063c31c9c071461085b578063d3112b2e1461088f578063d5391393146108c4578063d547741f146108e6578063d80528ae14610906578063d86ed3e514610972578063dc61d5c214610992578063e06174e4146109d0578063ec87621c14610a67578063f3d5e34814610a9b578063f437bc5914610abb575b600080fd5b34801561023f57600080fd5b5061026461024e3660046145da565b61013e6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561028557600080fd5b5061029961029436600461492e565b610aef565b005b3480156102a757600080fd5b506102646102b6366004614962565b610c91565b3480156102c757600080fd5b506102d46459df64940081565b604051600b9190910b8152602001610270565b3480156102f357600080fd5b506103076103023660046149d4565b610cc8565b6040516001600160e01b03199091168152602001610270565b34801561032c57600080fd5b5061034061033b366004614a46565b610d83565b604051908152602001610270565b34801561035a57600080fd5b506103b6610369366004614a46565b61014060205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692918216916001600160401b03918104821691600160c01b9091041685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160401b039081166060830152909116608082015260a001610270565b34801561040657600080fd5b5061041a610415366004614adb565b610e23565b6040516102709190614bff565b34801561043357600080fd5b5061041a610442366004614c12565b610f32565b34801561045357600080fd5b506103406104623660046145da565b610f79565b34801561047357600080fd5b50609754610487906001600160a01b031681565b6040516102709190614ce9565b3480156104a057600080fd5b506102996104af366004614cfd565b610f8e565b3480156104c057600080fd5b5061041a6104cf366004614d2d565b610faf565b3480156104e057600080fd5b506102996104ef366004614cfd565b611072565b34801561050057600080fd5b5061029961050f366004614a46565b6110f0565b34801561052057600080fd5b5061029961052f3660046145da565b6111b8565b34801561054057600080fd5b5061013d54610487906001600160a01b031681565b610299610563366004614dcb565b611230565b34801561057457600080fd5b506103406112e5565b34801561058957600080fd5b5061041a610598366004614c12565b611393565b3480156105a957600080fd5b50610487611470565b3480156105be57600080fd5b5061041a6105cd366004614d2d565b611480565b3480156105de57600080fd5b5061061c6105ed366004614a46565b60986020526000908152604090208054600190910154600b81900b90600160601b90046001600160801b031683565b60408051938452600b9290920b60208401526001600160801b031690820152606001610270565b34801561064f57600080fd5b5061026461065e366004614a46565b611565565b34801561066f57600080fd5b5061029961067e36600461501c565b611579565b34801561068f57600080fd5b5061014354610487906001600160a01b031681565b3480156106b057600080fd5b5061013a5461013b5461013c546106c692919083565b60408051938452602084019290925290820152606001610270565b3480156106ed57600080fd5b5061041a6106fc366004614d2d565b611624565b34801561070d57600080fd5b5061026461071c366004614cfd565b611721565b34801561072d57600080fd5b5061029961073c36600461507f565b61174c565b34801561074d57600080fd5b5061041a61075c3660046150bb565b611803565b34801561076d57600080fd5b50610340600080516020615f0883398151915281565b34801561078f57600080fd5b50610340600081565b3480156107a457600080fd5b506102646107b3366004615109565b6118c7565b6102996107c6366004615164565b611940565b3480156107d757600080fd5b50610340600080516020615e6183398151915281565b3480156107f957600080fd5b506102996108083660046151f3565b6119c6565b34801561081957600080fd5b5061014154610142546103b6916001600160801b0380821692600160801b92839004821692918116916001600160401b03908204811691600160c01b90041685565b34801561086757600080fd5b506104877f000000000000000000000000000000000000000000000000000000000000000081565b34801561089b57600080fd5b50609954609a546108b6916001600160a01b03908116911682565b604051610270929190615266565b3480156108d057600080fd5b50610340600080516020615e8183398151915281565b3480156108f257600080fd5b50610299610901366004614cfd565b611c2a565b34801561091257600080fd5b50609b54609c54609d54609e5461093e939291906001600160a01b03811690600160a01b9004600b0b85565b604080519586526020860194909452928401919091526001600160a01b03166060830152600b0b608082015260a001610270565b34801561097e57600080fd5b5061041a61098d366004614c12565b611c46565b34801561099e57600080fd5b506109a7611c74565b604080519485526020850193909352600b91820b928401929092520b6060820152608001610270565b3480156109dc57600080fd5b506101335461013654610137546101385461013954610a1f9463ffffffff16936001600160a01b039081169381169281169190811690600160a01b900460ff1686565b6040805163ffffffff90971687526001600160a01b039586166020880152938516938601939093529083166060850152919091166080830152151560a082015260c001610270565b348015610a7357600080fd5b506103407f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0881565b348015610aa757600080fd5b50610299610ab6366004615280565b611d3c565b348015610ac757600080fd5b506104877f000000000000000000000000000000000000000000000000000000000000000081565b6000610afa81611da2565b61013354825163ffffffff908116911614610b2857604051630f91888160e01b815260040160405180910390fd5b60608201516001600160a01b0316610b535760405163890bc98f60e01b815260040160405180910390fd5b61013654610b6c906000906001600160a01b0316611dac565b8151610133805463ffffffff191663ffffffff9092169190911781556020808401518051859392610ba39261013492910190614476565b5060408201518051610bbf91600284019160209091019061451f565b506060828101516003830180546001600160a01b039283166001600160a01b031991821617909155608085015160048501805491841691831691909117905560a08501516005850180549184169190921617905560c08401516006909301805460e0909501511515600160a01b026001600160a81b03199095169390911692909217929092179055820151610c5690600090611e13565b7f3eed38e4b04ae182994f6ef05c58a3987f571a66d6860d9046621cc204f407a082604051610c859190615314565b60405180910390a15050565b60006001600160e01b03198216637965db0b60e01b1480610cc257506301ffc9a760e01b6001600160e01b03198316145b92915050565b61013d546040516302b5313d60e21b81526004810185905260009182916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610d17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d3f919081019061548f565b61013354815191925063ffffffff918216911614610d705760405163f26722ad60e01b815260040160405180910390fd5b50630a85bd0160e11b9695505050505050565b6001600160a01b0381166000908152609860209081526040808320815160608101835281548152600190910154600b81900b938201849052600160601b90046001600160801b031691810191909152908203610de0575192915050565b6040810151610df8906001600160801b031642615662565b81602001516001600160601b0316610e109190615675565b8151610e1c919061568c565b9392505050565b606082336001600160a01b03821614801590610e685750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15610e91573360405163087231bf60e31b8152600401610e889190614ce9565b60405180910390fd5b6097546040516358c0dacb60e01b815273__$0d78a42341742155da77b97d7f993534c7$__916358c0dacb91610ef9917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b0316908a9060040161569f565b60006040518083038186803b158015610f1157600080fd5b505af4158015610f25573d6000803e3d6000fd5b5094979650505050505050565b60606000610f4287890189615710565b509050600080610f548789018961574d565b91509150610f668d8484848a8a611e1d565b93505050505b9998505050505050505050565b60009081526065602052604090206001015490565b610f9782610f79565b610fa081611da2565b610faa8383611e64565b505050565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ffa57604051632f2d36a760e01b815260040160405180910390fd5b61100387611ee7565b6110265750604080518082019091526002815261060f60f31b6020820152611067565b61102f88611565565b61104c57604051631ea25bab60e31b815260040160405180910390fd5b50604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6001600160a01b03811633146110e25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610e88565b6110ec8282611dac565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111385760405162461bcd60e51b8152600401610e8890615779565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661116a611f9b565b6001600160a01b0316146111905760405162461bcd60e51b8152600401610e88906157b3565b61119981611fb7565b604080516000808252602082019092526111b591839190611fc2565b50565b61013d546040516302b5313d60e21b8152600481018390526111b59183916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015611208573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261073c919081019061548f565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112785760405162461bcd60e51b8152600401610e8890615779565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112aa611f9b565b6001600160a01b0316146112d05760405162461bcd60e51b8152600401610e88906157b3565b6112d982611fb7565b6110ec82826001611fc2565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113805760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610e88565b50600080516020615ec183398151915290565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806113d357506113d189611ee7565b155b806113e457506113e28a611565565b155b156114285782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350610f6c92505050565b600080611437888a018a615710565b909250905060008061144b888a018a6157ed565b9150915061145e8e858584868c8c61212d565b9e9d5050505050505050505050505050565b610143546001600160a01b031690565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806114c057506114be87611ee7565b155b806114d157506114cf88611565565b155b156114f55750604080518082019091526002815261060f60f31b6020820152611067565b60008061150486880188615710565b90925090506000806115206001600160a01b038d168585612180565b5050915091508181604051602001611545929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b6097546001600160a01b0390811691161490565b600080516020615e8183398151915261159181611da2565b61013d546040516321aa1d2160e11b81526000916001600160a01b0316906343543a42906115c89088908890600190600401615943565b6020604051808303816000875af11580156115e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160b9190615986565b9050821561161d5761161d818561174c565b5050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461166f57604051632f2d36a760e01b815260040160405180910390fd5b61167887611ee7565b61169b5750604080518082019091526002815261060f60f31b6020820152611067565b6116a488611565565b6116c157604051631ea25bab60e31b815260040160405180910390fd5b60006116cf85870187615710565b5090506000806116e96001600160a01b038c168430612180565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61013d5460405163049b73f560e31b81526001600160a01b03909116906324db9fa89061177f908590859060040161599f565b600060405180830381865afa15801561179c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117c4919081019061548f565b50600082815261013e602052604090205460ff16156117f9576040516330e51df560e11b815260048101839052602401610e88565b6110ec8282612218565b606083336001600160a01b038216148015906118485750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15611868573360405163087231bf60e31b8152600401610e889190614ce9565b8360000361188957604051630f6fa54560e41b815260040160405180910390fd5b6097546118a1906001600160a01b031686308761255f565b6118bd8585600060405180602001604052806000815250612669565b5091949350505050565b6097546000906001600160a01b031633146118f557604051630ce706f760e41b815260040160405180910390fd5b8360000361191657604051630f6fa54560e41b815260040160405180910390fd5b6119328585600060405180602001604052806000815250612669565b50600190505b949350505050565b6101435460408051638abf607760e01b815290516000926001600160a01b031691638abf60779160048083019260209291908290030181865afa15801561198b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119af91906159b8565b90506119ba81611fb7565b6110ec81836000611fc2565b600054610100900460ff16158080156119e65750600054600160ff909116105b80611a0757506119f5306128b8565b158015611a07575060005460ff166001145b611a6a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e88565b6000805460ff191660011790558015611a8d576000805461ff0019166101001790555b61014380546001600160a01b0319166001600160a01b0384161790558351610133805463ffffffff191663ffffffff9092169190911781556020808601518051879392611ae09261013492910190614476565b5060408201518051611afc91600284019160209091019061451f565b5060608201516003820180546001600160a01b039283166001600160a01b031991821617909155608084015160048401805491841691831691909117905560a084015160058401805491841691831691909117905560c08401516006909301805460e0909501511515600160a01b026001600160a81b03199095169383169390931793909317909155845161013a55602085015161013b55604085015161013c5561013d805491881691909216179055611bb7600033611e13565b611bc86000801b8560600151611e13565b61013954611bde906001600160a01b03166128c7565b801561161d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b611c3382610f79565b611c3c81611da2565b610faa8383611dac565b60606000611c5687890189615710565b509050611c658b828686612a69565b9b9a5050505050505050505050565b60975460405163b2f918a160e01b8152609b546004820152609c546024820152609d546044820152609e546001600160a01b03818116606484015260a09190911d600b0b608483015290911660a482015260009081908190819073__$0d78a42341742155da77b97d7f993534c7$__9063b2f918a19060c401608060405180830381865af4158015611d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2e91906159d5565b935093509350935090919293565b6000611d4781611da2565b815161013a8190556020808401805161013b556040808601805161013c55815194855291519284019290925251908201527f220b9fb6f33ff05be83cf4d215109467b91026cf1f239e2acb4b7095cf09d5c590606001610c85565b6111b58133612ab7565b611db68282611721565b156110ec5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6110ec8282611e64565b60606110678686600b0b8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061266992505050565b600080516020615f088339815191528203611edd576101435460405163329b55b760e21b81526001600160a01b039091169063ca6d56dc90611eaa908490600401614ce9565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505050505b6110ec8282612b10565b604051635b69006f60e11b8152600080516020615e6183398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015611f5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8091906159b8565b6001600160a01b0316826001600160a01b0316149050919050565b600080516020615ec1833981519152546001600160a01b031690565b60006110ec81611da2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611ff557610faa83612b96565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561204f575060408051601f3d908101601f1916820190925261204c91810190615986565b60015b6120b25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610e88565b600080516020615ec183398151915281146121215760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610e88565b50610faa838383612c30565b60606121748786600b0b8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061266992505050565b98975050505050505050565b600080600080600061219188612c5b565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e888906121c5908b908b908b90600401615a15565b608060405180830381865afa1580156121e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122069190615a38565b929b919a509850909650945050505050565b600082815261013e6020526040808220805460ff191660011790556101395490516370a0823160e01b815282916001600160a01b0316906370a0823190612263903090600401614ce9565b602060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a49190615986565b61013954909150600160a01b900460ff1660005b84606001515181101561251d576000856060015182815181106122dd576122dd615a76565b602002602001015160400151838015612320575060008760600151848151811061230957612309615a76565b602002602001015160a001516001600160801b0316115b6123535761234e8760600151848151811061233d5761233d615a76565b602002602001015160000151612dca565b612376565b8660600151838151811061236957612369615a76565b602002602001015160a001515b6001600160801b03166123899190615675565b9050801561250a5761239b818661568c565b9450838511156123be5760405163701b93d160e11b815260040160405180910390fd5b6123c88585615662565b93506123f5866060015183815181106123e3576123e3615a76565b60200260200101516080015182612e81565b867f66417923523a2d06a43299cb4e498d17eef686f73ae2484f05c36479f5ae5a6d8760600151848151811061242d5761242d615a76565b6020026020010151600001518860600151858151811061244f5761244f615a76565b6020026020010151602001518960600151868151811061247157612471615a76565b6020026020010151604001518a60600151878151811061249357612493615a76565b6020026020010151606001518b6060015188815181106124b5576124b5615a76565b6020026020010151608001518c6060015189815181106124d7576124d7615a76565b60200260200101516080015151886124ef9190615aa2565b60405161250196959493929190615ab6565b60405180910390a25b508061251581615b13565b9150506122b8565b50847fdc780326abc7aa2bf7cfbd02de3cdd5c8020124228dbcbc133d6bcbd74a784cc8460405161255091815260200190565b60405180910390a25050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916125c39190615b2c565b6000604051808303816000865af19150503d8060008114612600576040519150601f19603f3d011682016040523d82523d6000602084013e612605565b606091505b509150915081801561262f57508051158061262f57508080602001905181019061262f9190615b48565b6126615760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606401610e88565b505050505050565b8051819015156126848161267d5785612f91565b6000612f91565b60975460009061269e906001600160a01b0316883061312d565b6001600160a01b03881660009081526098602052604090205490915082156127f957600082600b0b1380156126db57506459df649400600b83900b125b156126fe57604051624963df60e91b8152600b83900b6004820152602401610e88565b6001600160a01b038816600090815260986020526040902060010180546001600160e01b031916600160601b426001600160801b038116919091026001600160601b031916919091176001600160601b03851617909155612760908790615662565b612773906001600160601b038916615675565b6001600160a01b0389166000908152609860205260408120805490919061279b90849061568c565b909155506127b490506127ae8884615b65565b866131bb565b6097549094506127cd906001600160a01b031630613432565b609e80546001600160601b0392909216600160a01b026001600160a01b03909216919091179055612830565b6001600160a01b0388166000908152609860205260408120805489929061282190849061568c565b909155506128309050876134b1565b6001600160a01b0388166000818152609860205260409020547f6342e11b65ccb38a3bb259be9cda846c74ad52b36b62a2ee4799dc3db63a04a39083908661287957600061287b565b8a5b604080519384526020840192909252600b90810b8383015286900b60608301528615156080830152519081900360a00190a2505050949350505050565b6001600160a01b03163b151590565b6001600160a01b0381166128ee5760405163538ba4f960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b03838116919091179091556040516315a722b960e31b8152600160048201819052917f0000000000000000000000000000000000000000000000000000000000000000169063ad3915c890602401600060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b50506040805180820182527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168082529151635b69006f60e11b8152600080516020615e61833981519152600482015290935060208401925063b6d200de90602401602060405180830381865afa158015612a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2a91906159b8565b6001600160a01b039081169091528151609980546001600160a01b0319908116928416929092179055602090920151609a805490931691161790555050565b6060612aae8460008086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061266992505050565b95945050505050565b612ac18282611721565b6110ec57612ace816135ed565b612ad98360206135ff565b604051602001612aea929190615b92565b60408051601f198184030181529082905262461bcd60e51b8252610e8891600401614bff565b612b1a8282611721565b6110ec5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055612b523390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612b9f816128b8565b612c015760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610e88565b600080516020615ec183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c398361379a565b600082511180612c465750805b15610faa57612c5583836137da565b50505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116612d99576001600160a01b038216612d2057826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d1d91906159b8565b91505b604051635b69006f60e11b8152600080516020615e6183398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015612d72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9691906159b8565b90505b6001600160a01b038216612daf57612daf615c01565b6001600160a01b038116612dc557612dc5615c01565b915091565b6000805b61013454811015612e7857610134805482908110612dee57612dee615a76565b90600052602060002090601091828204019190066002029054906101000a900461ffff1661ffff168361ffff1603612e6657610135805482908110612e3557612e35615a76565b90600052602060002090600291828204019190066010029054906101000a90046001600160801b0316915050919050565b80612e7081615b13565b915050612dce565b50600092915050565b60008251826001600160801b0316612e999190615aa2565b90506000805b8451811015612f87576000612ecd868381518110612ebf57612ebf615a76565b6020026020010151856138c3565b90508015612f2357612f12868381518110612eea57612eea615a76565b6020908102919091010151610139546001600160a01b0316906001600160801b038716613bb6565b612f1c8484615c17565b9250612f74565b7f617c38e0fa04973365b7abb47a8f354a5b3fbe3ea04b8a0649580d208a88cc60868381518110612f5657612f56615a76565b6020026020010151604051612f6b9190614ce9565b60405180910390a15b5080612f7f81615b13565b915050612e9f565b50612c5581613c0c565b609d54612f9e9042615662565b609e54612fbb9190600160a01b90046001600160601b0316615675565b609b8054600090612fcd90849061568c565b909155506000905080612fde611470565b6001600160a01b0316146130b757612ff4611470565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130559190615c3e565b63ffffffff169050609b600201544261306e9190615662565b609e5460975461308c916001600160a01b039182169130911661312d565b6001600160601b031661309f9190615675565b609c80546000906130b190849061568c565b90915550505b8115613125576127106130ca8282615662565b6130d49084615675565b6130de9190615aa2565b609b80546000906130f090849061568c565b9091555061271090506131038284615675565b61310d9190615aa2565b609c805460009061311f90849061568c565b90915550505b505042609d55565b60008061313985612c5b565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e8889061316d90889088908890600401615a15565b608060405180830381865afa15801561318a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ae9190615a38565b5090979650505050505050565b8060006131c6611470565b6001600160a01b031614610cc25760006131de611470565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561321b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061323f91906159b8565b609e54609754919250600091613263916001600160a01b039182169130911661312d565b609e549091506000906001600160a01b038481169116146132e15750609e546001906001600160a01b0316156132c557600082600b0b13156132c557609e546097546132c291609991879130916001600160a01b039182169116613de2565b93505b609e80546001600160a01b0319166001600160a01b0385161790555b6001600160a01b0383166132f757505050610cc2565b6000612710613304611470565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613341573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133659190615c3e565b6133729060030b89615c5b565b61337c9190615c7b565b9050600061338a8285615cb9565b9050600081600b0b1315801561339e575082155b156133c8576097546133c1906099908890309089906001600160a01b0316613de2565b9550613427565b600084600b0b1380156133d9575082155b156133fb576097546133c190609990889088906001600160a01b031685613e11565b600081600b0b13156134275760975461342490609990889088906001600160a01b031685613e36565b95505b505050505092915050565b60008061343e84612c5b565b60405163e8e7e2d160e01b81529092506001600160a01b038316915063e8e7e2d1906134709087908790600401615266565b602060405180830381865afa15801561348d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119389190615ce6565b60006134bb611470565b6001600160a01b0316036134cc5750565b60006134d6611470565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015613513573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353791906159b8565b90506001600160a01b03811661354b575050565b6000612710613558611470565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b99190615c3e565b6135c99063ffffffff1685615675565b6135d39190615aa2565b609754909150610faa906001600160a01b03168383613e5b565b6060610cc26001600160a01b03831660145b6060600061360e836002615675565b61361990600261568c565b6001600160401b03811115613630576136306145f3565b6040519080825280601f01601f19166020018201604052801561365a576020820181803683370190505b509050600360fc1b8160008151811061367557613675615a76565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106136a4576136a4615a76565b60200101906001600160f81b031916908160001a90535060006136c8846002615675565b6136d390600161568c565b90505b600181111561374b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061370757613707615a76565b1a60f81b82828151811061371d5761371d615a76565b60200101906001600160f81b031916908160001a90535060049490941c9361374481615d03565b90506136d6565b508315610e1c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e88565b6137a381612b96565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606137e5836128b8565b6138405760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610e88565b600080846001600160a01b03168460405161385b9190615b2c565b600060405180830381855af49150503d8060008114613896576040519150601f19603f3d011682016040523d82523d6000602084013e61389b565b606091505b5091509150612aae8282604051806060016040528060278152602001615ee160279139613f5e565b60006138de8360405180602001604052806000815250613f77565b15156000036138ef57506000610cc2565b60006138f96140fd565b6001600160a01b03851660009081526101406020526040902060010154909150429061393890600160801b90046001600160401b031662015180615d1a565b6001600160401b0316101561397e576001600160a01b03841660009081526101406020526040902080546001600160801b0319166001600160801b0385161790556139d5565b6001600160a01b03841660009081526101406020526040812080548592906139b09084906001600160801b0316615c17565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001600160a01b038416600090815261014060205260409020600101546001600160401b03808316600160c01b909204161015613a42576001600160a01b03841660009081526101406020526040902080546001600160801b03808616600160801b029116179055613aa3565b6001600160a01b0384166000908152610140602052604090208054849190601090613a7e908490600160801b90046001600160801b0316615c17565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001600160a01b0384166000908152610140602052604081206001018054859290613ad89084906001600160801b0316615c17565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b0386166000908152610140602052604090206001810180548316600160801b426001600160401b03908116919091026001600160c01b031691909117600160c01b9187169190910217905561013c54905490911611905080613b8c575061013b546001600160a01b03851660009081526101406020526040902054600160801b90046001600160801b0316115b15613bac5783604051636e661e3360e11b8152600401610e889190614ce9565b5060019392505050565b610faa8363a9059cbb60e01b8484604051602401613bd5929190615d3a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614111565b6000613c166140fd565b610142549091504290613c3c90600160801b90046001600160401b031662015180615d1a565b6001600160401b03161015613c6c5761014180546001600160801b0319166001600160801b038416179055613cb0565b6101418054839190600090613c8b9084906001600160801b0316615c17565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b610142546001600160401b03808316600160c01b909204161015613cee5761014180546001600160801b03808516600160801b029116179055613d39565b6101418054839190601090613d14908490600160801b90046001600160801b0316615c17565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6101428054839190600090613d589084906001600160801b0316615c17565b82546101009290920a6001600160801b0381810219909316918316021790915561014280548216600160801b426001600160401b0390811682026001600160c01b031692909217600160c01b928716929092029190911790915561013a546101415491909104909116111590506110ec57604051639803f99760e01b815260040160405180910390fd5b604080516000815260208101909152606090613e0790879087908790879087906141e3565b9695505050505050565b604080516000815260208101909152606090613e0790879087908790879087906142cc565b604080516000815260208101909152606090613e079087908790879087908790614333565b600080846001600160a01b031663a9059cbb60e01b8585604051602401613e83929190615d3a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613ec19190615b2c565b6000604051808303816000865af19150503d8060008114613efe576040519150601f19603f3d011682016040523d82523d6000602084013e613f03565b606091505b5091509150818015613f2d575080511580613f2d575080806020019051810190613f2d9190615b48565b61161d5760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610e88565b60608315613f6d575081610e1c565b610e1c8383614360565b6000613f91600080516020615f0883398151915284611721565b15613f9e57506001610cc2565b610138546001600160a01b03161561403f57610138546040516316874da360e11b81526000916001600160a01b031690632d0e9b4690613fe2908790600401614ce9565b602060405180830381865afa158015613fff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402391906159b8565b90506001600160a01b03811661403d576000915050610cc2565b505b610137546001600160a01b0316156140dc57610137546040516356a42afd60e11b81526001600160a01b039091169063ad4855fa90614088903090339088908890600401615d53565b6020604051808303816000875af11580156140a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cb9190615b48565b15156000036140dc57506000610cc2565b6140f4600080516020615f0883398151915284611e64565b50600192915050565b600061410c62278d0042615aa2565b905090565b6000614166826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661438a9092919063ffffffff16565b805190915015610faa57808060200190518101906141849190615b48565b610faa5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e88565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b4b333c69061422c9089908c908c9060448101615d53565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526142799392509087908c90600401615d87565b6000604051808303816000875af1158015614298573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526142c09190810190615dd1565b50979650505050505050565b855460018701546060916001600160a01b0390811691634329d2939116806350209a62888a8960005b6040519080825280601f01601f19166020018201604052801561431f576020820181803683370190505b5060405160240161422c9493929190615e2a565b855460018701546060916001600160a01b0390811691634329d2939116806362fc305e888a8960006142f5565b8151156143705781518083602001fd5b8060405162461bcd60e51b8152600401610e889190614bff565b6060611938848460008585600080866001600160a01b031685876040516143b19190615b2c565b60006040518083038185875af1925050503d80600081146143ee576040519150601f19603f3d011682016040523d82523d6000602084013e6143f3565b606091505b5091509150611067878383876060831561446c57825160000361446557614419856128b8565b6144655760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e88565b5081611938565b6119388383614360565b82805482825590600052602060002090600f0160109004810192821561450f5791602002820160005b838211156144df57835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030261449f565b801561450d5782816101000a81549061ffff02191690556002016020816001010492830192600103026144df565b505b5061451b9291506145c5565b5090565b8280548282559060005260206000209060010160029004810192821561450f5791602002820160005b8382111561459257835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302614548565b801561450d5782816101000a8154906001600160801b030219169055601001602081600f01049283019260010302614592565b5b8082111561451b57600081556001016145c6565b6000602082840312156145ec57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b038111828210171561462c5761462c6145f3565b60405290565b60405160a081016001600160401b038111828210171561462c5761462c6145f3565b604051608081016001600160401b038111828210171561462c5761462c6145f3565b60405160c081016001600160401b038111828210171561462c5761462c6145f3565b604051601f8201601f191681016001600160401b03811182821017156146c0576146c06145f3565b604052919050565b63ffffffff811681146111b557600080fd5b80356146e5816146c8565b919050565b60006001600160401b03821115614703576147036145f3565b5060051b60200190565b61ffff811681146111b557600080fd5b80356146e58161470d565b600082601f83011261473957600080fd5b8135602061474e614749836146ea565b614698565b82815260059290921b8401810191818101908684111561476d57600080fd5b8286015b848110156147915780356147848161470d565b8352918301918301614771565b509695505050505050565b6001600160801b03811681146111b557600080fd5b80356146e58161479c565b600082601f8301126147cd57600080fd5b813560206147dd614749836146ea565b82815260059290921b840181019181810190868411156147fc57600080fd5b8286015b848110156147915780356148138161479c565b8352918301918301614800565b6001600160a01b03811681146111b557600080fd5b80356146e581614820565b80151581146111b557600080fd5b80356146e581614840565b6000610100828403121561486c57600080fd5b614874614609565b905061487f826146da565b815260208201356001600160401b038082111561489b57600080fd5b6148a785838601614728565b602084015260408401359150808211156148c057600080fd5b506148cd848285016147bc565b6040830152506148df60608301614835565b60608201526148f060808301614835565b608082015261490160a08301614835565b60a082015261491260c08301614835565b60c082015261492360e0830161484e565b60e082015292915050565b60006020828403121561494057600080fd5b81356001600160401b0381111561495657600080fd5b61193884828501614859565b60006020828403121561497457600080fd5b81356001600160e01b031981168114610e1c57600080fd5b60008083601f84011261499e57600080fd5b5081356001600160401b038111156149b557600080fd5b6020830191508360208285010111156149cd57600080fd5b9250929050565b6000806000806000608086880312156149ec57600080fd5b85356149f781614820565b94506020860135614a0781614820565b93506040860135925060608601356001600160401b03811115614a2957600080fd5b614a358882890161498c565b969995985093965092949392505050565b600060208284031215614a5857600080fd5b8135610e1c81614820565b60006001600160401b03821115614a7c57614a7c6145f3565b50601f01601f191660200190565b600082601f830112614a9b57600080fd5b8135614aa961474982614a63565b818152846020838601011115614abe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614af057600080fd5b83356001600160401b0380821115614b0757600080fd5b9085019060a08288031215614b1b57600080fd5b614b23614632565b8235614b2e81614820565b80825250602083013560208201526040830135604082015260608301356060820152608083013582811115614b6257600080fd5b614b6e89828601614a8a565b6080830152509450614b8260208701614835565b93506040860135915080821115614b9857600080fd5b50614ba586828701614a8a565b9150509250925092565b60005b83811015614bca578181015183820152602001614bb2565b50506000910152565b60008151808452614beb816020860160208601614baf565b601f01601f19169290920160200192915050565b602081526000610e1c6020830184614bd3565b600080600080600080600080600060c08a8c031215614c3057600080fd5b8935614c3b81614820565b985060208a0135614c4b81614820565b975060408a0135965060608a01356001600160401b0380821115614c6e57600080fd5b614c7a8d838e0161498c565b909850965060808c0135915080821115614c9357600080fd5b614c9f8d838e0161498c565b909650945060a08c0135915080821115614cb857600080fd5b50614cc58c828d0161498c565b915080935050809150509295985092959850929598565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215614d1057600080fd5b823591506020830135614d2281614820565b809150509250929050565b600080600080600080600060a0888a031215614d4857600080fd5b8735614d5381614820565b96506020880135614d6381614820565b95506040880135945060608801356001600160401b0380821115614d8657600080fd5b614d928b838c0161498c565b909650945060808a0135915080821115614dab57600080fd5b50614db88a828b0161498c565b989b979a50959850939692959293505050565b60008060408385031215614dde57600080fd5b8235614de981614820565b915060208301356001600160401b03811115614e0457600080fd5b614e1085828601614a8a565b9150509250929050565b600082601f830112614e2b57600080fd5b81356020614e3b614749836146ea565b82815260059290921b84018101918181019086841115614e5a57600080fd5b8286015b84811015614791578035614e7181614820565b8352918301918301614e5e565b600060808284031215614e9057600080fd5b614e98614654565b90508135614ea5816146c8565b8152602082810135614eb68161470d565b8282015260408301356001600160401b0380821115614ed457600080fd5b614ee086838701614a8a565b60408501526060850135915080821115614ef957600080fd5b818501915085601f830112614f0d57600080fd5b8135614f1b614749826146ea565b81815260059190911b83018401908481019088831115614f3a57600080fd5b8585015b8381101561500a57803585811115614f565760008081fd5b860160c0818c03601f1901811315614f6e5760008081fd5b614f76614676565b614f818a840161471d565b8152614f8f604084016146da565b8a82015260608301356040820152608083013588811115614fb05760008081fd5b614fbe8e8c83870101614a8a565b60608301525060a08084013589811115614fd85760008081fd5b614fe68f8d83880101614e1a565b608084015250614ff78385016147b1565b9082015285525050918601918601614f3e565b50606087015250939695505050505050565b60008060006060848603121561503157600080fd5b833561503c81614820565b925060208401356001600160401b0381111561505757600080fd5b61506386828701614e7e565b925050604084013561507481614840565b809150509250925092565b6000806040838503121561509257600080fd5b8235915060208301356001600160401b038111156150af57600080fd5b614e1085828601614e7e565b6000806000606084860312156150d057600080fd5b83356150db81614820565b92506020840135915060408401356001600160401b038111156150fd57600080fd5b614ba586828701614a8a565b6000806000806060858703121561511f57600080fd5b843561512a81614820565b93506020850135925060408501356001600160401b0381111561514c57600080fd5b6151588782880161498c565b95989497509550505050565b60006020828403121561517657600080fd5b81356001600160401b0381111561518c57600080fd5b61193884828501614a8a565b6000606082840312156151aa57600080fd5b604051606081016001600160401b03811182821017156151cc576151cc6145f3565b80604052508091508235815260208301356020820152604083013560408201525092915050565b60008060008060c0858703121561520957600080fd5b843561521481614820565b935060208501356001600160401b0381111561522f57600080fd5b61523b87828801614859565b93505061524b8660408701615198565b915060a085013561525b81614820565b939692955090935050565b6001600160a01b0392831681529116602082015260400190565b60006060828403121561529257600080fd5b610e1c8383615198565b600081518084526020808501945080840160005b838110156152d057815161ffff16875295820195908201906001016152b0565b509495945050505050565b600081518084526020808501945080840160005b838110156152d05781516001600160801b0316875295820195908201906001016152ef565b6020815263ffffffff82511660208201526000602083015161010080604085015261534361012085018361529c565b91506040850151601f1985840301606086015261536083826152db565b92505060608501516153756080860182614cdc565b50608085015161538860a0860182614cdc565b5060a085015161539b60c0860182614cdc565b5060c08501516153ae60e0860182614cdc565b5060e0850151801515858301525090949350505050565b80516146e5816146c8565b80516146e58161470d565b600082601f8301126153ec57600080fd5b81516153fa61474982614a63565b81815284602083860101111561540f57600080fd5b611938826020830160208701614baf565b600082601f83011261543157600080fd5b81516020615441614749836146ea565b82815260059290921b8401810191818101908684111561546057600080fd5b8286015b8481101561479157805161547781614820565b8352918301918301615464565b80516146e58161479c565b600060208083850312156154a257600080fd5b82516001600160401b03808211156154b957600080fd5b90840190608082870312156154cd57600080fd5b6154d5614654565b82516154e0816146c8565b8152828401516154ef8161470d565b8185015260408301518281111561550557600080fd5b615511888286016153db565b60408301525060608301518281111561552957600080fd5b80840193505086601f84011261553e57600080fd5b825161554c614749826146ea565b81815260059190911b8401850190858101908983111561556b57600080fd5b8686015b838110156156395780518681111561558657600080fd5b870160c0818d03601f1901121561559d5760008081fd5b6155a5614676565b6155b08a83016153d0565b81526155be604083016153c5565b8a820152606082015160408201526080820151888111156155df5760008081fd5b6155ed8e8c838601016153db565b60608301525060a080830151898111156156075760008081fd5b6156158f8d83870101615420565b60808401525061562760c08401615484565b9082015284525091870191870161556f565b5060608401525090979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cc257610cc261564c565b8082028115828204841417610cc257610cc261564c565b80820180821115610cc257610cc261564c565b600060018060a01b03808716835260806020840152808651166080840152602086015160a0840152604086015160c0840152606086015160e0840152608086015160a06101008501526156f6610120850182614bd3565b958216604085015250929092166060909101525092915050565b6000806040838503121561572357600080fd5b823561572e81614820565b91506020830135614d2281614820565b80600b0b81146111b557600080fd5b6000806040838503121561576057600080fd5b823561576b8161573e565b946020939093013593505050565b6020808252602c90820152600080516020615ea183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020615ea183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000806040838503121561580057600080fd5b823591506020830135614d228161573e565b600081518084526020808501945080840160005b838110156152d05781516001600160a01b031687529582019590820190600101615826565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a0152615883868a0182614bd3565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b8281101561593157601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b8501528782015181898601526158ef82860182614bd3565b9150508d8201518482038f8601526159078282615812565b60a0938401516001600160801b0316959093019490945250948a0194938a019391506001016158ad565b509d9c50505050505050505050505050565b6001600160a01b03841681526080602082018190526000906159679083018561584b565b9215156040830152508082036060909101526000815260200192915050565b60006020828403121561599857600080fd5b5051919050565b828152604060208201526000611938604083018461584b565b6000602082840312156159ca57600080fd5b8151610e1c81614820565b600080600080608085870312156159eb57600080fd5b84519350602085015192506040850151615a048161573e565b606086015190925061525b8161573e565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008060008060808587031215615a4e57600080fd5b845193506020850151615a608161573e565b6040860151606090960151949790965092505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082615ab157615ab1615a8c565b500490565b61ffff8716815263ffffffff8616602082015284604082015260c060608201526000615ae560c0830186614bd3565b8281036080840152615af78186615812565b91505060018060801b03831660a0830152979650505050505050565b600060018201615b2557615b2561564c565b5060010190565b60008251615b3e818460208701614baf565b9190910192915050565b600060208284031215615b5a57600080fd5b8151610e1c81614840565b600b82810b9082900b0360016001605f1b0319811260016001605f1b0382131715610cc257610cc261564c565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351615bc4816017850160208801614baf565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615bf5816028840160208801614baf565b01602801949350505050565b634e487b7160e01b600052600160045260246000fd5b6001600160801b03818116838216019080821115615c3757615c3761564c565b5092915050565b600060208284031215615c5057600080fd5b8151610e1c816146c8565b600082600b0b82600b0b0280600b0b9150808214615c3757615c3761564c565b600081600b0b83600b0b80615c9257615c92615a8c565b60016001605f1b0319821460001982141615615cb057615cb061564c565b90059392505050565b600b81810b9083900b0160016001605f1b03811360016001605f1b031982121715610cc257610cc261564c565b600060208284031215615cf857600080fd5b8151610e1c8161573e565b600081615d1257615d1261564c565b506000190190565b6001600160401b03818116838216019080821115615c3757615c3761564c565b6001600160a01b03929092168252602082015260400190565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090613e0790830184614bd3565b6001600160a01b0385168152608060208201819052600090615dab90830186614bd3565b8281036040840152615dbd8186614bd3565b905082810360608401526110678185614bd3565b60008060408385031215615de457600080fd5b82516001600160401b0380821115615dfb57600080fd5b615e07868387016153db565b93506020850151915080821115615e1d57600080fd5b50614e10858286016153db565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090613e0790830184614bd356fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3f0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc946756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564829b824e2329e205435d941c9f13baf578548505283d29261236d8e6596d4636a264697066735822122030bf844cad88b60075980a91c795199309825ae800730cffae5ace289bea208b64736f6c63430008130033";
|
|
2092
|
+
"0x60e06040523060c0523480156200001557600080fd5b506040516200616e3803806200616e833981016040819052620000389162000098565b6001600160a01b038216608081905282908290620000695760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b031660a05250620000d7915050565b6001600160a01b03811681146200009557600080fd5b50565b60008060408385031215620000ac57600080fd5b8251620000b9816200007f565b6020840151909250620000cc816200007f565b809150509250929050565b60805160a05160c051615ff7620001776000396000818161106b015281816110ab0152818161145401528181611494015261150c01526000818161090101528181610e220152611fa7015260008181610ba901528181610da401528181610f2d015281816115ba015281816116a70152818161184b01528181611c0f01528181611ebd015281816122600152818161257c01526125e10152615ff76000f3fe60806040526004361061024f5760003560e01c80630150aefb1461025457806301ffc9a71461029a5780630947e8c7146102ba5780630c710776146102f4578063150b7a021461032057806319805538146103595780631a2a84b3146103925780631bb15f3d146103c05780631db128c71461046c578063230dbd2914610499578063248a9ca3146104b95780632b4116f7146104d95780632f2ff15d1461050657806330d9c9151461052857806336568abe146105485780633659cfe614610568578063379607f51461058857806347ccca02146105a85780634b1e337f146105c95780634f1ef286146105e957806352d1902d146105fc57806353c11f99146106115780635ab1bd53146106315780635f9e7d7714610646578063647c75e21461066657806372ca8a3e146106d757806376ba085b146106f75780637b10399914610717578063860aefcf14610738578063884d1f401461077557806391d14854146107955780639e83995f146107b55780639f351ce4146107d55780639f8fddd2146107f5578063a10f469e14610815578063a217fddf14610837578063a4c0ed361461084c578063ae8272001461086c578063bcb4546f1461087f578063c2e11e3f146108a1578063c31c9c07146108ef578063d3112b2e14610923578063d539139314610958578063d547741f1461097a578063d80528ae1461099a578063d86ed3e514610a2b578063dc61d5c214610a4b578063def482a414610a9e578063e06174e414610abe578063ec87621c14610b55578063f3d5e34814610b77578063f437bc5914610b97575b600080fd5b34801561026057600080fd5b5061028561026f366004614567565b61013e6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156102a657600080fd5b506102856102b5366004614580565b610bcb565b3480156102c657600080fd5b50610143546102df90600160a01b900463ffffffff1681565b60405163ffffffff9091168152602001610291565b34801561030057600080fd5b5061030d6459df64940081565b604051600b9190910b8152602001610291565b34801561032c57600080fd5b5061034061033b366004614617565b610c02565b6040516001600160e01b03199091168152602001610291565b34801561036557600080fd5b5061036e610cbd565b604080516001600160a01b03909316835263ffffffff909116602083015201610291565b34801561039e57600080fd5b506103b26103ad366004614696565b610ce2565b604051908152602001610291565b3480156103cc57600080fd5b506104286103db366004614696565b61014060205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692918216916001600160401b03918104821691600160c01b9091041685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160401b039081166060830152909116608082015260a001610291565b34801561047857600080fd5b5061048c61048736600461487b565b610d82565b6040516102919190614942565b3480156104a557600080fd5b5061048c6104b4366004614955565b610ea3565b3480156104c557600080fd5b506103b26104d4366004614567565b610eea565b3480156104e557600080fd5b506097546104f9906001600160a01b031681565b6040516102919190614a1f565b34801561051257600080fd5b50610526610521366004614a33565b610eff565b005b34801561053457600080fd5b5061048c610543366004614a63565b610f20565b34801561055457600080fd5b50610526610563366004614a33565b610fe3565b34801561057457600080fd5b50610526610583366004614696565b611061565b34801561059457600080fd5b506105266105a3366004614567565b611129565b3480156105b457600080fd5b5061013d546104f9906001600160a01b031681565b3480156105d557600080fd5b506105266105e4366004614d98565b6111a1565b6105266105f7366004614e20565b61144a565b34801561060857600080fd5b506103b26114ff565b34801561061d57600080fd5b5061048c61062c366004614955565b6115ad565b34801561063d57600080fd5b506104f961168a565b34801561065257600080fd5b5061048c610661366004614a63565b61169a565b34801561067257600080fd5b506106b0610681366004614696565b60986020526000908152604090208054600190910154600b81900b90600160601b90046001600160801b031683565b60408051938452600b9290920b60208401526001600160801b031690820152606001610291565b3480156106e357600080fd5b506102856106f2366004614696565b61177f565b34801561070357600080fd5b50610526610712366004615071565b611793565b34801561072357600080fd5b50610143546104f9906001600160a01b031681565b34801561074457600080fd5b5061013a5461013b5461013c5461075a92919083565b60408051938452602084019290925290820152606001610291565b34801561078157600080fd5b5061048c610790366004614a63565b61183e565b3480156107a157600080fd5b506102856107b0366004614a33565b61193b565b3480156107c157600080fd5b506105266107d03660046150d4565b611966565b3480156107e157600080fd5b506105266107f036600461511a565b611b36565b34801561080157600080fd5b5061048c610810366004615156565b611bed565b34801561082157600080fd5b506103b2600080516020615fa283398151915281565b34801561084357600080fd5b506103b2600081565b34801561085857600080fd5b506102856108673660046151a4565b611ca7565b61052661087a3660046151ff565b611d20565b34801561088b57600080fd5b506103b2600080516020615edb83398151915281565b3480156108ad57600080fd5b506101415461014254610428916001600160801b0380821692600160801b92839004821692918116916001600160401b03908204811691600160c01b90041685565b3480156108fb57600080fd5b506104f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561092f57600080fd5b50609954609a5461094a916001600160a01b03908116911682565b604051610291929190615233565b34801561096457600080fd5b506103b2600080516020615efb83398151915281565b34801561098657600080fd5b50610526610995366004614a33565b611da6565b3480156109a657600080fd5b50609b54609c54609d54609e54609f5460a05460a1546109e1969594936001600160a01b0380821694600160a01b909204600b0b9391169188565b604080519889526020890197909752958701949094526001600160a01b039283166060870152600b9190910b60808601521660a084015260c083015260e082015261010001610291565b348015610a3757600080fd5b5061048c610a46366004614955565b611dc2565b348015610a5757600080fd5b50610a60611df0565b604080519788526020880196909652948601939093526060850191909152600b90810b608085015290810b60a08401520b60c082015260e001610291565b348015610aaa57600080fd5b5061048c610ab936600461524d565b611e9b565b348015610aca57600080fd5b506101335461013654610137546101385461013954610b0d9463ffffffff16936001600160a01b039081169381169281169190811690600160a01b900460ff1686565b6040805163ffffffff90971687526001600160a01b039586166020880152938516938601939093529083166060850152919091166080830152151560a082015260c001610291565b348015610b6157600080fd5b506103b2600080516020615f5b83398151915281565b348015610b8357600080fd5b50610526610b923660046152ab565b6120ee565b348015610ba357600080fd5b506104f97f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216637965db0b60e01b1480610bfc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61013d546040516302b5313d60e21b81526004810185905260009182916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610c51573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c79919081019061539c565b61013354815191925063ffffffff918216911614610caa5760405163f26722ad60e01b815260040160405180910390fd5b50630a85bd0160e11b9695505050505050565b61013654610143546001600160a01b0390911691600160a01b90910463ffffffff1690565b6001600160a01b0381166000908152609860209081526040808320815160608101835281548152600190910154600b81900b938201849052600160601b90046001600160801b031691810191909152908203610d3f575192915050565b6040810151610d57906001600160801b03164261556f565b81602001516001600160601b0316610d6f9190615582565b8151610d7b9190615599565b9392505050565b606082336001600160a01b03821614801590610dc75750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15610df0573360405163087231bf60e31b8152600401610de79190614a1f565b60405180910390fd5b6097546040516358c0dacb60e01b815273__$0d78a42341742155da77b97d7f993534c7$__916358c0dacb91610e58917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b0316908a906004016155f1565b602060405180830381865af4158015610e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e99919061562c565b5091949350505050565b60606000610eb387890189615645565b509050600080610ec587890189615682565b91509150610ed78d8484848a8a612166565b93505050505b9998505050505050505050565b60009081526065602052604090206001015490565b610f0882610eea565b610f11816121ad565b610f1b83836121b7565b505050565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051632f2d36a760e01b815260040160405180910390fd5b610f748761223a565b610f975750604080518082019091526002815261060f60f31b6020820152610fd8565b610fa08861177f565b610fbd57604051631ea25bab60e31b815260040160405180910390fd5b50604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6001600160a01b03811633146110535760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610de7565b61105d82826122ee565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110a95760405162461bcd60e51b8152600401610de7906156ae565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110db612371565b6001600160a01b0316146111015760405162461bcd60e51b8152600401610de7906156e8565b61110a8161238d565b6040805160008082526020820190925261112691839190612398565b50565b61013d546040516302b5313d60e21b8152600481018390526111269183916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107f0919081019061539c565b600054610100900460ff16158080156111c15750600054600160ff909116105b806111e257506111d030612503565b1580156111e2575060005460ff166001145b6112455760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610de7565b6000805460ff191660011790558015611268576000805461ff0019166101001790555b61014380546001600160a01b0319166001600160a01b0384161790558451610133805463ffffffff191663ffffffff90921691909117815560208087015180518893926112bb9261013492910190614403565b50604082015180516112d79160028401916020909101906144ac565b5060608201516003820180546001600160a01b03199081166001600160a01b03938416179091556080840151600484018054831691841691909117905560a0840151600584018054831691841691909117905560c08401516006909301805460e0909501519383166001600160a81b031990951694909417600160a01b931515840217909355865161013a55602087015161013b55604087015161013c5561013d805490931690891617909155610143805463ffffffff60a01b191663ffffffff86169092029190911790556113ae600033612512565b6113ca600080516020615f5b8339815191528660600151612512565b6113e6600080516020615efb8339815191528660600151612512565b610139546113fc906001600160a01b031661251c565b8015611442576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036114925760405162461bcd60e51b8152600401610de7906156ae565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114c4612371565b6001600160a01b0316146114ea5760405162461bcd60e51b8152600401610de7906156e8565b6114f38261238d565b61105d82826001612398565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610de7565b50600080516020615f3b83398151915290565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806115ed57506115eb8961223a565b155b806115fe57506115fc8a61177f565b155b156116425782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350610edd92505050565b600080611651888a018a615645565b9092509050600080611665888a018a615722565b915091506116788e858584868c8c6126be565b9e9d5050505050505050505050505050565b610143546001600160a01b031690565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806116da57506116d88761223a565b155b806116eb57506116e98861177f565b155b1561170f5750604080518082019091526002815261060f60f31b6020820152610fd8565b60008061171e86880188615645565b909250905060008061173a6001600160a01b038d168585612711565b505091509150818160405160200161175f929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b6097546001600160a01b0390811691161490565b600080516020615efb8339815191526117ab816121ad565b61013d546040516321aa1d2160e11b81526000916001600160a01b0316906343543a42906117e29088908890600190600401615883565b6020604051808303816000875af1158015611801573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611825919061562c565b90508215611837576118378185611b36565b5050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461188957604051632f2d36a760e01b815260040160405180910390fd5b6118928761223a565b6118b55750604080518082019091526002815261060f60f31b6020820152610fd8565b6118be8861177f565b6118db57604051631ea25bab60e31b815260040160405180910390fd5b60006118e985870187615645565b5090506000806119036001600160a01b038c168430612711565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020615f5b83398151915261197e816121ad565b610143805463ffffffff808516600160a01b0263ffffffff60a01b199092169190911790915561013354845182169116146119cc57604051630f91888160e01b815260040160405180910390fd5b60608301516001600160a01b03166119f75760405163890bc98f60e01b815260040160405180910390fd5b61013654611a10906000906001600160a01b03166122ee565b8251610133805463ffffffff191663ffffffff9092169190911781556020808501518051869392611a479261013492910190614403565b5060408201518051611a639160028401916020909101906144ac565b506060828101516003830180546001600160a01b039283166001600160a01b031991821617909155608085015160048501805491841691831691909117905560a08501516005850180549184169190921617905560c08401516006909301805460e0909501511515600160a01b026001600160a81b03199095169390911692909217929092179055830151611afa90600090612512565b7f3eed38e4b04ae182994f6ef05c58a3987f571a66d6860d9046621cc204f407a083604051611b299190615933565b60405180910390a1505050565b61013d5460405163049b73f560e31b81526001600160a01b03909116906324db9fa890611b6990859085906004016159e4565b600060405180830381865afa158015611b86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bae919081019061539c565b50600082815261013e602052604090205460ff1615611be3576040516330e51df560e11b815260048101839052602401610de7565b61105d82826127a9565b606083336001600160a01b03821614801590611c325750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15611c52573360405163087231bf60e31b8152600401610de79190614a1f565b83600003611c7357604051630f6fa54560e41b815260040160405180910390fd5b609754611c8b906001600160a01b0316863087612af0565b610e998585600060405180602001604052806000815250612bf2565b6097546000906001600160a01b03163314611cd557604051630ce706f760e41b815260040160405180910390fd5b83600003611cf657604051630f6fa54560e41b815260040160405180910390fd5b611d128585600060405180602001604052806000815250612bf2565b50600190505b949350505050565b6101435460408051638abf607760e01b815290516000926001600160a01b031691638abf60779160048083019260209291908290030181865afa158015611d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8f91906159fd565b9050611d9a8161238d565b61105d81836000612398565b611daf82610eea565b611db8816121ad565b610f1b83836122ee565b60606000611dd287890189615645565b509050611de18b82868661329a565b9b9a5050505050505050505050565b60975460405163b2f918a160e01b815260009182918291829182918291829173__$0d78a42341742155da77b97d7f993534c7$__9163b2f918a191611e4491609b916001600160a01b031690600401615a1a565b60e060405180830381865af4158015611e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e859190615aa4565b959d949c50929a50909850965094509092509050565b606083336001600160a01b03821614801590611ee05750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15611f00573360405163087231bf60e31b8152600401610de79190614a1f565b6097546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611f31903090600401614a1f565b602060405180830381865afa158015611f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f72919061562c565b6097546040516321437a5360e01b815291925073__$0d78a42341742155da77b97d7f993534c7$__916321437a5391611fe1917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b03909116908c903090600401615b18565b602060405180830381865af4158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612022919061562c565b506097546040516370a0823160e01b815260009183916001600160a01b03909116906370a0823190612058903090600401614a1f565b602060405180830381865afa158015612075573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612099919061562c565b6120a3919061556f565b9050806000036120c657604051630f6fa54560e41b815260040160405180910390fd5b6120e28782600060405180602001604052806000815250612bf2565b50939695505050505050565b600080516020615f5b833981519152612106816121ad565b815161013a8190556020808401805161013b556040808601805161013c5581519485529151928401929092525182820152517f220b9fb6f33ff05be83cf4d215109467b91026cf1f239e2acb4b7095cf09d5c59181900360600190a15050565b6060610fd88686600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bf292505050565b61112681336132e8565b600080516020615fa28339815191528203612230576101435460405163329b55b760e21b81526001600160a01b039091169063ca6d56dc906121fd908490600401614a1f565b600060405180830381600087803b15801561221757600080fd5b505af115801561222b573d6000803e3d6000fd5b505050505b61105d8282613341565b604051635b69006f60e11b8152600080516020615edb83398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d391906159fd565b6001600160a01b0316826001600160a01b0316149050919050565b600080516020615fa28339815191528203612367576101435460405163058e524d60e11b81526001600160a01b0390911690630b1ca49a90612334908490600401614a1f565b600060405180830381600087803b15801561234e57600080fd5b505af1158015612362573d6000803e3d6000fd5b505050505b61105d82826133c7565b600080516020615f3b833981519152546001600160a01b031690565b600061105d816121ad565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123cb57610f1b8361342e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612425575060408051601f3d908101601f191682019092526124229181019061562c565b60015b6124885760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610de7565b600080516020615f3b83398151915281146124f75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610de7565b50610f1b8383836134c8565b6001600160a01b03163b151590565b61105d82826121b7565b6001600160a01b0381166125435760405163538ba4f960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b03838116919091179091556040516315a722b960e31b8152600160048201819052917f0000000000000000000000000000000000000000000000000000000000000000169063ad3915c890602401600060405180830381600087803b1580156125c057600080fd5b505af11580156125d4573d6000803e3d6000fd5b50506040805180820182527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168082529151635b69006f60e11b8152600080516020615edb833981519152600482015290935060208401925063b6d200de90602401602060405180830381865afa15801561265b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267f91906159fd565b6001600160a01b039081169091528151609980546001600160a01b0319908116928416929092179055602090920151609a805490931691161790555050565b60606127058786600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bf292505050565b98975050505050505050565b6000806000806000612722886134f3565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e88890612756908b908b908b90600401615b59565b608060405180830381865afa158015612773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127979190615b7c565b929b919a509850909650945050505050565b600082815261013e6020526040808220805460ff191660011790556101395490516370a0823160e01b815282916001600160a01b0316906370a08231906127f4903090600401614a1f565b602060405180830381865afa158015612811573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612835919061562c565b61013954909150600160a01b900460ff1660005b846060015151811015612aae5760008560600151828151811061286e5761286e615bba565b6020026020010151604001518380156128b1575060008760600151848151811061289a5761289a615bba565b602002602001015160a001516001600160801b0316115b6128e4576128df876060015184815181106128ce576128ce615bba565b602002602001015160000151613662565b612907565b866060015183815181106128fa576128fa615bba565b602002602001015160a001515b6001600160801b031661291a9190615582565b90508015612a9b5761292c8186615599565b94508385111561294f5760405163701b93d160e11b815260040160405180910390fd5b612959858561556f565b93506129868660600151838151811061297457612974615bba565b60200260200101516080015182613719565b867f66417923523a2d06a43299cb4e498d17eef686f73ae2484f05c36479f5ae5a6d876060015184815181106129be576129be615bba565b602002602001015160000151886060015185815181106129e0576129e0615bba565b60200260200101516020015189606001518681518110612a0257612a02615bba565b6020026020010151604001518a606001518781518110612a2457612a24615bba565b6020026020010151606001518b606001518881518110612a4657612a46615bba565b6020026020010151608001518c606001518981518110612a6857612a68615bba565b6020026020010151608001515188612a809190615bd0565b604051612a9296959493929190615bf2565b60405180910390a25b5080612aa681615c4f565b915050612849565b50847fdc780326abc7aa2bf7cfbd02de3cdd5c8020124228dbcbc133d6bcbd74a784cc84604051612ae191815260200190565b60405180910390a25050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691612b549190615c68565b6000604051808303816000865af19150503d8060008114612b91576040519150601f19603f3d011682016040523d82523d6000602084013e612b96565b606091505b5091509150818015612bc0575080511580612bc0575080806020019051810190612bc09190615c84565b6114425760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606401610de7565b805181901515600080612c03610cbd565b609754919350915073__$0d78a42341742155da77b97d7f993534c7$__9063934e2cce90609b906001600160a01b0316612c3b61168a565b8588612c47578c612c4a565b60005b6040516001600160e01b031960e088901b16815260048101959095526001600160a01b03938416602486015292909116604484015263ffffffff166064830152608482015260a40160006040518083038186803b158015612caa57600080fd5b505af4158015612cbe573d6000803e3d6000fd5b505060975460009250612cdc91506001600160a01b03168a30613829565b6001600160a01b038a1660009081526098602052604090205490915084156130d157600082600b0b138015612d1957506459df649400600b83900b125b15612d3c57604051624963df60e91b8152600b83900b6004820152602401610de7565b6001600160a01b038a16600090815260986020526040902060010180546001600160e01b031916600160601b426001600160801b038116919091026001600160601b031916919091176001600160601b03851617909155612d9e90899061556f565b612da8908a615582565b6001600160a01b038b1660009081526098602052604081208054909190612dd0908490615599565b9091555060009050612de061168a565b6001600160a01b031614612fa357612df661168a565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5791906159fd565b9350612e6161168a565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec29190615ca1565b925073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60030160009054906101000a90046001600160a01b031688888f89612f1d9190615cbe565b8d6040518863ffffffff1660e01b8152600401612f409796959493929190615ceb565b600060405180830381865af4158015612f5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f859190810190615d3b565b609e80546001600160a01b0319166001600160a01b03871617905595505b612fab610cbd565b809450819550505073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60040160009054906101000a90046001600160a01b031688888f8961300c9190615cbe565b8d6040518863ffffffff1660e01b815260040161302f9796959493929190615ceb565b600060405180830381865af415801561304c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130749190810190615d3b565b609f80546001600160a01b0319166001600160a01b03878116919091179091556097549197506130a59116306138b7565b609e80546001600160601b0392909216600160a01b026001600160a01b03909216919091179055613210565b60006130db61168a565b6001600160a01b0316146131ca576130f161168a565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315291906159fd565b935061315c61168a565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bd9190615ca1565b92506131ca84848b613936565b6131d2610cbd565b90945092506131e284848b613936565b6001600160a01b038a16600090815260986020526040812080548b929061320a908490615599565b90915550505b6001600160a01b038a166000818152609860205260409020547f6342e11b65ccb38a3bb259be9cda846c74ad52b36b62a2ee4799dc3db63a04a39083908861325957600061325b565b8c5b604080519384526020840192909252600b90810b8383015286900b60608301528815156080830152519081900360a00190a25050505050949350505050565b60606132df8460008086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bf292505050565b95945050505050565b6132f2828261193b565b61105d576132ff81613982565b61330a836020613994565b60405160200161331b929190615d83565b60408051601f198184030181529082905262461bcd60e51b8252610de791600401614942565b61334b828261193b565b61105d5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556133833390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6133d1828261193b565b1561105d5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61343781612503565b6134995760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610de7565b600080516020615f3b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6134d183613b2f565b6000825111806134de5750805b15610f1b576134ed8383613b6f565b50505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116613631576001600160a01b0382166135b857826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015613591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b591906159fd565b91505b604051635b69006f60e11b8152600080516020615edb83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa15801561360a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362e91906159fd565b90505b6001600160a01b03821661364757613647615df2565b6001600160a01b03811661365d5761365d615df2565b915091565b6000805b610134548110156137105761013480548290811061368657613686615bba565b90600052602060002090601091828204019190066002029054906101000a900461ffff1661ffff168361ffff16036136fe576101358054829081106136cd576136cd615bba565b90600052602060002090600291828204019190066010029054906101000a90046001600160801b0316915050919050565b8061370881615c4f565b915050613666565b50600092915050565b60008251826001600160801b03166137319190615bd0565b90506000805b845181101561381f57600061376586838151811061375757613757615bba565b602002602001015185613c58565b905080156137bb576137aa86838151811061378257613782615bba565b6020908102919091010151610139546001600160a01b0316906001600160801b038716613d36565b6137b48484615e08565b925061380c565b7f617c38e0fa04973365b7abb47a8f354a5b3fbe3ea04b8a0649580d208a88cc608683815181106137ee576137ee615bba565b60200260200101516040516138039190614a1f565b60405180910390a15b508061381781615c4f565b915050613737565b506134ed81613d8c565b600080613835856134f3565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e8889061386990889088908890600401615b59565b608060405180830381865afa158015613886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138aa9190615b7c565b5090979650505050505050565b6000806138c3846134f3565b60405163e8e7e2d160e01b81529092506001600160a01b038316915063e8e7e2d1906138f59087908790600401615233565b602060405180830381865afa158015613912573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d189190615e2f565b6001600160a01b03831661394957505050565b600061271061395e63ffffffff851684615582565b6139689190615bd0565b6097549091506134ed906001600160a01b03168583613dd2565b6060610bfc6001600160a01b03831660145b606060006139a3836002615582565b6139ae906002615599565b6001600160401b038111156139c5576139c56146b3565b6040519080825280601f01601f1916602001820160405280156139ef576020820181803683370190505b509050600360fc1b81600081518110613a0a57613a0a615bba565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613a3957613a39615bba565b60200101906001600160f81b031916908160001a9053506000613a5d846002615582565b613a68906001615599565b90505b6001811115613ae0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613a9c57613a9c615bba565b1a60f81b828281518110613ab257613ab2615bba565b60200101906001600160f81b031916908160001a90535060049490941c93613ad981615e4c565b9050613a6b565b508315610d7b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610de7565b613b388161342e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060613b7a83612503565b613bd55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610de7565b600080846001600160a01b031684604051613bf09190615c68565b600060405180830381855af49150503d8060008114613c2b576040519150601f19603f3d011682016040523d82523d6000602084013e613c30565b606091505b50915091506132df8282604051806060016040528060278152602001615f7b60279139613ed5565b6000613c738360405180602001604052806000815250613eee565b1515600003613c8457506000610bfc565b6001600160a01b038316600090815261014060205260409020613caf9083613caa61406b565b61407f565b61013c546001600160a01b038416600090815261014060205260409020546001600160801b03161180613d0d575061013b546001600160a01b03841660009081526101406020526040902054600160801b90046001600160801b0316115b15613d2d5782604051636e661e3360e11b8152600401610de79190614a1f565b50600192915050565b610f1b8363a9059cbb60e01b8484604051602401613d55929190615e63565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261421b565b613d9b61014182613caa61406b565b61013a5461014154600160801b90046001600160801b0316111561112657604051639803f99760e01b815260040160405180910390fd5b600080846001600160a01b031663a9059cbb60e01b8585604051602401613dfa929190615e63565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613e389190615c68565b6000604051808303816000865af19150503d8060008114613e75576040519150601f19603f3d011682016040523d82523d6000602084013e613e7a565b606091505b5091509150818015613ea4575080511580613ea4575080806020019051810190613ea49190615c84565b6118375760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610de7565b60608315613ee4575081610d7b565b610d7b83836142ed565b6000613f08600080516020615fa28339815191528461193b565b15613f1557506001610bfc565b610138546001600160a01b031615613fb657610138546040516316874da360e11b81526000916001600160a01b031690632d0e9b4690613f59908790600401614a1f565b602060405180830381865afa158015613f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f9a91906159fd565b90506001600160a01b038116613fb4576000915050610bfc565b505b610137546001600160a01b03161561405357610137546040516356a42afd60e11b81526001600160a01b039091169063ad4855fa90613fff903090339088908890600401615e7c565b6020604051808303816000875af115801561401e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140429190615c84565b151560000361405357506000610bfc565b613d2d600080516020615fa2833981519152846121b7565b600061407a62278d0042615bd0565b905090565b600183015442906140a390600160801b90046001600160401b031662015180615eba565b6001600160401b031610156140d05782546001600160801b0319166001600160801b038316178355614112565b8254829084906000906140ed9084906001600160801b0316615e08565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60018301546001600160401b03808316600160c01b90920416101561414e5782546001600160801b03808416600160801b029116178355614197565b825482908490601090614172908490600160801b90046001600160801b0316615e08565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001830180548391906000906141b79084906001600160801b0316615e08565b82546001600160801b039182166101009390930a92830292820219169190911790915560019490940180546001600160401b03938416600160c01b026001600160c01b034295909516600160801b0294909416951694909417919091179092555050565b6000614270826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143179092919063ffffffff16565b805190915015610f1b578080602001905181019061428e9190615c84565b610f1b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610de7565b8151156142fd5781518083602001fd5b8060405162461bcd60e51b8152600401610de79190614942565b6060611d18848460008585600080866001600160a01b0316858760405161433e9190615c68565b60006040518083038185875af1925050503d806000811461437b576040519150601f19603f3d011682016040523d82523d6000602084013e614380565b606091505b5091509150610fd887838387606083156143f95782516000036143f2576143a685612503565b6143f25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610de7565b5081611d18565b611d1883836142ed565b82805482825590600052602060002090600f0160109004810192821561449c5791602002820160005b8382111561446c57835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030261442c565b801561449a5782816101000a81549061ffff021916905560020160208160010104928301926001030261446c565b505b506144a8929150614552565b5090565b8280548282559060005260206000209060010160029004810192821561449c5791602002820160005b8382111561451f57835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f010492830192600103026144d5565b801561449a5782816101000a8154906001600160801b030219169055601001602081600f0104928301926001030261451f565b5b808211156144a85760008155600101614553565b60006020828403121561457957600080fd5b5035919050565b60006020828403121561459257600080fd5b81356001600160e01b031981168114610d7b57600080fd5b6001600160a01b038116811461112657600080fd5b80356145ca816145aa565b919050565b60008083601f8401126145e157600080fd5b5081356001600160401b038111156145f857600080fd5b60208301915083602082850101111561461057600080fd5b9250929050565b60008060008060006080868803121561462f57600080fd5b853561463a816145aa565b9450602086013561464a816145aa565b93506040860135925060608601356001600160401b0381111561466c57600080fd5b614678888289016145cf565b969995985093965092949392505050565b6001600160a01b03169052565b6000602082840312156146a857600080fd5b8135610d7b816145aa565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156146ec576146ec6146b3565b60405290565b604051608081016001600160401b03811182821017156146ec576146ec6146b3565b60405160c081016001600160401b03811182821017156146ec576146ec6146b3565b604051601f8201601f191681016001600160401b038111828210171561475e5761475e6146b3565b604052919050565b60006001600160401b0382111561477f5761477f6146b3565b50601f01601f191660200190565b600082601f83011261479e57600080fd5b81356147b16147ac82614766565b614736565b8181528460208386010111156147c657600080fd5b816020850160208301376000918101602001919091529392505050565b600060a082840312156147f557600080fd5b60405160a081016001600160401b038082118383101715614818576148186146b3565b816040528293508435915061482c826145aa565b818352602085013560208401526040850135604084015260608501356060840152608085013591508082111561486157600080fd5b5061486e8582860161478d565b6080830152505092915050565b60008060006060848603121561489057600080fd5b83356001600160401b03808211156148a757600080fd5b6148b3878388016147e3565b9450602086013591506148c5826145aa565b909250604085013590808211156148db57600080fd5b506148e88682870161478d565b9150509250925092565b60005b8381101561490d5781810151838201526020016148f5565b50506000910152565b6000815180845261492e8160208601602086016148f2565b601f01601f19169290920160200192915050565b602081526000610d7b6020830184614916565b600080600080600080600080600060c08a8c03121561497357600080fd5b893561497e816145aa565b985060208a013561498e816145aa565b975060408a0135965060608a01356001600160401b03808211156149b157600080fd5b6149bd8d838e016145cf565b909850965060808c01359150808211156149d657600080fd5b6149e28d838e016145cf565b909650945060a08c01359150808211156149fb57600080fd5b50614a088c828d016145cf565b915080935050809150509295985092959850929598565b6001600160a01b0391909116815260200190565b60008060408385031215614a4657600080fd5b823591506020830135614a58816145aa565b809150509250929050565b600080600080600080600060a0888a031215614a7e57600080fd5b8735614a89816145aa565b96506020880135614a99816145aa565b95506040880135945060608801356001600160401b0380821115614abc57600080fd5b614ac88b838c016145cf565b909650945060808a0135915080821115614ae157600080fd5b50614aee8a828b016145cf565b989b979a50959850939692959293505050565b63ffffffff8116811461112657600080fd5b80356145ca81614b01565b60006001600160401b03821115614b3757614b376146b3565b5060051b60200190565b61ffff8116811461112657600080fd5b80356145ca81614b41565b600082601f830112614b6d57600080fd5b81356020614b7d6147ac83614b1e565b82815260059290921b84018101918181019086841115614b9c57600080fd5b8286015b84811015614bc0578035614bb381614b41565b8352918301918301614ba0565b509695505050505050565b6001600160801b038116811461112657600080fd5b80356145ca81614bcb565b600082601f830112614bfc57600080fd5b81356020614c0c6147ac83614b1e565b82815260059290921b84018101918181019086841115614c2b57600080fd5b8286015b84811015614bc0578035614c4281614bcb565b8352918301918301614c2f565b801515811461112657600080fd5b80356145ca81614c4f565b60006101008284031215614c7b57600080fd5b614c836146c9565b9050614c8e82614b13565b815260208201356001600160401b0380821115614caa57600080fd5b614cb685838601614b5c565b60208401526040840135915080821115614ccf57600080fd5b50614cdc84828501614beb565b604083015250614cee606083016145bf565b6060820152614cff608083016145bf565b6080820152614d1060a083016145bf565b60a0820152614d2160c083016145bf565b60c0820152614d3260e08301614c5d565b60e082015292915050565b600060608284031215614d4f57600080fd5b604051606081016001600160401b0381118282101715614d7157614d716146b3565b80604052508091508235815260208301356020820152604083013560408201525092915050565b600080600080600060e08688031215614db057600080fd5b8535614dbb816145aa565b945060208601356001600160401b03811115614dd657600080fd5b614de288828901614c68565b945050614df28760408801614d3d565b925060a0860135614e0281614b01565b915060c0860135614e12816145aa565b809150509295509295909350565b60008060408385031215614e3357600080fd5b8235614e3e816145aa565b915060208301356001600160401b03811115614e5957600080fd5b614e658582860161478d565b9150509250929050565b600082601f830112614e8057600080fd5b81356020614e906147ac83614b1e565b82815260059290921b84018101918181019086841115614eaf57600080fd5b8286015b84811015614bc0578035614ec6816145aa565b8352918301918301614eb3565b600060808284031215614ee557600080fd5b614eed6146f2565b90508135614efa81614b01565b8152602082810135614f0b81614b41565b8282015260408301356001600160401b0380821115614f2957600080fd5b614f358683870161478d565b60408501526060850135915080821115614f4e57600080fd5b818501915085601f830112614f6257600080fd5b8135614f706147ac82614b1e565b81815260059190911b83018401908481019088831115614f8f57600080fd5b8585015b8381101561505f57803585811115614fab5760008081fd5b860160c0818c03601f1901811315614fc35760008081fd5b614fcb614714565b614fd68a8401614b51565b8152614fe460408401614b13565b8a820152606083013560408201526080830135888111156150055760008081fd5b6150138e8c8387010161478d565b60608301525060a0808401358981111561502d5760008081fd5b61503b8f8d83880101614e6f565b60808401525061504c838501614be0565b9082015285525050918601918601614f93565b50606087015250939695505050505050565b60008060006060848603121561508657600080fd5b8335615091816145aa565b925060208401356001600160401b038111156150ac57600080fd5b6150b886828701614ed3565b92505060408401356150c981614c4f565b809150509250925092565b600080604083850312156150e757600080fd5b82356001600160401b038111156150fd57600080fd5b61510985828601614c68565b9250506020830135614a5881614b01565b6000806040838503121561512d57600080fd5b8235915060208301356001600160401b0381111561514a57600080fd5b614e6585828601614ed3565b60008060006060848603121561516b57600080fd5b8335615176816145aa565b92506020840135915060408401356001600160401b0381111561519857600080fd5b6148e88682870161478d565b600080600080606085870312156151ba57600080fd5b84356151c5816145aa565b93506020850135925060408501356001600160401b038111156151e757600080fd5b6151f3878288016145cf565b95989497509550505050565b60006020828403121561521157600080fd5b81356001600160401b0381111561522757600080fd5b611d188482850161478d565b6001600160a01b0392831681529116602082015260400190565b60008060006060848603121561526257600080fd5b833561526d816145aa565b925060208401356001600160401b038082111561528957600080fd5b615295878388016147e3565b935060408601359150808211156148db57600080fd5b6000606082840312156152bd57600080fd5b610d7b8383614d3d565b80516145ca81614b01565b80516145ca81614b41565b60006152eb6147ac84614766565b90508281528383830111156152ff57600080fd5b610d7b8360208301846148f2565b600082601f83011261531e57600080fd5b610d7b838351602085016152dd565b600082601f83011261533e57600080fd5b8151602061534e6147ac83614b1e565b82815260059290921b8401810191818101908684111561536d57600080fd5b8286015b84811015614bc0578051615384816145aa565b8352918301918301615371565b80516145ca81614bcb565b600060208083850312156153af57600080fd5b82516001600160401b03808211156153c657600080fd5b90840190608082870312156153da57600080fd5b6153e26146f2565b82516153ed81614b01565b8152828401516153fc81614b41565b8185015260408301518281111561541257600080fd5b61541e8882860161530d565b60408301525060608301518281111561543657600080fd5b80840193505086601f84011261544b57600080fd5b82516154596147ac82614b1e565b81815260059190911b8401850190858101908983111561547857600080fd5b8686015b838110156155465780518681111561549357600080fd5b870160c0818d03601f190112156154aa5760008081fd5b6154b2614714565b6154bd8a83016152d2565b81526154cb604083016152c7565b8a820152606082015160408201526080820151888111156154ec5760008081fd5b6154fa8e8c8386010161530d565b60608301525060a080830151898111156155145760008081fd5b6155228f8d8387010161532d565b60808401525061553460c08401615391565b9082015284525091870191870161547c565b5060608401525090979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610bfc57610bfc615559565b8082028115828204841417610bfc57610bfc615559565b80820180821115610bfc57610bfc615559565b60018060a01b0381511682526020810151602083015260408101516040830152606081015160608301526000608082015160a06080850152611d1860a0850182614916565b600060018060a01b0380871683526080602084015261561360808401876155ac565b9481166040840152929092166060909101525092915050565b60006020828403121561563e57600080fd5b5051919050565b6000806040838503121561565857600080fd5b8235615663816145aa565b91506020830135614a58816145aa565b80600b0b811461112657600080fd5b6000806040838503121561569557600080fd5b82356156a081615673565b946020939093013593505050565b6020808252602c90820152600080516020615f1b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020615f1b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000806040838503121561573557600080fd5b823591506020830135614a5881615673565b600081518084526020808501945080840160005b838110156157805781516001600160a01b03168752958201959082019060010161575b565b509495945050505050565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a01526157c3868a0182614916565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b8281101561587157601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b85015287820151818986015261582f82860182614916565b9150508d8201518482038f8601526158478282615747565b60a0938401516001600160801b0316959093019490945250948a0194938a019391506001016157ed565b509d9c50505050505050505050505050565b6001600160a01b03841681526080602082018190526000906158a79083018561578b565b9215156040830152508082036060909101526000815260200192915050565b600081518084526020808501945080840160005b8381101561578057815161ffff16875295820195908201906001016158da565b600081518084526020808501945080840160005b838110156157805781516001600160801b03168752958201959082019060010161590e565b6020815263ffffffff8251166020820152600060208301516101008060408501526159626101208501836158c6565b91506040850151601f1985840301606086015261597f83826158fa565b92505060608501516159946080860182614689565b5060808501516159a760a0860182614689565b5060a08501516159ba60c0860182614689565b5060c08501516159cd60e0860182614689565b5060e0850151801515858301525090949350505050565b828152604060208201526000611d18604083018461578b565b600060208284031215615a0f57600080fd5b8151610d7b816145aa565b8254815260018301546020820152600283015460408201526003830154610120820190615a53606084016001600160a01b038316614689565b615a65608084018260a01d600b0b9052565b5060048401546001600160a01b0316615a8160a0840182614689565b50600584015460c0830152600684015460e0830152610d7b610100830184614689565b600080600080600080600060e0888a031215615abf57600080fd5b875196506020880151955060408801519450606088015193506080880151615ae681615673565b60a0890151909350615af781615673565b60c0890151909250615b0881615673565b8091505092959891949750929550565b600060018060a01b03808816835260a06020840152615b3a60a08401886155ac565b9581166040840152938416606083015250911660809091015292915050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008060008060808587031215615b9257600080fd5b845193506020850151615ba481615673565b6040860151606090960151949790965092505050565b634e487b7160e01b600052603260045260246000fd5b600082615bed57634e487b7160e01b600052601260045260246000fd5b500490565b61ffff8716815263ffffffff8616602082015284604082015260c060608201526000615c2160c0830186614916565b8281036080840152615c338186615747565b91505060018060801b03831660a0830152979650505050505050565b600060018201615c6157615c61615559565b5060010190565b60008251615c7a8184602087016148f2565b9190910192915050565b600060208284031215615c9657600080fd5b8151610d7b81614c4f565b600060208284031215615cb357600080fd5b8151610d7b81614b01565b600b82810b9082900b0360016001605f1b0319811260016001605f1b0382131715610bfc57610bfc615559565b8781526001600160a01b03878116602083015286811660408301528516606082015263ffffffff84166080820152600b83900b60a082015260e060c08201819052600090610edd90830184614916565b600060208284031215615d4d57600080fd5b81516001600160401b03811115615d6357600080fd5b8201601f81018413615d7457600080fd5b611d18848251602084016152dd565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351615db58160178501602088016148f2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615de68160288401602088016148f2565b01602801949350505050565b634e487b7160e01b600052600160045260246000fd5b6001600160801b03818116838216019080821115615e2857615e28615559565b5092915050565b600060208284031215615e4157600080fd5b8151610d7b81615673565b600081615e5b57615e5b615559565b506000190190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090615eb090830184614916565b9695505050505050565b6001600160401b03818116838216019080821115615e2857615e2861555956fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3f0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc946756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564829b824e2329e205435d941c9f13baf578548505283d29261236d8e6596d4636a2646970667358221220c8453256a14ee7ad812368c60c392f4110ff687ed8bbbf09f17228b893212b4264736f6c63430008130033";
|
|
1966
2093
|
|
|
1967
2094
|
type DirectPaymentsPoolConstructorParams =
|
|
1968
2095
|
| [linkLibraryAddresses: DirectPaymentsPoolLibraryAddresses, signer?: Signer]
|