From afb1f1e73b47fc21356981a5a6023cda0fa57a19 Mon Sep 17 00:00:00 2001 From: EmperorOrokuSaki Date: Wed, 7 Dec 2022 18:38:08 +0330 Subject: [PATCH] Fix token owner error --- contracts/FleekERC721.sol | 10 +- forge-cache/solidity-files-cache.json | 8 +- out/FleekERC721.sol/FleekERC721.json | 2338 ++++--- out/apps.t.sol/ContractBTest.json | 8772 +++++++++++++++++-------- test/foundry/apps.t.sol | 6 +- 5 files changed, 7252 insertions(+), 3882 deletions(-) diff --git a/contracts/FleekERC721.sol b/contracts/FleekERC721.sol index 6b53ff9..286863a 100644 --- a/contracts/FleekERC721.sol +++ b/contracts/FleekERC721.sol @@ -67,7 +67,7 @@ contract FleekERC721 is ERC721, FleekAccessControl { ) public payable requireCollectionOwner returns (uint256) { uint256 tokenId = _tokenIds.current(); _mint(to, tokenId); - addTokenController(tokenId, to); + _addTokenController(tokenId, to); _tokenIds.increment(); App storage app = _apps[tokenId]; @@ -127,6 +127,14 @@ contract FleekERC721 is ERC721, FleekAccessControl { _grantRole(_tokenRole(tokenId, "CONTROLLER"), controller); } + function _addTokenController( + uint256 tokenId, + address controller + ) internal { + _requireMinted(tokenId); + _grantRole(_tokenRole(tokenId, "CONTROLLER"), controller); + } + function removeTokenController( uint256 tokenId, address controller diff --git a/forge-cache/solidity-files-cache.json b/forge-cache/solidity-files-cache.json index 8255d3a..9acdc6b 100644 --- a/forge-cache/solidity-files-cache.json +++ b/forge-cache/solidity-files-cache.json @@ -62,8 +62,8 @@ } }, "contracts/FleekERC721.sol": { - "lastModificationDate": 1670412322054, - "contentHash": "8e01be0410a9ffbb2857e7215da33704", + "lastModificationDate": 1670425560329, + "contentHash": "9522992e0912fe3d7fb8dbbd44df3550", "sourceName": "contracts/FleekERC721.sol", "solcConfig": { "settings": { @@ -1356,8 +1356,8 @@ } }, "test/foundry/apps.t.sol": { - "lastModificationDate": 1670421448731, - "contentHash": "ded5c47848d94e49eb22b8f12b8327ad", + "lastModificationDate": 1670425619647, + "contentHash": "04a0358899f22e7f132b2e88e022426c", "sourceName": "test/foundry/apps.t.sol", "solcConfig": { "settings": { diff --git a/out/FleekERC721.sol/FleekERC721.json b/out/FleekERC721.sol/FleekERC721.json index 07f7bdd..88fc04f 100644 --- a/out/FleekERC721.sol/FleekERC721.json +++ b/out/FleekERC721.sol/FleekERC721.json @@ -912,13 +912,13 @@ } ], "bytecode": { - "object": "0x60406080815234620003da5762003bb190813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137399081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127595750806306fdde03146126b6578063081812fc14612698578063095ea7b31461251e57806323b872dd146124f5578063246a908b14612379578063248a9ca31461234a5780632f2ff15d1461231057806336568abe1461227e5780633806f1521461200957806342842e0e14611fe157806342966c6814611e965780636352211e14611e6657806364140ec014611cf357806370a0823114611c5c57806378278cca14611ae957806391d1485414611a9c57806395d89b41146119bd578063987c26fd146116a357806398b7079314611668578063a217fddf1461164c578063a22cb4651461157a578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661294e565b9061019f610199612ae2565b82612b08565b6000526020916006835260406000203360005283526101c560ff60406000205416612b53565b6000828152600260205260409020546101e8906001600160a01b03161515612f16565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129c3565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612bb0565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612bb0565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129fd565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612826565b61036561283c565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f761283c565b916104146001600160a01b0361040c83612f62565b163314612a14565b600081815260026020526040902054610437906001600160a01b03161515612f16565b61043f612ae2565b90612b08565b612e26565b005b3461033f57604036600319011261033f5761044a60043561046b61283c565b90806000526006602052610486600160406000200154612c1c565b612ea0565b3461033f576104993661294e565b906104a5610199612ae2565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b53565b6000828152600260205260409020546104ee906001600160a01b03161515612f16565b816000526008835260406000208151936001600160401b0385116103295761051682546129c3565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612bb0565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f16565b61066382612f62565b600092835260088252604090922091610684906001600160a01b03166135f5565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613446565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a5f565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a5f565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127de565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a5f565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a5f565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a5f565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a5f565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a5f565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127de565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128bd565b8060405161099a81612887565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613478565b6040519485925190818585016109e3926127de565b820181519182858084019201916109f9926127de565b010380845201610a0990836128bd565b6040519181839283528201610a1d91612801565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f761283c565b3461033f57608036600319011261033f57610aee612826565b610af661283c565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128f9565b9160443591613025565b61010036600319011261033f57610b49612826565b6024356001600160401b03811161033f57610b68903690600401612930565b906044356001600160401b03811161033f57610b88903690600401612930565b906064356001600160401b03811161033f57610ba8903690600401612930565b926084356001600160401b03811161033f57610bc8903690600401612930565b60a4356001600160401b03811161033f57610be7903690600401612930565b9060c4356001600160401b03811161033f57610c07903690600401612930565b9560e4356001600160401b03811161033f57610c27903690600401612930565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561151957600754956001600160a01b038116156114d557600087815260026020526040902054610d6c9190610c9e906001600160a01b031615155b1561311e565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610d386001600160a01b0361040c8a612f62565b600088815260026020526040902054610d5b906001600160a01b03161515612f16565b610445610d66612ae2565b89612b08565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610da188546129c3565b601f81116114a3575b50602090601f83116001146114375760009261142c575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610df660018801546129c3565b601f81116113f7575b50602090601f83116001146113855760009261137a575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e4e60028701546129c3565b601f8111611345575b50602090601f83116001146112d3576000926112c8575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610ea660038601546129c3565b601f8111611293575b50602090601f831160011461122157600092611216575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610efc60048401546129c3565b601f81116111e1575b50602090601f831160011461116e57600693929160009183611163575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f4e86612887565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f8182546129c3565b601f8111611131575b506020601f82116001146110c757819060019495966000926110bc575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fdd82546129c3565b601f811161108c575b508493601f821160011461102957938192939460009261101e575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580611001565b601f1982169483600052866000209160005b87811061107557508360019596971061105c575b505050811b019055611016565b015160001960f88460031b161c1916905585808061104f565b91928860018192868501518155019401920161103b565b6110b6908360005286600020601f840160051c81019188851061031f57601f0160051c01906129fd565b85610fe6565b015190508680610fa7565b601f198216958360005260206000209660005b8181106111195750916001959697918487959410611100575b505050811b018155610fbb565b015160001960f88460031b161c191690558680806110f3565b838301518955600190980197602093840193016110da565b61115d90836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129fd565b85610f8a565b015190508780610f22565b906004840160005260206000209160005b601f19851681106111c9575091839160019360069695601f198116106111b0575b505050811b016004820155610f3a565b015160001960f88460031b161c191690558780806111a0565b9192602060018192868501518155019401920161117f565b61121090600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b86610f05565b015190508780610ec6565b9250600385016000526020600020906000935b601f1984168510611278576001945083601f1981161061125f575b505050811b016003830155610ede565b015160001960f88460031b161c1916905587808061124f565b81810151835560209485019460019093019290910190611234565b6112c290600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b88610eaf565b015190508880610e6e565b9250600286016000526020600020906000935b601f198416851061132a576001945083601f19811610611311575b505050811b016002840155610e86565b015160001960f88460031b161c19169055888080611301565b818101518355602094850194600190930192909101906112e6565b61137490600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b89610e57565b015190508980610e16565b9250600187016000526020600020906000935b601f19841685106113dc576001945083601f198116106113c3575b505050811b016001850155610e2e565b015160001960f88460031b161c191690558980806113b3565b81810151835560209485019460019093019290910190611398565b61142690600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8a610dff565b015190508a80610dc1565b9250876000526020600020906000935b601f1984168510611488576001945083601f1981161061146f575b505050811b018555610dd6565b015160001960f88460031b161c191690558a8080611462565b81810151835560209485019460019093019290910190611447565b6114cf90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8b610daa565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f57611593612826565b6024359081151580920361033f576001600160a01b03169033821461160757336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b6116ac3661297d565b91906116c26001600160a01b0361040c84612f62565b6000828152600260205260409020546116e5906001600160a01b03161515612f16565b6116f66116f0612ae2565b83612b08565b60005260209260068452604060002033600052845261171c60ff60406000205416612b53565b60008381526002602052604090205461173f906001600160a01b03161515612f16565b60405161174b81612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916117ad82546129c3565b93601f948c868211611978575b50508b90858311600114611912576000919083611907575b50508682851b9260031b1c19161781555b019451978851948511610329576117fa86546129c3565b8281116118cf575b508091851160011461186657508392918391611833989960009561185b575b50501b9260031b1c1916179055612bb0565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b015193508980611821565b91939290601f198416988660005283600020936000905b8b82106118b857505084611833999a106118a0575b50505050811b019055612bb0565b01519060f88460031b161c1916905586808080611892565b80888597829496860151815501960193019061187d565b6118f89087600052826000208480890160051c820192858a106118fe575b0160051c01906129fd565b89611802565b925081926118ed565b015190508c806117d2565b60008481528d8120929190601f198516908f5b82821061195f5750509084879594939210611948575b505050811b0181556117e3565b01518860f88460031b161c191690558c808061193b565b8484015186558a98909501949384019390810190611925565b6119a0918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6117ba565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119e1826129c3565b80855291818116908115611a755750600114611a1c575b610a1d84611a08818603826128bd565b604051918291602083526020830190612801565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a5d575050508101602001611a08826119f8565b80546020858701810191909152909301928101611a45565b60ff191660208087019190915292151560051b85019092019250611a0891508390506119f8565b3461033f57604036600319011261033f57611ab561283c565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611af73661294e565b90611b03610199612ae2565b600052602091600683526040600020336000528352611b2960ff60406000205416612b53565b600082815260026020526040902054611b4c906001600160a01b03161515612f16565b816000526008835260046040600020018151936001600160401b03851161032957611b7782546129c3565b601f8111611c2c575b5080601f8611600114611bdc57509380611bb4949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c14575050918691611bb49697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611bef565b611c56908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611b80565b3461033f57602036600319011261033f576001600160a01b03611c7d612826565b168015611c9c5760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611d013661294e565b90611d0d610199612ae2565b600052602091600683526040600020336000528352611d3360ff60406000205416612b53565b600082815260026020526040902054611d56906001600160a01b03161515612f16565b816000526008835260026040600020018151936001600160401b03851161032957611d8182546129c3565b601f8111611e36575b5080601f8611600114611de657509380611dbe949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e1e575050918691611dbe9697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611df9565b611e60908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611d8a565b3461033f57602036600319011261033f576020611e84600435612f62565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611eb76116f0612ae2565b600052600681526040600020336000528152611eda60ff60406000205416612b53565b8160006001600160a01b03611efa3382611ef386612f62565b1614612a14565b611f0383612f62565b50611f0d83612f62565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f8f6003604060002001546129c3565b611f9557005b600891600052526000600560408220611fad81612bd0565b611fb960018201612bd0565b611fc560028201612bd0565b611fd160038201612bd0565b611fdd60048201612bd0565b0155005b3461033f5761044a611ff236612852565b9060405192612000846128a2565b60008452613025565b3461033f576120173661297d565b91906120246116f0612ae2565b60005260209260068452604060002033600052845261204a60ff60406000205416612b53565b60008381526002602052604090205461206d906001600160a01b03161515612f16565b60405161207981612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916120db82546129c3565b93601f948c86821161224f575b50508b908583116001146121e95760009190836121de575b50508682851b9260031b1c19161781555b0194519788519485116103295761212886546129c3565b8281116121b0575b508091851160011461216057508392918391611833989960009561185b5750501b9260031b1c1916179055612bb0565b91939290601f198416988660005283600020936000905b8b821061219957505084611833999a106118a05750505050811b019055612bb0565b808885978294968601518155019601930190612177565b6121d89087600052826000208480890160051c820192858a106118fe570160051c01906129fd565b89612130565b015190508c80612100565b60008481528d8120929190601f198516908f5b828210612236575050908487959493921061221f575b505050811b018155612111565b01518860f88460031b161c191690558c8080612212565b8484015186558a989095019493840193908101906121fc565b612277918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6120e8565b3461033f57604036600319011261033f5761229761283c565b336001600160a01b038216036122b35761044a90600435612ea0565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561232f61283c565b90806000526006602052610445600160406000200154612c1c565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123873661294e565b90612393610199612ae2565b6000526020916006835260406000203360005283526123b960ff60406000205416612b53565b6000828152600260205260409020546123dc906001600160a01b03161515612f16565b8160005260088352600180604060002001908251906001600160401b0382116103295761240983546129c3565b601f81116124c5575b5085601f83116001146124785750818091612445969760009361246d575b501b916000199060031b1c1916179055612bb0565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b860151925088612430565b601f929192198216968460005281600020916000905b8982106124ae575050826124459798106105be575050811b019055612bb0565b808684958294958b0151815501940192019061248e565b6124ef908460005287600020601f850160051c81019189861061031f57601f0160051c01906129fd565b86612412565b3461033f5761044a61250636612852565b9161251961251484336130b0565b612fc3565b6131c4565b3461033f57604036600319011261033f57612537612826565b602435906001600160a01b03808061254e85612f62565b1692169180831461264957803314908115612624575b50156125b957600083815260046020526040902080546001600160a01b0319168317905561259183612f62565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612564565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e84600435612f85565b3461033f57600036600319011261033f57604051600080546126d7816129c3565b80845290600190818116908115611a75575060011461270057610a1d84611a08818603826128bd565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410612741575050508101602001611a08826119f8565b80546020858701810191909152909301928101612729565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b811490811561279b575b5015158152f35b6380ac58cd60e01b8114915081156127cd575b81156127bc575b5083612794565b6301ffc9a760e01b149050836127b5565b635b5e139f60e01b811491506127ae565b60005b8381106127f15750506000910152565b81810151838201526020016127e1565b9060209161281a815180928185528580860191016127de565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b929192612905826128de565b9161291360405193846128bd565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f5781602061294b933591016128f9565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f5761294b91600401612930565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129ac91600401612930565b9260443591821161033f5761294b91600401612930565b90600182811c921680156129f3575b60208310146129dd57565b634e487b7160e01b600052602260045260246000fd5b91607f16916129d2565b818110612a08575050565b600081556001016129fd565b15612a1b57565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a6e816129c3565b92600191808316908115612ac75750600114612a8b575b50505050565b90919293945060005260209081600020906000915b858310612ab65750505050019038808080612a85565b805485840152918301918101612aa0565b60ff1916845250505081151590910201915038808080612a85565b60405190612aef82612887565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b4d60466040518093602082019565544f4b454e5f60d01b8752612b378151809260206026870191016127de565b82019060268201520360268101845201826128bd565b51902090565b15612b5a57565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bc8906020604051928284809451938492016127de565b810103902090565b612bda81546129c3565b9081612be4575050565b81601f60009311600114612bf6575055565b81835260208320612c1291601f0160051c8101906001016129fd565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c465750505050565b612c4f336135f5565b91845190608082018281106001600160401b03821117612e1257865260428252848201926060368537825115612dfe5760308453825190600191821015612dfe5790607860218501536041915b818311612d9057505050612d4e576048612d4a938693612d2e93612d1f98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612cf6815180928c6037890191016127de565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127de565b010360288101875201856128bd565b5192839262461bcd60e51b845260048401526024830190612801565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dea576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dc085876135ce565b5360041c928015612dd657600019019190612c9c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e5857505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ed157505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f1d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b031661294b811515612f16565b600081815260026020526040902054612fa8906001600160a01b03161515612f16565b6000908152600460205260409020546001600160a01b031690565b15612fca57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061304993929161303961251484336130b0565b6130448383836131c4565b6132da565b1561305057565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130c484612f62565b169316918383149384156130f7575b5083156130e1575b50505090565b6130ed91929350612f85565b16143880806130db565b909350600052600560205260406000208260005260205260ff6040600020541692386130d3565b1561312557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561317157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131ec916131d284612f62565b6001600160a01b039391841692849290918316841461316a565b1691821561328957816132099161320286612f62565b161461316a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b1561343b579484916133349660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612801565b0393165af18491816133f7575b506133e6575050503d6000146133de573d61335b816128de565b9061336960405192836128bd565b81528091833d92013e5b805191826133db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b506060613373565b6001600160e01b0319161492509050565b9091508581813d8311613434575b61340f81836128bd565b8101031261343057516001600160e01b031981168103613430579038613341565b8480fd5b503d613405565b505050915050600190565b90613450826128de565b61345d60405191826128bd565b828152809261346e601f19916128de565b0190602036910137565b8051156135ba57604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f604082015281516002928382018092116119a7576003918290046001600160fe1b03811681036119a75761351d908594951b613446565b936020850193829183518401925b83811061356957505050505106806001146135565760021461354b575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919061352b565b506040516135c7816128a2565b6000815290565b9081518110156135df570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135df576030905381516001908110156135df57607860218401536029905b8082116136955750506136515790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136c484866135ce565b5360041c9180156136d9576000190190613641565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea26469706673582212203dba85c3f8a5ea44ed4e11e06a0ce04d8f24a1b12f7e59a91b9900f3329f942364736f6c63430008110033", - "sourceMap": "256:7023:1:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7023:1;;;;;;;;;;;;;;242:34:0;256:7023:1;;;;4478:6:16;256:7023:1;;;;;;;4478:22:16;256:7023:1;;;;;;7185:22:16;256:7023:1;7234:52:16;;;;;256:7023:1;;;519:10:0;256:7023:1;;;;;;;;;;7543:23:16;7539:149;;256:7023:1;;;;;;;;;;7539:149:16;256:7023:1;;;4478:6:16;256:7023:1;;;;;519:10:0;;256:7023:1;;;;;;;;;;;;;;;519:10:0;;7637:40:16;519:10:0;7637:40:16;;;7539:149;;;;;;256:7023:1;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;-1:-1:-1;256:7023:1;;-1:-1:-1;256:7023:1;;;;;;;;;-1:-1:-1;;256:7023:1;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;", + "object": "0x60406080815234620003da5762003b9d90813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137259081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127455750806306fdde03146126a2578063081812fc14612684578063095ea7b31461250a57806323b872dd146124e1578063246a908b14612365578063248a9ca3146123365780632f2ff15d146122fc57806336568abe1461226a5780633806f15214611ff557806342842e0e14611fcd57806342966c6814611e825780636352211e14611e5257806364140ec014611cdf57806370a0823114611c4857806378278cca14611ad557806391d1485414611a8857806395d89b41146119a9578063987c26fd1461168f57806398b7079314611654578063a217fddf14611638578063a22cb46514611566578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661293a565b9061019f610199612ace565b82612af4565b6000526020916006835260406000203360005283526101c560ff60406000205416612b3f565b6000828152600260205260409020546101e8906001600160a01b03161515612f02565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129af565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612b9c565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612b9c565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129e9565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612812565b610365612828565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f7612828565b916104146001600160a01b0361040c83612f4e565b163314612a00565b600081815260026020526040902054610437906001600160a01b03161515612f02565b61043f612ace565b90612af4565b612e12565b005b3461033f57604036600319011261033f5761044a60043561046b612828565b90806000526006602052610486600160406000200154612c08565b612e8c565b3461033f576104993661293a565b906104a5610199612ace565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b3f565b6000828152600260205260409020546104ee906001600160a01b03161515612f02565b816000526008835260406000208151936001600160401b0385116103295761051682546129af565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612b9c565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f02565b61066382612f4e565b600092835260088252604090922091610684906001600160a01b03166135e1565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613432565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a4b565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a4b565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127ca565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a4b565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a4b565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a4b565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a4b565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a4b565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127ca565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128a9565b8060405161099a81612873565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613464565b6040519485925190818585016109e3926127ca565b820181519182858084019201916109f9926127ca565b010380845201610a0990836128a9565b6040519181839283528201610a1d916127ed565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f7612828565b3461033f57608036600319011261033f57610aee612812565b610af6612828565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128e5565b9160443591613011565b61010036600319011261033f57610b49612812565b6024356001600160401b03811161033f57610b6890369060040161291c565b906044356001600160401b03811161033f57610b8890369060040161291c565b906064356001600160401b03811161033f57610ba890369060040161291c565b926084356001600160401b03811161033f57610bc890369060040161291c565b60a4356001600160401b03811161033f57610be790369060040161291c565b9060c4356001600160401b03811161033f57610c0790369060040161291c565b9560e4356001600160401b03811161033f57610c2790369060040161291c565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561150557600754956001600160a01b038116156114c157600087815260026020526040902054610d589190610c9e906001600160a01b031615155b1561310a565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600088815260026020526040902054610d47906001600160a01b03161515612f02565b610445610d52612ace565b89612af4565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610d8d88546129af565b601f811161148f575b50602090601f831160011461142357600092611418575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610de260018801546129af565b601f81116113e3575b50602090601f831160011461137157600092611366575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e3a60028701546129af565b601f8111611331575b50602090601f83116001146112bf576000926112b4575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610e9260038601546129af565b601f811161127f575b50602090601f831160011461120d57600092611202575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610ee860048401546129af565b601f81116111cd575b50602090601f831160011461115a5760069392916000918361114f575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f3a86612873565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f6d82546129af565b601f811161111d575b506020601f82116001146110b357819060019495966000926110a8575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fc982546129af565b601f8111611078575b508493601f821160011461101557938192939460009261100a575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580610fed565b601f1982169483600052866000209160005b878110611061575083600195969710611048575b505050811b019055611002565b015160001960f88460031b161c1916905585808061103b565b919288600181928685015181550194019201611027565b6110a2908360005286600020601f840160051c81019188851061031f57601f0160051c01906129e9565b85610fd2565b015190508680610f93565b601f198216958360005260206000209660005b81811061110557509160019596979184879594106110ec575b505050811b018155610fa7565b015160001960f88460031b161c191690558680806110df565b838301518955600190980197602093840193016110c6565b61114990836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129e9565b85610f76565b015190508780610f0e565b906004840160005260206000209160005b601f19851681106111b5575091839160019360069695601f1981161061119c575b505050811b016004820155610f26565b015160001960f88460031b161c1916905587808061118c565b9192602060018192868501518155019401920161116b565b6111fc90600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b86610ef1565b015190508780610eb2565b9250600385016000526020600020906000935b601f1984168510611264576001945083601f1981161061124b575b505050811b016003830155610eca565b015160001960f88460031b161c1916905587808061123b565b81810151835560209485019460019093019290910190611220565b6112ae90600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b88610e9b565b015190508880610e5a565b9250600286016000526020600020906000935b601f1984168510611316576001945083601f198116106112fd575b505050811b016002840155610e72565b015160001960f88460031b161c191690558880806112ed565b818101518355602094850194600190930192909101906112d2565b61136090600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b89610e43565b015190508980610e02565b9250600187016000526020600020906000935b601f19841685106113c8576001945083601f198116106113af575b505050811b016001850155610e1a565b015160001960f88460031b161c1916905589808061139f565b81810151835560209485019460019093019290910190611384565b61141290600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8a610deb565b015190508a80610dad565b9250876000526020600020906000935b601f1984168510611474576001945083601f1981161061145b575b505050811b018555610dc2565b015160001960f88460031b161c191690558a808061144e565b81810151835560209485019460019093019290910190611433565b6114bb90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8b610d96565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f5761157f612812565b6024359081151580920361033f576001600160a01b0316903382146115f357336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b61169836612969565b91906116ae6001600160a01b0361040c84612f4e565b6000828152600260205260409020546116d1906001600160a01b03161515612f02565b6116e26116dc612ace565b83612af4565b60005260209260068452604060002033600052845261170860ff60406000205416612b3f565b60008381526002602052604090205461172b906001600160a01b03161515612f02565b60405161173781612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b039485821161032957839161179982546129af565b93601f948c868211611964575b50508b908583116001146118fe5760009190836118f3575b50508682851b9260031b1c19161781555b019451978851948511610329576117e686546129af565b8281116118bb575b50809185116001146118525750839291839161181f9899600095611847575b50501b9260031b1c1916179055612b9c565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b01519350898061180d565b91939290601f198416988660005283600020936000905b8b82106118a45750508461181f999a1061188c575b50505050811b019055612b9c565b01519060f88460031b161c191690558680808061187e565b808885978294968601518155019601930190611869565b6118e49087600052826000208480890160051c820192858a106118ea575b0160051c01906129e9565b896117ee565b925081926118d9565b015190508c806117be565b60008481528d8120929190601f198516908f5b82821061194b5750509084879594939210611934575b505050811b0181556117cf565b01518860f88460031b161c191690558c8080611927565b8484015186558a98909501949384019390810190611911565b61198c918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6117a6565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119cd826129af565b80855291818116908115611a615750600114611a08575b610a1d846119f4818603826128a9565b6040519182916020835260208301906127ed565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a495750505081016020016119f4826119e4565b80546020858701810191909152909301928101611a31565b60ff191660208087019190915292151560051b850190920192506119f491508390506119e4565b3461033f57604036600319011261033f57611aa1612828565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611ae33661293a565b90611aef610199612ace565b600052602091600683526040600020336000528352611b1560ff60406000205416612b3f565b600082815260026020526040902054611b38906001600160a01b03161515612f02565b816000526008835260046040600020018151936001600160401b03851161032957611b6382546129af565b601f8111611c18575b5080601f8611600114611bc857509380611ba0949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c00575050918691611ba09697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611bdb565b611c42908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611b6c565b3461033f57602036600319011261033f576001600160a01b03611c69612812565b168015611c885760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611ced3661293a565b90611cf9610199612ace565b600052602091600683526040600020336000528352611d1f60ff60406000205416612b3f565b600082815260026020526040902054611d42906001600160a01b03161515612f02565b816000526008835260026040600020018151936001600160401b03851161032957611d6d82546129af565b601f8111611e22575b5080601f8611600114611dd257509380611daa949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e0a575050918691611daa9697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611de5565b611e4c908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611d76565b3461033f57602036600319011261033f576020611e70600435612f4e565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611ea36116dc612ace565b600052600681526040600020336000528152611ec660ff60406000205416612b3f565b8160006001600160a01b03611ee63382611edf86612f4e565b1614612a00565b611eef83612f4e565b50611ef983612f4e565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f7b6003604060002001546129af565b611f8157005b600891600052526000600560408220611f9981612bbc565b611fa560018201612bbc565b611fb160028201612bbc565b611fbd60038201612bbc565b611fc960048201612bbc565b0155005b3461033f5761044a611fde3661283e565b9060405192611fec8461288e565b60008452613011565b3461033f5761200336612969565b91906120106116dc612ace565b60005260209260068452604060002033600052845261203660ff60406000205416612b3f565b600083815260026020526040902054612059906001600160a01b03161515612f02565b60405161206581612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b03948582116103295783916120c782546129af565b93601f948c86821161223b575b50508b908583116001146121d55760009190836121ca575b50508682851b9260031b1c19161781555b0194519788519485116103295761211486546129af565b82811161219c575b508091851160011461214c5750839291839161181f98996000956118475750501b9260031b1c1916179055612b9c565b91939290601f198416988660005283600020936000905b8b82106121855750508461181f999a1061188c5750505050811b019055612b9c565b808885978294968601518155019601930190612163565b6121c49087600052826000208480890160051c820192858a106118ea570160051c01906129e9565b8961211c565b015190508c806120ec565b60008481528d8120929190601f198516908f5b828210612222575050908487959493921061220b575b505050811b0181556120fd565b01518860f88460031b161c191690558c80806121fe565b8484015186558a989095019493840193908101906121e8565b612263918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6120d4565b3461033f57604036600319011261033f57612283612828565b336001600160a01b0382160361229f5761044a90600435612e8c565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561231b612828565b90806000526006602052610445600160406000200154612c08565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123733661293a565b9061237f610199612ace565b6000526020916006835260406000203360005283526123a560ff60406000205416612b3f565b6000828152600260205260409020546123c8906001600160a01b03161515612f02565b8160005260088352600180604060002001908251906001600160401b038211610329576123f583546129af565b601f81116124b1575b5085601f831160011461246457508180916124319697600093612459575b501b916000199060031b1c1916179055612b9c565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b86015192508861241c565b601f929192198216968460005281600020916000905b89821061249a575050826124319798106105be575050811b019055612b9c565b808684958294958b0151815501940192019061247a565b6124db908460005287600020601f850160051c81019189861061031f57601f0160051c01906129e9565b866123fe565b3461033f5761044a6124f23661283e565b91612505612500843361309c565b612faf565b6131b0565b3461033f57604036600319011261033f57612523612812565b602435906001600160a01b03808061253a85612f4e565b1692169180831461263557803314908115612610575b50156125a557600083815260046020526040902080546001600160a01b0319168317905561257d83612f4e565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612550565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e70600435612f71565b3461033f57600036600319011261033f57604051600080546126c3816129af565b80845290600190818116908115611a6157506001146126ec57610a1d846119f4818603826128a9565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061272d5750505081016020016119f4826119e4565b80546020858701810191909152909301928101612715565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b8114908115612787575b5015158152f35b6380ac58cd60e01b8114915081156127b9575b81156127a8575b5083612780565b6301ffc9a760e01b149050836127a1565b635b5e139f60e01b8114915061279a565b60005b8381106127dd5750506000910152565b81810151838201526020016127cd565b90602091612806815180928185528580860191016127ca565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b9291926128f1826128ca565b916128ff60405193846128a9565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f57816020612937933591016128e5565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f576129379160040161291c565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129989160040161291c565b9260443591821161033f576129379160040161291c565b90600182811c921680156129df575b60208310146129c957565b634e487b7160e01b600052602260045260246000fd5b91607f16916129be565b8181106129f4575050565b600081556001016129e9565b15612a0757565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a5a816129af565b92600191808316908115612ab35750600114612a77575b50505050565b90919293945060005260209081600020906000915b858310612aa25750505050019038808080612a71565b805485840152918301918101612a8c565b60ff1916845250505081151590910201915038808080612a71565b60405190612adb82612873565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b3960466040518093602082019565544f4b454e5f60d01b8752612b238151809260206026870191016127ca565b82019060268201520360268101845201826128a9565b51902090565b15612b4657565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bb4906020604051928284809451938492016127ca565b810103902090565b612bc681546129af565b9081612bd0575050565b81601f60009311600114612be2575055565b81835260208320612bfe91601f0160051c8101906001016129e9565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c325750505050565b612c3b336135e1565b91845190608082018281106001600160401b03821117612dfe57865260428252848201926060368537825115612dea5760308453825190600191821015612dea5790607860218501536041915b818311612d7c57505050612d3a576048612d36938693612d1a93612d0b98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612ce2815180928c6037890191016127ca565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127ca565b010360288101875201856128a9565b5192839262461bcd60e51b8452600484015260248301906127ed565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dd6576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dac85876135ba565b5360041c928015612dc257600019019190612c88565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e4457505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ebd57505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f0957565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316612937811515612f02565b600081815260026020526040902054612f94906001600160a01b03161515612f02565b6000908152600460205260409020546001600160a01b031690565b15612fb657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90613035939291613025612500843361309c565b6130308383836131b0565b6132c6565b1561303c57565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130b084612f4e565b169316918383149384156130e3575b5083156130cd575b50505090565b6130d991929350612f71565b16143880806130c7565b909350600052600560205260406000208260005260205260ff6040600020541692386130bf565b1561311157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561315d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131d8916131be84612f4e565b6001600160a01b0393918416928492909183168414613156565b1691821561327557816131f5916131ee86612f4e565b1614613156565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15613427579484916133209660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906127ed565b0393165af18491816133e3575b506133d2575050503d6000146133ca573d613347816128ca565b9061335560405192836128a9565b81528091833d92013e5b805191826133c75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b50606061335f565b6001600160e01b0319161492509050565b9091508581813d8311613420575b6133fb81836128a9565b8101031261341c57516001600160e01b03198116810361341c57903861332d565b8480fd5b503d6133f1565b505050915050600190565b9061343c826128ca565b61344960405191826128a9565b828152809261345a601f19916128ca565b0190602036910137565b8051156135a657604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211611993576003918290046001600160fe1b038116810361199357613509908594951b613432565b936020850193829183518401925b838110613555575050505051068060011461354257600214613537575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c1688010151888501531685010151878201530195929190613517565b506040516135b38161288e565b6000815290565b9081518110156135cb570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135cb576030905381516001908110156135cb57607860218401536029905b80821161368157505061363d5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136da576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136b084866135ba565b5360041c9180156136c557600019019061362d565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea2646970667358221220f990373a6ee4218bd529d7377a3ea71fd58a85d8659b6121af366d013cd8bb9264736f6c63430008110033", + "sourceMap": "256:7234:1:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7234:1;;;;;;;;;;;;;;242:34:0;256:7234:1;;;;4478:6:16;256:7234:1;;;;;;;4478:22:16;256:7234:1;;;;;;7185:22:16;256:7234:1;7234:52:16;;;;;256:7234:1;;;519:10:0;256:7234:1;;;;;;;;;;7543:23:16;7539:149;;256:7234:1;;;;;;;;;;7539:149:16;256:7234:1;;;4478:6:16;256:7234:1;;;;;519:10:0;;256:7234:1;;;;;;;;;;;;;;;519:10:0;;7637:40:16;519:10:0;7637:40:16;;;7539:149;;;;;;256:7234:1;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;-1:-1:-1;256:7234:1;;-1:-1:-1;256:7234:1;;;;;;;;;-1:-1:-1;;256:7234:1;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127595750806306fdde03146126b6578063081812fc14612698578063095ea7b31461251e57806323b872dd146124f5578063246a908b14612379578063248a9ca31461234a5780632f2ff15d1461231057806336568abe1461227e5780633806f1521461200957806342842e0e14611fe157806342966c6814611e965780636352211e14611e6657806364140ec014611cf357806370a0823114611c5c57806378278cca14611ae957806391d1485414611a9c57806395d89b41146119bd578063987c26fd146116a357806398b7079314611668578063a217fddf1461164c578063a22cb4651461157a578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661294e565b9061019f610199612ae2565b82612b08565b6000526020916006835260406000203360005283526101c560ff60406000205416612b53565b6000828152600260205260409020546101e8906001600160a01b03161515612f16565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129c3565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612bb0565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612bb0565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129fd565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612826565b61036561283c565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f761283c565b916104146001600160a01b0361040c83612f62565b163314612a14565b600081815260026020526040902054610437906001600160a01b03161515612f16565b61043f612ae2565b90612b08565b612e26565b005b3461033f57604036600319011261033f5761044a60043561046b61283c565b90806000526006602052610486600160406000200154612c1c565b612ea0565b3461033f576104993661294e565b906104a5610199612ae2565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b53565b6000828152600260205260409020546104ee906001600160a01b03161515612f16565b816000526008835260406000208151936001600160401b0385116103295761051682546129c3565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612bb0565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f16565b61066382612f62565b600092835260088252604090922091610684906001600160a01b03166135f5565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613446565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a5f565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a5f565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127de565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a5f565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a5f565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a5f565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a5f565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a5f565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127de565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128bd565b8060405161099a81612887565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613478565b6040519485925190818585016109e3926127de565b820181519182858084019201916109f9926127de565b010380845201610a0990836128bd565b6040519181839283528201610a1d91612801565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f761283c565b3461033f57608036600319011261033f57610aee612826565b610af661283c565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128f9565b9160443591613025565b61010036600319011261033f57610b49612826565b6024356001600160401b03811161033f57610b68903690600401612930565b906044356001600160401b03811161033f57610b88903690600401612930565b906064356001600160401b03811161033f57610ba8903690600401612930565b926084356001600160401b03811161033f57610bc8903690600401612930565b60a4356001600160401b03811161033f57610be7903690600401612930565b9060c4356001600160401b03811161033f57610c07903690600401612930565b9560e4356001600160401b03811161033f57610c27903690600401612930565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561151957600754956001600160a01b038116156114d557600087815260026020526040902054610d6c9190610c9e906001600160a01b031615155b1561311e565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610d386001600160a01b0361040c8a612f62565b600088815260026020526040902054610d5b906001600160a01b03161515612f16565b610445610d66612ae2565b89612b08565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610da188546129c3565b601f81116114a3575b50602090601f83116001146114375760009261142c575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610df660018801546129c3565b601f81116113f7575b50602090601f83116001146113855760009261137a575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e4e60028701546129c3565b601f8111611345575b50602090601f83116001146112d3576000926112c8575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610ea660038601546129c3565b601f8111611293575b50602090601f831160011461122157600092611216575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610efc60048401546129c3565b601f81116111e1575b50602090601f831160011461116e57600693929160009183611163575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f4e86612887565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f8182546129c3565b601f8111611131575b506020601f82116001146110c757819060019495966000926110bc575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fdd82546129c3565b601f811161108c575b508493601f821160011461102957938192939460009261101e575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580611001565b601f1982169483600052866000209160005b87811061107557508360019596971061105c575b505050811b019055611016565b015160001960f88460031b161c1916905585808061104f565b91928860018192868501518155019401920161103b565b6110b6908360005286600020601f840160051c81019188851061031f57601f0160051c01906129fd565b85610fe6565b015190508680610fa7565b601f198216958360005260206000209660005b8181106111195750916001959697918487959410611100575b505050811b018155610fbb565b015160001960f88460031b161c191690558680806110f3565b838301518955600190980197602093840193016110da565b61115d90836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129fd565b85610f8a565b015190508780610f22565b906004840160005260206000209160005b601f19851681106111c9575091839160019360069695601f198116106111b0575b505050811b016004820155610f3a565b015160001960f88460031b161c191690558780806111a0565b9192602060018192868501518155019401920161117f565b61121090600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b86610f05565b015190508780610ec6565b9250600385016000526020600020906000935b601f1984168510611278576001945083601f1981161061125f575b505050811b016003830155610ede565b015160001960f88460031b161c1916905587808061124f565b81810151835560209485019460019093019290910190611234565b6112c290600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b88610eaf565b015190508880610e6e565b9250600286016000526020600020906000935b601f198416851061132a576001945083601f19811610611311575b505050811b016002840155610e86565b015160001960f88460031b161c19169055888080611301565b818101518355602094850194600190930192909101906112e6565b61137490600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b89610e57565b015190508980610e16565b9250600187016000526020600020906000935b601f19841685106113dc576001945083601f198116106113c3575b505050811b016001850155610e2e565b015160001960f88460031b161c191690558980806113b3565b81810151835560209485019460019093019290910190611398565b61142690600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8a610dff565b015190508a80610dc1565b9250876000526020600020906000935b601f1984168510611488576001945083601f1981161061146f575b505050811b018555610dd6565b015160001960f88460031b161c191690558a8080611462565b81810151835560209485019460019093019290910190611447565b6114cf90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8b610daa565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f57611593612826565b6024359081151580920361033f576001600160a01b03169033821461160757336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b6116ac3661297d565b91906116c26001600160a01b0361040c84612f62565b6000828152600260205260409020546116e5906001600160a01b03161515612f16565b6116f66116f0612ae2565b83612b08565b60005260209260068452604060002033600052845261171c60ff60406000205416612b53565b60008381526002602052604090205461173f906001600160a01b03161515612f16565b60405161174b81612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916117ad82546129c3565b93601f948c868211611978575b50508b90858311600114611912576000919083611907575b50508682851b9260031b1c19161781555b019451978851948511610329576117fa86546129c3565b8281116118cf575b508091851160011461186657508392918391611833989960009561185b575b50501b9260031b1c1916179055612bb0565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b015193508980611821565b91939290601f198416988660005283600020936000905b8b82106118b857505084611833999a106118a0575b50505050811b019055612bb0565b01519060f88460031b161c1916905586808080611892565b80888597829496860151815501960193019061187d565b6118f89087600052826000208480890160051c820192858a106118fe575b0160051c01906129fd565b89611802565b925081926118ed565b015190508c806117d2565b60008481528d8120929190601f198516908f5b82821061195f5750509084879594939210611948575b505050811b0181556117e3565b01518860f88460031b161c191690558c808061193b565b8484015186558a98909501949384019390810190611925565b6119a0918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6117ba565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119e1826129c3565b80855291818116908115611a755750600114611a1c575b610a1d84611a08818603826128bd565b604051918291602083526020830190612801565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a5d575050508101602001611a08826119f8565b80546020858701810191909152909301928101611a45565b60ff191660208087019190915292151560051b85019092019250611a0891508390506119f8565b3461033f57604036600319011261033f57611ab561283c565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611af73661294e565b90611b03610199612ae2565b600052602091600683526040600020336000528352611b2960ff60406000205416612b53565b600082815260026020526040902054611b4c906001600160a01b03161515612f16565b816000526008835260046040600020018151936001600160401b03851161032957611b7782546129c3565b601f8111611c2c575b5080601f8611600114611bdc57509380611bb4949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c14575050918691611bb49697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611bef565b611c56908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611b80565b3461033f57602036600319011261033f576001600160a01b03611c7d612826565b168015611c9c5760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611d013661294e565b90611d0d610199612ae2565b600052602091600683526040600020336000528352611d3360ff60406000205416612b53565b600082815260026020526040902054611d56906001600160a01b03161515612f16565b816000526008835260026040600020018151936001600160401b03851161032957611d8182546129c3565b601f8111611e36575b5080601f8611600114611de657509380611dbe949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e1e575050918691611dbe9697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611df9565b611e60908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611d8a565b3461033f57602036600319011261033f576020611e84600435612f62565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611eb76116f0612ae2565b600052600681526040600020336000528152611eda60ff60406000205416612b53565b8160006001600160a01b03611efa3382611ef386612f62565b1614612a14565b611f0383612f62565b50611f0d83612f62565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f8f6003604060002001546129c3565b611f9557005b600891600052526000600560408220611fad81612bd0565b611fb960018201612bd0565b611fc560028201612bd0565b611fd160038201612bd0565b611fdd60048201612bd0565b0155005b3461033f5761044a611ff236612852565b9060405192612000846128a2565b60008452613025565b3461033f576120173661297d565b91906120246116f0612ae2565b60005260209260068452604060002033600052845261204a60ff60406000205416612b53565b60008381526002602052604090205461206d906001600160a01b03161515612f16565b60405161207981612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916120db82546129c3565b93601f948c86821161224f575b50508b908583116001146121e95760009190836121de575b50508682851b9260031b1c19161781555b0194519788519485116103295761212886546129c3565b8281116121b0575b508091851160011461216057508392918391611833989960009561185b5750501b9260031b1c1916179055612bb0565b91939290601f198416988660005283600020936000905b8b821061219957505084611833999a106118a05750505050811b019055612bb0565b808885978294968601518155019601930190612177565b6121d89087600052826000208480890160051c820192858a106118fe570160051c01906129fd565b89612130565b015190508c80612100565b60008481528d8120929190601f198516908f5b828210612236575050908487959493921061221f575b505050811b018155612111565b01518860f88460031b161c191690558c8080612212565b8484015186558a989095019493840193908101906121fc565b612277918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6120e8565b3461033f57604036600319011261033f5761229761283c565b336001600160a01b038216036122b35761044a90600435612ea0565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561232f61283c565b90806000526006602052610445600160406000200154612c1c565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123873661294e565b90612393610199612ae2565b6000526020916006835260406000203360005283526123b960ff60406000205416612b53565b6000828152600260205260409020546123dc906001600160a01b03161515612f16565b8160005260088352600180604060002001908251906001600160401b0382116103295761240983546129c3565b601f81116124c5575b5085601f83116001146124785750818091612445969760009361246d575b501b916000199060031b1c1916179055612bb0565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b860151925088612430565b601f929192198216968460005281600020916000905b8982106124ae575050826124459798106105be575050811b019055612bb0565b808684958294958b0151815501940192019061248e565b6124ef908460005287600020601f850160051c81019189861061031f57601f0160051c01906129fd565b86612412565b3461033f5761044a61250636612852565b9161251961251484336130b0565b612fc3565b6131c4565b3461033f57604036600319011261033f57612537612826565b602435906001600160a01b03808061254e85612f62565b1692169180831461264957803314908115612624575b50156125b957600083815260046020526040902080546001600160a01b0319168317905561259183612f62565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612564565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e84600435612f85565b3461033f57600036600319011261033f57604051600080546126d7816129c3565b80845290600190818116908115611a75575060011461270057610a1d84611a08818603826128bd565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410612741575050508101602001611a08826119f8565b80546020858701810191909152909301928101612729565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b811490811561279b575b5015158152f35b6380ac58cd60e01b8114915081156127cd575b81156127bc575b5083612794565b6301ffc9a760e01b149050836127b5565b635b5e139f60e01b811491506127ae565b60005b8381106127f15750506000910152565b81810151838201526020016127e1565b9060209161281a815180928185528580860191016127de565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b929192612905826128de565b9161291360405193846128bd565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f5781602061294b933591016128f9565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f5761294b91600401612930565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129ac91600401612930565b9260443591821161033f5761294b91600401612930565b90600182811c921680156129f3575b60208310146129dd57565b634e487b7160e01b600052602260045260246000fd5b91607f16916129d2565b818110612a08575050565b600081556001016129fd565b15612a1b57565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a6e816129c3565b92600191808316908115612ac75750600114612a8b575b50505050565b90919293945060005260209081600020906000915b858310612ab65750505050019038808080612a85565b805485840152918301918101612aa0565b60ff1916845250505081151590910201915038808080612a85565b60405190612aef82612887565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b4d60466040518093602082019565544f4b454e5f60d01b8752612b378151809260206026870191016127de565b82019060268201520360268101845201826128bd565b51902090565b15612b5a57565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bc8906020604051928284809451938492016127de565b810103902090565b612bda81546129c3565b9081612be4575050565b81601f60009311600114612bf6575055565b81835260208320612c1291601f0160051c8101906001016129fd565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c465750505050565b612c4f336135f5565b91845190608082018281106001600160401b03821117612e1257865260428252848201926060368537825115612dfe5760308453825190600191821015612dfe5790607860218501536041915b818311612d9057505050612d4e576048612d4a938693612d2e93612d1f98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612cf6815180928c6037890191016127de565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127de565b010360288101875201856128bd565b5192839262461bcd60e51b845260048401526024830190612801565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dea576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dc085876135ce565b5360041c928015612dd657600019019190612c9c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e5857505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ed157505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f1d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b031661294b811515612f16565b600081815260026020526040902054612fa8906001600160a01b03161515612f16565b6000908152600460205260409020546001600160a01b031690565b15612fca57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061304993929161303961251484336130b0565b6130448383836131c4565b6132da565b1561305057565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130c484612f62565b169316918383149384156130f7575b5083156130e1575b50505090565b6130ed91929350612f85565b16143880806130db565b909350600052600560205260406000208260005260205260ff6040600020541692386130d3565b1561312557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561317157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131ec916131d284612f62565b6001600160a01b039391841692849290918316841461316a565b1691821561328957816132099161320286612f62565b161461316a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b1561343b579484916133349660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612801565b0393165af18491816133f7575b506133e6575050503d6000146133de573d61335b816128de565b9061336960405192836128bd565b81528091833d92013e5b805191826133db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b506060613373565b6001600160e01b0319161492509050565b9091508581813d8311613434575b61340f81836128bd565b8101031261343057516001600160e01b031981168103613430579038613341565b8480fd5b503d613405565b505050915050600190565b90613450826128de565b61345d60405191826128bd565b828152809261346e601f19916128de565b0190602036910137565b8051156135ba57604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f604082015281516002928382018092116119a7576003918290046001600160fe1b03811681036119a75761351d908594951b613446565b936020850193829183518401925b83811061356957505050505106806001146135565760021461354b575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919061352b565b506040516135c7816128a2565b6000815290565b9081518110156135df570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135df576030905381516001908110156135df57607860218401536029905b8082116136955750506136515790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136c484866135ce565b5360041c9180156136d9576000190190613641565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea26469706673582212203dba85c3f8a5ea44ed4e11e06a0ce04d8f24a1b12f7e59a91b9900f3329f942364736f6c63430008110033", - "sourceMap": "256:7023:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7023:1;;:::i;:::-;1146:33:0;;:::i;:::-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;5307:5;256:7023;;5307:27;256:7023;;;5307:27;256:7023;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5369:47;256:7023;;;;;;;;;;;;;;;5307:27;256:7023;;;;;;;5369:47;:::i;:::-;;;256:7023;5369:47;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5369:47;256:7023;;;;;;;;;;;;;;;5369:47;:::i;256:7023::-;;;;;;;;5307:27;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;4508:18:18;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;345:39:0;256:7023:1;;;;;;;;;-1:-1:-1;;256:7023:1;;;;4524:10;256:7023;;4489:33;256:7023;;:::i;:::-;;1813:109;-1:-1:-1;;;;;1848:16:1;256:7023;1848:16;:::i;:::-;256:7023;1834:10;:30;1813:109;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;:::i;:::-;4489:33;;:::i;:::-;4524:10;:::i;:::-;256:7023;;;;;;;-1:-1:-1;;256:7023:1;;;;5360:7:16;256:7023:1;;;;:::i;:::-;;;;;4478:6:16;256:7023:1;;2516:4:16;256:7023:1;;;;4478:22:16;256:7023:1;2516:4:16;:::i;:::-;5360:7;:::i;256:7023:1:-;;;;;;;:::i;:::-;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;5870:5;256:7023;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5917:33;256:7023;;;;;;;;;;;;;;;;;;;;;;5917:33;:::i;:::-;;;256:7023;5917:33;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5917:33;256:7023;;;;;;;;;;;;;;5917:33;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;;;13547:16:18;13539:53;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;3332:16:1;;;:::i;:::-;256:7023;;;;3376:5;256:7023;;;;;;;3590:39;;-1:-1:-1;;;;;256:7023:1;3590:39;:::i;:::-;3922:17;;;256:7023;;;;;3911:10;;;256:7023;;;;;;;;;3922:17;4022:44;;;;3922:17;256:7023;10026:6:29;256:7023:1;10017:15:29;;;;10013:99;;256:7023:1;10138:6:29;;;;10129:15;;;;10125:99;;256:7023:1;10250:6:29;;;10241:15;;;;10237:99;;256:7023:1;10362:5:29;;10353:14;;;;10349:96;;256:7023:1;10471:5:29;;10462:14;;;;10458:96;;256:7023:1;10571:14:29;10580:5;10571:14;;;10567:96;;256:7023:1;10689:5:29;10680:14;;;;;;10676:64;;256:7023:1;699:76:26;595:18;256:7023:1;;;595:18:26;:::i;:::-;627:11;699:76;;;788:280;256:7023:1;;;788:280:26;-1:-1:-1;;256:7023:1;;-1:-1:-1;;;3424:797:1;;;256:7023;-1:-1:-1;;;699:76:26;256:7023:1;;;;;;3424:797;;-1:-1:-1;256:7023:1;;;;;;:::i;:::-;-1:-1:-1;;;256:7023:1;;;-1:-1:-1;;;3726:9:1;256:7023;;;;;;;;;3538:15;;256:7023;:::i;:::-;;;;-1:-1:-1;;;3726:9:1;256:7023;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3673:16;;256:7023;;;;:::i;:::-;;;;;;;3726:9;256:7023;;;;;3726:9;;;256:7023;;;;:::i;:::-;;;;-1:-1:-1;;;3726:9:1;256:7023;;;;;;;;;;;;;;;;3833:7;256:7023;:::i;:::-;-1:-1:-1;;;256:7023:1;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;-1:-1:-1;;;256:7023:1;;3424:797;;;;;;256:7023;3424:797;;;;;:::i;:::-;256:7023;;;;;;:::i;:::-;;;;;;;;;;;4275:24;;;:::i;:::-;256:7023;;;;;;4246:54;;;;;256:7023;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;4246:54;;;;;;;;;:::i;:::-;256:7023;;;;;;;;;;;;;:::i;:::-;;;;788:280:26;-1:-1:-1;;256:7023:1;;;;-1:-1:-1;;;893:93:26;;;;256:7023:1;893:93:26;345:66:23;1003:11:26;;;788:280;1032:21;1048:5;;;10676:64:29;256:7023:1;;;10676:64:29;;;;10567:96;345:66:23;;10580:5:29;3726:9:1;345:66:23;;256:7023:1;;10567:96:29;;;10458;256:7023:1;345:66:23;;;;256:7023:1;;10458:96:29;;;;10349;3376:5:1;345:66:23;;;;256:7023:1;;10349:96:29;;;;10237:99;10319:2;345:66:23;;;;256:7023:1;;10237:99:29;;;;10125;256:7023:1;;;345:66:23;;;;10125:99:29;;;;10013;256:7023:1;;-1:-1:-1;345:66:23;;-1:-1:-1;10013:99:29;;;;256:7023:1;;;;;;-1:-1:-1;;256:7023:1;;;;4762:10;256:7023;;4727:33;256:7023;;:::i;:::-;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;:::i;:::-;644:10:0;256:7023:1;;;;;;;;;;;;;;;;;;;2298:9;256:7023;;-1:-1:-1;;;;;256:7023:1;;9170:16:18;256:7023:1;;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;4524:10;;9242:16:18;9233:58;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;9242:16;9241:17;9233:58;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;9437:58:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;9446:16;7256:126;9437:58;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;256:7023:1;;;;;;;-1:-1:-1;;;;;;256:7023:1;;;;;;;;9913:33:18;256:7023:1;;9913:33:18;1813:109:1;-1:-1:-1;;;;;1848:16:1;;;:::i;1813:109::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;4489:33:1;256:7023;;:::i;:::-;4489:33;;:::i;4524:10::-;256:7023;2298:9;256:7023;;2298:9;256:7023;;;;2446:5;256:7023;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;2495:15;;256:7023;;2495:15;;256:7023;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2495:15;;256:7023;;;;;-1:-1:-1;;;;;256:7023:1;;;;2534:9;;256:7023;9876:7:18;2534:9:1;;256:7023;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;2534:9:1;;256:7023;;;;;-1:-1:-1;;;;;256:7023:1;;;;2561:16;;256:7023;;2561:16;;256:7023;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2561:16;;256:7023;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;2602:7;;256:7023;;:::i;:::-;;;;;;;;;;;;;;;;;3004:6:16;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;2602:7;;256:7023;;;2790:17;;;256:7023;;;;;;;:::i;:::-;;;;2837:34;;256:7023;;;;;;2821:10;256:7023;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:17;256:7023;;;;;;;;;;;2790:17;256:7023;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:17;256:7023;;;;;;;;;;;2790:17;256:7023;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;2602:7;256:7023;2602:7;;256:7023;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;2602:7;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2602:7;256:7023;2602:7;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;2561:16;;256:7023;2561:16;;256:7023;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;2561:16;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2561:16;256:7023;2561:16;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;2534:9;;9876:7:18;2534:9:1;;256:7023;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;2534:9:1;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2534:9;9876:7:18;2534:9:1;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;2495:15;;256:7023;2495:15;;256:7023;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;2495:15;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2495:15;256:7023;2495:15;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;719:10:24;13216:17:18;;256:7023:1;;719:10:24;256:7023:1;;13273:18:18;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:41:18;256:7023:1;719:10:24;13334:41:18;;256:7023:1;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;242:34:0;256:7023:1;;;;;;;:::i;:::-;;;1813:109;-1:-1:-1;;;;;1848:16:1;256:7023;1848:16;:::i;1813:109::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;1146:33:0;256:7023:1;;:::i;:::-;1146:33:0;;:::i;:::-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1834:10;256:7023;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;;;:::i;:::-;;;;6826:36;;;256:7023;;;;;;6770:5;256:7023;;3004:6:16;256:7023:1;;;6770:21;6794:28;256:7023;;;6794:28;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;6877:31;256:7023;;;;;;;;;;;;;;;;;;;6877:31;:::i;:::-;;;256:7023;6877:31;;256:7023;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6877:31;256:7023;;;;;;;;;;;;;;;6877:31;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:28;256:7023;;;;;;;;;;;6794:28;256:7023;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:28;256:7023;;;;;;;;;6794:28;256:7023;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;2721:7:18;256:7023:1;;;;;;:::i;:::-;;;;;;;;;2721:7:18;;;;256:7023:1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;256:7023:1;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;-1:-1:-1;256:7023:1;;-1:-1:-1;256:7023:1;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;5604:5;256:7023;;;;;;5604:18;256:7023;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5649:31;256:7023;;;;;;;;;;;;;;;;;;;;;;5649:31;:::i;:::-;;;256:7023;5649:31;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;5649:31;256:7023;;;;;;;;;;;;;;5649:31;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;-1:-1:-1;;;;;256:7023:1;;:::i;:::-;;2028:19:18;;256:7023:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;6454:5;256:7023;;6454:20;256:7023;;;6454:20;256:7023;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6503:35;256:7023;;;;;;;;;;;;;;;;;;;;;;6503:35;:::i;:::-;;;256:7023;6503:35;;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;6503:35;256:7023;;;;;;;;;;;;;;6503:35;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;256:7023:1;;-1:-1:-1;;;;;7023:109:1;1181:10:0;256:7023:1;7044:16;256:7023;7044:16;:::i;:::-;256:7023;7044:30;7023:109;:::i;:::-;10412:23:18;;;:::i;:::-;;10607;;;:::i;:::-;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:7:18;256:7023:1;;;;;;;;;;;10995:36:18;;;;7183:5:1;256:7023;;;;;;;7183:27;256:7023;;:::i;:::-;7173:98;;256:7023;7173:98;7183:5;256:7023;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;10963:7:18;256:7023:1;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;5137:39:18;256:7023:1;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5137:39:18;:::i;256:7023:1:-;;;;;;;:::i;:::-;;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;;;:::i;:::-;;;;6826:36;;;256:7023;;;;;;6770:5;256:7023;;3004:6:16;256:7023:1;;;6770:21;6794:28;256:7023;;;6794:28;256:7023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;6877:31;256:7023;;;;;;;;;;;;;;;;;;6877:31;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;6877:31;256:7023;;;;;;;;;;;;;;6877:31;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:28;256:7023;;;;;;;;;;6794:28;256:7023;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:28;256:7023;;;;;;;;;6794:28;256:7023;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;719:10:24;-1:-1:-1;;;;;256:7023:1;;6007:23:16;256:7023:1;;6111:7:16;256:7023:1;;;6111:7:16;:::i;256:7023:1:-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;4933:7:16;256:7023:1;;;;:::i;:::-;;;;;4478:6:16;256:7023:1;;2516:4:16;256:7023:1;;;;4478:22:16;256:7023:1;2516:4:16;:::i;256:7023:1:-;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;4478:6:16;256:7023:1;;;;;;;4478:22:16;256:7023:1;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7023:1;;:::i;1146:33:0:-;256:7023:1;;;;3004:6:16;256:7023:1;;;;;1181:10:0;256:7023:1;;;;1116:144:0;256:7023:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;256:7023:1;;;6154:5;256:7023;;6154:26;256:7023;;;;6154:26;256:7023;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;6215:47;256:7023;;;;;;;;;;;;;;;;;;;;;6215:47;:::i;:::-;;;256:7023;6215:47;;256:7023;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6215:47;256:7023;;;;;;;;;;;;6215:47;:::i;256:7023::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4923:7:18;256:7023:1;;;:::i;:::-;719:10:24;4793:99:18;4801:41;719:10:24;;4801:41:18;:::i;:::-;4793:99;:::i;:::-;4923:7;:::i;256:7023:1:-;;;;;;-1:-1:-1;;256:7023:1;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7023:1;;3564:23:18;256:7023:1;3564:23:18;:::i;:::-;256:7023:1;;;3605:11:18;;;;256:7023:1;;719:10:24;;3686:21:18;:62;;;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;256:7023:1;;;;;12895:23:18;256:7023:1;12895:23:18;:::i;:::-;256:7023:1;12886:46:18;256:7023:1;12886:46:18;;256:7023:1;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:18;256:7023:1;;;;4508:18:18;256:7023:1;;;;;719:10:24;256:7023:1;;;;;;;;;;3686:62:18;;;256:7023:1;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;256:7023:1;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2714:47:16;;;:87;;;;256:7023:1;;;;;;;2714:87:16;-1:-1:-1;;;1707:40:18;;;-1:-1:-1;1707:104:18;;;;2714:87:16;1707:156:18;;;;2714:87:16;;;;;1707:156:18;-1:-1:-1;;;937:40:27;;-1:-1:-1;1707:156:18;;;:104;-1:-1:-1;;;1763:48:18;;;-1:-1:-1;1707:104:18;;256:7023:1;;;;;;;;-1:-1:-1;;256:7023:1;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;256:7023:1;;;;:::o;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;256:7023:1;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;:::o;:::-;-1:-1:-1;;;;;256:7023:1;;;;;;-1:-1:-1;;256:7023:1;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;256:7023:1;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;-1:-1:-1;;256:7023:1;;;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;:::i;:::-;;-1:-1:-1;;256:7023:1;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;256:7023:1;;;;-1:-1:-1;256:7023:1;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7023:1;;;-1:-1:-1;;;256:7023:1;;;;;;;;-1:-1:-1;256:7023:1;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;256:7023:1;;;;:::o;1288:192:0:-;1430:41;;256:7023:1;;1430:41:0;;;;;256:7023:1;-1:-1:-1;;;256:7023:1;;;;;;;1430:41:0;256:7023:1;;;;;;:::i;:::-;;;;;;;;1430:41:0;256:7023:1;1430:41:0;;;;;;;:::i;:::-;256:7023:1;1420:52:0;;1288:192;:::o;256:7023:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;3334:103:16:-;-1:-1:-1;256:7023:1;;;;;;3004:6:16;256:7023:1;;;;;;;719:10:24;256:7023:1;;;;;;;;;;3805:23:16;3801:390;;3334:103;;;;:::o;3801:390::-;2192:52:26;719:10:24;2192:52:26;:::i;:::-;4088:38:16;256:7023:1;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;345:66:23;256:7023:1;345:66:23;;;256:7023:1;;;;;1670:15:26;;;256:7023:1;;;;;;;;;;;1695:15:26;256:7023:1;;;1695:15:26;256:7023:1;1720:128:26;1753:5;;;;;;1865:10;;;246:18;;256:7023:1;;;;;3896:252:16;256:7023:1;;;;3896:252:16;;;256:7023:1;3896:252:16;;;256:7023:1;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;:::i;:::-;;3896:252:16;;;;;;;;;:::i;:::-;256:7023:1;;;;;;;3844:336:16;;1836:1:26;3844:336:16;;256:7023:1;;;;;;:::i;:::-;3844:336:16;;;246:18:26;;256:7023:1;;;;;;;246:18:26;;;1836:1;246:18;;;;;;256:7023:1;246:18:26;256:7023:1;;;246:18:26;;1760:3;1800:11;;;1808:3;1800:11;;1791:21;;;;;;-1:-1:-1;;;1791:21:26;;1779:33;;;;:::i;:::-;;1836:1;256:7023:1;1760:3:26;256:7023:1;;;;-1:-1:-1;;256:7023:1;;1725:26:26;;;256:7023:1;-1:-1:-1;;;256:7023:1;;;1836:1:26;256:7023:1;;;;1791:21:26;-1:-1:-1;;;256:7023:1;;;1836:1:26;256:7023:1;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;;7461:233:16;;-1:-1:-1;256:7023:1;;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;7543:23:16;7539:149;;7461:233;;;:::o;7539:149::-;256:7023:1;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;;;;;;7637:40:16;719:10:24;7637:40:16;;;7461:233::o;7865:234::-;;-1:-1:-1;256:7023:1;;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;7944:149:16;;7865:234;;;:::o;7944:149::-;256:7023:1;;;3004:6:16;256:7023:1;;;;;;;;;;;;;;;;;;;;8042:40:16;719:10:24;8042:40:16;;;7865:234::o;256:7023:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;2190:219:18;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;-1:-1:-1;;;;;256:7023:1;2324:56:18;2332:19;;;2324:56;:::i;3935:167::-;-1:-1:-1;256:7023:1;;;6930:7:18;256:7023:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7023:1;7344:31:18;;13539:53;:::i;:::-;-1:-1:-1;256:7023:1;;;4071:15:18;256:7023:1;;;;;;-1:-1:-1;;;;;256:7023:1;;3935:167:18:o;256:7023:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;5249:314:18;;6620:47;5249:314;;;5409:99;5417:41;719:10:24;;5417:41:18;:::i;5409:99::-;6594:7;;;;;:::i;:::-;6620:47;:::i;:::-;256:7023:1;;;5249:314:18:o;256:7023:1:-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;3844:336:16;7540:261:18;;-1:-1:-1;;;;;256:7023:1;;7665:23:18;7540:261;7665:23;:::i;:::-;256:7023:1;;;7706:16:18;;;;:52;;;;;7540:261;7706:87;;;;;7540:261;7698:96;;;7540:261;:::o;7706:87::-;7762:20;;;;;;:::i;:::-;256:7023:1;7762:31:18;7706:87;;;;;:52;256:7023:1;;;-1:-1:-1;256:7023:1;4508:18:18;256:7023:1;;;-1:-1:-1;256:7023:1;;-1:-1:-1;256:7023:1;;;;;-1:-1:-1;256:7023:1;;;7706:52:18;;;;256:7023:1;;;;:::o;:::-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;11423:1233:18;;11542:81;11423:1233;11550:23;;;:::i;:::-;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;11550:31:18;;11542:81;:::i;:::-;256:7023:1;11641:16:18;;;256:7023:1;;11851:23:18;11843:81;11851:23;;;;:::i;:::-;256:7023:1;11851:31:18;11843:81;:::i;:::-;12570:27;11655:1;256:7023:1;;;11993:15:18;256:7023:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12533:7:18;256:7023:1;;;;;;;;;;;;;12570:27:18;;11423:1233::o;256:7023:1:-;;;-1:-1:-1;;;256:7023:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;;14151:831:18;;;256:7023:1;;14151:831:18;;;1465:19:22;;:23;:19;;256:7023:1;;;;;;;;;;;;;;14355:71:18;;;;719:10:24;14355:71:18;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;14355:71:18;;256:7023:1;;;;;;;;:::i;:::-;14355:71:18;256:7023:1;;14355:71:18;;;;;;;14316:660;-1:-1:-1;14351:573:18;;14543:381;;;256:7023:1;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14593:18:18;;;256:7023:1;;-1:-1:-1;;;14635:60:18;;256:7023:1;14355:71:18;14635:60;;256:7023:1;;;;;;;;;;;-1:-1:-1;;;256:7023:1;;;;;;3844:336:16;14589:321:18;14797:95;;256:7023:1;;;;;14351:573:18;-1:-1:-1;;;;;;256:7023:1;14476:51:18;;-1:-1:-1;256:7023:1;-1:-1:-1;14469:58:18:o;14355:71::-;;;;;;;;;;;;;;;;;:::i;:::-;;;256:7023:1;;;;;-1:-1:-1;;;;;;256:7023:1;;;;;;14355:71:18;;;;256:7023:1;;;;14355:71:18;;;;;14316:660;14954:11;;;;;;14961:4;14954:11;:::o;345:66:23:-;;256:7023:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;345:66:23;256:7023:1;345:66:23;256:7023:1;;345:66:23;;:::i;:::-;;;;;;;;:::o;505:3026::-;256:7023:1;;795:16:23;791:31;;256:7023:1;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;;;;;;;;;1357:1:23;256:7023:1;;;;;;;;;1362:1:23;;345:66;;;-1:-1:-1;;;;;256:7023:1;;;;;;1326:39:23;256:7023:1;;;;;1326:39:23;:::i;:::-;1419:2082;256:7023:1;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;1362:1;1419:2082;1362:1;;;1419:2082;;;;3511:13;505:3026;:::o;1419:2082::-;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;-1:-1:-1;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;;1337:1;1419:2082;;;;;;;;;;256:7023:1;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:31;256:7023:1;;;;;;:::i;:::-;810:1:23;256:7023:1;;813:9:23;:::o;256:7023:1:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1513:437:26;256:7023:1;;;;;;;;;-1:-1:-1;;;;;256:7023:1;;;;;;;;;;;;;;345:66:23;;;256:7023:1;;;;;1670:15:26;;;256:7023:1;;;;;;;;;1695:15:26;256:7023:1;;;1695:15:26;256:7023:1;1720:128:26;1753:5;;;;;;1865:10;;246:18;;1513:437;:::o;246:18::-;;256:7023:1;;;;;246:18:26;;256:7023:1;1836:1:26;246:18;;;256:7023:1;246:18:26;;;256:7023:1;246:18:26;256:7023:1;;;246:18:26;;1760:3;1800:11;;1808:3;1800:11;;1791:21;;;;;;-1:-1:-1;;;1791:21:26;;1779:33;;;;:::i;:::-;;1836:1;256:7023:1;1760:3:26;256:7023:1;;;;-1:-1:-1;;256:7023:1;;1725:26:26;;256:7023:1;;;;;;;;;1836:1:26;256:7023:1;;1791:21:26;256:7023:1;;;;;;;;1836:1:26;256:7023:1;", + "object": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127455750806306fdde03146126a2578063081812fc14612684578063095ea7b31461250a57806323b872dd146124e1578063246a908b14612365578063248a9ca3146123365780632f2ff15d146122fc57806336568abe1461226a5780633806f15214611ff557806342842e0e14611fcd57806342966c6814611e825780636352211e14611e5257806364140ec014611cdf57806370a0823114611c4857806378278cca14611ad557806391d1485414611a8857806395d89b41146119a9578063987c26fd1461168f57806398b7079314611654578063a217fddf14611638578063a22cb46514611566578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661293a565b9061019f610199612ace565b82612af4565b6000526020916006835260406000203360005283526101c560ff60406000205416612b3f565b6000828152600260205260409020546101e8906001600160a01b03161515612f02565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129af565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612b9c565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612b9c565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129e9565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612812565b610365612828565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f7612828565b916104146001600160a01b0361040c83612f4e565b163314612a00565b600081815260026020526040902054610437906001600160a01b03161515612f02565b61043f612ace565b90612af4565b612e12565b005b3461033f57604036600319011261033f5761044a60043561046b612828565b90806000526006602052610486600160406000200154612c08565b612e8c565b3461033f576104993661293a565b906104a5610199612ace565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b3f565b6000828152600260205260409020546104ee906001600160a01b03161515612f02565b816000526008835260406000208151936001600160401b0385116103295761051682546129af565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612b9c565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f02565b61066382612f4e565b600092835260088252604090922091610684906001600160a01b03166135e1565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613432565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a4b565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a4b565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127ca565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a4b565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a4b565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a4b565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a4b565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a4b565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127ca565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128a9565b8060405161099a81612873565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613464565b6040519485925190818585016109e3926127ca565b820181519182858084019201916109f9926127ca565b010380845201610a0990836128a9565b6040519181839283528201610a1d916127ed565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f7612828565b3461033f57608036600319011261033f57610aee612812565b610af6612828565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128e5565b9160443591613011565b61010036600319011261033f57610b49612812565b6024356001600160401b03811161033f57610b6890369060040161291c565b906044356001600160401b03811161033f57610b8890369060040161291c565b906064356001600160401b03811161033f57610ba890369060040161291c565b926084356001600160401b03811161033f57610bc890369060040161291c565b60a4356001600160401b03811161033f57610be790369060040161291c565b9060c4356001600160401b03811161033f57610c0790369060040161291c565b9560e4356001600160401b03811161033f57610c2790369060040161291c565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561150557600754956001600160a01b038116156114c157600087815260026020526040902054610d589190610c9e906001600160a01b031615155b1561310a565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600088815260026020526040902054610d47906001600160a01b03161515612f02565b610445610d52612ace565b89612af4565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610d8d88546129af565b601f811161148f575b50602090601f831160011461142357600092611418575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610de260018801546129af565b601f81116113e3575b50602090601f831160011461137157600092611366575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e3a60028701546129af565b601f8111611331575b50602090601f83116001146112bf576000926112b4575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610e9260038601546129af565b601f811161127f575b50602090601f831160011461120d57600092611202575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610ee860048401546129af565b601f81116111cd575b50602090601f831160011461115a5760069392916000918361114f575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f3a86612873565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f6d82546129af565b601f811161111d575b506020601f82116001146110b357819060019495966000926110a8575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fc982546129af565b601f8111611078575b508493601f821160011461101557938192939460009261100a575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580610fed565b601f1982169483600052866000209160005b878110611061575083600195969710611048575b505050811b019055611002565b015160001960f88460031b161c1916905585808061103b565b919288600181928685015181550194019201611027565b6110a2908360005286600020601f840160051c81019188851061031f57601f0160051c01906129e9565b85610fd2565b015190508680610f93565b601f198216958360005260206000209660005b81811061110557509160019596979184879594106110ec575b505050811b018155610fa7565b015160001960f88460031b161c191690558680806110df565b838301518955600190980197602093840193016110c6565b61114990836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129e9565b85610f76565b015190508780610f0e565b906004840160005260206000209160005b601f19851681106111b5575091839160019360069695601f1981161061119c575b505050811b016004820155610f26565b015160001960f88460031b161c1916905587808061118c565b9192602060018192868501518155019401920161116b565b6111fc90600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b86610ef1565b015190508780610eb2565b9250600385016000526020600020906000935b601f1984168510611264576001945083601f1981161061124b575b505050811b016003830155610eca565b015160001960f88460031b161c1916905587808061123b565b81810151835560209485019460019093019290910190611220565b6112ae90600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b88610e9b565b015190508880610e5a565b9250600286016000526020600020906000935b601f1984168510611316576001945083601f198116106112fd575b505050811b016002840155610e72565b015160001960f88460031b161c191690558880806112ed565b818101518355602094850194600190930192909101906112d2565b61136090600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b89610e43565b015190508980610e02565b9250600187016000526020600020906000935b601f19841685106113c8576001945083601f198116106113af575b505050811b016001850155610e1a565b015160001960f88460031b161c1916905589808061139f565b81810151835560209485019460019093019290910190611384565b61141290600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8a610deb565b015190508a80610dad565b9250876000526020600020906000935b601f1984168510611474576001945083601f1981161061145b575b505050811b018555610dc2565b015160001960f88460031b161c191690558a808061144e565b81810151835560209485019460019093019290910190611433565b6114bb90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8b610d96565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f5761157f612812565b6024359081151580920361033f576001600160a01b0316903382146115f357336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b61169836612969565b91906116ae6001600160a01b0361040c84612f4e565b6000828152600260205260409020546116d1906001600160a01b03161515612f02565b6116e26116dc612ace565b83612af4565b60005260209260068452604060002033600052845261170860ff60406000205416612b3f565b60008381526002602052604090205461172b906001600160a01b03161515612f02565b60405161173781612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b039485821161032957839161179982546129af565b93601f948c868211611964575b50508b908583116001146118fe5760009190836118f3575b50508682851b9260031b1c19161781555b019451978851948511610329576117e686546129af565b8281116118bb575b50809185116001146118525750839291839161181f9899600095611847575b50501b9260031b1c1916179055612b9c565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b01519350898061180d565b91939290601f198416988660005283600020936000905b8b82106118a45750508461181f999a1061188c575b50505050811b019055612b9c565b01519060f88460031b161c191690558680808061187e565b808885978294968601518155019601930190611869565b6118e49087600052826000208480890160051c820192858a106118ea575b0160051c01906129e9565b896117ee565b925081926118d9565b015190508c806117be565b60008481528d8120929190601f198516908f5b82821061194b5750509084879594939210611934575b505050811b0181556117cf565b01518860f88460031b161c191690558c8080611927565b8484015186558a98909501949384019390810190611911565b61198c918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6117a6565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119cd826129af565b80855291818116908115611a615750600114611a08575b610a1d846119f4818603826128a9565b6040519182916020835260208301906127ed565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a495750505081016020016119f4826119e4565b80546020858701810191909152909301928101611a31565b60ff191660208087019190915292151560051b850190920192506119f491508390506119e4565b3461033f57604036600319011261033f57611aa1612828565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611ae33661293a565b90611aef610199612ace565b600052602091600683526040600020336000528352611b1560ff60406000205416612b3f565b600082815260026020526040902054611b38906001600160a01b03161515612f02565b816000526008835260046040600020018151936001600160401b03851161032957611b6382546129af565b601f8111611c18575b5080601f8611600114611bc857509380611ba0949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c00575050918691611ba09697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611bdb565b611c42908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611b6c565b3461033f57602036600319011261033f576001600160a01b03611c69612812565b168015611c885760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611ced3661293a565b90611cf9610199612ace565b600052602091600683526040600020336000528352611d1f60ff60406000205416612b3f565b600082815260026020526040902054611d42906001600160a01b03161515612f02565b816000526008835260026040600020018151936001600160401b03851161032957611d6d82546129af565b601f8111611e22575b5080601f8611600114611dd257509380611daa949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e0a575050918691611daa9697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611de5565b611e4c908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611d76565b3461033f57602036600319011261033f576020611e70600435612f4e565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611ea36116dc612ace565b600052600681526040600020336000528152611ec660ff60406000205416612b3f565b8160006001600160a01b03611ee63382611edf86612f4e565b1614612a00565b611eef83612f4e565b50611ef983612f4e565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f7b6003604060002001546129af565b611f8157005b600891600052526000600560408220611f9981612bbc565b611fa560018201612bbc565b611fb160028201612bbc565b611fbd60038201612bbc565b611fc960048201612bbc565b0155005b3461033f5761044a611fde3661283e565b9060405192611fec8461288e565b60008452613011565b3461033f5761200336612969565b91906120106116dc612ace565b60005260209260068452604060002033600052845261203660ff60406000205416612b3f565b600083815260026020526040902054612059906001600160a01b03161515612f02565b60405161206581612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b03948582116103295783916120c782546129af565b93601f948c86821161223b575b50508b908583116001146121d55760009190836121ca575b50508682851b9260031b1c19161781555b0194519788519485116103295761211486546129af565b82811161219c575b508091851160011461214c5750839291839161181f98996000956118475750501b9260031b1c1916179055612b9c565b91939290601f198416988660005283600020936000905b8b82106121855750508461181f999a1061188c5750505050811b019055612b9c565b808885978294968601518155019601930190612163565b6121c49087600052826000208480890160051c820192858a106118ea570160051c01906129e9565b8961211c565b015190508c806120ec565b60008481528d8120929190601f198516908f5b828210612222575050908487959493921061220b575b505050811b0181556120fd565b01518860f88460031b161c191690558c80806121fe565b8484015186558a989095019493840193908101906121e8565b612263918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6120d4565b3461033f57604036600319011261033f57612283612828565b336001600160a01b0382160361229f5761044a90600435612e8c565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561231b612828565b90806000526006602052610445600160406000200154612c08565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123733661293a565b9061237f610199612ace565b6000526020916006835260406000203360005283526123a560ff60406000205416612b3f565b6000828152600260205260409020546123c8906001600160a01b03161515612f02565b8160005260088352600180604060002001908251906001600160401b038211610329576123f583546129af565b601f81116124b1575b5085601f831160011461246457508180916124319697600093612459575b501b916000199060031b1c1916179055612b9c565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b86015192508861241c565b601f929192198216968460005281600020916000905b89821061249a575050826124319798106105be575050811b019055612b9c565b808684958294958b0151815501940192019061247a565b6124db908460005287600020601f850160051c81019189861061031f57601f0160051c01906129e9565b866123fe565b3461033f5761044a6124f23661283e565b91612505612500843361309c565b612faf565b6131b0565b3461033f57604036600319011261033f57612523612812565b602435906001600160a01b03808061253a85612f4e565b1692169180831461263557803314908115612610575b50156125a557600083815260046020526040902080546001600160a01b0319168317905561257d83612f4e565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612550565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e70600435612f71565b3461033f57600036600319011261033f57604051600080546126c3816129af565b80845290600190818116908115611a6157506001146126ec57610a1d846119f4818603826128a9565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061272d5750505081016020016119f4826119e4565b80546020858701810191909152909301928101612715565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b8114908115612787575b5015158152f35b6380ac58cd60e01b8114915081156127b9575b81156127a8575b5083612780565b6301ffc9a760e01b149050836127a1565b635b5e139f60e01b8114915061279a565b60005b8381106127dd5750506000910152565b81810151838201526020016127cd565b90602091612806815180928185528580860191016127ca565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b9291926128f1826128ca565b916128ff60405193846128a9565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f57816020612937933591016128e5565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f576129379160040161291c565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129989160040161291c565b9260443591821161033f576129379160040161291c565b90600182811c921680156129df575b60208310146129c957565b634e487b7160e01b600052602260045260246000fd5b91607f16916129be565b8181106129f4575050565b600081556001016129e9565b15612a0757565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a5a816129af565b92600191808316908115612ab35750600114612a77575b50505050565b90919293945060005260209081600020906000915b858310612aa25750505050019038808080612a71565b805485840152918301918101612a8c565b60ff1916845250505081151590910201915038808080612a71565b60405190612adb82612873565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b3960466040518093602082019565544f4b454e5f60d01b8752612b238151809260206026870191016127ca565b82019060268201520360268101845201826128a9565b51902090565b15612b4657565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bb4906020604051928284809451938492016127ca565b810103902090565b612bc681546129af565b9081612bd0575050565b81601f60009311600114612be2575055565b81835260208320612bfe91601f0160051c8101906001016129e9565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c325750505050565b612c3b336135e1565b91845190608082018281106001600160401b03821117612dfe57865260428252848201926060368537825115612dea5760308453825190600191821015612dea5790607860218501536041915b818311612d7c57505050612d3a576048612d36938693612d1a93612d0b98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612ce2815180928c6037890191016127ca565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127ca565b010360288101875201856128a9565b5192839262461bcd60e51b8452600484015260248301906127ed565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dd6576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dac85876135ba565b5360041c928015612dc257600019019190612c88565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e4457505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ebd57505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f0957565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316612937811515612f02565b600081815260026020526040902054612f94906001600160a01b03161515612f02565b6000908152600460205260409020546001600160a01b031690565b15612fb657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90613035939291613025612500843361309c565b6130308383836131b0565b6132c6565b1561303c57565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130b084612f4e565b169316918383149384156130e3575b5083156130cd575b50505090565b6130d991929350612f71565b16143880806130c7565b909350600052600560205260406000208260005260205260ff6040600020541692386130bf565b1561311157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561315d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131d8916131be84612f4e565b6001600160a01b0393918416928492909183168414613156565b1691821561327557816131f5916131ee86612f4e565b1614613156565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15613427579484916133209660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906127ed565b0393165af18491816133e3575b506133d2575050503d6000146133ca573d613347816128ca565b9061335560405192836128a9565b81528091833d92013e5b805191826133c75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b50606061335f565b6001600160e01b0319161492509050565b9091508581813d8311613420575b6133fb81836128a9565b8101031261341c57516001600160e01b03198116810361341c57903861332d565b8480fd5b503d6133f1565b505050915050600190565b9061343c826128ca565b61344960405191826128a9565b828152809261345a601f19916128ca565b0190602036910137565b8051156135a657604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211611993576003918290046001600160fe1b038116810361199357613509908594951b613432565b936020850193829183518401925b838110613555575050505051068060011461354257600214613537575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c1688010151888501531685010151878201530195929190613517565b506040516135b38161288e565b6000815290565b9081518110156135cb570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135cb576030905381516001908110156135cb57607860218401536029905b80821161368157505061363d5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136da576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136b084866135ba565b5360041c9180156136c557600019019061362d565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea2646970667358221220f990373a6ee4218bd529d7377a3ea71fd58a85d8659b6121af366d013cd8bb9264736f6c63430008110033", + "sourceMap": "256:7234:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7234:1;;:::i;:::-;1146:33:0;;:::i;:::-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;5518:5;256:7234;;5518:27;256:7234;;;5518:27;256:7234;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5580:47;256:7234;;;;;;;;;;;;;;;5518:27;256:7234;;;;;;;5580:47;:::i;:::-;;;256:7234;5580:47;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5580:47;256:7234;;;;;;;;;;;;;;;5580:47;:::i;256:7234::-;;;;;;;;5518:27;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;4508:18:18;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;345:39:0;256:7234:1;;;;;;;;;-1:-1:-1;;256:7234:1;;;;4525:10;256:7234;;4490:33;256:7234;;:::i;:::-;;1813:109;-1:-1:-1;;;;;1848:16:1;256:7234;1848:16;:::i;:::-;256:7234;1834:10;:30;1813:109;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;:::i;:::-;4490:33;;:::i;:::-;4525:10;:::i;:::-;256:7234;;;;;;;-1:-1:-1;;256:7234:1;;;;5360:7:16;256:7234:1;;;;:::i;:::-;;;;;4478:6:16;256:7234:1;;2516:4:16;256:7234:1;;;;4478:22:16;256:7234:1;2516:4:16;:::i;:::-;5360:7;:::i;256:7234:1:-;;;;;;;:::i;:::-;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;6081:5;256:7234;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6128:33;256:7234;;;;;;;;;;;;;;;;;;;;;;6128:33;:::i;:::-;;;256:7234;6128:33;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6128:33;256:7234;;;;;;;;;;;;;;6128:33;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;;;13547:16:18;13539:53;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;3333:16:1;;;:::i;:::-;256:7234;;;;3377:5;256:7234;;;;;;;3591:39;;-1:-1:-1;;;;;256:7234:1;3591:39;:::i;:::-;3923:17;;;256:7234;;;;;3912:10;;;256:7234;;;;;;;;;3923:17;4023:44;;;;3923:17;256:7234;10026:6:29;256:7234:1;10017:15:29;;;;10013:99;;256:7234:1;10138:6:29;;;;10129:15;;;;10125:99;;256:7234:1;10250:6:29;;;10241:15;;;;10237:99;;256:7234:1;10362:5:29;;10353:14;;;;10349:96;;256:7234:1;10471:5:29;;10462:14;;;;10458:96;;256:7234:1;10571:14:29;10580:5;10571:14;;;10567:96;;256:7234:1;10689:5:29;10680:14;;;;;;10676:64;;256:7234:1;699:76:26;595:18;256:7234:1;;;595:18:26;:::i;:::-;627:11;699:76;;;788:280;256:7234:1;;;788:280:26;-1:-1:-1;;256:7234:1;;-1:-1:-1;;;3425:797:1;;;256:7234;-1:-1:-1;;;699:76:26;256:7234:1;;;;;;3425:797;;-1:-1:-1;256:7234:1;;;;;;:::i;:::-;-1:-1:-1;;;256:7234:1;;;-1:-1:-1;;;3727:9:1;256:7234;;;;;;;;;3539:15;;256:7234;:::i;:::-;;;;-1:-1:-1;;;3727:9:1;256:7234;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3674:16;;256:7234;;;;:::i;:::-;;;;;;;3727:9;256:7234;;;;;3727:9;;;256:7234;;;;:::i;:::-;;;;-1:-1:-1;;;3727:9:1;256:7234;;;;;;;;;;;;;;;;3834:7;256:7234;:::i;:::-;-1:-1:-1;;;256:7234:1;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;-1:-1:-1;;;256:7234:1;;3425:797;;;;;;256:7234;3425:797;;;;;:::i;:::-;256:7234;;;;;;:::i;:::-;;;;;;;;;;;4276:24;;;:::i;:::-;256:7234;;;;;;4247:54;;;;;256:7234;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;4247:54;;;;;;;;;:::i;:::-;256:7234;;;;;;;;;;;;;:::i;:::-;;;;788:280:26;-1:-1:-1;;256:7234:1;;;;-1:-1:-1;;;893:93:26;;;;256:7234:1;893:93:26;345:66:23;1003:11:26;;;788:280;1032:21;1048:5;;;10676:64:29;256:7234:1;;;10676:64:29;;;;10567:96;345:66:23;;10580:5:29;3727:9:1;345:66:23;;256:7234:1;;10567:96:29;;;10458;256:7234:1;345:66:23;;;;256:7234:1;;10458:96:29;;;;10349;3377:5:1;345:66:23;;;;256:7234:1;;10349:96:29;;;;10237:99;10319:2;345:66:23;;;;256:7234:1;;10237:99:29;;;;10125;256:7234:1;;;345:66:23;;;;10125:99:29;;;;10013;256:7234:1;;-1:-1:-1;345:66:23;;-1:-1:-1;10013:99:29;;;;256:7234:1;;;;;;-1:-1:-1;;256:7234:1;;;;4973:10;256:7234;;4938:33;256:7234;;:::i;:::-;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;:::i;:::-;644:10:0;256:7234:1;;;;;;;;;;;;;;;;;;;2298:9;256:7234;;-1:-1:-1;;;;;256:7234:1;;9170:16:18;256:7234:1;;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;4525:10;;9242:16:18;9233:58;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;9242:16;9241:17;9233:58;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;9437:58:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;9446:16;7256:126;9437:58;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;256:7234:1;;;;;;;-1:-1:-1;;;;;;256:7234:1;;;;;;;;9913:33:18;256:7234:1;;9913:33:18;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;4490:33:1;256:7234;;:::i;:::-;4490:33;;:::i;4525:10::-;256:7234;2298:9;256:7234;;2298:9;256:7234;;;;2447:5;256:7234;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;2496:15;;256:7234;;2496:15;;256:7234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2496:15;;256:7234;;;;;-1:-1:-1;;;;;256:7234:1;;;;2535:9;;256:7234;9876:7:18;2535:9:1;;256:7234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;2535:9:1;;256:7234;;;;;-1:-1:-1;;;;;256:7234:1;;;;2562:16;;256:7234;;2562:16;;256:7234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2562:16;;256:7234;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;2603:7;;256:7234;;:::i;:::-;;;;;;;;;;;;;;;;;3004:6:16;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;2603:7;;256:7234;;;2791:17;;;256:7234;;;;;;;:::i;:::-;;;;2838:34;;256:7234;;;;;;2822:10;256:7234;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2791:17;256:7234;;;;;;;;;;;2791:17;256:7234;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2791:17;256:7234;;;;;;;;;;;2791:17;256:7234;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;2603:7;256:7234;2603:7;;256:7234;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;2603:7;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:7;256:7234;2603:7;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;2562:16;;256:7234;2562:16;;256:7234;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;2562:16;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2562:16;256:7234;2562:16;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;2535:9;;9876:7:18;2535:9:1;;256:7234;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;9876:7:18;2535:9:1;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2535:9;9876:7:18;2535:9:1;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;2496:15;;256:7234;2496:15;;256:7234;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;2496:15;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2496:15;256:7234;2496:15;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;719:10:24;13216:17:18;;256:7234:1;;719:10:24;256:7234:1;;13273:18:18;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:41:18;256:7234:1;719:10:24;13334:41:18;;256:7234:1;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;242:34:0;256:7234:1;;;;;;;:::i;:::-;;;1813:109;-1:-1:-1;;;;;1848:16:1;256:7234;1848:16;:::i;1813:109::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;1146:33:0;256:7234:1;;:::i;:::-;1146:33:0;;:::i;:::-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1834:10;256:7234;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;;;:::i;:::-;;;;7037:36;;;256:7234;;;;;;6981:5;256:7234;;3004:6:16;256:7234:1;;;6981:21;7005:28;256:7234;;;7005:28;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7088:31;256:7234;;;;;;;;;;;;;;;;;;;7088:31;:::i;:::-;;;256:7234;7088:31;;256:7234;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7088:31;256:7234;;;;;;;;;;;;;;;7088:31;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:28;256:7234;;;;;;;;;;;7005:28;256:7234;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:28;256:7234;;;;;;;;;7005:28;256:7234;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;2721:7:18;256:7234:1;;;;;;:::i;:::-;;;;;;;;;2721:7:18;;;;256:7234:1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;256:7234:1;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;-1:-1:-1;256:7234:1;;-1:-1:-1;256:7234:1;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;5815:5;256:7234;;;;;;5815:18;256:7234;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5860:31;256:7234;;;;;;;;;;;;;;;;;;;;;;5860:31;:::i;:::-;;;256:7234;5860:31;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;5860:31;256:7234;;;;;;;;;;;;;;5860:31;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;-1:-1:-1;;;;;256:7234:1;;:::i;:::-;;2028:19:18;;256:7234:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;6665:5;256:7234;;6665:20;256:7234;;;6665:20;256:7234;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6714:35;256:7234;;;;;;;;;;;;;;;;;;;;;;6714:35;:::i;:::-;;;256:7234;6714:35;;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;6714:35;256:7234;;;;;;;;;;;;;;6714:35;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;256:7234:1;;-1:-1:-1;;;;;7234:109:1;1181:10:0;256:7234:1;7255:16;256:7234;7255:16;:::i;:::-;256:7234;7255:30;7234:109;:::i;:::-;10412:23:18;;;:::i;:::-;;10607;;;:::i;:::-;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:7:18;256:7234:1;;;;;;;;;;;10995:36:18;;;;7394:5:1;256:7234;;;;;;;7394:27;256:7234;;:::i;:::-;7384:98;;256:7234;7384:98;7394:5;256:7234;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;10963:7:18;256:7234:1;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;5137:39:18;256:7234:1;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5137:39:18;:::i;256:7234:1:-;;;;;;;:::i;:::-;;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;;;:::i;:::-;;;;7037:36;;;256:7234;;;;;;6981:5;256:7234;;3004:6:16;256:7234:1;;;6981:21;7005:28;256:7234;;;7005:28;256:7234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7088:31;256:7234;;;;;;;;;;;;;;;;;;7088:31;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7088:31;256:7234;;;;;;;;;;;;;;7088:31;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:28;256:7234;;;;;;;;;;7005:28;256:7234;;;;:::i;:::-;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:28;256:7234;;;;;;;;;7005:28;256:7234;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;719:10:24;-1:-1:-1;;;;;256:7234:1;;6007:23:16;256:7234:1;;6111:7:16;256:7234:1;;;6111:7:16;:::i;256:7234:1:-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;4933:7:16;256:7234:1;;;;:::i;:::-;;;;;4478:6:16;256:7234:1;;2516:4:16;256:7234:1;;;;4478:22:16;256:7234:1;2516:4:16;:::i;256:7234:1:-;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;4478:6:16;256:7234:1;;;;;;;4478:22:16;256:7234:1;;;;;;;;;;;;;;:::i;:::-;;1146:33:0;256:7234:1;;:::i;1146:33:0:-;256:7234:1;;;;3004:6:16;256:7234:1;;;;;1181:10:0;256:7234:1;;;;1116:144:0;256:7234:1;;;;;;1116:144:0;:::i;:::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;256:7234:1;;;6365:5;256:7234;;6365:26;256:7234;;;;6365:26;256:7234;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;6426:47;256:7234;;;;;;;;;;;;;;;;;;;;;6426:47;:::i;:::-;;;256:7234;6426:47;;256:7234;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6426:47;256:7234;;;;;;;;;;;;6426:47;:::i;256:7234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4923:7:18;256:7234:1;;;:::i;:::-;719:10:24;4793:99:18;4801:41;719:10:24;;4801:41:18;:::i;:::-;4793:99;:::i;:::-;4923:7;:::i;256:7234:1:-;;;;;;-1:-1:-1;;256:7234:1;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;256:7234:1;;3564:23:18;256:7234:1;3564:23:18;:::i;:::-;256:7234:1;;;3605:11:18;;;;256:7234:1;;719:10:24;;3686:21:18;:62;;;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;256:7234:1;;;;;12895:23:18;256:7234:1;12895:23:18;:::i;:::-;256:7234:1;12886:46:18;256:7234:1;12886:46:18;;256:7234:1;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:18;256:7234:1;;;;4508:18:18;256:7234:1;;;;;719:10:24;256:7234:1;;;;;;;;;;3686:62:18;;;256:7234:1;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;256:7234:1;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2714:47:16;;;:87;;;;256:7234:1;;;;;;;2714:87:16;-1:-1:-1;;;1707:40:18;;;-1:-1:-1;1707:104:18;;;;2714:87:16;1707:156:18;;;;2714:87:16;;;;;1707:156:18;-1:-1:-1;;;937:40:27;;-1:-1:-1;1707:156:18;;;:104;-1:-1:-1;;;1763:48:18;;;-1:-1:-1;1707:104:18;;256:7234:1;;;;;;;;-1:-1:-1;;256:7234:1;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;256:7234:1;;;;:::o;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;256:7234:1;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;:::o;:::-;-1:-1:-1;;;;;256:7234:1;;;;;;-1:-1:-1;;256:7234:1;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;256:7234:1;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;-1:-1:-1;;256:7234:1;;;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;:::i;:::-;;-1:-1:-1;;256:7234:1;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;256:7234:1;;;;-1:-1:-1;256:7234:1;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;256:7234:1;;;-1:-1:-1;;;256:7234:1;;;;;;;;-1:-1:-1;256:7234:1;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;256:7234:1;;;;:::o;1288:192:0:-;1430:41;;256:7234:1;;1430:41:0;;;;;256:7234:1;-1:-1:-1;;;256:7234:1;;;;;;;1430:41:0;256:7234:1;;;;;;:::i;:::-;;;;;;;;1430:41:0;256:7234:1;1430:41:0;;;;;;;:::i;:::-;256:7234:1;1420:52:0;;1288:192;:::o;256:7234:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;3334:103:16:-;-1:-1:-1;256:7234:1;;;;;;3004:6:16;256:7234:1;;;;;;;719:10:24;256:7234:1;;;;;;;;;;3805:23:16;3801:390;;3334:103;;;;:::o;3801:390::-;2192:52:26;719:10:24;2192:52:26;:::i;:::-;4088:38:16;256:7234:1;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;345:66:23;256:7234:1;345:66:23;;;256:7234:1;;;;;1670:15:26;;;256:7234:1;;;;;;;;;;;1695:15:26;256:7234:1;;;1695:15:26;256:7234:1;1720:128:26;1753:5;;;;;;1865:10;;;246:18;;256:7234:1;;;;;3896:252:16;256:7234:1;;;;3896:252:16;;;256:7234:1;3896:252:16;;;256:7234:1;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;:::i;:::-;;3896:252:16;;;;;;;;;:::i;:::-;256:7234:1;;;;;;;3844:336:16;;1836:1:26;3844:336:16;;256:7234:1;;;;;;:::i;:::-;3844:336:16;;;246:18:26;;256:7234:1;;;;;;;246:18:26;;;1836:1;246:18;;;;;;256:7234:1;246:18:26;256:7234:1;;;246:18:26;;1760:3;1800:11;;;1808:3;1800:11;;1791:21;;;;;;-1:-1:-1;;;1791:21:26;;1779:33;;;;:::i;:::-;;1836:1;256:7234:1;1760:3:26;256:7234:1;;;;-1:-1:-1;;256:7234:1;;1725:26:26;;;256:7234:1;-1:-1:-1;;;256:7234:1;;;1836:1:26;256:7234:1;;;;1791:21:26;-1:-1:-1;;;256:7234:1;;;1836:1:26;256:7234:1;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;;7461:233:16;;-1:-1:-1;256:7234:1;;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;7543:23:16;7539:149;;7461:233;;;:::o;7539:149::-;256:7234:1;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;;;;;;7637:40:16;719:10:24;7637:40:16;;;7461:233::o;7865:234::-;;-1:-1:-1;256:7234:1;;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;7944:149:16;;7865:234;;;:::o;7944:149::-;256:7234:1;;;3004:6:16;256:7234:1;;;;;;;;;;;;;;;;;;;;8042:40:16;719:10:24;8042:40:16;;;7865:234::o;256:7234:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;2190:219:18;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;-1:-1:-1;;;;;256:7234:1;2324:56:18;2332:19;;;2324:56;:::i;3935:167::-;-1:-1:-1;256:7234:1;;;6930:7:18;256:7234:1;;;;;;13539:53:18;;-1:-1:-1;;;;;256:7234:1;7344:31:18;;13539:53;:::i;:::-;-1:-1:-1;256:7234:1;;;4071:15:18;256:7234:1;;;;;;-1:-1:-1;;;;;256:7234:1;;3935:167:18:o;256:7234:1:-;;;;:::o;:::-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;5249:314:18;;6620:47;5249:314;;;5409:99;5417:41;719:10:24;;5417:41:18;:::i;5409:99::-;6594:7;;;;;:::i;:::-;6620:47;:::i;:::-;256:7234:1;;;5249:314:18:o;256:7234:1:-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;3844:336:16;7540:261:18;;-1:-1:-1;;;;;256:7234:1;;7665:23:18;7540:261;7665:23;:::i;:::-;256:7234:1;;;7706:16:18;;;;:52;;;;;7540:261;7706:87;;;;;7540:261;7698:96;;;7540:261;:::o;7706:87::-;7762:20;;;;;;:::i;:::-;256:7234:1;7762:31:18;7706:87;;;;;:52;256:7234:1;;;-1:-1:-1;256:7234:1;4508:18:18;256:7234:1;;;-1:-1:-1;256:7234:1;;-1:-1:-1;256:7234:1;;;;;-1:-1:-1;256:7234:1;;;7706:52:18;;;;256:7234:1;;;;:::o;:::-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;11423:1233:18;;11542:81;11423:1233;11550:23;;;:::i;:::-;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;11550:31:18;;11542:81;:::i;:::-;256:7234:1;11641:16:18;;;256:7234:1;;11851:23:18;11843:81;11851:23;;;;:::i;:::-;256:7234:1;11851:31:18;11843:81;:::i;:::-;12570:27;11655:1;256:7234:1;;;11993:15:18;256:7234:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12533:7:18;256:7234:1;;;;;;;;;;;;;12570:27:18;;11423:1233::o;256:7234:1:-;;;-1:-1:-1;;;256:7234:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;;14151:831:18;;;256:7234:1;;14151:831:18;;;1465:19:22;;:23;:19;;256:7234:1;;;;;;;;;;;;;;14355:71:18;;;;719:10:24;14355:71:18;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;14355:71:18;;256:7234:1;;;;;;;;:::i;:::-;14355:71:18;256:7234:1;;14355:71:18;;;;;;;14316:660;-1:-1:-1;14351:573:18;;14543:381;;;256:7234:1;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14593:18:18;;;256:7234:1;;-1:-1:-1;;;14635:60:18;;256:7234:1;14355:71:18;14635:60;;256:7234:1;;;;;;;;;;;-1:-1:-1;;;256:7234:1;;;;;;3844:336:16;14589:321:18;14797:95;;256:7234:1;;;;;14351:573:18;-1:-1:-1;;;;;;256:7234:1;14476:51:18;;-1:-1:-1;256:7234:1;-1:-1:-1;14469:58:18:o;14355:71::-;;;;;;;;;;;;;;;;;:::i;:::-;;;256:7234:1;;;;;-1:-1:-1;;;;;;256:7234:1;;;;;;14355:71:18;;;;256:7234:1;;;;14355:71:18;;;;;14316:660;14954:11;;;;;;14961:4;14954:11;:::o;345:66:23:-;;256:7234:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;345:66:23;256:7234:1;345:66:23;256:7234:1;;345:66:23;;:::i;:::-;;;;;;;;:::o;505:3026::-;256:7234:1;;795:16:23;791:31;;256:7234:1;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;;;;;;;;;1357:1:23;256:7234:1;;;;;;;;;1362:1:23;;345:66;;;-1:-1:-1;;;;;256:7234:1;;;;;;1326:39:23;256:7234:1;;;;;1326:39:23;:::i;:::-;1419:2082;256:7234:1;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;1362:1;1419:2082;1362:1;;;1419:2082;;;;3511:13;505:3026;:::o;1419:2082::-;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;-1:-1:-1;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;;1337:1;1419:2082;;;;;;;;;;256:7234:1;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:31;256:7234:1;;;;;;:::i;:::-;810:1:23;256:7234:1;;813:9:23;:::o;256:7234:1:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1513:437:26;256:7234:1;;;;;;;;;-1:-1:-1;;;;;256:7234:1;;;;;;;;;;;;;;345:66:23;;;256:7234:1;;;;;1670:15:26;;;256:7234:1;;;;;;;;;1695:15:26;256:7234:1;;;1695:15:26;256:7234:1;1720:128:26;1753:5;;;;;;1865:10;;246:18;;1513:437;:::o;246:18::-;;256:7234:1;;;;;246:18:26;;256:7234:1;1836:1:26;246:18;;;256:7234:1;246:18:26;;;256:7234:1;246:18:26;256:7234:1;;;246:18:26;;1760:3;1800:11;;1808:3;1800:11;;1791:21;;;;;;-1:-1:-1;;;1791:21:26;;1779:33;;;;:::i;:::-;;1836:1;256:7234:1;1760:3:26;256:7234:1;;;;-1:-1:-1;;256:7234:1;;1725:26:26;;256:7234:1;;;;;;;;;1836:1:26;256:7234:1;;1791:21:26;256:7234:1;;;;;;;;1836:1:26;256:7234:1;", "linkReferences": {} }, "methodIdentifiers": { @@ -955,7 +955,7 @@ "transferFrom(address,address,uint256)": "23b872dd", "upgradeTokenBuild(uint256,string,string)": "987c26fd" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"commit_hash\",\"type\":\"string\"}],\"name\":\"NewBuild\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"NewTokenDescription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"}],\"name\":\"NewTokenENS\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"external_url\",\"type\":\"string\"}],\"name\":\"NewTokenExternalURL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"}],\"name\":\"NewTokenImage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NewTokenName\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"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\":\"COLLECTION_CONTROLLER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COLLECTION_OWNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"external_url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"commit_hash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"git_repository\",\"type\":\"string\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"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\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_commit_hash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_git_repository\",\"type\":\"string\"}],\"name\":\"setTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenDescription\",\"type\":\"string\"}],\"name\":\"setTokenDescription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenENS\",\"type\":\"string\"}],\"name\":\"setTokenENS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenExternalURL\",\"type\":\"string\"}],\"name\":\"setTokenExternalURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenImage\",\"type\":\"string\"}],\"name\":\"setTokenImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"}],\"name\":\"setTokenName\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"commit\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"repository\",\"type\":\"string\"}],\"name\":\"upgradeTokenBuild\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FleekERC721.sol\":\"FleekERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0x40cbb25741c2d6e285ab2ccee87f38fab424ce3746a17bca274a23c098f5e5c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d495490984bf70d90d9f48d9fbee2480f62b8d796d2b5cd623ff3ee632e47a\",\"dweb:/ipfs/QmXuMpMizsvU1QiEDD3cqs1wen9pdSqSNBeSb112pQDpKd\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0x409354da49313770cfed999d7303466ebf0d7b7fff2340b7065a91948ba5987a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0db540d6884242b6e9051392687f5a622224aafc0b6f44dc6708846073bf9d7c\",\"dweb:/ipfs/QmZE363as7XuPvTBEaa3XfeW1JigYT47waD629TWqfpfQG\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"commit_hash\",\"type\":\"string\"}],\"name\":\"NewBuild\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"NewTokenDescription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"}],\"name\":\"NewTokenENS\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"external_url\",\"type\":\"string\"}],\"name\":\"NewTokenExternalURL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"}],\"name\":\"NewTokenImage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NewTokenName\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"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\":\"COLLECTION_CONTROLLER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COLLECTION_OWNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"external_url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"commit_hash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"git_repository\",\"type\":\"string\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"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\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_commit_hash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_git_repository\",\"type\":\"string\"}],\"name\":\"setTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenDescription\",\"type\":\"string\"}],\"name\":\"setTokenDescription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenENS\",\"type\":\"string\"}],\"name\":\"setTokenENS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenExternalURL\",\"type\":\"string\"}],\"name\":\"setTokenExternalURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenImage\",\"type\":\"string\"}],\"name\":\"setTokenImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"}],\"name\":\"setTokenName\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"commit\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"repository\",\"type\":\"string\"}],\"name\":\"upgradeTokenBuild\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FleekERC721.sol\":\"FleekERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0x40cbb25741c2d6e285ab2ccee87f38fab424ce3746a17bca274a23c098f5e5c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d495490984bf70d90d9f48d9fbee2480f62b8d796d2b5cd623ff3ee632e47a\",\"dweb:/ipfs/QmXuMpMizsvU1QiEDD3cqs1wen9pdSqSNBeSb112pQDpKd\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0x9e4fcee55fe6e907ced49d15fffd1fc62e48a0b4b25bd97b9ea5b5b127ce9623\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fcc0c13cf0219a100d124ad7553fe3576975d0ac88e40b2de80659e26eedae2\",\"dweb:/ipfs/QmTn88WiAnyNBsWVayYDtJn2G4zooALvgXymvch8fksvka\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" @@ -1952,10 +1952,10 @@ "license": "MIT" }, "contracts/FleekERC721.sol": { - "keccak256": "0x409354da49313770cfed999d7303466ebf0d7b7fff2340b7065a91948ba5987a", + "keccak256": "0x9e4fcee55fe6e907ced49d15fffd1fc62e48a0b4b25bd97b9ea5b5b127ce9623", "urls": [ - "bzz-raw://0db540d6884242b6e9051392687f5a622224aafc0b6f44dc6708846073bf9d7c", - "dweb:/ipfs/QmZE363as7XuPvTBEaa3XfeW1JigYT47waD629TWqfpfQG" + "bzz-raw://6fcc0c13cf0219a100d124ad7553fe3576975d0ac88e40b2de80659e26eedae2", + "dweb:/ipfs/QmTn88WiAnyNBsWVayYDtJn2G4zooALvgXymvch8fksvka" ], "license": "MIT" }, @@ -2076,59 +2076,59 @@ }, "ast": { "absolutePath": "contracts/FleekERC721.sol", - "id": 726, + "id": 746, "exportedSymbols": { "AccessControl": [ - 25701 + 25721 ], "Address": [ - 27210 + 27230 ], "Base64": [ - 27257 + 27277 ], "Context": [ - 27279 + 27299 ], "Counters": [ - 27353 + 27373 ], "ERC165": [ - 27552 + 27572 ], "ERC721": [ - 26719 + 26739 ], "FleekAccessControl": [ 99 ], "FleekERC721": [ - 725 + 745 ], "IAccessControl": [ - 25774 + 25794 ], "IERC165": [ - 27564 + 27584 ], "IERC721": [ - 26835 + 26855 ], "IERC721Metadata": [ - 26880 + 26900 ], "IERC721Receiver": [ - 26853 + 26873 ], "Math": [ - 28429 + 28449 ], "Strings": [ - 27528 + 27548 ] }, "nodeType": "SourceUnit", - "src": "33:7247:1", + "src": "33:7458:1", "nodes": [ { "id": 101, @@ -2150,8 +2150,8 @@ "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 726, - "sourceUnit": 26720, + "scope": 746, + "sourceUnit": 26740, "symbolAliases": [], "unitAlias": "" }, @@ -2163,8 +2163,8 @@ "absolutePath": "node_modules/@openzeppelin/contracts/utils/Counters.sol", "file": "@openzeppelin/contracts/utils/Counters.sol", "nameLocation": "-1:-1:-1", - "scope": 726, - "sourceUnit": 27354, + "scope": 746, + "sourceUnit": 27374, "symbolAliases": [], "unitAlias": "" }, @@ -2176,8 +2176,8 @@ "absolutePath": "node_modules/@openzeppelin/contracts/utils/Base64.sol", "file": "@openzeppelin/contracts/utils/Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 726, - "sourceUnit": 27258, + "scope": 746, + "sourceUnit": 27278, "symbolAliases": [], "unitAlias": "" }, @@ -2189,15 +2189,15 @@ "absolutePath": "contracts/FleekAccessControl.sol", "file": "./FleekAccessControl.sol", "nameLocation": "-1:-1:-1", - "scope": 726, + "scope": 746, "sourceUnit": 100, "symbolAliases": [], "unitAlias": "" }, { - "id": 725, + "id": 745, "nodeType": "ContractDefinition", - "src": "256:7023:1", + "src": "256:7234:1", "nodes": [ { "id": 112, @@ -2212,7 +2212,7 @@ "319:7:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 27528, + "referencedDeclaration": 27548, "src": "319:7:1" }, "typeName": { @@ -2239,7 +2239,7 @@ "350:8:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 27353, + "referencedDeclaration": 27373, "src": "350:8:1" }, "typeName": { @@ -2253,13 +2253,13 @@ "372:7:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 27285, + "referencedDeclaration": 27305, "src": "363:16:1" }, - "referencedDeclaration": 27285, + "referencedDeclaration": 27305, "src": "363:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$27285_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$27305_storage_ptr", "typeString": "struct Counters.Counter" } } @@ -2766,7 +2766,7 @@ ], "name": "Build", "nameLocation": "843:5:1", - "scope": 725, + "scope": 745, "visibility": "public" }, { @@ -2997,7 +2997,7 @@ ], "name": "App", "nameLocation": "1126:3:1", - "scope": 725, + "scope": 745, "visibility": "public" }, { @@ -3009,11 +3009,11 @@ "mutability": "mutable", "name": "_tokenIds", "nameLocation": "1591:9:1", - "scope": 725, + "scope": 745, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$27285_storage", + "typeIdentifier": "t_struct$_Counter_$27305_storage", "typeString": "struct Counters.Counter" }, "typeName": { @@ -3027,13 +3027,13 @@ "1575:7:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 27285, + "referencedDeclaration": 27305, "src": "1566:16:1" }, - "referencedDeclaration": 27285, + "referencedDeclaration": 27305, "src": "1566:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$27285_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$27305_storage_ptr", "typeString": "struct Counters.Counter" } }, @@ -3048,7 +3048,7 @@ "mutability": "mutable", "name": "_apps", "nameLocation": "1638:5:1", - "scope": 725, + "scope": 745, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3147,7 +3147,7 @@ "1728:6:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 26719, + "referencedDeclaration": 26739, "src": "1728:6:1" }, "nodeType": "ModifierInvocation", @@ -3223,7 +3223,7 @@ "parameters": [], "src": "1751:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -3307,7 +3307,7 @@ "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25920, + "referencedDeclaration": 25940, "src": "1848:7:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", @@ -3447,12 +3447,12 @@ { "id": 312, "nodeType": "FunctionDefinition", - "src": "1946:957:1", + "src": "1946:958:1", "nodes": [], "body": { "id": 311, "nodeType": "Block", - "src": "2270:633:1", + "src": "2270:634:1", "nodes": [], "statements": [ { @@ -3501,7 +3501,7 @@ "referencedDeclaration": 178, "src": "2298:9:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$27285_storage", + "typeIdentifier": "t_struct$_Counter_$27305_storage", "typeString": "struct Counters.Counter storage ref" } }, @@ -3513,10 +3513,10 @@ "memberLocation": "2308:7:1", "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 27297, + "referencedDeclaration": 27317, "src": "2298:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27285_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27285_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27305_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27305_storage_ptr_$", "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" } }, @@ -3582,7 +3582,7 @@ "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26375, + "referencedDeclaration": 26395, "src": "2327:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -3618,7 +3618,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 235, - "src": "2374:7:1", + "src": "2375:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3630,7 +3630,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 213, - "src": "2383:2:1", + "src": "2384:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3649,11 +3649,11 @@ } ], "id": 245, - "name": "addTokenController", + "name": "_addTokenController", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "2355:18:1", + "referencedDeclaration": 481, + "src": "2355:19:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" @@ -3668,7 +3668,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2355:31:1", + "src": "2355:32:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -3677,7 +3677,7 @@ }, "id": 249, "nodeType": "ExpressionStatement", - "src": "2355:31:1" + "src": "2355:32:1" }, { "expression": { @@ -3690,9 +3690,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, - "src": "2396:9:1", + "src": "2397:9:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$27285_storage", + "typeIdentifier": "t_struct$_Counter_$27305_storage", "typeString": "struct Counters.Counter storage ref" } }, @@ -3701,13 +3701,13 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2406:9:1", + "memberLocation": "2407:9:1", "memberName": "increment", "nodeType": "MemberAccess", - "referencedDeclaration": 27311, - "src": "2396:19:1", + "referencedDeclaration": 27331, + "src": "2397:19:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$27285_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$27285_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$27305_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$27305_storage_ptr_$", "typeString": "function (struct Counters.Counter storage pointer)" } }, @@ -3720,7 +3720,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2396:21:1", + "src": "2397:21:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -3729,7 +3729,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "2396:21:1" + "src": "2397:21:1" }, { "assignments": [ @@ -3741,10 +3741,10 @@ "id": 257, "mutability": "mutable", "name": "app", - "nameLocation": "2440:3:1", + "nameLocation": "2441:3:1", "nodeType": "VariableDeclaration", "scope": 311, - "src": "2428:15:1", + "src": "2429:15:1", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -3758,14 +3758,14 @@ "id": 255, "name": "App", "nameLocations": [ - "2428:3:1" + "2429:3:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 175, - "src": "2428:3:1" + "src": "2429:3:1" }, "referencedDeclaration": 175, - "src": "2428:3:1", + "src": "2429:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App" @@ -3782,7 +3782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "2446:5:1", + "src": "2447:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" @@ -3795,7 +3795,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 235, - "src": "2452:7:1", + "src": "2453:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3806,14 +3806,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2446:14:1", + "src": "2447:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2428:32:1" + "src": "2429:32:1" }, { "expression": { @@ -3829,7 +3829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2470:3:1", + "src": "2471:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -3840,11 +3840,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2474:4:1", + "memberLocation": "2475:4:1", "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 159, - "src": "2470:8:1", + "src": "2471:8:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3858,13 +3858,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "2481:4:1", + "src": "2482:4:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2470:15:1", + "src": "2471:15:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3872,7 +3872,7 @@ }, "id": 267, "nodeType": "ExpressionStatement", - "src": "2470:15:1" + "src": "2471:15:1" }, { "expression": { @@ -3888,7 +3888,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2495:3:1", + "src": "2496:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -3899,11 +3899,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2499:11:1", + "memberLocation": "2500:11:1", "memberName": "description", "nodeType": "MemberAccess", "referencedDeclaration": 161, - "src": "2495:15:1", + "src": "2496:15:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3917,13 +3917,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2513:11:1", + "src": "2514:11:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2495:29:1", + "src": "2496:29:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3931,7 +3931,7 @@ }, "id": 273, "nodeType": "ExpressionStatement", - "src": "2495:29:1" + "src": "2496:29:1" }, { "expression": { @@ -3947,7 +3947,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2534:3:1", + "src": "2535:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -3958,11 +3958,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2538:5:1", + "memberLocation": "2539:5:1", "memberName": "image", "nodeType": "MemberAccess", "referencedDeclaration": 163, - "src": "2534:9:1", + "src": "2535:9:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3976,13 +3976,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, - "src": "2546:5:1", + "src": "2547:5:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2534:17:1", + "src": "2535:17:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3990,7 +3990,7 @@ }, "id": 279, "nodeType": "ExpressionStatement", - "src": "2534:17:1" + "src": "2535:17:1" }, { "expression": { @@ -4006,7 +4006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2561:3:1", + "src": "2562:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -4017,11 +4017,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2565:12:1", + "memberLocation": "2566:12:1", "memberName": "external_url", "nodeType": "MemberAccess", "referencedDeclaration": 165, - "src": "2561:16:1", + "src": "2562:16:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4035,13 +4035,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 221, - "src": "2580:12:1", + "src": "2581:12:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2561:31:1", + "src": "2562:31:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4049,7 +4049,7 @@ }, "id": 285, "nodeType": "ExpressionStatement", - "src": "2561:31:1" + "src": "2562:31:1" }, { "expression": { @@ -4065,7 +4065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2602:3:1", + "src": "2603:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -4076,11 +4076,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2606:3:1", + "memberLocation": "2607:3:1", "memberName": "ENS", "nodeType": "MemberAccess", "referencedDeclaration": 167, - "src": "2602:7:1", + "src": "2603:7:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4094,13 +4094,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 223, - "src": "2612:3:1", + "src": "2613:3:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2602:13:1", + "src": "2603:13:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4108,7 +4108,7 @@ }, "id": 291, "nodeType": "ExpressionStatement", - "src": "2602:13:1" + "src": "2603:13:1" }, { "expression": { @@ -4124,7 +4124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2790:3:1", + "src": "2791:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -4135,11 +4135,11 @@ "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "2794:13:1", + "memberLocation": "2795:13:1", "memberName": "current_build", "nodeType": "MemberAccess", "referencedDeclaration": 169, - "src": "2790:17:1", + "src": "2791:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4156,14 +4156,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2810:1:1", + "src": "2811:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2790:21:1", + "src": "2791:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4171,7 +4171,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "2790:21:1" + "src": "2791:21:1" }, { "expression": { @@ -4188,7 +4188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 257, - "src": "2821:3:1", + "src": "2822:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -4199,11 +4199,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2825:6:1", + "memberLocation": "2826:6:1", "memberName": "builds", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "2821:10:1", + "src": "2822:10:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Build_$157_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.Build storage ref)" @@ -4219,7 +4219,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2832:1:1", + "src": "2833:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -4231,7 +4231,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2821:13:1", + "src": "2822:13:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" @@ -4247,7 +4247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 225, - "src": "2843:11:1", + "src": "2844:11:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4259,7 +4259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 227, - "src": "2856:14:1", + "src": "2857:14:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4282,7 +4282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 157, - "src": "2837:5:1", + "src": "2838:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Build_$157_storage_ptr_$", "typeString": "type(struct FleekERC721.Build storage pointer)" @@ -4297,14 +4297,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2837:34:1", + "src": "2838:34:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_memory_ptr", "typeString": "struct FleekERC721.Build memory" } }, - "src": "2821:50:1", + "src": "2822:50:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" @@ -4312,7 +4312,7 @@ }, "id": 308, "nodeType": "ExpressionStatement", - "src": "2821:50:1" + "src": "2822:50:1" }, { "expression": { @@ -4321,7 +4321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 235, - "src": "2889:7:1", + "src": "2890:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4330,7 +4330,7 @@ "functionReturnParameters": 233, "id": 310, "nodeType": "Return", - "src": "2882:14:1" + "src": "2883:14:1" } ] }, @@ -4615,7 +4615,7 @@ ], "src": "2260:9:1" }, - "scope": 725, + "scope": 745, "stateMutability": "payable", "virtual": false, "visibility": "public" @@ -4623,12 +4623,12 @@ { "id": 335, "nodeType": "FunctionDefinition", - "src": "2909:256:1", + "src": "2910:256:1", "nodes": [], "body": { "id": 334, "nodeType": "Block", - "src": "3073:92:1", + "src": "3074:92:1", "nodes": [], "statements": [ { @@ -4640,7 +4640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 314, - "src": "3098:7:1", + "src": "3099:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4658,8 +4658,8 @@ "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "3083:14:1", + "referencedDeclaration": 26617, + "src": "3084:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" @@ -4674,7 +4674,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3083:23:1", + "src": "3084:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -4683,7 +4683,7 @@ }, "id": 327, "nodeType": "ExpressionStatement", - "src": "3083:23:1" + "src": "3084:23:1" }, { "expression": { @@ -4694,7 +4694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 314, - "src": "3130:7:1", + "src": "3131:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4706,7 +4706,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 316, - "src": "3139:6:1", + "src": "3140:6:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4718,7 +4718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 318, - "src": "3147:10:1", + "src": "3148:10:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4744,8 +4744,8 @@ "name": "setTokenBuild", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 682, - "src": "3116:13:1", + "referencedDeclaration": 702, + "src": "3117:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory,string memory)" @@ -4760,7 +4760,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3116:42:1", + "src": "3117:42:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -4769,7 +4769,7 @@ }, "id": 333, "nodeType": "ExpressionStatement", - "src": "3116:42:1" + "src": "3117:42:1" } ] }, @@ -4785,7 +4785,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 314, - "src": "3064:7:1", + "src": "3065:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4798,18 +4798,18 @@ "id": 320, "name": "requireTokenOwner", "nameLocations": [ - "3046:17:1" + "3047:17:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 211, - "src": "3046:17:1" + "src": "3047:17:1" }, "nodeType": "ModifierInvocation", - "src": "3046:26:1" + "src": "3047:26:1" } ], "name": "upgradeTokenBuild", - "nameLocation": "2918:17:1", + "nameLocation": "2919:17:1", "parameters": { "id": 319, "nodeType": "ParameterList", @@ -4819,10 +4819,10 @@ "id": 314, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2953:7:1", + "nameLocation": "2954:7:1", "nodeType": "VariableDeclaration", "scope": 335, - "src": "2945:15:1", + "src": "2946:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4833,7 +4833,7 @@ "id": 313, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2945:7:1", + "src": "2946:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4846,10 +4846,10 @@ "id": 316, "mutability": "mutable", "name": "commit", - "nameLocation": "2984:6:1", + "nameLocation": "2985:6:1", "nodeType": "VariableDeclaration", "scope": 335, - "src": "2970:20:1", + "src": "2971:20:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4860,7 +4860,7 @@ "id": 315, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2970:6:1", + "src": "2971:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4873,10 +4873,10 @@ "id": 318, "mutability": "mutable", "name": "repository", - "nameLocation": "3014:10:1", + "nameLocation": "3015:10:1", "nodeType": "VariableDeclaration", "scope": 335, - "src": "3000:24:1", + "src": "3001:24:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4887,7 +4887,7 @@ "id": 317, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3000:6:1", + "src": "3001:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4896,15 +4896,15 @@ "visibility": "internal" } ], - "src": "2935:95:1" + "src": "2936:95:1" }, "returnParameters": { "id": 323, "nodeType": "ParameterList", "parameters": [], - "src": "3073:0:1" + "src": "3074:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "payable", "virtual": false, "visibility": "public" @@ -4912,12 +4912,12 @@ { "id": 438, "nodeType": "FunctionDefinition", - "src": "3171:1137:1", + "src": "3172:1137:1", "nodes": [], "body": { "id": 437, "nodeType": "Block", - "src": "3273:1035:1", + "src": "3274:1035:1", "nodes": [], "statements": [ { @@ -4929,7 +4929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 337, - "src": "3298:7:1", + "src": "3299:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4947,8 +4947,8 @@ "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "3283:14:1", + "referencedDeclaration": 26617, + "src": "3284:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" @@ -4963,7 +4963,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3283:23:1", + "src": "3284:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -4972,7 +4972,7 @@ }, "id": 346, "nodeType": "ExpressionStatement", - "src": "3283:23:1" + "src": "3284:23:1" }, { "assignments": [ @@ -4984,10 +4984,10 @@ "id": 348, "mutability": "mutable", "name": "owner", - "nameLocation": "3324:5:1", + "nameLocation": "3325:5:1", "nodeType": "VariableDeclaration", "scope": 437, - "src": "3316:13:1", + "src": "3317:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4998,7 +4998,7 @@ "id": 347, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3316:7:1", + "src": "3317:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5017,7 +5017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 337, - "src": "3340:7:1", + "src": "3341:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5035,8 +5035,8 @@ "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25920, - "src": "3332:7:1", + "referencedDeclaration": 25940, + "src": "3333:7:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" @@ -5051,7 +5051,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3332:16:1", + "src": "3333:16:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5059,7 +5059,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3316:32:1" + "src": "3317:32:1" }, { "assignments": [ @@ -5071,10 +5071,10 @@ "id": 355, "mutability": "mutable", "name": "app", - "nameLocation": "3370:3:1", + "nameLocation": "3371:3:1", "nodeType": "VariableDeclaration", "scope": 437, - "src": "3358:15:1", + "src": "3359:15:1", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -5088,14 +5088,14 @@ "id": 353, "name": "App", "nameLocations": [ - "3358:3:1" + "3359:3:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 175, - "src": "3358:3:1" + "src": "3359:3:1" }, "referencedDeclaration": 175, - "src": "3358:3:1", + "src": "3359:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App" @@ -5112,7 +5112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "3376:5:1", + "src": "3377:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" @@ -5125,7 +5125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 337, - "src": "3382:7:1", + "src": "3383:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5136,14 +5136,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3376:14:1", + "src": "3377:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3358:32:1" + "src": "3359:32:1" }, { "assignments": [ @@ -5155,10 +5155,10 @@ "id": 361, "mutability": "mutable", "name": "dataURI", - "nameLocation": "3414:7:1", + "nameLocation": "3415:7:1", "nodeType": "VariableDeclaration", "scope": 437, - "src": "3401:20:1", + "src": "3402:20:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5169,7 +5169,7 @@ "id": 360, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3401:5:1", + "src": "3402:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5190,7 +5190,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3454:3:1", + "src": "3455:3:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a91eddf639b0b768929589c1a9fd21dcb0107199bdd82e55c5348018a1572f52", "typeString": "literal_string \"{\"" @@ -5206,7 +5206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3475:10:1", + "src": "3476:10:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_51367d69f1c3baff467b722249990cf2b0f92b1e50edd5a778b81ffc7191408f", "typeString": "literal_string \"\"name\":\"\"" @@ -5220,7 +5220,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3487:3:1", + "src": "3488:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5231,11 +5231,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3491:4:1", + "memberLocation": "3492:4:1", "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 159, - "src": "3487:8:1", + "src": "3488:8:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5250,7 +5250,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3497:4:1", + "src": "3498:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", "typeString": "literal_string \"\",\"" @@ -5266,7 +5266,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3519:17:1", + "src": "3520:17:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1f63d9db42efe217d85281c4ef6267f200cbdd8e8d6fd9a3e9d557ed86a373c7", "typeString": "literal_string \"\"description\":\"\"" @@ -5280,7 +5280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3538:3:1", + "src": "3539:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5291,11 +5291,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3542:11:1", + "memberLocation": "3543:11:1", "memberName": "description", "nodeType": "MemberAccess", "referencedDeclaration": 161, - "src": "3538:15:1", + "src": "3539:15:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5310,7 +5310,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3555:4:1", + "src": "3556:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", "typeString": "literal_string \"\",\"" @@ -5326,7 +5326,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3577:11:1", + "src": "3578:11:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_aa5040bb3495d70c48509afbb928e8d0398ff0e9a4d595e1bd35082607eb6804", "typeString": "literal_string \"\"owner\":\"\"" @@ -5343,7 +5343,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 348, - "src": "3618:5:1", + "src": "3619:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5363,7 +5363,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3610:7:1", + "src": "3611:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" @@ -5372,7 +5372,7 @@ "id": 376, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "3610:7:1", + "src": "3611:7:1", "typeDescriptions": {} } }, @@ -5385,7 +5385,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3610:14:1", + "src": "3611:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -5401,7 +5401,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3626:2:1", + "src": "3627:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -5425,10 +5425,10 @@ "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27528, - "src": "3590:7:1", + "referencedDeclaration": 27548, + "src": "3591:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$27528_$", + "typeIdentifier": "t_type$_t_contract$_Strings_$27548_$", "typeString": "type(library Strings)" } }, @@ -5437,11 +5437,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3598:11:1", + "memberLocation": "3599:11:1", "memberName": "toHexString", "nodeType": "MemberAccess", - "referencedDeclaration": 27507, - "src": "3590:19:1", + "referencedDeclaration": 27527, + "src": "3591:19:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" @@ -5456,7 +5456,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3590:39:1", + "src": "3591:39:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5472,7 +5472,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3631:4:1", + "src": "3632:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", "typeString": "literal_string \"\",\"" @@ -5488,7 +5488,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3653:18:1", + "src": "3654:18:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_153dd7a4db1a16c0bc09459a32699b07f8a0722d62a40df6d0b30c2d78048b07", "typeString": "literal_string \"\"external_url\":\"\"" @@ -5502,7 +5502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3673:3:1", + "src": "3674:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5513,11 +5513,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3677:12:1", + "memberLocation": "3678:12:1", "memberName": "external_url", "nodeType": "MemberAccess", "referencedDeclaration": 165, - "src": "3673:16:1", + "src": "3674:16:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5532,7 +5532,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3691:4:1", + "src": "3692:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", "typeString": "literal_string \"\",\"" @@ -5548,7 +5548,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3713:11:1", + "src": "3714:11:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_813a444dcf0b75d812ca8afb53e513b340ca828208f41bc16bdcde529c0ea551", "typeString": "literal_string \"\"image\":\"\"" @@ -5562,7 +5562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3726:3:1", + "src": "3727:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5573,11 +5573,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3730:5:1", + "memberLocation": "3731:5:1", "memberName": "image", "nodeType": "MemberAccess", "referencedDeclaration": 163, - "src": "3726:9:1", + "src": "3727:9:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5592,7 +5592,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3737:4:1", + "src": "3738:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", "typeString": "literal_string \"\",\"" @@ -5608,7 +5608,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3759:17:1", + "src": "3760:17:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a9d6c84473de3f3a866c16d436066b8d4df325a647d2d3a768ffba45df210f3c", "typeString": "literal_string \"\"attributes\": [\"" @@ -5624,7 +5624,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3798:33:1", + "src": "3799:33:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b1977dad00b1d45df31cde385892922fbf01ae8899a8104464fe62faa11870d0", "typeString": "literal_string \"{\"trait_type\": \"ENS\", \"value\":\"\"" @@ -5638,7 +5638,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3833:3:1", + "src": "3834:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5649,11 +5649,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3837:3:1", + "memberLocation": "3838:3:1", "memberName": "ENS", "nodeType": "MemberAccess", "referencedDeclaration": 167, - "src": "3833:7:1", + "src": "3834:7:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5668,7 +5668,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3841:5:1", + "src": "3842:5:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3e7f42fdd49259e0595590a474a25222fd39a13615f6ea5ab69ecfc85ad8702f", "typeString": "literal_string \"\"},\"" @@ -5684,7 +5684,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3868:41:1", + "src": "3869:41:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b73d9590f8416c8a9cef1b886e2fdf15148022d38f7665a30169401f08d28d84", "typeString": "literal_string \"{\"trait_type\": \"Commit Hash\", \"value\":\"\"" @@ -5700,7 +5700,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3911:3:1", + "src": "3912:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5711,11 +5711,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3915:6:1", + "memberLocation": "3916:6:1", "memberName": "builds", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "3911:10:1", + "src": "3912:10:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Build_$157_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.Build storage ref)" @@ -5729,7 +5729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3922:3:1", + "src": "3923:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5740,11 +5740,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3926:13:1", + "memberLocation": "3927:13:1", "memberName": "current_build", "nodeType": "MemberAccess", "referencedDeclaration": 169, - "src": "3922:17:1", + "src": "3923:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5755,7 +5755,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3911:29:1", + "src": "3912:29:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" @@ -5766,11 +5766,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3941:11:1", + "memberLocation": "3942:11:1", "memberName": "commit_hash", "nodeType": "MemberAccess", "referencedDeclaration": 154, - "src": "3911:41:1", + "src": "3912:41:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5785,7 +5785,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3953:5:1", + "src": "3954:5:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3e7f42fdd49259e0595590a474a25222fd39a13615f6ea5ab69ecfc85ad8702f", "typeString": "literal_string \"\"},\"" @@ -5801,7 +5801,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3980:40:1", + "src": "3981:40:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b900011f9aa689cc6367c1d032b6aa02ddd903a01891d40bcc6ccf8deec8fe8", "typeString": "literal_string \"{\"trait_type\": \"Repository\", \"value\":\"\"" @@ -5817,7 +5817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4022:3:1", + "src": "4023:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5828,11 +5828,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4026:6:1", + "memberLocation": "4027:6:1", "memberName": "builds", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "4022:10:1", + "src": "4023:10:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Build_$157_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.Build storage ref)" @@ -5846,7 +5846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4033:3:1", + "src": "4034:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5857,11 +5857,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4037:13:1", + "memberLocation": "4038:13:1", "memberName": "current_build", "nodeType": "MemberAccess", "referencedDeclaration": 169, - "src": "4033:17:1", + "src": "4034:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5872,7 +5872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4022:29:1", + "src": "4023:29:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" @@ -5883,11 +5883,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4052:14:1", + "memberLocation": "4053:14:1", "memberName": "git_repository", "nodeType": "MemberAccess", "referencedDeclaration": 156, - "src": "4022:44:1", + "src": "4023:44:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5902,7 +5902,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4067:5:1", + "src": "4068:5:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3e7f42fdd49259e0595590a474a25222fd39a13615f6ea5ab69ecfc85ad8702f", "typeString": "literal_string \"\"},\"" @@ -5918,7 +5918,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4094:37:1", + "src": "4095:37:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_28f5df53320854e06a7bf4620fddd54d632f51e992a075a608d3ffbf7301ce24", "typeString": "literal_string \"{\"trait_type\": \"Version\", \"value\":\"\"" @@ -5934,7 +5934,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4150:3:1", + "src": "4151:3:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage_ptr", "typeString": "struct FleekERC721.App storage pointer" @@ -5945,11 +5945,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4154:13:1", + "memberLocation": "4155:13:1", "memberName": "current_build", "nodeType": "MemberAccess", "referencedDeclaration": 169, - "src": "4150:17:1", + "src": "4151:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5968,10 +5968,10 @@ "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27528, - "src": "4133:7:1", + "referencedDeclaration": 27548, + "src": "4134:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$27528_$", + "typeIdentifier": "t_type$_t_contract$_Strings_$27548_$", "typeString": "type(library Strings)" } }, @@ -5980,11 +5980,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4141:8:1", + "memberLocation": "4142:8:1", "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 27411, - "src": "4133:16:1", + "referencedDeclaration": 27431, + "src": "4134:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" @@ -5999,7 +5999,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4133:35:1", + "src": "4134:35:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6015,7 +6015,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4169:4:1", + "src": "4170:4:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -6031,7 +6031,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4191:3:1", + "src": "4192:3:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", "typeString": "literal_string \"]\"" @@ -6047,7 +6047,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4208:3:1", + "src": "4209:3:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", "typeString": "literal_string \"}\"" @@ -6188,7 +6188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3424:3:1", + "src": "3425:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -6199,10 +6199,10 @@ "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3428:12:1", + "memberLocation": "3429:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3424:16:1", + "src": "3425:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -6217,7 +6217,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3424:797:1", + "src": "3425:797:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6225,7 +6225,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3401:820:1" + "src": "3402:820:1" }, { "expression": { @@ -6240,10 +6240,10 @@ "name": "_baseURI", "nodeType": "Identifier", "overloadedDeclarations": [ - 509 + 529 ], - "referencedDeclaration": 509, - "src": "4263:8:1", + "referencedDeclaration": 529, + "src": "4264:8:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory)" @@ -6258,7 +6258,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4263:10:1", + "src": "4264:10:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6275,7 +6275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 361, - "src": "4290:7:1", + "src": "4291:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -6289,7 +6289,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4289:9:1", + "src": "4290:9:1", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -6308,10 +6308,10 @@ "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27257, - "src": "4275:6:1", + "referencedDeclaration": 27277, + "src": "4276:6:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$27257_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$27277_$", "typeString": "type(library Base64)" } }, @@ -6320,11 +6320,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4282:6:1", + "memberLocation": "4283:6:1", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 27256, - "src": "4275:13:1", + "referencedDeclaration": 27276, + "src": "4276:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" @@ -6339,7 +6339,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4275:24:1", + "src": "4276:24:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6364,7 +6364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4246:3:1", + "src": "4247:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -6375,10 +6375,10 @@ "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4250:12:1", + "memberLocation": "4251:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4246:16:1", + "src": "4247:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -6393,7 +6393,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4246:54:1", + "src": "4247:54:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6414,7 +6414,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4239:6:1", + "src": "4240:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" @@ -6423,7 +6423,7 @@ "id": 423, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4239:6:1", + "src": "4240:6:1", "typeDescriptions": {} } }, @@ -6436,7 +6436,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4239:62:1", + "src": "4240:62:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6446,24 +6446,24 @@ "functionReturnParameters": 342, "id": 436, "nodeType": "Return", - "src": "4232:69:1" + "src": "4233:69:1" } ] }, "baseFunctions": [ - 25979 + 25999 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "3180:8:1", + "nameLocation": "3181:8:1", "overrides": { "id": 339, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3240:8:1" + "src": "3241:8:1" }, "parameters": { "id": 338, @@ -6474,10 +6474,10 @@ "id": 337, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3206:7:1", + "nameLocation": "3207:7:1", "nodeType": "VariableDeclaration", "scope": 438, - "src": "3198:15:1", + "src": "3199:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6488,7 +6488,7 @@ "id": 336, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3198:7:1", + "src": "3199:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6497,7 +6497,7 @@ "visibility": "internal" } ], - "src": "3188:31:1" + "src": "3189:31:1" }, "returnParameters": { "id": 342, @@ -6511,7 +6511,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 438, - "src": "3258:13:1", + "src": "3259:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6522,7 +6522,7 @@ "id": 340, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3258:6:1", + "src": "3259:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6531,9 +6531,9 @@ "visibility": "internal" } ], - "src": "3257:15:1" + "src": "3258:15:1" }, - "scope": 725, + "scope": 745, "stateMutability": "view", "virtual": true, "visibility": "public" @@ -6541,12 +6541,12 @@ { "id": 461, "nodeType": "FunctionDefinition", - "src": "4314:228:1", + "src": "4315:228:1", "nodes": [], "body": { "id": 460, "nodeType": "Block", - "src": "4435:107:1", + "src": "4436:107:1", "nodes": [], "statements": [ { @@ -6558,7 +6558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 440, - "src": "4460:7:1", + "src": "4461:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6576,8 +6576,8 @@ "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "4445:14:1", + "referencedDeclaration": 26617, + "src": "4446:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" @@ -6592,7 +6592,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4445:23:1", + "src": "4446:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -6601,7 +6601,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "4445:23:1" + "src": "4446:23:1" }, { "expression": { @@ -6614,7 +6614,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 440, - "src": "4500:7:1", + "src": "4501:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6629,7 +6629,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4509:12:1", + "src": "4510:12:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_70546d1c92f8c2132ae23a23f5177aa8526356051c7510df99f50e012d221529", "typeString": "literal_string \"CONTROLLER\"" @@ -6653,7 +6653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 98, - "src": "4489:10:1", + "src": "4490:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (uint256,string memory) pure returns (bytes32)" @@ -6668,7 +6668,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4489:33:1", + "src": "4490:33:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6681,7 +6681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 442, - "src": "4524:10:1", + "src": "4525:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6703,8 +6703,8 @@ "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25669, - "src": "4478:10:1", + "referencedDeclaration": 25689, + "src": "4479:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -6719,7 +6719,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4478:57:1", + "src": "4479:57:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -6728,7 +6728,7 @@ }, "id": 459, "nodeType": "ExpressionStatement", - "src": "4478:57:1" + "src": "4479:57:1" } ] }, @@ -6744,7 +6744,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 440, - "src": "4426:7:1", + "src": "4427:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6757,18 +6757,18 @@ "id": 444, "name": "requireTokenOwner", "nameLocations": [ - "4408:17:1" + "4409:17:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 211, - "src": "4408:17:1" + "src": "4409:17:1" }, "nodeType": "ModifierInvocation", - "src": "4408:26:1" + "src": "4409:26:1" } ], "name": "addTokenController", - "nameLocation": "4323:18:1", + "nameLocation": "4324:18:1", "parameters": { "id": 443, "nodeType": "ParameterList", @@ -6778,10 +6778,10 @@ "id": 440, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4359:7:1", + "nameLocation": "4360:7:1", "nodeType": "VariableDeclaration", "scope": 461, - "src": "4351:15:1", + "src": "4352:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6792,7 +6792,7 @@ "id": 439, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4351:7:1", + "src": "4352:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6805,10 +6805,10 @@ "id": 442, "mutability": "mutable", "name": "controller", - "nameLocation": "4384:10:1", + "nameLocation": "4385:10:1", "nodeType": "VariableDeclaration", "scope": 461, - "src": "4376:18:1", + "src": "4377:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6819,7 +6819,7 @@ "id": 441, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4376:7:1", + "src": "4377:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6829,40 +6829,40 @@ "visibility": "internal" } ], - "src": "4341:59:1" + "src": "4342:59:1" }, "returnParameters": { "id": 447, "nodeType": "ParameterList", "parameters": [], - "src": "4435:0:1" + "src": "4436:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 484, + "id": 481, "nodeType": "FunctionDefinition", - "src": "4548:232:1", + "src": "4549:204:1", "nodes": [], "body": { - "id": 483, + "id": 480, "nodeType": "Block", - "src": "4672:108:1", + "src": "4646:107:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 472, + "id": 469, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, - "src": "4697:7:1", + "src": "4671:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6876,18 +6876,18 @@ "typeString": "uint256" } ], - "id": 471, + "id": 468, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "4682:14:1", + "referencedDeclaration": 26617, + "src": "4656:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 473, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6896,16 +6896,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4682:23:1", + "src": "4656:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 474, + "id": 471, "nodeType": "ExpressionStatement", - "src": "4682:23:1" + "src": "4656:23:1" }, { "expression": { @@ -6913,12 +6913,12 @@ { "arguments": [ { - "id": 477, + "id": 474, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, - "src": "4738:7:1", + "src": "4711:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6926,14 +6926,14 @@ }, { "hexValue": "434f4e54524f4c4c4552", - "id": 478, + "id": 475, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4747:12:1", + "src": "4720:12:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_70546d1c92f8c2132ae23a23f5177aa8526356051c7510df99f50e012d221529", "typeString": "literal_string \"CONTROLLER\"" @@ -6952,18 +6952,18 @@ "typeString": "literal_string \"CONTROLLER\"" } ], - "id": 476, + "id": 473, "name": "_tokenRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 98, - "src": "4727:10:1", + "src": "4700:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (uint256,string memory) pure returns (bytes32)" } }, - "id": 479, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, @@ -6972,7 +6972,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4727:33:1", + "src": "4700:33:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6980,12 +6980,12 @@ } }, { - "id": 480, + "id": 477, "name": "controller", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 465, - "src": "4762:10:1", + "src": "4735:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7003,18 +7003,18 @@ "typeString": "address" } ], - "id": 475, - "name": "_revokeRole", + "id": 472, + "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25700, - "src": "4715:11:1", + "referencedDeclaration": 25689, + "src": "4689:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 481, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -7023,56 +7023,24 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4715:58:1", + "src": "4689:57:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 482, + "id": 479, "nodeType": "ExpressionStatement", - "src": "4715:58:1" + "src": "4689:57:1" } ] }, - "functionSelector": "befaa6a3", "implemented": true, "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 468, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4663:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 469, - "kind": "modifierInvocation", - "modifierName": { - "id": 467, - "name": "requireTokenOwner", - "nameLocations": [ - "4645:17:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 211, - "src": "4645:17:1" - }, - "nodeType": "ModifierInvocation", - "src": "4645:26:1" - } - ], - "name": "removeTokenController", - "nameLocation": "4557:21:1", + "modifiers": [], + "name": "_addTokenController", + "nameLocation": "4558:19:1", "parameters": { "id": 466, "nodeType": "ParameterList", @@ -7082,10 +7050,10 @@ "id": 463, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4596:7:1", + "nameLocation": "4595:7:1", "nodeType": "VariableDeclaration", - "scope": 484, - "src": "4588:15:1", + "scope": 481, + "src": "4587:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7096,7 +7064,7 @@ "id": 462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4588:7:1", + "src": "4587:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7109,10 +7077,10 @@ "id": 465, "mutability": "mutable", "name": "controller", - "nameLocation": "4621:10:1", + "nameLocation": "4620:10:1", "nodeType": "VariableDeclaration", - "scope": 484, - "src": "4613:18:1", + "scope": 481, + "src": "4612:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7123,7 +7091,7 @@ "id": 464, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4613:7:1", + "src": "4612:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7133,40 +7101,344 @@ "visibility": "internal" } ], - "src": "4578:59:1" + "src": "4577:59:1" }, "returnParameters": { - "id": 470, + "id": 467, "nodeType": "ParameterList", "parameters": [], - "src": "4672:0:1" + "src": "4646:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "internal" }, { - "id": 500, + "id": 504, "nodeType": "FunctionDefinition", - "src": "4786:188:1", + "src": "4759:232:1", "nodes": [], "body": { - "id": 499, + "id": 503, "nodeType": "Block", - "src": "4914:60:1", + "src": "4883:108:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 496, + "id": 492, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 491, + "name": "_requireMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26617, + "src": "4893:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", + "typeString": "function (uint256) view" + } + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4893:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 494, + "nodeType": "ExpressionStatement", + "src": "4893:23:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 497, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4949:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "434f4e54524f4c4c4552", + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4958:12:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70546d1c92f8c2132ae23a23f5177aa8526356051c7510df99f50e012d221529", + "typeString": "literal_string \"CONTROLLER\"" + }, + "value": "CONTROLLER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_70546d1c92f8c2132ae23a23f5177aa8526356051c7510df99f50e012d221529", + "typeString": "literal_string \"CONTROLLER\"" + } + ], + "id": 496, + "name": "_tokenRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "4938:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (uint256,string memory) pure returns (bytes32)" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4938:33:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 500, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "4973:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 495, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25720, + "src": "4926:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4926:58:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 502, + "nodeType": "ExpressionStatement", + "src": "4926:58:1" + } + ] + }, + "functionSelector": "befaa6a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 488, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4874:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 489, + "kind": "modifierInvocation", + "modifierName": { + "id": 487, + "name": "requireTokenOwner", + "nameLocations": [ + "4856:17:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 211, + "src": "4856:17:1" + }, + "nodeType": "ModifierInvocation", + "src": "4856:26:1" + } + ], + "name": "removeTokenController", + "nameLocation": "4768:21:1", + "parameters": { + "id": 486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4807:7:1", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4799:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4799:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 485, + "mutability": "mutable", + "name": "controller", + "nameLocation": "4832:10:1", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4824:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4824:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4789:59:1" + }, + "returnParameters": { + "id": 490, + "nodeType": "ParameterList", + "parameters": [], + "src": "4883:0:1" + }, + "scope": 745, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 520, + "nodeType": "FunctionDefinition", + "src": "4997:188:1", + "nodes": [], + "body": { + "id": 519, + "nodeType": "Block", + "src": "5125:60:1", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 516, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "4955:11:1", + "referencedDeclaration": 506, + "src": "5166:11:1", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -7181,33 +7453,33 @@ } ], "expression": { - "id": 494, + "id": 514, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "4931:5:1", + "src": "5142:5:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_FleekERC721_$725_$", + "typeIdentifier": "t_type$_t_super$_FleekERC721_$745_$", "typeString": "type(contract super FleekERC721)" } }, - "id": 495, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4937:17:1", + "memberLocation": "5148:17:1", "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 25446, - "src": "4931:23:1", + "referencedDeclaration": 25466, + "src": "5142:23:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 497, + "id": 517, "isConstant": false, "isLValue": false, "isPure": false, @@ -7216,70 +7488,70 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4931:36:1", + "src": "5142:36:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 493, - "id": 498, + "functionReturnParameters": 513, + "id": 518, "nodeType": "Return", - "src": "4924:43:1" + "src": "5135:43:1" } ] }, "baseFunctions": [ - 25446, - 25868 + 25466, + 25888 ], "functionSelector": "01ffc9a7", "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "4795:17:1", + "nameLocation": "5006:17:1", "overrides": { - "id": 490, + "id": 510, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 488, + "id": 508, "name": "ERC721", "nameLocations": [ - "4876:6:1" + "5087:6:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 26719, - "src": "4876:6:1" + "referencedDeclaration": 26739, + "src": "5087:6:1" }, { - "id": 489, + "id": 509, "name": "AccessControl", "nameLocations": [ - "4884:13:1" + "5095:13:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 25701, - "src": "4884:13:1" + "referencedDeclaration": 25721, + "src": "5095:13:1" } ], - "src": "4867:31:1" + "src": "5078:31:1" }, "parameters": { - "id": 487, + "id": 507, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 486, + "id": 506, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "4829:11:1", + "nameLocation": "5040:11:1", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4822:18:1", + "scope": 520, + "src": "5033:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7287,10 +7559,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 485, + "id": 505, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "4822:6:1", + "src": "5033:6:1", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -7299,21 +7571,21 @@ "visibility": "internal" } ], - "src": "4812:34:1" + "src": "5023:34:1" }, "returnParameters": { - "id": 493, + "id": 513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 492, + "id": 512, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4908:4:1", + "scope": 520, + "src": "5119:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7321,10 +7593,10 @@ "typeString": "bool" }, "typeName": { - "id": 491, + "id": 511, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4908:4:1", + "src": "5119:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7333,81 +7605,81 @@ "visibility": "internal" } ], - "src": "4907:6:1" + "src": "5118:6:1" }, - "scope": 725, + "scope": 745, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 509, + "id": 529, "nodeType": "FunctionDefinition", - "src": "4980:130:1", + "src": "5191:130:1", "nodes": [], "body": { - "id": 508, + "id": 528, "nodeType": "Block", - "src": "5055:55:1", + "src": "5266:55:1", "nodes": [], "statements": [ { "expression": { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 506, + "id": 526, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5072:31:1", + "src": "5283:31:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" }, "value": "data:application/json;base64," }, - "functionReturnParameters": 505, - "id": 507, + "functionReturnParameters": 525, + "id": 527, "nodeType": "Return", - "src": "5065:38:1" + "src": "5276:38:1" } ] }, "baseFunctions": [ - 25988 + 26008 ], "implemented": true, "kind": "function", "modifiers": [], "name": "_baseURI", - "nameLocation": "4989:8:1", + "nameLocation": "5200:8:1", "overrides": { - "id": 502, + "id": 522, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "5022:8:1" + "src": "5233:8:1" }, "parameters": { - "id": 501, + "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "4997:2:1" + "src": "5208:2:1" }, "returnParameters": { - "id": 505, + "id": 525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 504, + "id": 524, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 509, - "src": "5040:13:1", + "scope": 529, + "src": "5251:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7415,10 +7687,10 @@ "typeString": "string" }, "typeName": { - "id": 503, + "id": 523, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5040:6:1", + "src": "5251:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7427,34 +7699,34 @@ "visibility": "internal" } ], - "src": "5039:15:1" + "src": "5250:15:1" }, - "scope": 725, + "scope": 745, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 536, + "id": 556, "nodeType": "FunctionDefinition", - "src": "5116:307:1", + "src": "5327:307:1", "nodes": [], "body": { - "id": 535, + "id": 555, "nodeType": "Block", - "src": "5264:159:1", + "src": "5475:159:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 520, + "id": 540, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "5289:7:1", + "referencedDeclaration": 531, + "src": "5500:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7468,18 +7740,18 @@ "typeString": "uint256" } ], - "id": 519, + "id": 539, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "5274:14:1", + "referencedDeclaration": 26617, + "src": "5485:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 521, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -7488,20 +7760,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5274:23:1", + "src": "5485:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 522, + "id": 542, "nodeType": "ExpressionStatement", - "src": "5274:23:1" + "src": "5485:23:1" }, { "expression": { - "id": 528, + "id": 548, "isConstant": false, "isLValue": false, "isPure": false, @@ -7509,25 +7781,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 523, + "id": 543, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "5307:5:1", + "src": "5518:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 525, + "id": 545, "indexExpression": { - "id": 524, + "id": 544, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "5313:7:1", + "referencedDeclaration": 531, + "src": "5524:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7538,22 +7810,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5307:14:1", + "src": "5518:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 526, + "id": 546, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "5322:12:1", + "memberLocation": "5533:12:1", "memberName": "external_url", "nodeType": "MemberAccess", "referencedDeclaration": 165, - "src": "5307:27:1", + "src": "5518:27:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7562,49 +7834,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 527, + "id": 547, "name": "_tokenExternalURL", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5337:17:1", + "referencedDeclaration": 533, + "src": "5548:17:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5307:47:1", + "src": "5518:47:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 529, + "id": 549, "nodeType": "ExpressionStatement", - "src": "5307:47:1" + "src": "5518:47:1" }, { "eventCall": { "arguments": [ { - "id": 531, + "id": 551, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "5389:7:1", + "referencedDeclaration": 531, + "src": "5600:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 532, + "id": 552, "name": "_tokenExternalURL", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5398:17:1", + "referencedDeclaration": 533, + "src": "5609:17:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7622,18 +7894,18 @@ "typeString": "string memory" } ], - "id": 530, + "id": 550, "name": "NewTokenExternalURL", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 146, - "src": "5369:19:1", + "src": "5580:19:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 533, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, @@ -7642,16 +7914,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5369:47:1", + "src": "5580:47:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 534, + "id": 554, "nodeType": "EmitStatement", - "src": "5364:52:1" + "src": "5575:52:1" } ] }, @@ -7662,49 +7934,49 @@ { "arguments": [ { - "id": 516, + "id": 536, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "5255:7:1", + "referencedDeclaration": 531, + "src": "5466:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 517, + "id": 537, "kind": "modifierInvocation", "modifierName": { - "id": 515, + "id": 535, "name": "requireTokenController", "nameLocations": [ - "5232:22:1" + "5443:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "5232:22:1" + "src": "5443:22:1" }, "nodeType": "ModifierInvocation", - "src": "5232:31:1" + "src": "5443:31:1" } ], "name": "setTokenExternalURL", - "nameLocation": "5125:19:1", + "nameLocation": "5336:19:1", "parameters": { - "id": 514, + "id": 534, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 511, + "id": 531, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5162:7:1", + "nameLocation": "5373:7:1", "nodeType": "VariableDeclaration", - "scope": 536, - "src": "5154:15:1", + "scope": 556, + "src": "5365:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7712,10 +7984,10 @@ "typeString": "uint256" }, "typeName": { - "id": 510, + "id": 530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5154:7:1", + "src": "5365:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7725,13 +7997,13 @@ }, { "constant": false, - "id": 513, + "id": 533, "mutability": "mutable", "name": "_tokenExternalURL", - "nameLocation": "5193:17:1", + "nameLocation": "5404:17:1", "nodeType": "VariableDeclaration", - "scope": 536, - "src": "5179:31:1", + "scope": 556, + "src": "5390:31:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7739,10 +8011,10 @@ "typeString": "string" }, "typeName": { - "id": 512, + "id": 532, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5179:6:1", + "src": "5390:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7751,40 +8023,40 @@ "visibility": "internal" } ], - "src": "5144:72:1" + "src": "5355:72:1" }, "returnParameters": { - "id": 518, + "id": 538, "nodeType": "ParameterList", "parameters": [], - "src": "5264:0:1" + "src": "5475:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 563, + "id": 583, "nodeType": "FunctionDefinition", - "src": "5429:258:1", + "src": "5640:258:1", "nodes": [], "body": { - "id": 562, + "id": 582, "nodeType": "Block", - "src": "5561:126:1", + "src": "5772:126:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 547, + "id": 567, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 538, - "src": "5586:7:1", + "referencedDeclaration": 558, + "src": "5797:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7798,18 +8070,18 @@ "typeString": "uint256" } ], - "id": 546, + "id": 566, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "5571:14:1", + "referencedDeclaration": 26617, + "src": "5782:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 548, + "id": 568, "isConstant": false, "isLValue": false, "isPure": false, @@ -7818,20 +8090,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5571:23:1", + "src": "5782:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 549, + "id": 569, "nodeType": "ExpressionStatement", - "src": "5571:23:1" + "src": "5782:23:1" }, { "expression": { - "id": 555, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, @@ -7839,25 +8111,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 550, + "id": 570, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "5604:5:1", + "src": "5815:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 552, + "id": 572, "indexExpression": { - "id": 551, + "id": 571, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 538, - "src": "5610:7:1", + "referencedDeclaration": 558, + "src": "5821:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7868,22 +8140,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5604:14:1", + "src": "5815:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 553, + "id": 573, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "5619:3:1", + "memberLocation": "5830:3:1", "memberName": "ENS", "nodeType": "MemberAccess", "referencedDeclaration": 167, - "src": "5604:18:1", + "src": "5815:18:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7892,49 +8164,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 554, + "id": 574, "name": "_tokenENS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "5625:9:1", + "referencedDeclaration": 560, + "src": "5836:9:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5604:30:1", + "src": "5815:30:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 556, + "id": 576, "nodeType": "ExpressionStatement", - "src": "5604:30:1" + "src": "5815:30:1" }, { "eventCall": { "arguments": [ { - "id": 558, + "id": 578, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 538, - "src": "5661:7:1", + "referencedDeclaration": 558, + "src": "5872:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 559, + "id": 579, "name": "_tokenENS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "5670:9:1", + "referencedDeclaration": 560, + "src": "5881:9:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7952,18 +8224,18 @@ "typeString": "string memory" } ], - "id": 557, + "id": 577, "name": "NewTokenENS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 152, - "src": "5649:11:1", + "src": "5860:11:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 560, + "id": 580, "isConstant": false, "isLValue": false, "isPure": false, @@ -7972,16 +8244,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5649:31:1", + "src": "5860:31:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 561, + "id": 581, "nodeType": "EmitStatement", - "src": "5644:36:1" + "src": "5855:36:1" } ] }, @@ -7992,49 +8264,49 @@ { "arguments": [ { - "id": 543, + "id": 563, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 538, - "src": "5552:7:1", + "referencedDeclaration": 558, + "src": "5763:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 544, + "id": 564, "kind": "modifierInvocation", "modifierName": { - "id": 542, + "id": 562, "name": "requireTokenController", "nameLocations": [ - "5529:22:1" + "5740:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "5529:22:1" + "src": "5740:22:1" }, "nodeType": "ModifierInvocation", - "src": "5529:31:1" + "src": "5740:31:1" } ], "name": "setTokenENS", - "nameLocation": "5438:11:1", + "nameLocation": "5649:11:1", "parameters": { - "id": 541, + "id": 561, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 538, + "id": 558, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5467:7:1", + "nameLocation": "5678:7:1", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "5459:15:1", + "scope": 583, + "src": "5670:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8042,10 +8314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 537, + "id": 557, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5459:7:1", + "src": "5670:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8055,13 +8327,13 @@ }, { "constant": false, - "id": 540, + "id": 560, "mutability": "mutable", "name": "_tokenENS", - "nameLocation": "5498:9:1", + "nameLocation": "5709:9:1", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "5484:23:1", + "scope": 583, + "src": "5695:23:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8069,10 +8341,10 @@ "typeString": "string" }, "typeName": { - "id": 539, + "id": 559, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5484:6:1", + "src": "5695:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8081,40 +8353,40 @@ "visibility": "internal" } ], - "src": "5449:64:1" + "src": "5660:64:1" }, "returnParameters": { - "id": 545, + "id": 565, "nodeType": "ParameterList", "parameters": [], - "src": "5561:0:1" + "src": "5772:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 590, + "id": 610, "nodeType": "FunctionDefinition", - "src": "5693:264:1", + "src": "5904:264:1", "nodes": [], "body": { - "id": 589, + "id": 609, "nodeType": "Block", - "src": "5827:130:1", + "src": "6038:130:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 574, + "id": 594, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 565, - "src": "5852:7:1", + "referencedDeclaration": 585, + "src": "6063:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8128,18 +8400,18 @@ "typeString": "uint256" } ], - "id": 573, + "id": 593, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "5837:14:1", + "referencedDeclaration": 26617, + "src": "6048:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 575, + "id": 595, "isConstant": false, "isLValue": false, "isPure": false, @@ -8148,20 +8420,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5837:23:1", + "src": "6048:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 576, + "id": 596, "nodeType": "ExpressionStatement", - "src": "5837:23:1" + "src": "6048:23:1" }, { "expression": { - "id": 582, + "id": 602, "isConstant": false, "isLValue": false, "isPure": false, @@ -8169,25 +8441,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 577, + "id": 597, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "5870:5:1", + "src": "6081:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 579, + "id": 599, "indexExpression": { - "id": 578, + "id": 598, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 565, - "src": "5876:7:1", + "referencedDeclaration": 585, + "src": "6087:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8198,22 +8470,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5870:14:1", + "src": "6081:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 580, + "id": 600, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "5885:4:1", + "memberLocation": "6096:4:1", "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 159, - "src": "5870:19:1", + "src": "6081:19:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8222,49 +8494,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 581, + "id": 601, "name": "_tokenName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 567, - "src": "5892:10:1", + "referencedDeclaration": 587, + "src": "6103:10:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5870:32:1", + "src": "6081:32:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 583, + "id": 603, "nodeType": "ExpressionStatement", - "src": "5870:32:1" + "src": "6081:32:1" }, { "eventCall": { "arguments": [ { - "id": 585, + "id": 605, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 565, - "src": "5930:7:1", + "referencedDeclaration": 585, + "src": "6141:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 586, + "id": 606, "name": "_tokenName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 567, - "src": "5939:10:1", + "referencedDeclaration": 587, + "src": "6150:10:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8282,18 +8554,18 @@ "typeString": "string memory" } ], - "id": 584, + "id": 604, "name": "NewTokenName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "5917:12:1", + "src": "6128:12:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 587, + "id": 607, "isConstant": false, "isLValue": false, "isPure": false, @@ -8302,16 +8574,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5917:33:1", + "src": "6128:33:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 588, + "id": 608, "nodeType": "EmitStatement", - "src": "5912:38:1" + "src": "6123:38:1" } ] }, @@ -8322,49 +8594,49 @@ { "arguments": [ { - "id": 570, + "id": 590, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 565, - "src": "5818:7:1", + "referencedDeclaration": 585, + "src": "6029:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 571, + "id": 591, "kind": "modifierInvocation", "modifierName": { - "id": 569, + "id": 589, "name": "requireTokenController", "nameLocations": [ - "5795:22:1" + "6006:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "5795:22:1" + "src": "6006:22:1" }, "nodeType": "ModifierInvocation", - "src": "5795:31:1" + "src": "6006:31:1" } ], "name": "setTokenName", - "nameLocation": "5702:12:1", + "nameLocation": "5913:12:1", "parameters": { - "id": 568, + "id": 588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 565, + "id": 585, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5732:7:1", + "nameLocation": "5943:7:1", "nodeType": "VariableDeclaration", - "scope": 590, - "src": "5724:15:1", + "scope": 610, + "src": "5935:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8372,10 +8644,10 @@ "typeString": "uint256" }, "typeName": { - "id": 564, + "id": 584, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5724:7:1", + "src": "5935:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8385,13 +8657,13 @@ }, { "constant": false, - "id": 567, + "id": 587, "mutability": "mutable", "name": "_tokenName", - "nameLocation": "5763:10:1", + "nameLocation": "5974:10:1", "nodeType": "VariableDeclaration", - "scope": 590, - "src": "5749:24:1", + "scope": 610, + "src": "5960:24:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8399,10 +8671,10 @@ "typeString": "string" }, "typeName": { - "id": 566, + "id": 586, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5749:6:1", + "src": "5960:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8411,40 +8683,40 @@ "visibility": "internal" } ], - "src": "5714:65:1" + "src": "5925:65:1" }, "returnParameters": { - "id": 572, + "id": 592, "nodeType": "ParameterList", "parameters": [], - "src": "5827:0:1" + "src": "6038:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 617, + "id": 637, "nodeType": "FunctionDefinition", - "src": "5963:306:1", + "src": "6174:306:1", "nodes": [], "body": { - "id": 616, + "id": 636, "nodeType": "Block", - "src": "6111:158:1", + "src": "6322:158:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 601, + "id": 621, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "6136:7:1", + "referencedDeclaration": 612, + "src": "6347:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8458,18 +8730,18 @@ "typeString": "uint256" } ], - "id": 600, + "id": 620, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "6121:14:1", + "referencedDeclaration": 26617, + "src": "6332:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 602, + "id": 622, "isConstant": false, "isLValue": false, "isPure": false, @@ -8478,20 +8750,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6121:23:1", + "src": "6332:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 603, + "id": 623, "nodeType": "ExpressionStatement", - "src": "6121:23:1" + "src": "6332:23:1" }, { "expression": { - "id": 609, + "id": 629, "isConstant": false, "isLValue": false, "isPure": false, @@ -8499,25 +8771,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 604, + "id": 624, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "6154:5:1", + "src": "6365:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 606, + "id": 626, "indexExpression": { - "id": 605, + "id": 625, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "6160:7:1", + "referencedDeclaration": 612, + "src": "6371:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8528,22 +8800,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6154:14:1", + "src": "6365:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 607, + "id": 627, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "6169:11:1", + "memberLocation": "6380:11:1", "memberName": "description", "nodeType": "MemberAccess", "referencedDeclaration": 161, - "src": "6154:26:1", + "src": "6365:26:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8552,49 +8824,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 608, + "id": 628, "name": "_tokenDescription", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "6183:17:1", + "referencedDeclaration": 614, + "src": "6394:17:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "6154:46:1", + "src": "6365:46:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 610, + "id": 630, "nodeType": "ExpressionStatement", - "src": "6154:46:1" + "src": "6365:46:1" }, { "eventCall": { "arguments": [ { - "id": 612, + "id": 632, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "6235:7:1", + "referencedDeclaration": 612, + "src": "6446:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 613, + "id": 633, "name": "_tokenDescription", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "6244:17:1", + "referencedDeclaration": 614, + "src": "6455:17:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8612,18 +8884,18 @@ "typeString": "string memory" } ], - "id": 611, + "id": 631, "name": "NewTokenDescription", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "6215:19:1", + "src": "6426:19:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 614, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8632,16 +8904,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6215:47:1", + "src": "6426:47:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 615, + "id": 635, "nodeType": "EmitStatement", - "src": "6210:52:1" + "src": "6421:52:1" } ] }, @@ -8652,49 +8924,49 @@ { "arguments": [ { - "id": 597, + "id": 617, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "6102:7:1", + "referencedDeclaration": 612, + "src": "6313:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 598, + "id": 618, "kind": "modifierInvocation", "modifierName": { - "id": 596, + "id": 616, "name": "requireTokenController", "nameLocations": [ - "6079:22:1" + "6290:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "6079:22:1" + "src": "6290:22:1" }, "nodeType": "ModifierInvocation", - "src": "6079:31:1" + "src": "6290:31:1" } ], "name": "setTokenDescription", - "nameLocation": "5972:19:1", + "nameLocation": "6183:19:1", "parameters": { - "id": 595, + "id": 615, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 592, + "id": 612, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6009:7:1", + "nameLocation": "6220:7:1", "nodeType": "VariableDeclaration", - "scope": 617, - "src": "6001:15:1", + "scope": 637, + "src": "6212:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8702,10 +8974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 591, + "id": 611, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6001:7:1", + "src": "6212:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8715,13 +8987,13 @@ }, { "constant": false, - "id": 594, + "id": 614, "mutability": "mutable", "name": "_tokenDescription", - "nameLocation": "6040:17:1", + "nameLocation": "6251:17:1", "nodeType": "VariableDeclaration", - "scope": 617, - "src": "6026:31:1", + "scope": 637, + "src": "6237:31:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8729,10 +9001,10 @@ "typeString": "string" }, "typeName": { - "id": 593, + "id": 613, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6026:6:1", + "src": "6237:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8741,40 +9013,40 @@ "visibility": "internal" } ], - "src": "5991:72:1" + "src": "6202:72:1" }, "returnParameters": { - "id": 599, + "id": 619, "nodeType": "ParameterList", "parameters": [], - "src": "6111:0:1" + "src": "6322:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 644, + "id": 664, "nodeType": "FunctionDefinition", - "src": "6275:270:1", + "src": "6486:270:1", "nodes": [], "body": { - "id": 643, + "id": 663, "nodeType": "Block", - "src": "6411:134:1", + "src": "6622:134:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 628, + "id": 648, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "6436:7:1", + "referencedDeclaration": 639, + "src": "6647:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8788,18 +9060,18 @@ "typeString": "uint256" } ], - "id": 627, + "id": 647, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "6421:14:1", + "referencedDeclaration": 26617, + "src": "6632:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 629, + "id": 649, "isConstant": false, "isLValue": false, "isPure": false, @@ -8808,20 +9080,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6421:23:1", + "src": "6632:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 630, + "id": 650, "nodeType": "ExpressionStatement", - "src": "6421:23:1" + "src": "6632:23:1" }, { "expression": { - "id": 636, + "id": 656, "isConstant": false, "isLValue": false, "isPure": false, @@ -8829,25 +9101,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 631, + "id": 651, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "6454:5:1", + "src": "6665:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 633, + "id": 653, "indexExpression": { - "id": 632, + "id": 652, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "6460:7:1", + "referencedDeclaration": 639, + "src": "6671:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8858,22 +9130,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6454:14:1", + "src": "6665:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 634, + "id": 654, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "6469:5:1", + "memberLocation": "6680:5:1", "memberName": "image", "nodeType": "MemberAccess", "referencedDeclaration": 163, - "src": "6454:20:1", + "src": "6665:20:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8882,49 +9154,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 635, + "id": 655, "name": "_tokenImage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "6477:11:1", + "referencedDeclaration": 641, + "src": "6688:11:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "6454:34:1", + "src": "6665:34:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 637, + "id": 657, "nodeType": "ExpressionStatement", - "src": "6454:34:1" + "src": "6665:34:1" }, { "eventCall": { "arguments": [ { - "id": 639, + "id": 659, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "6517:7:1", + "referencedDeclaration": 639, + "src": "6728:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 640, + "id": 660, "name": "_tokenImage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "6526:11:1", + "referencedDeclaration": 641, + "src": "6737:11:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8942,18 +9214,18 @@ "typeString": "string memory" } ], - "id": 638, + "id": 658, "name": "NewTokenImage", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 140, - "src": "6503:13:1", + "src": "6714:13:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 641, + "id": 661, "isConstant": false, "isLValue": false, "isPure": false, @@ -8962,16 +9234,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6503:35:1", + "src": "6714:35:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 642, + "id": 662, "nodeType": "EmitStatement", - "src": "6498:40:1" + "src": "6709:40:1" } ] }, @@ -8982,49 +9254,49 @@ { "arguments": [ { - "id": 624, + "id": 644, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "6402:7:1", + "referencedDeclaration": 639, + "src": "6613:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 625, + "id": 645, "kind": "modifierInvocation", "modifierName": { - "id": 623, + "id": 643, "name": "requireTokenController", "nameLocations": [ - "6379:22:1" + "6590:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "6379:22:1" + "src": "6590:22:1" }, "nodeType": "ModifierInvocation", - "src": "6379:31:1" + "src": "6590:31:1" } ], "name": "setTokenImage", - "nameLocation": "6284:13:1", + "nameLocation": "6495:13:1", "parameters": { - "id": 622, + "id": 642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 619, + "id": 639, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6315:7:1", + "nameLocation": "6526:7:1", "nodeType": "VariableDeclaration", - "scope": 644, - "src": "6307:15:1", + "scope": 664, + "src": "6518:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9032,10 +9304,10 @@ "typeString": "uint256" }, "typeName": { - "id": 618, + "id": 638, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6307:7:1", + "src": "6518:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9045,13 +9317,13 @@ }, { "constant": false, - "id": 621, + "id": 641, "mutability": "mutable", "name": "_tokenImage", - "nameLocation": "6346:11:1", + "nameLocation": "6557:11:1", "nodeType": "VariableDeclaration", - "scope": 644, - "src": "6332:25:1", + "scope": 664, + "src": "6543:25:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9059,10 +9331,10 @@ "typeString": "string" }, "typeName": { - "id": 620, + "id": 640, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6332:6:1", + "src": "6543:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -9071,40 +9343,40 @@ "visibility": "internal" } ], - "src": "6297:66:1" + "src": "6508:66:1" }, "returnParameters": { - "id": 626, + "id": 646, "nodeType": "ParameterList", "parameters": [], - "src": "6411:0:1" + "src": "6622:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 682, + "id": 702, "nodeType": "FunctionDefinition", - "src": "6551:364:1", + "src": "6762:364:1", "nodes": [], "body": { - "id": 681, + "id": 701, "nodeType": "Block", - "src": "6727:188:1", + "src": "6938:188:1", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 657, + "id": 677, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "6752:7:1", + "referencedDeclaration": 666, + "src": "6963:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9118,18 +9390,18 @@ "typeString": "uint256" } ], - "id": 656, + "id": 676, "name": "_requireMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26597, - "src": "6737:14:1", + "referencedDeclaration": 26617, + "src": "6948:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", "typeString": "function (uint256) view" } }, - "id": 658, + "id": 678, "isConstant": false, "isLValue": false, "isPure": false, @@ -9138,20 +9410,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6737:23:1", + "src": "6948:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 659, + "id": 679, "nodeType": "ExpressionStatement", - "src": "6737:23:1" + "src": "6948:23:1" }, { "expression": { - "id": 674, + "id": 694, "isConstant": false, "isLValue": false, "isPure": false, @@ -9160,25 +9432,25 @@ "baseExpression": { "expression": { "baseExpression": { - "id": 660, + "id": 680, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "6770:5:1", + "src": "6981:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 662, + "id": 682, "indexExpression": { - "id": 661, + "id": 681, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "6776:7:1", + "referencedDeclaration": 666, + "src": "6987:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9189,30 +9461,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6770:14:1", + "src": "6981:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 663, + "id": 683, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6785:6:1", + "memberLocation": "6996:6:1", "memberName": "builds", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "6770:21:1", + "src": "6981:21:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Build_$157_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.Build storage ref)" } }, - "id": 669, + "id": 689, "indexExpression": { - "id": 668, + "id": 688, "isConstant": false, "isLValue": false, "isPure": false, @@ -9220,29 +9492,29 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, - "src": "6792:30:1", + "src": "7003:30:1", "subExpression": { "expression": { "baseExpression": { - "id": 664, + "id": 684, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "6794:5:1", + "src": "7005:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 666, + "id": 686, "indexExpression": { - "id": 665, + "id": 685, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "6800:7:1", + "referencedDeclaration": 666, + "src": "7011:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9253,22 +9525,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6794:14:1", + "src": "7005:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 667, + "id": 687, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "6809:13:1", + "memberLocation": "7020:13:1", "memberName": "current_build", "nodeType": "MemberAccess", "referencedDeclaration": 169, - "src": "6794:28:1", + "src": "7005:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9284,7 +9556,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6770:53:1", + "src": "6981:53:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" @@ -9295,24 +9567,24 @@ "rightHandSide": { "arguments": [ { - "id": 671, + "id": 691, "name": "_commit_hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "6832:12:1", + "referencedDeclaration": 668, + "src": "7043:12:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 672, + "id": 692, "name": "_git_repository", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "6846:15:1", + "referencedDeclaration": 670, + "src": "7057:15:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -9330,18 +9602,18 @@ "typeString": "string memory" } ], - "id": 670, + "id": 690, "name": "Build", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 157, - "src": "6826:5:1", + "src": "7037:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Build_$157_storage_ptr_$", "typeString": "type(struct FleekERC721.Build storage pointer)" } }, - "id": 673, + "id": 693, "isConstant": false, "isLValue": false, "isPure": false, @@ -9350,45 +9622,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6826:36:1", + "src": "7037:36:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_memory_ptr", "typeString": "struct FleekERC721.Build memory" } }, - "src": "6770:92:1", + "src": "6981:92:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Build_$157_storage", "typeString": "struct FleekERC721.Build storage ref" } }, - "id": 675, + "id": 695, "nodeType": "ExpressionStatement", - "src": "6770:92:1" + "src": "6981:92:1" }, { "eventCall": { "arguments": [ { - "id": 677, + "id": 697, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "6886:7:1", + "referencedDeclaration": 666, + "src": "7097:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 678, + "id": 698, "name": "_commit_hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "6895:12:1", + "referencedDeclaration": 668, + "src": "7106:12:1", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -9406,18 +9678,18 @@ "typeString": "string memory" } ], - "id": 676, + "id": 696, "name": "NewBuild", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 122, - "src": "6877:8:1", + "src": "7088:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 679, + "id": 699, "isConstant": false, "isLValue": false, "isPure": false, @@ -9426,16 +9698,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6877:31:1", + "src": "7088:31:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 680, + "id": 700, "nodeType": "EmitStatement", - "src": "6872:36:1" + "src": "7083:36:1" } ] }, @@ -9446,49 +9718,49 @@ { "arguments": [ { - "id": 653, + "id": 673, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "6718:7:1", + "referencedDeclaration": 666, + "src": "6929:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 654, + "id": 674, "kind": "modifierInvocation", "modifierName": { - "id": 652, + "id": 672, "name": "requireTokenController", "nameLocations": [ - "6695:22:1" + "6906:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "6695:22:1" + "src": "6906:22:1" }, "nodeType": "ModifierInvocation", - "src": "6695:31:1" + "src": "6906:31:1" } ], "name": "setTokenBuild", - "nameLocation": "6560:13:1", + "nameLocation": "6771:13:1", "parameters": { - "id": 651, + "id": 671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 646, + "id": 666, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6591:7:1", + "nameLocation": "6802:7:1", "nodeType": "VariableDeclaration", - "scope": 682, - "src": "6583:15:1", + "scope": 702, + "src": "6794:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9496,10 +9768,10 @@ "typeString": "uint256" }, "typeName": { - "id": 645, + "id": 665, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6583:7:1", + "src": "6794:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9509,13 +9781,13 @@ }, { "constant": false, - "id": 648, + "id": 668, "mutability": "mutable", "name": "_commit_hash", - "nameLocation": "6622:12:1", + "nameLocation": "6833:12:1", "nodeType": "VariableDeclaration", - "scope": 682, - "src": "6608:26:1", + "scope": 702, + "src": "6819:26:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9523,10 +9795,10 @@ "typeString": "string" }, "typeName": { - "id": 647, + "id": 667, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6608:6:1", + "src": "6819:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -9536,13 +9808,13 @@ }, { "constant": false, - "id": 650, + "id": 670, "mutability": "mutable", "name": "_git_repository", - "nameLocation": "6658:15:1", + "nameLocation": "6869:15:1", "nodeType": "VariableDeclaration", - "scope": 682, - "src": "6644:29:1", + "scope": 702, + "src": "6855:29:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9550,10 +9822,10 @@ "typeString": "string" }, "typeName": { - "id": 649, + "id": 669, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6644:6:1", + "src": "6855:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -9562,28 +9834,28 @@ "visibility": "internal" } ], - "src": "6573:106:1" + "src": "6784:106:1" }, "returnParameters": { - "id": 655, + "id": 675, "nodeType": "ParameterList", "parameters": [], - "src": "6727:0:1" + "src": "6938:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 724, + "id": 744, "nodeType": "FunctionDefinition", - "src": "6921:356:1", + "src": "7132:356:1", "nodes": [], "body": { - "id": 723, + "id": 743, "nodeType": "Block", - "src": "7013:264:1", + "src": "7224:264:1", "nodes": [], "statements": [ { @@ -9594,7 +9866,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 696, + "id": 716, "isConstant": false, "isLValue": false, "isPure": false, @@ -9602,12 +9874,12 @@ "leftExpression": { "arguments": [ { - "id": 692, + "id": 712, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "7052:7:1", + "referencedDeclaration": 704, + "src": "7263:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9621,18 +9893,18 @@ "typeString": "uint256" } ], - "id": 691, + "id": 711, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25920, - "src": "7044:7:1", + "referencedDeclaration": 25940, + "src": "7255:7:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 693, + "id": 713, "isConstant": false, "isLValue": false, "isPure": false, @@ -9641,7 +9913,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7044:16:1", + "src": "7255:16:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9652,32 +9924,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 694, + "id": 714, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "7064:3:1", + "src": "7275:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 695, + "id": 715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7068:6:1", + "memberLocation": "7279:6:1", "memberName": "sender", "nodeType": "MemberAccess", - "src": "7064:10:1", + "src": "7275:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7044:30:1", + "src": "7255:30:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9685,14 +9957,14 @@ }, { "hexValue": "466c65656b4552433732313a206d75737420626520746f6b656e206f776e6572", - "id": 697, + "id": 717, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7088:34:1", + "src": "7299:34:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a648a3de5d26aef0474a63f309beeecd457a566959dd1cff4538789f49f0cc66", "typeString": "literal_string \"FleekERC721: must be token owner\"" @@ -9711,7 +9983,7 @@ "typeString": "literal_string \"FleekERC721: must be token owner\"" } ], - "id": 690, + "id": 710, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9719,13 +9991,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7023:7:1", + "src": "7234:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 698, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, @@ -9734,27 +10006,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7023:109:1", + "src": "7234:109:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 699, + "id": 719, "nodeType": "ExpressionStatement", - "src": "7023:109:1" + "src": "7234:109:1" }, { "expression": { "arguments": [ { - "id": 703, + "id": 723, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "7154:7:1", + "referencedDeclaration": 704, + "src": "7365:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9769,33 +10041,33 @@ } ], "expression": { - "id": 700, + "id": 720, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "7142:5:1", + "src": "7353:5:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_FleekERC721_$725_$", + "typeIdentifier": "t_type$_t_super$_FleekERC721_$745_$", "typeString": "type(contract super FleekERC721)" } }, - "id": 702, + "id": 722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7148:5:1", + "memberLocation": "7359:5:1", "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 26442, - "src": "7142:11:1", + "referencedDeclaration": 26462, + "src": "7353:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 704, + "id": 724, "isConstant": false, "isLValue": false, "isPure": false, @@ -9804,16 +10076,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7142:20:1", + "src": "7353:20:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 705, + "id": 725, "nodeType": "ExpressionStatement", - "src": "7142:20:1" + "src": "7353:20:1" }, { "condition": { @@ -9821,7 +10093,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 715, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -9832,25 +10104,25 @@ { "expression": { "baseExpression": { - "id": 708, + "id": 728, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "7183:5:1", + "src": "7394:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 710, + "id": 730, "indexExpression": { - "id": 709, + "id": 729, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "7189:7:1", + "referencedDeclaration": 704, + "src": "7400:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9861,22 +10133,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7183:14:1", + "src": "7394:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" } }, - "id": 711, + "id": 731, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7198:12:1", + "memberLocation": "7409:12:1", "memberName": "external_url", "nodeType": "MemberAccess", "referencedDeclaration": 165, - "src": "7183:27:1", + "src": "7394:27:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9890,26 +10162,26 @@ "typeString": "string storage ref" } ], - "id": 707, + "id": 727, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7177:5:1", + "src": "7388:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 706, + "id": 726, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7177:5:1", + "src": "7388:5:1", "typeDescriptions": {} } }, - "id": 712, + "id": 732, "isConstant": false, "isLValue": false, "isPure": false, @@ -9918,22 +10190,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7177:34:1", + "src": "7388:34:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes storage pointer" } }, - "id": 713, + "id": 733, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7212:6:1", + "memberLocation": "7423:6:1", "memberName": "length", "nodeType": "MemberAccess", - "src": "7177:41:1", + "src": "7388:41:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9943,37 +10215,37 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 714, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7222:1:1", + "src": "7433:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "7177:46:1", + "src": "7388:46:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 722, + "id": 742, "nodeType": "IfStatement", - "src": "7173:98:1", + "src": "7384:98:1", "trueBody": { - "id": 721, + "id": 741, "nodeType": "Block", - "src": "7225:46:1", + "src": "7436:46:1", "statements": [ { "expression": { - "id": 719, + "id": 739, "isConstant": false, "isLValue": false, "isPure": false, @@ -9981,28 +10253,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "7239:21:1", + "src": "7450:21:1", "subExpression": { "baseExpression": { - "id": 716, + "id": 736, "name": "_apps", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "7246:5:1", + "src": "7457:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_App_$175_storage_$", "typeString": "mapping(uint256 => struct FleekERC721.App storage ref)" } }, - "id": 718, + "id": 738, "indexExpression": { - "id": 717, + "id": 737, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "7252:7:1", + "referencedDeclaration": 704, + "src": "7463:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10013,7 +10285,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7246:14:1", + "src": "7457:14:1", "typeDescriptions": { "typeIdentifier": "t_struct$_App_$175_storage", "typeString": "struct FleekERC721.App storage ref" @@ -10024,9 +10296,9 @@ "typeString": "tuple()" } }, - "id": 720, + "id": 740, "nodeType": "ExpressionStatement", - "src": "7239:21:1" + "src": "7450:21:1" } ] } @@ -10040,49 +10312,49 @@ { "arguments": [ { - "id": 687, + "id": 707, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "7004:7:1", + "referencedDeclaration": 704, + "src": "7215:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 688, + "id": 708, "kind": "modifierInvocation", "modifierName": { - "id": 686, + "id": 706, "name": "requireTokenController", "nameLocations": [ - "6981:22:1" + "7192:22:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 79, - "src": "6981:22:1" + "src": "7192:22:1" }, "nodeType": "ModifierInvocation", - "src": "6981:31:1" + "src": "7192:31:1" } ], "name": "burn", - "nameLocation": "6930:4:1", + "nameLocation": "7141:4:1", "parameters": { - "id": 685, + "id": 705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 684, + "id": 704, "mutability": "mutable", "name": "tokenId", - "nameLocation": "6952:7:1", + "nameLocation": "7163:7:1", "nodeType": "VariableDeclaration", - "scope": 724, - "src": "6944:15:1", + "scope": 744, + "src": "7155:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10090,10 +10362,10 @@ "typeString": "uint256" }, "typeName": { - "id": 683, + "id": 703, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6944:7:1", + "src": "7155:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10102,15 +10374,15 @@ "visibility": "internal" } ], - "src": "6934:31:1" + "src": "7145:31:1" }, "returnParameters": { - "id": 689, + "id": 709, "nodeType": "ParameterList", "parameters": [], - "src": "7013:0:1" + "src": "7224:0:1" }, - "scope": 725, + "scope": 745, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" @@ -10126,7 +10398,7 @@ "280:6:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 26719, + "referencedDeclaration": 26739, "src": "280:6:1" }, "id": 107, @@ -10154,20 +10426,20 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 725, + 745, 99, - 25701, - 26719, - 26880, - 26835, - 27552, - 27564, - 25774, - 27279 + 25721, + 26739, + 26900, + 26855, + 27572, + 27584, + 25794, + 27299 ], "name": "FleekERC721", "nameLocation": "265:11:1", - "scope": 726, + "scope": 746, "usedErrors": [] } ], diff --git a/out/apps.t.sol/ContractBTest.json b/out/apps.t.sol/ContractBTest.json index 29dd09e..92f420a 100644 --- a/out/apps.t.sol/ContractBTest.json +++ b/out/apps.t.sol/ContractBTest.json @@ -411,6 +411,20 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "testFailBurningNonExistantToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "testFailCallingTokenURIOnNonExistantToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "testMint", @@ -418,6 +432,27 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "testMintingMintedToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "testMintingMoreThanOneTokenForTheSameAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "testMintingTwoTokensForTwoAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "testName", @@ -497,13 +532,13 @@ } ], "bytecode": { - "object": "0x60808060405234620039bd57600160ff1960075416176007556200002381620039c2565b6040516200003181620039de565b6005815264105b9d9a5b60da1b60208201528152617a6960208201526200005762003a1e565b6040820152602560405164185b9d9a5b60da1b8152600960058201522090805180519060018060401b03821162001bef578354600181811c91168015620039b2575b602082101462001bce57601f811162003965575b50602090601f8311600114620038f357604093929160009183620038e7575b50508160011b916000199060031b1c19161783555b6020810151600184015501518051906001600160401b03821162001bef576002830154600181811c91168015620038dc575b602082101462001bce57601f81116200388c575b50602090601f8311600114620038195760029291600091836200380d575b50508160011b916000199060031b1c1916179101555b6040516200016981620039c2565b6040516200017781620039de565b600781526612185c991a185d60ca1b60208201528152617a6960208201526200019f62003a1e565b60408201526027604051661a185c991a185d60ca1b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562003802575b602082101462001bce57601f8111620037b5575b50602090601f8311600114620037415791806040949260029460009262003735575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200372a575b602082101462001bce57601f8111620036dd575b50602092601f821160011462003674579281929360009262003668575b50508160011b916000199060031b1c19161790555b604051620002b181620039c2565b604051620002bf81620039de565b600781526613585a5b9b995d60ca1b6020820152815260016020820152604051620002ea81620039c2565b603d81527f68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f36373760208201527f3034353462633665613432633538616163313239373835333162393366000000604082015260408201526027604051661b585a5b9b995d60ca1b81526009600782015220815180519060018060401b03821162001bef578254600181811c911680156200365d575b602082101462001bce57601f811162003610575b50602090601f83116001146200359c5791806040949260029460009262003590575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562003585575b602082101462001bce57601f811162003538575b50602092601f8211600114620034cf5792819293600092620034c3575b50508160011b916000199060031b1c19161790555b6040516200044c81620039c2565b6040516200045a81620039de565b6006815265476f65726c6960d01b60208201528152600560208201526040516200048481620039c2565b603c81527f68747470733a2f2f676f65726c692e696e667572612e696f2f76332f3637373060208201527f343534626336656134326335386161633132393738353331623933660000000060408201526040820152602660405165676f65726c6960d01b81526009600682015220815180519060018060401b03821162001bef578254600181811c91168015620034b8575b602082101462001bce57601f81116200346b575b50602090601f8311600114620033f757918060409492600294600092620033eb575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620033e0575b602082101462001bce57601f811162003393575b50602092601f82116001146200332a57928192936000926200331e575b50508160011b916000199060031b1c19161790555b604051620005e581620039c2565b604051620005f381620039de565b60078152665365706f6c696160c81b6020820152815262aa36a760208201526040516200062081620039de565b601781527f68747470733a2f2f7270632e7365706f6c69612e646576000000000000000000602082015260408201526027604051667365706f6c696160c81b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562003313575b602082101462001bce57601f8111620032c6575b50602090601f8311600114620032525791806040949260029460009262003246575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200323b575b602082101462001bce57601f8111620031ee575b50602092601f821160011462003185579281929360009262003179575b50508160011b916000199060031b1c19161790555b6040516200075c81620039c2565b6040516200076a81620039de565b60088152674f7074696d69736d60c01b60208201528152600a60208201526040516200079681620039de565b601b81527f68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f0000000000602082015260408201526028604051676f7074696d69736d60c01b81526009600882015220815180519060018060401b03821162001bef578254600181811c911680156200316e575b602082101462001bce57601f811162003121575b50602090601f8311600114620030ad57918060409492600294600092620030a1575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562003096575b602082101462001bce57601f811162003049575b50602092601f821160011462002fe0579281929360009262002fd4575b50508160011b916000199060031b1c19161790555b604051620008d381620039c2565b604051620008e181620039de565b600f81526e4f7074696d69736d20476f65726c6960881b602082015281526101a460208201526040516200091581620039de565b601a81527f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f00000000000060208201526040820152602f6040516e6f7074696d69736d5f676f65726c6960881b81526009600f82015220815180519060018060401b03821162001bef578254600181811c9116801562002fc9575b602082101462001bce57601f811162002f7c575b50602090601f831160011462002f085791806040949260029460009262002efc575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002ef1575b602082101462001bce57601f811162002ea4575b50602092601f821160011462002e3b579281929360009262002e2f575b50508160011b916000199060031b1c19161790555b60405162000a5981620039c2565b60405162000a6781620039de565b600c81526b417262697472756d204f6e6560a01b6020820152815261a4b1602082015260405162000a9881620039de565b601c81527f68747470733a2f2f617262312e617262697472756d2e696f2f7270630000000060208201526040820152602c6040516b617262697472756d5f6f6e6560a01b81526009600c82015220815180519060018060401b03821162001bef578254600181811c9116801562002e24575b602082101462001bce57601f811162002dd7575b50602090601f831160011462002d635791806040949260029460009262002d57575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002d4c575b602082101462001bce57601f811162002cff575b50602092601f821160011462002c96579281929360009262002c8a575b50508160011b916000199060031b1c19161790555b60405162000bd981620039c2565b60405162000be781620039de565b601381527f417262697472756d204f6e6520476f65726c69000000000000000000000000006020820152815262066eed602082015260405162000c2a81620039c2565b602581527f68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696020820152646f2f72706360d81b6040820152604082015260336040517f617262697472756d5f6f6e655f676f65726c690000000000000000000000000081526009601382015220815180519060018060401b03821162001bef578254600181811c9116801562002c7f575b602082101462001bce57601f811162002c32575b50602090601f831160011462002bbe5791806040949260029460009262002bb2575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002ba7575b602082101462001bce57601f811162002b5a575b50602092601f821160011462002af1579281929360009262002ae5575b50508160011b916000199060031b1c19161790555b60405162000d8a81620039c2565b60405162000d9881620039de565b600d81526c417262697472756d204e6f766160981b6020820152815261a4ba602082015260405162000dca81620039de565b601c81527f68747470733a2f2f6e6f76612e617262697472756d2e696f2f7270630000000060208201526040820152602d6040516c617262697472756d5f6e6f766160981b81526009600d82015220815180519060018060401b03821162001bef578254600181811c9116801562002ada575b602082101462001bce57601f811162002a8d575b50602090601f831160011462002a195791806040949260029460009262002a0d575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002a02575b602082101462001bce57601f8111620029b5575b50602092601f82116001146200294c579281929360009262002940575b50508160011b916000199060031b1c19161790555b60405162000f0c81620039c2565b60405162000f1a81620039de565b60078152662837b63cb3b7b760c91b602082015281526089602082015260405162000f4581620039de565b601781527f68747470733a2f2f706f6c79676f6e2d7270632e636f6d000000000000000000602082015260408201526027604051663837b63cb3b7b760c91b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562002935575b602082101462001bce57601f8111620028e8575b50602090601f831160011462002876579180604094926002946000926200286a575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200285f575b602082101462001bce57601f811162002812575b50602092601f8211600114620027a957928192936000926200279d575b50508160011b916000199060031b1c19161790555b6040516200108181620039c2565b6040516200108f81620039de565b600e81526d506f6c79676f6e204d756d62616960901b60208201528152620138816020820152604051620010c381620039de565b601e81527f68747470733a2f2f7270632d6d756d6261692e6d617469632e746f646179000060208201526040820152602e6040516d706f6c79676f6e5f6d756d62616960901b81526009600e82015220815180519060018060401b03821162001bef578254600181811c9116801562002792575b602082101462001bce57601f811162002745575b50602090601f8311600114620026d357918060409492600294600092620026c7575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620026bc575b602082101462001bce57601f81116200266f575b50602092601f8211600114620026065792819293600092620025fa575b50508160011b916000199060031b1c19161790555b6040516200120681620039c2565b6040516200121481620039de565b60098152684176616c616e63686560b81b6020820152815261a86a60208201526040516200124281620039c2565b602581527f68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f602082015264432f72706360d81b604082015260408201526029604051686176616c616e63686560b81b815260098082015220815180519060018060401b03821162001bef578254600181811c91168015620025ef575b602082101462001bce57601f8111620025a2575b50602090601f8311600114620025305791806040949260029460009262002524575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002519575b602082101462001bce57601f8111620024cc575b50602092601f821160011462002463579281929360009262002457575b50508160011b916000199060031b1c19161790555b6040516200138d81620039c2565b6040516200139b81620039de565b600e81526d4176616c616e6368652046756a6960901b6020820152815261a8696020820152604051620013ce81620039c2565b602a81527f68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578602082015269742f62632f432f72706360b01b60408201526040820152602e6040516d6176616c616e6368655f66756a6960901b81526009600e82015220815180519060018060401b03821162001bef578254600181811c911680156200244c575b602082101462001bce57601f8111620023ff575b50602090601f83116001146200238d5791806040949260029460009262002381575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002376575b602082101462001bce57601f811162002329575b50602092601f8211600114620022c05792819293600092620022b4575b50508160011b916000199060031b1c19161790555b6040516200152481620039c2565b6040516200153281620039de565b600f81526e2127211029b6b0b93a1021b430b4b760891b60208201528152603860208201526040516200156581620039c2565b602181527f68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f726020820152606760f81b60408201526040820152602f6040516e3137312fb9b6b0b93a2fb1b430b4b760891b81526009600f82015220815180519060018060401b03821162001bef578254600181811c91168015620022a9575b602082101462001bce57601f81116200225c575b50602090601f8311600114620021ea57918060409492600294600092620021de575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620021d3575b602082101462001bce57601f811162002186575b50602092601f82116001146200211d579281929360009262002111575b50508160011b916000199060031b1c19161790555b604051620016b381620039c2565b604051620016c181620039de565b601781527f424e4220536d61727420436861696e20546573746e657400000000000000000060208201528152606160208201526040516200170281620039c2565b602e81527f68747470733a2f2f646174612d736565642d7072656273632d312d73312e626960208201526d6e616e63652e6f72673a3835343560901b6040820152604082015260376040517f626e625f736d6172745f636861696e5f746573746e657400000000000000000081526009601782015220815180519060018060401b03821162001bef578254600181811c9116801562002106575b602082101462001bce57601f8111620020b9575b50602090601f831160011462002047579180604094926002946000926200203b575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002030575b602082101462001bce57601f811162001fe3575b50602092601f821160011462001f7a579281929360009262001f6e575b50508160011b916000199060031b1c19161790555b6040516200186b81620039c2565b6040516200187981620039de565b600c81526b23b737b9b4b99021b430b4b760a11b6020820152815260646020820152604051620018a981620039de565b601b81527f68747470733a2f2f7270632e676e6f736973636861696e2e636f6d000000000060208201526040820152602c6040516b33b737b9b4b9afb1b430b4b760a11b81526009600c82015220815180519060018060401b03821162001bef578254600181811c9116801562001f63575b602082101462001bce57601f811162001f16575b50602090601f831160011462001ea45791806040949260029460009262001e98575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562001e8d575b602082101462001bce57601f811162001e40575b50602092601f821160011462001dd7579281929360009262001dcb575b50508160011b916000199060031b1c19161790555b604051634e956b9560e11b8152600081600481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562001dbf5760009162001c1a575b5060005b815181101562001c0557602062001a33828462003ad9565b510151600262001a60602062001a4a858762003ad9565b5151816040519382858094519384920162003a59565b60099082019081520301902082519101916001600160401b03821162001bef57825490600182811c9216801562001be4575b602083101462001bce5781601f84931162001b76575b50602090601f831160011462001b0b5760009262001aff575b50508160011b916000199060031b1c19161790555b600019811462001ae95760010162001a1b565b634e487b7160e01b600052601160045260246000fd5b01519050388062001ac1565b6000858152602081209350601f198516905b81811062001b5d575090846001959493921062001b43575b505050811b01905562001ad6565b015160001960f88460031b161c1916905538808062001b35565b9293602060018192878601518155019501930162001b1d565b909150836000526020600020601f840160051c8101916020851062001bc3575b90601f859493920160051c01905b81811062001bb3575062001aa8565b6000815584935060010162001ba4565b909150819062001b96565b634e487b7160e01b600052602260045260246000fd5b91607f169162001a92565b634e487b7160e01b600052604160045260246000fd5b6000600855604051615226908162003b058239f35b903d908181843e62001c2d8284620039fa565b602083838101031262001dbc5782516001600160401b03811162001da457828401601f82860101121562001da45783810151936001600160401b03851162001da8578460051b926040519562001c876020860188620039fa565b8652602086019285830160208683860101011162001da457602081840101935b6020868386010101851062001cc457505050505050503862001a17565b84516001600160401b03811162001da0576040858401820189870103601f19011262001da05760408051919082018083116001600160401b039091111762001d8c57604082810190528584018101602001516001600160401b03811162001d885762001d3d9060208b89019184888b0101010162003a7e565b82528584018101604001516001600160401b03811162001d8857926020939262001d768594938580958e8c01928a8d0101010162003a7e565b83820152815201950194905062001ca7565b8580fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b80fd5b6040513d6000823e3d90fd5b015190503880620019c7565b601f198216938360005260206000209160005b86811062001e27575083600195961062001e0d575b505050811b019055620019dc565b015160001960f88460031b161c1916905538808062001dff565b9192602060018192868501518155019401920162001dea565b826000526020600020601f830160051c8101916020841062001e82575b601f0160051c01905b81811062001e755750620019aa565b6000815560010162001e66565b909150819062001e5d565b90607f169062001996565b01519050388062001951565b90601f198316918460005260206000209260005b81811062001efd5750926001928592600296604098961062001ee3575b505050811b01815562001966565b015160001960f88460031b161c1916905538808062001ed5565b9293602060018192878601518155019501930162001eb8565b836000526020600020601f840160051c8101916020851062001f58575b601f0160051c01905b81811062001f4b57506200192f565b6000815560010162001f3c565b909150819062001f33565b90607f16906200191b565b01519050388062001848565b601f198216938360005260206000209160005b86811062001fca575083600195961062001fb0575b505050811b0190556200185d565b015160001960f88460031b161c1916905538808062001fa2565b9192602060018192868501518155019401920162001f8d565b826000526020600020601f830160051c8101916020841062002025575b601f0160051c01905b8181106200201857506200182b565b6000815560010162002009565b909150819062002000565b90607f169062001817565b015190503880620017d2565b90601f198316918460005260206000209260005b818110620020a05750926001928592600296604098961062002086575b505050811b018155620017e7565b015160001960f88460031b161c1916905538808062002078565b929360206001819287860151815501950193016200205b565b836000526020600020601f840160051c81019160208510620020fb575b601f0160051c01905b818110620020ee5750620017b0565b60008155600101620020df565b9091508190620020d6565b90607f16906200179c565b01519050388062001690565b601f198216938360005260206000209160005b8681106200216d575083600195961062002153575b505050811b019055620016a5565b015160001960f88460031b161c1916905538808062002145565b9192602060018192868501518155019401920162002130565b826000526020600020601f830160051c81019160208410620021c8575b601f0160051c01905b818110620021bb575062001673565b60008155600101620021ac565b9091508190620021a3565b90607f16906200165f565b0151905038806200161a565b90601f198316918460005260206000209260005b818110620022435750926001928592600296604098961062002229575b505050811b0181556200162f565b015160001960f88460031b161c191690553880806200221b565b92936020600181928786015181550195019301620021fe565b836000526020600020601f840160051c810191602085106200229e575b601f0160051c01905b818110620022915750620015f8565b6000815560010162002282565b909150819062002279565b90607f1690620015e4565b01519050388062001501565b601f198216938360005260206000209160005b868110620023105750836001959610620022f6575b505050811b01905562001516565b015160001960f88460031b161c19169055388080620022e8565b91926020600181928685015181550194019201620022d3565b826000526020600020601f830160051c810191602084106200236b575b601f0160051c01905b8181106200235e5750620014e4565b600081556001016200234f565b909150819062002346565b90607f1690620014d0565b0151905038806200148b565b90601f198316918460005260206000209260005b818110620023e657509260019285926002966040989610620023cc575b505050811b018155620014a0565b015160001960f88460031b161c19169055388080620023be565b92936020600181928786015181550195019301620023a1565b836000526020600020601f840160051c8101916020851062002441575b601f0160051c01905b81811062002434575062001469565b6000815560010162002425565b90915081906200241c565b90607f169062001455565b0151905038806200136a565b601f198216938360005260206000209160005b868110620024b3575083600195961062002499575b505050811b0190556200137f565b015160001960f88460031b161c191690553880806200248b565b9192602060018192868501518155019401920162002476565b826000526020600020601f830160051c810191602084106200250e575b601f0160051c01905b8181106200250157506200134d565b60008155600101620024f2565b9091508190620024e9565b90607f169062001339565b015190503880620012f4565b90601f198316918460005260206000209260005b81811062002589575092600192859260029660409896106200256f575b505050811b01815562001309565b015160001960f88460031b161c1916905538808062002561565b9293602060018192878601518155019501930162002544565b836000526020600020601f840160051c81019160208510620025e4575b601f0160051c01905b818110620025d75750620012d2565b60008155600101620025c8565b9091508190620025bf565b90607f1690620012be565b015190503880620011e3565b601f198216938360005260206000209160005b8681106200265657508360019596106200263c575b505050811b019055620011f8565b015160001960f88460031b161c191690553880806200262e565b9192602060018192868501518155019401920162002619565b826000526020600020601f830160051c81019160208410620026b1575b601f0160051c01905b818110620026a45750620011c6565b6000815560010162002695565b90915081906200268c565b90607f1690620011b2565b0151905038806200116d565b90601f198316918460005260206000209260005b8181106200272c5750926001928592600296604098961062002712575b505050811b01815562001182565b015160001960f88460031b161c1916905538808062002704565b92936020600181928786015181550195019301620026e7565b836000526020600020601f840160051c8101916020851062002787575b601f0160051c01905b8181106200277a57506200114b565b600081556001016200276b565b909150819062002762565b90607f169062001137565b0151905038806200105e565b601f198216938360005260206000209160005b868110620027f95750836001959610620027df575b505050811b01905562001073565b015160001960f88460031b161c19169055388080620027d1565b91926020600181928685015181550194019201620027bc565b826000526020600020601f830160051c8101916020841062002854575b601f0160051c01905b81811062002847575062001041565b6000815560010162002838565b90915081906200282f565b90607f16906200102d565b01519050388062000fe8565b90601f198316918460005260206000209260005b818110620028cf57509260019285926002966040989610620028b5575b505050811b01815562000ffd565b015160001960f88460031b161c19169055388080620028a7565b929360206001819287860151815501950193016200288a565b836000526020600020601f840160051c810191602085106200292a575b601f0160051c01905b8181106200291d575062000fc6565b600081556001016200290e565b909150819062002905565b90607f169062000fb2565b01519050388062000ee9565b601f198216938360005260206000209160005b8681106200299c575083600195961062002982575b505050811b01905562000efe565b015160001960f88460031b161c1916905538808062002974565b919260206001819286850151815501940192016200295f565b826000526020600020601f830160051c81019160208410620029f7575b601f0160051c01905b818110620029ea575062000ecc565b60008155600101620029db565b9091508190620029d2565b90607f169062000eb8565b01519050388062000e73565b908360005260206000209160005b601f198516811062002a745750926040949260019260029583601f1981161062002a5a575b505050811b01815562000e88565b015160001960f88460031b161c1916905538808062002a4c565b9192602060018192868501518155019401920162002a27565b836000526020600020601f840160051c8101916020851062002acf575b601f0160051c01905b81811062002ac2575062000e51565b6000815560010162002ab3565b909150819062002aaa565b90607f169062000e3d565b01519050388062000d67565b601f198216938360005260206000209160005b86811062002b41575083600195961062002b27575b505050811b01905562000d7c565b015160001960f88460031b161c1916905538808062002b19565b9192602060018192868501518155019401920162002b04565b826000526020600020601f830160051c8101916020841062002b9c575b601f0160051c01905b81811062002b8f575062000d4a565b6000815560010162002b80565b909150819062002b77565b90607f169062000d36565b01519050388062000cf1565b908360005260206000209160005b601f198516811062002c195750926040949260019260029583601f1981161062002bff575b505050811b01815562000d06565b015160001960f88460031b161c1916905538808062002bf1565b9192602060018192868501518155019401920162002bcc565b836000526020600020601f840160051c8101916020851062002c74575b601f0160051c01905b81811062002c67575062000ccf565b6000815560010162002c58565b909150819062002c4f565b90607f169062000cbb565b01519050388062000bb6565b601f198216938360005260206000209160005b86811062002ce6575083600195961062002ccc575b505050811b01905562000bcb565b015160001960f88460031b161c1916905538808062002cbe565b9192602060018192868501518155019401920162002ca9565b826000526020600020601f830160051c8101916020841062002d41575b601f0160051c01905b81811062002d34575062000b99565b6000815560010162002d25565b909150819062002d1c565b90607f169062000b85565b01519050388062000b40565b908360005260206000209160005b601f198516811062002dbe5750926040949260019260029583601f1981161062002da4575b505050811b01815562000b55565b015160001960f88460031b161c1916905538808062002d96565b9192602060018192868501518155019401920162002d71565b836000526020600020601f840160051c8101916020851062002e19575b601f0160051c01905b81811062002e0c575062000b1e565b6000815560010162002dfd565b909150819062002df4565b90607f169062000b0a565b01519050388062000a36565b601f198216938360005260206000209160005b86811062002e8b575083600195961062002e71575b505050811b01905562000a4b565b015160001960f88460031b161c1916905538808062002e63565b9192602060018192868501518155019401920162002e4e565b826000526020600020601f830160051c8101916020841062002ee6575b601f0160051c01905b81811062002ed9575062000a19565b6000815560010162002eca565b909150819062002ec1565b90607f169062000a05565b015190503880620009c0565b908360005260206000209160005b601f198516811062002f635750926040949260019260029583601f1981161062002f49575b505050811b018155620009d5565b015160001960f88460031b161c1916905538808062002f3b565b9192602060018192868501518155019401920162002f16565b836000526020600020601f840160051c8101916020851062002fbe575b601f0160051c01905b81811062002fb157506200099e565b6000815560010162002fa2565b909150819062002f99565b90607f16906200098a565b015190503880620008b0565b601f198216938360005260206000209160005b86811062003030575083600195961062003016575b505050811b019055620008c5565b015160001960f88460031b161c1916905538808062003008565b9192602060018192868501518155019401920162002ff3565b826000526020600020601f830160051c810191602084106200308b575b601f0160051c01905b8181106200307e575062000893565b600081556001016200306f565b909150819062003066565b90607f16906200087f565b0151905038806200083a565b908360005260206000209160005b601f1985168110620031085750926040949260019260029583601f19811610620030ee575b505050811b0181556200084f565b015160001960f88460031b161c19169055388080620030e0565b91926020600181928685015181550194019201620030bb565b836000526020600020601f840160051c8101916020851062003163575b601f0160051c01905b81811062003156575062000818565b6000815560010162003147565b90915081906200313e565b90607f169062000804565b01519050388062000739565b601f198216938360005260206000209160005b868110620031d55750836001959610620031bb575b505050811b0190556200074e565b015160001960f88460031b161c19169055388080620031ad565b9192602060018192868501518155019401920162003198565b826000526020600020601f830160051c8101916020841062003230575b601f0160051c01905b8181106200322357506200071c565b6000815560010162003214565b90915081906200320b565b90607f169062000708565b015190503880620006c3565b908360005260206000209160005b601f1985168110620032ad5750926040949260019260029583601f1981161062003293575b505050811b018155620006d8565b015160001960f88460031b161c1916905538808062003285565b9192602060018192868501518155019401920162003260565b836000526020600020601f840160051c8101916020851062003308575b601f0160051c01905b818110620032fb5750620006a1565b60008155600101620032ec565b9091508190620032e3565b90607f16906200068d565b015190503880620005c2565b601f198216938360005260206000209160005b8681106200337a575083600195961062003360575b505050811b019055620005d7565b015160001960f88460031b161c1916905538808062003352565b919260206001819286850151815501940192016200333d565b826000526020600020601f830160051c81019160208410620033d5575b601f0160051c01905b818110620033c85750620005a5565b60008155600101620033b9565b9091508190620033b0565b90607f169062000591565b0151905038806200054c565b908360005260206000209160005b601f1985168110620034525750926040949260019260029583601f1981161062003438575b505050811b01815562000561565b015160001960f88460031b161c191690553880806200342a565b9192602060018192868501518155019401920162003405565b836000526020600020601f840160051c81019160208510620034ad575b601f0160051c01905b818110620034a057506200052a565b6000815560010162003491565b909150819062003488565b90607f169062000516565b01519050388062000429565b601f198216938360005260206000209160005b8681106200351f575083600195961062003505575b505050811b0190556200043e565b015160001960f88460031b161c19169055388080620034f7565b91926020600181928685015181550194019201620034e2565b826000526020600020601f830160051c810191602084106200357a575b601f0160051c01905b8181106200356d57506200040c565b600081556001016200355e565b909150819062003555565b90607f1690620003f8565b015190503880620003b3565b908360005260206000209160005b601f1985168110620035f75750926040949260019260029583601f19811610620035dd575b505050811b018155620003c8565b015160001960f88460031b161c19169055388080620035cf565b91926020600181928685015181550194019201620035aa565b836000526020600020601f840160051c8101916020851062003652575b601f0160051c01905b81811062003645575062000391565b6000815560010162003636565b90915081906200362d565b90607f16906200037d565b0151905038806200028e565b601f198216938360005260206000209160005b868110620036c45750836001959610620036aa575b505050811b019055620002a3565b015160001960f88460031b161c191690553880806200369c565b9192602060018192868501518155019401920162003687565b826000526020600020601f830160051c810191602084106200371f575b601f0160051c01905b81811062003712575062000271565b6000815560010162003703565b9091508190620036fa565b90607f16906200025d565b01519050388062000218565b908360005260206000209160005b601f19851681106200379c5750926040949260019260029583601f1981161062003782575b505050811b0181556200022d565b015160001960f88460031b161c1916905538808062003774565b919260206001819286850151815501940192016200374f565b836000526020600020601f840160051c81019160208510620037f7575b601f0160051c01905b818110620037ea5750620001f6565b60008155600101620037db565b9091508190620037d2565b90607f1690620001e2565b01519050388062000145565b90601f198316916002850160005260206000209260005b818110620038735750916001939185600296941062003859575b505050811b019101556200015b565b015160001960f88460031b161c191690553880806200384a565b9293602060018192878601518155019501930162003830565b600284016000526020600020601f840160051c81019160208510620038d1575b601f0160051c01905b818110620038c4575062000127565b60008155600101620038b5565b9091508190620038ac565b90607f169062000113565b015190503880620000cc565b908460005260206000209160005b601f19851681106200394c575091839160019360409695601f1981161062003932575b505050811b018355620000e1565b015160001960f88460031b161c1916905538808062003924565b9192602060018192868501518155019401920162003901565b846000526020600020601f840160051c81019160208510620039a7575b601f0160051c01905b8181106200399a5750620000ad565b600081556001016200398b565b909150819062003982565b90607f169062000099565b600080fd5b606081019081106001600160401b0382111762001bef57604052565b604081019081106001600160401b0382111762001bef57604052565b601f909101601f19168101906001600160401b0382119082101762001bef57604052565b6040519062003a2d82620039de565b601582527f687474703a2f2f3132372e302e302e313a3835343500000000000000000000006020830152565b60005b83811062003a6d5750506000910152565b818101518382015260200162003a5c565b81601f82011215620039bd5780516001600160401b03811162001bef576040519262003ab5601f8301601f191660200185620039fa565b81845260208284010111620039bd5762003ad6916020808501910162003a59565b90565b805182101562003aee5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfe60806040818152600491823610156200001757600080fd5b60009283803560e01c9283630982c4821462000c4357505081630a9254e41462000b7a578382631a6f93491462000a7b575081631df1ce6514620002ea5783826336d3d58f1462000981575081634fd855ab14620002ea5781636f86ff1314620002ea57816377fc70c614620008ee5781637995097814620002ea578382639642ddaf146200084e57508163b5b34603146200043157838263b84446a3146200032257508163ba414fa614620002f8578163bf506ac414620002ea5783908263cc8668de1462000234578263e13aba48146200012857505063fa7626d41462000100575b600080fd5b34620001245781600319360112620001245760209060ff6007541690519015158152f35b5080fd5b9150913462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200016e81890162001219565b03925af193841562000226578594620001ea575b506200018e846200139a565b6011541692833b15620001e657602485928385519687948593630852cd8d60e31b85528401525af1908115620001dd5750620001c75750f35b620001d29062000d7a565b620001da5780f35b80fd5b513d84823e3d90fd5b8480fd5b945092506020843d82116200021d575b81620002096020938362000ddf565b81010312620000fb57849351923862000182565b3d9150620001fa565b83513d87823e3d90fd5b5050fd5b839034620002e65782600319360112620002e65760115482516306fdde0360e01b815291849183919082906001600160a01b03165afa908115620002da5791620002ae928492620002b1575b5051906200028e8262000da5565b600d82526c15195cdd0810dbdb9d1c9858dd609a1b602083015262000fe2565b80f35b620002d29192503d8086833e620002c9818362000ddf565b81019062000f4f565b908462000280565b505051903d90823e3d90fd5b8280fd5b50505050620000fb62000d64565b50503462000124578160031936011262000124576020906200031962000e79565b90519015158152f35b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200036881890162001219565b03925af193841562000226578594620003f5575b5062000388846200139a565b6011541692833b15620001e657620003e09385928385518097819582946366d8744f60e11b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b03925af1908115620001dd5750620001c75750f35b945092506020843d821162000428575b81620004146020938362000ddf565b81010312620000fb5784935192866200037c565b3d915062000405565b905034620002e65782600319360112620002e6576011548251635aa1df0960e11b815292602092909185906001600160a01b03908590879083168185816200047b818a0162001219565b03925af1958615620008445782966200080b575b506200049b866200139a565b6011541694602484518097819363c87b56dd60e01b8352868301525afa93841562000801578594620007e1575b508151607b60f81b848201527f226e616d65223a22466f756e647279205465737420417070222c00000000000060218201527f226465736372697074696f6e223a225468697320697320612074657374206170603b8201527f706c69636174696f6e207375626d697474656420627920666f756e6472792074605b82015266195cdd1ccb888b60ca1b607b8201527f226f776e6572223a223078623463373964614238663235394337416565364535608282015274188c90584dcc8e4e0c8c4e0d8d0c8c8dd94e0d088b605a1b60a28201527f2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e787960b7820152621e888b60ea1b60d78201527f22696d616765223a2268747470733a2f2f666c65656b2e78797a222c0000000060da8201526e2261747472696275746573223a205b60881b60f68201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a22666101058201526a1b19595ad7de1e5e889f4b60aa1b6101258201527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227661013082015270185b1d59488e88985999998cd98d889f4b607a1b6101508201527f7b2274726169745f74797065223a20225265706f7369746f7279222c202276616101618201527f6c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b78796101818201526d1e8bd8dbdb9d1c9858dd1cc89f4b60921b6101a18201527f7b2274726169745f74797065223a202256657273696f6e222c202276616c75656101af82015265223a2230227d60d01b6101cf820152605d60f81b6101d5820152607d60f81b6101d68201526101b78152906101e082019067ffffffffffffffff821183831017620007cc5750620007b593836200077b620007c694603d94620002ae999752620014a1565b905195827f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000088948501528251928391868601910162000e02565b810103601d81018552018362000ddf565b62000fe2565b604190634e487b7160e01b6000525260246000fd5b620007f99194503d8087833e620002c9818362000ddf565b9238620004c8565b82513d87823e3d90fd5b85809297508193503d83116200083c575b62000828818362000ddf565b81010312620000fb5785905194386200048f565b503d6200081c565b84513d84823e3d90fd5b9291503462000230578260031936011262000230576011548251635aa1df0960e11b81529360209285926001600160a01b031691839182906200089390820162001219565b03925af1908115620001dd57508290620008b4575b620002ae91506200139a565b506020813d8211620008e5575b81620008d06020938362000ddf565b81010312620000fb57620002ae9051620008a8565b3d9150620008c1565b905034620002e65782600319360112620002e65760115482516395d89b4160e01b815291849183919082906001600160a01b03165afa908115620002da5791620002ae92849262000961575b505190620009488262000da5565b6006825265464c4b41505360d01b602083015262000fe2565b620009799192503d8086833e620002c9818362000ddf565b90386200093a565b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620009c781890162001219565b03925af19384156200022657859462000a3f575b50620009e7846200139a565b6011541692833b15620001e657620003e093859283855180978195829463246a908b60e01b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b945092506020843d821162000a72575b8162000a5e6020938362000ddf565b81010312620000fb578493519286620009db565b3d915062000a4f565b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b03906020908590831681888162000ac181890162001219565b03925af19384156200022657859462000b3e575b5062000ae1846200139a565b6011541692833b15620001e657620003e0938592838551809781958294630190503b60e61b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b945092506020843d821162000b71575b8162000b5d6020938362000ddf565b81010312620000fb57849351928662000ad5565b3d915062000b4e565b905034620002e65782600319360112620002e657815190613bb18083019183831067ffffffffffffffff84111762000c30575060c0918391620016408339848152600d858201526c15195cdd0810dbdb9d1c9858dd609a1b6060820152608060208201526006608082015265464c4b41505360d01b60a082015203019083f090811562000c25575060018060a01b03166bffffffffffffffffffffffff60a01b601154161760115580f35b51913d9150823e3d90fd5b634e487b7160e01b865260419052602485fd5b84828492346200012457816003193601126200012457601154635aa1df0960e11b82526001600160a01b03906020908390831681868162000c868b820162001219565b03925af191821562000d5a57839262000d21575b5062000ca6826200139a565b60115416803b15620002e65762000d009483855180978195829463f931517760e01b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b03925af1908115620001dd575062000d16575080f35b620002ae9062000d7a565b9091506020813d821162000d51575b8162000d3f6020938362000ddf565b81010312620002e65751908662000c9a565b3d915062000d30565b84513d85823e3d90fd5b5034620000fb576000366003190112620000fb57005b67ffffffffffffffff811162000d8f57604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111762000d8f57604052565b6060810190811067ffffffffffffffff82111762000d8f57604052565b90601f8019910116810190811067ffffffffffffffff82111762000d8f57604052565b60005b83811062000e165750506000910152565b818101518382015260200162000e05565b67ffffffffffffffff811162000d8f57601f01601f191660200190565b3d1562000e74573d9062000e588262000e27565b9162000e68604051938462000ddf565b82523d6000602084013e565b606090565b60075460081c60ff161562000e945760ff60075460081c1690565b600080737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62000eb857505090565b819060405182602082018381526519985a5b195960d21b60408401526040835262000ee38362000dc2565b62000f1f6024604051809362000f0e6020830197630667f9d760e41b89525180928585019062000e02565b810103600481018452018262000ddf565b51925af15062000f2e62000e44565b602081805181010312620001245760200151908115158203620001da575090565b602081830312620000fb5780519067ffffffffffffffff8211620000fb570181601f82011215620000fb57805162000f878162000e27565b9262000f97604051948562000ddf565b81845260208284010111620000fb5762000fb8916020808501910162000e02565b90565b9060209162000fd68151809281855285808601910162000e02565b601f01601f1916010190565b6040805191602092838101906200101385828551620010058187858a0162000e02565b810103808452018262000ddf565b51902082518481019062001035868281620010058b8781519384920162000e02565b5190200362001045575b50505050565b6200113d926200114b917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728782015263696e675d60e01b6060820152a1835195848752620010db858801604090600a8152690808115e1c1958dd195960b21b60208201520190565b968088038482015280620011127f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462000fbb565b0390a183519484869586528501604090600a815269080808081058dd1d585b60b21b60208201520190565b918483039085015262000fbb565b0390a16200115862001162565b388080806200103f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62001191575b5061010061ff00196007541617600755565b6040519060208201908082526519985a5b195960d21b60408401526001606084015260608352608083019183831067ffffffffffffffff84111762000d8f576000836200120260248397849760405260a08101956370ca10bb60e01b875262000f0e8251809260a485019062000e02565b51925af1506200121162000e44565b50386200117f565b60e09073b4c79dab8f259c7aee6e5b2aa729821864227e84815260106101008060208401528201526f0466f756e6472792054657374204170760841b61012082015260366101408060408401528201527f5468697320697320612074657374206170706c69636174696f6e207375626d69610160820152753a3a32b210313c903337bab732393c903a32b9ba399760511b61018082015262001314620012e86101a080606085015283016040906011815270343a3a38399d1797b33632b2b5973c3cbd60791b60208201520190565b82810360808401526011815270343a3a38399d1797b33632b2b5973c3cbd60791b602082015260400190565b908260808284038060a08501526009855268333632b2b5afbc3cbd60b91b60208601526040810160c0850152600760408601526630b3333319b31b60c91b606086015201910152602560808201527f68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e7460a082015264726163747360d81b60c08201520190565b80620013a35750565b6200148c60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001435828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60006020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b9060208301520390a16200149f62001162565b565b8051156200161957604051620014b78162000dc2565b604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211620016035760039182900480851b94906001600160fe1b038116036200160357926200155b620015428662000e27565b9562001552604051978862000ddf565b80875262000e27565b6020860190601f190136823793829183518401925b838110620015b157505050505106806001146200159e5760021462001593575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919062001570565b634e487b7160e01b600052601160045260246000fd5b506040516020810181811067ffffffffffffffff82111762000d8f57604052600081529056fe60406080815234620003da5762003bb190813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137399081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127595750806306fdde03146126b6578063081812fc14612698578063095ea7b31461251e57806323b872dd146124f5578063246a908b14612379578063248a9ca31461234a5780632f2ff15d1461231057806336568abe1461227e5780633806f1521461200957806342842e0e14611fe157806342966c6814611e965780636352211e14611e6657806364140ec014611cf357806370a0823114611c5c57806378278cca14611ae957806391d1485414611a9c57806395d89b41146119bd578063987c26fd146116a357806398b7079314611668578063a217fddf1461164c578063a22cb4651461157a578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661294e565b9061019f610199612ae2565b82612b08565b6000526020916006835260406000203360005283526101c560ff60406000205416612b53565b6000828152600260205260409020546101e8906001600160a01b03161515612f16565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129c3565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612bb0565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612bb0565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129fd565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612826565b61036561283c565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f761283c565b916104146001600160a01b0361040c83612f62565b163314612a14565b600081815260026020526040902054610437906001600160a01b03161515612f16565b61043f612ae2565b90612b08565b612e26565b005b3461033f57604036600319011261033f5761044a60043561046b61283c565b90806000526006602052610486600160406000200154612c1c565b612ea0565b3461033f576104993661294e565b906104a5610199612ae2565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b53565b6000828152600260205260409020546104ee906001600160a01b03161515612f16565b816000526008835260406000208151936001600160401b0385116103295761051682546129c3565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612bb0565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f16565b61066382612f62565b600092835260088252604090922091610684906001600160a01b03166135f5565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613446565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a5f565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a5f565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127de565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a5f565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a5f565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a5f565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a5f565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a5f565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127de565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128bd565b8060405161099a81612887565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613478565b6040519485925190818585016109e3926127de565b820181519182858084019201916109f9926127de565b010380845201610a0990836128bd565b6040519181839283528201610a1d91612801565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f761283c565b3461033f57608036600319011261033f57610aee612826565b610af661283c565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128f9565b9160443591613025565b61010036600319011261033f57610b49612826565b6024356001600160401b03811161033f57610b68903690600401612930565b906044356001600160401b03811161033f57610b88903690600401612930565b906064356001600160401b03811161033f57610ba8903690600401612930565b926084356001600160401b03811161033f57610bc8903690600401612930565b60a4356001600160401b03811161033f57610be7903690600401612930565b9060c4356001600160401b03811161033f57610c07903690600401612930565b9560e4356001600160401b03811161033f57610c27903690600401612930565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561151957600754956001600160a01b038116156114d557600087815260026020526040902054610d6c9190610c9e906001600160a01b031615155b1561311e565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610d386001600160a01b0361040c8a612f62565b600088815260026020526040902054610d5b906001600160a01b03161515612f16565b610445610d66612ae2565b89612b08565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610da188546129c3565b601f81116114a3575b50602090601f83116001146114375760009261142c575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610df660018801546129c3565b601f81116113f7575b50602090601f83116001146113855760009261137a575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e4e60028701546129c3565b601f8111611345575b50602090601f83116001146112d3576000926112c8575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610ea660038601546129c3565b601f8111611293575b50602090601f831160011461122157600092611216575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610efc60048401546129c3565b601f81116111e1575b50602090601f831160011461116e57600693929160009183611163575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f4e86612887565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f8182546129c3565b601f8111611131575b506020601f82116001146110c757819060019495966000926110bc575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fdd82546129c3565b601f811161108c575b508493601f821160011461102957938192939460009261101e575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580611001565b601f1982169483600052866000209160005b87811061107557508360019596971061105c575b505050811b019055611016565b015160001960f88460031b161c1916905585808061104f565b91928860018192868501518155019401920161103b565b6110b6908360005286600020601f840160051c81019188851061031f57601f0160051c01906129fd565b85610fe6565b015190508680610fa7565b601f198216958360005260206000209660005b8181106111195750916001959697918487959410611100575b505050811b018155610fbb565b015160001960f88460031b161c191690558680806110f3565b838301518955600190980197602093840193016110da565b61115d90836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129fd565b85610f8a565b015190508780610f22565b906004840160005260206000209160005b601f19851681106111c9575091839160019360069695601f198116106111b0575b505050811b016004820155610f3a565b015160001960f88460031b161c191690558780806111a0565b9192602060018192868501518155019401920161117f565b61121090600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b86610f05565b015190508780610ec6565b9250600385016000526020600020906000935b601f1984168510611278576001945083601f1981161061125f575b505050811b016003830155610ede565b015160001960f88460031b161c1916905587808061124f565b81810151835560209485019460019093019290910190611234565b6112c290600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b88610eaf565b015190508880610e6e565b9250600286016000526020600020906000935b601f198416851061132a576001945083601f19811610611311575b505050811b016002840155610e86565b015160001960f88460031b161c19169055888080611301565b818101518355602094850194600190930192909101906112e6565b61137490600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b89610e57565b015190508980610e16565b9250600187016000526020600020906000935b601f19841685106113dc576001945083601f198116106113c3575b505050811b016001850155610e2e565b015160001960f88460031b161c191690558980806113b3565b81810151835560209485019460019093019290910190611398565b61142690600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8a610dff565b015190508a80610dc1565b9250876000526020600020906000935b601f1984168510611488576001945083601f1981161061146f575b505050811b018555610dd6565b015160001960f88460031b161c191690558a8080611462565b81810151835560209485019460019093019290910190611447565b6114cf90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8b610daa565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f57611593612826565b6024359081151580920361033f576001600160a01b03169033821461160757336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b6116ac3661297d565b91906116c26001600160a01b0361040c84612f62565b6000828152600260205260409020546116e5906001600160a01b03161515612f16565b6116f66116f0612ae2565b83612b08565b60005260209260068452604060002033600052845261171c60ff60406000205416612b53565b60008381526002602052604090205461173f906001600160a01b03161515612f16565b60405161174b81612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916117ad82546129c3565b93601f948c868211611978575b50508b90858311600114611912576000919083611907575b50508682851b9260031b1c19161781555b019451978851948511610329576117fa86546129c3565b8281116118cf575b508091851160011461186657508392918391611833989960009561185b575b50501b9260031b1c1916179055612bb0565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b015193508980611821565b91939290601f198416988660005283600020936000905b8b82106118b857505084611833999a106118a0575b50505050811b019055612bb0565b01519060f88460031b161c1916905586808080611892565b80888597829496860151815501960193019061187d565b6118f89087600052826000208480890160051c820192858a106118fe575b0160051c01906129fd565b89611802565b925081926118ed565b015190508c806117d2565b60008481528d8120929190601f198516908f5b82821061195f5750509084879594939210611948575b505050811b0181556117e3565b01518860f88460031b161c191690558c808061193b565b8484015186558a98909501949384019390810190611925565b6119a0918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6117ba565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119e1826129c3565b80855291818116908115611a755750600114611a1c575b610a1d84611a08818603826128bd565b604051918291602083526020830190612801565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a5d575050508101602001611a08826119f8565b80546020858701810191909152909301928101611a45565b60ff191660208087019190915292151560051b85019092019250611a0891508390506119f8565b3461033f57604036600319011261033f57611ab561283c565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611af73661294e565b90611b03610199612ae2565b600052602091600683526040600020336000528352611b2960ff60406000205416612b53565b600082815260026020526040902054611b4c906001600160a01b03161515612f16565b816000526008835260046040600020018151936001600160401b03851161032957611b7782546129c3565b601f8111611c2c575b5080601f8611600114611bdc57509380611bb4949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c14575050918691611bb49697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611bef565b611c56908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611b80565b3461033f57602036600319011261033f576001600160a01b03611c7d612826565b168015611c9c5760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611d013661294e565b90611d0d610199612ae2565b600052602091600683526040600020336000528352611d3360ff60406000205416612b53565b600082815260026020526040902054611d56906001600160a01b03161515612f16565b816000526008835260026040600020018151936001600160401b03851161032957611d8182546129c3565b601f8111611e36575b5080601f8611600114611de657509380611dbe949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e1e575050918691611dbe9697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611df9565b611e60908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611d8a565b3461033f57602036600319011261033f576020611e84600435612f62565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611eb76116f0612ae2565b600052600681526040600020336000528152611eda60ff60406000205416612b53565b8160006001600160a01b03611efa3382611ef386612f62565b1614612a14565b611f0383612f62565b50611f0d83612f62565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f8f6003604060002001546129c3565b611f9557005b600891600052526000600560408220611fad81612bd0565b611fb960018201612bd0565b611fc560028201612bd0565b611fd160038201612bd0565b611fdd60048201612bd0565b0155005b3461033f5761044a611ff236612852565b9060405192612000846128a2565b60008452613025565b3461033f576120173661297d565b91906120246116f0612ae2565b60005260209260068452604060002033600052845261204a60ff60406000205416612b53565b60008381526002602052604090205461206d906001600160a01b03161515612f16565b60405161207981612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916120db82546129c3565b93601f948c86821161224f575b50508b908583116001146121e95760009190836121de575b50508682851b9260031b1c19161781555b0194519788519485116103295761212886546129c3565b8281116121b0575b508091851160011461216057508392918391611833989960009561185b5750501b9260031b1c1916179055612bb0565b91939290601f198416988660005283600020936000905b8b821061219957505084611833999a106118a05750505050811b019055612bb0565b808885978294968601518155019601930190612177565b6121d89087600052826000208480890160051c820192858a106118fe570160051c01906129fd565b89612130565b015190508c80612100565b60008481528d8120929190601f198516908f5b828210612236575050908487959493921061221f575b505050811b018155612111565b01518860f88460031b161c191690558c8080612212565b8484015186558a989095019493840193908101906121fc565b612277918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6120e8565b3461033f57604036600319011261033f5761229761283c565b336001600160a01b038216036122b35761044a90600435612ea0565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561232f61283c565b90806000526006602052610445600160406000200154612c1c565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123873661294e565b90612393610199612ae2565b6000526020916006835260406000203360005283526123b960ff60406000205416612b53565b6000828152600260205260409020546123dc906001600160a01b03161515612f16565b8160005260088352600180604060002001908251906001600160401b0382116103295761240983546129c3565b601f81116124c5575b5085601f83116001146124785750818091612445969760009361246d575b501b916000199060031b1c1916179055612bb0565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b860151925088612430565b601f929192198216968460005281600020916000905b8982106124ae575050826124459798106105be575050811b019055612bb0565b808684958294958b0151815501940192019061248e565b6124ef908460005287600020601f850160051c81019189861061031f57601f0160051c01906129fd565b86612412565b3461033f5761044a61250636612852565b9161251961251484336130b0565b612fc3565b6131c4565b3461033f57604036600319011261033f57612537612826565b602435906001600160a01b03808061254e85612f62565b1692169180831461264957803314908115612624575b50156125b957600083815260046020526040902080546001600160a01b0319168317905561259183612f62565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612564565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e84600435612f85565b3461033f57600036600319011261033f57604051600080546126d7816129c3565b80845290600190818116908115611a75575060011461270057610a1d84611a08818603826128bd565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410612741575050508101602001611a08826119f8565b80546020858701810191909152909301928101612729565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b811490811561279b575b5015158152f35b6380ac58cd60e01b8114915081156127cd575b81156127bc575b5083612794565b6301ffc9a760e01b149050836127b5565b635b5e139f60e01b811491506127ae565b60005b8381106127f15750506000910152565b81810151838201526020016127e1565b9060209161281a815180928185528580860191016127de565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b929192612905826128de565b9161291360405193846128bd565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f5781602061294b933591016128f9565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f5761294b91600401612930565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129ac91600401612930565b9260443591821161033f5761294b91600401612930565b90600182811c921680156129f3575b60208310146129dd57565b634e487b7160e01b600052602260045260246000fd5b91607f16916129d2565b818110612a08575050565b600081556001016129fd565b15612a1b57565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a6e816129c3565b92600191808316908115612ac75750600114612a8b575b50505050565b90919293945060005260209081600020906000915b858310612ab65750505050019038808080612a85565b805485840152918301918101612aa0565b60ff1916845250505081151590910201915038808080612a85565b60405190612aef82612887565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b4d60466040518093602082019565544f4b454e5f60d01b8752612b378151809260206026870191016127de565b82019060268201520360268101845201826128bd565b51902090565b15612b5a57565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bc8906020604051928284809451938492016127de565b810103902090565b612bda81546129c3565b9081612be4575050565b81601f60009311600114612bf6575055565b81835260208320612c1291601f0160051c8101906001016129fd565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c465750505050565b612c4f336135f5565b91845190608082018281106001600160401b03821117612e1257865260428252848201926060368537825115612dfe5760308453825190600191821015612dfe5790607860218501536041915b818311612d9057505050612d4e576048612d4a938693612d2e93612d1f98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612cf6815180928c6037890191016127de565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127de565b010360288101875201856128bd565b5192839262461bcd60e51b845260048401526024830190612801565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dea576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dc085876135ce565b5360041c928015612dd657600019019190612c9c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e5857505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ed157505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f1d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b031661294b811515612f16565b600081815260026020526040902054612fa8906001600160a01b03161515612f16565b6000908152600460205260409020546001600160a01b031690565b15612fca57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061304993929161303961251484336130b0565b6130448383836131c4565b6132da565b1561305057565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130c484612f62565b169316918383149384156130f7575b5083156130e1575b50505090565b6130ed91929350612f85565b16143880806130db565b909350600052600560205260406000208260005260205260ff6040600020541692386130d3565b1561312557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561317157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131ec916131d284612f62565b6001600160a01b039391841692849290918316841461316a565b1691821561328957816132099161320286612f62565b161461316a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b1561343b579484916133349660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612801565b0393165af18491816133f7575b506133e6575050503d6000146133de573d61335b816128de565b9061336960405192836128bd565b81528091833d92013e5b805191826133db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b506060613373565b6001600160e01b0319161492509050565b9091508581813d8311613434575b61340f81836128bd565b8101031261343057516001600160e01b031981168103613430579038613341565b8480fd5b503d613405565b505050915050600190565b90613450826128de565b61345d60405191826128bd565b828152809261346e601f19916128de565b0190602036910137565b8051156135ba57604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f604082015281516002928382018092116119a7576003918290046001600160fe1b03811681036119a75761351d908594951b613446565b936020850193829183518401925b83811061356957505050505106806001146135565760021461354b575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919061352b565b506040516135c7816128a2565b6000815290565b9081518110156135df570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135df576030905381516001908110156135df57607860218401536029905b8082116136955750506136515790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136c484866135ce565b5360041c9180156136d9576000190190613641565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea26469706673582212203dba85c3f8a5ea44ed4e11e06a0ce04d8f24a1b12f7e59a91b9900f3329f942364736f6c63430008110033a2646970667358221220edadfbb07746c1a97ce033660cf75ff8534d9c5f8c6bb126d82af9ed21c38a7864736f6c63430008110033", - "sourceMap": "98:4988:30:-:0;;;;;;;1594:4:2;98:4988:30;;1594:4:2;98:4988:30;;;1594:4:2;98:4988:30;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;6017:5:6;98:4988:30;6002:46:6;;98:4988:30;;;:::i;:::-;;6002:46:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6002:46:6;;98:4988:30;1594:4:2;98:4988:30;;;6002:46:6;98:4988:30;;;;-1:-1:-1;;;;;98:4988:30;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:4988:30;;-1:-1:-1;;;98:4988:30;;;;;;6017:5:6;98:4988:30;6081:48:6;;98:4988:30;;;:::i;:::-;;6081:48:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6081:48:6;;98:4988:30;1594:4:2;98:4988:30;;;;6081:48:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:4988:30;;-1:-1:-1;;;98:4988:30;;;;;;1594:4:2;98:4988:30;6162:84:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;6162:84:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6162:84:6;;98:4988:30;1594:4:2;98:4988:30;;;;6162:84:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;;;6278:82:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;6278:82:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6278:82:6;;98:4988:30;1594:4:2;98:4988:30;;;;6278:82:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:4988:30;;-1:-1:-1;;;98:4988:30;;;;;;6410:8:6;98:4988:30;6393:53:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6393:53:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6393:53:6;;98:4988:30;1594:4:2;98:4988:30;;;;6393:53:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;6498:2:6;98:4988:30;6480:52:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6480:52:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6480:52:6;;98:4988:30;1594:4:2;98:4988:30;;;;6480:52:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;6598:3:6;98:4988:30;6573:59:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6573:59:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6573:59:6;;98:4988:30;1594:4:2;98:4988:30;;;;6573:59:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;6692:5:6;98:4988:30;6670:60:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6670:60:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6670:60:6;;98:4988:30;1594:4:2;98:4988:30;;;;6670:60:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;6804:6:6;98:4988:30;6775:77:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;6775:77:6;;98:4988:30;;;;;;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6775:77:6;;98:4988:30;1594:4:2;98:4988:30;;;;6775:77:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;6914:5:6;98:4988:30;6891:61:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6891:61:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6891:61:6;;98:4988:30;1594:4:2;98:4988:30;;;;6891:61:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:4988:30;;-1:-1:-1;;;98:4988:30;;;;;;7002:3:6;98:4988:30;6985:48:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;6985:48:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;6985:48:6;;98:4988:30;1594:4:2;98:4988:30;;;;6985:48:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;7097:5:6;98:4988:30;7073:64:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;7073:64:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7073:64:6;;98:4988:30;1594:4:2;98:4988:30;;;;7073:64:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;5981:9:6;98:4988:30;;-1:-1:-1;;;98:4988:30;;;;;;7191:5:6;98:4988:30;7172:66:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;7172:66:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7172:66:6;;98:4988:30;1594:4:2;98:4988:30;;;;7172:66:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;7302:5:6;98:4988:30;7278:76:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;7278:76:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7278:76:6;;98:4988:30;1594:4:2;98:4988:30;;;;7278:76:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;7420:2:6;98:4988:30;7395:65:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;7395:65:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7395:65:6;;98:4988:30;1594:4:2;98:4988:30;;;;7395:65:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;7542:2:6;98:4988:30;7509:86:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;7509:86:6;;98:4988:30;;;;;;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7509:86:6;;98:4988:30;1594:4:2;98:4988:30;;;;7509:86:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:4988:30;;;;;;7680:3:6;98:4988:30;7658:57:6;;98:4988:30;;;;;;:::i;:::-;;;;;;;;;;7658:57:6;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;5981:9:6;98:4988:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;7658:57:6;;98:4988:30;1594:4:2;98:4988:30;;;;7658:57:6;;98:4988:30;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;-1:-1:-1;;;7830:18:6;;98:4988:30;;7830:18:6;98:4988:30;;7830:18:6;;;;;;;98:4988:30;7830:18:6;;;98:4988:30;7863:13:6;98:4988:30;7895:3:6;98:4988:30;;7878:15:6;;;;;98:4988:30;7947:7:6;;;;:::i;:::-;;:11;;98:4988:30;214:63:6;98:4988:30;7924:7:6;;;;:::i;:::-;;:12;98:4988:30;;;;;;;;;214:63:6;;;;;:::i;:::-;5981:9;214:63;;;98:4988:30;;;214:63:6;;;;98:4988:30;;7914:30:6;;;-1:-1:-1;;;;;98:4988:30;;;;;;;1594:4:2;98:4988:30;;;;;;;;;7895:3:6;98:4988:30;;;;;;;;;;;;;7895:3:6;98:4988:30;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;-1:-1:-1;;214:63:6;;;;1594:4:2;214:63:6;7863:13;;214:63;98:4988:30;;;;214:63:6;;7830:18;214:63;;98:4988:30;214:63:6;98:4988:30;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;7830:18:6;98:4988:30;;;;;;;;;;;;;;;;;;7830:18:6;98:4988:30;;;;7878:15:6;98:4988:30;;;;;;;;;;;;7830:18:6;;;;;;;;;;;;:::i;:::-;98:4988:30;7830:18:6;;;;214:63;;;;;;-1:-1:-1;;;;;214:63:6;;;;7830:18;;;98:4988:30;214:63:6;;;;;;;;;;;;;-1:-1:-1;;;;;214:63:6;;;;;98:4988:30;214:63:6;98:4988:30;;;214:63:6;98:4988:30;;214:63:6;;98:4988:30;;:::i;:::-;214:63:6;;98:4988:30;214:63:6;;7830:18;;;;98:4988:30;214:63:6;;;;;;;;;98:4988:30;214:63:6;;;;;;98:4988:30;214:63:6;;;;;;;;;;7830:18;;;;;;;;;;214:63;;;-1:-1:-1;;;;;214:63:6;;;;98:4988:30;214:63:6;;;;;7830:18;;;214:63;-1:-1:-1;;214:63:6;;;;98:4988:30;;;;;;;-1:-1:-1;;;;;;;;98:4988:30;;;;;;;;;;;;214:63:6;;;;;98:4988:30;214:63:6;;-1:-1:-1;;;;;214:63:6;;;;;7830:18;98:4988:30;7830:18:6;;;214:63;;;;;;;;;:::i;:::-;;;;;;;;98:4988:30;214:63:6;;-1:-1:-1;;;;;214:63:6;;;;7830:18;98:4988:30;7830:18:6;;214:63;7830:18;;;;;;;;;214:63;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;;7830:18:6;98:4988:30;;;;214:63:6;98:4988:30;;;214:63:6;98:4988:30;;;214:63:6;-1:-1:-1;;;98:4988:30;;;7830:18:6;98:4988:30;;;;214:63:6;98:4988:30;;7830:18:6;98:4988:30;;214:63:6;98:4988:30;214:63:6;;;;;98:4988:30;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:4988:30;;;;;;-1:-1:-1;98:4988:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;98:4988:30;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;98:4988:30;;;;;;;:::o;:::-;;;;;-1:-1:-1;;98:4988:30;;;;-1:-1:-1;;;;;98:4988:30;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;214:63:6:-;;;;;;;;-1:-1:-1;;214:63:6;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;98:4988:30;;;;;;;;;;;-1:-1:-1;;98:4988:30;214:63:6;98:4988:30;;;:::i;:::-;214:63:6;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;98:4988:30;;214:63:6;;;;;;;;;;;;:::o;:::-;98:4988:30;;;214:63:6;;;;;;;", + "object": "0x60808060405234620039bd57600160ff1960075416176007556200002381620039c2565b6040516200003181620039de565b6005815264105b9d9a5b60da1b60208201528152617a6960208201526200005762003a1e565b6040820152602560405164185b9d9a5b60da1b8152600960058201522090805180519060018060401b03821162001bef578354600181811c91168015620039b2575b602082101462001bce57601f811162003965575b50602090601f8311600114620038f357604093929160009183620038e7575b50508160011b916000199060031b1c19161783555b6020810151600184015501518051906001600160401b03821162001bef576002830154600181811c91168015620038dc575b602082101462001bce57601f81116200388c575b50602090601f8311600114620038195760029291600091836200380d575b50508160011b916000199060031b1c1916179101555b6040516200016981620039c2565b6040516200017781620039de565b600781526612185c991a185d60ca1b60208201528152617a6960208201526200019f62003a1e565b60408201526027604051661a185c991a185d60ca1b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562003802575b602082101462001bce57601f8111620037b5575b50602090601f8311600114620037415791806040949260029460009262003735575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200372a575b602082101462001bce57601f8111620036dd575b50602092601f821160011462003674579281929360009262003668575b50508160011b916000199060031b1c19161790555b604051620002b181620039c2565b604051620002bf81620039de565b600781526613585a5b9b995d60ca1b6020820152815260016020820152604051620002ea81620039c2565b603d81527f68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f36373760208201527f3034353462633665613432633538616163313239373835333162393366000000604082015260408201526027604051661b585a5b9b995d60ca1b81526009600782015220815180519060018060401b03821162001bef578254600181811c911680156200365d575b602082101462001bce57601f811162003610575b50602090601f83116001146200359c5791806040949260029460009262003590575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562003585575b602082101462001bce57601f811162003538575b50602092601f8211600114620034cf5792819293600092620034c3575b50508160011b916000199060031b1c19161790555b6040516200044c81620039c2565b6040516200045a81620039de565b6006815265476f65726c6960d01b60208201528152600560208201526040516200048481620039c2565b603c81527f68747470733a2f2f676f65726c692e696e667572612e696f2f76332f3637373060208201527f343534626336656134326335386161633132393738353331623933660000000060408201526040820152602660405165676f65726c6960d01b81526009600682015220815180519060018060401b03821162001bef578254600181811c91168015620034b8575b602082101462001bce57601f81116200346b575b50602090601f8311600114620033f757918060409492600294600092620033eb575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620033e0575b602082101462001bce57601f811162003393575b50602092601f82116001146200332a57928192936000926200331e575b50508160011b916000199060031b1c19161790555b604051620005e581620039c2565b604051620005f381620039de565b60078152665365706f6c696160c81b6020820152815262aa36a760208201526040516200062081620039de565b601781527f68747470733a2f2f7270632e7365706f6c69612e646576000000000000000000602082015260408201526027604051667365706f6c696160c81b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562003313575b602082101462001bce57601f8111620032c6575b50602090601f8311600114620032525791806040949260029460009262003246575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200323b575b602082101462001bce57601f8111620031ee575b50602092601f821160011462003185579281929360009262003179575b50508160011b916000199060031b1c19161790555b6040516200075c81620039c2565b6040516200076a81620039de565b60088152674f7074696d69736d60c01b60208201528152600a60208201526040516200079681620039de565b601b81527f68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f0000000000602082015260408201526028604051676f7074696d69736d60c01b81526009600882015220815180519060018060401b03821162001bef578254600181811c911680156200316e575b602082101462001bce57601f811162003121575b50602090601f8311600114620030ad57918060409492600294600092620030a1575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562003096575b602082101462001bce57601f811162003049575b50602092601f821160011462002fe0579281929360009262002fd4575b50508160011b916000199060031b1c19161790555b604051620008d381620039c2565b604051620008e181620039de565b600f81526e4f7074696d69736d20476f65726c6960881b602082015281526101a460208201526040516200091581620039de565b601a81527f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f00000000000060208201526040820152602f6040516e6f7074696d69736d5f676f65726c6960881b81526009600f82015220815180519060018060401b03821162001bef578254600181811c9116801562002fc9575b602082101462001bce57601f811162002f7c575b50602090601f831160011462002f085791806040949260029460009262002efc575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002ef1575b602082101462001bce57601f811162002ea4575b50602092601f821160011462002e3b579281929360009262002e2f575b50508160011b916000199060031b1c19161790555b60405162000a5981620039c2565b60405162000a6781620039de565b600c81526b417262697472756d204f6e6560a01b6020820152815261a4b1602082015260405162000a9881620039de565b601c81527f68747470733a2f2f617262312e617262697472756d2e696f2f7270630000000060208201526040820152602c6040516b617262697472756d5f6f6e6560a01b81526009600c82015220815180519060018060401b03821162001bef578254600181811c9116801562002e24575b602082101462001bce57601f811162002dd7575b50602090601f831160011462002d635791806040949260029460009262002d57575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002d4c575b602082101462001bce57601f811162002cff575b50602092601f821160011462002c96579281929360009262002c8a575b50508160011b916000199060031b1c19161790555b60405162000bd981620039c2565b60405162000be781620039de565b601381527f417262697472756d204f6e6520476f65726c69000000000000000000000000006020820152815262066eed602082015260405162000c2a81620039c2565b602581527f68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696020820152646f2f72706360d81b6040820152604082015260336040517f617262697472756d5f6f6e655f676f65726c690000000000000000000000000081526009601382015220815180519060018060401b03821162001bef578254600181811c9116801562002c7f575b602082101462001bce57601f811162002c32575b50602090601f831160011462002bbe5791806040949260029460009262002bb2575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002ba7575b602082101462001bce57601f811162002b5a575b50602092601f821160011462002af1579281929360009262002ae5575b50508160011b916000199060031b1c19161790555b60405162000d8a81620039c2565b60405162000d9881620039de565b600d81526c417262697472756d204e6f766160981b6020820152815261a4ba602082015260405162000dca81620039de565b601c81527f68747470733a2f2f6e6f76612e617262697472756d2e696f2f7270630000000060208201526040820152602d6040516c617262697472756d5f6e6f766160981b81526009600d82015220815180519060018060401b03821162001bef578254600181811c9116801562002ada575b602082101462001bce57601f811162002a8d575b50602090601f831160011462002a195791806040949260029460009262002a0d575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002a02575b602082101462001bce57601f8111620029b5575b50602092601f82116001146200294c579281929360009262002940575b50508160011b916000199060031b1c19161790555b60405162000f0c81620039c2565b60405162000f1a81620039de565b60078152662837b63cb3b7b760c91b602082015281526089602082015260405162000f4581620039de565b601781527f68747470733a2f2f706f6c79676f6e2d7270632e636f6d000000000000000000602082015260408201526027604051663837b63cb3b7b760c91b81526009600782015220815180519060018060401b03821162001bef578254600181811c9116801562002935575b602082101462001bce57601f8111620028e8575b50602090601f831160011462002876579180604094926002946000926200286a575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c911680156200285f575b602082101462001bce57601f811162002812575b50602092601f8211600114620027a957928192936000926200279d575b50508160011b916000199060031b1c19161790555b6040516200108181620039c2565b6040516200108f81620039de565b600e81526d506f6c79676f6e204d756d62616960901b60208201528152620138816020820152604051620010c381620039de565b601e81527f68747470733a2f2f7270632d6d756d6261692e6d617469632e746f646179000060208201526040820152602e6040516d706f6c79676f6e5f6d756d62616960901b81526009600e82015220815180519060018060401b03821162001bef578254600181811c9116801562002792575b602082101462001bce57601f811162002745575b50602090601f8311600114620026d357918060409492600294600092620026c7575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620026bc575b602082101462001bce57601f81116200266f575b50602092601f8211600114620026065792819293600092620025fa575b50508160011b916000199060031b1c19161790555b6040516200120681620039c2565b6040516200121481620039de565b60098152684176616c616e63686560b81b6020820152815261a86a60208201526040516200124281620039c2565b602581527f68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f602082015264432f72706360d81b604082015260408201526029604051686176616c616e63686560b81b815260098082015220815180519060018060401b03821162001bef578254600181811c91168015620025ef575b602082101462001bce57601f8111620025a2575b50602090601f8311600114620025305791806040949260029460009262002524575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002519575b602082101462001bce57601f8111620024cc575b50602092601f821160011462002463579281929360009262002457575b50508160011b916000199060031b1c19161790555b6040516200138d81620039c2565b6040516200139b81620039de565b600e81526d4176616c616e6368652046756a6960901b6020820152815261a8696020820152604051620013ce81620039c2565b602a81527f68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578602082015269742f62632f432f72706360b01b60408201526040820152602e6040516d6176616c616e6368655f66756a6960901b81526009600e82015220815180519060018060401b03821162001bef578254600181811c911680156200244c575b602082101462001bce57601f8111620023ff575b50602090601f83116001146200238d5791806040949260029460009262002381575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002376575b602082101462001bce57601f811162002329575b50602092601f8211600114620022c05792819293600092620022b4575b50508160011b916000199060031b1c19161790555b6040516200152481620039c2565b6040516200153281620039de565b600f81526e2127211029b6b0b93a1021b430b4b760891b60208201528152603860208201526040516200156581620039c2565b602181527f68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f726020820152606760f81b60408201526040820152602f6040516e3137312fb9b6b0b93a2fb1b430b4b760891b81526009600f82015220815180519060018060401b03821162001bef578254600181811c91168015620022a9575b602082101462001bce57601f81116200225c575b50602090601f8311600114620021ea57918060409492600294600092620021de575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c91168015620021d3575b602082101462001bce57601f811162002186575b50602092601f82116001146200211d579281929360009262002111575b50508160011b916000199060031b1c19161790555b604051620016b381620039c2565b604051620016c181620039de565b601781527f424e4220536d61727420436861696e20546573746e657400000000000000000060208201528152606160208201526040516200170281620039c2565b602e81527f68747470733a2f2f646174612d736565642d7072656273632d312d73312e626960208201526d6e616e63652e6f72673a3835343560901b6040820152604082015260376040517f626e625f736d6172745f636861696e5f746573746e657400000000000000000081526009601782015220815180519060018060401b03821162001bef578254600181811c9116801562002106575b602082101462001bce57601f8111620020b9575b50602090601f831160011462002047579180604094926002946000926200203b575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562002030575b602082101462001bce57601f811162001fe3575b50602092601f821160011462001f7a579281929360009262001f6e575b50508160011b916000199060031b1c19161790555b6040516200186b81620039c2565b6040516200187981620039de565b600c81526b23b737b9b4b99021b430b4b760a11b6020820152815260646020820152604051620018a981620039de565b601b81527f68747470733a2f2f7270632e676e6f736973636861696e2e636f6d000000000060208201526040820152602c6040516b33b737b9b4b9afb1b430b4b760a11b81526009600c82015220815180519060018060401b03821162001bef578254600181811c9116801562001f63575b602082101462001bce57601f811162001f16575b50602090601f831160011462001ea45791806040949260029460009262001e98575b50508160011b916000199060031b1c19161781555b602084015160018201550191015190815160018060401b03811162001bef578154600181811c9116801562001e8d575b602082101462001bce57601f811162001e40575b50602092601f821160011462001dd7579281929360009262001dcb575b50508160011b916000199060031b1c19161790555b604051634e956b9560e11b8152600081600481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562001dbf5760009162001c1a575b5060005b815181101562001c0557602062001a33828462003ad9565b510151600262001a60602062001a4a858762003ad9565b5151816040519382858094519384920162003a59565b60099082019081520301902082519101916001600160401b03821162001bef57825490600182811c9216801562001be4575b602083101462001bce5781601f84931162001b76575b50602090601f831160011462001b0b5760009262001aff575b50508160011b916000199060031b1c19161790555b600019811462001ae95760010162001a1b565b634e487b7160e01b600052601160045260246000fd5b01519050388062001ac1565b6000858152602081209350601f198516905b81811062001b5d575090846001959493921062001b43575b505050811b01905562001ad6565b015160001960f88460031b161c1916905538808062001b35565b9293602060018192878601518155019501930162001b1d565b909150836000526020600020601f840160051c8101916020851062001bc3575b90601f859493920160051c01905b81811062001bb3575062001aa8565b6000815584935060010162001ba4565b909150819062001b96565b634e487b7160e01b600052602260045260246000fd5b91607f169162001a92565b634e487b7160e01b600052604160045260246000fd5b60006008556040516159fc908162003b058239f35b903d908181843e62001c2d8284620039fa565b602083838101031262001dbc5782516001600160401b03811162001da457828401601f82860101121562001da45783810151936001600160401b03851162001da8578460051b926040519562001c876020860188620039fa565b8652602086019285830160208683860101011162001da457602081840101935b6020868386010101851062001cc457505050505050503862001a17565b84516001600160401b03811162001da0576040858401820189870103601f19011262001da05760408051919082018083116001600160401b039091111762001d8c57604082810190528584018101602001516001600160401b03811162001d885762001d3d9060208b89019184888b0101010162003a7e565b82528584018101604001516001600160401b03811162001d8857926020939262001d768594938580958e8c01928a8d0101010162003a7e565b83820152815201950194905062001ca7565b8580fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b80fd5b6040513d6000823e3d90fd5b015190503880620019c7565b601f198216938360005260206000209160005b86811062001e27575083600195961062001e0d575b505050811b019055620019dc565b015160001960f88460031b161c1916905538808062001dff565b9192602060018192868501518155019401920162001dea565b826000526020600020601f830160051c8101916020841062001e82575b601f0160051c01905b81811062001e755750620019aa565b6000815560010162001e66565b909150819062001e5d565b90607f169062001996565b01519050388062001951565b90601f198316918460005260206000209260005b81811062001efd5750926001928592600296604098961062001ee3575b505050811b01815562001966565b015160001960f88460031b161c1916905538808062001ed5565b9293602060018192878601518155019501930162001eb8565b836000526020600020601f840160051c8101916020851062001f58575b601f0160051c01905b81811062001f4b57506200192f565b6000815560010162001f3c565b909150819062001f33565b90607f16906200191b565b01519050388062001848565b601f198216938360005260206000209160005b86811062001fca575083600195961062001fb0575b505050811b0190556200185d565b015160001960f88460031b161c1916905538808062001fa2565b9192602060018192868501518155019401920162001f8d565b826000526020600020601f830160051c8101916020841062002025575b601f0160051c01905b8181106200201857506200182b565b6000815560010162002009565b909150819062002000565b90607f169062001817565b015190503880620017d2565b90601f198316918460005260206000209260005b818110620020a05750926001928592600296604098961062002086575b505050811b018155620017e7565b015160001960f88460031b161c1916905538808062002078565b929360206001819287860151815501950193016200205b565b836000526020600020601f840160051c81019160208510620020fb575b601f0160051c01905b818110620020ee5750620017b0565b60008155600101620020df565b9091508190620020d6565b90607f16906200179c565b01519050388062001690565b601f198216938360005260206000209160005b8681106200216d575083600195961062002153575b505050811b019055620016a5565b015160001960f88460031b161c1916905538808062002145565b9192602060018192868501518155019401920162002130565b826000526020600020601f830160051c81019160208410620021c8575b601f0160051c01905b818110620021bb575062001673565b60008155600101620021ac565b9091508190620021a3565b90607f16906200165f565b0151905038806200161a565b90601f198316918460005260206000209260005b818110620022435750926001928592600296604098961062002229575b505050811b0181556200162f565b015160001960f88460031b161c191690553880806200221b565b92936020600181928786015181550195019301620021fe565b836000526020600020601f840160051c810191602085106200229e575b601f0160051c01905b818110620022915750620015f8565b6000815560010162002282565b909150819062002279565b90607f1690620015e4565b01519050388062001501565b601f198216938360005260206000209160005b868110620023105750836001959610620022f6575b505050811b01905562001516565b015160001960f88460031b161c19169055388080620022e8565b91926020600181928685015181550194019201620022d3565b826000526020600020601f830160051c810191602084106200236b575b601f0160051c01905b8181106200235e5750620014e4565b600081556001016200234f565b909150819062002346565b90607f1690620014d0565b0151905038806200148b565b90601f198316918460005260206000209260005b818110620023e657509260019285926002966040989610620023cc575b505050811b018155620014a0565b015160001960f88460031b161c19169055388080620023be565b92936020600181928786015181550195019301620023a1565b836000526020600020601f840160051c8101916020851062002441575b601f0160051c01905b81811062002434575062001469565b6000815560010162002425565b90915081906200241c565b90607f169062001455565b0151905038806200136a565b601f198216938360005260206000209160005b868110620024b3575083600195961062002499575b505050811b0190556200137f565b015160001960f88460031b161c191690553880806200248b565b9192602060018192868501518155019401920162002476565b826000526020600020601f830160051c810191602084106200250e575b601f0160051c01905b8181106200250157506200134d565b60008155600101620024f2565b9091508190620024e9565b90607f169062001339565b015190503880620012f4565b90601f198316918460005260206000209260005b81811062002589575092600192859260029660409896106200256f575b505050811b01815562001309565b015160001960f88460031b161c1916905538808062002561565b9293602060018192878601518155019501930162002544565b836000526020600020601f840160051c81019160208510620025e4575b601f0160051c01905b818110620025d75750620012d2565b60008155600101620025c8565b9091508190620025bf565b90607f1690620012be565b015190503880620011e3565b601f198216938360005260206000209160005b8681106200265657508360019596106200263c575b505050811b019055620011f8565b015160001960f88460031b161c191690553880806200262e565b9192602060018192868501518155019401920162002619565b826000526020600020601f830160051c81019160208410620026b1575b601f0160051c01905b818110620026a45750620011c6565b6000815560010162002695565b90915081906200268c565b90607f1690620011b2565b0151905038806200116d565b90601f198316918460005260206000209260005b8181106200272c5750926001928592600296604098961062002712575b505050811b01815562001182565b015160001960f88460031b161c1916905538808062002704565b92936020600181928786015181550195019301620026e7565b836000526020600020601f840160051c8101916020851062002787575b601f0160051c01905b8181106200277a57506200114b565b600081556001016200276b565b909150819062002762565b90607f169062001137565b0151905038806200105e565b601f198216938360005260206000209160005b868110620027f95750836001959610620027df575b505050811b01905562001073565b015160001960f88460031b161c19169055388080620027d1565b91926020600181928685015181550194019201620027bc565b826000526020600020601f830160051c8101916020841062002854575b601f0160051c01905b81811062002847575062001041565b6000815560010162002838565b90915081906200282f565b90607f16906200102d565b01519050388062000fe8565b90601f198316918460005260206000209260005b818110620028cf57509260019285926002966040989610620028b5575b505050811b01815562000ffd565b015160001960f88460031b161c19169055388080620028a7565b929360206001819287860151815501950193016200288a565b836000526020600020601f840160051c810191602085106200292a575b601f0160051c01905b8181106200291d575062000fc6565b600081556001016200290e565b909150819062002905565b90607f169062000fb2565b01519050388062000ee9565b601f198216938360005260206000209160005b8681106200299c575083600195961062002982575b505050811b01905562000efe565b015160001960f88460031b161c1916905538808062002974565b919260206001819286850151815501940192016200295f565b826000526020600020601f830160051c81019160208410620029f7575b601f0160051c01905b818110620029ea575062000ecc565b60008155600101620029db565b9091508190620029d2565b90607f169062000eb8565b01519050388062000e73565b908360005260206000209160005b601f198516811062002a745750926040949260019260029583601f1981161062002a5a575b505050811b01815562000e88565b015160001960f88460031b161c1916905538808062002a4c565b9192602060018192868501518155019401920162002a27565b836000526020600020601f840160051c8101916020851062002acf575b601f0160051c01905b81811062002ac2575062000e51565b6000815560010162002ab3565b909150819062002aaa565b90607f169062000e3d565b01519050388062000d67565b601f198216938360005260206000209160005b86811062002b41575083600195961062002b27575b505050811b01905562000d7c565b015160001960f88460031b161c1916905538808062002b19565b9192602060018192868501518155019401920162002b04565b826000526020600020601f830160051c8101916020841062002b9c575b601f0160051c01905b81811062002b8f575062000d4a565b6000815560010162002b80565b909150819062002b77565b90607f169062000d36565b01519050388062000cf1565b908360005260206000209160005b601f198516811062002c195750926040949260019260029583601f1981161062002bff575b505050811b01815562000d06565b015160001960f88460031b161c1916905538808062002bf1565b9192602060018192868501518155019401920162002bcc565b836000526020600020601f840160051c8101916020851062002c74575b601f0160051c01905b81811062002c67575062000ccf565b6000815560010162002c58565b909150819062002c4f565b90607f169062000cbb565b01519050388062000bb6565b601f198216938360005260206000209160005b86811062002ce6575083600195961062002ccc575b505050811b01905562000bcb565b015160001960f88460031b161c1916905538808062002cbe565b9192602060018192868501518155019401920162002ca9565b826000526020600020601f830160051c8101916020841062002d41575b601f0160051c01905b81811062002d34575062000b99565b6000815560010162002d25565b909150819062002d1c565b90607f169062000b85565b01519050388062000b40565b908360005260206000209160005b601f198516811062002dbe5750926040949260019260029583601f1981161062002da4575b505050811b01815562000b55565b015160001960f88460031b161c1916905538808062002d96565b9192602060018192868501518155019401920162002d71565b836000526020600020601f840160051c8101916020851062002e19575b601f0160051c01905b81811062002e0c575062000b1e565b6000815560010162002dfd565b909150819062002df4565b90607f169062000b0a565b01519050388062000a36565b601f198216938360005260206000209160005b86811062002e8b575083600195961062002e71575b505050811b01905562000a4b565b015160001960f88460031b161c1916905538808062002e63565b9192602060018192868501518155019401920162002e4e565b826000526020600020601f830160051c8101916020841062002ee6575b601f0160051c01905b81811062002ed9575062000a19565b6000815560010162002eca565b909150819062002ec1565b90607f169062000a05565b015190503880620009c0565b908360005260206000209160005b601f198516811062002f635750926040949260019260029583601f1981161062002f49575b505050811b018155620009d5565b015160001960f88460031b161c1916905538808062002f3b565b9192602060018192868501518155019401920162002f16565b836000526020600020601f840160051c8101916020851062002fbe575b601f0160051c01905b81811062002fb157506200099e565b6000815560010162002fa2565b909150819062002f99565b90607f16906200098a565b015190503880620008b0565b601f198216938360005260206000209160005b86811062003030575083600195961062003016575b505050811b019055620008c5565b015160001960f88460031b161c1916905538808062003008565b9192602060018192868501518155019401920162002ff3565b826000526020600020601f830160051c810191602084106200308b575b601f0160051c01905b8181106200307e575062000893565b600081556001016200306f565b909150819062003066565b90607f16906200087f565b0151905038806200083a565b908360005260206000209160005b601f1985168110620031085750926040949260019260029583601f19811610620030ee575b505050811b0181556200084f565b015160001960f88460031b161c19169055388080620030e0565b91926020600181928685015181550194019201620030bb565b836000526020600020601f840160051c8101916020851062003163575b601f0160051c01905b81811062003156575062000818565b6000815560010162003147565b90915081906200313e565b90607f169062000804565b01519050388062000739565b601f198216938360005260206000209160005b868110620031d55750836001959610620031bb575b505050811b0190556200074e565b015160001960f88460031b161c19169055388080620031ad565b9192602060018192868501518155019401920162003198565b826000526020600020601f830160051c8101916020841062003230575b601f0160051c01905b8181106200322357506200071c565b6000815560010162003214565b90915081906200320b565b90607f169062000708565b015190503880620006c3565b908360005260206000209160005b601f1985168110620032ad5750926040949260019260029583601f1981161062003293575b505050811b018155620006d8565b015160001960f88460031b161c1916905538808062003285565b9192602060018192868501518155019401920162003260565b836000526020600020601f840160051c8101916020851062003308575b601f0160051c01905b818110620032fb5750620006a1565b60008155600101620032ec565b9091508190620032e3565b90607f16906200068d565b015190503880620005c2565b601f198216938360005260206000209160005b8681106200337a575083600195961062003360575b505050811b019055620005d7565b015160001960f88460031b161c1916905538808062003352565b919260206001819286850151815501940192016200333d565b826000526020600020601f830160051c81019160208410620033d5575b601f0160051c01905b818110620033c85750620005a5565b60008155600101620033b9565b9091508190620033b0565b90607f169062000591565b0151905038806200054c565b908360005260206000209160005b601f1985168110620034525750926040949260019260029583601f1981161062003438575b505050811b01815562000561565b015160001960f88460031b161c191690553880806200342a565b9192602060018192868501518155019401920162003405565b836000526020600020601f840160051c81019160208510620034ad575b601f0160051c01905b818110620034a057506200052a565b6000815560010162003491565b909150819062003488565b90607f169062000516565b01519050388062000429565b601f198216938360005260206000209160005b8681106200351f575083600195961062003505575b505050811b0190556200043e565b015160001960f88460031b161c19169055388080620034f7565b91926020600181928685015181550194019201620034e2565b826000526020600020601f830160051c810191602084106200357a575b601f0160051c01905b8181106200356d57506200040c565b600081556001016200355e565b909150819062003555565b90607f1690620003f8565b015190503880620003b3565b908360005260206000209160005b601f1985168110620035f75750926040949260019260029583601f19811610620035dd575b505050811b018155620003c8565b015160001960f88460031b161c19169055388080620035cf565b91926020600181928685015181550194019201620035aa565b836000526020600020601f840160051c8101916020851062003652575b601f0160051c01905b81811062003645575062000391565b6000815560010162003636565b90915081906200362d565b90607f16906200037d565b0151905038806200028e565b601f198216938360005260206000209160005b868110620036c45750836001959610620036aa575b505050811b019055620002a3565b015160001960f88460031b161c191690553880806200369c565b9192602060018192868501518155019401920162003687565b826000526020600020601f830160051c810191602084106200371f575b601f0160051c01905b81811062003712575062000271565b6000815560010162003703565b9091508190620036fa565b90607f16906200025d565b01519050388062000218565b908360005260206000209160005b601f19851681106200379c5750926040949260019260029583601f1981161062003782575b505050811b0181556200022d565b015160001960f88460031b161c1916905538808062003774565b919260206001819286850151815501940192016200374f565b836000526020600020601f840160051c81019160208510620037f7575b601f0160051c01905b818110620037ea5750620001f6565b60008155600101620037db565b9091508190620037d2565b90607f1690620001e2565b01519050388062000145565b90601f198316916002850160005260206000209260005b818110620038735750916001939185600296941062003859575b505050811b019101556200015b565b015160001960f88460031b161c191690553880806200384a565b9293602060018192878601518155019501930162003830565b600284016000526020600020601f840160051c81019160208510620038d1575b601f0160051c01905b818110620038c4575062000127565b60008155600101620038b5565b9091508190620038ac565b90607f169062000113565b015190503880620000cc565b908460005260206000209160005b601f19851681106200394c575091839160019360409695601f1981161062003932575b505050811b018355620000e1565b015160001960f88460031b161c1916905538808062003924565b9192602060018192868501518155019401920162003901565b846000526020600020601f840160051c81019160208510620039a7575b601f0160051c01905b8181106200399a5750620000ad565b600081556001016200398b565b909150819062003982565b90607f169062000099565b600080fd5b606081019081106001600160401b0382111762001bef57604052565b604081019081106001600160401b0382111762001bef57604052565b601f909101601f19168101906001600160401b0382119082101762001bef57604052565b6040519062003a2d82620039de565b601582527f687474703a2f2f3132372e302e302e313a3835343500000000000000000000006020830152565b60005b83811062003a6d5750506000910152565b818101518382015260200162003a5c565b81601f82011215620039bd5780516001600160401b03811162001bef576040519262003ab5601f8301601f191660200185620039fa565b81845260208284010111620039bd5762003ad6916020808501910162003a59565b90565b805182101562003aee5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfe60806040818152600491823610156200001757600080fd5b60009283803560e01c9283630982c48214620012db57505081630a9254e41462001212578382631a6f93491462001113575081631df1ce651462000328578163365874141462000f8e5783826336d3d58f1462000e9457508163454d4f3a1462000d585781634b0bdf691462000c23578382634c5409541462000bc7575081634fd855ab146200032857816352685877146200097b5781636f86ff13146200032857816377fc70c614620008e8578163799509781462000328578382639642ddaf146200084857508163b5b34603146200046f57838263b84446a3146200036057508163ba414fa61462000336578163bf506ac414620003285783908263cc8668de1462000272578263e13aba48146200016657505063fa7626d4146200013e575b600080fd5b34620001625781600319360112620001625760209060ff6007541690519015158152f35b5080fd5b915091346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620001ac81890162001913565b03925af19384156200026457859462000228575b50620001cc8462001a30565b6011541692833b156200022457602485928385519687948593630852cd8d60e31b85528401525af19081156200021b5750620002055750f35b620002109062001412565b620002185780f35b80fd5b513d84823e3d90fd5b8480fd5b945092506020843d82116200025b575b81620002476020938362001477565b8101031262000139578493519238620001c0565b3d915062000238565b83513d87823e3d90fd5b5050fd5b839034620003245782600319360112620003245760115482516306fdde0360e01b815291849183919082906001600160a01b03165afa908115620003185791620002ec928492620002ef575b505190620002cc826200143d565b600d82526c15195cdd0810dbdb9d1c9858dd609a1b60208301526200167a565b80f35b620003109192503d8086833e62000307818362001477565b810190620015e7565b9084620002be565b505051903d90823e3d90fd5b8280fd5b5050505062000139620013fc565b50503462000162578160031936011262000162576020906200035762001511565b90519015158152f35b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620003a681890162001913565b03925af19384156200026457859462000433575b50620003c68462001a30565b6011541692833b1562000224576200041e9385928385518097819582946366d8744f60e11b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b03925af19081156200021b5750620002055750f35b945092506020843d821162000466575b81620004526020938362001477565b8101031262000139578493519286620003ba565b3d915062000443565b90503462000324578260031936011262000324576011548251635aa1df0960e11b81526020918591906001600160a01b0390849083908316818681620004b78b820162001913565b03925af19182156200083e57839262000805575b50602490620004da8362001a30565b60115416948651958693849263c87b56dd60e01b84528301525afa918215620007f85790620002ec93620007b793928693620007ce575b50620007c891816200077d603d9351607b60f81b848201527f226e616d65223a22466f756e647279205465737420417070222c000000000000602182015262000777600282620007566200071e620006b862000675602b620005fa620005c56200057e603b890162001c2c565b7f226f776e6572223a223078623463373964614238663235394337416565364535815274188c90584dcc8e4e0c8c4e0d8d0c8c8dd94e0d088b605a1b602082015260350190565b7f2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e78798152621e888b60ea1b602082015260230190565b7f22696d616765223a2268747470733a2f2f666c65656b2e78797a222c0000000081526e2261747472696275746573223a205b60881b601c8201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a226691019081526a1b19595ad7de1e5e889f4b60aa1b6020820152602b0190565b7f7b2274726169745f74797065223a2022436f6d6d69742048617368222c202276815270185b1d59488e88985999998cd98d889f4b607a1b602082015260310190565b7f7b2274726169745f74797065223a20225265706f7369746f7279222c2022766181527f6c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b787960208201526d1e8bd8dbdb9d1c9858dd1cc89f4b60921b6040820152604e0190565b7f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565815265223a2230227d60d01b602082015260260190565b605d60f81b8152607d60f81b600182015203601d1981018452018262001477565b62001c8b565b905195827f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008894850152825192839186860191016200149a565b810103601d81018552018362001477565b6200167a565b603d91935091620007ee620007c8933d808a833e62000307818362001477565b9391509162000511565b50505051903d90823e3d90fd5b925090508282813d811162000836575b62000821818362001477565b810103126200013957905185916024620004cb565b503d62000815565b86513d85823e3d90fd5b929150346200026e57826003193601126200026e576011548251635aa1df0960e11b81529360209285926001600160a01b031691839182906200088d90820162001913565b03925af19081156200021b57508290620008ae575b620002ec915062001a30565b506020813d8211620008df575b81620008ca6020938362001477565b810103126200013957620002ec9051620008a2565b3d9150620008bb565b905034620003245782600319360112620003245760115482516395d89b4160e01b815291849183919082906001600160a01b03165afa908115620003185791620002ec9284926200095b575b50519062000942826200143d565b6006825265464c4b41505360d01b60208301526200167a565b620009739192503d8086833e62000307818362001477565b903862000934565b91905034620003245760031990838236011262000bc3576011548151635aa1df0960e11b8082529094602092879291906001600160a01b0390859089908316818781620009ca88820162001913565b03925af1801562000bb95785969798859162000b79575b5090620009ef859262001a30565b60115416928751988995869485938452830152602482016101009052610104820162000a3b9060409060128152712337bab732393c902a32b9ba1020b838101960711b60208201520190565b8281038281016044850152603982527f5468697320697320612074657374206170706c69636174696f6e207375626d69898301527f7474656420627920666f756e6472792074657374735b325d2e000000000000008b830152605c01606484015262000aaa90606001620018b1565b8183820301608484015262000abf90620018b1565b828103820160a48401526009815268333632b2b5afbc3cbd60b91b6020820152604001828103820160c4840152600781526630b3333319b31b60c91b6020820152604001908282030160e483015262000b1890620018d5565b03925af191821562000b705750839162000b39575b83620002ec8362001b37565b905081813d831162000b68575b62000b52818362001477565b810103126200013957620002ec90513862000b2d565b503d62000b46565b513d85823e3d90fd5b95809295508691503d831162000bb1575b62000b96818362001477565b8101031262000139579251849388939091620009ef620009e1565b503d62000b8a565b86513d86823e3d90fd5b8380fd5b809184346200026e57826003193601126200026e576011546001600160a01b031691823b1562000c1e5783602481928285519687948593630852cd8d60e31b85528401525af19081156200021b5750620002055750f35b505050fd5b90503462000324578260031936011262000324576011548251635aa1df0960e11b8082529091602091906001600160a01b0390839085908316818a8162000c6c8b820162001913565b03925af193841562000d4e57879462000d13575b5093829162000ca2949560115416908888518097819582948352820162001913565b03925af193841562000d0a5750849362000cce575b84620002ec8562000cc88662001a30565b62001b37565b90809350813d831162000d02575b62000ce8818362001477565b81010312620001395762000cc8620002ec92519262000cb7565b503d62000cdc565b513d86823e3d90fd5b919350938282813d831162000d46575b62000d2f818362001477565b810103126200013957905190939092908262000c80565b503d62000d23565b86513d89823e3d90fd5b9190503462000324578260031936011262000324578051607b60f81b60208201527f226e616d65223a22466f756e647279205465737420417070222c000000000000602182015262000dce600282620007566200071e620006b862000675602b620005fa620005c56200057e603b890162001c2c565b601154825163c87b56dd60e01b81529384018590528490849060249082906001600160a01b03165afa90811562000e8a57620002ec93859262000e5d575b50603d62000e1e620007c89262001c8b565b935180947f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000006020830152620007b781518092602086860191016200149a565b620007c891925062000e1e62000e80603d923d808a833e62000307818362001477565b9392505062000e0c565b82513d86823e3d90fd5b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b03906020908590831681888162000eda81890162001913565b03925af19384156200026457859462000f52575b5062000efa8462001a30565b6011541692833b1562000224576200041e93859283855180978195829463246a908b60e01b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b945092506020843d821162000f85575b8162000f716020938362001477565b810103126200013957849351928662000eee565b3d915062000f62565b91905034620003245760031990838236011262000bc3576011548151635aa1df0960e11b80825290946020929091906001600160a01b0390849088908316818b8162000fdc818a0162001913565b03925af180156200110957849596978991620010d0575b5062000fff9062001a30565b60115416908786518098819582948352820173b4c79dab8f259c7aee6e5b2aa729821864227e8490526024820161010090526101048201620010619060409060128152712337bab732393c902a32b9ba1020b838101960711b60208201520190565b8281038281016044850152603a82527f5468697320697320612074657374206170706c69636174696f6e207375626d69898301527f7474656420627920666f756e647279207465737473205b325d2e0000000000008b830152605c01606484015262000aaa90606001620018b1565b85819692503d831162001101575b620010ea818362001477565b81010312620001395762000fff8594519062000ff3565b503d620010de565b85513d8a823e3d90fd5b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200115981890162001913565b03925af193841562000264578594620011d6575b50620011798462001a30565b6011541692833b1562000224576200041e938592838551809781958294630190503b60e61b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b945092506020843d821162001209575b81620011f56020938362001477565b81010312620001395784935192866200116d565b3d9150620011e6565b9050346200032457826003193601126200032457815190613b9d8083019183831067ffffffffffffffff841117620012c8575060c091839162001e2a8339848152600d858201526c15195cdd0810dbdb9d1c9858dd609a1b6060820152608060208201526006608082015265464c4b41505360d01b60a082015203019083f0908115620012bd575060018060a01b03166bffffffffffffffffffffffff60a01b601154161760115580f35b51913d9150823e3d90fd5b634e487b7160e01b865260419052602485fd5b84828492346200016257816003193601126200016257601154635aa1df0960e11b82526001600160a01b0390602090839083168186816200131e8b820162001913565b03925af1918215620013f2578392620013b9575b506200133e8262001a30565b60115416803b156200032457620013989483855180978195829463f931517760e01b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b03925af19081156200021b5750620013ae575080f35b620002ec9062001412565b9091506020813d8211620013e9575b81620013d76020938362001477565b81010312620003245751908662001332565b3d9150620013c8565b84513d85823e3d90fd5b5034620001395760003660031901126200013957005b67ffffffffffffffff81116200142757604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176200142757604052565b6060810190811067ffffffffffffffff8211176200142757604052565b90601f8019910116810190811067ffffffffffffffff8211176200142757604052565b60005b838110620014ae5750506000910152565b81810151838201526020016200149d565b67ffffffffffffffff81116200142757601f01601f191660200190565b3d156200150c573d90620014f082620014bf565b9162001500604051938462001477565b82523d6000602084013e565b606090565b60075460081c60ff16156200152c5760ff60075460081c1690565b600080737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200155057505090565b819060405182602082018381526519985a5b195960d21b6040840152604083526200157b836200145a565b620015b760246040518093620015a66020830197630667f9d760e41b8952518092858501906200149a565b810103600481018452018262001477565b51925af150620015c6620014dc565b60208180518101031262000162576020015190811515820362000218575090565b602081830312620001395780519067ffffffffffffffff821162000139570181601f82011215620001395780516200161f81620014bf565b926200162f604051948562001477565b8184526020828401011162000139576200165091602080850191016200149a565b90565b906020916200166e815180928185528580860191016200149a565b601f01601f1916010190565b604080519160209283810190620016ab858285516200169d8187858a016200149a565b810103808452018262001477565b519020825184810190620016cd8682816200169d8b878151938492016200149a565b51902003620016dd575b50505050565b620017d592620017e3917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728782015263696e675d60e01b6060820152a183519584875262001773858801604090600a8152690808115e1c1958dd195960b21b60208201520190565b968088038482015280620017aa7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462001653565b0390a183519484869586528501604090600a815269080808081058dd1d585b60b21b60208201520190565b918483039085015262001653565b0390a1620017f0620017fa565b38808080620016d7565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62001829575b5061010061ff00196007541617600755565b6040519060208201908082526519985a5b195960d21b60408401526001606084015260608352608083019183831067ffffffffffffffff84111762001427576000836200189a60248397849760405260a08101956370ca10bb60e01b8752620015a68251809260a48501906200149a565b51925af150620018a9620014dc565b503862001817565b6011815270343a3a38399d1797b33632b2b5973c3cbd60791b602082015260400190565b602581527f68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e74602082015264726163747360d81b604082015260600190565b620016509073b4c79dab8f259c7aee6e5b2aa729821864227e84815260106101008060208401528201526f0466f756e6472792054657374204170760841b61012082015260366101408060408401528201527f5468697320697320612074657374206170706c69636174696f6e207375626d69610160820152753a3a32b210313c903337bab732393c903a32b9ba399760511b61018082015262001a21620019ff620019db620019cd6101a08060608701528501620018b1565b8481036080860152620018b1565b83810360a08501526009815268333632b2b5afbc3cbd60b91b602082015260400190565b82810360c0840152600781526630b3333319b31b60c91b602082015260400190565b9060e0818303910152620018d5565b8062001a395750565b62001b2260407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001acb828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60006020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b9060208301520390a162001b35620017fa565b565b6001810362001b435750565b62001b2260407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001bd5828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60016020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b7f226465736372697074696f6e223a22546869732069732061207465737420617081527f706c69636174696f6e207375626d697474656420627920666f756e6472792074602082015266195cdd1ccb888b60ca1b604082015260470190565b80511562001e035760405162001ca1816200145a565b604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f6040820152815160029283820180921162001ded5760039182900480851b94906001600160fe1b0381160362001ded579262001d4562001d2c86620014bf565b9562001d3c604051978862001477565b808752620014bf565b6020860190601f190136823793829183518401925b83811062001d9b575050505051068060011462001d885760021462001d7d575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919062001d5a565b634e487b7160e01b600052601160045260246000fd5b506040516020810181811067ffffffffffffffff8211176200142757604052600081529056fe60406080815234620003da5762003b9d90813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137259081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127455750806306fdde03146126a2578063081812fc14612684578063095ea7b31461250a57806323b872dd146124e1578063246a908b14612365578063248a9ca3146123365780632f2ff15d146122fc57806336568abe1461226a5780633806f15214611ff557806342842e0e14611fcd57806342966c6814611e825780636352211e14611e5257806364140ec014611cdf57806370a0823114611c4857806378278cca14611ad557806391d1485414611a8857806395d89b41146119a9578063987c26fd1461168f57806398b7079314611654578063a217fddf14611638578063a22cb46514611566578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661293a565b9061019f610199612ace565b82612af4565b6000526020916006835260406000203360005283526101c560ff60406000205416612b3f565b6000828152600260205260409020546101e8906001600160a01b03161515612f02565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129af565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612b9c565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612b9c565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129e9565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612812565b610365612828565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f7612828565b916104146001600160a01b0361040c83612f4e565b163314612a00565b600081815260026020526040902054610437906001600160a01b03161515612f02565b61043f612ace565b90612af4565b612e12565b005b3461033f57604036600319011261033f5761044a60043561046b612828565b90806000526006602052610486600160406000200154612c08565b612e8c565b3461033f576104993661293a565b906104a5610199612ace565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b3f565b6000828152600260205260409020546104ee906001600160a01b03161515612f02565b816000526008835260406000208151936001600160401b0385116103295761051682546129af565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612b9c565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f02565b61066382612f4e565b600092835260088252604090922091610684906001600160a01b03166135e1565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613432565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a4b565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a4b565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127ca565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a4b565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a4b565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a4b565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a4b565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a4b565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127ca565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128a9565b8060405161099a81612873565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613464565b6040519485925190818585016109e3926127ca565b820181519182858084019201916109f9926127ca565b010380845201610a0990836128a9565b6040519181839283528201610a1d916127ed565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f7612828565b3461033f57608036600319011261033f57610aee612812565b610af6612828565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128e5565b9160443591613011565b61010036600319011261033f57610b49612812565b6024356001600160401b03811161033f57610b6890369060040161291c565b906044356001600160401b03811161033f57610b8890369060040161291c565b906064356001600160401b03811161033f57610ba890369060040161291c565b926084356001600160401b03811161033f57610bc890369060040161291c565b60a4356001600160401b03811161033f57610be790369060040161291c565b9060c4356001600160401b03811161033f57610c0790369060040161291c565b9560e4356001600160401b03811161033f57610c2790369060040161291c565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561150557600754956001600160a01b038116156114c157600087815260026020526040902054610d589190610c9e906001600160a01b031615155b1561310a565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600088815260026020526040902054610d47906001600160a01b03161515612f02565b610445610d52612ace565b89612af4565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610d8d88546129af565b601f811161148f575b50602090601f831160011461142357600092611418575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610de260018801546129af565b601f81116113e3575b50602090601f831160011461137157600092611366575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e3a60028701546129af565b601f8111611331575b50602090601f83116001146112bf576000926112b4575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610e9260038601546129af565b601f811161127f575b50602090601f831160011461120d57600092611202575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610ee860048401546129af565b601f81116111cd575b50602090601f831160011461115a5760069392916000918361114f575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f3a86612873565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f6d82546129af565b601f811161111d575b506020601f82116001146110b357819060019495966000926110a8575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fc982546129af565b601f8111611078575b508493601f821160011461101557938192939460009261100a575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580610fed565b601f1982169483600052866000209160005b878110611061575083600195969710611048575b505050811b019055611002565b015160001960f88460031b161c1916905585808061103b565b919288600181928685015181550194019201611027565b6110a2908360005286600020601f840160051c81019188851061031f57601f0160051c01906129e9565b85610fd2565b015190508680610f93565b601f198216958360005260206000209660005b81811061110557509160019596979184879594106110ec575b505050811b018155610fa7565b015160001960f88460031b161c191690558680806110df565b838301518955600190980197602093840193016110c6565b61114990836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129e9565b85610f76565b015190508780610f0e565b906004840160005260206000209160005b601f19851681106111b5575091839160019360069695601f1981161061119c575b505050811b016004820155610f26565b015160001960f88460031b161c1916905587808061118c565b9192602060018192868501518155019401920161116b565b6111fc90600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b86610ef1565b015190508780610eb2565b9250600385016000526020600020906000935b601f1984168510611264576001945083601f1981161061124b575b505050811b016003830155610eca565b015160001960f88460031b161c1916905587808061123b565b81810151835560209485019460019093019290910190611220565b6112ae90600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b88610e9b565b015190508880610e5a565b9250600286016000526020600020906000935b601f1984168510611316576001945083601f198116106112fd575b505050811b016002840155610e72565b015160001960f88460031b161c191690558880806112ed565b818101518355602094850194600190930192909101906112d2565b61136090600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b89610e43565b015190508980610e02565b9250600187016000526020600020906000935b601f19841685106113c8576001945083601f198116106113af575b505050811b016001850155610e1a565b015160001960f88460031b161c1916905589808061139f565b81810151835560209485019460019093019290910190611384565b61141290600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8a610deb565b015190508a80610dad565b9250876000526020600020906000935b601f1984168510611474576001945083601f1981161061145b575b505050811b018555610dc2565b015160001960f88460031b161c191690558a808061144e565b81810151835560209485019460019093019290910190611433565b6114bb90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8b610d96565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f5761157f612812565b6024359081151580920361033f576001600160a01b0316903382146115f357336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b61169836612969565b91906116ae6001600160a01b0361040c84612f4e565b6000828152600260205260409020546116d1906001600160a01b03161515612f02565b6116e26116dc612ace565b83612af4565b60005260209260068452604060002033600052845261170860ff60406000205416612b3f565b60008381526002602052604090205461172b906001600160a01b03161515612f02565b60405161173781612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b039485821161032957839161179982546129af565b93601f948c868211611964575b50508b908583116001146118fe5760009190836118f3575b50508682851b9260031b1c19161781555b019451978851948511610329576117e686546129af565b8281116118bb575b50809185116001146118525750839291839161181f9899600095611847575b50501b9260031b1c1916179055612b9c565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b01519350898061180d565b91939290601f198416988660005283600020936000905b8b82106118a45750508461181f999a1061188c575b50505050811b019055612b9c565b01519060f88460031b161c191690558680808061187e565b808885978294968601518155019601930190611869565b6118e49087600052826000208480890160051c820192858a106118ea575b0160051c01906129e9565b896117ee565b925081926118d9565b015190508c806117be565b60008481528d8120929190601f198516908f5b82821061194b5750509084879594939210611934575b505050811b0181556117cf565b01518860f88460031b161c191690558c8080611927565b8484015186558a98909501949384019390810190611911565b61198c918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6117a6565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119cd826129af565b80855291818116908115611a615750600114611a08575b610a1d846119f4818603826128a9565b6040519182916020835260208301906127ed565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a495750505081016020016119f4826119e4565b80546020858701810191909152909301928101611a31565b60ff191660208087019190915292151560051b850190920192506119f491508390506119e4565b3461033f57604036600319011261033f57611aa1612828565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611ae33661293a565b90611aef610199612ace565b600052602091600683526040600020336000528352611b1560ff60406000205416612b3f565b600082815260026020526040902054611b38906001600160a01b03161515612f02565b816000526008835260046040600020018151936001600160401b03851161032957611b6382546129af565b601f8111611c18575b5080601f8611600114611bc857509380611ba0949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c00575050918691611ba09697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611bdb565b611c42908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611b6c565b3461033f57602036600319011261033f576001600160a01b03611c69612812565b168015611c885760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611ced3661293a565b90611cf9610199612ace565b600052602091600683526040600020336000528352611d1f60ff60406000205416612b3f565b600082815260026020526040902054611d42906001600160a01b03161515612f02565b816000526008835260026040600020018151936001600160401b03851161032957611d6d82546129af565b601f8111611e22575b5080601f8611600114611dd257509380611daa949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e0a575050918691611daa9697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611de5565b611e4c908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611d76565b3461033f57602036600319011261033f576020611e70600435612f4e565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611ea36116dc612ace565b600052600681526040600020336000528152611ec660ff60406000205416612b3f565b8160006001600160a01b03611ee63382611edf86612f4e565b1614612a00565b611eef83612f4e565b50611ef983612f4e565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f7b6003604060002001546129af565b611f8157005b600891600052526000600560408220611f9981612bbc565b611fa560018201612bbc565b611fb160028201612bbc565b611fbd60038201612bbc565b611fc960048201612bbc565b0155005b3461033f5761044a611fde3661283e565b9060405192611fec8461288e565b60008452613011565b3461033f5761200336612969565b91906120106116dc612ace565b60005260209260068452604060002033600052845261203660ff60406000205416612b3f565b600083815260026020526040902054612059906001600160a01b03161515612f02565b60405161206581612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b03948582116103295783916120c782546129af565b93601f948c86821161223b575b50508b908583116001146121d55760009190836121ca575b50508682851b9260031b1c19161781555b0194519788519485116103295761211486546129af565b82811161219c575b508091851160011461214c5750839291839161181f98996000956118475750501b9260031b1c1916179055612b9c565b91939290601f198416988660005283600020936000905b8b82106121855750508461181f999a1061188c5750505050811b019055612b9c565b808885978294968601518155019601930190612163565b6121c49087600052826000208480890160051c820192858a106118ea570160051c01906129e9565b8961211c565b015190508c806120ec565b60008481528d8120929190601f198516908f5b828210612222575050908487959493921061220b575b505050811b0181556120fd565b01518860f88460031b161c191690558c80806121fe565b8484015186558a989095019493840193908101906121e8565b612263918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6120d4565b3461033f57604036600319011261033f57612283612828565b336001600160a01b0382160361229f5761044a90600435612e8c565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561231b612828565b90806000526006602052610445600160406000200154612c08565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123733661293a565b9061237f610199612ace565b6000526020916006835260406000203360005283526123a560ff60406000205416612b3f565b6000828152600260205260409020546123c8906001600160a01b03161515612f02565b8160005260088352600180604060002001908251906001600160401b038211610329576123f583546129af565b601f81116124b1575b5085601f831160011461246457508180916124319697600093612459575b501b916000199060031b1c1916179055612b9c565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b86015192508861241c565b601f929192198216968460005281600020916000905b89821061249a575050826124319798106105be575050811b019055612b9c565b808684958294958b0151815501940192019061247a565b6124db908460005287600020601f850160051c81019189861061031f57601f0160051c01906129e9565b866123fe565b3461033f5761044a6124f23661283e565b91612505612500843361309c565b612faf565b6131b0565b3461033f57604036600319011261033f57612523612812565b602435906001600160a01b03808061253a85612f4e565b1692169180831461263557803314908115612610575b50156125a557600083815260046020526040902080546001600160a01b0319168317905561257d83612f4e565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612550565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e70600435612f71565b3461033f57600036600319011261033f57604051600080546126c3816129af565b80845290600190818116908115611a6157506001146126ec57610a1d846119f4818603826128a9565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061272d5750505081016020016119f4826119e4565b80546020858701810191909152909301928101612715565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b8114908115612787575b5015158152f35b6380ac58cd60e01b8114915081156127b9575b81156127a8575b5083612780565b6301ffc9a760e01b149050836127a1565b635b5e139f60e01b8114915061279a565b60005b8381106127dd5750506000910152565b81810151838201526020016127cd565b90602091612806815180928185528580860191016127ca565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b9291926128f1826128ca565b916128ff60405193846128a9565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f57816020612937933591016128e5565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f576129379160040161291c565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129989160040161291c565b9260443591821161033f576129379160040161291c565b90600182811c921680156129df575b60208310146129c957565b634e487b7160e01b600052602260045260246000fd5b91607f16916129be565b8181106129f4575050565b600081556001016129e9565b15612a0757565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a5a816129af565b92600191808316908115612ab35750600114612a77575b50505050565b90919293945060005260209081600020906000915b858310612aa25750505050019038808080612a71565b805485840152918301918101612a8c565b60ff1916845250505081151590910201915038808080612a71565b60405190612adb82612873565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b3960466040518093602082019565544f4b454e5f60d01b8752612b238151809260206026870191016127ca565b82019060268201520360268101845201826128a9565b51902090565b15612b4657565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bb4906020604051928284809451938492016127ca565b810103902090565b612bc681546129af565b9081612bd0575050565b81601f60009311600114612be2575055565b81835260208320612bfe91601f0160051c8101906001016129e9565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c325750505050565b612c3b336135e1565b91845190608082018281106001600160401b03821117612dfe57865260428252848201926060368537825115612dea5760308453825190600191821015612dea5790607860218501536041915b818311612d7c57505050612d3a576048612d36938693612d1a93612d0b98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612ce2815180928c6037890191016127ca565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127ca565b010360288101875201856128a9565b5192839262461bcd60e51b8452600484015260248301906127ed565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dd6576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dac85876135ba565b5360041c928015612dc257600019019190612c88565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e4457505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ebd57505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f0957565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316612937811515612f02565b600081815260026020526040902054612f94906001600160a01b03161515612f02565b6000908152600460205260409020546001600160a01b031690565b15612fb657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90613035939291613025612500843361309c565b6130308383836131b0565b6132c6565b1561303c57565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130b084612f4e565b169316918383149384156130e3575b5083156130cd575b50505090565b6130d991929350612f71565b16143880806130c7565b909350600052600560205260406000208260005260205260ff6040600020541692386130bf565b1561311157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561315d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131d8916131be84612f4e565b6001600160a01b0393918416928492909183168414613156565b1691821561327557816131f5916131ee86612f4e565b1614613156565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15613427579484916133209660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906127ed565b0393165af18491816133e3575b506133d2575050503d6000146133ca573d613347816128ca565b9061335560405192836128a9565b81528091833d92013e5b805191826133c75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b50606061335f565b6001600160e01b0319161492509050565b9091508581813d8311613420575b6133fb81836128a9565b8101031261341c57516001600160e01b03198116810361341c57903861332d565b8480fd5b503d6133f1565b505050915050600190565b9061343c826128ca565b61344960405191826128a9565b828152809261345a601f19916128ca565b0190602036910137565b8051156135a657604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211611993576003918290046001600160fe1b038116810361199357613509908594951b613432565b936020850193829183518401925b838110613555575050505051068060011461354257600214613537575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c1688010151888501531685010151878201530195929190613517565b506040516135b38161288e565b6000815290565b9081518110156135cb570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135cb576030905381516001908110156135cb57607860218401536029905b80821161368157505061363d5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136da576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136b084866135ba565b5360041c9180156136c557600019019061362d565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea2646970667358221220f990373a6ee4218bd529d7377a3ea71fd58a85d8659b6121af366d013cd8bb9264736f6c63430008110033a2646970667358221220647187d9d6077ea1b8748a3d4a423f04e876d473082ecf243abdd38ba58af7a664736f6c63430008110033", + "sourceMap": "98:8747:30:-:0;;;;;;;1594:4:2;98:8747:30;;1594:4:2;98:8747:30;;;1594:4:2;98:8747:30;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;6017:5:6;98:8747:30;6002:46:6;;98:8747:30;;;:::i;:::-;;6002:46:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6002:46:6;;98:8747:30;1594:4:2;98:8747:30;;;6002:46:6;98:8747:30;;;;-1:-1:-1;;;;;98:8747:30;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;;;6017:5:6;98:8747:30;6081:48:6;;98:8747:30;;;:::i;:::-;;6081:48:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6081:48:6;;98:8747:30;1594:4:2;98:8747:30;;;;6081:48:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;;;1594:4:2;98:8747:30;6162:84:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;6162:84:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6162:84:6;;98:8747:30;1594:4:2;98:8747:30;;;;6162:84:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;;;6278:82:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;6278:82:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6278:82:6;;98:8747:30;1594:4:2;98:8747:30;;;;6278:82:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;;;6410:8:6;98:8747:30;6393:53:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6393:53:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6393:53:6;;98:8747:30;1594:4:2;98:8747:30;;;;6393:53:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;6498:2:6;98:8747:30;6480:52:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6480:52:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6480:52:6;;98:8747:30;1594:4:2;98:8747:30;;;;6480:52:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;6598:3:6;98:8747:30;6573:59:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6573:59:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6573:59:6;;98:8747:30;1594:4:2;98:8747:30;;;;6573:59:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;6692:5:6;98:8747:30;6670:60:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6670:60:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6670:60:6;;98:8747:30;1594:4:2;98:8747:30;;;;6670:60:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;6804:6:6;98:8747:30;6775:77:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;6775:77:6;;98:8747:30;;;;;;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6775:77:6;;98:8747:30;1594:4:2;98:8747:30;;;;6775:77:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;6914:5:6;98:8747:30;6891:61:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6891:61:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6891:61:6;;98:8747:30;1594:4:2;98:8747:30;;;;6891:61:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1594:4:2;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;;;7002:3:6;98:8747:30;6985:48:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;6985:48:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;6985:48:6;;98:8747:30;1594:4:2;98:8747:30;;;;6985:48:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;7097:5:6;98:8747:30;7073:64:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;7073:64:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7073:64:6;;98:8747:30;1594:4:2;98:8747:30;;;;7073:64:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;5981:9:6;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;;;7191:5:6;98:8747:30;7172:66:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;7172:66:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7172:66:6;;98:8747:30;1594:4:2;98:8747:30;;;;7172:66:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;7302:5:6;98:8747:30;7278:76:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;7278:76:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7278:76:6;;98:8747:30;1594:4:2;98:8747:30;;;;7278:76:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;7420:2:6;98:8747:30;7395:65:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;7395:65:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7395:65:6;;98:8747:30;1594:4:2;98:8747:30;;;;7395:65:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;7542:2:6;98:8747:30;7509:86:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;7509:86:6;;98:8747:30;;;;;;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7509:86:6;;98:8747:30;1594:4:2;98:8747:30;;;;7509:86:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;7680:3:6;98:8747:30;7658:57:6;;98:8747:30;;;;;;:::i;:::-;;;;;;;;;;7658:57:6;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;5981:9:6;98:8747:30;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;7658:57:6;;98:8747:30;1594:4:2;98:8747:30;;;;7658:57:6;;98:8747:30;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;7830:18:6;;98:8747:30;;7830:18:6;98:8747:30;;7830:18:6;;;;;;;98:8747:30;7830:18:6;;;98:8747:30;7863:13:6;98:8747:30;7895:3:6;98:8747:30;;7878:15:6;;;;;98:8747:30;7947:7:6;;;;:::i;:::-;;:11;;98:8747:30;214:63:6;98:8747:30;7924:7:6;;;;:::i;:::-;;:12;98:8747:30;;;;;;;;;214:63:6;;;;;:::i;:::-;5981:9;214:63;;;98:8747:30;;;214:63:6;;;;98:8747:30;;7914:30:6;;;-1:-1:-1;;;;;98:8747:30;;;;;;;1594:4:2;98:8747:30;;;;;;;;;7895:3:6;98:8747:30;;;;;;;;;;;;;7895:3:6;98:8747:30;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;-1:-1:-1;;214:63:6;;;;1594:4:2;214:63:6;7863:13;;214:63;98:8747:30;;;;214:63:6;;7830:18;214:63;;98:8747:30;214:63:6;98:8747:30;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;7830:18:6;98:8747:30;;;;;;;;;;;;;;;;;;7830:18:6;98:8747:30;;;;7878:15:6;98:8747:30;;;;;;;;;;;;7830:18:6;;;;;;;;;;;;:::i;:::-;98:8747:30;7830:18:6;;;;214:63;;;;;;-1:-1:-1;;;;;214:63:6;;;;7830:18;;;98:8747:30;214:63:6;;;;;;;;;;;;;-1:-1:-1;;;;;214:63:6;;;;;98:8747:30;214:63:6;98:8747:30;;;214:63:6;98:8747:30;;214:63:6;;98:8747:30;;:::i;:::-;214:63:6;;98:8747:30;214:63:6;;7830:18;;;;98:8747:30;214:63:6;;;;;;;;;98:8747:30;214:63:6;;;;;;98:8747:30;214:63:6;;;;;;;;;;7830:18;;;;;;;;;;214:63;;;-1:-1:-1;;;;;214:63:6;;;;98:8747:30;214:63:6;;;;;7830:18;;;214:63;-1:-1:-1;;214:63:6;;;;98:8747:30;;;;;;;-1:-1:-1;;;;;;;;98:8747:30;;;;;;;;;;;;214:63:6;;;;;98:8747:30;214:63:6;;-1:-1:-1;;;;;214:63:6;;;;;7830:18;98:8747:30;7830:18:6;;;214:63;;;;;;;;;:::i;:::-;;;;;;;;98:8747:30;214:63:6;;-1:-1:-1;;;;;214:63:6;;;;7830:18;98:8747:30;7830:18:6;;214:63;7830:18;;;;;;;;;214:63;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;;7830:18:6;98:8747:30;;;;214:63:6;98:8747:30;;;214:63:6;98:8747:30;;;214:63:6;-1:-1:-1;;;98:8747:30;;;7830:18:6;98:8747:30;;;;214:63:6;98:8747:30;;7830:18:6;98:8747:30;;214:63:6;98:8747:30;214:63:6;;;;;98:8747:30;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:4:2;98:8747:30;;;;;;-1:-1:-1;98:8747:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;98:8747:30;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;98:8747:30;;;;;;;:::o;:::-;;;;;-1:-1:-1;;98:8747:30;;;;-1:-1:-1;;;;;98:8747:30;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;214:63:6:-;;;;;;;;-1:-1:-1;;214:63:6;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;98:8747:30;;;;;;;;;;;-1:-1:-1;;98:8747:30;214:63:6;98:8747:30;;;:::i;:::-;214:63:6;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;98:8747:30;;214:63:6;;;;;;;;;;;;:::o;:::-;98:8747:30;;;214:63:6;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x60806040818152600491823610156200001757600080fd5b60009283803560e01c9283630982c4821462000c4357505081630a9254e41462000b7a578382631a6f93491462000a7b575081631df1ce6514620002ea5783826336d3d58f1462000981575081634fd855ab14620002ea5781636f86ff1314620002ea57816377fc70c614620008ee5781637995097814620002ea578382639642ddaf146200084e57508163b5b34603146200043157838263b84446a3146200032257508163ba414fa614620002f8578163bf506ac414620002ea5783908263cc8668de1462000234578263e13aba48146200012857505063fa7626d41462000100575b600080fd5b34620001245781600319360112620001245760209060ff6007541690519015158152f35b5080fd5b9150913462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200016e81890162001219565b03925af193841562000226578594620001ea575b506200018e846200139a565b6011541692833b15620001e657602485928385519687948593630852cd8d60e31b85528401525af1908115620001dd5750620001c75750f35b620001d29062000d7a565b620001da5780f35b80fd5b513d84823e3d90fd5b8480fd5b945092506020843d82116200021d575b81620002096020938362000ddf565b81010312620000fb57849351923862000182565b3d9150620001fa565b83513d87823e3d90fd5b5050fd5b839034620002e65782600319360112620002e65760115482516306fdde0360e01b815291849183919082906001600160a01b03165afa908115620002da5791620002ae928492620002b1575b5051906200028e8262000da5565b600d82526c15195cdd0810dbdb9d1c9858dd609a1b602083015262000fe2565b80f35b620002d29192503d8086833e620002c9818362000ddf565b81019062000f4f565b908462000280565b505051903d90823e3d90fd5b8280fd5b50505050620000fb62000d64565b50503462000124578160031936011262000124576020906200031962000e79565b90519015158152f35b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200036881890162001219565b03925af193841562000226578594620003f5575b5062000388846200139a565b6011541692833b15620001e657620003e09385928385518097819582946366d8744f60e11b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b03925af1908115620001dd5750620001c75750f35b945092506020843d821162000428575b81620004146020938362000ddf565b81010312620000fb5784935192866200037c565b3d915062000405565b905034620002e65782600319360112620002e6576011548251635aa1df0960e11b815292602092909185906001600160a01b03908590879083168185816200047b818a0162001219565b03925af1958615620008445782966200080b575b506200049b866200139a565b6011541694602484518097819363c87b56dd60e01b8352868301525afa93841562000801578594620007e1575b508151607b60f81b848201527f226e616d65223a22466f756e647279205465737420417070222c00000000000060218201527f226465736372697074696f6e223a225468697320697320612074657374206170603b8201527f706c69636174696f6e207375626d697474656420627920666f756e6472792074605b82015266195cdd1ccb888b60ca1b607b8201527f226f776e6572223a223078623463373964614238663235394337416565364535608282015274188c90584dcc8e4e0c8c4e0d8d0c8c8dd94e0d088b605a1b60a28201527f2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e787960b7820152621e888b60ea1b60d78201527f22696d616765223a2268747470733a2f2f666c65656b2e78797a222c0000000060da8201526e2261747472696275746573223a205b60881b60f68201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a22666101058201526a1b19595ad7de1e5e889f4b60aa1b6101258201527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227661013082015270185b1d59488e88985999998cd98d889f4b607a1b6101508201527f7b2274726169745f74797065223a20225265706f7369746f7279222c202276616101618201527f6c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b78796101818201526d1e8bd8dbdb9d1c9858dd1cc89f4b60921b6101a18201527f7b2274726169745f74797065223a202256657273696f6e222c202276616c75656101af82015265223a2230227d60d01b6101cf820152605d60f81b6101d5820152607d60f81b6101d68201526101b78152906101e082019067ffffffffffffffff821183831017620007cc5750620007b593836200077b620007c694603d94620002ae999752620014a1565b905195827f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000088948501528251928391868601910162000e02565b810103601d81018552018362000ddf565b62000fe2565b604190634e487b7160e01b6000525260246000fd5b620007f99194503d8087833e620002c9818362000ddf565b9238620004c8565b82513d87823e3d90fd5b85809297508193503d83116200083c575b62000828818362000ddf565b81010312620000fb5785905194386200048f565b503d6200081c565b84513d84823e3d90fd5b9291503462000230578260031936011262000230576011548251635aa1df0960e11b81529360209285926001600160a01b031691839182906200089390820162001219565b03925af1908115620001dd57508290620008b4575b620002ae91506200139a565b506020813d8211620008e5575b81620008d06020938362000ddf565b81010312620000fb57620002ae9051620008a8565b3d9150620008c1565b905034620002e65782600319360112620002e65760115482516395d89b4160e01b815291849183919082906001600160a01b03165afa908115620002da5791620002ae92849262000961575b505190620009488262000da5565b6006825265464c4b41505360d01b602083015262000fe2565b620009799192503d8086833e620002c9818362000ddf565b90386200093a565b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620009c781890162001219565b03925af19384156200022657859462000a3f575b50620009e7846200139a565b6011541692833b15620001e657620003e093859283855180978195829463246a908b60e01b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b945092506020843d821162000a72575b8162000a5e6020938362000ddf565b81010312620000fb578493519286620009db565b3d915062000a4f565b8091843462000230578260031936011262000230576011548151635aa1df0960e11b815292906001600160a01b03906020908590831681888162000ac181890162001219565b03925af19384156200022657859462000b3e575b5062000ae1846200139a565b6011541692833b15620001e657620003e0938592838551809781958294630190503b60e61b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b945092506020843d821162000b71575b8162000b5d6020938362000ddf565b81010312620000fb57849351928662000ad5565b3d915062000b4e565b905034620002e65782600319360112620002e657815190613bb18083019183831067ffffffffffffffff84111762000c30575060c0918391620016408339848152600d858201526c15195cdd0810dbdb9d1c9858dd609a1b6060820152608060208201526006608082015265464c4b41505360d01b60a082015203019083f090811562000c25575060018060a01b03166bffffffffffffffffffffffff60a01b601154161760115580f35b51913d9150823e3d90fd5b634e487b7160e01b865260419052602485fd5b84828492346200012457816003193601126200012457601154635aa1df0960e11b82526001600160a01b03906020908390831681868162000c868b820162001219565b03925af191821562000d5a57839262000d21575b5062000ca6826200139a565b60115416803b15620002e65762000d009483855180978195829463f931517760e01b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b03925af1908115620001dd575062000d16575080f35b620002ae9062000d7a565b9091506020813d821162000d51575b8162000d3f6020938362000ddf565b81010312620002e65751908662000c9a565b3d915062000d30565b84513d85823e3d90fd5b5034620000fb576000366003190112620000fb57005b67ffffffffffffffff811162000d8f57604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111762000d8f57604052565b6060810190811067ffffffffffffffff82111762000d8f57604052565b90601f8019910116810190811067ffffffffffffffff82111762000d8f57604052565b60005b83811062000e165750506000910152565b818101518382015260200162000e05565b67ffffffffffffffff811162000d8f57601f01601f191660200190565b3d1562000e74573d9062000e588262000e27565b9162000e68604051938462000ddf565b82523d6000602084013e565b606090565b60075460081c60ff161562000e945760ff60075460081c1690565b600080737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62000eb857505090565b819060405182602082018381526519985a5b195960d21b60408401526040835262000ee38362000dc2565b62000f1f6024604051809362000f0e6020830197630667f9d760e41b89525180928585019062000e02565b810103600481018452018262000ddf565b51925af15062000f2e62000e44565b602081805181010312620001245760200151908115158203620001da575090565b602081830312620000fb5780519067ffffffffffffffff8211620000fb570181601f82011215620000fb57805162000f878162000e27565b9262000f97604051948562000ddf565b81845260208284010111620000fb5762000fb8916020808501910162000e02565b90565b9060209162000fd68151809281855285808601910162000e02565b601f01601f1916010190565b6040805191602092838101906200101385828551620010058187858a0162000e02565b810103808452018262000ddf565b51902082518481019062001035868281620010058b8781519384920162000e02565b5190200362001045575b50505050565b6200113d926200114b917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728782015263696e675d60e01b6060820152a1835195848752620010db858801604090600a8152690808115e1c1958dd195960b21b60208201520190565b968088038482015280620011127f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462000fbb565b0390a183519484869586528501604090600a815269080808081058dd1d585b60b21b60208201520190565b918483039085015262000fbb565b0390a16200115862001162565b388080806200103f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62001191575b5061010061ff00196007541617600755565b6040519060208201908082526519985a5b195960d21b60408401526001606084015260608352608083019183831067ffffffffffffffff84111762000d8f576000836200120260248397849760405260a08101956370ca10bb60e01b875262000f0e8251809260a485019062000e02565b51925af1506200121162000e44565b50386200117f565b60e09073b4c79dab8f259c7aee6e5b2aa729821864227e84815260106101008060208401528201526f0466f756e6472792054657374204170760841b61012082015260366101408060408401528201527f5468697320697320612074657374206170706c69636174696f6e207375626d69610160820152753a3a32b210313c903337bab732393c903a32b9ba399760511b61018082015262001314620012e86101a080606085015283016040906011815270343a3a38399d1797b33632b2b5973c3cbd60791b60208201520190565b82810360808401526011815270343a3a38399d1797b33632b2b5973c3cbd60791b602082015260400190565b908260808284038060a08501526009855268333632b2b5afbc3cbd60b91b60208601526040810160c0850152600760408601526630b3333319b31b60c91b606086015201910152602560808201527f68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e7460a082015264726163747360d81b60c08201520190565b80620013a35750565b6200148c60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001435828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60006020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b9060208301520390a16200149f62001162565b565b8051156200161957604051620014b78162000dc2565b604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211620016035760039182900480851b94906001600160fe1b038116036200160357926200155b620015428662000e27565b9562001552604051978862000ddf565b80875262000e27565b6020860190601f190136823793829183518401925b838110620015b157505050505106806001146200159e5760021462001593575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919062001570565b634e487b7160e01b600052601160045260246000fd5b506040516020810181811067ffffffffffffffff82111762000d8f57604052600081529056fe60406080815234620003da5762003bb190813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137399081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127595750806306fdde03146126b6578063081812fc14612698578063095ea7b31461251e57806323b872dd146124f5578063246a908b14612379578063248a9ca31461234a5780632f2ff15d1461231057806336568abe1461227e5780633806f1521461200957806342842e0e14611fe157806342966c6814611e965780636352211e14611e6657806364140ec014611cf357806370a0823114611c5c57806378278cca14611ae957806391d1485414611a9c57806395d89b41146119bd578063987c26fd146116a357806398b7079314611668578063a217fddf1461164c578063a22cb4651461157a578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661294e565b9061019f610199612ae2565b82612b08565b6000526020916006835260406000203360005283526101c560ff60406000205416612b53565b6000828152600260205260409020546101e8906001600160a01b03161515612f16565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129c3565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612bb0565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612bb0565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129fd565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612826565b61036561283c565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f761283c565b916104146001600160a01b0361040c83612f62565b163314612a14565b600081815260026020526040902054610437906001600160a01b03161515612f16565b61043f612ae2565b90612b08565b612e26565b005b3461033f57604036600319011261033f5761044a60043561046b61283c565b90806000526006602052610486600160406000200154612c1c565b612ea0565b3461033f576104993661294e565b906104a5610199612ae2565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b53565b6000828152600260205260409020546104ee906001600160a01b03161515612f16565b816000526008835260406000208151936001600160401b0385116103295761051682546129c3565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612bb0565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f16565b61066382612f62565b600092835260088252604090922091610684906001600160a01b03166135f5565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613446565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a5f565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a5f565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127de565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a5f565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a5f565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a5f565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a5f565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a5f565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127de565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128bd565b8060405161099a81612887565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613478565b6040519485925190818585016109e3926127de565b820181519182858084019201916109f9926127de565b010380845201610a0990836128bd565b6040519181839283528201610a1d91612801565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f761283c565b3461033f57608036600319011261033f57610aee612826565b610af661283c565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128f9565b9160443591613025565b61010036600319011261033f57610b49612826565b6024356001600160401b03811161033f57610b68903690600401612930565b906044356001600160401b03811161033f57610b88903690600401612930565b906064356001600160401b03811161033f57610ba8903690600401612930565b926084356001600160401b03811161033f57610bc8903690600401612930565b60a4356001600160401b03811161033f57610be7903690600401612930565b9060c4356001600160401b03811161033f57610c07903690600401612930565b9560e4356001600160401b03811161033f57610c27903690600401612930565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561151957600754956001600160a01b038116156114d557600087815260026020526040902054610d6c9190610c9e906001600160a01b031615155b1561311e565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610d386001600160a01b0361040c8a612f62565b600088815260026020526040902054610d5b906001600160a01b03161515612f16565b610445610d66612ae2565b89612b08565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610da188546129c3565b601f81116114a3575b50602090601f83116001146114375760009261142c575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610df660018801546129c3565b601f81116113f7575b50602090601f83116001146113855760009261137a575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e4e60028701546129c3565b601f8111611345575b50602090601f83116001146112d3576000926112c8575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610ea660038601546129c3565b601f8111611293575b50602090601f831160011461122157600092611216575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610efc60048401546129c3565b601f81116111e1575b50602090601f831160011461116e57600693929160009183611163575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f4e86612887565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f8182546129c3565b601f8111611131575b506020601f82116001146110c757819060019495966000926110bc575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fdd82546129c3565b601f811161108c575b508493601f821160011461102957938192939460009261101e575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580611001565b601f1982169483600052866000209160005b87811061107557508360019596971061105c575b505050811b019055611016565b015160001960f88460031b161c1916905585808061104f565b91928860018192868501518155019401920161103b565b6110b6908360005286600020601f840160051c81019188851061031f57601f0160051c01906129fd565b85610fe6565b015190508680610fa7565b601f198216958360005260206000209660005b8181106111195750916001959697918487959410611100575b505050811b018155610fbb565b015160001960f88460031b161c191690558680806110f3565b838301518955600190980197602093840193016110da565b61115d90836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129fd565b85610f8a565b015190508780610f22565b906004840160005260206000209160005b601f19851681106111c9575091839160019360069695601f198116106111b0575b505050811b016004820155610f3a565b015160001960f88460031b161c191690558780806111a0565b9192602060018192868501518155019401920161117f565b61121090600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b86610f05565b015190508780610ec6565b9250600385016000526020600020906000935b601f1984168510611278576001945083601f1981161061125f575b505050811b016003830155610ede565b015160001960f88460031b161c1916905587808061124f565b81810151835560209485019460019093019290910190611234565b6112c290600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b88610eaf565b015190508880610e6e565b9250600286016000526020600020906000935b601f198416851061132a576001945083601f19811610611311575b505050811b016002840155610e86565b015160001960f88460031b161c19169055888080611301565b818101518355602094850194600190930192909101906112e6565b61137490600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b89610e57565b015190508980610e16565b9250600187016000526020600020906000935b601f19841685106113dc576001945083601f198116106113c3575b505050811b016001850155610e2e565b015160001960f88460031b161c191690558980806113b3565b81810151835560209485019460019093019290910190611398565b61142690600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8a610dff565b015190508a80610dc1565b9250876000526020600020906000935b601f1984168510611488576001945083601f1981161061146f575b505050811b018555610dd6565b015160001960f88460031b161c191690558a8080611462565b81810151835560209485019460019093019290910190611447565b6114cf90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129fd565b8b610daa565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f57611593612826565b6024359081151580920361033f576001600160a01b03169033821461160757336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b6116ac3661297d565b91906116c26001600160a01b0361040c84612f62565b6000828152600260205260409020546116e5906001600160a01b03161515612f16565b6116f66116f0612ae2565b83612b08565b60005260209260068452604060002033600052845261171c60ff60406000205416612b53565b60008381526002602052604090205461173f906001600160a01b03161515612f16565b60405161174b81612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916117ad82546129c3565b93601f948c868211611978575b50508b90858311600114611912576000919083611907575b50508682851b9260031b1c19161781555b019451978851948511610329576117fa86546129c3565b8281116118cf575b508091851160011461186657508392918391611833989960009561185b575b50501b9260031b1c1916179055612bb0565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b015193508980611821565b91939290601f198416988660005283600020936000905b8b82106118b857505084611833999a106118a0575b50505050811b019055612bb0565b01519060f88460031b161c1916905586808080611892565b80888597829496860151815501960193019061187d565b6118f89087600052826000208480890160051c820192858a106118fe575b0160051c01906129fd565b89611802565b925081926118ed565b015190508c806117d2565b60008481528d8120929190601f198516908f5b82821061195f5750509084879594939210611948575b505050811b0181556117e3565b01518860f88460031b161c191690558c808061193b565b8484015186558a98909501949384019390810190611925565b6119a0918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6117ba565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119e1826129c3565b80855291818116908115611a755750600114611a1c575b610a1d84611a08818603826128bd565b604051918291602083526020830190612801565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a5d575050508101602001611a08826119f8565b80546020858701810191909152909301928101611a45565b60ff191660208087019190915292151560051b85019092019250611a0891508390506119f8565b3461033f57604036600319011261033f57611ab561283c565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611af73661294e565b90611b03610199612ae2565b600052602091600683526040600020336000528352611b2960ff60406000205416612b53565b600082815260026020526040902054611b4c906001600160a01b03161515612f16565b816000526008835260046040600020018151936001600160401b03851161032957611b7782546129c3565b601f8111611c2c575b5080601f8611600114611bdc57509380611bb4949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c14575050918691611bb49697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611bef565b611c56908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611b80565b3461033f57602036600319011261033f576001600160a01b03611c7d612826565b168015611c9c5760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611d013661294e565b90611d0d610199612ae2565b600052602091600683526040600020336000528352611d3360ff60406000205416612b53565b600082815260026020526040902054611d56906001600160a01b03161515612f16565b816000526008835260026040600020018151936001600160401b03851161032957611d8182546129c3565b601f8111611e36575b5080601f8611600114611de657509380611dbe949560009161057b57508160011b916000199060031b1c1916179055612bb0565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e1e575050918691611dbe9697600194106105be575050811b019055612bb0565b80600185968294968a01518155019501930190611df9565b611e60908360005282600020601f880160051c81019184891061031f57601f0160051c01906129fd565b85611d8a565b3461033f57602036600319011261033f576020611e84600435612f62565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611eb76116f0612ae2565b600052600681526040600020336000528152611eda60ff60406000205416612b53565b8160006001600160a01b03611efa3382611ef386612f62565b1614612a14565b611f0383612f62565b50611f0d83612f62565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f8f6003604060002001546129c3565b611f9557005b600891600052526000600560408220611fad81612bd0565b611fb960018201612bd0565b611fc560028201612bd0565b611fd160038201612bd0565b611fdd60048201612bd0565b0155005b3461033f5761044a611ff236612852565b9060405192612000846128a2565b60008452613025565b3461033f576120173661297d565b91906120246116f0612ae2565b60005260209260068452604060002033600052845261204a60ff60406000205416612b53565b60008381526002602052604090205461206d906001600160a01b03161515612f16565b60405161207981612887565b82815284810191825283600052600885526006604060002001600560406000200190815490600019928383146119a757600180930180915560005287526040600020925180516001600160401b03948582116103295783916120db82546129c3565b93601f948c86821161224f575b50508b908583116001146121e95760009190836121de575b50508682851b9260031b1c19161781555b0194519788519485116103295761212886546129c3565b8281116121b0575b508091851160011461216057508392918391611833989960009561185b5750501b9260031b1c1916179055612bb0565b91939290601f198416988660005283600020936000905b8b821061219957505084611833999a106118a05750505050811b019055612bb0565b808885978294968601518155019601930190612177565b6121d89087600052826000208480890160051c820192858a106118fe570160051c01906129fd565b89612130565b015190508c80612100565b60008481528d8120929190601f198516908f5b828210612236575050908487959493921061221f575b505050811b018155612111565b01518860f88460031b161c191690558c8080612212565b8484015186558a989095019493840193908101906121fc565b612277918560005287826000209181870160051c83019387106118fe570160051c01906129fd565b8c8c6120e8565b3461033f57604036600319011261033f5761229761283c565b336001600160a01b038216036122b35761044a90600435612ea0565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561232f61283c565b90806000526006602052610445600160406000200154612c1c565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123873661294e565b90612393610199612ae2565b6000526020916006835260406000203360005283526123b960ff60406000205416612b53565b6000828152600260205260409020546123dc906001600160a01b03161515612f16565b8160005260088352600180604060002001908251906001600160401b0382116103295761240983546129c3565b601f81116124c5575b5085601f83116001146124785750818091612445969760009361246d575b501b916000199060031b1c1916179055612bb0565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b860151925088612430565b601f929192198216968460005281600020916000905b8982106124ae575050826124459798106105be575050811b019055612bb0565b808684958294958b0151815501940192019061248e565b6124ef908460005287600020601f850160051c81019189861061031f57601f0160051c01906129fd565b86612412565b3461033f5761044a61250636612852565b9161251961251484336130b0565b612fc3565b6131c4565b3461033f57604036600319011261033f57612537612826565b602435906001600160a01b03808061254e85612f62565b1692169180831461264957803314908115612624575b50156125b957600083815260046020526040902080546001600160a01b0319168317905561259183612f62565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612564565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e84600435612f85565b3461033f57600036600319011261033f57604051600080546126d7816129c3565b80845290600190818116908115611a75575060011461270057610a1d84611a08818603826128bd565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410612741575050508101602001611a08826119f8565b80546020858701810191909152909301928101612729565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b811490811561279b575b5015158152f35b6380ac58cd60e01b8114915081156127cd575b81156127bc575b5083612794565b6301ffc9a760e01b149050836127b5565b635b5e139f60e01b811491506127ae565b60005b8381106127f15750506000910152565b81810151838201526020016127e1565b9060209161281a815180928185528580860191016127de565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b929192612905826128de565b9161291360405193846128bd565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f5781602061294b933591016128f9565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f5761294b91600401612930565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129ac91600401612930565b9260443591821161033f5761294b91600401612930565b90600182811c921680156129f3575b60208310146129dd57565b634e487b7160e01b600052602260045260246000fd5b91607f16916129d2565b818110612a08575050565b600081556001016129fd565b15612a1b57565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a6e816129c3565b92600191808316908115612ac75750600114612a8b575b50505050565b90919293945060005260209081600020906000915b858310612ab65750505050019038808080612a85565b805485840152918301918101612aa0565b60ff1916845250505081151590910201915038808080612a85565b60405190612aef82612887565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b4d60466040518093602082019565544f4b454e5f60d01b8752612b378151809260206026870191016127de565b82019060268201520360268101845201826128bd565b51902090565b15612b5a57565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bc8906020604051928284809451938492016127de565b810103902090565b612bda81546129c3565b9081612be4575050565b81601f60009311600114612bf6575055565b81835260208320612c1291601f0160051c8101906001016129fd565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c465750505050565b612c4f336135f5565b91845190608082018281106001600160401b03821117612e1257865260428252848201926060368537825115612dfe5760308453825190600191821015612dfe5790607860218501536041915b818311612d9057505050612d4e576048612d4a938693612d2e93612d1f98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612cf6815180928c6037890191016127de565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127de565b010360288101875201856128bd565b5192839262461bcd60e51b845260048401526024830190612801565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dea576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dc085876135ce565b5360041c928015612dd657600019019190612c9c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e5857505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ed157505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f1d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b031661294b811515612f16565b600081815260026020526040902054612fa8906001600160a01b03161515612f16565b6000908152600460205260409020546001600160a01b031690565b15612fca57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061304993929161303961251484336130b0565b6130448383836131c4565b6132da565b1561305057565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130c484612f62565b169316918383149384156130f7575b5083156130e1575b50505090565b6130ed91929350612f85565b16143880806130db565b909350600052600560205260406000208260005260205260ff6040600020541692386130d3565b1561312557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561317157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131ec916131d284612f62565b6001600160a01b039391841692849290918316841461316a565b1691821561328957816132099161320286612f62565b161461316a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b1561343b579484916133349660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612801565b0393165af18491816133f7575b506133e6575050503d6000146133de573d61335b816128de565b9061336960405192836128bd565b81528091833d92013e5b805191826133db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b506060613373565b6001600160e01b0319161492509050565b9091508581813d8311613434575b61340f81836128bd565b8101031261343057516001600160e01b031981168103613430579038613341565b8480fd5b503d613405565b505050915050600190565b90613450826128de565b61345d60405191826128bd565b828152809261346e601f19916128de565b0190602036910137565b8051156135ba57604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f604082015281516002928382018092116119a7576003918290046001600160fe1b03811681036119a75761351d908594951b613446565b936020850193829183518401925b83811061356957505050505106806001146135565760021461354b575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919061352b565b506040516135c7816128a2565b6000815290565b9081518110156135df570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135df576030905381516001908110156135df57607860218401536029905b8082116136955750506136515790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136c484866135ce565b5360041c9180156136d9576000190190613641565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea26469706673582212203dba85c3f8a5ea44ed4e11e06a0ce04d8f24a1b12f7e59a91b9900f3329f942364736f6c63430008110033a2646970667358221220edadfbb07746c1a97ce033660cf75ff8534d9c5f8c6bb126d82af9ed21c38a7864736f6c63430008110033", - "sourceMap": "98:4988:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:26:2;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:13;98:4988;;;-1:-1:-1;;;2293:353:30;;98:4988;;-1:-1:-1;;;;;98:4988:30;2293:353;;98:4988;;;;;2293:353;98:4988;2293:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;2657:17;;;;:::i;:::-;2293:13;98:4988;;2685:24;;;;;;98:4988;;;;;;;;;;;;;;2685:24;;;;1671:64:2;2685:24:30;;;;;;;;;;98:4988;;2685:24;;;;:::i;:::-;98:4988;;2685:24;98:4988;;;;2685:24;98:4988;;;;;;;;2685:24;98:4988;;;2293:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;;;2293:353;;;;;;;-1:-1:-1;2293:353:30;;;98:4988;;;;;;;;;;;;;;;;;;;;;;;;;;;318:13;98:4988;;;-1:-1:-1;;;318:20:30;;98:4988;;;;;;;;-1:-1:-1;;;;;98:4988:30;318:20;;;;;;;;309:47;318:20;;;;;98:4988;;;1671:64:2;;;;:::i;:::-;98:4988:30;1671:64:2;;-1:-1:-1;;;98:4988:30;;;;309:47;:::i;:::-;98:4988;;318:20;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;98:4988;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2782:13;98:4988;;;-1:-1:-1;;;2782:353:30;;98:4988;;-1:-1:-1;;;;;98:4988:30;2782:353;;98:4988;;;;;2782:353;98:4988;2782:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;3146:17;;;;:::i;:::-;2782:13;98:4988;;3174:51;;;;;;;98:4988;;;;;;;;;;;;;;;3174:51;;;;98:4988;;1671:64:2;;98:4988:30;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;3174:51;;;;;;;;;;;;;98:4988;;2782:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;;;2782:353;;;;;;;-1:-1:-1;2782:353:30;;98:4988;;;;;;;;;;;;;;934:13;98:4988;;;-1:-1:-1;;;934:321:30;;98:4988;934:321;;98:4988;;;;-1:-1:-1;;;;;98:4988:30;934:321;;98:4988;;;;;;;934:321;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;1266:17;;;;:::i;:::-;934:13;98:4988;;;;;;;;;;;;;1319:28;;;;;1671:64:2;1319:28:30;;;;;;;;;;;98:4988;-1:-1:-1;98:4988:30;;-1:-1:-1;;;1381:733:30;;;98:4988;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;;;-1:-1:-1;;;98:4988:30;;;;1381:733;;;98:4988;1671:64:2;;;;;;;;;;;;;;;;;2201:24:30;2151:75;1671:64:2;98:4988:30;1671:64:2;2144:83:30;1671:64:2;;;2201:24:30;:::i;:::-;98:4988;;2151:75;;98:4988;2151:75;;;;98:4988;1671:64:2;;98:4988:30;;;;;;1671:64:2;;;:::i;:::-;;;2151:75:30;;;;;;;;;:::i;:::-;2144:83;:::i;1671:64:2:-;;;;;;98:4988:30;1671:64:2;;98:4988:30;;1671:64:2;1319:28:30;;;;;;;;;;;;;;:::i;:::-;;;;;;98:4988;;;;;;;;;934:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;;;934:321;;;;;;;;;;98:4988;;;;;;;;;;;;;;;;;;;;;;;;515:13;98:4988;;;-1:-1:-1;;;515:321:30;;98:4988;515:321;;98:4988;;-1:-1:-1;;;;;98:4988:30;;;;;;515:321;;;;;:::i;:::-;;;;;;;;;;;;;;;98:4988;847:17;;;;:::i;515:321::-;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;847:17;98:4988;;515:321;;;;;-1:-1:-1;515:321:30;;98:4988;;;;;;;;;;;;;;417:13;98:4988;;;-1:-1:-1;;;417:22:30;;98:4988;;;;;;;;-1:-1:-1;;;;;98:4988:30;417:22;;;;;;;;408:42;417:22;;;;;98:4988;;;1671:64:2;;;;:::i;:::-;98:4988:30;1671:64:2;;-1:-1:-1;;;98:4988:30;;;;408:42;:::i;417:22::-;;;;;;;;;;;;;;:::i;:::-;;;;;98:4988;;;;;;;;;;;;;;;3305:13;98:4988;;;-1:-1:-1;;;3305:353:30;;98:4988;;-1:-1:-1;;;;;98:4988:30;3305:353;;98:4988;;;;;3305:353;98:4988;3305:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;3669:17;;;;:::i;:::-;3305:13;98:4988;;3697:58;;;;;;;98:4988;;;;;;;;;;;;;;;3697:58;;;;98:4988;;1671:64:2;;98:4988:30;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;3305:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;;;3305:353;;;;;;;-1:-1:-1;3305:353:30;;98:4988;;;;;;;;;;;;;;;3829:13;98:4988;;;-1:-1:-1;;;3829:353:30;;98:4988;;-1:-1:-1;;;;;98:4988:30;3829:353;;98:4988;;;;;3829:353;98:4988;3829:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;4193:17;;;;:::i;:::-;3829:13;98:4988;;4221:57;;;;;;;98:4988;;;;;;;;;;;;;;;4221:57;;;;98:4988;;1671:64:2;;98:4988:30;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;3829:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;;;3829:353;;;;;;;-1:-1:-1;3829:353:30;;98:4988;;;;;;;;;;;;;;;;217:42;;;;;;;;;;;;;;;;98:4988;217:42;;;;;;98:4988;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;217:42;;;;;;;;;;98:4988;;;;;;;;;;201:58;98:4988;;;201:58;98:4988;;;217:42;98:4988;;;;-1:-1:-1;98:4988:30;;;;;217:42;-1:-1:-1;;;1671:64:2;;;;;;;;98:4988:30;;;;;;;;;;;;;;;;4358:13;98:4988;-1:-1:-1;;;4358:353:30;;-1:-1:-1;;;;;98:4988:30;4358:353;;98:4988;;;;;4358:353;98:4988;4358:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:4988;4722:17;;;;:::i;:::-;4358:13;98:4988;;4750:63;;;;;;98:4988;;;;;;;;;;;;;4750:63;;;;98:4988;;1671:64:2;;98:4988:30;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;4750:63;;;;;;;;;;;;;98:4988;;;4750:63;;;;:::i;4358:353::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:4988;;;;;4358:353;;;;;;;-1:-1:-1;4358:353:30;;;98:4988;;;;;;;;;;;;;;;;-1:-1:-1;;98:4988:30;;;;;1671:64:2;;;;;;;;:::o;:::-;;;;;;;;;;;;;98:4988:30;1671:64:2;;;;;;;;;;;98:4988:30;1671:64:2;:::o;:::-;98:4988:30;1671:64:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1671:64:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1671:64:2;;;;:::o;:::-;;;;;;;;;;:::i;:::-;98:4988:30;1671:64:2;98:4988:30;;1671:64:2;;;:::i;:::-;;;;-1:-1:-1;1671:64:2;;;;:::o;:::-;;;:::o;1819:584::-;1873:7;98:4988:30;;;;;;;;;1873:7:2;98:4988:30;;;;1896:14:2;:::o;1869:528::-;-1:-1:-1;2939:104:2;;;;1980:374;;2367:19;;;:::o;1980:374::-;98:4988:30;;;;2196:43:2;;;;1671:64;;;;;;98:4988:30;1671:64:2;;;98:4988:30;2196:43:2;;;;;:::i;:::-;2086:175;1671:64;98:4988:30;;2086:175:2;;1671:64;2196:43;2086:175;;1671:64;;;;;;;;;;;;;;:::i;:::-;;;2086:175;1671:64;2086:175;;;;;;;:::i;:::-;2047:232;;;;;;;:::i;:::-;2196:43;1671:64;;;2312:27;;1671:64;;;;2196:43;2312:27;1671:64;98:4988:30;;;;1671:64:2;;;;2297:42;2367:19;:::o;98:4988:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1671:64:2;98:4988:30;;1671:64:2;;;:::i;:::-;98:4988:30;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;1671:64:2;;98:4988:30;;;;;;;;;;;;:::i;:::-;1671:64:2;;-1:-1:-1;;1671:64:2;98:4988:30;;;:::o;14688:344:2:-;98:4988:30;;;14773:19:2;;;;;;1671:64;14773:19;1671:64;;;;;;;;;;;:::i;:::-;;;14773:19;;;;;;;:::i;:::-;1671:64;14763:30;;98:4988:30;;14807:19:2;;;1671:64;14807:19;1671:64;;;;;;;;;;;;;:::i;14807:19::-;1671:64;14797:30;;14763:64;14759:267;;14688:344;;;;;:::o;14759:267::-;98:4988:30;;;;14848:43:2;98:4988:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;14848:43:2;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;14910:33:2;98:4988:30;14910:33:2;98:4988:30;;;;:::i;:::-;14910:33:2;;;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;:::i;:::-;14962:33:2;;;;;:::i;:::-;14759:267;;;;;;2410:424;2939:104;;;2445:359;;2410:424;98:4988:30;;;;2813:14:2;98:4988:30;;;2813:14:2;98:4988:30;2410:424:2:o;2445:359::-;98:4988:30;;2645:67:2;;;;1671:64;;;;;;;98:4988:30;;;1671:64:2;2705:4;98:4988:30;;;1671:64:2;98:4988:30;2645:67:2;;98:4988:30;1671:64:2;;;;;;;;;;;;-1:-1:-1;1671:64:2;2534:196;;1671:64;;;;98:4988:30;1671:64:2;2534:196;;;1671:64;;;;;;;;;;;;;;;;:::i;2534:196::-;2499:245;;;;;;;:::i;:::-;;2445:359;;;98:4988:30;;;4390:42;1671:64:2;;98:4988:30;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;:::o;5202:262:2:-;5259:6;5255:203;;5202:262;:::o;5255:203::-;98:4988:30;;5286:41:2;98:4988:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;5286:41:2;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;1671:64:2;5346:31;;;;;;;;98:4988:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:4988:30;;;;;;;;;;;;1671:64:2;5396:31;;;;;:::i;:::-;5202:262::o;505:3026:23:-;1671:64:2;;795:16:23;791:31;;98:4988:30;;1671:64:2;;;:::i;:::-;98:4988:30;1671:64:2;;98:4988:30;;;;;;;;;;1671:64:2;;1357:1:23;345:66;;;;;;;;;1362:1;345:66;;;;;;;;;-1:-1:-1;;;;;345:66:23;;;;;1671:64:2;345:66:23;1671:64:2;;;:::i;:::-;98:4988:30;1671:64:2;98:4988:30;;1671:64:2;;;:::i;:::-;;;;345:66:23;:::i;:::-;98:4988:30;345:66:23;;;-1:-1:-1;;345:66:23;;;;1419:2082;;;;;;;;;;;;;;;;;;;;1362:1;1419:2082;1362:1;;;1419:2082;;;;3511:13;505:3026;:::o;1419:2082::-;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;-1:-1:-1;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;;1337:1;1419:2082;;;;;;;;;;98:4988:30;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:66;1671:64:2;;;810:1:23;345:66;;1337:1;345:66;;810:1;345:66;791:31;98:4988:30;;;1671:64:2;;;;;;;;;;;;98:4988:30;1671:64:2;810:1:23;1671:64:2;;813:9:23;:::o", + "object": "0x60806040818152600491823610156200001757600080fd5b60009283803560e01c9283630982c48214620012db57505081630a9254e41462001212578382631a6f93491462001113575081631df1ce651462000328578163365874141462000f8e5783826336d3d58f1462000e9457508163454d4f3a1462000d585781634b0bdf691462000c23578382634c5409541462000bc7575081634fd855ab146200032857816352685877146200097b5781636f86ff13146200032857816377fc70c614620008e8578163799509781462000328578382639642ddaf146200084857508163b5b34603146200046f57838263b84446a3146200036057508163ba414fa61462000336578163bf506ac414620003285783908263cc8668de1462000272578263e13aba48146200016657505063fa7626d4146200013e575b600080fd5b34620001625781600319360112620001625760209060ff6007541690519015158152f35b5080fd5b915091346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620001ac81890162001913565b03925af19384156200026457859462000228575b50620001cc8462001a30565b6011541692833b156200022457602485928385519687948593630852cd8d60e31b85528401525af19081156200021b5750620002055750f35b620002109062001412565b620002185780f35b80fd5b513d84823e3d90fd5b8480fd5b945092506020843d82116200025b575b81620002476020938362001477565b8101031262000139578493519238620001c0565b3d915062000238565b83513d87823e3d90fd5b5050fd5b839034620003245782600319360112620003245760115482516306fdde0360e01b815291849183919082906001600160a01b03165afa908115620003185791620002ec928492620002ef575b505190620002cc826200143d565b600d82526c15195cdd0810dbdb9d1c9858dd609a1b60208301526200167a565b80f35b620003109192503d8086833e62000307818362001477565b810190620015e7565b9084620002be565b505051903d90823e3d90fd5b8280fd5b5050505062000139620013fc565b50503462000162578160031936011262000162576020906200035762001511565b90519015158152f35b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b039060209085908316818881620003a681890162001913565b03925af19384156200026457859462000433575b50620003c68462001a30565b6011541692833b1562000224576200041e9385928385518097819582946366d8744f60e11b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b03925af19081156200021b5750620002055750f35b945092506020843d821162000466575b81620004526020938362001477565b8101031262000139578493519286620003ba565b3d915062000443565b90503462000324578260031936011262000324576011548251635aa1df0960e11b81526020918591906001600160a01b0390849083908316818681620004b78b820162001913565b03925af19182156200083e57839262000805575b50602490620004da8362001a30565b60115416948651958693849263c87b56dd60e01b84528301525afa918215620007f85790620002ec93620007b793928693620007ce575b50620007c891816200077d603d9351607b60f81b848201527f226e616d65223a22466f756e647279205465737420417070222c000000000000602182015262000777600282620007566200071e620006b862000675602b620005fa620005c56200057e603b890162001c2c565b7f226f776e6572223a223078623463373964614238663235394337416565364535815274188c90584dcc8e4e0c8c4e0d8d0c8c8dd94e0d088b605a1b602082015260350190565b7f2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e78798152621e888b60ea1b602082015260230190565b7f22696d616765223a2268747470733a2f2f666c65656b2e78797a222c0000000081526e2261747472696275746573223a205b60881b601c8201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a226691019081526a1b19595ad7de1e5e889f4b60aa1b6020820152602b0190565b7f7b2274726169745f74797065223a2022436f6d6d69742048617368222c202276815270185b1d59488e88985999998cd98d889f4b607a1b602082015260310190565b7f7b2274726169745f74797065223a20225265706f7369746f7279222c2022766181527f6c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b787960208201526d1e8bd8dbdb9d1c9858dd1cc89f4b60921b6040820152604e0190565b7f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565815265223a2230227d60d01b602082015260260190565b605d60f81b8152607d60f81b600182015203601d1981018452018262001477565b62001c8b565b905195827f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008894850152825192839186860191016200149a565b810103601d81018552018362001477565b6200167a565b603d91935091620007ee620007c8933d808a833e62000307818362001477565b9391509162000511565b50505051903d90823e3d90fd5b925090508282813d811162000836575b62000821818362001477565b810103126200013957905185916024620004cb565b503d62000815565b86513d85823e3d90fd5b929150346200026e57826003193601126200026e576011548251635aa1df0960e11b81529360209285926001600160a01b031691839182906200088d90820162001913565b03925af19081156200021b57508290620008ae575b620002ec915062001a30565b506020813d8211620008df575b81620008ca6020938362001477565b810103126200013957620002ec9051620008a2565b3d9150620008bb565b905034620003245782600319360112620003245760115482516395d89b4160e01b815291849183919082906001600160a01b03165afa908115620003185791620002ec9284926200095b575b50519062000942826200143d565b6006825265464c4b41505360d01b60208301526200167a565b620009739192503d8086833e62000307818362001477565b903862000934565b91905034620003245760031990838236011262000bc3576011548151635aa1df0960e11b8082529094602092879291906001600160a01b0390859089908316818781620009ca88820162001913565b03925af1801562000bb95785969798859162000b79575b5090620009ef859262001a30565b60115416928751988995869485938452830152602482016101009052610104820162000a3b9060409060128152712337bab732393c902a32b9ba1020b838101960711b60208201520190565b8281038281016044850152603982527f5468697320697320612074657374206170706c69636174696f6e207375626d69898301527f7474656420627920666f756e6472792074657374735b325d2e000000000000008b830152605c01606484015262000aaa90606001620018b1565b8183820301608484015262000abf90620018b1565b828103820160a48401526009815268333632b2b5afbc3cbd60b91b6020820152604001828103820160c4840152600781526630b3333319b31b60c91b6020820152604001908282030160e483015262000b1890620018d5565b03925af191821562000b705750839162000b39575b83620002ec8362001b37565b905081813d831162000b68575b62000b52818362001477565b810103126200013957620002ec90513862000b2d565b503d62000b46565b513d85823e3d90fd5b95809295508691503d831162000bb1575b62000b96818362001477565b8101031262000139579251849388939091620009ef620009e1565b503d62000b8a565b86513d86823e3d90fd5b8380fd5b809184346200026e57826003193601126200026e576011546001600160a01b031691823b1562000c1e5783602481928285519687948593630852cd8d60e31b85528401525af19081156200021b5750620002055750f35b505050fd5b90503462000324578260031936011262000324576011548251635aa1df0960e11b8082529091602091906001600160a01b0390839085908316818a8162000c6c8b820162001913565b03925af193841562000d4e57879462000d13575b5093829162000ca2949560115416908888518097819582948352820162001913565b03925af193841562000d0a5750849362000cce575b84620002ec8562000cc88662001a30565b62001b37565b90809350813d831162000d02575b62000ce8818362001477565b81010312620001395762000cc8620002ec92519262000cb7565b503d62000cdc565b513d86823e3d90fd5b919350938282813d831162000d46575b62000d2f818362001477565b810103126200013957905190939092908262000c80565b503d62000d23565b86513d89823e3d90fd5b9190503462000324578260031936011262000324578051607b60f81b60208201527f226e616d65223a22466f756e647279205465737420417070222c000000000000602182015262000dce600282620007566200071e620006b862000675602b620005fa620005c56200057e603b890162001c2c565b601154825163c87b56dd60e01b81529384018590528490849060249082906001600160a01b03165afa90811562000e8a57620002ec93859262000e5d575b50603d62000e1e620007c89262001c8b565b935180947f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000006020830152620007b781518092602086860191016200149a565b620007c891925062000e1e62000e80603d923d808a833e62000307818362001477565b9392505062000e0c565b82513d86823e3d90fd5b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b03906020908590831681888162000eda81890162001913565b03925af19384156200026457859462000f52575b5062000efa8462001a30565b6011541692833b1562000224576200041e93859283855180978195829463246a908b60e01b84528301608091815260406020820152600f60408201526e4e455720544f4b454e204e414d452160881b60608201520190565b945092506020843d821162000f85575b8162000f716020938362001477565b810103126200013957849351928662000eee565b3d915062000f62565b91905034620003245760031990838236011262000bc3576011548151635aa1df0960e11b80825290946020929091906001600160a01b0390849088908316818b8162000fdc818a0162001913565b03925af180156200110957849596978991620010d0575b5062000fff9062001a30565b60115416908786518098819582948352820173b4c79dab8f259c7aee6e5b2aa729821864227e8490526024820161010090526101048201620010619060409060128152712337bab732393c902a32b9ba1020b838101960711b60208201520190565b8281038281016044850152603a82527f5468697320697320612074657374206170706c69636174696f6e207375626d69898301527f7474656420627920666f756e647279207465737473205b325d2e0000000000008b830152605c01606484015262000aaa90606001620018b1565b85819692503d831162001101575b620010ea818362001477565b81010312620001395762000fff8594519062000ff3565b503d620010de565b85513d8a823e3d90fd5b809184346200026e57826003193601126200026e576011548151635aa1df0960e11b815292906001600160a01b0390602090859083168188816200115981890162001913565b03925af193841562000264578594620011d6575b50620011798462001a30565b6011541692833b1562000224576200041e938592838551809781958294630190503b60e61b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b945092506020843d821162001209575b81620011f56020938362001477565b81010312620001395784935192866200116d565b3d9150620011e6565b9050346200032457826003193601126200032457815190613b9d8083019183831067ffffffffffffffff841117620012c8575060c091839162001e2a8339848152600d858201526c15195cdd0810dbdb9d1c9858dd609a1b6060820152608060208201526006608082015265464c4b41505360d01b60a082015203019083f0908115620012bd575060018060a01b03166bffffffffffffffffffffffff60a01b601154161760115580f35b51913d9150823e3d90fd5b634e487b7160e01b865260419052602485fd5b84828492346200016257816003193601126200016257601154635aa1df0960e11b82526001600160a01b0390602090839083168186816200131e8b820162001913565b03925af1918215620013f2578392620013b9575b506200133e8262001a30565b60115416803b156200032457620013989483855180978195829463f931517760e01b84528301608091815260406020820152601460408201527368747470733a2f2f657468657265756d2e6f726760601b60608201520190565b03925af19081156200021b5750620013ae575080f35b620002ec9062001412565b9091506020813d8211620013e9575b81620013d76020938362001477565b81010312620003245751908662001332565b3d9150620013c8565b84513d85823e3d90fd5b5034620001395760003660031901126200013957005b67ffffffffffffffff81116200142757604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176200142757604052565b6060810190811067ffffffffffffffff8211176200142757604052565b90601f8019910116810190811067ffffffffffffffff8211176200142757604052565b60005b838110620014ae5750506000910152565b81810151838201526020016200149d565b67ffffffffffffffff81116200142757601f01601f191660200190565b3d156200150c573d90620014f082620014bf565b9162001500604051938462001477565b82523d6000602084013e565b606090565b60075460081c60ff16156200152c5760ff60075460081c1690565b600080737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200155057505090565b819060405182602082018381526519985a5b195960d21b6040840152604083526200157b836200145a565b620015b760246040518093620015a66020830197630667f9d760e41b8952518092858501906200149a565b810103600481018452018262001477565b51925af150620015c6620014dc565b60208180518101031262000162576020015190811515820362000218575090565b602081830312620001395780519067ffffffffffffffff821162000139570181601f82011215620001395780516200161f81620014bf565b926200162f604051948562001477565b8184526020828401011162000139576200165091602080850191016200149a565b90565b906020916200166e815180928185528580860191016200149a565b601f01601f1916010190565b604080519160209283810190620016ab858285516200169d8187858a016200149a565b810103808452018262001477565b519020825184810190620016cd8682816200169d8b878151938492016200149a565b51902003620016dd575b50505050565b620017d592620017e3917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728782015263696e675d60e01b6060820152a183519584875262001773858801604090600a8152690808115e1c1958dd195960b21b60208201520190565b968088038482015280620017aa7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462001653565b0390a183519484869586528501604090600a815269080808081058dd1d585b60b21b60208201520190565b918483039085015262001653565b0390a1620017f0620017fa565b38808080620016d7565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62001829575b5061010061ff00196007541617600755565b6040519060208201908082526519985a5b195960d21b60408401526001606084015260608352608083019183831067ffffffffffffffff84111762001427576000836200189a60248397849760405260a08101956370ca10bb60e01b8752620015a68251809260a48501906200149a565b51925af150620018a9620014dc565b503862001817565b6011815270343a3a38399d1797b33632b2b5973c3cbd60791b602082015260400190565b602581527f68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e74602082015264726163747360d81b604082015260600190565b620016509073b4c79dab8f259c7aee6e5b2aa729821864227e84815260106101008060208401528201526f0466f756e6472792054657374204170760841b61012082015260366101408060408401528201527f5468697320697320612074657374206170706c69636174696f6e207375626d69610160820152753a3a32b210313c903337bab732393c903a32b9ba399760511b61018082015262001a21620019ff620019db620019cd6101a08060608701528501620018b1565b8481036080860152620018b1565b83810360a08501526009815268333632b2b5afbc3cbd60b91b602082015260400190565b82810360c0840152600781526630b3333319b31b60c91b602082015260400190565b9060e0818303910152620018d5565b8062001a395750565b62001b2260407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001acb828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60006020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b9060208301520390a162001b35620017fa565b565b6001810362001b435750565b62001b2260407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e8482015261745d60f01b6060820152a180519281845262001bd5828501604090600a8152690808115e1c1958dd195960b21b60208201520190565b60016020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a815269080808081058dd1d585b60b21b60208201520190565b7f226465736372697074696f6e223a22546869732069732061207465737420617081527f706c69636174696f6e207375626d697474656420627920666f756e6472792074602082015266195cdd1ccb888b60ca1b604082015260470190565b80511562001e035760405162001ca1816200145a565b604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f6040820152815160029283820180921162001ded5760039182900480851b94906001600160fe1b0381160362001ded579262001d4562001d2c86620014bf565b9562001d3c604051978862001477565b808752620014bf565b6020860190601f190136823793829183518401925b83811062001d9b575050505051068060011462001d885760021462001d7d575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c168801015188850153168501015187820153019592919062001d5a565b634e487b7160e01b600052601160045260246000fd5b506040516020810181811067ffffffffffffffff8211176200142757604052600081529056fe60406080815234620003da5762003b9d90813803806200001f81620003df565b93843982018183820312620003da5782516001600160401b0390818111620003da57826200004f91860162000405565b9360209283820151838111620003da576200006b920162000405565b93805191808311620003c4576000928354906001938483811c93168015620003b9575b87841014620003a5578190601f9384811162000352575b508790848311600114620002ee578792620002e2575b5050600019600383901b1c191690841b1784555b8651918211620002ce5782548381811c91168015620002c3575b86821014620002af5781811162000267575b508490821160011462000204578394959682939492620001f8575b5050600019600383901b1c191690821b1781555b7fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc92838352600681528282868220015481848882200155857fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4848320338452815260ff858420541615620001ab575b84516137259081620004788239f35b8383526006815284832090338452528382209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a4388080806200019c565b01519050388062000116565b82845284842090601f198316855b818110620002515750978385969798991062000237575b505050811b0181556200012a565b015160001960f88460031b161c1916905538808062000229565b8983015184559285019291870191870162000212565b8385528585208280850160051c820192888610620002a5575b0160051c019084905b82811062000299575050620000fb565b86815501849062000289565b9250819262000280565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528888208794509190601f198416895b8b8282106200033b575050841162000321575b505050811b018455620000cf565b015160001960f88460031b161c1916905538808062000313565b8385015186558a9790950194938401930162000300565b9091508680528787208480850160051c8201928a86106200039b575b918891869594930160051c01915b8281106200038c575050620000a5565b8981558594508891016200037c565b925081926200036e565b634e487b7160e01b86526022600452602486fd5b92607f16926200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003c457604052565b919080601f84011215620003da5782516001600160401b038111620003c4576020906200043b601f8201601f19168301620003df565b92818452828287010111620003da5760005b8181106200046357508260009394955001015290565b85810183015184820184015282016200044d56fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146127455750806306fdde03146126a2578063081812fc14612684578063095ea7b31461250a57806323b872dd146124e1578063246a908b14612365578063248a9ca3146123365780632f2ff15d146122fc57806336568abe1461226a5780633806f15214611ff557806342842e0e14611fcd57806342966c6814611e825780636352211e14611e5257806364140ec014611cdf57806370a0823114611c4857806378278cca14611ad557806391d1485414611a8857806395d89b41146119a9578063987c26fd1461168f57806398b7079314611654578063a217fddf14611638578063a22cb46514611566578063b543be1214610b34578063b88d4fde14610ad5578063befaa6a314610ab3578063c87b56dd1461061f578063cdb0e89e1461048b578063d547741f1461044c578063dcd78186146103d5578063e46f29c81461039a578063e985e9c5146103445763f93151771461017f57600080fd5b3461033f5761018d3661293a565b9061019f610199612ace565b82612af4565b6000526020916006835260406000203360005283526101c560ff60406000205416612b3f565b6000828152600260205260409020546101e8906001600160a01b03161515612f02565b816000526008835260036040600020018151936001600160401b0385116103295761021382546129af565b601f81116102ee575b5080601f8611600114610284575093806102519495600091610279575b508160011b916000199060031b1c1916179055612b9c565b907f9f284fd257fb85bc33901e673c078261b0222fbcc4b52c74784c9566808e3cfc600080a3005b905083015138610239565b90601f1986168360005282600020926000905b8282106102d65750509186916102519697600194106102bd575b5050811b019055612b9c565b85015160001960f88460031b161c1916905538806102b1565b80600185968294968a01518155019501930190610297565b610319908360005282600020601f880160051c81019184891061031f575b601f0160051c01906129e9565b3861021c565b909150819061030c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461033f57604036600319011261033f5761035d612812565b610365612828565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b3461033f57600036600319011261033f5760206040517f54812023c8fe13756580f3420840aeb566f69714bea27346e22e4c654756d77e8152f35b3461033f57604036600319011261033f5761044a6004356104456103f7612828565b916104146001600160a01b0361040c83612f4e565b163314612a00565b600081815260026020526040902054610437906001600160a01b03161515612f02565b61043f612ace565b90612af4565b612e12565b005b3461033f57604036600319011261033f5761044a60043561046b612828565b90806000526006602052610486600160406000200154612c08565b612e8c565b3461033f576104993661293a565b906104a5610199612ace565b6000526020916006835260406000203360005283526104cb60ff60406000205416612b3f565b6000828152600260205260409020546104ee906001600160a01b03161515612f02565b816000526008835260406000208151936001600160401b0385116103295761051682546129af565b601f81116105ef575b5080601f861160011461058657509380610553949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fabf44020991f188f6b302a14e4b7a3dc94de10ed2140a6c03e16f4213d11b1c9600080a3005b905083015186610239565b90601f1986168360005282600020926000905b8282106105d75750509186916105539697600194106105be575050811b019055612b9c565b85015160001960f88460031b161c1916905586806102b1565b80600185968294968a01518155019501930190610599565b610619908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b8561051f565b3461033f5760208060031936011261033f5760043560008181526002602052604090205490919061065a906001600160a01b03161515612f02565b61066382612f4e565b600092835260088252604090922091610684906001600160a01b03166135e1565b60058301546000818152600685018452604081206001958694938583019190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015610aa5575b5050886d04ee2d6d415b85acef810000000080841015610a97575b5050662386f26fc1000080831015610a88575b506305f5e10080831015610a79575b5061271080831015610a6a575b506064821015610a5a575b600a978880931015610a50575b6021610739828901613432565b97880101905b610a21575b5050604051607b60f81b8982015267113730b6b2911d1160c11b60218201529889969091506107766029880184612a4b565b61088b60f21b8082526e113232b9b1b934b83a34b7b7111d1160891b6002830152926107a791601101908501612a4b565b828152681137bbb732b9111d1160b91b60028201528151916107d1908390600b8401908d016127ca565b0181600b8201526f1132bc3a32b93730b62fbab936111d1160811b600d820152601d01600383019061080291612a4b565b818152681134b6b0b3b2911d1160b91b6002820152600b01600283019061082891612a4b565b9081526e2261747472696275746573223a205b60881b60028201527f7b2274726169745f74797065223a2022454e53222c202276616c7565223a2200601182015261087b91603090910190600401612a4b565b62089f4b60ea1b8082527f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227660038301526630b63ab2911d1160c91b6023830152926108c991602a0190612a4b565b828152600381017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661905265363ab2911d1160d11b602382015260290161090e91612a4b565b9081527f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565600382015262111d1160e91b6023820152815191610958908390602684019088016127ca565b0161227d60f01b602682015260288101605d60f81b905260298101607d60f81b9052039081018352602a0161098d90836128a9565b8060405161099a81612873565b601d8152818101937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000085526109ce90613464565b6040519485925190818585016109e3926127ca565b820181519182858084019201916109f9926127ca565b010380845201610a0990836128a9565b6040519181839283528201610a1d916127ed565b0390f35b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908a8261073f5750610744565b909501948961072c565b949060646002910491019461071f565b6004919692049101948a610714565b6008919692049101948a610707565b6010919692049101948a6106f8565b96019590910490888b6106e5565b604097500491508a806106ca565b3461033f57604036600319011261033f5761044a6004356104866103f7612828565b3461033f57608036600319011261033f57610aee612812565b610af6612828565b606435916001600160401b03831161033f573660238401121561033f57610b2a61044a9336906024816004013591016128e5565b9160443591613011565b61010036600319011261033f57610b49612812565b6024356001600160401b03811161033f57610b6890369060040161291c565b906044356001600160401b03811161033f57610b8890369060040161291c565b906064356001600160401b03811161033f57610ba890369060040161291c565b926084356001600160401b03811161033f57610bc890369060040161291c565b60a4356001600160401b03811161033f57610be790369060040161291c565b9060c4356001600160401b03811161033f57610c0790369060040161291c565b9560e4356001600160401b03811161033f57610c2790369060040161291c565b3360009081527f6ba1fb09f226a75e067af9a8d207c51e8b8b2c4d25e3ce897223f4dfedce79fd602052604090205490969060ff161561150557600754956001600160a01b038116156114c157600087815260026020526040902054610d589190610c9e906001600160a01b031615155b1561310a565b600088815260026020526040902054610cc1906001600160a01b03161515610c98565b6001600160a01b0381166000818152600360209081526040808320805460010190558b83526002909152812080546001600160a01b031916831790558991907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600088815260026020526040902054610d47906001600160a01b03161515612f02565b610445610d52612ace565b89612af4565b6001600754016007558560005260086020526040600020948051906001600160401b038211610329578190610d8d88546129af565b601f811161148f575b50602090601f831160011461142357600092611418575b50508160011b916000199060031b1c19161785555b8051906001600160401b038211610329578190610de260018801546129af565b601f81116113e3575b50602090601f831160011461137157600092611366575b50508160011b916000199060031b1c19161760018501555b8051906001600160401b038211610329578190610e3a60028701546129af565b601f8111611331575b50602090601f83116001146112bf576000926112b4575b50508160011b916000199060031b1c19161760028401555b8051906001600160401b038211610329578190610e9260038601546129af565b601f811161127f575b50602090601f831160011461120d57600092611202575b50508160011b916000199060031b1c19161760038301555b8051906001600160401b03821161032957610ee860048401546129af565b601f81116111cd575b50602090601f831160011461115a5760069392916000918361114f575b50508160011b916000199060031b1c19161760048201555b6000600582015560405194610f3a86612873565b8552602085019384526000805201602052604060002092519283516001600160401b03811161032957610f6d82546129af565b601f811161111d575b506020601f82116001146110b357819060019495966000926110a8575b5050600019600383901b1c191690831b1781555b019151908151926001600160401b03841161032957602093610fc982546129af565b601f8111611078575b508493601f821160011461101557938192939460009261100a575b50508160011b916000199060031b1c19161790555b604051908152f35b015190508580610fed565b601f1982169483600052866000209160005b878110611061575083600195969710611048575b505050811b019055611002565b015160001960f88460031b161c1916905585808061103b565b919288600181928685015181550194019201611027565b6110a2908360005286600020601f840160051c81019188851061031f57601f0160051c01906129e9565b85610fd2565b015190508680610f93565b601f198216958360005260206000209660005b81811061110557509160019596979184879594106110ec575b505050811b018155610fa7565b015160001960f88460031b161c191690558680806110df565b838301518955600190980197602093840193016110c6565b61114990836000526020600020601f840160051c8101916020851061031f57601f0160051c01906129e9565b85610f76565b015190508780610f0e565b906004840160005260206000209160005b601f19851681106111b5575091839160019360069695601f1981161061119c575b505050811b016004820155610f26565b015160001960f88460031b161c1916905587808061118c565b9192602060018192868501518155019401920161116b565b6111fc90600485016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b86610ef1565b015190508780610eb2565b9250600385016000526020600020906000935b601f1984168510611264576001945083601f1981161061124b575b505050811b016003830155610eca565b015160001960f88460031b161c1916905587808061123b565b81810151835560209485019460019093019290910190611220565b6112ae90600387016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b88610e9b565b015190508880610e5a565b9250600286016000526020600020906000935b601f1984168510611316576001945083601f198116106112fd575b505050811b016002840155610e72565b015160001960f88460031b161c191690558880806112ed565b818101518355602094850194600190930192909101906112d2565b61136090600288016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b89610e43565b015190508980610e02565b9250600187016000526020600020906000935b601f19841685106113c8576001945083601f198116106113af575b505050811b016001850155610e1a565b015160001960f88460031b161c1916905589808061139f565b81810151835560209485019460019093019290910190611384565b61141290600189016000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8a610deb565b015190508a80610dad565b9250876000526020600020906000935b601f1984168510611474576001945083601f1981161061145b575b505050811b018555610dc2565b015160001960f88460031b161c191690558a808061144e565b81810151835560209485019460019093019290910190611433565b6114bb90896000526020600020601f850160051c8101916020861061031f57601f0160051c01906129e9565b8b610d96565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60405162461bcd60e51b815260206004820152603360248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f6044820152726c6c656374696f6e206f776e657220726f6c6560681b6064820152608490fd5b3461033f57604036600319011261033f5761157f612812565b6024359081151580920361033f576001600160a01b0316903382146115f357336000526005602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3461033f57600036600319011261033f57602060405160008152f35b3461033f57600036600319011261033f5760206040517fcac50f86c292f6863f130b9e1133a5f875e8e957fed41745b8fa2498550cbdfc8152f35b61169836612969565b91906116ae6001600160a01b0361040c84612f4e565b6000828152600260205260409020546116d1906001600160a01b03161515612f02565b6116e26116dc612ace565b83612af4565b60005260209260068452604060002033600052845261170860ff60406000205416612b3f565b60008381526002602052604090205461172b906001600160a01b03161515612f02565b60405161173781612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b039485821161032957839161179982546129af565b93601f948c868211611964575b50508b908583116001146118fe5760009190836118f3575b50508682851b9260031b1c19161781555b019451978851948511610329576117e686546129af565b8281116118bb575b50809185116001146118525750839291839161181f9899600095611847575b50501b9260031b1c1916179055612b9c565b907ff0cd0ce9d5882a10e2780d2d9c805c18e7536b9b2c6412f7bfb7f163656dd0f6600080a3005b01519350898061180d565b91939290601f198416988660005283600020936000905b8b82106118a45750508461181f999a1061188c575b50505050811b019055612b9c565b01519060f88460031b161c191690558680808061187e565b808885978294968601518155019601930190611869565b6118e49087600052826000208480890160051c820192858a106118ea575b0160051c01906129e9565b896117ee565b925081926118d9565b015190508c806117be565b60008481528d8120929190601f198516908f5b82821061194b5750509084879594939210611934575b505050811b0181556117cf565b01518860f88460031b161c191690558c8080611927565b8484015186558a98909501949384019390810190611911565b61198c918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6117a6565b634e487b7160e01b600052601160045260246000fd5b3461033f57600036600319011261033f57604051600060018054906119cd826129af565b80855291818116908115611a615750600114611a08575b610a1d846119f4818603826128a9565b6040519182916020835260208301906127ed565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410611a495750505081016020016119f4826119e4565b80546020858701810191909152909301928101611a31565b60ff191660208087019190915292151560051b850190920192506119f491508390506119e4565b3461033f57604036600319011261033f57611aa1612828565b600435600052600660205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461033f57611ae33661293a565b90611aef610199612ace565b600052602091600683526040600020336000528352611b1560ff60406000205416612b3f565b600082815260026020526040902054611b38906001600160a01b03161515612f02565b816000526008835260046040600020018151936001600160401b03851161032957611b6382546129af565b601f8111611c18575b5080601f8611600114611bc857509380611ba0949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fc1b5a2141fc60537be795a8771f5e8c80188922acb5399a6e463ea95aa852f31600080a3005b90601f1986168360005282600020926000905b828210611c00575050918691611ba09697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611bdb565b611c42908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611b6c565b3461033f57602036600319011261033f576001600160a01b03611c69612812565b168015611c885760005260036020526020604060002054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b3461033f57611ced3661293a565b90611cf9610199612ace565b600052602091600683526040600020336000528352611d1f60ff60406000205416612b3f565b600082815260026020526040902054611d42906001600160a01b03161515612f02565b816000526008835260026040600020018151936001600160401b03851161032957611d6d82546129af565b601f8111611e22575b5080601f8611600114611dd257509380611daa949560009161057b57508160011b916000199060031b1c1916179055612b9c565b907fb041870856ebefdd6a3cb1ac665eb6739281b855c912ff622e814dbf91c96bb6600080a3005b90601f1986168360005282600020926000905b828210611e0a575050918691611daa9697600194106105be575050811b019055612b9c565b80600185968294968a01518155019501930190611de5565b611e4c908360005282600020601f880160051c81019184891061031f57601f0160051c01906129e9565b85611d76565b3461033f57602036600319011261033f576020611e70600435612f4e565b6040516001600160a01b039091168152f35b3461033f5760208060031936011261033f5760043590611ea36116dc612ace565b600052600681526040600020336000528152611ec660ff60406000205416612b3f565b8160006001600160a01b03611ee63382611edf86612f4e565b1614612a00565b611eef83612f4e565b50611ef983612f4e565b908383526004855260408320916bffffffffffffffffffffffff60a01b92838154169055169081835260038552604083208319815401905583835260028552604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a460088152611f7b6003604060002001546129af565b611f8157005b600891600052526000600560408220611f9981612bbc565b611fa560018201612bbc565b611fb160028201612bbc565b611fbd60038201612bbc565b611fc960048201612bbc565b0155005b3461033f5761044a611fde3661283e565b9060405192611fec8461288e565b60008452613011565b3461033f5761200336612969565b91906120106116dc612ace565b60005260209260068452604060002033600052845261203660ff60406000205416612b3f565b600083815260026020526040902054612059906001600160a01b03161515612f02565b60405161206581612873565b828152848101918252836000526008855260066040600020016005604060002001908154906000199283831461199357600180930180915560005287526040600020925180516001600160401b03948582116103295783916120c782546129af565b93601f948c86821161223b575b50508b908583116001146121d55760009190836121ca575b50508682851b9260031b1c19161781555b0194519788519485116103295761211486546129af565b82811161219c575b508091851160011461214c5750839291839161181f98996000956118475750501b9260031b1c1916179055612b9c565b91939290601f198416988660005283600020936000905b8b82106121855750508461181f999a1061188c5750505050811b019055612b9c565b808885978294968601518155019601930190612163565b6121c49087600052826000208480890160051c820192858a106118ea570160051c01906129e9565b8961211c565b015190508c806120ec565b60008481528d8120929190601f198516908f5b828210612222575050908487959493921061220b575b505050811b0181556120fd565b01518860f88460031b161c191690558c80806121fe565b8484015186558a989095019493840193908101906121e8565b612263918560005287826000209181870160051c83019387106118ea570160051c01906129e9565b8c8c6120d4565b3461033f57604036600319011261033f57612283612828565b336001600160a01b0382160361229f5761044a90600435612e8c565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461033f57604036600319011261033f5761044a60043561231b612828565b90806000526006602052610445600160406000200154612c08565b3461033f57602036600319011261033f5760043560005260066020526020600160406000200154604051908152f35b3461033f576123733661293a565b9061237f610199612ace565b6000526020916006835260406000203360005283526123a560ff60406000205416612b3f565b6000828152600260205260409020546123c8906001600160a01b03161515612f02565b8160005260088352600180604060002001908251906001600160401b038211610329576123f583546129af565b601f81116124b1575b5085601f831160011461246457508180916124319697600093612459575b501b916000199060031b1c1916179055612b9c565b907f9b3089e7af95b8d43fdceb16eb9cbf620a0cb486e1a291b15121a44e0f69127a600080a3005b86015192508861241c565b601f929192198216968460005281600020916000905b89821061249a575050826124319798106105be575050811b019055612b9c565b808684958294958b0151815501940192019061247a565b6124db908460005287600020601f850160051c81019189861061031f57601f0160051c01906129e9565b866123fe565b3461033f5761044a6124f23661283e565b91612505612500843361309c565b612faf565b6131b0565b3461033f57604036600319011261033f57612523612812565b602435906001600160a01b03808061253a85612f4e565b1692169180831461263557803314908115612610575b50156125a557600083815260046020526040902080546001600160a01b0319168317905561257d83612f4e565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff6040600020541684612550565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b3461033f57602036600319011261033f576020611e70600435612f71565b3461033f57600036600319011261033f57604051600080546126c3816129af565b80845290600190818116908115611a6157506001146126ec57610a1d846119f4818603826128a9565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061272d5750505081016020016119f4826119e4565b80546020858701810191909152909301928101612715565b3461033f57602036600319011261033f576004359063ffffffff60e01b821680920361033f57602091637965db0b60e01b8114908115612787575b5015158152f35b6380ac58cd60e01b8114915081156127b9575b81156127a8575b5083612780565b6301ffc9a760e01b149050836127a1565b635b5e139f60e01b8114915061279a565b60005b8381106127dd5750506000910152565b81810151838201526020016127cd565b90602091612806815180928185528580860191016127ca565b601f01601f1916010190565b600435906001600160a01b038216820361033f57565b602435906001600160a01b038216820361033f57565b606090600319011261033f576001600160a01b0390600435828116810361033f5791602435908116810361033f579060443590565b604081019081106001600160401b0382111761032957604052565b602081019081106001600160401b0382111761032957604052565b90601f801991011681019081106001600160401b0382111761032957604052565b6001600160401b03811161032957601f01601f191660200190565b9291926128f1826128ca565b916128ff60405193846128a9565b82948184528183011161033f578281602093846000960137010152565b9080601f8301121561033f57816020612937933591016128e5565b90565b90604060031983011261033f5760043591602435906001600160401b03821161033f576129379160040161291c565b606060031982011261033f57600435916001600160401b0360243581811161033f57836129989160040161291c565b9260443591821161033f576129379160040161291c565b90600182811c921680156129df575b60208310146129c957565b634e487b7160e01b600052602260045260246000fd5b91607f16916129be565b8181106129f4575050565b600081556001016129e9565b15612a0757565b606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a206d75737420626520746f6b656e206f776e65726044820152fd5b600092918154612a5a816129af565b92600191808316908115612ab35750600114612a77575b50505050565b90919293945060005260209081600020906000915b858310612aa25750505050019038808080612a71565b805485840152918301918101612a8c565b60ff1916845250505081151590910201915038808080612a71565b60405190612adb82612873565b600a82526921a7a72a2927a62622a960b11b6020830152565b612b3960466040518093602082019565544f4b454e5f60d01b8752612b238151809260206026870191016127ca565b82019060268201520360268101845201826128a9565b51902090565b15612b4657565b60405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b612bb4906020604051928284809451938492016127ca565b810103902090565b612bc681546129af565b9081612bd0575050565b81601f60009311600114612be2575055565b81835260208320612bfe91601f0160051c8101906001016129e9565b8160208120915555565b60009080825260209060068252604092838120338252835260ff848220541615612c325750505050565b612c3b336135e1565b91845190608082018281106001600160401b03821117612dfe57865260428252848201926060368537825115612dea5760308453825190600191821015612dea5790607860218501536041915b818311612d7c57505050612d3a576048612d36938693612d1a93612d0b98519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152612ce2815180928c6037890191016127ca565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906127ca565b010360288101875201856128a9565b5192839262461bcd60e51b8452600484015260248301906127ed565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612dd6576f181899199a1a9b1b9c1cb0b131b232b360811b901a612dac85876135ba565b5360041c928015612dc257600019019190612c88565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b84526041600452602484fd5b906000918083526006602052604083209160018060a01b03169182845260205260ff60408420541615612e4457505050565b80835260066020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526006602052604083209160018060a01b03169182845260205260ff604084205416612ebd57505050565b8083526006602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b15612f0957565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316612937811515612f02565b600081815260026020526040902054612f94906001600160a01b03161515612f02565b6000908152600460205260409020546001600160a01b031690565b15612fb657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90613035939291613025612500843361309c565b6130308383836131b0565b6132c6565b1561303c57565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b0380806130b084612f4e565b169316918383149384156130e3575b5083156130cd575b50505090565b6130d991929350612f71565b16143880806130c7565b909350600052600560205260406000208260005260205260ff6040600020541692386130bf565b1561311157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b1561315d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906131d8916131be84612f4e565b6001600160a01b0393918416928492909183168414613156565b1691821561327557816131f5916131ee86612f4e565b1614613156565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15613427579484916133209660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906127ed565b0393165af18491816133e3575b506133d2575050503d6000146133ca573d613347816128ca565b9061335560405192836128a9565b81528091833d92013e5b805191826133c75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b01fd5b50606061335f565b6001600160e01b0319161492509050565b9091508581813d8311613420575b6133fb81836128a9565b8101031261341c57516001600160e01b03198116810361341c57903861332d565b8480fd5b503d6133f1565b505050915050600190565b9061343c826128ca565b61344960405191826128a9565b828152809261345a601f19916128ca565b0190602036910137565b8051156135a657604051606081018181106001600160401b0382111761032957604052604081527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f60408201528151600292838201809211611993576003918290046001600160fe1b038116810361199357613509908594951b613432565b936020850193829183518401925b838110613555575050505051068060011461354257600214613537575090565b603d90600019015390565b50603d9081600019820153600119015390565b85600491979293949701918251600190603f9082828260121c16880101518453828282600c1c16880101518385015382828260061c1688010151888501531685010151878201530195929190613517565b506040516135b38161288e565b6000815290565b9081518110156135cb570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b0382111761032957604052602a82526020820160403682378251156135cb576030905381516001908110156135cb57607860218401536029905b80821161368157505061363d5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156136da576f181899199a1a9b1b9c1cb0b131b232b360811b901a6136b084866135ba565b5360041c9180156136c557600019019061362d565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfea2646970667358221220f990373a6ee4218bd529d7377a3ea71fd58a85d8659b6121af366d013cd8bb9264736f6c63430008110033a2646970667358221220647187d9d6077ea1b8748a3d4a423f04e876d473082ecf243abdd38ba58af7a664736f6c63430008110033", + "sourceMap": "98:8747:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:26:2;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5958:13;98:8747;;;-1:-1:-1;;;5958:353:30;;98:8747;;-1:-1:-1;;;;;98:8747:30;5958:353;;98:8747;;;;;5958:353;98:8747;5958:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;6322:17;;;;:::i;:::-;5958:13;98:8747;;6350:24;;;;;;98:8747;;;;;;;;;;;;;;6350:24;;;;1671:64:2;6350:24:30;;;;;;;;;;98:8747;;6350:24;;;;:::i;:::-;98:8747;;6350:24;98:8747;;;;6350:24;98:8747;;;;;;;;6350:24;98:8747;;;5958:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;5958:353;;;;;;;-1:-1:-1;5958:353:30;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;;;;322:13;98:8747;;;-1:-1:-1;;;322:20:30;;98:8747;;;;;;;;-1:-1:-1;;;;;98:8747:30;322:20;;;;;;;;313:47;322:20;;;;;98:8747;;;1671:64:2;;;;:::i;:::-;98:8747:30;1671:64:2;;-1:-1:-1;;;98:8747:30;;;;313:47;:::i;:::-;98:8747;;322:20;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;6541:13;98:8747;;;-1:-1:-1;;;6541:353:30;;98:8747;;-1:-1:-1;;;;;98:8747:30;6541:353;;98:8747;;;;;6541:353;98:8747;6541:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;6905:17;;;;:::i;:::-;6541:13;98:8747;;6933:51;;;;;;;98:8747;;;;;;;;;;;;;;;6933:51;;;;98:8747;;1671:64:2;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;6933:51;;;;;;;;;;;;;98:8747;;6541:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;6541:353;;;;;;;-1:-1:-1;6541:353:30;;98:8747;;;;;;;;;;;;;;3629:13;98:8747;;;-1:-1:-1;;;3629:321:30;;;;98:8747;;;-1:-1:-1;;;;;98:8747:30;3629:321;;98:8747;;;;;;;3629:321;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;3961:17;98:8747;3961:17;;;;:::i;:::-;3629:13;98:8747;;;;;;;;;;;;;4014:28;;;;1671:64:2;4014:28:30;;;;;;;;4839:83;4014:28;1671:64:2;4014:28:30;;;;;;98:8747;;4846:75;98:8747;;4896:24;98:8747;;;-1:-1:-1;;;4076:733:30;;;98:8747;;;;;;4076:733;98:8747;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;-1:-1:-1;;;98:8747:30;;-1:-1:-1;;;98:8747:30;;;;4076:733;5029;;4076;;;;;;;:::i;:::-;4896:24;:::i;:::-;98:8747;;4846:75;;98:8747;4846:75;;;;98:8747;1671:64:2;;98:8747:30;;;;;;1671:64:2;;;:::i;:::-;;;4846:75:30;5029:733;4846:75;;;;;;;:::i;:::-;4839:83;:::i;4014:28::-;98:8747;4014:28;;;;;4846:75;4014:28;;;;;;;;;;:::i;:::-;;;;;;;;98:8747;;;;;;;;;;;;3629:321;;-1:-1:-1;3629:321:30;-1:-1:-1;3629:321:30;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;;;3629:321;;;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;519:13;98:8747;;;-1:-1:-1;;;519:321:30;;98:8747;519:321;;98:8747;;-1:-1:-1;;;;;98:8747:30;;;;;;519:321;;;;;:::i;:::-;;;;;;;;;;;;;;;98:8747;851:17;;;;:::i;519:321::-;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;851:17;98:8747;;519:321;;;;;-1:-1:-1;519:321:30;;98:8747;;;;;;;;;;;;;;421:13;98:8747;;;-1:-1:-1;;;421:22:30;;98:8747;;;;;;;;-1:-1:-1;;;;;98:8747:30;421:22;;;;;;;;412:42;421:22;;;;;98:8747;;;1671:64:2;;;;:::i;:::-;98:8747:30;1671:64:2;;-1:-1:-1;;;98:8747:30;;;;412:42;:::i;421:22::-;;;;;;;;;;;;;;:::i;:::-;;;;;98:8747;;;;;;;;;;;;;;;;;2779:13;98:8747;;;-1:-1:-1;;;2779:353:30;;;98:8747;;2779:353;;98:8747;;;;-1:-1:-1;;;;;98:8747:30;2779:353;;98:8747;;;;;;;2779:353;;;;;:::i;:::-;;;;;;;;;;;;;;;;;98:8747;3143:23;;;;;;:::i;:::-;2779:13;98:8747;;;;;3199:326;;;;;;;;;;;1671:64:2;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;:::i;:::-;3199:326;;;;;;;;;;;;;;98:8747;3536:24;;;;:::i;3199:326::-;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;3536:24;98:8747;;3199:326;;;;;;;;;98:8747;;;;;;;;2779:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;;;;-1:-1:-1;;3143:23:30;2779:353;;;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;;;;;6447:13;98:8747;-1:-1:-1;;;;;98:8747:30;;6447:21;;;;;98:8747;;;;;;;;;;;;;;;6447:21;;;;1671:64:2;6447:21:30;;;;;;;;;;98:8747;;6447:21;98:8747;;;;;;;;;;;;;;;;;;953:13;98:8747;;;-1:-1:-1;;;953:353:30;;;98:8747;;953:353;;98:8747;-1:-1:-1;;;;;98:8747:30;953:353;;98:8747;;;;;953:353;98:8747;953:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;;;;;1339:353;98:8747;;953:13;98:8747;;;;;;1339:353;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;98:8747;1703:23;1736:24;1703:23;;;;:::i;:::-;1736:24;:::i;1339:353::-;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;1703:23;1736:24;98:8747;;1339:353;;;;;;;;;98:8747;;;;;;;;953:353;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;953:353;;98:8747;;;;953:353;;;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5029:733:30;;;98:8747;;;;;;5029:733;98:8747;;;;;;;;;;;;;;:::i;5029:733::-;5782:13;98:8747;;;-1:-1:-1;;;5782:25:30;;;;;1671:64:2;;;98:8747:30;;;;;;;;-1:-1:-1;;;;;98:8747:30;5782:25;;;;;;;5809:83;5782:25;;;;;98:8747;5866:24;98:8747;5866:24;5816:75;5866:24;;:::i;:::-;98:8747;;5816:75;;98:8747;5029:733;5816:75;;98:8747;1671:64:2;;;98:8747:30;;5029:733;98:8747;;;1671:64:2;;;:::i;5782:25:30:-;5816:75;5782:25;;;5866:24;5782:25;98:8747;5782:25;;;;;;;;;;:::i;:::-;;;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;7064:13;98:8747;;;-1:-1:-1;;;7064:353:30;;98:8747;;-1:-1:-1;;;;;98:8747:30;7064:353;;98:8747;;;;;7064:353;98:8747;7064:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;7428:17;;;;:::i;:::-;7064:13;98:8747;;7456:58;;;;;;;98:8747;;;;;;;;;;;;;;;7456:58;;;;98:8747;;1671:64:2;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;7064:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;7064:353;;;;;;;-1:-1:-1;7064:353:30;;98:8747;;;;;;;;;;;;;;;;;1867:13;98:8747;;;-1:-1:-1;;;1867:353:30;;;98:8747;;1867:353;;98:8747;;;-1:-1:-1;;;;;98:8747:30;1867:353;;98:8747;;;;;1867:353;98:8747;1867:353;;;;;:::i;:::-;;;;;;;;;;;;;;;;;98:8747;2231:23;;;;:::i;:::-;1867:13;98:8747;;;;;;2287:359;;;;;;;;;;1899:42;1671:64:2;;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1867:353::-;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;2231:23;98:8747;;;1867:353;;;;;;;;;98:8747;;;;;;;;;;;;;;;;;;;;;;;;7588:13;98:8747;;;-1:-1:-1;;;7588:353:30;;98:8747;;-1:-1:-1;;;;;98:8747:30;7588:353;;98:8747;;;;;7588:353;98:8747;7588:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;7952:17;;;;:::i;:::-;7588:13;98:8747;;7980:57;;;;;;;98:8747;;;;;;;;;;;;;;;7980:57;;;;98:8747;;1671:64:2;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;7588:353;;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;;;7588:353;;;;;;;-1:-1:-1;7588:353:30;;98:8747;;;;;;;;;;;;;;;;217:42;;;;;;;;;;;;;;;;98:8747;217:42;;;;;;98:8747;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;217:42;;;;;;;;;;98:8747;;;;;;;;;;201:58;98:8747;;;201:58;98:8747;;;217:42;98:8747;;;;-1:-1:-1;98:8747:30;;;;;217:42;-1:-1:-1;;;1671:64:2;;;;;;;;98:8747:30;;;;;;;;;;;;;;;;8117:13;98:8747;-1:-1:-1;;;8117:353:30;;-1:-1:-1;;;;;98:8747:30;8117:353;;98:8747;;;;;8117:353;98:8747;8117:353;;;;;:::i;:::-;;;;;;;;;;;;;;98:8747;8481:17;;;;:::i;:::-;8117:13;98:8747;;8509:63;;;;;;98:8747;;;;;;;;;;;;;8509:63;;;;98:8747;;1671:64:2;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;8509:63;;;;;;;;;;;;;98:8747;;;8509:63;;;;:::i;8117:353::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;98:8747;;;;;8117:353;;;;;;;-1:-1:-1;8117:353:30;;;98:8747;;;;;;;;;;;;;;;;-1:-1:-1;;98:8747:30;;;;;1671:64:2;;;;;;;;:::o;:::-;;;;;;;;;;;;;98:8747:30;1671:64:2;;;;;;;;;;;98:8747:30;1671:64:2;:::o;:::-;98:8747:30;1671:64:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1671:64:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1671:64:2;;;;:::o;:::-;;;;;;;;;;:::i;:::-;98:8747:30;1671:64:2;98:8747:30;;1671:64:2;;;:::i;:::-;;;;-1:-1:-1;1671:64:2;;;;:::o;:::-;;;:::o;1819:584::-;1873:7;98:8747:30;;;;;;;;;1873:7:2;98:8747:30;;;;1896:14:2;:::o;1869:528::-;-1:-1:-1;2939:104:2;;;;1980:374;;2367:19;;;:::o;1980:374::-;98:8747:30;;;;2196:43:2;;;;1671:64;;;;;;98:8747:30;1671:64:2;;;98:8747:30;2196:43:2;;;;;:::i;:::-;2086:175;1671:64;98:8747:30;;2086:175:2;;1671:64;2196:43;2086:175;;1671:64;;;;;;;;;;;;;;:::i;:::-;;;2086:175;1671:64;2086:175;;;;;;;:::i;:::-;2047:232;;;;;;;:::i;:::-;2196:43;1671:64;;;2312:27;;1671:64;;;;2196:43;2312:27;1671:64;98:8747:30;;;;1671:64:2;;;;2297:42;2367:19;:::o;98:8747:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1671:64:2;98:8747:30;;1671:64:2;;;:::i;:::-;98:8747:30;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;1671:64:2;;98:8747:30;;;;;;;;;;;;:::i;:::-;1671:64:2;;-1:-1:-1;;1671:64:2;98:8747:30;;;:::o;14688:344:2:-;98:8747:30;;;14773:19:2;;;;;;1671:64;14773:19;1671:64;;;;;;;;;;;:::i;:::-;;;14773:19;;;;;;;:::i;:::-;1671:64;14763:30;;98:8747:30;;14807:19:2;;;1671:64;14807:19;1671:64;;;;;;;;;;;;;:::i;14807:19::-;1671:64;14797:30;;14763:64;14759:267;;14688:344;;;;;:::o;14759:267::-;98:8747:30;;;;14848:43:2;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;14848:43:2;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;14910:33:2;98:8747:30;14910:33:2;98:8747:30;;;;:::i;:::-;14910:33:2;;;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;:::i;:::-;14962:33:2;;;;;:::i;:::-;14759:267;;;;;;2410:424;2939:104;;;2445:359;;2410:424;98:8747:30;;;;2813:14:2;98:8747:30;;;2813:14:2;98:8747:30;2410:424:2:o;2445:359::-;98:8747:30;;2645:67:2;;;;1671:64;;;;;;;98:8747:30;;;1671:64:2;2705:4;98:8747:30;;;1671:64:2;98:8747:30;2645:67:2;;98:8747:30;1671:64:2;;;;;;;;;;;;-1:-1:-1;1671:64:2;2534:196;;1671:64;;;;98:8747:30;1671:64:2;2534:196;;;1671:64;;;;;;;;;;;;;;;;:::i;2534:196::-;2499:245;;;;;;;:::i;:::-;;2445:359;;;98:8747:30;;;;-1:-1:-1;;;98:8747:30;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;:::o;:::-;;;8149:42;1671:64:2;;98:8747:30;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;;;:::i;5202:262:2:-;5259:6;5255:203;;5202:262;:::o;5255:203::-;98:8747:30;;5286:41:2;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;5286:41:2;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;1671:64:2;5346:31;;;;;;;;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;1671:64:2;5396:31;;;;;:::i;:::-;5202:262::o;:::-;2679:1:30;5259:6:2;;5255:203;;5202:262;:::o;5255:203::-;98:8747:30;;5286:41:2;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;5286:41:2;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;2679:1;98:8747;;;1671:64:2;5346:31;;;;;;;;98:8747:30;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;;;;;;;;;;-1:-1:-1;;;98:8747:30;;;;;;;:::o;505:3026:23:-;1671:64:2;;795:16:23;791:31;;98:8747:30;;1671:64:2;;;:::i;:::-;98:8747:30;1671:64:2;;98:8747:30;;;;;;;;;;1671:64:2;;1357:1:23;345:66;;;;;;;;;1362:1;345:66;;;;;;;;;-1:-1:-1;;;;;345:66:23;;;;;1671:64:2;345:66:23;1671:64:2;;;:::i;:::-;98:8747:30;1671:64:2;98:8747:30;;1671:64:2;;;:::i;:::-;;;;345:66:23;:::i;:::-;98:8747:30;345:66:23;;;-1:-1:-1;;345:66:23;;;;1419:2082;;;;;;;;;;;;;;;;;;;;1362:1;1419:2082;1362:1;;;1419:2082;;;;3511:13;505:3026;:::o;1419:2082::-;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;-1:-1:-1;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;;-1:-1:-1;;1419:2082:23;;505:3026;:::o;1419:2082::-;;1337:1;1419:2082;;;;;;;;;;98:8747:30;1419:2082:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:66;1671:64:2;;;810:1:23;345:66;;1337:1;345:66;;810:1;345:66;791:31;98:8747:30;;;1671:64:2;;;;;;;;;;;;98:8747:30;1671:64:2;810:1:23;1671:64:2;;813:9:23;:::o", "linkReferences": {} }, "methodIdentifiers": { @@ -512,7 +547,12 @@ "setUp()": "0a9254e4", "testAddTokenController()": "6f86ff13", "testBurn()": "e13aba48", + "testFailBurningNonExistantToken()": "4c540954", + "testFailCallingTokenURIOnNonExistantToken()": "454d4f3a", "testMint()": "9642ddaf", + "testMintingMintedToken()": "4b0bdf69", + "testMintingMoreThanOneTokenForTheSameAddress()": "36587414", + "testMintingTwoTokensForTwoAddresses()": "52685877", "testName()": "cc8668de", "testRemoveTokenController()": "bf506ac4", "testSetTokenBuild()": "4fd855ab", @@ -525,7 +565,7 @@ "testTokenURI()": "b5b34603", "testUpgradeTokenBuild()": "1df1ce65" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenDescription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenENS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenExternalURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUpgradeTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/foundry/apps.t.sol\":\"ContractBTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0x40cbb25741c2d6e285ab2ccee87f38fab424ce3746a17bca274a23c098f5e5c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d495490984bf70d90d9f48d9fbee2480f62b8d796d2b5cd623ff3ee632e47a\",\"dweb:/ipfs/QmXuMpMizsvU1QiEDD3cqs1wen9pdSqSNBeSb112pQDpKd\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0x409354da49313770cfed999d7303466ebf0d7b7fff2340b7065a91948ba5987a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0db540d6884242b6e9051392687f5a622224aafc0b6f44dc6708846073bf9d7c\",\"dweb:/ipfs/QmZE363as7XuPvTBEaa3XfeW1JigYT47waD629TWqfpfQG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Common.sol\":{\"keccak256\":\"0x3ed7f49e907eaf339c3bb0b79a81d303d0f9e37aa5b8a9854c0cbfc3ad9a3ef0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c2532fb5fea32c6dc165518f2c4918af25d9139d17c11da330414c9797a70b\",\"dweb:/ipfs/QmV4r8a1e9Rgu2xoigVCuSv3fZ737wD2DXbV6ZmHXVUtDn\"]},\"lib/forge-std/src/Components.sol\":{\"keccak256\":\"0xd3b8ba6df58174d5d650a668dfa49eeee28b2b855514b9e793e1c0b69d747149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce2b2ca79d5ce993b91358ed3d588396295e0aba9bb923481c1ffa5058a0dcd\",\"dweb:/ipfs/QmPNymteQmLWk7SqQhNsF6Rbc3xFPY7xGb4fBKravHLXD3\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xde2bdee8e0e530de3269da50ebba83f4f90dde817971488980b720281e3cde4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb3f05bb06b654db43f4ce38e22aa7e2296ee00615df5329623c08c9ac030f8d\",\"dweb:/ipfs/QmdKwTpFsTiDFmc8zGwbPRu8mDs4oiKdZvzSj3WpiiGaez\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf0c5c17c4cdfd0de659cf5e58e0e1611b6ee53900d3ab8b07b871d71d0b37bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21ffda3891e7480d5fdbf7f5e9d539f0ed76204bca69738f8ee006395ef1e23e\",\"dweb:/ipfs/Qmbhbn8zVXrCyvhvoQ5AUSj3usVGqMbMSEHYkNPdbQKBxt\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x2291ee8f379552b86f34d98acb248d50442c7d4ab94aed03f1c8ddb6aea6852d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ca6ca6fe35692428b507008b24e4ec4ba0cabaf58110fd0b4456a42e0166bdc\",\"dweb:/ipfs/QmUcSeXfYMyusrWxEdPRMeWFYhf9qD6YJaZXCVo29F4eus\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a\",\"dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x216818221765c43713791708d7dc83fcd5ada81766c9d4ce54551528c191a59f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f03d0ef065ce600e5922f3e9c92f0f54ff7c12895a250fa97d83e9ee38e7e2b\",\"dweb:/ipfs/QmX59m9mNRNEhjhEZnxbDirniesi26pnDaNzF5hPB4A3E8\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x6dc670615c9d04adf786ed4f18095b2142311c93dfda6459732da919d9113c17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4eb56f37ea1c9bb72d2064b5e8fd134dd871dd0a9a3e081995c0fa52dd82c74\",\"dweb:/ipfs/QmbQZeD1RfPWjUSZ8iEdUYoLBn1PuSHvSYzZ7V9rLrRK4T\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69\",\"dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa\",\"dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"test/foundry/apps.t.sol\":{\"keccak256\":\"0xd0fdd79175b8898f2e5a0a164c5cf102d26067cca4ca4fac2ec8cbf942850e40\",\"urls\":[\"bzz-raw://6a83651c606d52cc2ec2023d927073aeb409600a87ec34ca3d4ff3ccc98c6026\",\"dweb:/ipfs/QmPTyVdFREguJUqXnKRu7W9NL4FBQ8QQdJCfP4NsV3c2rJ\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFailBurningNonExistantToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFailCallingTokenURIOnNonExistantToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMintingMintedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMintingMoreThanOneTokenForTheSameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMintingTwoTokensForTwoAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveTokenController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenDescription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenENS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenExternalURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetTokenName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUpgradeTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/foundry/apps.t.sol\":\"ContractBTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0x40cbb25741c2d6e285ab2ccee87f38fab424ce3746a17bca274a23c098f5e5c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d495490984bf70d90d9f48d9fbee2480f62b8d796d2b5cd623ff3ee632e47a\",\"dweb:/ipfs/QmXuMpMizsvU1QiEDD3cqs1wen9pdSqSNBeSb112pQDpKd\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0x9e4fcee55fe6e907ced49d15fffd1fc62e48a0b4b25bd97b9ea5b5b127ce9623\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fcc0c13cf0219a100d124ad7553fe3576975d0ac88e40b2de80659e26eedae2\",\"dweb:/ipfs/QmTn88WiAnyNBsWVayYDtJn2G4zooALvgXymvch8fksvka\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Common.sol\":{\"keccak256\":\"0x3ed7f49e907eaf339c3bb0b79a81d303d0f9e37aa5b8a9854c0cbfc3ad9a3ef0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c2532fb5fea32c6dc165518f2c4918af25d9139d17c11da330414c9797a70b\",\"dweb:/ipfs/QmV4r8a1e9Rgu2xoigVCuSv3fZ737wD2DXbV6ZmHXVUtDn\"]},\"lib/forge-std/src/Components.sol\":{\"keccak256\":\"0xd3b8ba6df58174d5d650a668dfa49eeee28b2b855514b9e793e1c0b69d747149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce2b2ca79d5ce993b91358ed3d588396295e0aba9bb923481c1ffa5058a0dcd\",\"dweb:/ipfs/QmPNymteQmLWk7SqQhNsF6Rbc3xFPY7xGb4fBKravHLXD3\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xde2bdee8e0e530de3269da50ebba83f4f90dde817971488980b720281e3cde4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb3f05bb06b654db43f4ce38e22aa7e2296ee00615df5329623c08c9ac030f8d\",\"dweb:/ipfs/QmdKwTpFsTiDFmc8zGwbPRu8mDs4oiKdZvzSj3WpiiGaez\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf0c5c17c4cdfd0de659cf5e58e0e1611b6ee53900d3ab8b07b871d71d0b37bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21ffda3891e7480d5fdbf7f5e9d539f0ed76204bca69738f8ee006395ef1e23e\",\"dweb:/ipfs/Qmbhbn8zVXrCyvhvoQ5AUSj3usVGqMbMSEHYkNPdbQKBxt\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x2291ee8f379552b86f34d98acb248d50442c7d4ab94aed03f1c8ddb6aea6852d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ca6ca6fe35692428b507008b24e4ec4ba0cabaf58110fd0b4456a42e0166bdc\",\"dweb:/ipfs/QmUcSeXfYMyusrWxEdPRMeWFYhf9qD6YJaZXCVo29F4eus\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a\",\"dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x216818221765c43713791708d7dc83fcd5ada81766c9d4ce54551528c191a59f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f03d0ef065ce600e5922f3e9c92f0f54ff7c12895a250fa97d83e9ee38e7e2b\",\"dweb:/ipfs/QmX59m9mNRNEhjhEZnxbDirniesi26pnDaNzF5hPB4A3E8\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x6dc670615c9d04adf786ed4f18095b2142311c93dfda6459732da919d9113c17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4eb56f37ea1c9bb72d2064b5e8fd134dd871dd0a9a3e081995c0fa52dd82c74\",\"dweb:/ipfs/QmbQZeD1RfPWjUSZ8iEdUYoLBn1PuSHvSYzZ7V9rLrRK4T\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69\",\"dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa\",\"dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"test/foundry/apps.t.sol\":{\"keccak256\":\"0xac9bef2d8fe4c189367bdd99c5c0d5e4492f97ecf9fb27e5901c1bbd56b77a6a\",\"urls\":[\"bzz-raw://22b3b76b0c7588edd297905daf6f84cafa9223b17bc3531741ab076b3f27c33b\",\"dweb:/ipfs/QmVNiV5PYshu5Xpy2smqWBJWy1t2yXAzWX2Zv3sT2Fx91w\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" @@ -941,12 +981,42 @@ "type": "function", "name": "testBurn" }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "testFailBurningNonExistantToken" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "testFailCallingTokenURIOnNonExistantToken" + }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testMint" }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "testMintingMintedToken" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "testMintingMoreThanOneTokenForTheSameAddress" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "testMintingTwoTokensForTwoAddresses" + }, { "inputs": [], "stateMutability": "nonpayable", @@ -1058,10 +1128,10 @@ "license": "MIT" }, "contracts/FleekERC721.sol": { - "keccak256": "0x409354da49313770cfed999d7303466ebf0d7b7fff2340b7065a91948ba5987a", + "keccak256": "0x9e4fcee55fe6e907ced49d15fffd1fc62e48a0b4b25bd97b9ea5b5b127ce9623", "urls": [ - "bzz-raw://0db540d6884242b6e9051392687f5a622224aafc0b6f44dc6708846073bf9d7c", - "dweb:/ipfs/QmZE363as7XuPvTBEaa3XfeW1JigYT47waD629TWqfpfQG" + "bzz-raw://6fcc0c13cf0219a100d124ad7553fe3576975d0ac88e40b2de80659e26eedae2", + "dweb:/ipfs/QmTn88WiAnyNBsWVayYDtJn2G4zooALvgXymvch8fksvka" ], "license": "MIT" }, @@ -1290,10 +1360,10 @@ "license": "MIT" }, "test/foundry/apps.t.sol": { - "keccak256": "0xd0fdd79175b8898f2e5a0a164c5cf102d26067cca4ca4fac2ec8cbf942850e40", + "keccak256": "0xac9bef2d8fe4c189367bdd99c5c0d5e4492f97ecf9fb27e5901c1bbd56b77a6a", "urls": [ - "bzz-raw://6a83651c606d52cc2ec2023d927073aeb409600a87ec34ca3d4ff3ccc98c6026", - "dweb:/ipfs/QmPTyVdFREguJUqXnKRu7W9NL4FBQ8QQdJCfP4NsV3c2rJ" + "bzz-raw://22b3b76b0c7588edd297905daf6f84cafa9223b17bc3531741ab076b3f27c33b", + "dweb:/ipfs/QmVNiV5PYshu5Xpy2smqWBJWy1t2yXAzWX2Zv3sT2Fx91w" ], "license": null } @@ -1302,110 +1372,110 @@ }, "ast": { "absolutePath": "test/foundry/apps.t.sol", - "id": 28732, + "id": 28933, "exportedSymbols": { "AccessControl": [ - 25701 + 25721 ], "Address": [ - 27210 + 27230 ], "Base64": [ - 27257 + 27277 ], "CommonBase": [ - 2544 + 2564 ], "Context": [ - 27279 + 27299 ], "ContractBTest": [ - 28731 + 28932 ], "Counters": [ - 27353 + 27373 ], "DSTest": [ - 2512 + 2532 ], "ERC165": [ - 27552 + 27572 ], "ERC721": [ - 26719 + 26739 ], "FleekAccessControl": [ 99 ], "FleekERC721": [ - 725 + 745 ], "IAccessControl": [ - 25774 + 25794 ], "IERC165": [ - 27564 + 27584 ], "IERC721": [ - 26835 + 26855 ], "IERC721Metadata": [ - 26880 + 26900 ], "IERC721Receiver": [ - 26853 + 26873 ], "Math": [ - 28429 + 28449 ], "StdAssertions": [ - 3370 + 3390 ], "StdCheats": [ - 5483 + 5503 ], "StdStorage": [ - 6388 + 6408 ], "StdUtils": [ - 8251 - ], - "Strings": [ - 27528 - ], - "Test": [ - 8282 - ], - "TestBase": [ 8271 ], + "Strings": [ + 27548 + ], + "Test": [ + 8302 + ], + "TestBase": [ + 8291 + ], "Vm": [ - 9256 + 9276 ], "console": [ - 17320 + 17340 ], "console2": [ - 25385 + 25405 ], "stdError": [ - 5549 + 5569 ], "stdJson": [ - 6215 + 6235 ], "stdMath": [ - 6357 + 6377 ], "stdStorage": [ - 7822 + 7842 ] }, "nodeType": "SourceUnit", - "src": "0:5087:30", + "src": "0:8846:30", "nodes": [ { - "id": 28431, + "id": 28451, "nodeType": "PragmaDirective", "src": "0:23:30", "nodes": [], @@ -1417,38 +1487,38 @@ ] }, { - "id": 28432, + "id": 28452, "nodeType": "ImportDirective", "src": "25:28:30", "nodes": [], "absolutePath": "lib/forge-std/src/Test.sol", "file": "forge-std/Test.sol", "nameLocation": "-1:-1:-1", - "scope": 28732, - "sourceUnit": 8283, + "scope": 28933, + "sourceUnit": 8303, "symbolAliases": [], "unitAlias": "" }, { - "id": 28433, + "id": 28453, "nodeType": "ImportDirective", "src": "54:41:30", "nodes": [], "absolutePath": "contracts/FleekERC721.sol", "file": "../../contracts/FleekERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 28732, - "sourceUnit": 726, + "scope": 28933, + "sourceUnit": 746, "symbolAliases": [], "unitAlias": "" }, { - "id": 28731, + "id": 28932, "nodeType": "ContractDefinition", - "src": "98:4988:30", + "src": "98:8747:30", "nodes": [ { - "id": 28438, + "id": 28458, "nodeType": "VariableDeclaration", "src": "135:25:30", "nodes": [], @@ -1456,62 +1526,62 @@ "mutability": "mutable", "name": "fleekContract", "nameLocation": "147:13:30", - "scope": 28731, + "scope": 28932, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" }, "typeName": { - "id": 28437, + "id": 28457, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 28436, + "id": 28456, "name": "FleekERC721", "nameLocations": [ "135:11:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 725, + "referencedDeclaration": 745, "src": "135:11:30" }, - "referencedDeclaration": 725, + "referencedDeclaration": 745, "src": "135:11:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, "visibility": "internal" }, { - "id": 28451, + "id": 28471, "nodeType": "FunctionDefinition", "src": "167:99:30", "nodes": [], "body": { - "id": 28450, + "id": 28470, "nodeType": "Block", "src": "191:75:30", "nodes": [], "statements": [ { "expression": { - "id": 28448, + "id": 28468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 28441, + "id": 28461, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, + "referencedDeclaration": 28458, "src": "201:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, @@ -1521,7 +1591,7 @@ "arguments": [ { "hexValue": "5465737420436f6e7472616374", - "id": 28445, + "id": 28465, "isConstant": false, "isLValue": false, "isPure": true, @@ -1537,7 +1607,7 @@ }, { "hexValue": "464c4b415053", - "id": 28446, + "id": 28466, "isConstant": false, "isLValue": false, "isPure": true, @@ -1563,7 +1633,7 @@ "typeString": "literal_string \"FLKAPS\"" } ], - "id": 28444, + "id": 28464, "isConstant": false, "isLValue": false, "isPure": false, @@ -1571,31 +1641,31 @@ "nodeType": "NewExpression", "src": "217:15:30", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_FleekERC721_$725_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_FleekERC721_$745_$", "typeString": "function (string memory,string memory) returns (contract FleekERC721)" }, "typeName": { - "id": 28443, + "id": 28463, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 28442, + "id": 28462, "name": "FleekERC721", "nameLocations": [ "221:11:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 725, + "referencedDeclaration": 745, "src": "221:11:30" }, - "referencedDeclaration": 725, + "referencedDeclaration": 745, "src": "221:11:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } } }, - "id": 28447, + "id": 28467, "isConstant": false, "isLValue": false, "isPure": false, @@ -1607,17 +1677,17 @@ "src": "217:42:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, "src": "201:58:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28449, + "id": 28469, "nodeType": "ExpressionStatement", "src": "201:58:30" } @@ -1630,31 +1700,31 @@ "name": "setUp", "nameLocation": "176:5:30", "parameters": { - "id": 28439, + "id": 28459, "nodeType": "ParameterList", "parameters": [], "src": "181:2:30" }, "returnParameters": { - "id": 28440, + "id": 28460, "nodeType": "ParameterList", "parameters": [], "src": "191:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28462, + "id": 28482, "nodeType": "FunctionDefinition", - "src": "272:91:30", + "src": "276:91:30", "nodes": [], "body": { - "id": 28461, + "id": 28481, "nodeType": "Block", - "src": "299:64:30", + "src": "303:64:30", "nodes": [], "statements": [ { @@ -1665,33 +1735,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 28455, + "id": 28475, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "318:13:30", + "referencedDeclaration": 28458, + "src": "322:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28456, + "id": 28476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "332:4:30", + "memberLocation": "336:4:30", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 25930, - "src": "318:18:30", + "referencedDeclaration": 25950, + "src": "322:18:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", "typeString": "function () view external returns (string memory)" } }, - "id": 28457, + "id": 28477, "isConstant": false, "isLValue": false, "isPure": false, @@ -1700,7 +1770,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "318:20:30", + "src": "322:20:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1709,14 +1779,14 @@ }, { "hexValue": "5465737420436f6e7472616374", - "id": 28458, + "id": 28478, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "340:15:30", + "src": "344:15:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9704ce2029114bdc2cacb889112e25a853a758a7f6e2059fa8732e626e6d79e6", "typeString": "literal_string \"Test Contract\"" @@ -1735,39 +1805,39 @@ "typeString": "literal_string \"Test Contract\"" } ], - "id": 28454, + "id": 28474, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 ], - "referencedDeclaration": 2365, - "src": "309:8:30", + "referencedDeclaration": 2385, + "src": "313:8:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 28459, + "id": 28479, "isConstant": false, "isLValue": false, "isPure": false, @@ -1776,16 +1846,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "309:47:30", + "src": "313:47:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 28460, + "id": 28480, "nodeType": "ExpressionStatement", - "src": "309:47:30" + "src": "313:47:30" } ] }, @@ -1794,33 +1864,33 @@ "kind": "function", "modifiers": [], "name": "testName", - "nameLocation": "281:8:30", + "nameLocation": "285:8:30", "parameters": { - "id": 28452, + "id": 28472, "nodeType": "ParameterList", "parameters": [], - "src": "289:2:30" + "src": "293:2:30" }, "returnParameters": { - "id": 28453, + "id": 28473, "nodeType": "ParameterList", "parameters": [], - "src": "299:0:30" + "src": "303:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28473, + "id": 28493, "nodeType": "FunctionDefinition", - "src": "369:88:30", + "src": "373:88:30", "nodes": [], "body": { - "id": 28472, + "id": 28492, "nodeType": "Block", - "src": "398:59:30", + "src": "402:59:30", "nodes": [], "statements": [ { @@ -1831,33 +1901,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 28466, + "id": 28486, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "417:13:30", + "referencedDeclaration": 28458, + "src": "421:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28467, + "id": 28487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "431:6:30", + "memberLocation": "435:6:30", "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 25940, - "src": "417:20:30", + "referencedDeclaration": 25960, + "src": "421:20:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", "typeString": "function () view external returns (string memory)" } }, - "id": 28468, + "id": 28488, "isConstant": false, "isLValue": false, "isPure": false, @@ -1866,7 +1936,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "417:22:30", + "src": "421:22:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1875,14 +1945,14 @@ }, { "hexValue": "464c4b415053", - "id": 28469, + "id": 28489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "441:8:30", + "src": "445:8:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8882386937a9c07d3780822948f15cbbdc00471a5fb5b58794d93db5ee833476", "typeString": "literal_string \"FLKAPS\"" @@ -1901,39 +1971,39 @@ "typeString": "literal_string \"FLKAPS\"" } ], - "id": 28465, + "id": 28485, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 ], - "referencedDeclaration": 2365, - "src": "408:8:30", + "referencedDeclaration": 2385, + "src": "412:8:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 28470, + "id": 28490, "isConstant": false, "isLValue": false, "isPure": false, @@ -1942,16 +2012,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "408:42:30", + "src": "412:42:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 28471, + "id": 28491, "nodeType": "ExpressionStatement", - "src": "408:42:30" + "src": "412:42:30" } ] }, @@ -1960,49 +2030,49 @@ "kind": "function", "modifiers": [], "name": "testSymbol", - "nameLocation": "378:10:30", + "nameLocation": "382:10:30", "parameters": { - "id": 28463, + "id": 28483, "nodeType": "ParameterList", "parameters": [], - "src": "388:2:30" + "src": "392:2:30" }, "returnParameters": { - "id": 28464, + "id": 28484, "nodeType": "ParameterList", "parameters": [], - "src": "398:0:30" + "src": "402:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28496, + "id": 28516, "nodeType": "FunctionDefinition", - "src": "463:409:30", + "src": "467:408:30", "nodes": [], "body": { - "id": 28495, + "id": 28515, "nodeType": "Block", - "src": "490:382:30", + "src": "494:381:30", "nodes": [], "statements": [ { "assignments": [ - 28477 + 28497 ], "declarations": [ { "constant": false, - "id": 28477, + "id": 28497, "mutability": "mutable", "name": "mint", - "nameLocation": "508:4:30", + "nameLocation": "512:4:30", "nodeType": "VariableDeclaration", - "scope": 28495, - "src": "500:12:30", + "scope": 28515, + "src": "504:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2010,10 +2080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 28476, + "id": 28496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "500:7:30", + "src": "504:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2022,19 +2092,19 @@ "visibility": "internal" } ], - "id": 28489, + "id": 28509, "initialValue": { "arguments": [ { "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28480, + "id": 28500, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "543:42:30", + "src": "547:42:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2043,14 +2113,14 @@ }, { "hexValue": "466f756e647279205465737420417070", - "id": 28481, + "id": 28501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "595:18:30", + "src": "599:18:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", "typeString": "literal_string \"Foundry Test App\"" @@ -2059,14 +2129,14 @@ }, { "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28482, + "id": 28502, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "623:56:30", + "src": "627:56:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" @@ -2075,14 +2145,14 @@ }, { "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28483, + "id": 28503, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "689:19:30", + "src": "693:19:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", "typeString": "literal_string \"https://fleek.xyz\"" @@ -2091,14 +2161,14 @@ }, { "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28484, + "id": 28504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "718:19:30", + "src": "722:19:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", "typeString": "literal_string \"https://fleek.xyz\"" @@ -2107,14 +2177,14 @@ }, { "hexValue": "666c65656b5f78797a", - "id": 28485, + "id": 28505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "747:11:30", + "src": "751:11:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", "typeString": "literal_string \"fleek_xyz\"" @@ -2123,14 +2193,14 @@ }, { "hexValue": "61666666336636", - "id": 28486, + "id": 28506, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "768:9:30", + "src": "772:9:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", "typeString": "literal_string \"afff3f6\"" @@ -2139,14 +2209,14 @@ }, { "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28487, + "id": 28507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "787:39:30", + "src": "791:39:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" @@ -2190,33 +2260,33 @@ } ], "expression": { - "id": 28478, + "id": 28498, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "515:13:30", + "referencedDeclaration": 28458, + "src": "519:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28479, + "id": 28499, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "529:4:30", + "memberLocation": "533:4:30", "memberName": "mint", "nodeType": "MemberAccess", "referencedDeclaration": 312, - "src": "515:18:30", + "src": "519:18:30", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" } }, - "id": 28488, + "id": 28508, "isConstant": false, "isLValue": false, "isPure": false, @@ -2225,7 +2295,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "515:321:30", + "src": "519:321:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2233,18 +2303,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "500:336:30" + "src": "504:336:30" }, { "expression": { "arguments": [ { - "id": 28491, + "id": 28511, "name": "mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28477, - "src": "856:4:30", + "referencedDeclaration": 28497, + "src": "860:4:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2252,14 +2322,14 @@ }, { "hexValue": "30", - "id": 28492, + "id": 28512, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "862:1:30", + "src": "866:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2278,39 +2348,39 @@ "typeString": "int_const 0" } ], - "id": 28490, + "id": 28510, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 ], - "referencedDeclaration": 1240, - "src": "847:8:30", + "referencedDeclaration": 1260, + "src": "851:8:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 28493, + "id": 28513, "isConstant": false, "isLValue": false, "isPure": false, @@ -2319,16 +2389,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "847:17:30", + "src": "851:17:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 28494, + "id": 28514, "nodeType": "ExpressionStatement", - "src": "847:17:30" + "src": "851:17:30" } ] }, @@ -2337,49 +2407,49 @@ "kind": "function", "modifiers": [], "name": "testMint", - "nameLocation": "472:8:30", + "nameLocation": "476:8:30", "parameters": { - "id": 28474, + "id": 28494, "nodeType": "ParameterList", "parameters": [], - "src": "480:2:30" + "src": "484:2:30" }, "returnParameters": { - "id": 28475, + "id": 28495, "nodeType": "ParameterList", "parameters": [], - "src": "490:0:30" + "src": "494:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28561, + "id": 28558, "nodeType": "FunctionDefinition", - "src": "878:1357:30", + "src": "881:886:30", "nodes": [], "body": { - "id": 28560, + "id": 28557, "nodeType": "Block", - "src": "909:1326:30", + "src": "922:845:30", "nodes": [], "statements": [ { "assignments": [ - 28500 + 28520 ], "declarations": [ { "constant": false, - "id": 28500, + "id": 28520, "mutability": "mutable", - "name": "mint", - "nameLocation": "927:4:30", + "name": "first_mint", + "nameLocation": "940:10:30", "nodeType": "VariableDeclaration", - "scope": 28560, - "src": "919:12:30", + "scope": 28557, + "src": "932:18:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2387,10 +2457,10 @@ "typeString": "uint256" }, "typeName": { - "id": 28499, + "id": 28519, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "919:7:30", + "src": "932:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2399,19 +2469,19 @@ "visibility": "internal" } ], - "id": 28512, + "id": 28532, "initialValue": { "arguments": [ { "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28503, + "id": 28523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "962:42:30", + "src": "985:42:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2420,14 +2490,14 @@ }, { "hexValue": "466f756e647279205465737420417070", - "id": 28504, + "id": 28524, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1014:18:30", + "src": "1041:18:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", "typeString": "literal_string \"Foundry Test App\"" @@ -2436,14 +2506,14 @@ }, { "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28505, + "id": 28525, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1042:56:30", + "src": "1073:56:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" @@ -2452,14 +2522,14 @@ }, { "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28506, + "id": 28526, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1108:19:30", + "src": "1143:19:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", "typeString": "literal_string \"https://fleek.xyz\"" @@ -2468,14 +2538,14 @@ }, { "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28507, + "id": 28527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1137:19:30", + "src": "1176:19:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", "typeString": "literal_string \"https://fleek.xyz\"" @@ -2484,14 +2554,14 @@ }, { "hexValue": "666c65656b5f78797a", - "id": 28508, + "id": 28528, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1166:11:30", + "src": "1209:11:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", "typeString": "literal_string \"fleek_xyz\"" @@ -2500,14 +2570,14 @@ }, { "hexValue": "61666666336636", - "id": 28509, + "id": 28529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1187:9:30", + "src": "1234:9:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", "typeString": "literal_string \"afff3f6\"" @@ -2516,14 +2586,14 @@ }, { "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28510, + "id": 28530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1206:39:30", + "src": "1257:39:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" @@ -2567,33 +2637,33 @@ } ], "expression": { - "id": 28501, + "id": 28521, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "934:13:30", + "referencedDeclaration": 28458, + "src": "953:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28502, + "id": 28522, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "948:4:30", + "memberLocation": "967:4:30", "memberName": "mint", "nodeType": "MemberAccess", "referencedDeclaration": 312, - "src": "934:18:30", + "src": "953:18:30", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" } }, - "id": 28511, + "id": 28531, "isConstant": false, "isLValue": false, "isPure": false, @@ -2602,7 +2672,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "934:321:30", + "src": "953:353:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2610,18 +2680,264 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "919:336:30" + "src": "932:374:30" + }, + { + "assignments": [ + 28534 + ], + "declarations": [ + { + "constant": false, + "id": 28534, + "mutability": "mutable", + "name": "second_mint", + "nameLocation": "1325:11:30", + "nodeType": "VariableDeclaration", + "scope": 28557, + "src": "1317:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1317:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28546, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1371:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1427:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1459:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1529:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1562:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1595:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1620:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1643:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28535, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "1339:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1353:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "1339:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1339:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1317:375:30" }, { "expression": { "arguments": [ { - "id": 28514, - "name": "mint", + "id": 28548, + "name": "first_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28500, - "src": "1275:4:30", + "referencedDeclaration": 28520, + "src": "1712:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2629,14 +2945,14 @@ }, { "hexValue": "30", - "id": 28515, + "id": 28549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1281:1:30", + "src": "1724:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2655,39 +2971,39 @@ "typeString": "int_const 0" } ], - "id": 28513, + "id": 28547, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 ], - "referencedDeclaration": 1240, - "src": "1266:8:30", + "referencedDeclaration": 1260, + "src": "1703:8:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 28516, + "id": 28550, "isConstant": false, "isLValue": false, "isPure": false, @@ -2696,31 +3012,1984 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1266:17:30", + "src": "1703:23:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 28517, + "id": 28551, "nodeType": "ExpressionStatement", - "src": "1266:17:30" + "src": "1703:23:30" }, + { + "expression": { + "arguments": [ + { + "id": 28553, + "name": "second_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28534, + "src": "1745:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 28554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1758:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 28552, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "1736:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1736:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28556, + "nodeType": "ExpressionStatement", + "src": "1736:24:30" + } + ] + }, + "functionSelector": "4b0bdf69", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testMintingMintedToken", + "nameLocation": "890:22:30", + "parameters": { + "id": 28517, + "nodeType": "ParameterList", + "parameters": [], + "src": "912:2:30" + }, + "returnParameters": { + "id": 28518, + "nodeType": "ParameterList", + "parameters": [], + "src": "922:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28600, + "nodeType": "FunctionDefinition", + "src": "1773:915:30", + "nodes": [], + "body": { + "id": 28599, + "nodeType": "Block", + "src": "1836:852:30", + "nodes": [], + "statements": [ { "assignments": [ - 28519 + 28562 ], "declarations": [ { "constant": false, - "id": 28519, + "id": 28562, + "mutability": "mutable", + "name": "first_mint", + "nameLocation": "1854:10:30", + "nodeType": "VariableDeclaration", + "scope": 28599, + "src": "1846:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1846:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28574, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1899:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1955:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1987:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2057:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2090:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2123:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2148:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2171:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28563, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "1867:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1881:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "1867:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1867:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1846:374:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28576, + "name": "first_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28562, + "src": "2240:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2252:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28575, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "2231:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2231:23:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28579, + "nodeType": "ExpressionStatement", + "src": "2231:23:30" + }, + { + "assignments": [ + 28581 + ], + "declarations": [ + { + "constant": false, + "id": 28581, + "mutability": "mutable", + "name": "second_mint", + "nameLocation": "2273:11:30", + "nodeType": "VariableDeclaration", + "scope": 28599, + "src": "2265:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2265:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28593, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2319:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e6472792054657374204170702032", + "id": 28585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2375:20:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5047416fbfaeeae9cd2998d4ee1f3f8d5931c0c6f4fa3fbb8618ab3751932a1d", + "typeString": "literal_string \"Foundry Test App 2\"" + }, + "value": "Foundry Test App 2" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e647279207465737473205b325d2e", + "id": 28586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2409:60:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97b0db00dab160583b7b51312a0e9a8bd64c7d3c770e8c57d83635a2d3f4f997", + "typeString": "literal_string \"This is a test application submitted by foundry tests [2].\"" + }, + "value": "This is a test application submitted by foundry tests [2]." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2483:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2516:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2574:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2597:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_5047416fbfaeeae9cd2998d4ee1f3f8d5931c0c6f4fa3fbb8618ab3751932a1d", + "typeString": "literal_string \"Foundry Test App 2\"" + }, + { + "typeIdentifier": "t_stringliteral_97b0db00dab160583b7b51312a0e9a8bd64c7d3c770e8c57d83635a2d3f4f997", + "typeString": "literal_string \"This is a test application submitted by foundry tests [2].\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28582, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "2287:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2301:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "2287:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2287:359:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2265:381:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28595, + "name": "second_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28581, + "src": "2666:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 28596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2679:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 28594, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "2657:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2657:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28598, + "nodeType": "ExpressionStatement", + "src": "2657:24:30" + } + ] + }, + "functionSelector": "36587414", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testMintingMoreThanOneTokenForTheSameAddress", + "nameLocation": "1782:44:30", + "parameters": { + "id": 28559, + "nodeType": "ParameterList", + "parameters": [], + "src": "1826:2:30" + }, + "returnParameters": { + "id": 28560, + "nodeType": "ParameterList", + "parameters": [], + "src": "1836:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28645, + "nodeType": "FunctionDefinition", + "src": "2694:873:30", + "nodes": [], + "body": { + "id": 28644, + "nodeType": "Block", + "src": "2748:819:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28604 + ], + "declarations": [ + { + "constant": false, + "id": 28604, + "mutability": "mutable", + "name": "first_mint", + "nameLocation": "2766:10:30", + "nodeType": "VariableDeclaration", + "scope": 28644, + "src": "2758:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2758:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28616, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2811:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2867:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2899:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2969:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3002:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3035:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3060:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3083:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28605, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "2779:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2793:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "2779:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2779:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2758:374:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28618, + "name": "first_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28604, + "src": "3152:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3164:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28617, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "3143:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3143:23:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28621, + "nodeType": "ExpressionStatement", + "src": "3143:23:30" + }, + { + "assignments": [ + 28623 + ], + "declarations": [ + { + "constant": false, + "id": 28623, + "mutability": "mutable", + "name": "second_mint", + "nameLocation": "3185:11:30", + "nodeType": "VariableDeclaration", + "scope": 28644, + "src": "3177:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3177:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28638, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 28628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3239:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3231:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3231:7:30", + "typeDescriptions": {} + } + }, + "id": 28629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3231:10:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "466f756e6472792054657374204170702032", + "id": 28630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3255:20:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5047416fbfaeeae9cd2998d4ee1f3f8d5931c0c6f4fa3fbb8618ab3751932a1d", + "typeString": "literal_string \"Foundry Test App 2\"" + }, + "value": "Foundry Test App 2" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374735b325d2e", + "id": 28631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3289:59:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a056c001dada01ec7199653289bb566776b9444b7fb42a7014f2c97b8de57f3b", + "typeString": "literal_string \"This is a test application submitted by foundry tests[2].\"" + }, + "value": "This is a test application submitted by foundry tests[2]." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3362:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3395:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3428:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3453:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3476:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_5047416fbfaeeae9cd2998d4ee1f3f8d5931c0c6f4fa3fbb8618ab3751932a1d", + "typeString": "literal_string \"Foundry Test App 2\"" + }, + { + "typeIdentifier": "t_stringliteral_a056c001dada01ec7199653289bb566776b9444b7fb42a7014f2c97b8de57f3b", + "typeString": "literal_string \"This is a test application submitted by foundry tests[2].\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28624, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "3199:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3213:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "3199:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3199:326:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3177:348:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28640, + "name": "second_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28623, + "src": "3545:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 28641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3558:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 28639, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "3536:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3536:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28643, + "nodeType": "ExpressionStatement", + "src": "3536:24:30" + } + ] + }, + "functionSelector": "52685877", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testMintingTwoTokensForTwoAddresses", + "nameLocation": "2703:35:30", + "parameters": { + "id": 28601, + "nodeType": "ParameterList", + "parameters": [], + "src": "2738:2:30" + }, + "returnParameters": { + "id": 28602, + "nodeType": "ParameterList", + "parameters": [], + "src": "2748:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28710, + "nodeType": "FunctionDefinition", + "src": "3573:1357:30", + "nodes": [], + "body": { + "id": 28709, + "nodeType": "Block", + "src": "3604:1326:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28649 + ], + "declarations": [ + { + "constant": false, + "id": 28649, + "mutability": "mutable", + "name": "mint", + "nameLocation": "3622:4:30", + "nodeType": "VariableDeclaration", + "scope": 28709, + "src": "3614:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3614:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28661, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3657:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3709:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3737:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3803:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3832:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3861:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3882:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3901:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28650, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "3629:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3643:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "3629:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3629:321:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3614:336:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28663, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28649, + "src": "3970:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3976:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28662, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "3961:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3961:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28666, + "nodeType": "ExpressionStatement", + "src": "3961:17:30" + }, + { + "assignments": [ + 28668 + ], + "declarations": [ + { + "constant": false, + "id": 28668, "mutability": "mutable", "name": "tokenURI", - "nameLocation": "1308:8:30", + "nameLocation": "4003:8:30", "nodeType": "VariableDeclaration", - "scope": 28560, - "src": "1294:22:30", + "scope": 28709, + "src": "3989:22:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2728,10 +4997,10 @@ "typeString": "string" }, "typeName": { - "id": 28518, + "id": 28667, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1294:6:30", + "src": "3989:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2740,16 +5009,16 @@ "visibility": "internal" } ], - "id": 28524, + "id": 28673, "initialValue": { "arguments": [ { - "id": 28522, + "id": 28671, "name": "mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28500, - "src": "1342:4:30", + "referencedDeclaration": 28649, + "src": "4037:4:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2764,33 +5033,33 @@ } ], "expression": { - "id": 28520, + "id": 28669, "name": "fleekContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "1319:13:30", + "referencedDeclaration": 28458, + "src": "4014:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", + "typeIdentifier": "t_contract$_FleekERC721_$745", "typeString": "contract FleekERC721" } }, - "id": 28521, + "id": 28670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1333:8:30", + "memberLocation": "4028:8:30", "memberName": "tokenURI", "nodeType": "MemberAccess", "referencedDeclaration": 438, - "src": "1319:22:30", + "src": "4014:22:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) view external returns (string memory)" } }, - "id": 28523, + "id": 28672, "isConstant": false, "isLValue": false, "isPure": false, @@ -2799,7 +5068,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1319:28:30", + "src": "4014:28:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2807,22 +5076,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1294:53:30" + "src": "3989:53:30" }, { "assignments": [ - 28526 + 28675 ], "declarations": [ { "constant": false, - "id": 28526, + "id": 28675, "mutability": "mutable", "name": "dataURI", - "nameLocation": "1371:7:30", + "nameLocation": "4066:7:30", "nodeType": "VariableDeclaration", - "scope": 28560, - "src": "1358:20:30", + "scope": 28709, + "src": "4053:20:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2830,10 +5099,10 @@ "typeString": "bytes" }, "typeName": { - "id": 28525, + "id": 28674, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1358:5:30", + "src": "4053:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2842,19 +5111,19 @@ "visibility": "internal" } ], - "id": 28543, + "id": 28692, "initialValue": { "arguments": [ { "hexValue": "7b", - "id": 28529, + "id": 28678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1411:3:30", + "src": "4106:3:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a91eddf639b0b768929589c1a9fd21dcb0107199bdd82e55c5348018a1572f52", "typeString": "literal_string \"{\"" @@ -2863,14 +5132,14 @@ }, { "hexValue": "226e616d65223a22466f756e647279205465737420417070222c", - "id": 28530, + "id": 28679, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1432:28:30", + "src": "4127:28:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2f244923e3a2945d1f3765cea5e0a3de7d9e71a45a9330ec64beed42d7b4c510", "typeString": "literal_string \"\"name\":\"Foundry Test App\",\"" @@ -2879,14 +5148,14 @@ }, { "hexValue": "226465736372697074696f6e223a225468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e222c", - "id": 28531, + "id": 28680, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1478:73:30", + "src": "4173:73:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_418e613a9f37f8cb8167f5effec66e79d5ed5eea524a677d9645f78dcc9755ee", "typeString": "literal_string \"\"description\":\"This is a test application submitted by foundry tests.\",\"" @@ -2895,14 +5164,14 @@ }, { "hexValue": "226f776e6572223a22307862346337396461423866323539433741656536453562324161373239383231383634323237653834222c", - "id": 28532, + "id": 28681, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1569:55:30", + "src": "4264:55:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1b2b16a9b946f06e794f6abe9479b90d9175e9819a299d4762096af0b8afb174", "typeString": "literal_string \"\"owner\":\"0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84\",\"" @@ -2911,14 +5180,14 @@ }, { "hexValue": "2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e78797a222c", - "id": 28533, + "id": 28682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1642:37:30", + "src": "4337:37:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_744ec083ebd84a884622ce1c5cddce1c550fe49216b2df736672e3dbaf742bfd", "typeString": "literal_string \"\"external_url\":\"https://fleek.xyz\",\"" @@ -2927,14 +5196,14 @@ }, { "hexValue": "22696d616765223a2268747470733a2f2f666c65656b2e78797a222c", - "id": 28534, + "id": 28683, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1697:30:30", + "src": "4392:30:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_179f151bf7259e1a7ca9ef12e360cff715bc0161e715266b42933eadb66b2546", "typeString": "literal_string \"\"image\":\"https://fleek.xyz\",\"" @@ -2943,14 +5212,14 @@ }, { "hexValue": "2261747472696275746573223a205b", - "id": 28535, + "id": 28684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1745:17:30", + "src": "4440:17:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a9d6c84473de3f3a866c16d436066b8d4df325a647d2d3a768ffba45df210f3c", "typeString": "literal_string \"\"attributes\": [\"" @@ -2959,14 +5228,14 @@ }, { "hexValue": "7b2274726169745f74797065223a2022454e53222c202276616c7565223a22666c65656b5f78797a227d2c", - "id": 28536, + "id": 28685, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1784:45:30", + "src": "4479:45:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_fdbba960a67a13517a91d7bf9c8f31ab3d363b527cc71e6198949323288bd94e", "typeString": "literal_string \"{\"trait_type\": \"ENS\", \"value\":\"fleek_xyz\"},\"" @@ -2975,14 +5244,14 @@ }, { "hexValue": "7b2274726169745f74797065223a2022436f6d6d69742048617368222c202276616c7565223a2261666666336636227d2c", - "id": 28537, + "id": 28686, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1851:51:30", + "src": "4546:51:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_08d650cd8878d29ee982d0d6162fdd022222f0bc673214327f700284f6d1a217", "typeString": "literal_string \"{\"trait_type\": \"Commit Hash\", \"value\":\"afff3f6\"},\"" @@ -2991,14 +5260,14 @@ }, { "hexValue": "7b2274726169745f74797065223a20225265706f7369746f7279222c202276616c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473227d2c", - "id": 28538, + "id": 28687, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1924:80:30", + "src": "4619:80:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a57e9da6b6cf14a814be17c6fbe597744a0c69910e5dd7b88e821e286a01941d", "typeString": "literal_string \"{\"trait_type\": \"Repository\", \"value\":\"https://github.com/fleekxyz/contracts\"},\"" @@ -3007,14 +5276,14 @@ }, { "hexValue": "7b2274726169745f74797065223a202256657273696f6e222c202276616c7565223a2230227d", - "id": 28539, + "id": 28688, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2026:40:30", + "src": "4721:40:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f2a7acdda6d2074ec713929713452b8bf97fa4b6550c62c1629b45338d12d6cb", "typeString": "literal_string \"{\"trait_type\": \"Version\", \"value\":\"0\"}\"" @@ -3023,14 +5292,14 @@ }, { "hexValue": "5d", - "id": 28540, + "id": 28689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2084:3:30", + "src": "4779:3:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", "typeString": "literal_string \"]\"" @@ -3039,14 +5308,14 @@ }, { "hexValue": "7d", - "id": 28541, + "id": 28690, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2101:3:30", + "src": "4796:3:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", "typeString": "literal_string \"}\"" @@ -3110,32 +5379,32 @@ } ], "expression": { - "id": 28527, + "id": 28676, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1381:3:30", + "src": "4076:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 28528, + "id": 28677, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1385:12:30", + "memberLocation": "4080:12:30", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1381:16:30", + "src": "4076:16:30", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 28542, + "id": 28691, "isConstant": false, "isLValue": false, "isPure": true, @@ -3144,7 +5413,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1381:733:30", + "src": "4076:733:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3152,18 +5421,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1358:756:30" + "src": "4053:756:30" }, { "expression": { "arguments": [ { - "id": 28545, + "id": 28694, "name": "tokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28519, - "src": "2134:8:30", + "referencedDeclaration": 28668, + "src": "4829:8:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3175,14 +5444,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 28550, + "id": 28699, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2168:31:30", + "src": "4863:31:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -3194,26 +5463,26 @@ { "components": [ { - "id": 28553, + "id": 28702, "name": "dataURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 28526, - "src": "2216:7:30", + "referencedDeclaration": 28675, + "src": "4911:7:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], - "id": 28554, + "id": 28703, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2215:9:30", + "src": "4910:9:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -3228,33 +5497,33 @@ } ], "expression": { - "id": 28551, + "id": 28700, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27257, - "src": "2201:6:30", + "referencedDeclaration": 27277, + "src": "4896:6:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$27257_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$27277_$", "typeString": "type(library Base64)" } }, - "id": 28552, + "id": 28701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2208:6:30", + "memberLocation": "4903:6:30", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 27256, - "src": "2201:13:30", + "referencedDeclaration": 27276, + "src": "4896:13:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 28555, + "id": 28704, "isConstant": false, "isLValue": false, "isPure": false, @@ -3263,7 +5532,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2201:24:30", + "src": "4896:24:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3283,32 +5552,32 @@ } ], "expression": { - "id": 28548, + "id": 28697, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2151:3:30", + "src": "4846:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 28549, + "id": 28698, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2155:12:30", + "memberLocation": "4850:12:30", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2151:16:30", + "src": "4846:16:30", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 28556, + "id": 28705, "isConstant": false, "isLValue": false, "isPure": false, @@ -3317,7 +5586,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2151:75:30", + "src": "4846:75:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3332,26 +5601,26 @@ "typeString": "bytes memory" } ], - "id": 28547, + "id": 28696, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2144:6:30", + "src": "4839:6:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 28546, + "id": 28695, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2144:6:30", + "src": "4839:6:30", "typeDescriptions": {} } }, - "id": 28557, + "id": 28706, "isConstant": false, "isLValue": false, "isPure": false, @@ -3360,7 +5629,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2144:83:30", + "src": "4839:83:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3379,2353 +5648,38 @@ "typeString": "string memory" } ], - "id": 28544, + "id": 28693, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 ], - "referencedDeclaration": 2365, - "src": "2125:8:30", + "referencedDeclaration": 2385, + "src": "4820:8:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 28558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2125:103:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28559, - "nodeType": "ExpressionStatement", - "src": "2125:103:30" - } - ] - }, - "functionSelector": "b5b34603", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testTokenURI", - "nameLocation": "887:12:30", - "parameters": { - "id": 28497, - "nodeType": "ParameterList", - "parameters": [], - "src": "899:2:30" - }, - "returnParameters": { - "id": 28498, - "nodeType": "ParameterList", - "parameters": [], - "src": "909:0:30" - }, - "scope": 28731, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 28590, - "nodeType": "FunctionDefinition", - "src": "2241:475:30", - "nodes": [], - "body": { - "id": 28589, - "nodeType": "Block", - "src": "2268:448:30", - "nodes": [], - "statements": [ - { - "assignments": [ - 28565 - ], - "declarations": [ - { - "constant": false, - "id": 28565, - "mutability": "mutable", - "name": "mint", - "nameLocation": "2286:4:30", - "nodeType": "VariableDeclaration", - "scope": 28589, - "src": "2278:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2278:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 28577, - "initialValue": { - "arguments": [ - { - "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2325:42:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" - }, - { - "hexValue": "466f756e647279205465737420417070", - "id": 28569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2381:18:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - "value": "Foundry Test App" - }, - { - "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2413:56:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - "value": "This is a test application submitted by foundry tests." - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2483:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2516:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "666c65656b5f78797a", - "id": 28573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:11:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - "value": "fleek_xyz" - }, - { - "hexValue": "61666666336636", - "id": 28574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2574:9:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - "value": "afff3f6" - }, - { - "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2597:39:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - }, - "value": "https://github.com/fleekxyz/contracts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - } - ], - "expression": { - "id": 28566, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "2293:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2307:4:30", - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "2293:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" - } - }, - "id": 28576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2293:353:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2278:368:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28579, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28565, - "src": "2666:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 28580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2672:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 28578, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 - ], - "referencedDeclaration": 1240, - "src": "2657:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 28581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2657:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28582, - "nodeType": "ExpressionStatement", - "src": "2657:17:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28586, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28565, - "src": "2704:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 28583, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "2685:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2699:4:30", - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 724, - "src": "2685:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 28587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2685:24:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28588, - "nodeType": "ExpressionStatement", - "src": "2685:24:30" - } - ] - }, - "functionSelector": "e13aba48", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testBurn", - "nameLocation": "2250:8:30", - "parameters": { - "id": 28562, - "nodeType": "ParameterList", - "parameters": [], - "src": "2258:2:30" - }, - "returnParameters": { - "id": 28563, - "nodeType": "ParameterList", - "parameters": [], - "src": "2268:0:30" - }, - "scope": 28731, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 28620, - "nodeType": "FunctionDefinition", - "src": "2722:510:30", - "nodes": [], - "body": { - "id": 28619, - "nodeType": "Block", - "src": "2757:475:30", - "nodes": [], - "statements": [ - { - "assignments": [ - 28594 - ], - "declarations": [ - { - "constant": false, - "id": 28594, - "mutability": "mutable", - "name": "mint", - "nameLocation": "2775:4:30", - "nodeType": "VariableDeclaration", - "scope": 28619, - "src": "2767:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2767:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 28606, - "initialValue": { - "arguments": [ - { - "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2814:42:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" - }, - { - "hexValue": "466f756e647279205465737420417070", - "id": 28598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2870:18:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - "value": "Foundry Test App" - }, - { - "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2902:56:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - "value": "This is a test application submitted by foundry tests." - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2972:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3005:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "666c65656b5f78797a", - "id": 28602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3038:11:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - "value": "fleek_xyz" - }, - { - "hexValue": "61666666336636", - "id": 28603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3063:9:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - "value": "afff3f6" - }, - { - "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3086:39:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - }, - "value": "https://github.com/fleekxyz/contracts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - } - ], - "expression": { - "id": 28595, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "2782:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2796:4:30", - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "2782:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" - } - }, - "id": 28605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2782:353:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2767:368:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28608, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28594, - "src": "3155:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 28609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3161:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 28607, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 - ], - "referencedDeclaration": 1240, - "src": "3146:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 28610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3146:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28611, - "nodeType": "ExpressionStatement", - "src": "3146:17:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28615, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28594, - "src": "3201:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "4e455720544f4b454e204e414d4521", - "id": 28616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3207:17:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", - "typeString": "literal_string \"NEW TOKEN NAME!\"" - }, - "value": "NEW TOKEN NAME!" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", - "typeString": "literal_string \"NEW TOKEN NAME!\"" - } - ], - "expression": { - "id": 28612, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "3174:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3188:12:30", - "memberName": "setTokenName", - "nodeType": "MemberAccess", - "referencedDeclaration": 590, - "src": "3174:26:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 28617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3174:51:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28618, - "nodeType": "ExpressionStatement", - "src": "3174:51:30" - } - ] - }, - "functionSelector": "b84446a3", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testSetTokenName", - "nameLocation": "2731:16:30", - "parameters": { - "id": 28591, - "nodeType": "ParameterList", - "parameters": [], - "src": "2747:2:30" - }, - "returnParameters": { - "id": 28592, - "nodeType": "ParameterList", - "parameters": [], - "src": "2757:0:30" - }, - "scope": 28731, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 28650, - "nodeType": "FunctionDefinition", - "src": "3238:524:30", - "nodes": [], - "body": { - "id": 28649, - "nodeType": "Block", - "src": "3280:482:30", - "nodes": [], - "statements": [ - { - "assignments": [ - 28624 - ], - "declarations": [ - { - "constant": false, - "id": 28624, - "mutability": "mutable", - "name": "mint", - "nameLocation": "3298:4:30", - "nodeType": "VariableDeclaration", - "scope": 28649, - "src": "3290:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3290:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 28636, - "initialValue": { - "arguments": [ - { - "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3337:42:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" - }, - { - "hexValue": "466f756e647279205465737420417070", - "id": 28628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:18:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - "value": "Foundry Test App" - }, - { - "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3425:56:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - "value": "This is a test application submitted by foundry tests." - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3495:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3528:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "666c65656b5f78797a", - "id": 28632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3561:11:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - "value": "fleek_xyz" - }, - { - "hexValue": "61666666336636", - "id": 28633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3586:9:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - "value": "afff3f6" - }, - { - "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3609:39:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - }, - "value": "https://github.com/fleekxyz/contracts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - } - ], - "expression": { - "id": 28625, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "3305:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3319:4:30", - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "3305:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" - } - }, - "id": 28635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3305:353:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3290:368:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28638, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28624, - "src": "3678:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 28639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3684:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 28637, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 - ], - "referencedDeclaration": 1240, - "src": "3669:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 28640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3669:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28641, - "nodeType": "ExpressionStatement", - "src": "3669:17:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28645, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28624, - "src": "3731:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "4e455720544f4b454e204e414d4521", - "id": 28646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3737:17:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", - "typeString": "literal_string \"NEW TOKEN NAME!\"" - }, - "value": "NEW TOKEN NAME!" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", - "typeString": "literal_string \"NEW TOKEN NAME!\"" - } - ], - "expression": { - "id": 28642, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "3697:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3711:19:30", - "memberName": "setTokenDescription", - "nodeType": "MemberAccess", - "referencedDeclaration": 617, - "src": "3697:33:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 28647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3697:58:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28648, - "nodeType": "ExpressionStatement", - "src": "3697:58:30" - } - ] - }, - "functionSelector": "36d3d58f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testSetTokenDescription", - "nameLocation": "3247:23:30", - "parameters": { - "id": 28621, - "nodeType": "ParameterList", - "parameters": [], - "src": "3270:2:30" - }, - "returnParameters": { - "id": 28622, - "nodeType": "ParameterList", - "parameters": [], - "src": "3280:0:30" - }, - "scope": 28731, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 28680, - "nodeType": "FunctionDefinition", - "src": "3768:517:30", - "nodes": [], - "body": { - "id": 28679, - "nodeType": "Block", - "src": "3804:481:30", - "nodes": [], - "statements": [ - { - "assignments": [ - 28654 - ], - "declarations": [ - { - "constant": false, - "id": 28654, - "mutability": "mutable", - "name": "mint", - "nameLocation": "3822:4:30", - "nodeType": "VariableDeclaration", - "scope": 28679, - "src": "3814:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3814:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 28666, - "initialValue": { - "arguments": [ - { - "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3861:42:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" - }, - { - "hexValue": "466f756e647279205465737420417070", - "id": 28658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3917:18:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - "value": "Foundry Test App" - }, - { - "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3949:56:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - "value": "This is a test application submitted by foundry tests." - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4019:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4052:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "666c65656b5f78797a", - "id": 28662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4085:11:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - "value": "fleek_xyz" - }, - { - "hexValue": "61666666336636", - "id": 28663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4110:9:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - "value": "afff3f6" - }, - { - "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4133:39:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - }, - "value": "https://github.com/fleekxyz/contracts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - } - ], - "expression": { - "id": 28655, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "3829:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3843:4:30", - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "3829:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" - } - }, - "id": 28665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3829:353:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3814:368:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28668, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28654, - "src": "4202:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 28669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4208:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 28667, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 - ], - "referencedDeclaration": 1240, - "src": "4193:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 28670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4193:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28671, - "nodeType": "ExpressionStatement", - "src": "4193:17:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28675, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28654, - "src": "4249:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "68747470733a2f2f657468657265756d2e6f7267", - "id": 28676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4255:22:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", - "typeString": "literal_string \"https://ethereum.org\"" - }, - "value": "https://ethereum.org" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", - "typeString": "literal_string \"https://ethereum.org\"" - } - ], - "expression": { - "id": 28672, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "4221:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4235:13:30", - "memberName": "setTokenImage", - "nodeType": "MemberAccess", - "referencedDeclaration": 644, - "src": "4221:27:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 28677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4221:57:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28678, - "nodeType": "ExpressionStatement", - "src": "4221:57:30" - } - ] - }, - "functionSelector": "1a6f9349", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testSetTokenImage", - "nameLocation": "3777:17:30", - "parameters": { - "id": 28651, - "nodeType": "ParameterList", - "parameters": [], - "src": "3794:2:30" - }, - "returnParameters": { - "id": 28652, - "nodeType": "ParameterList", - "parameters": [], - "src": "3804:0:30" - }, - "scope": 28731, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 28710, - "nodeType": "FunctionDefinition", - "src": "4291:529:30", - "nodes": [], - "body": { - "id": 28709, - "nodeType": "Block", - "src": "4333:487:30", - "nodes": [], - "statements": [ - { - "assignments": [ - 28684 - ], - "declarations": [ - { - "constant": false, - "id": 28684, - "mutability": "mutable", - "name": "mint", - "nameLocation": "4351:4:30", - "nodeType": "VariableDeclaration", - "scope": 28709, - "src": "4343:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4343:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 28696, - "initialValue": { - "arguments": [ - { - "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", - "id": 28687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4390:42:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" - }, - { - "hexValue": "466f756e647279205465737420417070", - "id": 28688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4446:18:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - "value": "Foundry Test App" - }, - { - "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", - "id": 28689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4478:56:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - "value": "This is a test application submitted by foundry tests." - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "68747470733a2f2f666c65656b2e78797a", - "id": 28691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4581:19:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - "value": "https://fleek.xyz" - }, - { - "hexValue": "666c65656b5f78797a", - "id": 28692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4614:11:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - "value": "fleek_xyz" - }, - { - "hexValue": "61666666336636", - "id": 28693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4639:9:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - "value": "afff3f6" - }, - { - "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", - "id": 28694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4662:39:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - }, - "value": "https://github.com/fleekxyz/contracts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", - "typeString": "literal_string \"Foundry Test App\"" - }, - { - "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", - "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", - "typeString": "literal_string \"https://fleek.xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", - "typeString": "literal_string \"fleek_xyz\"" - }, - { - "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", - "typeString": "literal_string \"afff3f6\"" - }, - { - "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", - "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" - } - ], - "expression": { - "id": 28685, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "4358:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4372:4:30", - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "4358:18:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" - } - }, - "id": 28695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4358:353:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4343:368:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28698, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28684, - "src": "4731:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 28699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4737:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 28697, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2673, - 2698, - 2711, - 2727, - 2769, - 2811, - 2853, - 2890, - 2927, - 2964, - 1046, - 1071, - 1101, - 1126, - 1185, - 1210, - 1240, - 1265, - 2365, - 2400 - ], - "referencedDeclaration": 1240, - "src": "4722:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 28700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4722:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28701, - "nodeType": "ExpressionStatement", - "src": "4722:17:30" - }, - { - "expression": { - "arguments": [ - { - "id": 28705, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28684, - "src": "4784:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "68747470733a2f2f657468657265756d2e6f7267", - "id": 28706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4790:22:30", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", - "typeString": "literal_string \"https://ethereum.org\"" - }, - "value": "https://ethereum.org" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", - "typeString": "literal_string \"https://ethereum.org\"" - } - ], - "expression": { - "id": 28702, - "name": "fleekContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28438, - "src": "4750:13:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FleekERC721_$725", - "typeString": "contract FleekERC721" - } - }, - "id": 28704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4764:19:30", - "memberName": "setTokenExternalURL", - "nodeType": "MemberAccess", - "referencedDeclaration": 536, - "src": "4750:33:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, "id": 28707, "isConstant": false, "isLValue": false, @@ -5735,7 +5689,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4750:63:30", + "src": "4820:103:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -5744,7 +5698,3147 @@ }, "id": 28708, "nodeType": "ExpressionStatement", - "src": "4750:63:30" + "src": "4820:103:30" + } + ] + }, + "functionSelector": "b5b34603", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testTokenURI", + "nameLocation": "3582:12:30", + "parameters": { + "id": 28646, + "nodeType": "ParameterList", + "parameters": [], + "src": "3594:2:30" + }, + "returnParameters": { + "id": 28647, + "nodeType": "ParameterList", + "parameters": [], + "src": "3604:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28752, + "nodeType": "FunctionDefinition", + "src": "4936:964:30", + "nodes": [], + "body": { + "id": 28751, + "nodeType": "Block", + "src": "4996:904:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28714 + ], + "declarations": [ + { + "constant": false, + "id": 28714, + "mutability": "mutable", + "name": "dataURI", + "nameLocation": "5019:7:30", + "nodeType": "VariableDeclaration", + "scope": 28751, + "src": "5006:20:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28713, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5006:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 28731, + "initialValue": { + "arguments": [ + { + "hexValue": "7b", + "id": 28717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5059:3:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a91eddf639b0b768929589c1a9fd21dcb0107199bdd82e55c5348018a1572f52", + "typeString": "literal_string \"{\"" + }, + "value": "{" + }, + { + "hexValue": "226e616d65223a22466f756e647279205465737420417070222c", + "id": 28718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5080:28:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2f244923e3a2945d1f3765cea5e0a3de7d9e71a45a9330ec64beed42d7b4c510", + "typeString": "literal_string \"\"name\":\"Foundry Test App\",\"" + }, + "value": "\"name\":\"Foundry Test App\"," + }, + { + "hexValue": "226465736372697074696f6e223a225468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e222c", + "id": 28719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5126:73:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_418e613a9f37f8cb8167f5effec66e79d5ed5eea524a677d9645f78dcc9755ee", + "typeString": "literal_string \"\"description\":\"This is a test application submitted by foundry tests.\",\"" + }, + "value": "\"description\":\"This is a test application submitted by foundry tests.\"," + }, + { + "hexValue": "226f776e6572223a22307862346337396461423866323539433741656536453562324161373239383231383634323237653834222c", + "id": 28720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5217:55:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b2b16a9b946f06e794f6abe9479b90d9175e9819a299d4762096af0b8afb174", + "typeString": "literal_string \"\"owner\":\"0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84\",\"" + }, + "value": "\"owner\":\"0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84\"," + }, + { + "hexValue": "2265787465726e616c5f75726c223a2268747470733a2f2f666c65656b2e78797a222c", + "id": 28721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5290:37:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_744ec083ebd84a884622ce1c5cddce1c550fe49216b2df736672e3dbaf742bfd", + "typeString": "literal_string \"\"external_url\":\"https://fleek.xyz\",\"" + }, + "value": "\"external_url\":\"https://fleek.xyz\"," + }, + { + "hexValue": "22696d616765223a2268747470733a2f2f666c65656b2e78797a222c", + "id": 28722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5345:30:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_179f151bf7259e1a7ca9ef12e360cff715bc0161e715266b42933eadb66b2546", + "typeString": "literal_string \"\"image\":\"https://fleek.xyz\",\"" + }, + "value": "\"image\":\"https://fleek.xyz\"," + }, + { + "hexValue": "2261747472696275746573223a205b", + "id": 28723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5393:17:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a9d6c84473de3f3a866c16d436066b8d4df325a647d2d3a768ffba45df210f3c", + "typeString": "literal_string \"\"attributes\": [\"" + }, + "value": "\"attributes\": [" + }, + { + "hexValue": "7b2274726169745f74797065223a2022454e53222c202276616c7565223a22666c65656b5f78797a227d2c", + "id": 28724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5432:45:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdbba960a67a13517a91d7bf9c8f31ab3d363b527cc71e6198949323288bd94e", + "typeString": "literal_string \"{\"trait_type\": \"ENS\", \"value\":\"fleek_xyz\"},\"" + }, + "value": "{\"trait_type\": \"ENS\", \"value\":\"fleek_xyz\"}," + }, + { + "hexValue": "7b2274726169745f74797065223a2022436f6d6d69742048617368222c202276616c7565223a2261666666336636227d2c", + "id": 28725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5499:51:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08d650cd8878d29ee982d0d6162fdd022222f0bc673214327f700284f6d1a217", + "typeString": "literal_string \"{\"trait_type\": \"Commit Hash\", \"value\":\"afff3f6\"},\"" + }, + "value": "{\"trait_type\": \"Commit Hash\", \"value\":\"afff3f6\"}," + }, + { + "hexValue": "7b2274726169745f74797065223a20225265706f7369746f7279222c202276616c7565223a2268747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473227d2c", + "id": 28726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5572:80:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a57e9da6b6cf14a814be17c6fbe597744a0c69910e5dd7b88e821e286a01941d", + "typeString": "literal_string \"{\"trait_type\": \"Repository\", \"value\":\"https://github.com/fleekxyz/contracts\"},\"" + }, + "value": "{\"trait_type\": \"Repository\", \"value\":\"https://github.com/fleekxyz/contracts\"}," + }, + { + "hexValue": "7b2274726169745f74797065223a202256657273696f6e222c202276616c7565223a2230227d", + "id": 28727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5674:40:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2a7acdda6d2074ec713929713452b8bf97fa4b6550c62c1629b45338d12d6cb", + "typeString": "literal_string \"{\"trait_type\": \"Version\", \"value\":\"0\"}\"" + }, + "value": "{\"trait_type\": \"Version\", \"value\":\"0\"}" + }, + { + "hexValue": "5d", + "id": 28728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5732:3:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + }, + "value": "]" + }, + { + "hexValue": "7d", + "id": 28729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5749:3:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", + "typeString": "literal_string \"}\"" + }, + "value": "}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a91eddf639b0b768929589c1a9fd21dcb0107199bdd82e55c5348018a1572f52", + "typeString": "literal_string \"{\"" + }, + { + "typeIdentifier": "t_stringliteral_2f244923e3a2945d1f3765cea5e0a3de7d9e71a45a9330ec64beed42d7b4c510", + "typeString": "literal_string \"\"name\":\"Foundry Test App\",\"" + }, + { + "typeIdentifier": "t_stringliteral_418e613a9f37f8cb8167f5effec66e79d5ed5eea524a677d9645f78dcc9755ee", + "typeString": "literal_string \"\"description\":\"This is a test application submitted by foundry tests.\",\"" + }, + { + "typeIdentifier": "t_stringliteral_1b2b16a9b946f06e794f6abe9479b90d9175e9819a299d4762096af0b8afb174", + "typeString": "literal_string \"\"owner\":\"0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84\",\"" + }, + { + "typeIdentifier": "t_stringliteral_744ec083ebd84a884622ce1c5cddce1c550fe49216b2df736672e3dbaf742bfd", + "typeString": "literal_string \"\"external_url\":\"https://fleek.xyz\",\"" + }, + { + "typeIdentifier": "t_stringliteral_179f151bf7259e1a7ca9ef12e360cff715bc0161e715266b42933eadb66b2546", + "typeString": "literal_string \"\"image\":\"https://fleek.xyz\",\"" + }, + { + "typeIdentifier": "t_stringliteral_a9d6c84473de3f3a866c16d436066b8d4df325a647d2d3a768ffba45df210f3c", + "typeString": "literal_string \"\"attributes\": [\"" + }, + { + "typeIdentifier": "t_stringliteral_fdbba960a67a13517a91d7bf9c8f31ab3d363b527cc71e6198949323288bd94e", + "typeString": "literal_string \"{\"trait_type\": \"ENS\", \"value\":\"fleek_xyz\"},\"" + }, + { + "typeIdentifier": "t_stringliteral_08d650cd8878d29ee982d0d6162fdd022222f0bc673214327f700284f6d1a217", + "typeString": "literal_string \"{\"trait_type\": \"Commit Hash\", \"value\":\"afff3f6\"},\"" + }, + { + "typeIdentifier": "t_stringliteral_a57e9da6b6cf14a814be17c6fbe597744a0c69910e5dd7b88e821e286a01941d", + "typeString": "literal_string \"{\"trait_type\": \"Repository\", \"value\":\"https://github.com/fleekxyz/contracts\"},\"" + }, + { + "typeIdentifier": "t_stringliteral_f2a7acdda6d2074ec713929713452b8bf97fa4b6550c62c1629b45338d12d6cb", + "typeString": "literal_string \"{\"trait_type\": \"Version\", \"value\":\"0\"}\"" + }, + { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + }, + { + "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", + "typeString": "literal_string \"}\"" + } + ], + "expression": { + "id": 28715, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5029:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5033:12:30", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5029:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5029:733:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5006:756:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 28735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5805:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 28733, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "5782:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5796:8:30", + "memberName": "tokenURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 438, + "src": "5782:22:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) view external returns (string memory)" + } + }, + "id": 28736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5782:25:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 28741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5833:31:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "arguments": [ + { + "components": [ + { + "id": 28744, + "name": "dataURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28714, + "src": "5881:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 28745, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5880:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 28742, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27277, + "src": "5866:6:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$27277_$", + "typeString": "type(library Base64)" + } + }, + "id": 28743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5873:6:30", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 27276, + "src": "5866:13:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 28746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5866:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 28739, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5816:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5820:12:30", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5816:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5816:75:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 28738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5809:6:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 28737, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5809:6:30", + "typeDescriptions": {} + } + }, + "id": 28748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5809:83:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 28732, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 2385, + "src": "5773:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 28749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5773:120:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28750, + "nodeType": "ExpressionStatement", + "src": "5773:120:30" + } + ] + }, + "functionSelector": "454d4f3a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testFailCallingTokenURIOnNonExistantToken", + "nameLocation": "4945:41:30", + "parameters": { + "id": 28711, + "nodeType": "ParameterList", + "parameters": [], + "src": "4986:2:30" + }, + "returnParameters": { + "id": 28712, + "nodeType": "ParameterList", + "parameters": [], + "src": "4996:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28781, + "nodeType": "FunctionDefinition", + "src": "5906:475:30", + "nodes": [], + "body": { + "id": 28780, + "nodeType": "Block", + "src": "5933:448:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28756 + ], + "declarations": [ + { + "constant": false, + "id": 28756, + "mutability": "mutable", + "name": "mint", + "nameLocation": "5951:4:30", + "nodeType": "VariableDeclaration", + "scope": 28780, + "src": "5943:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5943:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28768, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5990:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6046:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6078:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6148:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6181:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6214:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28765, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6239:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6262:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28757, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "5958:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5972:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "5958:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5958:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5943:368:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28770, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28756, + "src": "6331:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6337:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28769, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "6322:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6322:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28773, + "nodeType": "ExpressionStatement", + "src": "6322:17:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28777, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28756, + "src": "6369:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 28774, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "6350:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6364:4:30", + "memberName": "burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 744, + "src": "6350:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 28778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6350:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28779, + "nodeType": "ExpressionStatement", + "src": "6350:24:30" + } + ] + }, + "functionSelector": "e13aba48", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testBurn", + "nameLocation": "5915:8:30", + "parameters": { + "id": 28753, + "nodeType": "ParameterList", + "parameters": [], + "src": "5923:2:30" + }, + "returnParameters": { + "id": 28754, + "nodeType": "ParameterList", + "parameters": [], + "src": "5933:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28791, + "nodeType": "FunctionDefinition", + "src": "6387:88:30", + "nodes": [], + "body": { + "id": 28790, + "nodeType": "Block", + "src": "6437:38:30", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 28787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6466:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 28784, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "6447:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6461:4:30", + "memberName": "burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 744, + "src": "6447:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 28788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6447:21:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28789, + "nodeType": "ExpressionStatement", + "src": "6447:21:30" + } + ] + }, + "functionSelector": "4c540954", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testFailBurningNonExistantToken", + "nameLocation": "6396:31:30", + "parameters": { + "id": 28782, + "nodeType": "ParameterList", + "parameters": [], + "src": "6427:2:30" + }, + "returnParameters": { + "id": 28783, + "nodeType": "ParameterList", + "parameters": [], + "src": "6437:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28821, + "nodeType": "FunctionDefinition", + "src": "6481:510:30", + "nodes": [], + "body": { + "id": 28820, + "nodeType": "Block", + "src": "6516:475:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28795 + ], + "declarations": [ + { + "constant": false, + "id": 28795, + "mutability": "mutable", + "name": "mint", + "nameLocation": "6534:4:30", + "nodeType": "VariableDeclaration", + "scope": 28820, + "src": "6526:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6526:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28807, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6573:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6629:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6661:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6731:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6764:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6797:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6822:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6845:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28796, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "6541:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6555:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "6541:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6541:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6526:368:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28809, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28795, + "src": "6914:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6920:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28808, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "6905:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6905:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28812, + "nodeType": "ExpressionStatement", + "src": "6905:17:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28816, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28795, + "src": "6960:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "4e455720544f4b454e204e414d4521", + "id": 28817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6966:17:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", + "typeString": "literal_string \"NEW TOKEN NAME!\"" + }, + "value": "NEW TOKEN NAME!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", + "typeString": "literal_string \"NEW TOKEN NAME!\"" + } + ], + "expression": { + "id": 28813, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "6933:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6947:12:30", + "memberName": "setTokenName", + "nodeType": "MemberAccess", + "referencedDeclaration": 610, + "src": "6933:26:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory) external" + } + }, + "id": 28818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6933:51:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28819, + "nodeType": "ExpressionStatement", + "src": "6933:51:30" + } + ] + }, + "functionSelector": "b84446a3", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSetTokenName", + "nameLocation": "6490:16:30", + "parameters": { + "id": 28792, + "nodeType": "ParameterList", + "parameters": [], + "src": "6506:2:30" + }, + "returnParameters": { + "id": 28793, + "nodeType": "ParameterList", + "parameters": [], + "src": "6516:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28851, + "nodeType": "FunctionDefinition", + "src": "6997:524:30", + "nodes": [], + "body": { + "id": 28850, + "nodeType": "Block", + "src": "7039:482:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28825 + ], + "declarations": [ + { + "constant": false, + "id": 28825, + "mutability": "mutable", + "name": "mint", + "nameLocation": "7057:4:30", + "nodeType": "VariableDeclaration", + "scope": 28850, + "src": "7049:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7049:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28837, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7096:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7152:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7184:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7254:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7287:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7320:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7345:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7368:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28826, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "7064:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7078:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "7064:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7064:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7049:368:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28839, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28825, + "src": "7437:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7443:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28838, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "7428:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7428:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28842, + "nodeType": "ExpressionStatement", + "src": "7428:17:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28846, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28825, + "src": "7490:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "4e455720544f4b454e204e414d4521", + "id": 28847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7496:17:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", + "typeString": "literal_string \"NEW TOKEN NAME!\"" + }, + "value": "NEW TOKEN NAME!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_fefaa3698fe886ff3a666fffd9e78235c0e26b156b00bc6979c9a76f80862597", + "typeString": "literal_string \"NEW TOKEN NAME!\"" + } + ], + "expression": { + "id": 28843, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "7456:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7470:19:30", + "memberName": "setTokenDescription", + "nodeType": "MemberAccess", + "referencedDeclaration": 637, + "src": "7456:33:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory) external" + } + }, + "id": 28848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7456:58:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28849, + "nodeType": "ExpressionStatement", + "src": "7456:58:30" + } + ] + }, + "functionSelector": "36d3d58f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSetTokenDescription", + "nameLocation": "7006:23:30", + "parameters": { + "id": 28822, + "nodeType": "ParameterList", + "parameters": [], + "src": "7029:2:30" + }, + "returnParameters": { + "id": 28823, + "nodeType": "ParameterList", + "parameters": [], + "src": "7039:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28881, + "nodeType": "FunctionDefinition", + "src": "7527:517:30", + "nodes": [], + "body": { + "id": 28880, + "nodeType": "Block", + "src": "7563:481:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28855 + ], + "declarations": [ + { + "constant": false, + "id": 28855, + "mutability": "mutable", + "name": "mint", + "nameLocation": "7581:4:30", + "nodeType": "VariableDeclaration", + "scope": 28880, + "src": "7573:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7573:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28867, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7620:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7676:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7708:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7778:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7811:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7844:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7869:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7892:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28856, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "7588:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7602:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "7588:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7588:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7573:368:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28869, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28855, + "src": "7961:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7967:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28868, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "7952:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7952:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28872, + "nodeType": "ExpressionStatement", + "src": "7952:17:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28876, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28855, + "src": "8008:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "68747470733a2f2f657468657265756d2e6f7267", + "id": 28877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8014:22:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", + "typeString": "literal_string \"https://ethereum.org\"" + }, + "value": "https://ethereum.org" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", + "typeString": "literal_string \"https://ethereum.org\"" + } + ], + "expression": { + "id": 28873, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "7980:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7994:13:30", + "memberName": "setTokenImage", + "nodeType": "MemberAccess", + "referencedDeclaration": 664, + "src": "7980:27:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory) external" + } + }, + "id": 28878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7980:57:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28879, + "nodeType": "ExpressionStatement", + "src": "7980:57:30" + } + ] + }, + "functionSelector": "1a6f9349", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSetTokenImage", + "nameLocation": "7536:17:30", + "parameters": { + "id": 28852, + "nodeType": "ParameterList", + "parameters": [], + "src": "7553:2:30" + }, + "returnParameters": { + "id": 28853, + "nodeType": "ParameterList", + "parameters": [], + "src": "7563:0:30" + }, + "scope": 28932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28911, + "nodeType": "FunctionDefinition", + "src": "8050:529:30", + "nodes": [], + "body": { + "id": 28910, + "nodeType": "Block", + "src": "8092:487:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28885 + ], + "declarations": [ + { + "constant": false, + "id": 28885, + "mutability": "mutable", + "name": "mint", + "nameLocation": "8110:4:30", + "nodeType": "VariableDeclaration", + "scope": 28910, + "src": "8102:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8102:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28897, + "initialValue": { + "arguments": [ + { + "hexValue": "307862346337396461423866323539433741656536453562324161373239383231383634323237653834", + "id": 28888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8149:42:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84" + }, + { + "hexValue": "466f756e647279205465737420417070", + "id": 28889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8205:18:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + "value": "Foundry Test App" + }, + { + "hexValue": "5468697320697320612074657374206170706c69636174696f6e207375626d697474656420627920666f756e6472792074657374732e", + "id": 28890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8237:56:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + "value": "This is a test application submitted by foundry tests." + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8307:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "68747470733a2f2f666c65656b2e78797a", + "id": 28892, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8340:19:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + "value": "https://fleek.xyz" + }, + { + "hexValue": "666c65656b5f78797a", + "id": 28893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8373:11:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + "value": "fleek_xyz" + }, + { + "hexValue": "61666666336636", + "id": 28894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8398:9:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + "value": "afff3f6" + }, + { + "hexValue": "68747470733a2f2f6769746875622e636f6d2f666c65656b78797a2f636f6e747261637473", + "id": 28895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8421:39:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + }, + "value": "https://github.com/fleekxyz/contracts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_a358c04d2dce5c99d7d0ef9e266a9765e2b6e47c4ebc54c926a4eadcd9599d20", + "typeString": "literal_string \"Foundry Test App\"" + }, + { + "typeIdentifier": "t_stringliteral_456236abdca76d5b9a616a4379cd1469c574a6b82ea0da01b233522cd95a52d4", + "typeString": "literal_string \"This is a test application submitted by foundry tests.\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_2054adc44db912f363485263a976ce64fb357d7f5fe157bf2ee9ded2472d969a", + "typeString": "literal_string \"https://fleek.xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_93177a633cfdbdc84e5f9d11e99ac90e63f1f865e47ff976d2f5ac82405a28dd", + "typeString": "literal_string \"fleek_xyz\"" + }, + { + "typeIdentifier": "t_stringliteral_af9f155d113a077165a03c15ed05ccb93b3f32cfba220b5f8c2ccd8b3d3ce71b", + "typeString": "literal_string \"afff3f6\"" + }, + { + "typeIdentifier": "t_stringliteral_48813bd2c97b26a509a9b8b87eef7893d259546350f17ccca9e61e2d3b5d3506", + "typeString": "literal_string \"https://github.com/fleekxyz/contracts\"" + } + ], + "expression": { + "id": 28886, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "8117:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8131:4:30", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 312, + "src": "8117:18:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,string memory,string memory,string memory,string memory,string memory,string memory,string memory) payable external returns (uint256)" + } + }, + "id": 28896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8117:353:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8102:368:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28899, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28885, + "src": "8490:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 28900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8496:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 28898, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2693, + 2718, + 2731, + 2747, + 2789, + 2831, + 2873, + 2910, + 2947, + 2984, + 1066, + 1091, + 1121, + 1146, + 1205, + 1230, + 1260, + 1285, + 2385, + 2420 + ], + "referencedDeclaration": 1260, + "src": "8481:8:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8481:17:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28902, + "nodeType": "ExpressionStatement", + "src": "8481:17:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28906, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28885, + "src": "8543:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "68747470733a2f2f657468657265756d2e6f7267", + "id": 28907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8549:22:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", + "typeString": "literal_string \"https://ethereum.org\"" + }, + "value": "https://ethereum.org" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_17c8abf847a04299e0eef8ce54d38d7c7b6114ee7d147e66b17a0dd0b7e333b4", + "typeString": "literal_string \"https://ethereum.org\"" + } + ], + "expression": { + "id": 28903, + "name": "fleekContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28458, + "src": "8509:13:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_FleekERC721_$745", + "typeString": "contract FleekERC721" + } + }, + "id": 28905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8523:19:30", + "memberName": "setTokenExternalURL", + "nodeType": "MemberAccess", + "referencedDeclaration": 556, + "src": "8509:33:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory) external" + } + }, + "id": 28908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8509:63:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28909, + "nodeType": "ExpressionStatement", + "src": "8509:63:30" } ] }, @@ -5753,33 +8847,33 @@ "kind": "function", "modifiers": [], "name": "testSetTokenExternalURL", - "nameLocation": "4300:23:30", + "nameLocation": "8059:23:30", "parameters": { - "id": 28681, + "id": 28882, "nodeType": "ParameterList", "parameters": [], - "src": "4323:2:30" + "src": "8082:2:30" }, "returnParameters": { - "id": 28682, + "id": 28883, "nodeType": "ParameterList", "parameters": [], - "src": "4333:0:30" + "src": "8092:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28714, + "id": 28915, "nodeType": "FunctionDefinition", - "src": "4826:43:30", + "src": "8585:43:30", "nodes": [], "body": { - "id": 28713, + "id": 28914, "nodeType": "Block", - "src": "4862:7:30", + "src": "8621:7:30", "nodes": [], "statements": [] }, @@ -5788,33 +8882,33 @@ "kind": "function", "modifiers": [], "name": "testSetTokenBuild", - "nameLocation": "4835:17:30", + "nameLocation": "8594:17:30", "parameters": { - "id": 28711, + "id": 28912, "nodeType": "ParameterList", "parameters": [], - "src": "4852:2:30" + "src": "8611:2:30" }, "returnParameters": { - "id": 28712, + "id": 28913, "nodeType": "ParameterList", "parameters": [], - "src": "4862:0:30" + "src": "8621:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28718, + "id": 28919, "nodeType": "FunctionDefinition", - "src": "4875:47:30", + "src": "8634:47:30", "nodes": [], "body": { - "id": 28717, + "id": 28918, "nodeType": "Block", - "src": "4915:7:30", + "src": "8674:7:30", "nodes": [], "statements": [] }, @@ -5823,33 +8917,33 @@ "kind": "function", "modifiers": [], "name": "testUpgradeTokenBuild", - "nameLocation": "4884:21:30", + "nameLocation": "8643:21:30", "parameters": { - "id": 28715, + "id": 28916, "nodeType": "ParameterList", "parameters": [], - "src": "4905:2:30" + "src": "8664:2:30" }, "returnParameters": { - "id": 28716, + "id": 28917, "nodeType": "ParameterList", "parameters": [], - "src": "4915:0:30" + "src": "8674:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28722, + "id": 28923, "nodeType": "FunctionDefinition", - "src": "4928:41:30", + "src": "8687:41:30", "nodes": [], "body": { - "id": 28721, + "id": 28922, "nodeType": "Block", - "src": "4962:7:30", + "src": "8721:7:30", "nodes": [], "statements": [] }, @@ -5858,33 +8952,33 @@ "kind": "function", "modifiers": [], "name": "testSetTokenENS", - "nameLocation": "4937:15:30", + "nameLocation": "8696:15:30", "parameters": { - "id": 28719, + "id": 28920, "nodeType": "ParameterList", "parameters": [], - "src": "4952:2:30" + "src": "8711:2:30" }, "returnParameters": { - "id": 28720, + "id": 28921, "nodeType": "ParameterList", "parameters": [], - "src": "4962:0:30" + "src": "8721:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28726, + "id": 28927, "nodeType": "FunctionDefinition", - "src": "4975:48:30", + "src": "8734:48:30", "nodes": [], "body": { - "id": 28725, + "id": 28926, "nodeType": "Block", - "src": "5016:7:30", + "src": "8775:7:30", "nodes": [], "statements": [] }, @@ -5893,33 +8987,33 @@ "kind": "function", "modifiers": [], "name": "testAddTokenController", - "nameLocation": "4984:22:30", + "nameLocation": "8743:22:30", "parameters": { - "id": 28723, + "id": 28924, "nodeType": "ParameterList", "parameters": [], - "src": "5006:2:30" + "src": "8765:2:30" }, "returnParameters": { - "id": 28724, + "id": 28925, "nodeType": "ParameterList", "parameters": [], - "src": "5016:0:30" + "src": "8775:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 28730, + "id": 28931, "nodeType": "FunctionDefinition", - "src": "5029:54:30", + "src": "8788:54:30", "nodes": [], "body": { - "id": 28729, + "id": 28930, "nodeType": "Block", - "src": "5073:10:30", + "src": "8832:10:30", "nodes": [], "statements": [] }, @@ -5928,20 +9022,20 @@ "kind": "function", "modifiers": [], "name": "testRemoveTokenController", - "nameLocation": "5038:25:30", + "nameLocation": "8797:25:30", "parameters": { - "id": 28727, + "id": 28928, "nodeType": "ParameterList", "parameters": [], - "src": "5063:2:30" + "src": "8822:2:30" }, "returnParameters": { - "id": 28728, + "id": 28929, "nodeType": "ParameterList", "parameters": [], - "src": "5073:0:30" + "src": "8832:0:30" }, - "scope": 28731, + "scope": 28932, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -5951,40 +9045,40 @@ "baseContracts": [ { "baseName": { - "id": 28434, + "id": 28454, "name": "Test", "nameLocations": [ "124:4:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8282, + "referencedDeclaration": 8302, "src": "124:4:30" }, - "id": 28435, + "id": 28455, "nodeType": "InheritanceSpecifier", "src": "124:4:30" } ], "canonicalName": "ContractBTest", "contractDependencies": [ - 725 + 745 ], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 28731, - 8282, - 8251, - 5483, - 5094, - 3370, - 2512, + 28932, + 8302, 8271, - 2544 + 5503, + 5114, + 3390, + 2532, + 8291, + 2564 ], "name": "ContractBTest", "nameLocation": "107:13:30", - "scope": 28732, + "scope": 28933, "usedErrors": [] } ] diff --git a/test/foundry/apps.t.sol b/test/foundry/apps.t.sol index eeb4ee1..5881448 100644 --- a/test/foundry/apps.t.sol +++ b/test/foundry/apps.t.sol @@ -9,11 +9,7 @@ contract ContractBTest is Test { function setUp() public { fleekContract = new FleekERC721('Test Contract', 'FLKAPS'); } - - function testCollectionOwner() public { - assertEq(fleekContract.COLLECTION_OWNER_ROLE, keccak256('0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84')); - } - + function testName() public { assertEq(fleekContract.name(), 'Test Contract'); }