4 txs
9 calls
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
0x608060405234801561001057600080fd5b5060405161450238038061450283398101604081905261002f916100a6565b600080546001600160a01b0319166001600160a01b03831617905560405161005690610099565b604051809103906000f080158015610072573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055506100d6565b612fde8061152483390190565b6000602082840312156100b857600080fd5b81516001600160a01b03811681146100cf57600080fd5b9392505050565b61143f806100e56000396000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806349b19d08116200005657806349b19d0814620000f25780637bd3e8ac1462000109578063d222cb1e146200012057600080fd5b806301ffc9a714620000805780630b36f03c14620000ac5780632ae9c60014620000d9575b600080fd5b6200009762000091366004620007f4565b62000134565b60405190151581526020015b60405180910390f35b600054620000c0906001600160a01b031681565b6040516001600160a01b039091168152602001620000a3565b620000e3620001ce565b604051620000a391906200083f565b620000c062000103366004620008de565b620001fa565b620000c06200011a366004620009e3565b62000211565b600154620000c0906001600160a01b031681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2ae9c600000000000000000000000000000000000000000000000000000000001480620001c857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b620001d8620007c8565b5060408051606081018252600181526003602082015260009181019190915290565b600062000209848484620002bb565b949350505050565b600062000220878730620002bb565b6040517ffc0544270000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063fc05442790620002719060019089908790899060040162000aea565b600060405180830381600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b50505050620002b18185620003cb565b9695505050505050565b600154604080516001600160a01b038481166024808401919091528351808403909101815260449092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de8000000000000000000000000000000000000000000000000000000001790526000926200034092169062000784565b6000546040517ffdb9df550000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063fdb9df5590620003909087908790869060040162000b36565b600060405180830381600087803b158015620003ab57600080fd5b505af1158015620003c0573d6000803e3d6000fd5b505050509392505050565b60408051600680825260e08201909252600091816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181620003e35790505090506000836001600160a01b03166309e56b146040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000498919062000b78565b90506000846001600160a01b031663afe5eb786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000501919062000b78565b90506000856001600160a01b031663cc98b8f56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200056a919062000b78565b60408051606081019091529091508060008152602001866001600160a01b031681526020018381525084600081518110620005a957620005a962000b92565b602090810291909101015260408051606081019091528060008152602001866001600160a01b031681526020018281525084600181518110620005f057620005f062000b92565b602090810291909101015260408051606081019091528060008152602001866001600160a01b03168152602001848152508460028151811062000637576200063762000b92565b60209081029190910101526040805160608101909152806001815230602082015260400184905284518590600390811062000676576200067662000b92565b602090810291909101015260408051606081019091528060018152306020820152604001839052845185906004908110620006b557620006b562000b92565b602090810291909101015260408051606081019091528060018152306020820152604001829052845185906005908110620006f457620006f462000b92565b60209081029190910101526040517f22844d040000000000000000000000000000000000000000000000000000000081526001600160a01b038716906322844d049062000748908990889060040162000ba8565b600060405180830381600087803b1580156200076357600080fd5b505af115801562000778573d6000803e3d6000fd5b50505050505050505050565b600082826040516200079690620007e6565b620007a392919062000c38565b604051809103906000f080158015620007c0573d6000803e3d6000fd5b509392505050565b60405180606001604052806003906020820280368337509192915050565b6107ad8062000c5d83390190565b6000602082840312156200080757600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200083857600080fd5b9392505050565b60608101818360005b60038110156200086c57815160ff1683526020928301929091019060010162000848565b50505092915050565b60008083601f8401126200088857600080fd5b50813567ffffffffffffffff811115620008a157600080fd5b602083019150836020828501011115620008ba57600080fd5b9250929050565b80356001600160a01b0381168114620008d957600080fd5b919050565b600080600060408486031215620008f457600080fd5b833567ffffffffffffffff8111156200090c57600080fd5b6200091a8682870162000875565b90945092506200092f905060208501620008c1565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200096057600080fd5b813567ffffffffffffffff808211156200097e576200097e62000938565b604051601f8301601f19908116603f01168101908282118183101715620009a957620009a962000938565b81604052838152866020858801011115620009c357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060a08789031215620009fd57600080fd5b863567ffffffffffffffff8082111562000a1657600080fd5b62000a248a838b0162000875565b909850965086915062000a3a60208a01620008c1565b955062000a4a60408a01620008c1565b9450606089013591508082111562000a6157600080fd5b62000a6f8a838b016200094e565b9350608089013591508082111562000a8657600080fd5b5062000a9589828a016200094e565b9150509295509295509295565b6000815180845260005b8181101562000aca5760208185018101518683018201520162000aac565b506000602082860101526020601f19601f83011685010191505092915050565b60ff851681526001600160a01b038416602082015260806040820152600062000b17608083018562000aa2565b828103606084015262000b2b818562000aa2565b979650505050505050565b604081528260408201528284606083013760006060848301015260006060601f19601f86011683010190506001600160a01b0383166020830152949350505050565b60006020828403121562000b8b57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060408083016001600160a01b038087168552602083818701528287518085526060945084880191508289016000805b8381101562000c2757825180516003811062000c0357634e487b7160e01b84526021600452602484fd5b86528087015188168787015289015189860152938701939185019160010162000bd9565b50929b9a5050505050505050505050565b6001600160a01b038316815260406020820152600062000209604083018462000aa256fe60806040526040516107ad3803806107ad83398101604081905261002291610319565b61002e82826000610035565b5050610436565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d08383604051806060016040528060278152602001610786602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e7565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b81526004016101489190610403565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b50506000910152565b6000806040838503121561032c57600080fd5b82516001600160a01b038116811461034357600080fd5b60208401519092506001600160401b038082111561036057600080fd5b818501915085601f83011261037457600080fd5b815181811115610386576103866102df565b604051601f8201601f19908116603f011681019083821181831017156103ae576103ae6102df565b816040528281528860208487010111156103c757600080fd5b6103d88360208301602088016102f5565b80955050505050509250929050565b600082516103f98184602087016102f5565b9190910192915050565b60208152600082518060208401526104228160408501602087016102f5565b601f01601f19169190910160400192915050565b610341806104456000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102e5602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610277565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed9190610293565b60005b8381101561026e578181015183820152602001610256565b50506000910152565b60008251610289818460208701610253565b9190910192915050565b60208152600082518060208401526102b2816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122015b2167515f4ace04b6d5f73baf181691326aab8bf1c62e731322916c13586ec64736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220777bd4d99b0b1aff479a2f7d535433fa5833b4dcfd2c13812f3566a0c8a9975464736f6c6343000811003360a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051612ebf6200011f6000396000818161086a0152818161090501528181610a0c01528181610aa20152610be70152612ebf6000f3fe6080604052600436106101805760003560e01c80639aaf9f08116100d6578063d68bad2c1161007f578063e0589bd311610059578063e0589bd31461047d578063e978afe51461049d578063fc054427146104bd57600080fd5b8063d68bad2c14610409578063d96054c414610429578063df1d6c441461044957600080fd5b8063c4d66de8116100b0578063c4d66de814610395578063c9dbc2a4146103b5578063cc98b8f5146103d557600080fd5b80639aaf9f08146103215780639af3e90914610341578063afe5eb781461036157600080fd5b80632ae9c6001161013857806350abe9101161011257806350abe910146102b357806352d1902d146102e05780637be0ca5e146102f557600080fd5b80632ae9c6001461025e5780633659cfe6146102805780634f1ef286146102a057600080fd5b806322844d041161016957806322844d04146101fc5780632675fdd01461021e57806328375f671461023e57600080fd5b806301ffc9a71461018557806309e56b14146101ba575b600080fd5b34801561019157600080fd5b506101a56101a0366004612469565b6104dd565b60405190151581526020015b60405180910390f35b3480156101c657600080fd5b506101ee7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3381565b6040519081526020016101b1565b34801561020857600080fd5b5061021c6102173660046124c0565b6105a9565b005b34801561022a57600080fd5b506101a56102393660046125eb565b6106c5565b34801561024a57600080fd5b5061021c6102593660046126b6565b610710565b34801561026a57600080fd5b50610273610836565b6040516101b19190612709565b34801561028c57600080fd5b5061021c61029b36600461273d565b610860565b61021c6102ae36600461275a565b610a02565b3480156102bf57600080fd5b506102d36102ce36600461273d565b610b90565b6040516101b191906127fa565b3480156102ec57600080fd5b506101ee610bda565b34801561030157600080fd5b5060cc5461030f9060ff1681565b60405160ff90911681526020016101b1565b34801561032d57600080fd5b506102d361033c366004612846565b610c9f565b34801561034d57600080fd5b506102d361035c36600461285f565b610df6565b34801561036d57600080fd5b506101ee7fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea81565b3480156103a157600080fd5b5061021c6103b036600461273d565b610e3c565b3480156103c157600080fd5b5061021c6103d0366004612877565b610fb3565b3480156103e157600080fd5b506101ee7f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b81565b34801561041557600080fd5b5061021c6104243660046128ca565b610fe9565b34801561043557600080fd5b5061021c6104443660046128ca565b611024565b34801561045557600080fd5b506101ee61046436600461290b565b60ff16600090815260c9602052604090205461ffff1690565b34801561048957600080fd5b506102d361049836600461290b565b611059565b3480156104a957600080fd5b5061021c6104b8366004612926565b6110c2565b3480156104c957600080fd5b5061021c6104d836600461299b565b6111c9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd4321b4000000000000000000000000000000000000000000000000000000000148061057057507fffffffff0000000000000000000000000000000000000000000000000000000082167f2ae9c60000000000000000000000000000000000000000000000000000000000145b806105a357506301ffc9a760e01b7fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336105d3816115f5565b60005b828110156106be5760008484838181106105f2576105f2612a2e565b9050606002018036038101906106089190612a53565b905060008151600281111561061f5761061f612abc565b0361063c57610637868260200151836040015161167d565b6106b5565b60018151600281111561065157610651612abc565b036106695761063786826020015183604001516117d6565b60028151600281111561067e5761067e612abc565b036106b5576040517fd4d3bef700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016105d6565b5050505050565b60006106d3858585856118ca565b806106ec57506106ec856001600160a01b0385856118ca565b8061070557506107056001600160a01b038585856118ca565b90505b949350505050565b7fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea61073a816115f5565b8360ff16600003610777576040517f76f52ffa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc5460ff90811690851611156107ba576040517f11c6e3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036107f5576040517f88bc3fe700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f8ff94c32efcef376eb02508cba5536e0634c1d6ad4b51ffa0f7306c78edaf5f784848460405161082893929190612afd565b60405180910390a150505050565b61083e61244b565b5060408051606081018252600181526003602082015260009181019190915290565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661095e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146109da5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108fa565b6109e381611a49565b604080516000808252602082019092526109ff91839190611a73565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610aa05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108fa565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610afb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610b775760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108fa565b610b8082611a49565b610b8c82826001611a73565b5050565b6040805160a081018252600060608083018281526080840183905283526020808401839052838501919091526001600160a01b038516825260cb905291909120546105a390610c9f565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c7a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108fa565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6040805160a0810182526000606080830182815260808401839052835260208084018390528385019190915284825260ca905291822080549192909160ff169003610d19576040517f8d0aeeb1000000000000000000000000000000000000000000000000000000008152600481018490526024016108fa565b6040805160a081018252825460ff81166060830190815261010090910461ffff166080830152815260018301546001600160a01b03166020820152600283018054919284929084019190610d6c90612b1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9890612b1a565b8015610de55780601f10610dba57610100808354040283529160200191610de5565b820191906000526020600020905b815481529060010190602001808311610dc857829003601f168201915b505050505081525050915050919050565b6040805160a081018252600060608083018281526080840183905283526020830191909152918101919091526105a361033c610e3736859003850185612b4e565b611c18565b600054610100900460ff1615808015610e5c5750600054600160ff909116105b80610e765750303b158015610e76575060005460ff166001145b610ee85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108fa565b6000805460ff191660011790558015610f0b576000805461ff0019166101001790555b610f1482611ca7565b610f3f30837fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea61167d565b610f6a30837f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b61167d565b8015610b8c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33610fdd816115f5565b6106be85858585611d2d565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33611013816115f5565b61101e84848461167d565b50505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3361104e816115f5565b61101e8484846117d6565b6040805160a0810182526000606080830182815260808401839052835260208084018390528385019190915260ff851680835260c982529184902054845180860190955291845261ffff90911690830181905290916110bb9061033c90611c18565b9392505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336110ec816115f5565b60005b8281101561101e57600084848381811061110b5761110b612a2e565b905060a002018036038101906111219190612bb2565b905060008151600281111561113857611138612abc565b036111595761115481602001518260400151836080015161167d565b6111c0565b60018151600281111561116e5761116e612abc565b0361118a576111548160200151826040015183608001516117d6565b60028151600281111561119f5761119f612abc565b036111c0576111c08160200151826040015183608001518460600151611d2d565b506001016110ef565b7fa0885006fe6672eeafd1deca6c67bcdc6dd79cfe2b157a98539ddf73cd8c04ea6111f3816115f5565b6112266001600160a01b0387167f99718b500000000000000000000000000000000000000000000000000000000061209d565b61125c576040517f9d145ceb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660ff16600003611299576040517f76f52ffa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc546001906112ac9060ff1689612c57565b60ff1611156112f85760cc546040517f53db7b7b00000000000000000000000000000000000000000000000000000000815260ff918216600482015290881660248201526044016108fa565b60cc5460ff90811690881611156113535760cc805460ff191660ff89161790556000829003611353576040517f88bc3fe700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616600090815260cb6020908152604080832054835260ca9091529020805460ff16158015906113925750805460ff898116911614155b156113ee5780546040517fff9f367400000000000000000000000000000000000000000000000000000000815260ff8216600482015261010090910461ffff1660248201526001600160a01b03881660448201526064016108fa565b60ff8816600090815260c960205260408120805482906114119061ffff16612c70565b91906101000a81548161ffff021916908361ffff16021790559050600060405180604001604052808b60ff1681526020018361ffff168152509050600061145782611c18565b905060405180606001604052808381526020018b6001600160a01b031681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083815260ca60209081526040918290208451805182549184015161ffff16610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660ff90911617178155908401516001820180546001600160a01b0390921673ffffffffffffffffffffffffffffffffffffffff1990921691909117905590830151909150600282019061154a9082612cdf565b5050506001600160a01b038a16600081815260cb602052604090819020839055517feb4bce5025c5200f6a074dd28fe7754955dfdca0eb2dcbaa16ccc292655e66699061159e908e9087908e908e90612d9f565b60405180910390a285156115e8577f8ff94c32efcef376eb02508cba5536e0634c1d6ad4b51ffa0f7306c78edaf5f78b88886040516115df93929190612afd565b60405180910390a15b5050505050505050505050565b6116383033836000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106c592505050565b6109ff576040517f1e09743f000000000000000000000000000000000000000000000000000000008152306004820152336024820152604481018290526064016108fa565b6001600160a01b03838116148061169c57506001600160a01b03828116145b156116d3576040517f24159e5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e830152605280830185905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b0316806106be57600082815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600290811790915582516001600160a01b0389811682529281019190915290861691339186917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a45050505050565b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e830152605280830185905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b03161561101e57600081815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916905590516001600160a01b038681168252851691339185917f3ca48185ec3f6e47e24db18b13f1c65b1ce05da1659f9c1c4fe717dda5f67524910160405180910390a450505050565b6000806097600061193c888888604051692822a926a4a9a9a4a7a760b11b60208201526bffffffffffffffffffffffff19606084811b8216602a84015285901b16603e820152605281018290526000906072016040516020818303038152906040528051906020012090509392505050565b81526020810191909152604001600020546001600160a01b0316905080611967576000915050610708565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6001600160a01b038216016119a1576001915050610708565b6040517f2675fdd00000000000000000000000000000000000000000000000000000000081526001600160a01b03821690632675fdd0906119ec908990899089908990600401612dc6565b602060405180830381865afa925050508015611a25575060408051601f3d908101601f19168201909252611a2291810190612df8565b60015b15611a3d578015611a3b57600192505050610708565b505b50600095945050505050565b7f5aa4f06bdc18535eff05128093a2315c2c960a2722e20021cbff28da04760f5b610b8c816115f5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611aab57611aa6836120b9565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b05575060408051601f3d908101601f19168201909252611b0291810190612e1a565b60015b611b775760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108fa565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c0c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108fa565b50611aa6838383612184565b600081600001518260200151604051602001611c8a92919060f89290921b7fff0000000000000000000000000000000000000000000000000000000000000016825260f01b7fffff00000000000000000000000000000000000000000000000000000000000016600182015260030190565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16611d245760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108fa565b6109ff816121a9565b806001600160a01b0381163b611d7a576040517f48359af60000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016108fa565b6040516301ffc9a760e01b81527f2675fdd00000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e029190612df8565b611e43576040517f740b71160000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016108fa565b6001600160a01b03858116148015611e6357506001600160a01b03848116145b15611e9a576040517f85f1ba9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038581161480611eb957506001600160a01b03848116145b15611f21577f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33831480611eea575060005b15611f21576040517f24159e5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606088811b8216602a85015289901b16603e830152605280830187905283518084039091018152607290920190925280519101206000906000818152609760205260409020549091506001600160a01b03168061201f57600082815260976020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925583518b8316815292830152881691339188917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a4612094565b826001600160a01b0316816001600160a01b031614612094576040517f0b98789e0000000000000000000000000000000000000000000000000000000081526001600160a01b03808916600483015280881660248301526044820187905280831660648301528416608482015260a4016108fa565b50505050505050565b60006120a8836121d4565b80156110bb57506110bb838361221f565b6001600160a01b0381163b6121365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108fa565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61218d836122d5565b60008251118061219a5750805b15611aa65761101e8383612315565b6109ff30827f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3361167d565b60006121e7826301ffc9a760e01b61221f565b80156105a35750612218827fffffffff0000000000000000000000000000000000000000000000000000000061221f565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156122be575060208210155b80156122ca5750600081115b979650505050505050565b6122de816120b9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110bb8383604051806060016040528060278152602001612e63602791396060600080856001600160a01b0316856040516123529190612e33565b600060405180830381855af49150503d806000811461238d576040519150601f19603f3d011682016040523d82523d6000602084013e612392565b606091505b50915091506123a3868383876123ad565b9695505050505050565b6060831561241c578251600003612415576001600160a01b0385163b6124155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fa565b5081610708565b61070883838151156124315781518083602001fd5b8060405162461bcd60e51b81526004016108fa9190612e4f565b60405180606001604052806003906020820280368337509192915050565b60006020828403121561247b57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110bb57600080fd5b6001600160a01b03811681146109ff57600080fd5b6000806000604084860312156124d557600080fd5b83356124e0816124ab565b9250602084013567ffffffffffffffff808211156124fd57600080fd5b818601915086601f83011261251157600080fd5b81358181111561252057600080fd5b87602060608302850101111561253557600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261256f57600080fd5b813567ffffffffffffffff8082111561258a5761258a612548565b604051601f8301601f19908116603f011681019082821181831017156125b2576125b2612548565b816040528381528660208588010111156125cb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561260157600080fd5b843561260c816124ab565b9350602085013561261c816124ab565b925060408501359150606085013567ffffffffffffffff81111561263f57600080fd5b61264b8782880161255e565b91505092959194509250565b803560ff8116811461266857600080fd5b919050565b60008083601f84011261267f57600080fd5b50813567ffffffffffffffff81111561269757600080fd5b6020830191508360208285010111156126af57600080fd5b9250929050565b6000806000604084860312156126cb57600080fd5b6126d484612657565b9250602084013567ffffffffffffffff8111156126f057600080fd5b6126fc8682870161266d565b9497909650939450505050565b60608101818360005b600381101561273457815160ff16835260209283019290910190600101612712565b50505092915050565b60006020828403121561274f57600080fd5b81356110bb816124ab565b6000806040838503121561276d57600080fd5b8235612778816124ab565b9150602083013567ffffffffffffffff81111561279457600080fd5b6127a08582860161255e565b9150509250929050565b60005b838110156127c55781810151838201526020016127ad565b50506000910152565b600081518084526127e68160208601602086016127aa565b601f01601f19169290920160200192915050565b602081526000825160ff815116602084015261ffff6020820151166040840152506001600160a01b036020840151166060830152604083015160808084015261070860a08401826127ce565b60006020828403121561285857600080fd5b5035919050565b60006040828403121561287157600080fd5b50919050565b6000806000806080858703121561288d57600080fd5b8435612898816124ab565b935060208501356128a8816124ab565b92506040850135915060608501356128bf816124ab565b939692955090935050565b6000806000606084860312156128df57600080fd5b83356128ea816124ab565b925060208401356128fa816124ab565b929592945050506040919091013590565b60006020828403121561291d57600080fd5b6110bb82612657565b6000806020838503121561293957600080fd5b823567ffffffffffffffff8082111561295157600080fd5b818501915085601f83011261296557600080fd5b81358181111561297457600080fd5b86602060a08302850101111561298957600080fd5b60209290920196919550909350505050565b600080600080600080608087890312156129b457600080fd5b6129bd87612657565b955060208701356129cd816124ab565b9450604087013567ffffffffffffffff808211156129ea57600080fd5b6129f68a838b0161266d565b90965094506060890135915080821115612a0f57600080fd5b50612a1c89828a0161266d565b979a9699509497509295939492505050565b634e487b7160e01b600052603260045260246000fd5b80356003811061266857600080fd5b600060608284031215612a6557600080fd5b6040516060810181811067ffffffffffffffff82111715612a8857612a88612548565b604052612a9483612a44565b81526020830135612aa4816124ab565b60208201526040928301359281019290925250919050565b634e487b7160e01b600052602160045260246000fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60ff84168152604060208201526000610705604083018486612ad2565b600181811c90821680612b2e57607f821691505b60208210810361287157634e487b7160e01b600052602260045260246000fd5b600060408284031215612b6057600080fd5b6040516040810181811067ffffffffffffffff82111715612b8357612b83612548565b604052612b8f83612657565b8152602083013561ffff81168114612ba657600080fd5b60208201529392505050565b600060a08284031215612bc457600080fd5b60405160a0810181811067ffffffffffffffff82111715612be757612be7612548565b604052612bf383612a44565b81526020830135612c03816124ab565b60208201526040830135612c16816124ab565b60408201526060830135612c29816124ab565b60608201526080928301359281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b60ff82811682821603908111156105a3576105a3612c41565b600061ffff808316818103612c8757612c87612c41565b6001019392505050565b601f821115611aa657600081815260208120601f850160051c81016020861015612cb85750805b601f850160051c820191505b81811015612cd757828155600101612cc4565b505050505050565b815167ffffffffffffffff811115612cf957612cf9612548565b612d0d81612d078454612b1a565b84612c91565b602080601f831160018114612d425760008415612d2a5750858301515b600019600386901b1c1916600185901b178555612cd7565b600085815260208120601f198616915b82811015612d7157888601518255948401946001909101908401612d52565b5085821015612d8f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff8516815261ffff841660208201526060604082015260006123a3606083018486612ad2565b60006001600160a01b038087168352808616602084015250836040830152608060608301526123a360808301846127ce565b600060208284031215612e0a57600080fd5b815180151581146110bb57600080fd5b600060208284031215612e2c57600080fd5b5051919050565b60008251612e458184602087016127aa565b9190910192915050565b6020815260006110bb60208301846127ce56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201a0a25e3857df36293c5ee2903444ab18957797f60ba30fb544e9b2715bfe9f864736f6c63430008110033000000000000000000000000ce0b4124dea6105bfb85fb4461c4d39f360e9ef3