0 txs
1 call
constructor
constructor(address _pluginRepoRegistry)
functions
pluginRepoBase
viewfunction pluginRepoBase() view returns (address)
pluginRepoRegistry
viewfunction pluginRepoRegistry() view returns (address)
protocolVersion
purefunction protocolVersion() pure returns (uint8[3])
supportsInterface
viewfunction supportsInterface(bytes4 _interfaceId) view returns (bool)
createPluginRepo
nonpayablefunction createPluginRepo(string _subdomain, address _initialOwner) returns (address)
createPluginRepoWithFirstVersion
nonpayablefunction createPluginRepoWithFirstVersion(string _subdomain, address _pluginSetup, address _maintainer, bytes _releaseMetadata, bytes _buildMetadata) returns (address pluginRepo)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506040516147ae3803806147ae83398101604081905261002f916100a6565b600080546001600160a01b0319166001600160a01b03831617905560405161005690610099565b604051809103906000f080158015610072573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055506100d6565b6132878061152783390190565b6000602082840312156100b857600080fd5b81516001600160a01b03811681146100cf57600080fd5b9392505050565b611442806100e56000396000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806349b19d08116200005657806349b19d0814620000f25780637bd3e8ac1462000109578063d222cb1e146200012057600080fd5b806301ffc9a714620000805780630b36f03c14620000ac5780632ae9c60014620000d9575b600080fd5b6200009762000091366004620007f7565b62000134565b60405190151581526020015b60405180910390f35b600054620000c0906001600160a01b031681565b6040516001600160a01b039091168152602001620000a3565b620000e3620001ce565b604051620000a3919062000842565b620000c062000103366004620008e1565b620001fa565b620000c06200011a366004620009e6565b62000211565b600154620000c0906001600160a01b031681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2ae9c600000000000000000000000000000000000000000000000000000000001480620001c857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b620001d8620007cb565b5060408051606081018252600181526004602082015260009181019190915290565b600062000209848484620002bb565b949350505050565b600062000220878730620002bb565b6040517ffc0544270000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063fc05442790620002719060019089908790899060040162000aed565b600060405180830381600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b50505050620002b18185620003ce565b9695505050505050565b6040516001600160a01b0382166024820152600090620003439060440160408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de8000000000000000000000000000000000000000000000000000000001790526001546001600160a01b03169062000787565b6000546040517ffdb9df550000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063fdb9df5590620003939087908790869060040162000b39565b600060405180830381600087803b158015620003ae57600080fd5b505af1158015620003c3573d6000803e3d6000fd5b505050509392505050565b60408051600680825260e08201909252600091816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181620003e65790505090506000836001600160a01b03166309e56b146040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049b919062000b7b565b90506000846001600160a01b031663afe5eb786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000504919062000b7b565b90506000856001600160a01b031663cc98b8f56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000547573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200056d919062000b7b565b60408051606081019091529091508060008152602001866001600160a01b031681526020018381525084600081518110620005ac57620005ac62000b95565b602090810291909101015260408051606081019091528060008152602001866001600160a01b031681526020018281525084600181518110620005f357620005f362000b95565b602090810291909101015260408051606081019091528060008152602001866001600160a01b0316815260200184815250846002815181106200063a576200063a62000b95565b60209081029190910101526040805160608101909152806001815230602082015260400184905284518590600390811062000679576200067962000b95565b602090810291909101015260408051606081019091528060018152306020820152604001839052845185906004908110620006b857620006b862000b95565b602090810291909101015260408051606081019091528060018152306020820152604001829052845185906005908110620006f757620006f762000b95565b60209081029190910101526040517f22844d040000000000000000000000000000000000000000000000000000000081526001600160a01b038716906322844d04906200074b908990889060040162000bab565b600060405180830381600087803b1580156200076657600080fd5b505af11580156200077b573d6000803e3d6000fd5b50505050505050505050565b600082826040516200079990620007e9565b620007a692919062000c3b565b604051809103906000f080158015620007c3573d6000803e3d6000fd5b509392505050565b60405180606001604052806003906020820280368337509192915050565b6107ad8062000c6083390190565b6000602082840312156200080a57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200083b57600080fd5b9392505050565b60608101818360005b60038110156200086f57815160ff168352602092830192909101906001016200084b565b50505092915050565b60008083601f8401126200088b57600080fd5b50813567ffffffffffffffff811115620008a457600080fd5b602083019150836020828501011115620008bd57600080fd5b9250929050565b80356001600160a01b0381168114620008dc57600080fd5b919050565b600080600060408486031215620008f757600080fd5b833567ffffffffffffffff8111156200090f57600080fd5b6200091d8682870162000878565b909450925062000932905060208501620008c4565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200096357600080fd5b813567ffffffffffffffff808211156200098157620009816200093b565b604051601f8301601f19908116603f01168101908282118183101715620009ac57620009ac6200093b565b81604052838152866020858801011115620009c657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060a0878903121562000a0057600080fd5b863567ffffffffffffffff8082111562000a1957600080fd5b62000a278a838b0162000878565b909850965086915062000a3d60208a01620008c4565b955062000a4d60408a01620008c4565b9450606089013591508082111562000a6457600080fd5b62000a728a838b0162000951565b9350608089013591508082111562000a8957600080fd5b5062000a9889828a0162000951565b9150509295509295509295565b6000815180845260005b8181101562000acd5760208185018101518683018201520162000aaf565b506000602082860101526020601f19601f83011685010191505092915050565b60ff851681526001600160a01b038416602082015260806040820152600062000b1a608083018562000aa5565b828103606084015262000b2e818562000aa5565b979650505050505050565b604081528260408201528284606083013760006060848301015260006060601f19601f86011683010190506001600160a01b0383166020830152949350505050565b60006020828403121562000b8e57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060408083016001600160a01b038087168552602083818701528287518085526060945084880191508289016000805b8381101562000c2a57825180516003811062000c0657634e487b7160e01b84526021600452602484fd5b86528087015188168787015289015189860152938701939185019160010162000bdc565b50929b9a5050505050505050505050565b6001600160a01b038316815260406020820152600062000209604083018462000aa556fe60806040526040516107ad3803806107ad83398101604081905261002291610319565b61002e82826000610035565b5050610436565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d08383604051806060016040528060278152602001610786602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e7565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b81526004016101489190610403565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b50506000910152565b6000806040838503121561032c57600080fd5b82516001600160a01b038116811461034357600080fd5b60208401519092506001600160401b038082111561036057600080fd5b818501915085601f83011261037457600080fd5b815181811115610386576103866102df565b604051601f8201601f19908116603f011681019083821181831017156103ae576103ae6102df565b816040528281528860208487010111156103c757600080fd5b6103d88360208301602088016102f5565b80955050505050509250929050565b600082516103f98184602087016102f5565b9190910192915050565b60208152600082518060208401526104228160408501602087016102f5565b601f01601f19169190910160400192915050565b610341806104456000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102e5602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610277565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed9190610293565b60005b8381101561026e578181015183820152602001610256565b50506000910152565b60008251610289818460208701610253565b9190910192915050565b60208152600082518060208401526102b2816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122015b2167515f4ace04b6d5f73baf181691326aab8bf1c62e731322916c13586ec64736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220026cc8782e33c9dbd56ec06d55dd433bdc931aa36dec708e45a46bae0cabe3e764736f6c6343000811003360a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516131686200011f60003960008181610a4401528181610adf01528181610cb101528181610d470152610e8c01526131686000f3fe60806040526004361061018b5760003560e01c80639aaf9f08116100d6578063d68bad2c1161007f578063e0589bd311610059578063e0589bd3146104a8578063e978afe5146104c8578063fc054427146104e857600080fd5b8063d68bad2c14610434578063d96054c414610454578063df1d6c441461047457600080fd5b8063c4d66de8116100b0578063c4d66de8146103c0578063c9dbc2a4146103e0578063cc98b8f51461040057600080fd5b80639aaf9f081461034c5780639af3e9091461036c578063afe5eb781461038c57600080fd5b80633659cfe61161013857806350abe9101161011257806350abe910146102de57806352d1902d1461030b5780637be0ca5e1461032057600080fd5b80633659cfe61461028b57806342d8e99e146102ab5780634f1ef286146102cb57600080fd5b80632675fdd0116101695780632675fdd01461022957806328375f67146102495780632ae9c6001461026957600080fd5b806301ffc9a71461019057806309e56b14146101c557806322844d0414610207575b600080fd5b34801561019c57600080fd5b506101b06101ab3660046126d3565b610508565b60405190151581526020015b60405180910390f35b3480156101d157600080fd5b506101f97f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3381565b6040519081526020016101bc565b34801561021357600080fd5b5061022761022236600461272a565b6105d4565b005b34801561023557600080fd5b506101b0610244366004612855565b6106f0565b34801561025557600080fd5b50610227610264366004612920565b6108ea565b34801561027557600080fd5b5061027e610a10565b6040516101bc9190612973565b34801561029757600080fd5b506102276102a63660046129a7565b610a3a565b3480156102b757600080fd5b506102276102c63660046129c4565b610bdc565b6102276102d9366004612a03565b610ca7565b3480156102ea57600080fd5b506102fe6102f93660046129a7565b610e35565b6040516101bc9190612aa3565b34801561031757600080fd5b506101f9610e7f565b34801561032c57600080fd5b5060cc5461033a9060ff1681565b60405160ff90911681526020016101bc565b34801561035857600080fd5b506102fe610367366004612aef565b610f44565b34801561037857600080fd5b506102fe610387366004612b08565b61109b565b34801561039857600080fd5b506101f97fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea81565b3480156103cc57600080fd5b506102276103db3660046129a7565b6110e1565b3480156103ec57600080fd5b506102276103fb366004612b20565b611258565b34801561040c57600080fd5b506101f97f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b81565b34801561044057600080fd5b5061022761044f366004612b73565b61128e565b34801561046057600080fd5b5061022761046f366004612b73565b6112c9565b34801561048057600080fd5b506101f961048f366004612bb4565b60ff16600090815260c9602052604090205461ffff1690565b3480156104b457600080fd5b506102fe6104c3366004612bb4565b6112fe565b3480156104d457600080fd5b506102276104e3366004612bcf565b611367565b3480156104f457600080fd5b50610227610503366004612c44565b6114b3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd4321b4000000000000000000000000000000000000000000000000000000000148061059b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f2ae9c60000000000000000000000000000000000000000000000000000000000145b806105ce57506301ffc9a760e01b7fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336105fe816118df565b60005b828110156106e957600084848381811061061d5761061d612cd7565b9050606002018036038101906106339190612cfc565b905060008151600281111561064a5761064a612d65565b03610667576106628682602001518360400151611967565b6106e0565b60018151600281111561067c5761067c612d65565b03610694576106628682602001518360400151611b2d565b6002815160028111156106a9576106a9612d65565b036106e0576040517fd4d3bef700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101610601565b5050505050565b60008060976000610762888888604051692822a926a4a9a9a4a7a760b11b60208201526bffffffffffffffffffffffff19606084811b8216602a84015285901b16603e820152605281018290526000906072016040516020818303038152906040528051906020012090509392505050565b81526020810191909152604001600020546001600160a01b0316905060011981016107915760019150506108e2565b6001600160a01b038116156107b5576107ad8187878787611c21565b9150506108e2565b5060408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19602a8301819052606089901b16603e830152605280830187905283518084039091018152607290920183528151918101919091206000908152609790915220546001600160a01b0316600119810161083b5760019150506108e2565b6001600160a01b03811615610857576107ad8187878787611c21565b5060408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606088901b8116602a840152603e830152605280830187905283518084039091018152607290920183528151918101919091206000908152609790915220546001600160a01b031680156108dc576107ad8187878787611c21565b50600090505b949350505050565b7fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea610914816118df565b8360ff16600003610951576040517f76f52ffa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc5460ff9081169085161115610994576040517f11c6e3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036109cf576040517f88bc3fe700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f8ff94c32efcef376eb02508cba5536e0634c1d6ad4b51ffa0f7306c78edaf5f7848484604051610a0293929190612da6565b60405180910390a150505050565b610a186126b5565b5060408051606081018252600181526004602082015260009181019190915290565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610add5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610bb45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ad4565b610bbd81611ccc565b60408051600080825260208201909252610bd991839190611cf6565b50565b600054600290610100900460ff16158015610bfe575060005460ff8083169116105b610c705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ad4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff83161761010017815560019080fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610ad4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610da07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610e1c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ad4565b610e2582611ccc565b610e3182826001611cf6565b5050565b6040805160a081018252600060608083018281526080840183905283526020808401839052838501919091526001600160a01b038516825260cb905291909120546105ce90610f44565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f1f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ad4565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6040805160a0810182526000606080830182815260808401839052835260208084018390528385019190915284825260ca905291822080549192909160ff169003610fbe576040517f8d0aeeb100000000000000000000000000000000000000000000000000000000815260048101849052602401610ad4565b6040805160a081018252825460ff81166060830190815261010090910461ffff166080830152815260018301546001600160a01b0316602082015260028301805491928492908401919061101190612dc3565b80601f016020809104026020016040519081016040528092919081815260200182805461103d90612dc3565b801561108a5780601f1061105f5761010080835404028352916020019161108a565b820191906000526020600020905b81548152906001019060200180831161106d57829003601f168201915b505050505081525050915050919050565b6040805160a081018252600060608083018281526080840183905283526020830191909152918101919091526105ce6103676110dc36859003850185612df7565b611e9b565b600054610100900460ff16158080156111015750600054600160ff909116105b8061111b5750303b15801561111b575060005460ff166001145b61118d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ad4565b6000805460ff1916600117905580156111b0576000805461ff0019166101001790555b6111b982611f2a565b6111e430837fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea611967565b61120f30837f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b611967565b8015610e31576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33611282816118df565b6106e985858585611fb0565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336112b8816118df565b6112c3848484611967565b50505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336112f3816118df565b6112c3848484611b2d565b6040805160a0810182526000606080830182815260808401839052835260208084018390528385019190915260ff851680835260c982529184902054845180860190955291845261ffff90911690830181905290916113609061036790611e9b565b9392505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33611391816118df565b60005b828110156112c35760008484838181106113b0576113b0612cd7565b905060a002018036038101906113c69190612e5b565b90506000815160028111156113dd576113dd612d65565b036114435760608101516001600160a01b031615611427576040517fd4d3bef700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61143e816020015182604001518360800151611967565b6114aa565b60018151600281111561145857611458612d65565b036114745761143e816020015182604001518360800151611b2d565b60028151600281111561148957611489612d65565b036114aa576114aa8160200151826040015183608001518460600151611fb0565b50600101611394565b7fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea6114dd816118df565b6115106001600160a01b0387167f99718b5000000000000000000000000000000000000000000000000000000000612307565b611546576040517f9d145ceb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660ff16600003611583576040517f76f52ffa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc546001906115969060ff1689612f00565b60ff1611156115e25760cc546040517f53db7b7b00000000000000000000000000000000000000000000000000000000815260ff91821660048201529088166024820152604401610ad4565b60cc5460ff908116908816111561163d5760cc805460ff191660ff8916179055600082900361163d576040517f88bc3fe700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616600090815260cb6020908152604080832054835260ca9091529020805460ff161580159061167c5750805460ff898116911614155b156116d85780546040517fff9f367400000000000000000000000000000000000000000000000000000000815260ff8216600482015261010090910461ffff1660248201526001600160a01b0388166044820152606401610ad4565b60ff8816600090815260c960205260408120805482906116fb9061ffff16612f19565b91906101000a81548161ffff021916908361ffff16021790559050600060405180604001604052808b60ff1681526020018361ffff168152509050600061174182611e9b565b905060405180606001604052808381526020018b6001600160a01b031681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083815260ca60209081526040918290208451805182549184015161ffff16610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660ff90911617178155908401516001820180546001600160a01b0390921673ffffffffffffffffffffffffffffffffffffffff199092169190911790559083015190915060028201906118349082612f88565b5050506001600160a01b038a16600081815260cb602052604090819020839055517feb4bce5025c5200f6a074dd28fe7754955dfdca0eb2dcbaa16ccc292655e666990611888908e9087908e908e90613048565b60405180910390a285156118d2577f8ff94c32efcef376eb02508cba5536e0634c1d6ad4b51ffa0f7306c78edaf5f78b88886040516118c993929190612da6565b60405180910390a15b5050505050505050505050565b6119223033836000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106f092505050565b610bd9576040517f1e09743f00000000000000000000000000000000000000000000000000000000815230600482015233602482015260448101829052606401610ad4565b7fffffffffffffffffffffffff00000000000000000000000000000000000000016001600160a01b038416016119b0576040516324159e5b60e01b815260040160405180910390fd5b7fffffffffffffffffffffffff00000000000000000000000000000000000000016001600160a01b03831601611a2a577f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33811480611a0c575060005b15611a2a576040516324159e5b60e01b815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e830152605280830185905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b0316806106e957600082815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600290811790915582516001600160a01b0389811682529281019190915290861691339186917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a45050505050565b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e830152605280830185905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b0316156112c357600081815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916905590516001600160a01b038681168252851691339185917f3ca48185ec3f6e47e24db18b13f1c65b1ce05da1659f9c1c4fe717dda5f67524910160405180910390a450505050565b6040517f2675fdd00000000000000000000000000000000000000000000000000000000081526000906001600160a01b03871690632675fdd090611c6f90889088908890889060040161306f565b602060405180830381865afa925050508015611ca8575060408051601f3d908101601f19168201909252611ca5918101906130a1565b60015b15611cbf578015611cbd576001915050611cc3565b505b5060005b95945050505050565b7f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b610e31816118df565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d2e57611d2983612323565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d88575060408051601f3d908101601f19168201909252611d85918101906130c3565b60015b611dfa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ad4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611e8f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ad4565b50611d298383836123ee565b600081600001518260200151604051602001611f0d92919060f89290921b7fff0000000000000000000000000000000000000000000000000000000000000016825260f01b7fffff00000000000000000000000000000000000000000000000000000000000016600182015260030190565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16611fa75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad4565b610bd981612413565b806001600160a01b0381163b611ffd576040517f48359af60000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ad4565b6040516301ffc9a760e01b81527f2675fdd00000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015612061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208591906130a1565b6120c6576040517fdbb048620000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ad4565b6001600160a01b038581161480156120e657506001600160a01b03848116145b1561211d576040517f85f1ba9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03858116148061213c57506001600160a01b03848116145b1561218b577f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3383148061216d575060005b1561218b576040516324159e5b60e01b815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606088811b8216602a85015289901b16603e830152605280830187905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b03168061228957600082815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925583518b8316815292830152881691339188917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a46122fe565b826001600160a01b0316816001600160a01b0316146122fe576040517f0b98789e0000000000000000000000000000000000000000000000000000000081526001600160a01b03808916600483015280881660248301526044820187905280831660648301528416608482015260a401610ad4565b50505050505050565b60006123128361243e565b801561136057506113608383612489565b6001600160a01b0381163b6123a05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ad4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6123f78361253f565b6000825111806124045750805b15611d29576112c3838361257f565b610bd930827f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33611967565b6000612451826301ffc9a760e01b612489565b80156105ce5750612482827fffffffff00000000000000000000000000000000000000000000000000000000612489565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015612528575060208210155b80156125345750600081115b979650505050505050565b61254881612323565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611360838360405180606001604052806027815260200161310c602791396060600080856001600160a01b0316856040516125bc91906130dc565b600060405180830381855af49150503d80600081146125f7576040519150601f19603f3d011682016040523d82523d6000602084013e6125fc565b606091505b509150915061260d86838387612617565b9695505050505050565b6060831561268657825160000361267f576001600160a01b0385163b61267f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad4565b50816108e2565b6108e2838381511561269b5781518083602001fd5b8060405162461bcd60e51b8152600401610ad491906130f8565b60405180606001604052806003906020820280368337509192915050565b6000602082840312156126e557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461136057600080fd5b6001600160a01b0381168114610bd957600080fd5b60008060006040848603121561273f57600080fd5b833561274a81612715565b9250602084013567ffffffffffffffff8082111561276757600080fd5b818601915086601f83011261277b57600080fd5b81358181111561278a57600080fd5b87602060608302850101111561279f57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127d957600080fd5b813567ffffffffffffffff808211156127f4576127f46127b2565b604051601f8301601f19908116603f0116810190828211818310171561281c5761281c6127b2565b8160405283815286602085880101111561283557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561286b57600080fd5b843561287681612715565b9350602085013561288681612715565b925060408501359150606085013567ffffffffffffffff8111156128a957600080fd5b6128b5878288016127c8565b91505092959194509250565b803560ff811681146128d257600080fd5b919050565b60008083601f8401126128e957600080fd5b50813567ffffffffffffffff81111561290157600080fd5b60208301915083602082850101111561291957600080fd5b9250929050565b60008060006040848603121561293557600080fd5b61293e846128c1565b9250602084013567ffffffffffffffff81111561295a57600080fd5b612966868287016128d7565b9497909650939450505050565b60608101818360005b600381101561299e57815160ff1683526020928301929091019060010161297c565b50505092915050565b6000602082840312156129b957600080fd5b813561136081612715565b6000806000608084860312156129d957600080fd5b60608401858111156129ea57600080fd5b8493503567ffffffffffffffff81111561295a57600080fd5b60008060408385031215612a1657600080fd5b8235612a2181612715565b9150602083013567ffffffffffffffff811115612a3d57600080fd5b612a49858286016127c8565b9150509250929050565b60005b83811015612a6e578181015183820152602001612a56565b50506000910152565b60008151808452612a8f816020860160208601612a53565b601f01601f19169290920160200192915050565b602081526000825160ff815116602084015261ffff6020820151166040840152506001600160a01b03602084015116606083015260408301516080808401526108e260a0840182612a77565b600060208284031215612b0157600080fd5b5035919050565b600060408284031215612b1a57600080fd5b50919050565b60008060008060808587031215612b3657600080fd5b8435612b4181612715565b93506020850135612b5181612715565b9250604085013591506060850135612b6881612715565b939692955090935050565b600080600060608486031215612b8857600080fd5b8335612b9381612715565b92506020840135612ba381612715565b929592945050506040919091013590565b600060208284031215612bc657600080fd5b611360826128c1565b60008060208385031215612be257600080fd5b823567ffffffffffffffff80821115612bfa57600080fd5b818501915085601f830112612c0e57600080fd5b813581811115612c1d57600080fd5b86602060a083028501011115612c3257600080fd5b60209290920196919550909350505050565b60008060008060008060808789031215612c5d57600080fd5b612c66876128c1565b95506020870135612c7681612715565b9450604087013567ffffffffffffffff80821115612c9357600080fd5b612c9f8a838b016128d7565b90965094506060890135915080821115612cb857600080fd5b50612cc589828a016128d7565b979a9699509497509295939492505050565b634e487b7160e01b600052603260045260246000fd5b8035600381106128d257600080fd5b600060608284031215612d0e57600080fd5b6040516060810181811067ffffffffffffffff82111715612d3157612d316127b2565b604052612d3d83612ced565b81526020830135612d4d81612715565b60208201526040928301359281019290925250919050565b634e487b7160e01b600052602160045260246000fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60ff84168152604060208201526000611cc3604083018486612d7b565b600181811c90821680612dd757607f821691505b602082108103612b1a57634e487b7160e01b600052602260045260246000fd5b600060408284031215612e0957600080fd5b6040516040810181811067ffffffffffffffff82111715612e2c57612e2c6127b2565b604052612e38836128c1565b8152602083013561ffff81168114612e4f57600080fd5b60208201529392505050565b600060a08284031215612e6d57600080fd5b60405160a0810181811067ffffffffffffffff82111715612e9057612e906127b2565b604052612e9c83612ced565b81526020830135612eac81612715565b60208201526040830135612ebf81612715565b60408201526060830135612ed281612715565b60608201526080928301359281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b60ff82811682821603908111156105ce576105ce612eea565b600061ffff808316818103612f3057612f30612eea565b6001019392505050565b601f821115611d2957600081815260208120601f850160051c81016020861015612f615750805b601f850160051c820191505b81811015612f8057828155600101612f6d565b505050505050565b815167ffffffffffffffff811115612fa257612fa26127b2565b612fb681612fb08454612dc3565b84612f3a565b602080601f831160018114612feb5760008415612fd35750858301515b600019600386901b1c1916600185901b178555612f80565b600085815260208120601f198616915b8281101561301a57888601518255948401946001909101908401612ffb565b50858210156130385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff8516815261ffff8416602082015260606040820152600061260d606083018486612d7b565b60006001600160a01b0380871683528086166020840152508360408301526080606083015261260d6080830184612a77565b6000602082840312156130b357600080fd5b8151801515811461136057600080fd5b6000602082840312156130d557600080fd5b5051919050565b600082516130ee818460208701612a53565b9190910192915050565b6020815260006113606020830184612a7756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220810d23d35ce2983364f8a9cb243f6811fc6bb12125e83af85de3225f44d97ef364736f6c63430008110033000000000000000000000000b5eb5c011827c9f5787cee3abc72d247e36a5a0d