4 txs
4 calls
constructor
constructor(address editionContractAddress_, address zorbitContractAddress_, address zopepenContextContractAddress_, uint8[] torsoXCoords_, uint8[] torsoYLineCounts_, (string name, string description, string contractImage, string sellerFeeBasisPoints, string sellerFeeRecipient, string externalUrl, string animationUrl) contractMetadata_)
functions
collectiveZorbIds
viewfunction collectiveZorbIds() view returns (uint256[])
constructTokenURI
viewfunction constructTokenURI(uint256 editionId) view returns (string)
contractURI
viewfunction contractURI() view returns (string)
editionContractAddress
viewfunction editionContractAddress() view returns (address)
editionPriceIncreaseAmount
viewfunction editionPriceIncreaseAmount() view returns (uint256)
editionSVG
viewfunction editionSVG(uint256 editionId) view returns (string)
isEditionIdZorbited
viewfunction isEditionIdZorbited(uint256 editionId) view returns (bool)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
zopepenContextContractAddress
viewfunction zopepenContextContractAddress() view returns (address)
zorbitContractAddress
viewfunction zorbitContractAddress() view returns (address)
zorbitedEditionIds
viewfunction zorbitedEditionIds() view returns (uint256[])
zorbNodeIdsInCollectiveZorb
viewfunction zorbNodeIdsInCollectiveZorb(uint256 collectiveZorbId) view returns (uint256[])
initializeWithData
nonpayablefunction initializeWithData(bytes data)
mintManyZorbitsWithManyEditions
nonpayablefunction mintManyZorbitsWithManyEditions(uint256[] editionIds)
mintZorbitWithEdition
nonpayablefunction mintZorbitWithEdition(uint256 editionId)
setContractMetadata
nonpayablefunction setContractMetadata(tuple contractMetadata_)
setEditionPriceIncreaseAmount
nonpayablefunction setEditionPriceIncreaseAmount(uint256 amount)
setTokenContractAddress
nonpayablefunction setTokenContractAddress(address addr)
setZopepenContextContractAddress
nonpayablefunction setZopepenContextContractAddress(address addr)
updateGridDuration
nonpayablefunction updateGridDuration()
events
GridDurBlockUpdated
event GridDurBlockUpdated(uint256 blockNumber)
ZorbitMintedWithEditionId
event ZorbitMintedWithEditionId(uint256 editionId, uint256 collectiveZorbId, uint256 zorbitId)
errors
Access_OnlyAdmin
error Access_OnlyAdmin()
Access_OnlyContractOwner
error Access_OnlyContractOwner()
Access_OnlyTokenOwner
error Access_OnlyTokenOwner()
EditionIneligibleToMintZorbit
error EditionIneligibleToMintZorbit()
TokenNotFound
error TokenNotFound()
creation bytecode
0x6601c6bf526340006003556006805460ff19166004908117909155610100604090815260206080908152603060a05260c091909152605060e05262000048916009919062000200565b503480156200005657600080fd5b50604051620066443803806200664483398101604081905262000079916200050f565b60048054336001600160a01b0319918216179091556000805482166001600160a01b0389811691909117909155600280548316888316179055600180549092169086161790558251620000d49060079060208601906200029a565b508151620000ea9060089060208501906200029a565b5080518190600b90819062000100908262000785565b506020820151600182019062000117908262000785565b50604082015160028201906200012e908262000785565b506060820151600382019062000145908262000785565b50608082015160048201906200015c908262000785565b5060a0820151600582019062000173908262000785565b5060c082015160068201906200018a908262000785565b50506040805160006020808301828152838501909452928252600a80546001810182559152815180519294507fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890910192620001ec9284929091019062000303565b505043600555506200085195505050505050565b600183019183908215620002885791602002820160005b838211156200025757835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000217565b8015620002865782816101000a81549060ff021916905560010160208160000104928301926001030262000257565b505b506200029692915062000341565b5090565b82805482825590600052602060002090601f0160209004810192821562000288579160200282016000838211156200025757835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000217565b82805482825590600052602060002090810192821562000288579160200282015b828111156200028857825182559160200191906001019062000324565b5b8082111562000296576000815560010162000342565b80516001600160a01b03811681146200037057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715620003b057620003b062000375565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620003e157620003e162000375565b604052919050565b600082601f830112620003fb57600080fd5b815160206001600160401b0382111562000419576200041962000375565b8160051b6200042a828201620003b6565b92835284810182019282810190878511156200044557600080fd5b83870192505b848310156200047757825160ff81168114620004675760008081fd5b825291830191908301906200044b565b979650505050505050565b600082601f8301126200049457600080fd5b81516001600160401b03811115620004b057620004b062000375565b6020620004c6601f8301601f19168201620003b6565b8281528582848701011115620004db57600080fd5b60005b83811015620004fb578581018301518282018401528201620004de565b506000928101909101919091529392505050565b60008060008060008060c087890312156200052957600080fd5b620005348762000358565b9550620005446020880162000358565b9450620005546040880162000358565b60608801519094506001600160401b03808211156200057257600080fd5b620005808a838b01620003e9565b945060808901519150808211156200059757600080fd5b620005a58a838b01620003e9565b935060a0890151915080821115620005bc57600080fd5b9088019060e0828b031215620005d157600080fd5b620005db6200038b565b825182811115620005eb57600080fd5b620005f98c82860162000482565b8252506020830151828111156200060f57600080fd5b6200061d8c82860162000482565b6020830152506040830151828111156200063657600080fd5b620006448c82860162000482565b6040830152506060830151828111156200065d57600080fd5b6200066b8c82860162000482565b6060830152506080830151828111156200068457600080fd5b620006928c82860162000482565b60808301525060a083015182811115620006ab57600080fd5b620006b98c82860162000482565b60a08301525060c083015182811115620006d257600080fd5b620006e08c82860162000482565b60c0830152508093505050509295509295509295565b600181811c908216806200070b57607f821691505b6020821081036200072c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200078057600081815260208120601f850160051c810160208610156200075b5750805b601f850160051c820191505b818110156200077c5782815560010162000767565b5050505b505050565b81516001600160401b03811115620007a157620007a162000375565b620007b981620007b28454620006f6565b8462000732565b602080601f831160018114620007f15760008415620007d85750858301515b600019600386901b1c1916600185901b1785556200077c565b600085815260208120601f198616915b82811015620008225788860151825594840194600190910190840162000801565b5085821015620008415787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615de380620008616000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063894b4c2e116100ad578063c53dd24c11610071578063c53dd24c1461028e578063c87b56dd14610296578063e4f8d5c7146102a9578063e8a3d485146102b1578063ef14da95146102b957600080fd5b8063894b4c2e1461021f5780638ecdf3da146102325780639fd7d87414610245578063b23d485414610268578063c39e5e651461027b57600080fd5b80634f430c78116100f45780634f430c781461019d5780635a238928146101c85780636a6233be146101db5780636bbc24aa146101fb578063856a7ffa1461020e57600080fd5b806305ce7e50146101315780631a813b5a1461014f578063438a23cf14610162578063438e2386146101775780634c1e28821461018a575b600080fd5b6101396102d0565b60405161014691906144e6565b60405180910390f35b61013961015d36600461452a565b610376565b61017561017036600461452a565b6104b6565b005b6101756101853660046145fb565b6104e6565b610175610198366004614707565b61052a565b6002546101b0906001600160a01b031681565b6040516001600160a01b039091168152602001610146565b6101756101d6366004614861565b61064f565b6101ee6101e936600461452a565b6106a9565b60405161014691906148a2565b6000546101b0906001600160a01b031681565b61017561021c3660046148d5565b50565b6101ee61022d36600461452a565b610b67565b6001546101b0906001600160a01b031681565b61025861025336600461452a565b610daf565b6040519015158152602001610146565b610175610276366004614861565b610dd3565b61017561028936600461452a565b610e2d565b6101396110d2565b6101ee6102a436600461452a565b6111c4565b610175611268565b6101ee6112a3565b6102c260035481565b604051908152602001610146565b600a546060906000906102e590600190614934565b67ffffffffffffffff8111156102fd576102fd614543565b604051908082528060200260200182016040528015610326578160200160208202803683370190505b50905060015b600a54811015610370578082610343600183614934565b8151811061035357610353614947565b6020908102919091010152806103688161495d565b91505061032c565b50919050565b60065460609060009060ff1667ffffffffffffffff81111561039a5761039a614543565b6040519080825280602002602001820160405280156103c3578160200160208202803683370190505b509050826000036103d45792915050565b60005b60065460ff168110156104af57600a84815481106103f7576103f7614947565b60009182526020909120015481101561047c5760126000600a868154811061042157610421614947565b90600052602060002001600001838154811061043f5761043f614947565b906000526020600020015481526020019081526020016000205482828151811061046b5761046b614947565b60200260200101818152505061049d565b600082828151811061049057610490614947565b6020026020010181815250505b806104a78161495d565b9150506103d7565b5092915050565b6004546001600160a01b031633146104e157604051636187824d60e11b815260040160405180910390fd5b600355565b60005b81518110156105265761051482828151811061050757610507614947565b6020026020010151610e2d565b8061051e8161495d565b9150506104e9565b5050565b6000546001600160a01b03163381148015906105ab5750604051630935e01b60e21b81523360048201526001600160a01b038216906324d7806c90602401602060405180830381865afa158015610585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a99190614986565b155b156105c9576040516302bd6bd160e01b815260040160405180910390fd5b8151600b906105d89082614a23565b506020820151600c906105eb9082614a23565b506040820151600d906105fe9082614a23565b506060820151600e906106119082614a23565b506080820151600f906106249082614a23565b5060a08201516010906106379082614a23565b5060c082015160119061064a9082614a23565b505050565b6004546001600160a01b0316331461067a57604051636187824d60e11b815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600081815260136020526040902054606090819080156109fe57600080600260009054906101000a90046001600160a01b03166001600160a01b031663eefd82ae6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073d9190614ae3565b6001600160a01b03166303171b356040518163ffffffff1660e01b8152600401600060405180830381865afa15801561077a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a29190810190614b76565b915091506109f5836107e56107b6866112ef565b600654600a805460ff90921691899081106107d3576107d3614947565b60009182526020909120015414611379565b8484600780548060200260200160405190810160405280929190818152602001828054801561085157602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116108225790505b505050505060088054806020026020016040519081016040528092919081815260200182805480156108c057602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116108915790505b5050600654600a805460ff909216945092508d915081106108e3576108e3614947565b6000918252602090912001541461090a576109056109008b6112ef565b6114b0565b61091b565b604051806020016040528060008152505b60405160200161092b9190614bf6565b60408051601f19818403018152919052600654600a805460ff909216918d90811061095857610958614947565b6000918252602090912001541480156109f05750600160009054906101000a90046001600160a01b03166001600160a01b031663f83161018f6040518263ffffffff1660e01b81526004016109af91815260200190565b602060405180830381865afa1580156109cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f09190614986565b61166d565b93505050610b37565b6002546040805163777ec15760e11b81529051610b34926001600160a01b03169163eefd82ae9160048083019260209291908290030181865afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190614ae3565b6001600160a01b0316632d15c0296040518163ffffffff1660e01b8152600401600060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad29190810190614c12565b60408051608081019182905290600990600490826000855b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610aea5790505050505050610b26846112ef565b60055460065460ff166116d5565b91505b610b5f82604051602001610b4b9190614bf6565b6040516020818303038152906040526119ad565b949350505050565b600081815260136020526040812054606091610b8282611b12565b604051602001610b929190614c80565b60408051601f1981840301815291905290506000610d86600b610bb487611b12565b610bbd886106a9565b604051610bcf90600c90602001614d38565b60408051601f19818403018152919052600654600a805460ff909216918a908110610bfc57610bfc614947565b60009182526020909120015414610c32576040518060400160405280600781526020016622b234ba34b7b760c91b815250610c34565b865b600654600a805460ff909216918b908110610c5157610c51614947565b600091825260209091200154148015610cd2575060015460405163f831610160e01b8152600481018d90526001600160a01b039091169063f831610190602401602060405180830381865afa158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd29190614986565b610ceb5760405180602001604052806000815250610d54565b604051602001610d44907f2c207b202274726169745f74797065223a20224d4f4445222c202276616c756581527f223a20225a6f706570656e22207d0000000000000000000000000000000000006020820152602e0190565b6040516020818303038152906040525b604051602001610d65929190614d44565b60408051601f1981840301815290829052610b4b9594939291602001614db6565b604051602001610d969190614ed3565b60408051601f1981840301815291905295945050505050565b60008181526013602052604081205415610dcb57506001919050565b506000919050565b6004546001600160a01b03163314610dfe57604051636187824d60e11b815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60008060009054906101000a90046001600160a01b03166001600160a01b0316633474a4a66040518163ffffffff1660e01b815260040161016060405180830381865afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190614f30565b61012001519050610eb682610daf565b80610eca57506001821080610eca57508082115b15610ee8576040516316c3d1d360e11b815260040160405180910390fd5b600080546040516331a9108f60e11b8152600481018590526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190614ae3565b90506001600160a01b0381163314610f8057604051622ba06760e01b815260040160405180910390fd5b6000610f8a611bb2565b90506000600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110079190614fe9565b9050600a828154811061101c5761101c614947565b6000918252602080832090910180546001810182559083528183200187905586825260138152604080832085905560129091529020819055600654600a805460ff909216918490811061107157611071614947565b6000918252602090912001540361108a5761108a611d4d565b60408051868152602081018490529081018290527f133adc3acb9659ac920bbffafe8d21700e1ac7f75f46a4f493b996783a5f50ef9060600160405180910390a15050505050565b600654600a546060916000916110eb9160ff1690615002565b67ffffffffffffffff81111561110357611103614543565b60405190808252806020026020018201604052801561112c578160200160208202803683370190505b50905060015b600654600a546111459160ff1690615002565b81101561037057600a818154811061115f5761115f614947565b9060005260206000200160000160008154811061117e5761117e614947565b9060005260206000200154826001836111979190614934565b815181106111a7576111a7614947565b6020908102919091010152806111bc8161495d565b915050611132565b6000805460408051631a3a525360e11b81529051606093926001600160a01b031691633474a4a6916004808301926101609291908290030181865afa158015611211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112359190614f30565b610120015190508281101561125d57604051630cbdb7b360e41b815260040160405180910390fd5b6000610b5f84610b67565b4360058190556040519081527fe699bce29f86e37bd6e1e66bbd4fb55de44e17d4583d5b4534395694c59f15209060200160405180910390a1565b6040516060906112cb90610b4b90600b90600c90600d90600e90600f90601190602001615019565b6040516020016112db9190614ed3565b604051602081830303815290604052905090565b606060006112fc83610376565b6002546040516317f14f2160e31b81529192506001600160a01b03169063bf8a79089061132d9084906004016144e6565b600060405180830381865afa15801561134a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611372919081019061512e565b9392505050565b606060008351600461138b9190615002565b67ffffffffffffffff8111156113a3576113a3614543565b6040519080825280602002602001820160405280156113d657816020015b60608152602001906001900390816113c15790505b50905060005b84518110156114a6576113ed61445f565b841561141c5761141586838151811061140857611408614947565b6020026020010151611fa8565b9050611429565b6114266000611fa8565b90505b60005b60048110156114915781816004811061144757611447614947565b60200201518482611459866004615002565b61146391906151bd565b8151811061147357611473614947565b602002602001018190525080806114899061495d565b91505061142c565b5050808061149e9061495d565b9150506113dc565b5090505b92915050565b60608060006114bf6000611fa8565b905060005b84518110156116645760608060006001600160a01b03168784815181106114ed576114ed614947565b60200260200101516001600160a01b03160361154d57604051806040016040528060078152602001660466470647064760cb1b815250915060405180604001604052806008815260200167233238323832383b60c01b81525090506115e0565b83836004811061155f5761155f614947565b60200201516040516020016115749190614bf6565b604051602081830303815290604052915060005b60048110156115de57818582600481106115a4576115a4614947565b60200201516040516020016115ba9291906151d0565b604051602081830303815290604052915080806115d69061495d565b915050611588565b505b83516040516115f39183916020016151d0565b60408051601f198184030181529190529050846116196116148560136151bd565b611b12565b838361162a6116148861012c615002565b60405160200161163e95949392919061520b565b60405160208183030381529060405294505050808061165c9061495d565b9150506114c4565b50909392505050565b6060600061167d88888b8d61201a565b90506116c78a82888887898f60038151811061169b5761169b614947565b60200260200101516040516020016116b39190614bf6565b60405160208183030381529060405261228c565b9a9950505050505050505050565b606060006116ee6116e7866000611379565b878661240d565b905060006040516020016117e3907f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d223130302522206865696768743d2231303060208201527f25222066696c6c3d226e6f6e65222076696577426f783d22302030203637302060408201527f363730222073686170652d72656e646572696e673d226372697370456467657360608201527f223e3c726563742077696474683d2236373022206865696768743d223637302260808201527f2066696c6c3d2223303030222f3e00000000000000000000000000000000000060a082015260ae0190565b60408051601f1981840301815290829052611802918a90602001615380565b60408051601f1981840301815291905290506000604c601f825b8760ff1681101561197c5760006118368461ffff16611b12565b6118438461ffff16611b12565b6040516020016118549291906153f0565b604051602081830303815290604052905060005b60048110156118f457600088878151811061188557611885614947565b602002602001015160405160200161189d9190614bf6565b604051602081830303815290604052905082816040516020016118c19291906154cf565b604051602081830303815290604052925086806118dd9061495d565b9750505080806118ec9061495d565b915050611868565b508060405160200161190691906154fe565b6040516020818303038152906040529050858160405160200161192a9291906154cf565b60405160208183030381529060405295508160010361195a57604c935061195361013484615528565b9250611969565b61196661010c85615528565b93505b50806119748161495d565b91505061181c565b508360405160200161198e91906154fe565b60408051808303601f190181529190529b9a5050505050505050505050565b606081516000036119cc57505060408051602081019091526000815290565b6000604051806060016040528060408152602001615d6e60409139905060006003845160026119fb91906151bd565b611a059190615559565b611a10906004615002565b90506000611a1f8260206151bd565b67ffffffffffffffff811115611a3757611a37614543565b6040519080825280601f01601f191660200182016040528015611a61576020820181803683370190505b509050818152600183018586518101602084015b81831015611acd576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f8116850151825350600101611a75565b600389510660018114611ae75760028114611af857611b04565b613d3d60f01b600119830152611b04565b603d60f81b6000198301525b509398975050505050505050565b60606000611b1f836124ef565b600101905060008167ffffffffffffffff811115611b3f57611b3f614543565b6040519080825280601f01601f191660200182016040528015611b69576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611b7357509392505050565b600a54600090600103611c24576040805160006020808301828152838501909452928252600a805460018101825591528151805192937fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890920192611c1a9284920190614486565b5050506001905090565b600a805460009190611c3890600190614934565b81548110611c4857611c48614947565b9060005260206000200160405180602001604052908160008201805480602002602001604051908101604052809291908181526020018280548015611cac57602002820191906000526020600020905b815481526020019060010190808311611c98575b50505091909252505060065482515192935060ff16909110159050611ce057600a54611cda90600190614934565b91505090565b6040805160006020808301828152838501909452928252600a805460018101825591528151805192937fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890920192611d3b9284920190614486565b5050600a54611cda9150600190614934565b60008054604051630935e01b60e21b81523060048201526001600160a01b03909116906324d7806c90602401602060405180830381865afa158015611d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dba9190614986565b905080611e335760405162461bcd60e51b815260206004820152603560248201527f5468697320636f6e7472616374206973206e6f7420616e2061646d696e206f6e60448201527f207468652065646974696f6e20636f6e74726163740000000000000000000000606482015260840160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316633474a4a66040518163ffffffff1660e01b815260040161016060405180830381865afa158015611e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eac9190614f30565b905060006003548260400151611ec291906151bd565b6000546101008401516060850151608086015160a087015160c088015160e08901516040517fffdb71630000000000000000000000000000000000000000000000000000000081526cffffffffffffffffffffffffff8916600482015263ffffffff909616602487015267ffffffffffffffff9485166044870152928416606486015290831660848501529190911660a483015260c48201529192506001600160a01b03169063ffdb71639060e401600060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b50505050505050565b611fb061445f565b6001600160a01b038216611fc6576114aa6125d1565b60ff828116066001600160a01b0383166000611ff26001610167611fed601386901a611b12565b61262e565b90506000601960ff85160660010160ff169050612010848383612682565b9695505050505050565b606060018080600061202c87876126e2565b9050606060005b8a518160ff16101561225a578961204b60018761556d565b60ff168151811061205e5761205e614947565b602002602001015160ff1660000361207e578461207a81615586565b9550505b8189600260018c516120909190614934565b61209a9190615559565b6120e46120ad6116148d60ff88166151bd565b6120b68d611b12565b6040516020016120c69190614bf6565b6040516020818303038152906040528051906020012060001c612973565b6120f19060ff8a166151bd565b6120fb91906155a5565b8151811061210b5761210b614947565b60200260200101516121576116148b6121468d60405160200161213091815260200190565b60405160208183030381529060405260046129a1565b8a60ff168760ff168b60ff166129b7565b61217f8e8560ff168151811061216f5761216f614947565b602002602001015160ff16611b12565b61218b8960ff16611b12565b60405160200161219e94939291906155b9565b60408051601f19818403018152908290526121bc92916020016154cf565b60408051601f198184030181529190529150896121da60018761556d565b60ff16815181106121ed576121ed614947565b602002602001015160ff168660ff161015612214578561220c81615586565b965050612226565b8461221e81615586565b955050600195505b60198460ff161061223a5760019350612248565b8361224481615586565b9450505b8061225281615586565b915050612033565b50818160405160200161226e92919061568a565b60405160208183030381529060405295505050505050949350505050565b60606000876040516020016122a191906156de565b6040516020818303038152906040529050606085156122ee5760006122c88b8a8a88612bcb565b9050806040516020016122db919061574b565b6040516020818303038152906040529150505b6040516020016123cc907f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d223130302522206865696768743d2231303060208201527f25222066696c6c3d226e6f6e65222076696577426f783d22302030203433203460408201527f33222073686170652d72656e646572696e673d2263726973704564676573223e60608201527f3c726563742077696474683d22343322206865696768743d223433222066696c608082015269361e911198181811179f60b11b60a082015260aa0190565b60408051601f19818403018152908290526123ef918490849089906020016157ba565b60405160208183030381529060405292505050979650505050505050565b6060600080855167ffffffffffffffff81111561242c5761242c614543565b60405190808252806020026020018201604052801561245f57816020015b606081526020019060019003908161244a5790505b50905060005b600487516124739190615559565b8110156124e55760005b60048110156124d257612494888260008a8a612d01565b8385815181106124a6576124a6614947565b602002602001018190525083806124bc9061495d565b94505080806124ca9061495d565b91505061247d565b50806124dd8161495d565b915050612465565b5095945050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612538577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612564576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061258257662386f26fc10000830492506010015b6305f5e100831061259a576305f5e100830492506008015b61271083106125ae57612710830492506004015b606483106125c0576064830492506002015b600a83106114aa5760010192915050565b6125d961445f565b60405180608001604052806125f1600080600f612de1565b81526020016126036000806019612de1565b8152602001612615600080603c612de1565b8152602001612627600080605a612de1565b9052919050565b60008361263b8185614934565b6126469060016151bd565b61266e8460405160200161265a9190614bf6565b604051602081830303815290604052612e28565b61267891906155a5565b610b5f91906151bd565b61268a61445f565b60405180608001604052806126a26001878787612e59565b81526020016126b46002878787612e59565b81526020016126c66003878787612e59565b81526020016126d86004878787612e59565b9052949350505050565b6060806000612713846040516020016126fd91815260200190565b6040516020818303038152906040526005612973565b61271e9060026151bd565b9050600061272d858784612e8c565b905060008061274561273e88611b12565b6009612973565b9050600061278661161461275a600188614934565b61276690611388615002565b612771600189614934565b61277d906130d4615002565b611fed8c611b12565b905060015b601a81116129655760006127a3611614600184614934565b6127ac85611b12565b6040516020016127bd929190615822565b60408051601f1981840301815291905290506060855b600188516127e19190614934565b81101561283857818882815181106127fb576127fb614947565b60200260200101516040516020016128149291906154cf565b604051602081830303815290604052915080806128309061495d565b9150506127d3565b5060005b86811015612894578188828151811061285757612857614947565b60200260200101516040516020016128709291906154cf565b6040516020818303038152906040529150808061288c9061495d565b91505061283c565b50826001036128c8576128a685611b12565b6040516020016128b69190615877565b60405160208183030381529060405291505b60006128d384611b12565b6128dc85611b12565b8685856040516020016128f39594939291906158a2565b604051602081830303815290604052905089816040516020016129179291906154cf565b604051602081830303815290604052995086806129339061495d565b975050600188516129449190614934565b870361294f57600096505b505050808061295d9061495d565b91505061278b565b509498975050505050505050565b60008160000361298257600191505b8161298c84612e28565b61299691906155a5565b6113729060016151bd565b6000816129ad84612e28565b61137291906155a5565b60008085600003612a7457601a612a15612a056129d76116148b896151bd565b6040516020016129e79190614bf6565b6040516020818303038152906040528051906020012060001c611b12565b612a108860026151bd565b6129a1565b612a1f90876151bd565b11612a5157612a42612a376129d76116148a886151bd565b612a108760026151bd565b612a4c90866151bd565b612a71565b612a71612a5f600287614934565b601a611fed6129d76116148c8a6151bd565b90505b85600103612a7f5750835b85600203612af457601a612aa7612a9c6129d76116148b896151bd565b612a108860066151bd565b612ab190876151bd565b11612ae357612ad4612ac96129d76116148a886151bd565b612a108760066151bd565b612ade90866151bd565b612af1565b612af1612a5f600587614934565b90505b85600303612010576019612b388589604051602001612b1d929190918252602082015260400190565b60408051601f19818403018152919052612a108660026151bd565b612b4290856151bd565b11612b89576040805160208101869052908101889052612b7a9060600160408051601f19818403018152919052612a108560026151bd565b612b8490846151bd565b612bc0565b612bc060016019868a604051602001612bac929190918252602082015260400190565b60405160208183030381529060405261262e565b979650505050505050565b6060600160008083815b88518160ff161015612cf4576000612c186116146000601a858f604051602001612bac92919060f89290921b6001600160f81b0319168252600182015260210190565b88612c318c8560ff168151811061216f5761216f614947565b612c3d8760ff16611b12565b604051602001612c5094939291906159fe565b60405160208183030381529060405290508281604051602001612c749291906154cf565b6040516020818303038152906040529250888560ff1681518110612c9a57612c9a614947565b602002602001015160ff168660ff161015612cc15785612cb981615586565b965050612ce1565b84612ccb81615586565b955050600195508380612cdd90615586565b9450505b5080612cec81615586565b915050612bd5565b5098975050505050505050565b6060806060612d108888613210565b9050612d34858860048110612d2757612d27614947565b602002015160ff16611b12565b8888612d41896004615002565b612d4b91906151bd565b81518110612d5b57612d5b614947565b6020026020010151604051602001612d739190614bf6565b60405160208183030381529060405282612da3612d98610320611388611fed8b611b12565b611614906004615002565b612db16116148c6004614934565b604051602001612dc5959493929190615ac9565b60408051808303601f1901815291905298975050505050505050565b6060612dec84611b12565b612df584611b12565b612dfe84611b12565b604051602001612e1093929190615c1d565b60405160208183030381529060405290509392505050565b600081604051602001612e3b9190614bf6565b60408051601f19818403018152919052805160209091012092915050565b6060612e83612e6a85878686613348565b612e7486886133e5565b612e7e8789613529565b612de1565b95945050505050565b60606000612e9b6004866155a5565b905060008367ffffffffffffffff811115612eb857612eb8614543565b604051908082528060200260200182016040528015612eeb57816020015b6060815260200190600190039081612ed65790505b5090506000606060005b612f00600188614934565b8110156132035760005b60048110156131d657606060005b600481101561313a5760006004612f2f8e8b615002565b612f3991906155a5565b600003612f85578b5182858f612f4f91906151bd565b612f5991906151bd565b83612f6487896151bd565b612f6e91906151bd565b612f789190615002565b612f8291906155a5565b90505b6004612f918e8b615002565b612f9b91906155a5565b600103612ffb57612ff8612fb0856004615002565b612fbb866004615002565b612fc69060036151bd565b8f85612fd2898b6151bd565b612fdc91906151bd565b612fe691906151bd565b604051602001612bac91815260200190565b90505b60046130078e8b615002565b61301191906155a5565b60020361304a57613047613026856000615002565b6130319060016151bd565b61303c866003615002565b612fc69060026151bd565b90505b60046130568e8b615002565b61306091906155a5565b6003036130e9576130e66130756004876155a5565b6130806003856155a5565b61308a9190615002565b6130956004886155a5565b6130a0906004615002565b6130ab9060036151bd565b8f8589896130ba6004836155a5565b6040805160208101969096528501939093526060840191909152608083015260a082015260c001612bac565b90505b828c82815181106130fc576130fc614947565b60200260200101516040516020016131159291906151d0565b60405160208183030381529060405292505080806131329061495d565b915050612f18565b508160000361314b578093506131c3565b85838151811061315d5761315d614947565b602002602001015181856040516020016131789291906154cf565b60408051601f198184030181529082905261319692916020016154cf565b6040516020818303038152906040528684815181106131b7576131b7614947565b60200260200101819052505b50806131ce8161495d565b915050612f0a565b506131e26001846151bd565b9250875183106131f157600092505b806131fb8161495d565b915050612ef5565b5091979650505050505050565b6060808084848151811061322657613226614947565b602002602001015160405160200161323e9190614bf6565b60408051601f198184030181529082905261325c92916020016151d0565b604051602081830303815290604052905060005b84518110156132e6578185828151811061328c5761328c614947565b60200260200101516040516020016132a49190614bf6565b60408051601f19818403018152908290526132c292916020016151d0565b604051602081830303815290604052915080806132de9061495d565b915050613270565b50808484815181106132fa576132fa614947565b60200260200101516040516020016133129190614bf6565b60408051601f198184030181529082905261333092916020016151d0565b60408051808303601f19018152919052949350505050565b6000612e8385600261336060ff8089169084166151bd565b61336a91906155a5565b8660ff1660011461339f578461338660ff808a16908b166151bd565b61339091906155a5565b61339a90876151bd565b6133a1565b855b6040516001600160f81b031960f88b811b821660208401528a901b1660218201526268756560e81b60228201526133e090600f90603290602501612bac565b6135cd565b6000806134296008601486604051602001612bac919060f89190911b6001600160f81b03191681526c39b0ba3ab930ba34b7b726b4b760991b6001820152600e0190565b9050600061346e604b606487604051602001612bac919060f89190911b6001600160f81b03191681526c0e6c2e8eae4c2e8d2dedc9ac2f609b1b6001820152600e0190565b90508360ff1660010361347f575060165b8360ff1660020361348e575060285b612e8361349c600287615c9e565b6134a786600a615cc0565b6134b19085615cdc565b60ff168360ff166135246001896134c8919061556d565b6134d3906019615cc0565b60ff166134e18a6019615cc0565b6040516001600160f81b031960f88e811b821660208401528d901b1660218201526939b0ba3ab930ba34b7b760b11b602282015260ff9190911690602c01612bac565b613718565b60006008600f60ff8416600203613542575060159050601f5b8360ff16600303613555575060239050602f5b8360ff16600403613584576034915061356f600686615c9e565b60ff161561357e576044613581565b604b5b90505b612e83613592600287615c9e565b8360ff168360ff166135c860016063611fed8c6040516020016129e7919060f89190911b6001600160f81b031916815260010190565b613763565b6000806135db600487615c9e565b60ff16905083600082900361364c576136438615613603576135fe82600a615cf5565b61360e565b61360e600083615d1d565b61361b9060ff8716615d3d565b8261362a60ff88166064615d1d565b6136349190615d3d565b61363e9190615cf5565b6137d4565b92505050610b5f565b81600103613673576136438615613668576135fe82601e615cf5565b61360e601e83615d1d565b816002036136cd5761364386156136945761368f826032615cf5565b61369f565b61369f603283615d1d565b6136ab8660ff16613807565b6136b59190615d3d565b826136c28760ff16613807565b61362a906064615d1d565b612bc060808860ff16116136e25760006136e5565b60015b60ff1687156136f557603c6136f9565b603b195b6137039190615d3d565b61370d9083615cf5565b61369f90601e615cf5565b6000808560ff1660000361374b5761372f83613cfd565b60ff169050606481810386028583020104600101915050610b5f565b50816064818103860285830201049695505050505050565b6000808560ff166000036137845761377a83613cfd565b60ff169050613793565b61378d83614059565b60ff1690505b606461379f8583615002565b866137ab846064614934565b6137b59190615002565b6137bf91906151bd565b6137c99190615559565b6120109060016151bd565b6064900560008082126137ed57610168825b0692915050565b6101688260001902816137e6576137e6615543565b919050565b6000600d8261ffff16101561381e57506000919050565b60118261ffff16101561383357506001919050565b60138261ffff16101561384857506002919050565b60158261ffff16101561385d57506003919050565b60178261ffff16101561387257506004919050565b60188261ffff16101561388757506005919050565b60198261ffff16101561389c57506006919050565b601b8261ffff1610156138b157506007919050565b601c8261ffff1610156138c657506008919050565b601d8261ffff1610156138db57506009919050565b601e8261ffff1610156138f05750600a919050565b601f8261ffff1610156139055750600b919050565b60208261ffff16101561391a5750600d919050565b60218261ffff16101561392f5750600e919050565b60228261ffff1610156139445750600f919050565b60238261ffff16101561395957506011919050565b60248261ffff16101561396e57506012919050565b60258261ffff16101561398357506014919050565b60268261ffff16101561399857506015919050565b60278261ffff1610156139ad57506017919050565b60288261ffff1610156139c257506019919050565b60298261ffff1610156139d75750601b919050565b602a8261ffff1610156139ec5750601d919050565b602b8261ffff161015613a015750601f919050565b602c8261ffff161015613a1657506022919050565b602d8261ffff161015613a2b57506024919050565b602e8261ffff161015613a4057506026919050565b602f8261ffff161015613a5557506029919050565b60308261ffff161015613a6a5750602c919050565b60318261ffff161015613a7f5750602f919050565b60328261ffff161015613a9457506032919050565b60338261ffff161015613aa957506034919050565b60348261ffff161015613abe57506037919050565b60358261ffff161015613ad35750603a919050565b60368261ffff161015613ae85750603d919050565b60378261ffff161015613afd5750603f919050565b60388261ffff161015613b1257506041919050565b60398261ffff161015613b2757506044919050565b603a8261ffff161015613b3c57506046919050565b603b8261ffff161015613b5157506048919050565b603c8261ffff161015613b665750604a919050565b603d8261ffff161015613b7b5750604c919050565b603e8261ffff161015613b905750604e919050565b603f8261ffff161015613ba55750604f919050565b60408261ffff161015613bba57506051919050565b60418261ffff161015613bcf57506052919050565b60428261ffff161015613be457506054919050565b60438261ffff161015613bf957506055919050565b60448261ffff161015613c0e57506056919050565b60458261ffff161015613c2357506058919050565b60468261ffff161015613c3857506059919050565b60478261ffff161015613c4d5750605a919050565b60488261ffff161015613c625750605b919050565b604a8261ffff161015613c775750605c919050565b604b8261ffff161015613c8c5750605d919050565b604c8261ffff161015613ca15750605e919050565b604e8261ffff161015613cb65750605f919050565b60508261ffff161015613ccb57506060919050565b60528261ffff161015613ce057506061919050565b60568261ffff161015613cf557506062919050565b506063919050565b60006027821015613d1057506000919050565b602d821015613d2157506001919050565b6031821015613d3257506002919050565b6034821015613d4357506003919050565b6035821015613d5457506004919050565b6036821015613d6557506004919050565b6037821015613d7657506005919050565b6038821015613d8757506005919050565b6039821015613d9857506006919050565b603a821015613da957506006919050565b603b821015613dba57506007919050565b603c821015613dcb57506007919050565b603d821015613ddc57506008919050565b603e821015613ded57506009919050565b603f821015613dfe57506009919050565b6040821015613e0f5750600a919050565b6041821015613e205750600b919050565b6042821015613e315750600c919050565b6043821015613e425750600d919050565b6044821015613e535750600e919050565b6045821015613e645750600f919050565b6046821015613e7557506010919050565b6047821015613e8657506012919050565b6048821015613e9757506013919050565b6049821015613ea857506014919050565b604a821015613eb957506016919050565b604b821015613eca57506017919050565b604c821015613edb57506019919050565b604d821015613eec5750601b919050565b604e821015613efd5750601c919050565b604f821015613f0e5750601e919050565b6050821015613f1f57506020919050565b6051821015613f3057506022919050565b6052821015613f4157506025919050565b6053821015613f5257506027919050565b6054821015613f6357506029919050565b6055821015613f745750602c919050565b6056821015613f855750602f919050565b6057821015613f9657506031919050565b6058821015613fa757506034919050565b6059821015613fb857506037919050565b605a821015613fc95750603b919050565b605b821015613fda5750603e919050565b605c821015613feb57506041919050565b605d821015613ffc57506045919050565b605e82101561400d57506049919050565b605f82101561401e5750604d919050565b606082101561402f57506051919050565b606182101561404057506055919050565b60628210156140515750605a919050565b50605f919050565b6000601682101561406c57506000919050565b601c82101561407d57506001919050565b602082101561408e57506002919050565b602082101561409f57506003919050565b60228210156140b057506003919050565b60248210156140c157506004919050565b60278210156140d257506005919050565b60298210156140e357506006919050565b602b8210156140f457506007919050565b602e82101561410557506009919050565b602f8210156141165750600a919050565b60318210156141275750600b919050565b60328210156141385750600c919050565b60338210156141495750600d919050565b603582101561415a5750600e919050565b603682101561416b5750600f919050565b603782101561417c57506010919050565b603882101561418d57506011919050565b603982101561419e57506012919050565b603a8210156141af57506013919050565b603b8210156141c057506014919050565b603c8210156141d157506015919050565b603d8210156141e257506016919050565b603e8210156141f357506017919050565b603f82101561420457506019919050565b60408210156142155750601a919050565b60418210156142265750601b919050565b60428210156142375750601c919050565b60438210156142485750601e919050565b60448210156142595750601f919050565b604582101561426a57506020919050565b604682101561427b57506022919050565b604782101561428c57506023919050565b604882101561429d57506025919050565b60498210156142ae57506026919050565b604a8210156142bf57506028919050565b604b8210156142d05750602a919050565b604c8210156142e15750602b919050565b604d8210156142f25750602d919050565b604e8210156143035750602f919050565b604f82101561431457506031919050565b605082101561432557506033919050565b605182101561433657506035919050565b605282101561434757506037919050565b605382101561435857506039919050565b60548210156143695750603b919050565b605582101561437a5750603d919050565b605682101561438b5750603f919050565b605782101561439c57506041919050565b60588210156143ad57506044919050565b60598210156143be57506046919050565b605a8210156143cf57506048919050565b605b8210156143e05750604b919050565b605c8210156143f15750604d919050565b605d82101561440257506050919050565b605e82101561441357506053919050565b605f82101561442457506055919050565b606082101561443557506058919050565b60618210156144465750605b919050565b60628210156144575750605e919050565b506061919050565b60405180608001604052806004905b606081526020019060019003908161446e5790505090565b8280548282559060005260206000209081019282156144c1579160200282015b828111156144c15782518255916020019190600101906144a6565b506144cd9291506144d1565b5090565b5b808211156144cd57600081556001016144d2565b6020808252825182820181905260009190848201906040850190845b8181101561451e57835183529284019291840191600101614502565b50909695505050505050565b60006020828403121561453c57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561457c5761457c614543565b60405290565b604051610160810167ffffffffffffffff8111828210171561457c5761457c614543565b604051601f8201601f1916810167ffffffffffffffff811182821017156145cf576145cf614543565b604052919050565b600067ffffffffffffffff8211156145f1576145f1614543565b5060051b60200190565b6000602080838503121561460e57600080fd5b823567ffffffffffffffff81111561462557600080fd5b8301601f8101851361463657600080fd5b8035614649614644826145d7565b6145a6565b81815260059190911b8201830190838101908783111561466857600080fd5b928401925b82841015612bc05783358252928401929084019061466d565b600067ffffffffffffffff8211156146a0576146a0614543565b50601f01601f191660200190565b60006146bc61464484614686565b90508281528383830111156146d057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126146f857600080fd5b611372838335602085016146ae565b60006020828403121561471957600080fd5b813567ffffffffffffffff8082111561473157600080fd5b9083019060e0828603121561474557600080fd5b61474d614559565b82358281111561475c57600080fd5b614768878286016146e7565b82525060208301358281111561477d57600080fd5b614789878286016146e7565b6020830152506040830135828111156147a157600080fd5b6147ad878286016146e7565b6040830152506060830135828111156147c557600080fd5b6147d1878286016146e7565b6060830152506080830135828111156147e957600080fd5b6147f5878286016146e7565b60808301525060a08301358281111561480d57600080fd5b614819878286016146e7565b60a08301525060c08301358281111561483157600080fd5b61483d878286016146e7565b60c08301525095945050505050565b6001600160a01b038116811461021c57600080fd5b60006020828403121561487357600080fd5b81356113728161484c565b60005b83811015614899578181015183820152602001614881565b50506000910152565b60208152600082518060208401526148c181604085016020870161487e565b601f01601f19169190910160400192915050565b6000602082840312156148e757600080fd5b813567ffffffffffffffff8111156148fe57600080fd5b8201601f8101841361490f57600080fd5b610b5f848235602084016146ae565b634e487b7160e01b600052601160045260246000fd5b818103818111156114aa576114aa61491e565b634e487b7160e01b600052603260045260246000fd5b60006001820161496f5761496f61491e565b5060010190565b8051801515811461380257600080fd5b60006020828403121561499857600080fd5b61137282614976565b600181811c908216806149b557607f821691505b60208210810361037057634e487b7160e01b600052602260045260246000fd5b601f82111561064a57600081815260208120601f850160051c810160208610156149fc5750805b601f850160051c820191505b81811015614a1b57828155600101614a08565b505050505050565b815167ffffffffffffffff811115614a3d57614a3d614543565b614a5181614a4b84546149a1565b846149d5565b602080601f831160018114614a865760008415614a6e5750858301515b600019600386901b1c1916600185901b178555614a1b565b600085815260208120601f198616915b82811015614ab557888601518255948401946001909101908401614a96565b5085821015614ad35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215614af557600080fd5b81516113728161484c565b600082601f830112614b1157600080fd5b81516020614b21614644836145d7565b82815260059290921b84018101918181019086841115614b4057600080fd5b8286015b84811015614b6b57805160ff81168114614b5e5760008081fd5b8352918301918301614b44565b509695505050505050565b60008060408385031215614b8957600080fd5b825167ffffffffffffffff80821115614ba157600080fd5b614bad86838701614b00565b93506020850151915080821115614bc357600080fd5b50614bd085828601614b00565b9150509250929050565b60008151614bec81856020860161487e565b9290920192915050565b60008251614c0881846020870161487e565b9190910192915050565b600060208284031215614c2457600080fd5b815167ffffffffffffffff811115614c3b57600080fd5b8201601f81018413614c4c57600080fd5b8051614c5a61464482614686565b818152856020838501011115614c6f57600080fd5b612e8382602083016020860161487e565b7f436f6c6c656374697665205a6f72622000000000000000000000000000000000815260008251614cb881601085016020870161487e565b9190910160100192915050565b60008154614cd2816149a1565b60018281168015614cea5760018114614cff57614d2e565b60ff1984168752821515830287019450614d2e565b8560005260208060002060005b85811015614d255781548a820152908401908201614d0c565b50505082870194505b5050505092915050565b60006113728284614cc5565b7f7b202274726169745f74797065223a202254595045222c202276616c7565223a815261101160f11b602082015260008351614d8781602285016020880161487e565b6222207d60e81b6022918401918201528351614daa81602584016020880161487e565b01602501949350505050565b693d913730b6b2911d101160b11b81526000614dd5600a830188614cc5565b600160fd1b81528651614def816001840160208b0161487e565b7f222c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b600192909101918201526618985cd94d8d0b60ca1b60218201528551614e3d816028840160208a0161487e565b72111610113232b9b1b934b83a34b7b7111d101160691b602892909101918201528451614e7181603b84016020890161487e565b7f222c202261747472696275746573223a205b0000000000000000000000000000603b92909101918201528351614eaf81604d84016020880161487e565b614ec6604d82840101615d7d60f01b815260020190565b9998505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614f0b81601d85016020870161487e565b91909101601d0192915050565b805167ffffffffffffffff8116811461380257600080fd5b60006101608284031215614f4357600080fd5b614f4b614582565b614f5483614976565b8152614f6260208401614976565b602082015260408301516040820152614f7d60608401614f18565b6060820152614f8e60808401614f18565b6080820152614f9f60a08401614f18565b60a0820152614fb060c08401614f18565b60c082015260e0838101519082015261010080840151908201526101208084015190820152610140928301519281019290925250919050565b600060208284031215614ffb57600080fd5b5051919050565b80820281158282048414176114aa576114aa61491e565b693d913730b6b2911d101160b11b81526000615038600a830189614cc5565b72111610113232b9b1b934b83a34b7b7111d101160691b815261505e6013820189614cc5565b6c1116101134b6b0b3b2911d101160991b81529050615080600d820188614cc5565b90507f222c202273656c6c65725f6665655f62617369735f706f696e7473223a20220081526150b2601f820187614cc5565b90507f222c202273656c6c65725f6665655f726563697069656e74223a20220000000081526150e4601c820186614cc5565b90507f222c2022616e696d6174696f6e5f75726c223a2022000000000000000000000081526151166015820185614cc5565b61227d60f01b81526002019998505050505050505050565b6000602080838503121561514157600080fd5b825167ffffffffffffffff81111561515857600080fd5b8301601f8101851361516957600080fd5b8051615177614644826145d7565b81815260059190911b8201830190838101908783111561519657600080fd5b928401925b82841015612bc05783516151ae8161484c565b8252928401929084019061519b565b808201808211156114aa576114aa61491e565b600083516151e281846020880161487e565b8351908301906151f681836020880161487e565b603b60f81b9101908152600101949350505050565b6000865161521d818460208b0161487e565b7f3c726563742077696474683d223122206865696768743d22312220783d220000908301908152865161525781601e840160208b0161487e565b7f2e352220793d223430222066696c6c3d22000000000000000000000000000000601e9290910191820152855161529581602f840160208a0161487e565b7f22207374726f6b653d222332313231323122207374726f6b652d77696474683d602f92909101918201527f222e3035223e3c616e696d617465206174747269627574654e616d653d226669604f8201527f6c6c2220726570656174436f756e743d22696e646566696e697465222076616c606f820152643ab2b99e9160d91b608f820152845161532d81609484016020890161487e565b614ec66153576153516094848601016811103132b3b4b71e9160b91b815260090190565b87614bda565b7f6d7322206475723d22313030306d7322202f3e3c2f726563743e0000000000008152601a0190565b6000835161539281846020880161487e565b7f3c646566733e3c672069643d277a6f7262273e0000000000000000000000000090830190815283516153cc81601384016020880161487e565b6a1e17b39f1e17b232b3399f60a91b60139290910191820152601e01949350505050565b7f3c7376672077696474683d2232353022206865696768743d223330302220766981527f6577426f783d2230203020313136203134302220783d2200000000000000000060208201526000835161544e81603785016020880161487e565b6411103c9e9160d91b603791840191820152835161547381603c84016020880161487e565b7f223e3c726563742077696474683d22393022206865696768743d223131322220603c92909101918201527f783d2231332220793d223134222066696c6c3d2223303530353035222f3e0000605c820152607a01949350505050565b600083516154e181846020880161487e565b8351908301906154f581836020880161487e565b01949350505050565b6000825161551081846020870161487e565b651e17b9bb339f60d11b920191825250600601919050565b61ffff8181168382160190808211156104af576104af61491e565b634e487b7160e01b600052601260045260246000fd5b60008261556857615568615543565b500490565b60ff82811682821603908111156114aa576114aa61491e565b600060ff821660ff810361559c5761559c61491e565b60010192915050565b6000826155b4576155b4615543565b500690565b681e33903334b6361e9160b91b815284516000906155de816009850160208a0161487e565b7f223e3c75736520687265663d2223616e696d5265637400000000000000000000600991840191820152855161561b81601f840160208a0161487e565b6411103c1e9160d91b601f9290910191820152845161564181602484016020890161487e565b6411103c9e9160d91b60249290910191820152835161566781602984016020880161487e565b671110179f1e17b39f60c11b602992909101918201526031019695505050505050565b651e3232b3399f60d11b8152600083516156ab81600685016020880161487e565b661e17b232b3399f60c91b60069184019182015283516156d281600d84016020880161487e565b01600d01949350505050565b7f3c73766720783d22372220793d2238222077696474683d22323922206865696781526a343a1e91191c911f1e339f60a91b60208201526000825161572a81602b85016020870161487e565b691e17b39f1e17b9bb339f60b11b602b939091019283015250603501919050565b7f3c73766720783d2231302220793d223339222077696474683d2232392220686581526c34b3b43a1e91191c911f1e339f60991b60208201526000825161579981602d85016020870161487e565b691e17b39f1e17b9bb339f60b11b602d939091019283015250603701919050565b600085516157cc818460208a0161487e565b8551908301906157e0818360208a0161487e565b85519101906157f381836020890161487e565b845191019061580681836020880161487e565b651e17b9bb339f60d11b91019081526006019695505050505050565b63616e696d60e01b81526000835161584181600485016020880161487e565b6902e626567696e2b302e360b41b600491840191820152835161586b81600e84016020880161487e565b01600e01949350505050565b620302e360ec1b81526000825161589581600385016020870161487e565b9190910160030192915050565b7f3c726563742077696474683d223122206865696768743d2231222069643d22618152661b9a5b549958dd60ca1b6020820152600086516158ea816027850160208b0161487e565b7f223e3c616e696d6174652069643d22616e696d00000000000000000000000000602791840191820152865161592781603a840160208b0161487e565b661110323ab91e9160c91b603a9290910191820152855161594f816041840160208a0161487e565b6a36b991103132b3b4b71e9160a91b60419290910191820152845161597b81604c84016020890161487e565b7f732220726570656174436f756e743d22696e646566696e697465222061747472604c92909101918201527f69627574654e616d653d2266696c6c222076616c7565733d2200000000000000606c8201526159f26159dc6085830186614bda565b6911179f1e17b932b1ba1f60b11b8152600a0190565b98975050505050505050565b7f3c75736520687265663d2223616e696d52656374000000000000000000000000815260008551615a36816014850160208a0161487e565b6711103334b6361e9160c11b6014918401918201528551615a5e81601c840160208a0161487e565b6411103c1e9160d91b601c92909101918201528451615a8481602184016020890161487e565b6411103c9e9160d91b602192909101918201528351615aaa81602684016020880161487e565b631110179f60e11b60269290910191820152602a019695505050505050565b7f3c75736520687265663d22237a6f7262222077696474683d223136302220686581527f696768743d223136302220783d2234332220793d220000000000000000000000602082015260008651615b27816035850160208b0161487e565b6711103334b6361e9160c11b6035918401918201528651615b4f81603d840160208b0161487e565b7f223e3c616e696d617465206174747269627574654e616d653d2266696c6c2220603d92909101918201527f726570656174436f756e743d22696e646566696e697465222076616c7565733d605d820152601160f91b607d8201528551615bbd81607e840160208a0161487e565b661110323ab91e9160c91b607e92909101918201526159f2615c07615c01615be86085850189614bda565b6c36b991103132b3b4b71e91181760991b8152600d0190565b86614bda565b693991179f1e17bab9b29f60b11b8152600a0190565b630d0e6d8560e31b815260008451615c3c81600485016020890161487e565b61016160f51b6004918401918201528451615c5e81600684016020890161487e565b6201296160ed1b600692909101918201528351615c8281600984016020880161487e565b61252960f01b60099290910191820152600b0195945050505050565b600060ff831680615cb157615cb1615543565b8060ff84160691505092915050565b60ff81811683821602908116908181146104af576104af61491e565b60ff81811683821601908111156114aa576114aa61491e565b8082018281126000831280158216821582161715615d1557615d1561491e565b505092915050565b81810360008312801583831316838312821617156104af576104af61491e565b80820260008212600160ff1b84141615615d5957615d5961491e565b81810583148215176114aa576114aa61491e56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220b663e56ed1e4a97782f3c6f3a295697a49f4acfbc1b38b673f2a9ce007f561c764736f6c634300081400330000000000000000000000001d568698f708dcbc4cc5abb9aefdc55376e231090000000000000000000000003d8bee48399c89c7b286786318c9bad4787689b5000000000000000000000000308e5787da735d7388522e5a197a52335087ec3200000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000062000000000000000000000000000000000000000000000000000000000000006c0000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000e5a6f726269742045646974696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c436f6c6c61626f72617469766520626c6f636b636861696e20617274000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d52477357714b58473763737a336d6857527744786d6a42577768487168414b73344c7558636a6431396f346d000000000000000000000000000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000