[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "_size", "type": "uint256" }, { "internalType": "uint256", "name": "_start", "type": "uint256" }, { "internalType": "uint256", "name": "_end", "type": "uint256" } ], "name": "InvalidCodeAtRange", "type": "error" }, { "inputs": [], "name": "WriteError", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "AdminApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "AdminRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ContractURIUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "abiString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "approveAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "asciiArtURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "engage", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "engaged", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAdmins", "outputs": [ { "internalType": "address[]", "name": "admins", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "isAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "qubitState", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renderer", "outputs": [ { "internalType": "contract ITokenURISupplier", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "revokeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_abiString", "type": "string" } ], "name": "setABIString", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "setRenderer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60808060405234620001ec576200001660c0604052565b601581527f4245494e475f414e445f4e4f5448494e474e455353000000000000000000000060a0526040516200004c8162000204565b60048152633e67541f60e11b6020808301919091525f8054336001600160a01b0319821681178355929492916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a38051926001600160401b038411620001e657600191620000d485620000ce855462000260565b6200029b565b602091601f86116001146200015b575093806200010c9262000114965f926200014f575b50508160011b915f199060031b1c19161790565b905562000349565b6200012460ff1960095416600955565b6200012f3362000432565b600b80546001600160a01b0319169055604051613a1590816200080a8239f35b015190505f80620000f8565b60015f529190601f1986167fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f905b828210620001ce575050918493918762000114989410620001b5575b505050811b01905562000349565b01515f1960f88460031b161c191690555f8080620001a7565b8087869782949787015181550196019401906200018b565b620001f0565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117620001e657604052565b602081019081106001600160401b03821117620001e657604052565b601f909101601f19168101906001600160401b03821190821017620001e657604052565b90600182811c9216801562000290575b60208310146200027c57565b634e487b7160e01b5f52602260045260245ffd5b91607f169162000270565b90601f8211620002a9575050565b60019160015f5260205f20906020601f840160051c83019310620002e9575b601f0160051c01905b818110620002de57505050565b5f81558201620002d1565b9091508190620002c8565b601f811162000301575050565b60025f5260205f20906020601f840160051c830193106200033e575b601f0160051c01905b81811062000332575050565b5f815560010162000326565b90915081906200031d565b80519091906001600160401b038111620001e65762000375816200036f60025462000260565b620002f4565b602080601f8311600114620003ad57508190620003a893945f926200014f5750508160011b915f199060031b1c19161790565b600255565b60025f52601f198316949091907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace925f905b8782106200041957505083600195961062000400575b505050811b01600255565b01515f1960f88460031b161c191690555f8080620003f5565b80600185968294968601518155019501930190620003df565b60405190620004418262000220565b5f82526001600160a01b0391818316918215620005385760015f81905260036020527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c5462000536956200053095916200049d911615620005d2565b6001600160a01b0383165f908152600460205260409020620004c081546200061f565b905560015f5260036020527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c80546001600160a01b0319166001600160a01b0385161790555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46200070d565b6200057c565b565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b156200058457565b60405162461bcd60e51b815260206004820152603260248201525f805160206200421f83398151915260448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b15620005da57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b90600182018092116200062e57565b634e487b7160e01b5f52601160045260245ffd5b90816020910312620001ec57516001600160e01b031981168103620001ec5790565b9092919260018060a01b031681526020925f602083015260016040830152608060608301528051908160808401525f5b828110620006b657505060a09293505f838284010152601f8019910116010190565b81810186015184820160a00152850162000694565b3d1562000708573d906001600160401b038211620001e65760405191620006fd601f8201601f1916602001846200023c565b82523d5f602084013e565b606090565b803b15620008025760206040518092815f816200073a630a85bd0160e11b98898352336004840162000664565b03926001600160a01b03165af15f9181620007ca575b50620007bc5762000760620006cb565b80519081620007b75760405162461bcd60e51b815260206004820152603260248201525f805160206200421f83398151915260448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b602001fd5b6001600160e01b0319161490565b620007f291925060203d602011620007fa575b620007e981836200023c565b81019062000642565b905f62000750565b503d620007dd565b505060019056fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146101f457806306fdde03146101ef578063081812fc146101ea578063095ea7b3146101e557806323b872dd146101e057806324d7806c146101db5780632d345670146101d65780632edd8b4d146101d157806331ae450b146101cc57806342842e0e146101c757806342966c68146101c25780634a166f68146101bd57806356d3163d146101b85780635eb6c10e146101b35780636352211e146101ae5780636c1a0188146101a95780636d73e669146101a457806370a082311461019f578063715018a61461019a5780638ada6b0f146101955780638da5cb5b1461019057806395d89b411461018b578063a22cb46514610186578063b88d4fde14610181578063be93c3871461017c578063c87b56dd14610177578063e8a3d48514610172578063e985e9c51461016d578063f2fde38b146101685763f674e1a714610163575f80fd5b612e48565b612db3565b612d57565b612c84565b612b6b565b612b47565b612ae7565b6129ff565b61293e565b612917565b6128ef565b612894565b6127f4565b612776565b610bec565b610bce565b610a76565b61093a565b6108de565b6107d6565b6107af565b610717565b6106b1565b610634565b6105d9565b6105b0565b61048f565b610433565b610332565b61020f565b6001600160e01b031981160361020b57565b5f80fd5b3461020b57602036600319011261020b5761025d60043561022f816101f9565b63ffffffff60e01b16630d83403160e31b8114908115610261575b5060405190151581529081906020820190565b0390f35b63f674e1a760e01b81149150811561027b575b505f61024a565b632a9f3abf60e11b811491508115610295575b505f610274565b6380ac58cd60e01b8114915081156102c7575b81156102b6575b505f61028e565b6301ffc9a760e01b1490505f6102af565b635b5e139f60e01b811491506102a8565b5f5b8381106102e95750505f910152565b81810151838201526020016102da565b90602091610312815180928185528580860191016102d8565b601f01601f1916010190565b90602061032f9281815201906102f9565b90565b3461020b575f36600319011261020b576040515f60018054908160011c9160018116918215610429575b6020916020851084146104155784875260208701939081156103f6575060011461039d575b61025d8661039181880382610a02565b6040519182918261031e565b60015f90815294509192917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8386106103e557505050910190506103918261025d5f610381565b8054858701529482019481016103ca565b60ff1916845250505090151560051b0190506103918261025d5f610381565b634e487b7160e01b5f52602260045260245ffd5b92607f169261035c565b3461020b57602036600319011261020b576020610451600435612e77565b6040516001600160a01b039091168152f35b600435906001600160a01b038216820361020b57565b602435906001600160a01b038216820361020b57565b3461020b57604036600319011261020b576104a8610463565b6024356104b4816130ae565b916001600160a01b03808416908216811461052c576104e6936104e19133149081156104e8575b50612f07565b613303565b005b6001600160a01b03165f908152600660205260409020610526915061051f9033905b9060018060a01b03165f5260205260405f2090565b5460ff1690565b5f6104db565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b606090600319011261020b576001600160a01b0390600435828116810361020b5791602435908116810361020b579060443590565b3461020b576104e66105c13661057b565b916105d46105cf8433613365565b612f79565b6134db565b3461020b57602036600319011261020b5760206105f4610463565b5f546001600160a01b0391821691168114908115610618575b506040519015158152f35b61062e91505f52600860205260405f2054151590565b5f61060d565b3461020b57602036600319011261020b5761064d610463565b5f546001600160a01b0391906106669083163314612fdf565b1661067c815f52600860205260405f2054151590565b61068257005b6104e69033817f7c0c3c84c67c85fcac635147348bfe374c24a1a93d0366d1cfe9d8853cbf89d55f80a3613732565b3461020b575f36600319011261020b57602060ff600954166040519015158152f35b60209060206040818301928281528551809452019301915f5b8281106106fa575050505090565b83516001600160a01b0316855293810193928101926001016106ec565b3461020b575f36600319011261020b576007546107338161302a565b906107416040519283610a02565b80825261074d8161302a565b602090601f190136848301375f5b828110610770576040518061025d86826106d3565b610779816136a5565b91905485518210156107aa5760039290921b9190911c6001600160a01b0316600582901b850183015260010161075b565b613042565b3461020b576104e66107c03661057b565b90604051926107ce846109c4565b5f8452613125565b3461020b57602036600319011261020b576004356107f48133613365565b1561088057610802816130ae565b61080b826132b0565b6001600160a01b03165f81815260046020526040902080549091905f19810190811161087b575f92558282526003602052604082206bffffffffffffffffffffffff60a01b81541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4005b6134ab565b60405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608490fd5b3461020b575f36600319011261020b575f546001600160a01b03163314801561091a575b61090b90613056565b6009805460ff19166001179055005b5061090b610933335f52600860205260405f2054151590565b9050610902565b3461020b57602036600319011261020b57610953610463565b5f546001600160a01b039190821633148015610990575b61097390613056565b166bffffffffffffffffffffffff60a01b600b541617600b555f80f35b506109736109a9335f52600860205260405f2054151590565b905061096a565b634e487b7160e01b5f52604160045260245ffd5b6020810190811067ffffffffffffffff8211176109e057604052565b6109b0565b611f20810190811067ffffffffffffffff8211176109e057604052565b90601f8019910116810190811067ffffffffffffffff8211176109e057604052565b67ffffffffffffffff81116109e057601f01601f191660200190565b929192610a4c82610a24565b91610a5a6040519384610a02565b82948184528183011161020b578281602093845f960137010152565b3461020b57602036600319011261020b5760043567ffffffffffffffff811161020b573660238201121561020b57610ab8903690602481600401359101610a40565b5f546001600160a01b039190821633148015610bae575b610ad890613056565b610b59610b69602e604051610b1460218260208101975f8952610b0481518092602086860191016102d8565b8101036001810184520182610a02565b8051946040519485926020840197606360f81b895263ffffffff60e01b9060e01b1660218501526880600e6000396000f360b81b6025850152518092858501906102d8565b810103600e810184520182610a02565b51905ff090811615610b9c5760098054610100600160a81b03191660089290921b610100600160a81b0316919091179055005b60405163046a55db60e11b8152600490fd5b50610ad8610bc7335f52600860205260405f2054151590565b9050610acf565b3461020b57602036600319011261020b5760206104516004356130ae565b3461020b575f36600319011261020b5761025d604051610c0b816109e5565b611ef181527f646174613a746578742f706c61696e3b636861727365743d7574662d383b626160208201527f736536342c4c7938764c7938764c7938764c7938764c7938764c7938764c793860408201527f764c7938764c7938764c7938764c7938764c7938764c7938764c7938764c79388060608301528060808301527f764c7938764c77304b4c7938674943416749434167494341674943416749434160a08301527f67494341674943416749434167494341674943416749434167494341674943418060c08401528060e08401527f6749434167494341764c77304b4c79386749434167494f4b566e2b4b576a4f4b6101008401527f57694f4b56714f4b576a4f4b57694537696c6f6a696c6f6a696c6f6a696c6f6a6101208401527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a8061014085015280610160850152806101808501527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f446101a08501527f696c6f6a696c6f6a696c6f6a696c6f7767494344696c6f6a696c6f6a696c6f6a6101c0850152806101e08501527f696c6f67674943387644516f764c79416749434167347057673470614d7a715a6102008501527f4e34706141494344696c5a2f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a6102208501527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f7a696c6f6a4468654b57694f4b6102408501527f57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b9081610260860152816102808601527f57694f4b57694f4b57694f4b57694f4b576a4f4b576b4f4b57694f4b57694f4b6102a08601527f5769453067494f4b576b4f4b57694f4b57694f4b57694f4b576a4f4b57694f4b6102c08601527f57694f4b566e654b57694f4b57694f4b57694f4b57694f4b57694341674c79386102e08601527f4e436938764943416749434167494341673470575a34706154347061453470616103008601527f54347061493470614934706149347061493470614934706149347061493470616103208601527f49347061493470614934706149347061493470614934706149347061493470619081610340870152816103608701527f49347061493470614934706149347061493470614934706149347061543470616103808701527f49347061493470614d49754b57694f4b57694f4b57694f4b576a43416753754b6103a08701527f57694f4b57694f4b57694f4b57694f4b57694f4b566f2b4b576a4f4b57674f4b6103c08701527f57694f4b57694f4b57694f4b57694341674c79384e43693876494341674943416103e08701527f674943416749754b56724f4b57694f4b57694f4b57694f4b57694f4b57694f4b6104008701528261042087015282610440870152826104608701527f57694f4b57694f4b57694f4b576a4f4b57694f4b57694f4b5769462f696c6f6a6104808701527f696c6f6a696c6f6a696c6f6a696c6f5167494f4b56712b4b57694f4b57694f4b6104a08701527f57694f4b57694f4b57694f4b57694f4b57694f4b576a4f4b566f4f4b57674f4b806104c08801527f57674341674c79384e43693876494341674943416749434167494342673470576104e08801527f613470614934706149347061493470614934706149347061493470614934706161050088015282610520880152826105408801527f49347061493470614934706149347061493470614934706149347061497735626105608801527f696c6f6a696c6f6a696c6f6a696c6f7a696c6f44696c6f6a696c6f6a696c6f6a6105808801527f696c6f7767494f4b57674f4b57694f4b57694f4b57694f4b57694f4b57694f4b6105a08801527f57674f4b57694f4b57694f4b57694f4b57694341674c79384e436938764943416105c08801527f6749434167494341674943416749434167494f4b57674f4b57694f4b57694f4b6105e08801527f57694f4b57694f4b57694f4b57694f4b57694f4b5769434c696c5a6e696c6176610600880152816106208801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f7a696c6f6a696c6f6a696c6f6a6106408801527f696c6f6a696c6f6a696c5a2f696c6f44696c6f6a696c6f6a696c6f6a696c6f6a6106608801527f696c6f6a696c6f6a696c6f6a696c6f7767494f4b57674f4b57694f4b57694f4b6106808801527f57694f4b57694f4b57694f4b57694f4b57694f4b57694341674c79384e4369386106a08801527f764943416749434167494341674943416749434167494344696c6176696c6f6a6106c08801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f51673470576106e08801527f5a347061493470614934706149347061493470614934706149347061493470616107008801527f4934706149773548696c6f6a696c6f6a696c6f7a696c4a54696c6f6a696c6f6a6107208801527f696c6f6a696c6f6a696c6f44696c6f6a696c6f7a696c4c54696c6f44696c6f6a6107408801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f54696c6f516107608801527f67347057633470614134706141347061413470614134706149494341764c77306107808801527f4b4c79386749434167494f4b57684f4b57684f4b566b31394a666c38674943416107a08801527f67347061453470614934706149347061493470614934706149347061493470616107c0880152826107e08801527f493470614934706149347061493470614949754b57694f4b57694f4b57694f4b6108008801527f57694344696c4a54696c6f6a696c6f6a696c6f6a696c6f6a696c616a696c6f6a6108208801527f696c6f6a696c6f67673470575a34706141347061493470614934706149347061610840880152826108608801527f4934706141494341764c77304b4c7938674943416734706149347061493470616108808801527f41347057634943416734705762494341673470614934706149347061493470616108a0880152826108c0880152826108e08801527f49494f4b566e2b4b57694f4b57694d4f52347061493470614d494344696c6f6a6109008801527f696c6f6a696c6150696c6f686634705763347061493470614934706149494f4b6109208801527f556c4f4b57674f4b57694f4b57694f4b57694f4b57694f4b57674f4b57694f4b6109408801527f57694f4b57694f4b57694f4b57694f4b57694341674c79384e436938764943426109608801527f2b34705762494341674943416749434167494f4b57694f4b57694f4b57694f4b610980880152836109a0880152836109c08801527f57694f4b57694344696c7044696c6f6a696c6f6a696c6f7a696c6176696c6f6a6109e08801527f696c6f6767494f4b57694f4b576a4f4b566e2b4b57694f4b57684f4b556c4f4b610a008801527f57694f4b57694f4b57694f4b57694f4b57684344696c6f44696c6f6a696c6f6a610a208801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6767494338610a408801527f7644516f764c794167494341674943416749434167494344696c6f6a696c6f6a610a6088015281610a8088015281610aa08801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f77673470614134706149347061610ac08801527f493470614d347061413470614934706149587944696c6f6a696c6f54696c5a33610ae08801527f696c6f6a696c6f68663470614134706149347061493470614934706149347061610b008801527f49587944696c5a6e696c6f44696c6f44696c6f44696c6f44696c6f44696c5a77610b208801527f674943387644516f764c794167494341674943416749434167494f4b566b2b4b610b4088015283610b6088015283610b808801527f57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b56724f4b5769462f610ba08801527f696c5a7a696c6f6a696c6f6a696c6f6a696c617a696c6f6a696c6f6a696c6f6a610bc08801527f696c4a6a696c6f6a696c6f6a696c6f54696c6f44696c6f6a696c6f6a696c617a610be08801527f696c6f44696c6f44696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f52610c008801527f6649434167494341674c79384e43693876494341674943416749434167494344610c208801527f696c5a50696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a610c4088015281610c6088015281610c808801527f696c6f6a696c6f6a696c617a696c6f4258347061453470575234706141347061610ca08801527f49347061493470614934706149347061413470576f3470614934706149347061610cc088015282610ce08801527f4134706149347061493470614934706149347061493470614934706149494341610d008801527f764c77304b4c7938674943416749434167494341673470614934706149347061610d2088015282610d4088015282610d6088015282610d808801527f4934706149347061493470577234706149347061493470614934706154347061610da08801527f4934706149347061493470614934705773347061493470614934706149347061610dc08801527f4934705772347061493470614934706149347061493470614934706149347061610de08801527f49347061493470614934705773347057673470614534706145494341764c7730610e008801527f4b4c793867494341674943416749434167347061493470614934706149347061610e2088015282610e4088015282610e6088015282610e808801527f4934706149347057723470614534706145347061543470577234705772347061610ea088015282610ec08801527f4934706149347061493470614534706141347061413470614934706149347061610ee08801527f493470614934706149347061493470614934706149494341764c77304b4c7938610f008801527f67494341674943416749434167494f4b556c4f4b566e4f4b57674f4b57674f4b610f208801527f57674f4b566e4f4b566d654b566d654b57674f4b57694f4b57694f4b57694f4b610f4088015283610f6088015283610f8088015283610fa08801527f57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b57674f4b57694f4b610fc0880152610fe08701527f57674f4b57674f4b57674f4b566d5341674c79384e43693876494341674943416110008701527f6749434167494341674943416749434167494344696c6f6a696c6f6a696c6f6a80611020880152816110408801528161106088015281611080880152816110a08801527f696c6144696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f44696c6f6a6110c08801527f696c6f6a696c6f6a696c6f6a696c6f67674943387644516f764c7941674943416110e0880152611100870152806111208701528061114087015280611160870152806111808701527f696c6f7a696c6176696c6f54696c6f44696c6f6a696c6f6a696c6f6a696c6f6a6111a08701527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f67674943387644516f764c794190816111c08801527f674943416749434167494341674943416749434167494344696c4a54696c6f446111e08801527f696c6f44696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a6112008801527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6767596d5670626d636112208801527f67347061493470614934706149347061493470614934706149347061493470616112408801527f4934706149347061493470614d3470614934706149494f4b57694f4b57694f4b6112608801527f556c4f4b57674f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b6112808801527f57694341674c79384e436938764943416749434167494341674943416749434193846112a08901527f674943416749434167494f4b57694f4b57694f4b57694f4b57694f4b57694f4b6112c08901527f576943416d494f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b6112e089015280611300890152806113208901527f57694f4b57694344696c5a2f696c6f6a696c6f6a696c6f51673470575a3470616113408901527f4134706149347061493470614934706149494341764c77304b4c7938674943416113608901527f674943416749434167494341674943416749434167494344696c7044696c6f6a611380890152816113a0890152816113c0890152816113e08901527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f7a696c6f6a696c6f6a6114008901527f696c6f77673470614934706149347061493470614934706149347061455879446114208901527f696c4a6a696c6f41674943387644516f764c79416749434167494341674943416114408901527f674943416749434167494341674943416749434167347057633470614934706161146089015283611480890152836114a08901527f493470614934706149347061493470614934706149347061493470614934705792836114c08a01527f72347061493470614934706149494344696c6f6a696c6f6a696c6f6a696c6f6a6114e08a01526115008901527f67494341674943416749434167494341674947356c63334d6749434167494f4b61152089015280611540890152806115608901526115808801527f576a4f4b57694f4b57694f4b57694f4b57694f4b576a434167494f4b57674f4b6115a08801527f57694f4b57694f4b57694f4b57694f4b57694f4b5769434167494341674c79386115c08801527f4e43693876494341674943416749434167626d393061476c755a7941674943416115e08801527f67494341674943416734706149347061493470614934706149347061493470616116008801528261162088015282611640880152826116608801527f49347061493470614549434167494f4b566d654b57674f4b57674f4b576943416116808801527f674c79384e4369387649434167494341674943416749434167494341674943416116a08801527f674943416749434167494344696c5a2f696c6f6a696c6f6a696c6f6a696c6f6a6116c0880152806116e08801526117008701527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f54696c6f6a696c6f6a6117208701527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f52664943416117408701527f67494341674c79384e43693876494341674943416749434167494341674943416117608701527f6749434167494341674943416749434167347061493470614934706149347061611780870152816117a0870152816117c08701526117e08601527f66347061493470614934706149347061493470614934706149347061493470616118008601527f4934706149347061493470614934706149494341764c77304b4c793867494341611820860152826118408601527f67347061413470614934706149347061493470614934706149347061493470616118608601527f4934706141347061493470614934706149347061413470614134706141347061611880860152806118a0860152806118c08601527f49347061493470614134706141347061493470614934706149347061494943416118e08601527f764c77304b4c7938674943416749434167494341674943416749434167494341611900860152826119208601527f67494341673470614134706149347061493470614934706149347061493470616119408601526119608501527f41494f4b57694f4b57694f4b57694f4b57694f4b57694341674c79384e4369386119808501527f76494341674943416749434167494341674943416749434167494341674943416119a0850152816119c08501527f67494f4b566d654b57674f4b57694f4b57694f4b57694f4b57694f4b57694f4b6119e08501527f57694f4b57694f4b576943496734706149347061493470614934706149347061611a008501527f4934706149494341764c77304b4c793867494341674943416749434167494341611a2085015281611a408501527f674943416749434167494341674943416749434167494f4b56712b4b57694f4b611a608501527f57694f4b57694f4b57694f4b576a4344696c6f6a696c6f6a696c6f6a696c6f6a611a808501527f696c6f6a696c6f6a696c6f67674943387644516f764c79416749434167494341611aa085015281611ac08501527f6749434167494341674943416749434167494341674943416749434167347061611ae08501527f493470614934706149347061493470614d3470614d494f4b57694f4b57694f4b611b008501527f57694f4b56712b4b57694f4b57694f4b57694341674c79384e43693876494341611b2085015281611b4085015281611b608501527f6734705754347061493470614934706149347061493470614934706149347057611b808501527f72494f4b566d654b57694f4b57694f4b57694f4b576b2b4b57694f4b57694341611ba08501527f674c79384e43693876494341674943416749487a4f71443467505341784c2b4b611bc08501527f496d6a4a384d4434674b7941784c2b4b496d6a4a384d53416749434167494341611be08501527f6749434167494341674943416749434167347061453470614934706149347061611c008501527f4934706149347061493470614934706149347061493470614934706141347061611c208501527f45347057633470614934706149347061493470614934706149494341764c7730611c408501527f4b4c793867494341674943416749434167494341674943416749434167494341611c6085015281611c808501527f67494f4b57684f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b611ca08501527f57694f4b566e2b4b57694f4b57694f4b57694f4b57694f4b57684f4b57674f4b611cc08501527f57694f4b57684f4b57674f4b57674f4b57674341674c79384e43693876494341611ce085015281611d008501527f674943416749434167494341674943416749434167494344696c6f54696c7050611d208501527f696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a696c6f7a696c5a2f696c6f6a611d408501527f696c6f6a696c6f54696c6144696c6f6a696c6f6a696c6f6a696c6f6a696c6f6a611d608501527f696c6f6a696c617a696c6f44696c6f44696c6f67674943387644516f764c7941611d8085015281611da08501527f6749434167494341674943426634706145347061454c4f4b57684f4b57684f4b611dc08501527f57674f4b56702b4b56712b4b566e654b57694f4b57694f4b57694f4b57694f4b611de08501527f57694f4b57694f4b57694f4b576a4344696c6f6a696c6f6a696c6f6767494f4b611e008501527f57674f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b57694f4b611e20850152611e4084015280611e60840152611e808301527f6749434167494341674c79384e436938764c7938764c7938764c7938764c7938611ea083015280611ec0830152611ee082015270764c7938764c7938764c7938764c79383d60781b611f008201526040519182918261031e565b3461020b57602036600319011261020b5761278f610463565b5f546001600160a01b0391906127a89083163314612fdf565b166127be815f52600860205260405f2054151590565b156127c557005b6104e69033817f7e1a1a08d52e4ba0e21554733d66165fd5151f99460116223d9e3a608eec5cb15f80a36137dd565b3461020b57602036600319011261020b576001600160a01b03612815610463565b16801561283c575f52600460205261025d60405f2054604051918291829190602083019252565b60405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608490fd5b3461020b575f36600319011261020b575f80546001600160a01b038116906128bd338314612fdf565b6001600160a01b03191682557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461020b575f36600319011261020b57600b546040516001600160a01b039091168152602090f35b3461020b575f36600319011261020b575f546040516001600160a01b039091168152602090f35b3461020b575f36600319011261020b576040515f60025460018160011c91600181169182156129f5575b6020916020851084146104155784875260208701939081156103f6575060011461299c5761025d8661039181880382610a02565b60025f90815294509192917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8386106129e457505050910190506103918261025d5f610381565b8054858701529482019481016129c9565b92607f1692612968565b3461020b57604036600319011261020b57612a18610463565b602435801515810361020b576001600160a01b03821691338314612aa25781612a5f612a7092335f52600660205260405f209060018060a01b03165f5260205260405f2090565b9060ff801983541691151516179055565b604051901515815233907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190602090a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461020b57608036600319011261020b57612b00610463565b612b08610479565b6064359167ffffffffffffffff831161020b573660238401121561020b57612b3d6104e6933690602481600401359101610a40565b9160443591613125565b3461020b575f36600319011261020b576020612b6161316d565b6040519015158152f35b3461020b57602036600319011261020b576004355f818152600360205260409020546001600160a01b0316151580612c71575b15612c1457600b5460405163c87b56dd60e01b815260048101929092525f90829060249082906001600160a01b03165afa8015612c0f5761025d915f91612bed575b506040519182918261031e565b612c0991503d805f833e612c018183610a02565b8101906131c0565b5f612be0565b61321f565b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b506001612c7c61316d565b151514612b9e565b3461020b575f36600319011261020b57604051630d83403160e31b81525f81600481305afa908115612c0f5761025d91610391915f91612d3d575b50612d38605260405180937f7b226e616d65223a20226265696e6720616e64206e6f7468696e676e6573732260208301526f161130b9b1b4b4a0b93a2aa924911d1160811b6040830152612d1d8151809260206050860191016102d8565b810161227d60f01b6050820152036032810184520182610a02565b61322a565b612d5191503d805f833e612c018183610a02565b5f612cbf565b3461020b57604036600319011261020b57602060ff612da7612d77610463565b612d7f610479565b6001600160a01b039182165f9081526006865260408082209290931681526020919091522090565b54166040519015158152f35b3461020b57602036600319011261020b57612dcc610463565b5f546001600160a01b0390612de49082163314612fdf565b811615612df4576104e69061360c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b3461020b575f36600319011261020b5761025d612e63613280565b6040519182916020835260208301906102f9565b5f818152600360205260409020546001600160a01b031615612ead575f908152600560205260409020546001600160a01b031690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b15612f0e57565b60405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608490fd5b15612f8057565b60405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b6064820152608490fd5b15612fe657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116109e05760051b60200190565b634e487b7160e01b5f52603260045260245ffd5b1561305d57565b60405162461bcd60e51b8152602060048201526024808201527f41646d696e436f6e74726f6c3a204d757374206265206f776e6572206f7220616044820152633236b4b760e11b6064820152608490fd5b5f908152600360205260409020546001600160a01b031680156130ce5790565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608490fd5b906131499392916131396105cf8433613365565b6131448383836134db565b6138c8565b1561315057565b60405162461bcd60e51b81528061316960048201613652565b0390fd5b60ff6009541615801561317d5790565b506040516020810143815244604083015242606083015260608252608082019082821067ffffffffffffffff8311176109e0576001928392604052519020161490565b60208183031261020b5780519067ffffffffffffffff821161020b570181601f8201121561020b5780516131f381610a24565b926132016040519485610a02565b8184526020828401011161020b5761032f91602080850191016102d8565b6040513d5f823e3d90fd5b9061327e603b60405180947f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c0000000000602083015261326e81518092602086860191016102d8565b810103601b810185520183610a02565b565b60095460081c6001600160a01b0316806132a757506040516132a1816109c4565b5f815290565b61032f9061398a565b5f81815260056020526040812080546001600160a01b03191690556001600160a01b036132dc836130ae565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258280a4565b5f82815260056020526040902080546001600160a01b0319166001600160a01b0383161790556001600160a01b038061333b846130ae565b169116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4565b5f828152600360205260409020546001600160a01b0316156133f95761338a826130ae565b9160018060a01b03908183169282851684149485156133c9575b505083156133b3575b50505090565b6133bf91929350612e77565b16145f80806133ad565b6001600160a01b03165f90815260066020526040902091945060ff916133ef919061050a565b5416925f806133a4565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b1561345a57565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161087b57565b906001820180921161087b57565b906134e5836130ae565b6001600160a01b0383811692909182168390036135b95761353361359392821694613511861515613453565b61351a876132b0565b6001600160a01b03165f90815260046020526040902090565b61353d81546134bf565b90556001600160a01b0381165f90815260046020526040902061356081546134cd565b9055613574855f52600360205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b5f80546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3565b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b6007548110156107aa5760075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801905f90565b600754801561371e575f19810190808210156107aa577fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6875f91600783520155600755565b634e487b7160e01b5f52603160045260245ffd5b5f8181526008602052604090205480156137d7575f19918183019180831161087b5760075493840193841161087b578383613788945f960361378e575b50505061377a6136da565b5f52600860205260405f2090565b55600190565b61377a6137b6916137ae6137a46137ce956136a5565b90549060031b1c90565b9283916136a5565b90919082549060031b91821b915f19901b1916179055565b555f808061376f565b50505f90565b805f52600860205260405f2054155f1461384e57600754680100000000000000008110156109e05760018101806007558110156107aa5781907fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155600754905f52600860205260405f2055600190565b505f90565b9081602091031261020b575161032f816101f9565b6001600160a01b03918216815291166020820152604081019190915260806060820181905261032f929101906102f9565b3d156138c3573d906138aa82610a24565b916138b86040519384610a02565b82523d5f602084013e565b606090565b92909190823b15613981576138fa926020925f604051809681958294630a85bd0160e11b9a8b85523360048601613868565b03926001600160a01b03165af15f9181613950575b506139425761391c613899565b8051908161393d5760405162461bcd60e51b81528061316960048201613652565b602001fd5b6001600160e01b0319161490565b61397391925060203d60201161397a575b61396b8183610a02565b810190613853565b905f61390f565b503d613961565b50505050600190565b90813b80156139d057806001116139d0575f1901600119808210156139c957505b600160405193601f19603f840116850160405282855260208501903c565b90506139ab565b5090506040516132a1816109c456fea264697066735822122067afa4573c71340dec850dcb0ef5662094861132321935afe536e45ce9c2432d64736f6c634300081800334552433732313a207472616e7366657220746f206e6f6e204552433732315265