New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@0xflair/evm-contracts

Package Overview
Dependencies
Maintainers
1
Versions
129
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@0xflair/evm-contracts - npm Package Compare versions

Comparing version 1.9.1 to 1.9.2

13

collections/ERC721/extensions/ERC721AutoIdMinterExtension.json

@@ -202,2 +202,15 @@ {

"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",

@@ -204,0 +217,0 @@ "outputs": [

@@ -201,2 +201,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -203,0 +216,0 @@ {

@@ -389,2 +389,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -391,0 +404,0 @@ {

@@ -215,2 +215,15 @@ {

"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",

@@ -217,0 +230,0 @@ "outputs": [

@@ -201,2 +201,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -203,0 +216,0 @@ {

@@ -201,2 +201,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -203,0 +216,0 @@ {

@@ -201,2 +201,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -203,0 +216,0 @@ {

@@ -363,2 +363,15 @@ {

{
"inputs": [],
"name": "maxSupplyFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -365,0 +378,0 @@ {

2

package.json
{
"name": "@0xflair/evm-contracts",
"version": "1.9.1",
"version": "1.9.2",
"description": "A monorepo containing all evm-based smart contracts and extensions used on Flair platform.",

@@ -5,0 +5,0 @@ "author": "Flair.Finance",

@@ -30,2 +30,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"name()": FunctionFragment;

@@ -64,2 +65,6 @@ "owner()": FunctionFragment;

encodeFunctionData(functionFragment: "maxSupply", values?: undefined): string;
encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(functionFragment: "name", values?: undefined): string;

@@ -124,2 +129,6 @@ encodeFunctionData(functionFragment: "owner", values?: undefined): string;

decodeFunctionResult(functionFragment: "maxSupply", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;

@@ -269,2 +278,4 @@ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
name(overrides?: CallOverrides): Promise<[string]>;

@@ -361,2 +372,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
name(overrides?: CallOverrides): Promise<string>;

@@ -445,2 +458,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
name(overrides?: CallOverrides): Promise<string>;

@@ -602,2 +617,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<BigNumber>;

@@ -698,2 +715,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;

@@ -700,0 +719,0 @@

@@ -30,2 +30,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintFree(address,uint256)": FunctionFragment;

@@ -66,2 +67,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintFree",

@@ -129,2 +134,6 @@ values: [string, BigNumberish]

decodeFunctionResult(functionFragment: "maxSupply", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "mintFree", data: BytesLike): Result;

@@ -275,2 +284,4 @@ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintFree(

@@ -373,2 +384,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintFree(

@@ -463,2 +476,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintFree(

@@ -626,2 +641,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintFree(

@@ -728,2 +745,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintFree(

@@ -730,0 +749,0 @@ to: string,

@@ -44,2 +44,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintByOwner(address,uint256)": FunctionFragment;

@@ -153,2 +154,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintByOwner",

@@ -300,2 +305,6 @@ values: [string, BigNumberish]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintByOwner",

@@ -585,2 +594,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintByOwner(

@@ -811,2 +822,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -1027,2 +1040,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -1341,2 +1356,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintByOwner(

@@ -1559,2 +1576,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintByOwner(

@@ -1561,0 +1580,0 @@ to: string,

@@ -45,2 +45,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintByOwner(address,uint256)": FunctionFragment;

@@ -150,2 +151,6 @@ "mintWithTokenURIsByOwner(address,uint256,string[])": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintByOwner",

@@ -313,2 +318,6 @@ values: [string, BigNumberish]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintByOwner",

@@ -622,2 +631,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintByOwner(

@@ -858,2 +869,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -1086,2 +1099,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -1464,2 +1479,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintByOwner(

@@ -1695,2 +1712,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintByOwner(

@@ -1697,0 +1716,0 @@ to: string,

@@ -37,2 +37,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintWithTokenURIsByOwner(address,uint256,string[])": FunctionFragment;

@@ -105,2 +106,6 @@ "mintWithTokenURIsByRole(address,uint256,string[])": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintWithTokenURIsByOwner",

@@ -207,2 +212,6 @@ values: [string, BigNumberish, string[]]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintWithTokenURIsByOwner",

@@ -415,2 +424,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintWithTokenURIsByOwner(

@@ -564,2 +575,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintWithTokenURIsByOwner(

@@ -705,2 +718,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintWithTokenURIsByOwner(

@@ -976,2 +991,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintWithTokenURIsByOwner(

@@ -1134,2 +1151,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintWithTokenURIsByOwner(

@@ -1136,0 +1155,0 @@ to: string,

@@ -31,2 +31,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"name()": FunctionFragment;

@@ -70,2 +71,6 @@ "owner()": FunctionFragment;

encodeFunctionData(functionFragment: "maxSupply", values?: undefined): string;
encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(functionFragment: "name", values?: undefined): string;

@@ -138,2 +143,6 @@ encodeFunctionData(functionFragment: "owner", values?: undefined): string;

decodeFunctionResult(functionFragment: "maxSupply", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;

@@ -289,2 +298,4 @@ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
name(overrides?: CallOverrides): Promise<[string]>;

@@ -387,2 +398,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
name(overrides?: CallOverrides): Promise<string>;

@@ -477,2 +490,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
name(overrides?: CallOverrides): Promise<string>;

@@ -638,2 +653,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<BigNumber>;

@@ -742,2 +759,4 @@

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;

@@ -744,0 +763,0 @@

@@ -30,2 +30,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintByOwner(address,uint256)": FunctionFragment;

@@ -66,2 +67,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintByOwner",

@@ -130,2 +135,6 @@ values: [string, BigNumberish]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintByOwner",

@@ -278,2 +287,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintByOwner(

@@ -376,2 +387,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -466,2 +479,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByOwner(

@@ -629,2 +644,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintByOwner(

@@ -731,2 +748,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintByOwner(

@@ -733,0 +752,0 @@ to: string,

@@ -31,2 +31,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintPreSale(uint256,bytes32[])": FunctionFragment;

@@ -76,2 +77,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintPreSale",

@@ -176,2 +181,6 @@ values: [BigNumberish, BytesLike[]]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintPreSale",

@@ -360,2 +369,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintPreSale(

@@ -492,2 +503,4 @@ count: BigNumberish,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintPreSale(

@@ -616,2 +629,4 @@ count: BigNumberish,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintPreSale(

@@ -813,2 +828,4 @@ count: BigNumberish,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintPreSale(

@@ -949,2 +966,4 @@ count: BigNumberish,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintPreSale(

@@ -951,0 +970,0 @@ count: BigNumberish,

@@ -31,2 +31,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintPublicSale(address,uint256)": FunctionFragment;

@@ -73,2 +74,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintPublicSale",

@@ -161,2 +166,6 @@ values: [string, BigNumberish]

decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "mintPublicSale",

@@ -333,2 +342,4 @@ data: BytesLike

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintPublicSale(

@@ -452,2 +463,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintPublicSale(

@@ -563,2 +576,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintPublicSale(

@@ -747,2 +762,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintPublicSale(

@@ -870,2 +887,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintPublicSale(

@@ -872,0 +891,0 @@ to: string,

@@ -35,2 +35,3 @@ /* Autogenerated file. Do not edit manually. */

"maxSupply()": FunctionFragment;
"maxSupplyFrozen()": FunctionFragment;
"mintByRole(address,uint256)": FunctionFragment;

@@ -93,2 +94,6 @@ "name()": FunctionFragment;

encodeFunctionData(
functionFragment: "maxSupplyFrozen",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "mintByRole",

@@ -178,2 +183,6 @@ values: [string, BigNumberish]

decodeFunctionResult(functionFragment: "maxSupply", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "maxSupplyFrozen",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "mintByRole", data: BytesLike): Result;

@@ -369,2 +378,4 @@ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;

maxSupplyFrozen(overrides?: CallOverrides): Promise<[boolean]>;
mintByRole(

@@ -497,2 +508,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByRole(

@@ -617,2 +630,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<boolean>;
mintByRole(

@@ -867,2 +882,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<BigNumber>;
mintByRole(

@@ -1004,2 +1021,4 @@ to: string,

maxSupplyFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintByRole(

@@ -1006,0 +1025,0 @@ to: string,

@@ -209,2 +209,15 @@ /* Autogenerated file. Do not edit manually. */

inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",

@@ -211,0 +224,0 @@ outputs: [

@@ -208,2 +208,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -210,0 +223,0 @@ {

@@ -635,2 +635,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -1092,3 +1105,3 @@ {

const _bytecode =
"0x60806040526000600f553480156200001657600080fd5b506040516200422138038062004221833981016040819052620000399162000d14565b610100810151610120820151600d546080840151845160208601516040870151610140880151620000736200006d62000213565b6200022f565b600280546001600160a01b0319166001600160a01b03929092169190911790558051620000a890600390602084019062000a2b565b50620000bb633d96f4ff60e11b6200028a565b620000cd635b5e139f60e01b6200028a565b508151620000e390600490602085019062000a2b565b508051620000f990600590602084019062000a2b565b50508151620001119150600a90602084019062000a2b565b506200012463e91f76a560e01b6200028a565b50600d8190556200013c6330f487b560e11b6200028a565b6200014e6380ac58cd60e01b6200028a565b5062000161631aa1577160e11b6200028a565b6200017363948e2d5360e01b6200028a565b604080518082019091526001600160a01b038316815261ffff821660208201526200019e8162000312565b620001b0633a47bf5160e11b6200028a565b620001c263152a902d60e11b6200028a565b620001d463c69dbd8f60e01b6200028a565b620001e663656cb66560e11b6200028a565b50505062000201632a7c3e4960e01b6200028a60201b60201c565b6200020c81620003f8565b5062001085565b60006200022a6200056260201b620015391760201c565b905090565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6001600160e01b03198082161415620002ea5760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b612710816020015161ffff16106200035b5760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642062707360a81b6044820152606401620002e1565b60408051808201825282516001600160a01b03168082526020808501805161ffff169190930181905260118054600160a01b9092026001600160b01b03199092169092171790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192620003ed92916001600160a01b0392909216825261ffff16602082015260400190565b60405180910390a150565b60006200040660016200059b565b905080156200041f576000805461ff0019166101001790555b8160c00151518260a0015151146200047a5760405162461bcd60e51b815260206004820152601b60248201527f4552433732312f494e56414c49445f494e495449414c5f4152475300000000006044820152606401620002e1565b60e0820151600d5560005b8260a0015151811015620004fa57620004e58360a001518281518110620004b057620004b062000ec1565b60200260200101518460c001518381518110620004d157620004d162000ec1565b60200260200101516200064460201b60201c565b80620004f18162000eed565b91505062000485565b50606082015180516200051691600b9160209091019062000a2b565b5080156200055e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6002546000906001600160a01b031633141562000586575060131936013560601c90565b6200022a620006ee60201b6200155b1760201c565b60008054610100900460ff1615620005fb578160ff166001148015620005d45750620005d230620006f260201b6200155f1760201c565b155b620005f35760405162461bcd60e51b8152600401620002e19062000f0b565b506000919050565b60005460ff808416911610620006255760405162461bcd60e51b8152600401620002e19062000f0b565b506000805460ff191660ff92909216919091179055600190565b919050565b600d548162000652600f5490565b6200065e919062000f59565b1115620006a35760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b6044820152606401620002e1565b60005b81811015620006e9576000620006bb62000701565b9050620006c9848262000720565b620006d362000742565b5080620006e08162000eed565b915050620006a6565b505050565b3390565b6001600160a01b03163b151590565b60006200022a6001600f546200075b60201b6200156e1790919060201c565b6200055e8282604051806020016040528060008152506200077060201b60201c565b600f8054906000620007548362000eed565b9190505550565b600062000769828462000f59565b9392505050565b6200077c8383620007aa565b6200078b6000848484620008f2565b620006e95760405162461bcd60e51b8152600401620002e19062000f74565b6001600160a01b038216620008025760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401620002e1565b6000818152600660205260409020546001600160a01b031615620008695760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401620002e1565b6001600160a01b03821660009081526007602052604081208054600192906200089490849062000f59565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600062000913846001600160a01b0316620006f260201b6200155f1760201c565b1562000a1f576001600160a01b03841663150b7a026200093262000213565b8786866040518563ffffffff1660e01b815260040162000956949392919062000fc6565b602060405180830381600087803b1580156200097157600080fd5b505af1925050508015620009a4575060408051601f3d908101601f19168201909252620009a1918101906200101c565b60015b62000a04573d808015620009d5576040519150601f19603f3d011682016040523d82523d6000602084013e620009da565b606091505b508051620009fc5760405162461bcd60e51b8152600401620002e19062000f74565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905062000a23565b5060015b949350505050565b82805462000a399062001048565b90600052602060002090601f01602090048101928262000a5d576000855562000aa8565b82601f1062000a7857805160ff191683800117855562000aa8565b8280016001018555821562000aa8579182015b8281111562000aa857825182559160200191906001019062000a8b565b5062000ab692915062000aba565b5090565b5b8082111562000ab6576000815560010162000abb565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b038111828210171562000b0d5762000b0d62000ad1565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000b3e5762000b3e62000ad1565b604052919050565b60005b8381101562000b6357818101518382015260200162000b49565b8381111562000b73576000848401525b50505050565b600082601f83011262000b8b57600080fd5b81516001600160401b0381111562000ba75762000ba762000ad1565b62000bbc601f8201601f191660200162000b13565b81815284602083860101111562000bd257600080fd5b62000a2382602083016020870162000b46565b60006001600160401b0382111562000c015762000c0162000ad1565b5060051b60200190565b80516001600160a01b03811681146200063f57600080fd5b600082601f83011262000c3557600080fd5b8151602062000c4e62000c488362000be5565b62000b13565b82815260059290921b8401810191818101908684111562000c6e57600080fd5b8286015b8481101562000c945762000c868162000c0b565b835291830191830162000c72565b509695505050505050565b600082601f83011262000cb157600080fd5b8151602062000cc462000c488362000be5565b82815260059290921b8401810191818101908684111562000ce457600080fd5b8286015b8481101562000c94578051835291830191830162000ce8565b805161ffff811681146200063f57600080fd5b60006020828403121562000d2757600080fd5b81516001600160401b038082111562000d3f57600080fd5b90830190610160828603121562000d5557600080fd5b62000d5f62000ae7565b82518281111562000d6f57600080fd5b62000d7d8782860162000b79565b82525060208301518281111562000d9357600080fd5b62000da18782860162000b79565b60208301525060408301518281111562000dba57600080fd5b62000dc88782860162000b79565b60408301525060608301518281111562000de157600080fd5b62000def8782860162000b79565b60608301525060808301518281111562000e0857600080fd5b62000e168782860162000b79565b60808301525060a08301518281111562000e2f57600080fd5b62000e3d8782860162000c23565b60a08301525060c08301518281111562000e5657600080fd5b62000e648782860162000c9f565b60c08301525060e083015160e0820152610100915062000e8682840162000c0b565b82820152610120915062000e9c82840162000d01565b82820152610140915062000eb282840162000c0b565b91810191909152949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000f045762000f0462000ed7565b5060010190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000821982111562000f6f5762000f6f62000ed7565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018060a01b038087168352808616602084015250836040830152608060608301528251806080840152620010058160a085016020870162000b46565b601f01601f19169190910160a00195945050505050565b6000602082840312156200102f57600080fd5b81516001600160e01b0319811681146200076957600080fd5b600181811c908216806200105d57607f821691505b602082108114156200107f57634e487b7160e01b600052602260045260246000fd5b50919050565b61318c80620010956000396000f3fe608060405234801561001057600080fd5b506004361061020f5760003560e01c806301ffc9a714610214578063059fb6f71461023c5780630653aca51461025157806306fdde0314610293578063081812fc146102a8578063095ea7b3146102c857806316744607146102db57806318160ddd146102e357806323b872dd146102f55780632a55205a146103085780632cd846a01461033a5780632fe388be1461034d5780633542aee2146103605780633574a2dd1461037357806342842e0e146103865780635136dcc71461039957806355f804b3146103ac57806356c022bb146103bf578063572b6c05146103d25780635a9b0b89146103e55780636352211e146104085780636f8b44b01461041b57806370a082311461042e578063715018a6146104415780637313cba9146104495780637885fdc7146104515780637e9803421461047f5780638da5cb5b14610487578063938e3d7b1461048f578063948e2d53146104a257806395d89b41146104aa578063a22cb465146104b2578063a821d908146104c5578063b88d4fde146104d2578063c87b56dd146104e5578063cad96cca146104f8578063d547cfb714610518578063d5abeb0114610520578063da74222814610529578063e7bc82081461053c578063e8a3d48514610544578063e985e9c51461054c578063ef60ceaf1461055f578063f2fde38b14610572578063fb565bfd14610585575b600080fd5b6102276102223660046124a7565b610592565b60405190151581526020015b60405180910390f35b61024f61024a3660046125d8565b6105a3565b005b61026461025f366004612635565b61063a565b60408051825181526020808401516001600160a01b0316908201529181015161ffff1690820152606001610233565b61029b6106bf565b60405161023391906126a6565b6102bb6102b6366004612635565b610751565b60405161023391906126b9565b61024f6102d63660046126cd565b6107d9565b61024f6108fc565b600f545b604051908152602001610233565b61024f6103033660046126f7565b61094a565b61031b610316366004612733565b610982565b604080516001600160a01b039093168352602083019190915201610233565b61024f610348366004612840565b610a47565b61024f61035b3660046129cd565b610b95565b61024f61036e3660046126cd565b610cbc565b61024f610381366004612a4a565b610d05565b61024f6103943660046126f7565b610d57565b61024f6103a7366004612a7e565b610d72565b61024f6103ba366004612a4a565b610e0c565b6002546102bb906001600160a01b031681565b6102276103e0366004612af2565b610e81565b6103ed610e95565b60408051938452602084019290925290820152606001610233565b6102bb610416366004612635565b610fae565b61024f610429366004612635565b611025565b6102e761043c366004612af2565b61108c565b61024f611113565b61029b61115e565b601154610471906001600160a01b03811690600160a01b900461ffff1682565b604051610233929190612b0d565b6102e761116d565b6102bb61117e565b61024f61049d366004612a4a565b611193565b61024f6111e5565b61029b611233565b61024f6104c0366004612b2a565b611242565b6010546102279060ff1681565b61024f6104e0366004612b66565b611254565b61029b6104f3366004612635565b61128d565b61050b610506366004612635565b611298565b6040516102339190612be1565b61029b611353565b6102e7600d5481565b61024f610537366004612af2565b611362565b61024f6113c3565b61029b611411565b61022761055a366004612c42565b611420565b61024f61056d366004612c75565b611433565b61024f610580366004612af2565b61148c565b600c546102279060ff1681565b600061059d8261157a565b92915050565b60005b8151811015610634576105d96105ba6115b6565b8383815181106105cc576105cc612c8d565b60200260200101516115c0565b6105fe5760405162461bcd60e51b81526004016105f590612ca3565b60405180910390fd5b610622848484848151811061061557610615612c8d565b602002602001015161168a565b8061062c81612cdc565b9150506105a6565b50505050565b6040805160608101825260008082526020820181905291810182905290610662601384611814565b6000818152601260209081526040918290208251808401845290546001600160a01b03808216835261ffff600160a01b90920482168385019081528551606081018752968752925116928501929092525116908201529392505050565b6060600480546106ce90612cf7565b80601f01602080910402602001604051908101604052809291908181526020018280546106fa90612cf7565b80156107475780601f1061071c57610100808354040283529160200191610747565b820191906000526020600020905b81548152906001019060200180831161072a57829003601f168201915b5050505050905090565b600061075c82611820565b6107bd5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016105f5565b506000908152600860205260409020546001600160a01b031690565b60006107e482610fae565b9050806001600160a01b0316836001600160a01b031614156108525760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105f5565b806001600160a01b03166108646115b6565b6001600160a01b0316148061088057506108808161055a6115b6565b6108ed5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016105f5565b6108f7838361183d565b505050565b6109046115b6565b6001600160a01b031661091561117e565b6001600160a01b03161461093b5760405162461bcd60e51b81526004016105f590612d2c565b600e805460ff19166001179055565b61095b6109556115b6565b826115c0565b6109775760405162461bcd60e51b81526004016105f590612d61565b6108f783838361168a565b60008281526012602052604081205481906001600160a01b0316156109e7576000848152601260205260409020546001600160a01b03811690612710906109d490600160a01b900461ffff1686612db2565b6109de9190612de7565b91509150610a40565b6011546001600160a01b031615801590610a0d5750601154600160a01b900461ffff1615155b15610a39576011546001600160a01b03811690612710906109d490600160a01b900461ffff1686612db2565b5060009050805b9250929050565b6000610a5360016118ab565b90508015610a6b576000805461ff0019166101001790555b8160c00151518260a001515114610ac25760405162461bcd60e51b815260206004820152601b60248201527a4552433732312f494e56414c49445f494e495449414c5f4152475360281b60448201526064016105f5565b60e0820151600d5560005b8260a0015151811015610b3057610b1e8360a001518281518110610af357610af3612c8d565b60200260200101518460c001518381518110610b1157610b11612c8d565b602002602001015161193f565b80610b2881612cdc565b915050610acd565b5060608201518051610b4a91600b916020909101906123f8565b508015610b91576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b8151835114610be05760405162461bcd60e51b815260206004820152601760248201527608ca49e9abea89ebe988a9c8ea890be9a92a69a82a8869604b1b60448201526064016105f5565b8051835114610c2e5760405162461bcd60e51b815260206004820152601a60248201527908ca49e9abea89e968a9cbe988a9c8ea890be9a92a69a82a886960331b60448201526064016105f5565b60005b815181101561063457610c456105ba6115b6565b610c615760405162461bcd60e51b81526004016105f590612ca3565b610caa848281518110610c7657610c76612c8d565b6020026020010151848381518110610c9057610c90612c8d565b602002602001015184848151811061061557610615612c8d565b80610cb481612cdc565b915050610c31565b610cc46115b6565b6001600160a01b0316610cd561117e565b6001600160a01b031614610cfb5760405162461bcd60e51b81526004016105f590612d2c565b610b91828261193f565b610d0d6115b6565b6001600160a01b0316610d1e61117e565b6001600160a01b031614610d445760405162461bcd60e51b81526004016105f590612d2c565b8051610b9190600a9060208401906123f8565b6108f783838360405180602001604052806000815250611254565b610d7a6115b6565b6001600160a01b0316610d8b61117e565b6001600160a01b031614610db15760405162461bcd60e51b81526004016105f590612d2c565b610b918282808060200260200160405190810160405280939291908181526020016000905b82821015610e0257610df360608302860136819003810190612dfb565b81526020019060010190610dd6565b50505050506119d5565b610e146115b6565b6001600160a01b0316610e2561117e565b6001600160a01b031614610e4b5760405162461bcd60e51b81526004016105f590612d2c565b600c5460ff1615610e6e5760405162461bcd60e51b81526004016105f590612e5f565b8051610b9190600b9060208401906123f8565b6002546001600160a01b0391821691161490565b600080808080610ea36115b6565b6001600160a01b031614610f2e57306370a08231610ebf6115b6565b6040518263ffffffff1660e01b8152600401610edb91906126b9565b60206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190612e88565b90505b600d54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6a57600080fd5b505afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190612e88565b90959094509092509050565b6000818152600660205260408120546001600160a01b03168061059d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016105f5565b61102d6115b6565b6001600160a01b031661103e61117e565b6001600160a01b0316146110645760405162461bcd60e51b81526004016105f590612d2c565b600e5460ff16156110875760405162461bcd60e51b81526004016105f590612e5f565b600d55565b60006001600160a01b0382166110f75760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016105f5565b506001600160a01b031660009081526007602052604090205490565b61111b6115b6565b6001600160a01b031661112c61117e565b6001600160a01b0316146111525760405162461bcd60e51b81526004016105f590612d2c565b61115c6000611b7c565b565b6060600a80546106ce90612cf7565b60006111796013611bd7565b905090565b6000546201000090046001600160a01b031690565b61119b6115b6565b6001600160a01b03166111ac61117e565b6001600160a01b0316146111d25760405162461bcd60e51b81526004016105f590612d2c565b8051610b919060039060208401906123f8565b6111ed6115b6565b6001600160a01b03166111fe61117e565b6001600160a01b0316146112245760405162461bcd60e51b81526004016105f590612d2c565b6010805460ff19166001179055565b6060600580546106ce90612cf7565b610b9161124d6115b6565b8383611be1565b61126561125f6115b6565b836115c0565b6112815760405162461bcd60e51b81526004016105f590612d61565b61063484848484611cac565b606061059d82611cdf565b604080516001808252818301909252606091816020015b60408051808201909152600080825260208201528152602001906001900390816112af57505060115481519192506001600160a01b03169082906000906112f8576112f8612c8d565b60209081029190910101516001600160a01b039190911690526011548151600160a01b90910461ffff1690829060009061133457611334612c8d565b6020908102919091018101516001600160601b03909216910152919050565b6060600b80546106ce90612cf7565b61136a6115b6565b6001600160a01b031661137b61117e565b6001600160a01b0316146113a15760405162461bcd60e51b81526004016105f590612d2c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cb6115b6565b6001600160a01b03166113dc61117e565b6001600160a01b0316146114025760405162461bcd60e51b81526004016105f590612d2c565b600c805460ff19166001179055565b6060600380546106ce90612cf7565b600061142c8383611db8565b9392505050565b61143b6115b6565b6001600160a01b031661144c61117e565b6001600160a01b0316146114725760405162461bcd60e51b81526004016105f590612d2c565b61148961148436839003830183612ea1565b611e1c565b50565b6114946115b6565b6001600160a01b03166114a561117e565b6001600160a01b0316146114cb5760405162461bcd60e51b81526004016105f590612d2c565b6001600160a01b0381166115305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f5565b61148981611b7c565b600061154433610e81565b15611556575060131936013560601c90565b503390565b3390565b6001600160a01b03163b151590565b600061142c8284612efb565b60006301ffc9a760e01b6001600160e01b03198316148061059d5750506001600160e01b03191660009081526001602052604090205460ff1690565b6000611179611539565b60006115cb82611820565b61162c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016105f5565b600061163783610fae565b9050806001600160a01b0316846001600160a01b0316148061165e575061165e8185611420565b806116825750836001600160a01b031661167784610751565b6001600160a01b0316145b949350505050565b826001600160a01b031661169d82610fae565b6001600160a01b0316146117015760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105f5565b6001600160a01b0382166117635760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105f5565b61176e60008261183d565b6001600160a01b0383166000908152600760205260408120805460019290611797908490612f13565b90915550506001600160a01b03821660009081526007602052604081208054600192906117c5908490612efb565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061313783398151915291a4505050565b600061142c8383611ec7565b6000908152600660205260409020546001600160a01b0316151590565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061187282610fae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008054610100900460ff16156118f9578160ff1660011480156118d557506118d33061155f565b155b6118f15760405162461bcd60e51b81526004016105f590612f2a565b506000919050565b60005460ff8084169116106119205760405162461bcd60e51b81526004016105f590612f2a565b506000805460ff191660ff92909216919091179055600190565b919050565b600d548161194c600f5490565b6119569190612efb565b11156119995760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b60448201526064016105f5565b60005b818110156108f75760006119ae611ef1565b90506119ba8482611f02565b6119c2611f1c565b50806119cd81612cdc565b91505061199c565b60005b8151811015610b915760008282815181106119f5576119f5612c8d565b60200260200101519050612710816040015161ffff1610611a285760405162461bcd60e51b81526004016105f590612f78565b60208101516001600160a01b0316611aa1578051600090815260126020526040902080546001600160b01b03191690558051611a6690601390611f33565b5080516040519081527fa2870857763bd9ae76c957f869f16b31c18dd3bb4c7b4d3a4496dc5c57c657f99060200160405180910390a1611b69565b6040805180820182526020808401516001600160a01b0390811683528484015161ffff90811683850190815286516000908152601290945294909220925183549451909216600160a01b026001600160b01b03199094169116179190911790558051611b0f90601390611f3f565b50805160208083015160408085015181519485526001600160a01b039092169284019290925261ffff1682820152517f389b70fb0887f01e83784eb1c4c589f740eca53b00ed0f45e41db5d079719abb9181900360600190a15b5080611b7481612cdc565b9150506119d8565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600061059d825490565b816001600160a01b0316836001600160a01b03161415611c3f5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016105f5565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611cb784848461168a565b611cc384848484611f4b565b6106345760405162461bcd60e51b81526004016105f590612f9d565b60606000600b8054611cf090612cf7565b905011611d8757600a8054611d0490612cf7565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3090612cf7565b8015611d7d5780601f10611d5257610100808354040283529160200191611d7d565b820191906000526020600020905b815481529060010190602001808311611d6057829003601f168201915b505050505061059d565b600b611d9283612066565b604051602001611da392919061300b565b60405160208183030381529060405292915050565b60105460009060ff16611dee57611dcd61117e565b6001600160a01b0316826001600160a01b03161415611dee5750600161059d565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff1661142c565b612710816020015161ffff1610611e455760405162461bcd60e51b81526004016105f590612f78565b60408051808201825282516001600160a01b03168082526020808501805161ffff1691909301819052601180546001600160b01b031916909217600160a01b9091021790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192611ebc9291612b0d565b60405180910390a150565b6000826000018281548110611ede57611ede612c8d565b9060005260206000200154905092915050565b600f5460009061117990600161156e565b610b91828260405180602001604052806000815250612163565b600f8054906000611f2c83612cdc565b9190505550565b600061142c8383612196565b600061142c8383612289565b6000611f5f846001600160a01b031661155f565b1561205b57836001600160a01b031663150b7a02611f7b6115b6565b8786866040518563ffffffff1660e01b8152600401611f9d94939291906130b2565b602060405180830381600087803b158015611fb757600080fd5b505af1925050508015611fe7575060408051601f3d908101601f19168201909252611fe4918101906130ef565b60015b612041573d808015612015576040519150601f19603f3d011682016040523d82523d6000602084013e61201a565b606091505b5080516120395760405162461bcd60e51b81526004016105f590612f9d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611682565b506001949350505050565b60608161208a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120b4578061209e81612cdc565b91506120ad9050600a83612de7565b915061208e565b6000816001600160401b038111156120ce576120ce6124db565b6040519080825280601f01601f1916602001820160405280156120f8576020820181803683370190505b5090505b84156116825761210d600183612f13565b915061211a600a8661310c565b612125906030612efb565b60f81b81838151811061213a5761213a612c8d565b60200101906001600160f81b031916908160001a90535061215c600a86612de7565b94506120fc565b61216d83836122d8565b61217a6000848484611f4b565b6108f75760405162461bcd60e51b81526004016105f590612f9d565b6000818152600183016020526040812054801561227f5760006121ba600183612f13565b85549091506000906121ce90600190612f13565b90508181146122335760008660000182815481106121ee576121ee612c8d565b906000526020600020015490508087600001848154811061221157612211612c8d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061224457612244613120565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059d565b600091505061059d565b60008181526001830160205260408120546122d05750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059d565b50600061059d565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105f5565b61233781611820565b156123835760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016105f5565b6001600160a01b03821660009081526007602052604081208054600192906123ac908490612efb565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020613137833981519152908290a45050565b82805461240490612cf7565b90600052602060002090601f016020900481019282612426576000855561246c565b82601f1061243f57805160ff191683800117855561246c565b8280016001018555821561246c579182015b8281111561246c578251825591602001919060010190612451565b5061247892915061247c565b5090565b5b80821115612478576000815560010161247d565b6001600160e01b03198116811461148957600080fd5b6000602082840312156124b957600080fd5b813561142c81612491565b80356001600160a01b038116811461193a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715612514576125146124db565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612542576125426124db565b604052919050565b60006001600160401b03821115612563576125636124db565b5060051b60200190565b600082601f83011261257e57600080fd5b8135602061259361258e8361254a565b61251a565b82815260059290921b840181019181810190868411156125b257600080fd5b8286015b848110156125cd57803583529183019183016125b6565b509695505050505050565b6000806000606084860312156125ed57600080fd5b6125f6846124c4565b9250612604602085016124c4565b915060408401356001600160401b0381111561261f57600080fd5b61262b8682870161256d565b9150509250925092565b60006020828403121561264757600080fd5b5035919050565b60005b83811015612669578181015183820152602001612651565b838111156106345750506000910152565b6000815180845261269281602086016020860161264e565b601f01601f19169290920160200192915050565b60208152600061142c602083018461267a565b6001600160a01b0391909116815260200190565b600080604083850312156126e057600080fd5b6126e9836124c4565b946020939093013593505050565b60008060006060848603121561270c57600080fd5b612715846124c4565b9250612723602085016124c4565b9150604084013590509250925092565b6000806040838503121561274657600080fd5b50508035926020909101359150565b60006001600160401b0383111561276e5761276e6124db565b612781601f8401601f191660200161251a565b905082815283838301111561279557600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127bd57600080fd5b61142c83833560208501612755565b600082601f8301126127dd57600080fd5b813560206127ed61258e8361254a565b82815260059290921b8401810191818101908684111561280c57600080fd5b8286015b848110156125cd57612821816124c4565b8352918301918301612810565b803561ffff8116811461193a57600080fd5b60006020828403121561285257600080fd5b81356001600160401b038082111561286957600080fd5b90830190610160828603121561287e57600080fd5b6128866124f1565b82358281111561289557600080fd5b6128a1878286016127ac565b8252506020830135828111156128b657600080fd5b6128c2878286016127ac565b6020830152506040830135828111156128da57600080fd5b6128e6878286016127ac565b6040830152506060830135828111156128fe57600080fd5b61290a878286016127ac565b60608301525060808301358281111561292257600080fd5b61292e878286016127ac565b60808301525060a08301358281111561294657600080fd5b612952878286016127cc565b60a08301525060c08301358281111561296a57600080fd5b6129768782860161256d565b60c08301525060e083013560e082015261010091506129968284016124c4565b8282015261012091506129aa82840161282e565b8282015261014091506129be8284016124c4565b91810191909152949350505050565b6000806000606084860312156129e257600080fd5b83356001600160401b03808211156129f957600080fd5b612a05878388016127cc565b94506020860135915080821115612a1b57600080fd5b612a27878388016127cc565b93506040860135915080821115612a3d57600080fd5b5061262b8682870161256d565b600060208284031215612a5c57600080fd5b81356001600160401b03811115612a7257600080fd5b611682848285016127ac565b60008060208385031215612a9157600080fd5b82356001600160401b0380821115612aa857600080fd5b818501915085601f830112612abc57600080fd5b813581811115612acb57600080fd5b866020606083028501011115612ae057600080fd5b60209290920196919550909350505050565b600060208284031215612b0457600080fd5b61142c826124c4565b6001600160a01b0392909216825261ffff16602082015260400190565b60008060408385031215612b3d57600080fd5b612b46836124c4565b915060208301358015158114612b5b57600080fd5b809150509250929050565b60008060008060808587031215612b7c57600080fd5b612b85856124c4565b9350612b93602086016124c4565b92506040850135915060608501356001600160401b03811115612bb557600080fd5b8501601f81018713612bc657600080fd5b612bd587823560208401612755565b91505092959194509250565b602080825282518282018190526000919060409081850190868401855b82811015612c3557815180516001600160a01b031685528601516001600160601b0316868501529284019290850190600101612bfe565b5091979650505050505050565b60008060408385031215612c5557600080fd5b612c5e836124c4565b9150612c6c602084016124c4565b90509250929050565b600060408284031215612c8757600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612cf057612cf0612cc6565b5060010190565b600181811c90821680612d0b57607f821691505b60208210811415612c8757634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000816000190483118215151615612dcc57612dcc612cc6565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612df657612df6612dd1565b500490565b600060608284031215612e0d57600080fd5b604051606081016001600160401b0381118282101715612e2f57612e2f6124db565b60405282358152612e42602084016124c4565b6020820152612e536040840161282e565b60408201529392505050565b6020808252600f908201526e2120a9a2afaaa924afa32927ad22a760891b604082015260600190565b600060208284031215612e9a57600080fd5b5051919050565b600060408284031215612eb357600080fd5b604080519081016001600160401b0381118282101715612ed557612ed56124db565b604052612ee1836124c4565b8152612eef6020840161282e565b60208201529392505050565b60008219821115612f0e57612f0e612cc6565b500190565b600082821015612f2557612f25612cc6565b500390565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600b908201526a496e76616c69642062707360a81b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000815161300181856020860161264e565b9290920192915050565b600080845481600182811c91508083168061302757607f831692505b602080841082141561304757634e487b7160e01b86526022600452602486fd5b81801561305b576001811461306c57613099565b60ff19861689528489019650613099565b60008b81526020902060005b868110156130915781548b820152908501908301613078565b505084890196505b5050505050506130a98185612fef565b95945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906130e59083018461267a565b9695505050505050565b60006020828403121561310157600080fd5b815161142c81612491565b60008261311b5761311b612dd1565b500690565b634e487b7160e01b600052603160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d7bd80a7d5cef1e38ca42f953ad50fa4bf56789033971a6e93c5a1485b9a178d64736f6c63430008090033";
"0x60806040526000600f553480156200001657600080fd5b506040516200423938038062004239833981016040819052620000399162000d14565b610100810151610120820151600d546080840151845160208601516040870151610140880151620000736200006d62000213565b6200022f565b600280546001600160a01b0319166001600160a01b03929092169190911790558051620000a890600390602084019062000a2b565b50620000bb633d96f4ff60e11b6200028a565b620000cd635b5e139f60e01b6200028a565b508151620000e390600490602085019062000a2b565b508051620000f990600590602084019062000a2b565b50508151620001119150600a90602084019062000a2b565b506200012463e91f76a560e01b6200028a565b50600d8190556200013c6330f487b560e11b6200028a565b6200014e6380ac58cd60e01b6200028a565b5062000161631aa1577160e11b6200028a565b6200017363948e2d5360e01b6200028a565b604080518082019091526001600160a01b038316815261ffff821660208201526200019e8162000312565b620001b0633a47bf5160e11b6200028a565b620001c263152a902d60e11b6200028a565b620001d463c69dbd8f60e01b6200028a565b620001e663656cb66560e11b6200028a565b50505062000201632a7c3e4960e01b6200028a60201b60201c565b6200020c81620003f8565b5062001085565b60006200022a6200056260201b620015511760201c565b905090565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6001600160e01b03198082161415620002ea5760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b612710816020015161ffff16106200035b5760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642062707360a81b6044820152606401620002e1565b60408051808201825282516001600160a01b03168082526020808501805161ffff169190930181905260118054600160a01b9092026001600160b01b03199092169092171790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192620003ed92916001600160a01b0392909216825261ffff16602082015260400190565b60405180910390a150565b60006200040660016200059b565b905080156200041f576000805461ff0019166101001790555b8160c00151518260a0015151146200047a5760405162461bcd60e51b815260206004820152601b60248201527f4552433732312f494e56414c49445f494e495449414c5f4152475300000000006044820152606401620002e1565b60e0820151600d5560005b8260a0015151811015620004fa57620004e58360a001518281518110620004b057620004b062000ec1565b60200260200101518460c001518381518110620004d157620004d162000ec1565b60200260200101516200064460201b60201c565b80620004f18162000eed565b91505062000485565b50606082015180516200051691600b9160209091019062000a2b565b5080156200055e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6002546000906001600160a01b031633141562000586575060131936013560601c90565b6200022a620006ee60201b620015731760201c565b60008054610100900460ff1615620005fb578160ff166001148015620005d45750620005d230620006f260201b620015771760201c565b155b620005f35760405162461bcd60e51b8152600401620002e19062000f0b565b506000919050565b60005460ff808416911610620006255760405162461bcd60e51b8152600401620002e19062000f0b565b506000805460ff191660ff92909216919091179055600190565b919050565b600d548162000652600f5490565b6200065e919062000f59565b1115620006a35760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b6044820152606401620002e1565b60005b81811015620006e9576000620006bb62000701565b9050620006c9848262000720565b620006d362000742565b5080620006e08162000eed565b915050620006a6565b505050565b3390565b6001600160a01b03163b151590565b60006200022a6001600f546200075b60201b620015861790919060201c565b6200055e8282604051806020016040528060008152506200077060201b60201c565b600f8054906000620007548362000eed565b9190505550565b600062000769828462000f59565b9392505050565b6200077c8383620007aa565b6200078b6000848484620008f2565b620006e95760405162461bcd60e51b8152600401620002e19062000f74565b6001600160a01b038216620008025760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401620002e1565b6000818152600660205260409020546001600160a01b031615620008695760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401620002e1565b6001600160a01b03821660009081526007602052604081208054600192906200089490849062000f59565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600062000913846001600160a01b0316620006f260201b620015771760201c565b1562000a1f576001600160a01b03841663150b7a026200093262000213565b8786866040518563ffffffff1660e01b815260040162000956949392919062000fc6565b602060405180830381600087803b1580156200097157600080fd5b505af1925050508015620009a4575060408051601f3d908101601f19168201909252620009a1918101906200101c565b60015b62000a04573d808015620009d5576040519150601f19603f3d011682016040523d82523d6000602084013e620009da565b606091505b508051620009fc5760405162461bcd60e51b8152600401620002e19062000f74565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905062000a23565b5060015b949350505050565b82805462000a399062001048565b90600052602060002090601f01602090048101928262000a5d576000855562000aa8565b82601f1062000a7857805160ff191683800117855562000aa8565b8280016001018555821562000aa8579182015b8281111562000aa857825182559160200191906001019062000a8b565b5062000ab692915062000aba565b5090565b5b8082111562000ab6576000815560010162000abb565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b038111828210171562000b0d5762000b0d62000ad1565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000b3e5762000b3e62000ad1565b604052919050565b60005b8381101562000b6357818101518382015260200162000b49565b8381111562000b73576000848401525b50505050565b600082601f83011262000b8b57600080fd5b81516001600160401b0381111562000ba75762000ba762000ad1565b62000bbc601f8201601f191660200162000b13565b81815284602083860101111562000bd257600080fd5b62000a2382602083016020870162000b46565b60006001600160401b0382111562000c015762000c0162000ad1565b5060051b60200190565b80516001600160a01b03811681146200063f57600080fd5b600082601f83011262000c3557600080fd5b8151602062000c4e62000c488362000be5565b62000b13565b82815260059290921b8401810191818101908684111562000c6e57600080fd5b8286015b8481101562000c945762000c868162000c0b565b835291830191830162000c72565b509695505050505050565b600082601f83011262000cb157600080fd5b8151602062000cc462000c488362000be5565b82815260059290921b8401810191818101908684111562000ce457600080fd5b8286015b8481101562000c94578051835291830191830162000ce8565b805161ffff811681146200063f57600080fd5b60006020828403121562000d2757600080fd5b81516001600160401b038082111562000d3f57600080fd5b90830190610160828603121562000d5557600080fd5b62000d5f62000ae7565b82518281111562000d6f57600080fd5b62000d7d8782860162000b79565b82525060208301518281111562000d9357600080fd5b62000da18782860162000b79565b60208301525060408301518281111562000dba57600080fd5b62000dc88782860162000b79565b60408301525060608301518281111562000de157600080fd5b62000def8782860162000b79565b60608301525060808301518281111562000e0857600080fd5b62000e168782860162000b79565b60808301525060a08301518281111562000e2f57600080fd5b62000e3d8782860162000c23565b60a08301525060c08301518281111562000e5657600080fd5b62000e648782860162000c9f565b60c08301525060e083015160e0820152610100915062000e8682840162000c0b565b82820152610120915062000e9c82840162000d01565b82820152610140915062000eb282840162000c0b565b91810191909152949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000f045762000f0462000ed7565b5060010190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000821982111562000f6f5762000f6f62000ed7565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018060a01b038087168352808616602084015250836040830152608060608301528251806080840152620010058160a085016020870162000b46565b601f01601f19169190910160a00195945050505050565b6000602082840312156200102f57600080fd5b81516001600160e01b0319811681146200076957600080fd5b600181811c908216806200105d57607f821691505b602082108114156200107f57634e487b7160e01b600052602260045260246000fd5b50919050565b6131a480620010956000396000f3fe608060405234801561001057600080fd5b506004361061021a5760003560e01c806301ffc9a71461021f578063059fb6f7146102475780630653aca51461025c57806306fdde031461029e578063081812fc146102b3578063095ea7b3146102d357806316744607146102e657806318160ddd146102ee57806323b872dd146103005780632a55205a146103135780632cd846a0146103455780632fe388be146103585780633542aee21461036b5780633574a2dd1461037e57806342842e0e146103915780635136dcc7146103a457806355f804b3146103b757806356c022bb146103ca578063572b6c05146103dd5780635a9b0b89146103f05780636352211e146104135780636f8b44b01461042657806370a0823114610439578063715018a61461044c5780637313cba9146104545780637885fdc71461045c5780637e9803421461048a5780638da5cb5b14610492578063938e3d7b1461049a578063948e2d53146104ad57806395d89b41146104b5578063a22cb465146104bd578063a821d908146104d0578063b88d4fde146104dd578063c87b56dd146104f0578063cad96cca14610503578063d547cfb714610523578063d5abeb011461052b578063da74222814610534578063e7bc820814610547578063e8a3d4851461054f578063e985e9c514610557578063ef60ceaf1461056a578063f2fde38b1461057d578063f384702f14610590578063fb565bfd1461059d575b600080fd5b61023261022d3660046124bf565b6105aa565b60405190151581526020015b60405180910390f35b61025a6102553660046125f0565b6105bb565b005b61026f61026a36600461264d565b610652565b60408051825181526020808401516001600160a01b0316908201529181015161ffff169082015260600161023e565b6102a66106d7565b60405161023e91906126be565b6102c66102c136600461264d565b610769565b60405161023e91906126d1565b61025a6102e13660046126e5565b6107f1565b61025a610914565b600f545b60405190815260200161023e565b61025a61030e36600461270f565b610962565b61032661032136600461274b565b61099a565b604080516001600160a01b03909316835260208301919091520161023e565b61025a610353366004612858565b610a5f565b61025a6103663660046129e5565b610bad565b61025a6103793660046126e5565b610cd4565b61025a61038c366004612a62565b610d1d565b61025a61039f36600461270f565b610d6f565b61025a6103b2366004612a96565b610d8a565b61025a6103c5366004612a62565b610e24565b6002546102c6906001600160a01b031681565b6102326103eb366004612b0a565b610e99565b6103f8610ead565b6040805193845260208401929092529082015260600161023e565b6102c661042136600461264d565b610fc6565b61025a61043436600461264d565b61103d565b6102f2610447366004612b0a565b6110a4565b61025a61112b565b6102a6611176565b60115461047c906001600160a01b03811690600160a01b900461ffff1682565b60405161023e929190612b25565b6102f2611185565b6102c6611196565b61025a6104a8366004612a62565b6111ab565b61025a6111fd565b6102a661124b565b61025a6104cb366004612b42565b61125a565b6010546102329060ff1681565b61025a6104eb366004612b7e565b61126c565b6102a66104fe36600461264d565b6112a5565b61051661051136600461264d565b6112b0565b60405161023e9190612bf9565b6102a661136b565b6102f2600d5481565b61025a610542366004612b0a565b61137a565b61025a6113db565b6102a6611429565b610232610565366004612c5a565b611438565b61025a610578366004612c8d565b61144b565b61025a61058b366004612b0a565b6114a4565b600e546102329060ff1681565b600c546102329060ff1681565b60006105b582611592565b92915050565b60005b815181101561064c576105f16105d26115ce565b8383815181106105e4576105e4612ca5565b60200260200101516115d8565b6106165760405162461bcd60e51b815260040161060d90612cbb565b60405180910390fd5b61063a848484848151811061062d5761062d612ca5565b60200260200101516116a2565b8061064481612cf4565b9150506105be565b50505050565b604080516060810182526000808252602082018190529181018290529061067a60138461182c565b6000818152601260209081526040918290208251808401845290546001600160a01b03808216835261ffff600160a01b90920482168385019081528551606081018752968752925116928501929092525116908201529392505050565b6060600480546106e690612d0f565b80601f016020809104026020016040519081016040528092919081815260200182805461071290612d0f565b801561075f5780601f106107345761010080835404028352916020019161075f565b820191906000526020600020905b81548152906001019060200180831161074257829003601f168201915b5050505050905090565b600061077482611838565b6107d55760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161060d565b506000908152600860205260409020546001600160a01b031690565b60006107fc82610fc6565b9050806001600160a01b0316836001600160a01b0316141561086a5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161060d565b806001600160a01b031661087c6115ce565b6001600160a01b031614806108985750610898816105656115ce565b6109055760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b606482015260840161060d565b61090f8383611855565b505050565b61091c6115ce565b6001600160a01b031661092d611196565b6001600160a01b0316146109535760405162461bcd60e51b815260040161060d90612d44565b600e805460ff19166001179055565b61097361096d6115ce565b826115d8565b61098f5760405162461bcd60e51b815260040161060d90612d79565b61090f8383836116a2565b60008281526012602052604081205481906001600160a01b0316156109ff576000848152601260205260409020546001600160a01b03811690612710906109ec90600160a01b900461ffff1686612dca565b6109f69190612dff565b91509150610a58565b6011546001600160a01b031615801590610a255750601154600160a01b900461ffff1615155b15610a51576011546001600160a01b03811690612710906109ec90600160a01b900461ffff1686612dca565b5060009050805b9250929050565b6000610a6b60016118c3565b90508015610a83576000805461ff0019166101001790555b8160c00151518260a001515114610ada5760405162461bcd60e51b815260206004820152601b60248201527a4552433732312f494e56414c49445f494e495449414c5f4152475360281b604482015260640161060d565b60e0820151600d5560005b8260a0015151811015610b4857610b368360a001518281518110610b0b57610b0b612ca5565b60200260200101518460c001518381518110610b2957610b29612ca5565b6020026020010151611957565b80610b4081612cf4565b915050610ae5565b5060608201518051610b6291600b91602090910190612410565b508015610ba9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b8151835114610bf85760405162461bcd60e51b815260206004820152601760248201527608ca49e9abea89ebe988a9c8ea890be9a92a69a82a8869604b1b604482015260640161060d565b8051835114610c465760405162461bcd60e51b815260206004820152601a60248201527908ca49e9abea89e968a9cbe988a9c8ea890be9a92a69a82a886960331b604482015260640161060d565b60005b815181101561064c57610c5d6105d26115ce565b610c795760405162461bcd60e51b815260040161060d90612cbb565b610cc2848281518110610c8e57610c8e612ca5565b6020026020010151848381518110610ca857610ca8612ca5565b602002602001015184848151811061062d5761062d612ca5565b80610ccc81612cf4565b915050610c49565b610cdc6115ce565b6001600160a01b0316610ced611196565b6001600160a01b031614610d135760405162461bcd60e51b815260040161060d90612d44565b610ba98282611957565b610d256115ce565b6001600160a01b0316610d36611196565b6001600160a01b031614610d5c5760405162461bcd60e51b815260040161060d90612d44565b8051610ba990600a906020840190612410565b61090f8383836040518060200160405280600081525061126c565b610d926115ce565b6001600160a01b0316610da3611196565b6001600160a01b031614610dc95760405162461bcd60e51b815260040161060d90612d44565b610ba98282808060200260200160405190810160405280939291908181526020016000905b82821015610e1a57610e0b60608302860136819003810190612e13565b81526020019060010190610dee565b50505050506119ed565b610e2c6115ce565b6001600160a01b0316610e3d611196565b6001600160a01b031614610e635760405162461bcd60e51b815260040161060d90612d44565b600c5460ff1615610e865760405162461bcd60e51b815260040161060d90612e77565b8051610ba990600b906020840190612410565b6002546001600160a01b0391821691161490565b600080808080610ebb6115ce565b6001600160a01b031614610f4657306370a08231610ed76115ce565b6040518263ffffffff1660e01b8152600401610ef391906126d1565b60206040518083038186803b158015610f0b57600080fd5b505afa158015610f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f439190612ea0565b90505b600d54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190612ea0565b90959094509092509050565b6000818152600660205260408120546001600160a01b0316806105b55760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161060d565b6110456115ce565b6001600160a01b0316611056611196565b6001600160a01b03161461107c5760405162461bcd60e51b815260040161060d90612d44565b600e5460ff161561109f5760405162461bcd60e51b815260040161060d90612e77565b600d55565b60006001600160a01b03821661110f5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161060d565b506001600160a01b031660009081526007602052604090205490565b6111336115ce565b6001600160a01b0316611144611196565b6001600160a01b03161461116a5760405162461bcd60e51b815260040161060d90612d44565b6111746000611b94565b565b6060600a80546106e690612d0f565b60006111916013611bef565b905090565b6000546201000090046001600160a01b031690565b6111b36115ce565b6001600160a01b03166111c4611196565b6001600160a01b0316146111ea5760405162461bcd60e51b815260040161060d90612d44565b8051610ba9906003906020840190612410565b6112056115ce565b6001600160a01b0316611216611196565b6001600160a01b03161461123c5760405162461bcd60e51b815260040161060d90612d44565b6010805460ff19166001179055565b6060600580546106e690612d0f565b610ba96112656115ce565b8383611bf9565b61127d6112776115ce565b836115d8565b6112995760405162461bcd60e51b815260040161060d90612d79565b61064c84848484611cc4565b60606105b582611cf7565b604080516001808252818301909252606091816020015b60408051808201909152600080825260208201528152602001906001900390816112c757505060115481519192506001600160a01b031690829060009061131057611310612ca5565b60209081029190910101516001600160a01b039190911690526011548151600160a01b90910461ffff1690829060009061134c5761134c612ca5565b6020908102919091018101516001600160601b03909216910152919050565b6060600b80546106e690612d0f565b6113826115ce565b6001600160a01b0316611393611196565b6001600160a01b0316146113b95760405162461bcd60e51b815260040161060d90612d44565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113e36115ce565b6001600160a01b03166113f4611196565b6001600160a01b03161461141a5760405162461bcd60e51b815260040161060d90612d44565b600c805460ff19166001179055565b6060600380546106e690612d0f565b60006114448383611dd0565b9392505050565b6114536115ce565b6001600160a01b0316611464611196565b6001600160a01b03161461148a5760405162461bcd60e51b815260040161060d90612d44565b6114a161149c36839003830183612eb9565b611e34565b50565b6114ac6115ce565b6001600160a01b03166114bd611196565b6001600160a01b0316146114e35760405162461bcd60e51b815260040161060d90612d44565b6001600160a01b0381166115485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161060d565b6114a181611b94565b600061155c33610e99565b1561156e575060131936013560601c90565b503390565b3390565b6001600160a01b03163b151590565b60006114448284612f13565b60006301ffc9a760e01b6001600160e01b0319831614806105b55750506001600160e01b03191660009081526001602052604090205460ff1690565b6000611191611551565b60006115e382611838565b6116445760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161060d565b600061164f83610fc6565b9050806001600160a01b0316846001600160a01b0316148061167657506116768185611438565b8061169a5750836001600160a01b031661168f84610769565b6001600160a01b0316145b949350505050565b826001600160a01b03166116b582610fc6565b6001600160a01b0316146117195760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161060d565b6001600160a01b03821661177b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161060d565b611786600082611855565b6001600160a01b03831660009081526007602052604081208054600192906117af908490612f2b565b90915550506001600160a01b03821660009081526007602052604081208054600192906117dd908490612f13565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061314f83398151915291a4505050565b60006114448383611edf565b6000908152600660205260409020546001600160a01b0316151590565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061188a82610fc6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008054610100900460ff1615611911578160ff1660011480156118ed57506118eb30611577565b155b6119095760405162461bcd60e51b815260040161060d90612f42565b506000919050565b60005460ff8084169116106119385760405162461bcd60e51b815260040161060d90612f42565b506000805460ff191660ff92909216919091179055600190565b919050565b600d5481611964600f5490565b61196e9190612f13565b11156119b15760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b604482015260640161060d565b60005b8181101561090f5760006119c6611f09565b90506119d28482611f1a565b6119da611f34565b50806119e581612cf4565b9150506119b4565b60005b8151811015610ba9576000828281518110611a0d57611a0d612ca5565b60200260200101519050612710816040015161ffff1610611a405760405162461bcd60e51b815260040161060d90612f90565b60208101516001600160a01b0316611ab9578051600090815260126020526040902080546001600160b01b03191690558051611a7e90601390611f4b565b5080516040519081527fa2870857763bd9ae76c957f869f16b31c18dd3bb4c7b4d3a4496dc5c57c657f99060200160405180910390a1611b81565b6040805180820182526020808401516001600160a01b0390811683528484015161ffff90811683850190815286516000908152601290945294909220925183549451909216600160a01b026001600160b01b03199094169116179190911790558051611b2790601390611f57565b50805160208083015160408085015181519485526001600160a01b039092169284019290925261ffff1682820152517f389b70fb0887f01e83784eb1c4c589f740eca53b00ed0f45e41db5d079719abb9181900360600190a15b5080611b8c81612cf4565b9150506119f0565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b60006105b5825490565b816001600160a01b0316836001600160a01b03161415611c575760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b604482015260640161060d565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611ccf8484846116a2565b611cdb84848484611f63565b61064c5760405162461bcd60e51b815260040161060d90612fb5565b60606000600b8054611d0890612d0f565b905011611d9f57600a8054611d1c90612d0f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4890612d0f565b8015611d955780601f10611d6a57610100808354040283529160200191611d95565b820191906000526020600020905b815481529060010190602001808311611d7857829003601f168201915b50505050506105b5565b600b611daa8361207e565b604051602001611dbb929190613023565b60405160208183030381529060405292915050565b60105460009060ff16611e0657611de5611196565b6001600160a01b0316826001600160a01b03161415611e06575060016105b5565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff16611444565b612710816020015161ffff1610611e5d5760405162461bcd60e51b815260040161060d90612f90565b60408051808201825282516001600160a01b03168082526020808501805161ffff1691909301819052601180546001600160b01b031916909217600160a01b9091021790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192611ed49291612b25565b60405180910390a150565b6000826000018281548110611ef657611ef6612ca5565b9060005260206000200154905092915050565b600f54600090611191906001611586565b610ba982826040518060200160405280600081525061217b565b600f8054906000611f4483612cf4565b9190505550565b600061144483836121ae565b600061144483836122a1565b6000611f77846001600160a01b0316611577565b1561207357836001600160a01b031663150b7a02611f936115ce565b8786866040518563ffffffff1660e01b8152600401611fb594939291906130ca565b602060405180830381600087803b158015611fcf57600080fd5b505af1925050508015611fff575060408051601f3d908101601f19168201909252611ffc91810190613107565b60015b612059573d80801561202d576040519150601f19603f3d011682016040523d82523d6000602084013e612032565b606091505b5080516120515760405162461bcd60e51b815260040161060d90612fb5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061169a565b506001949350505050565b6060816120a25750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120cc57806120b681612cf4565b91506120c59050600a83612dff565b91506120a6565b6000816001600160401b038111156120e6576120e66124f3565b6040519080825280601f01601f191660200182016040528015612110576020820181803683370190505b5090505b841561169a57612125600183612f2b565b9150612132600a86613124565b61213d906030612f13565b60f81b81838151811061215257612152612ca5565b60200101906001600160f81b031916908160001a905350612174600a86612dff565b9450612114565b61218583836122f0565b6121926000848484611f63565b61090f5760405162461bcd60e51b815260040161060d90612fb5565b600081815260018301602052604081205480156122975760006121d2600183612f2b565b85549091506000906121e690600190612f2b565b905081811461224b57600086600001828154811061220657612206612ca5565b906000526020600020015490508087600001848154811061222957612229612ca5565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061225c5761225c613138565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105b5565b60009150506105b5565b60008181526001830160205260408120546122e8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105b5565b5060006105b5565b6001600160a01b0382166123465760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161060d565b61234f81611838565b1561239b5760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b604482015260640161060d565b6001600160a01b03821660009081526007602052604081208054600192906123c4908490612f13565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b038616908117909155905183929060008051602061314f833981519152908290a45050565b82805461241c90612d0f565b90600052602060002090601f01602090048101928261243e5760008555612484565b82601f1061245757805160ff1916838001178555612484565b82800160010185558215612484579182015b82811115612484578251825591602001919060010190612469565b50612490929150612494565b5090565b5b808211156124905760008155600101612495565b6001600160e01b0319811681146114a157600080fd5b6000602082840312156124d157600080fd5b8135611444816124a9565b80356001600160a01b038116811461195257600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b038111828210171561252c5761252c6124f3565b60405290565b604051601f8201601f191681016001600160401b038111828210171561255a5761255a6124f3565b604052919050565b60006001600160401b0382111561257b5761257b6124f3565b5060051b60200190565b600082601f83011261259657600080fd5b813560206125ab6125a683612562565b612532565b82815260059290921b840181019181810190868411156125ca57600080fd5b8286015b848110156125e557803583529183019183016125ce565b509695505050505050565b60008060006060848603121561260557600080fd5b61260e846124dc565b925061261c602085016124dc565b915060408401356001600160401b0381111561263757600080fd5b61264386828701612585565b9150509250925092565b60006020828403121561265f57600080fd5b5035919050565b60005b83811015612681578181015183820152602001612669565b8381111561064c5750506000910152565b600081518084526126aa816020860160208601612666565b601f01601f19169290920160200192915050565b6020815260006114446020830184612692565b6001600160a01b0391909116815260200190565b600080604083850312156126f857600080fd5b612701836124dc565b946020939093013593505050565b60008060006060848603121561272457600080fd5b61272d846124dc565b925061273b602085016124dc565b9150604084013590509250925092565b6000806040838503121561275e57600080fd5b50508035926020909101359150565b60006001600160401b03831115612786576127866124f3565b612799601f8401601f1916602001612532565b90508281528383830111156127ad57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127d557600080fd5b6114448383356020850161276d565b600082601f8301126127f557600080fd5b813560206128056125a683612562565b82815260059290921b8401810191818101908684111561282457600080fd5b8286015b848110156125e557612839816124dc565b8352918301918301612828565b803561ffff8116811461195257600080fd5b60006020828403121561286a57600080fd5b81356001600160401b038082111561288157600080fd5b90830190610160828603121561289657600080fd5b61289e612509565b8235828111156128ad57600080fd5b6128b9878286016127c4565b8252506020830135828111156128ce57600080fd5b6128da878286016127c4565b6020830152506040830135828111156128f257600080fd5b6128fe878286016127c4565b60408301525060608301358281111561291657600080fd5b612922878286016127c4565b60608301525060808301358281111561293a57600080fd5b612946878286016127c4565b60808301525060a08301358281111561295e57600080fd5b61296a878286016127e4565b60a08301525060c08301358281111561298257600080fd5b61298e87828601612585565b60c08301525060e083013560e082015261010091506129ae8284016124dc565b8282015261012091506129c2828401612846565b8282015261014091506129d68284016124dc565b91810191909152949350505050565b6000806000606084860312156129fa57600080fd5b83356001600160401b0380821115612a1157600080fd5b612a1d878388016127e4565b94506020860135915080821115612a3357600080fd5b612a3f878388016127e4565b93506040860135915080821115612a5557600080fd5b5061264386828701612585565b600060208284031215612a7457600080fd5b81356001600160401b03811115612a8a57600080fd5b61169a848285016127c4565b60008060208385031215612aa957600080fd5b82356001600160401b0380821115612ac057600080fd5b818501915085601f830112612ad457600080fd5b813581811115612ae357600080fd5b866020606083028501011115612af857600080fd5b60209290920196919550909350505050565b600060208284031215612b1c57600080fd5b611444826124dc565b6001600160a01b0392909216825261ffff16602082015260400190565b60008060408385031215612b5557600080fd5b612b5e836124dc565b915060208301358015158114612b7357600080fd5b809150509250929050565b60008060008060808587031215612b9457600080fd5b612b9d856124dc565b9350612bab602086016124dc565b92506040850135915060608501356001600160401b03811115612bcd57600080fd5b8501601f81018713612bde57600080fd5b612bed8782356020840161276d565b91505092959194509250565b602080825282518282018190526000919060409081850190868401855b82811015612c4d57815180516001600160a01b031685528601516001600160601b0316868501529284019290850190600101612c16565b5091979650505050505050565b60008060408385031215612c6d57600080fd5b612c76836124dc565b9150612c84602084016124dc565b90509250929050565b600060408284031215612c9f57600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612d0857612d08612cde565b5060010190565b600181811c90821680612d2357607f821691505b60208210811415612c9f57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000816000190483118215151615612de457612de4612cde565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612e0e57612e0e612de9565b500490565b600060608284031215612e2557600080fd5b604051606081016001600160401b0381118282101715612e4757612e476124f3565b60405282358152612e5a602084016124dc565b6020820152612e6b60408401612846565b60408201529392505050565b6020808252600f908201526e2120a9a2afaaa924afa32927ad22a760891b604082015260600190565b600060208284031215612eb257600080fd5b5051919050565b600060408284031215612ecb57600080fd5b604080519081016001600160401b0381118282101715612eed57612eed6124f3565b604052612ef9836124dc565b8152612f0760208401612846565b60208201529392505050565b60008219821115612f2657612f26612cde565b500190565b600082821015612f3d57612f3d612cde565b500390565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600b908201526a496e76616c69642062707360a81b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008151613019818560208601612666565b9290920192915050565b600080845481600182811c91508083168061303f57607f831692505b602080841082141561305f57634e487b7160e01b86526022600452602486fd5b8180156130735760018114613084576130b1565b60ff198616895284890196506130b1565b60008b81526020902060005b868110156130a95781548b820152908501908301613090565b505084890196505b5050505050506130c18185613007565b95945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906130fd90830184612692565b9695505050505050565b60006020828403121561311957600080fd5b8151611444816124a9565b60008261313357613133612de9565b500690565b634e487b7160e01b600052603160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e71fd98e00293f16b4a38db4198ae750e8c14dd7e61df25903ad4810e485b6d964736f6c63430008090033";

@@ -1095,0 +1108,0 @@ export class ERC721ManagedPrefixedCollection__factory extends ContractFactory {

@@ -684,2 +684,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -1175,3 +1188,3 @@ {

const _bytecode =
"0x60806040526000600c553480156200001657600080fd5b5060405162003d4938038062003d49833981016040819052620000399162000715565b60c081015160e0820151608083015160a08401516040850151606086015186516020880151610100890151620000786200007262000268565b62000284565b600280546001600160a01b0319166001600160a01b03929092169190911790558151620000ad90600490602085019062000535565b508051620000c390600590602084019062000535565b505050600a819055620000dd6330f487b560e11b620002d4565b620000ef6380ac58cd60e01b620002d4565b5080516200010590600d90602084019062000535565b5062000118633d96f4ff60e11b620002d4565b6200012a635b5e139f60e01b620002d4565b506200013d631aa1577160e11b620002d4565b6200014f632929b36760e11b620002d4565b62000161630d169dbf60e31b620002d4565b604080518082019091526001600160a01b038316815261ffff821660208201526200018c816200035c565b6200019e633a47bf5160e11b620002d4565b620001b063152a902d60e11b620002d4565b620001c263c69dbd8f60e01b620002d4565b620001d463656cb66560e11b620002d4565b5050601480546001600160a01b038086166001600160a01b03199283161790925560158054928516929091169190911790555062000219638d29851f60e01b620002d4565b5062000232905060006200022c62000268565b62000442565b620002617f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66200022c62000268565b5062000883565b60006200027f6200045260201b620015761760201c565b905090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160e01b03198082161415620003345760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b612710816020015161ffff1610620003a55760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642062707360a81b60448201526064016200032b565b60408051808201825282516001600160a01b03168082526020808501805161ffff169190930181905260108054600160a01b9092026001600160b01b03199092169092171790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe41926200043792916001600160a01b0392909216825261ffff16602082015260400190565b60405180910390a150565b6200044e82826200048b565b5050565b6002546000906001600160a01b031633141562000476575060131936013560601c90565b6200027f6200053160201b620015981760201c565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff166200044e5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620004ed62000268565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b3390565b828054620005439062000846565b90600052602060002090601f016020900481019282620005675760008555620005b2565b82601f106200058257805160ff1916838001178555620005b2565b82800160010185558215620005b2579182015b82811115620005b257825182559160200191906001019062000595565b50620005c0929150620005c4565b5090565b5b80821115620005c05760008155600101620005c5565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715620006175762000617620005db565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620006485762000648620005db565b604052919050565b600082601f8301126200066257600080fd5b81516001600160401b038111156200067e576200067e620005db565b602062000694601f8301601f191682016200061d565b8281528582848701011115620006a957600080fd5b60005b83811015620006c9578581018301518282018401528201620006ac565b83811115620006db5760008385840101525b5095945050505050565b80516001600160a01b0381168114620006fd57600080fd5b919050565b805161ffff81168114620006fd57600080fd5b6000602082840312156200072857600080fd5b81516001600160401b03808211156200074057600080fd5b9083019061012082860312156200075657600080fd5b62000760620005f1565b8251828111156200077057600080fd5b6200077e8782860162000650565b8252506020830151828111156200079457600080fd5b620007a28782860162000650565b602083015250604083015182811115620007bb57600080fd5b620007c98782860162000650565b60408301525060608301516060820152620007e760808401620006e5565b6080820152620007fa60a0840162000702565b60a08201526200080d60c08401620006e5565b60c08201526200082060e08401620006e5565b60e0820152610100915062000837828401620006e5565b91810191909152949350505050565b600181811c908216806200085b57607f821691505b602082108114156200087d57634e487b7160e01b600052602260045260246000fd5b50919050565b6134b680620008936000396000f3fe608060405234801561001057600080fd5b50600436106102305760003560e01c806301ffc9a7146102355780630653aca51461025d57806306fdde031461029f578063081812fc146102b457806308abf026146102d4578063095ea7b3146102e9578063162094c4146102fc578063167446071461030f57806318160ddd1461031757806323b872dd14610329578063248a9ca31461033c5780632a55205a1461034f5780632ee774bd146103815780632f2ff15d146103945780633542aee2146103a757806336568abe146103ba57806342842e0e146103cd5780634473f20a146103e05780635136dcc7146103f357806356c022bb14610406578063572b6c05146104195780635a9b0b891461042c5780636352211e1461044f5780636c079cfc146104625780636f8b44b01461047557806370a0823114610488578063715018a61461049b5780637885fdc7146104a35780637e980342146104d15780638da5cb5b146104d95780638e28cf98146104e157806391d14854146104f4578063938e3d7b1461050757806395d89b411461051a578063a217fddf14610522578063a22cb4651461052a578063b88d4fde1461053d578063b89df8e814610550578063c87b56dd14610559578063cad96cca1461056c578063d53913931461058c578063d547741f146105a1578063d5abeb01146105b4578063da742228146105bd578063e8a3d485146105d0578063e985e9c5146105d8578063ef60ceaf146105eb578063f2fde38b146105fe575b600080fd5b610248610243366004612a60565b610611565b60405190151581526020015b60405180910390f35b61027061026b366004612a7d565b610631565b60408051825181526020808401516001600160a01b0316908201529181015161ffff1690820152606001610254565b6102a76106b6565b6040516102549190612aee565b6102c76102c2366004612a7d565b610748565b6040516102549190612b01565b6102e76102e2366004612b2a565b6107d5565b005b6102e76102f7366004612b47565b610836565b6102e761030a366004612c30565b610959565b6102e76109e6565b600c545b604051908152602001610254565b6102e7610337366004612c76565b610a34565b61031b61034a366004612a7d565b610a6c565b61036261035d366004612cb7565b610a81565b604080516001600160a01b039093168352602083019190915201610254565b6102e761038f366004612cd9565b610b46565b6102e76103a2366004612db9565b610beb565b6102e76103b5366004612b47565b610c07565b6102e76103c8366004612db9565b610c50565b6102e76103db366004612c76565b610cda565b6102e76103ee366004612a7d565b610cf5565b6102e7610401366004612de9565b610d7c565b6002546102c7906001600160a01b031681565b610248610427366004612b2a565b610e16565b610434610e2a565b60408051938452602084019290925290820152606001610254565b6102c761045d366004612a7d565b610f43565b6102e7610470366004612b2a565b610fba565b6102e7610483366004612a7d565b61101b565b61031b610496366004612b2a565b6110a4565b6102e761112b565b6010546104c3906001600160a01b03811690600160a01b900461ffff1682565b604051610254929190612e5d565b61031b611176565b6102c7611187565b6102e76104ef366004612cd9565b611196565b610248610502366004612db9565b61122e565b6102e7610515366004612e7a565b611259565b6102a76112ab565b61031b600081565b6102e7610538366004612eae565b6112ba565b6102e761054b366004612ee1565b6112cc565b61031b600f5481565b6102a7610567366004612a7d565b61130b565b61057f61057a366004612a7d565b611316565b6040516102549190612f60565b61031b60008051602061344183398151915281565b6102e76105af366004612db9565b6113d1565b61031b600a5481565b6102e76105cb366004612b2a565b6113ed565b6102a761144e565b6102486105e6366004612fc1565b61145d565b6102e76105f9366004612fef565b611470565b6102e761060c366004612b2a565b6114c9565b600061061c8261159c565b8061062b575061062b826115dc565b92915050565b6040805160608101825260008082526020820181905291810182905290610659601284611618565b6000818152601160209081526040918290208251808401845290546001600160a01b03808216835261ffff600160a01b90920482168385019081528551606081018752968752925116928501929092525116908201529392505050565b6060600480546106c590613007565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190613007565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061075382611624565b6107b95760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600860205260409020546001600160a01b031690565b6107dd611641565b6001600160a01b03166107ee611187565b6001600160a01b0316146108145760405162461bcd60e51b81526004016107b09061303c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b600061084182610f43565b9050806001600160a01b0316836001600160a01b031614156108af5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107b0565b806001600160a01b03166108c1611641565b6001600160a01b031614806108dd57506108dd816105e6611641565b61094a5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016107b0565b610954838361164b565b505050565b610961611641565b6001600160a01b0316610972611187565b6001600160a01b0316146109985760405162461bcd60e51b81526004016107b09061303c565b600f5482116109d85760405162461bcd60e51b815260206004820152600c60248201526b232927ad22a72faa27a5a2a760a11b60448201526064016107b0565b6109e282826116b9565b5050565b6109ee611641565b6001600160a01b03166109ff611187565b6001600160a01b031614610a255760405162461bcd60e51b81526004016107b09061303c565b600b805460ff19166001179055565b610a45610a3f611641565b82611744565b610a615760405162461bcd60e51b81526004016107b090613071565b61095483838361180e565b60009081526003602052604090206001015490565b60008281526011602052604081205481906001600160a01b031615610ae6576000848152601160205260409020546001600160a01b0381169061271090610ad390600160a01b900461ffff16866130d8565b610add919061310d565b91509150610b3f565b6010546001600160a01b031615801590610b0c5750601054600160a01b900461ffff1615155b15610b38576010546001600160a01b0381169061271090610ad390600160a01b900461ffff16866130d8565b5060009050805b9250929050565b610b4e611641565b6001600160a01b0316610b5f611187565b6001600160a01b031614610b855760405162461bcd60e51b81526004016107b09061303c565b6000610b8f611998565b9050610b9b84846119a9565b60005b83811015610be457610bd2610bb38284613121565b848381518110610bc557610bc5613139565b60200260200101516116b9565b80610bdc8161314f565b915050610b9e565b5050505050565b610bf482610a6c565b610bfd81611a3f565b6109548383611a50565b610c0f611641565b6001600160a01b0316610c20611187565b6001600160a01b031614610c465760405162461bcd60e51b81526004016107b09061303c565b6109e282826119a9565b610c58611641565b6001600160a01b0316816001600160a01b031614610cd05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107b0565b6109e28282611ad7565b610954838383604051806020016040528060008152506112cc565b610cfd611641565b6001600160a01b0316610d0e611187565b6001600160a01b031614610d345760405162461bcd60e51b81526004016107b09061303c565b600f548111610d775760405162461bcd60e51b815260206004820152600f60248201526e43414e4e4f545f554e465245455a4560881b60448201526064016107b0565b600f55565b610d84611641565b6001600160a01b0316610d95611187565b6001600160a01b031614610dbb5760405162461bcd60e51b81526004016107b09061303c565b6109e28282808060200260200160405190810160405280939291908181526020016000905b82821015610e0c57610dfd60608302860136819003810190613181565b81526020019060010190610de0565b5050505050611b5c565b6002546001600160a01b0391821691161490565b600080808080610e38611641565b6001600160a01b031614610ec357306370a08231610e54611641565b6040518263ffffffff1660e01b8152600401610e709190612b01565b60206040518083038186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec091906131e7565b90505b600a54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610eff57600080fd5b505afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3791906131e7565b90959094509092509050565b6000818152600660205260408120546001600160a01b03168061062b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107b0565b610fc2611641565b6001600160a01b0316610fd3611187565b6001600160a01b031614610ff95760405162461bcd60e51b81526004016107b09061303c565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b611023611641565b6001600160a01b0316611034611187565b6001600160a01b03161461105a5760405162461bcd60e51b81526004016107b09061303c565b600b5460ff161561109f5760405162461bcd60e51b815260206004820152600f60248201526e2120a9a2afaaa924afa32927ad22a760891b60448201526064016107b0565b600a55565b60006001600160a01b03821661110f5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107b0565b506001600160a01b031660009081526007602052604090205490565b611133611641565b6001600160a01b0316611144611187565b6001600160a01b03161461116a5760405162461bcd60e51b81526004016107b09061303c565b6111746000611d03565b565b60006111826012611d53565b905090565b6000546001600160a01b031690565b6111b0600080516020613441833981519152610502611641565b6111ee5760405162461bcd60e51b815260206004820152600f60248201526e4e4f545f4d494e5445525f524f4c4560881b60448201526064016107b0565b60006111f8611998565b905061120484846119a9565b60005b83811015610be45761121c610bb38284613121565b806112268161314f565b915050611207565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b611261611641565b6001600160a01b0316611272611187565b6001600160a01b0316146112985760405162461bcd60e51b81526004016107b09061303c565b80516109e290600d9060208401906129b1565b6060600580546106c590613007565b6109e26112c5611641565b8383611d5d565b6112dd6112d7611641565b83611744565b6112f95760405162461bcd60e51b81526004016107b090613071565b61130584848484611e28565b50505050565b606061062b82611e5b565b604080516001808252818301909252606091816020015b604080518082019091526000808252602082015281526020019060019003908161132d57505060105481519192506001600160a01b031690829060009061137657611376613139565b60209081029190910101516001600160a01b039190911690526010548151600160a01b90910461ffff169082906000906113b2576113b2613139565b6020908102919091018101516001600160601b03909216910152919050565b6113da82610a6c565b6113e381611a3f565b6109548383611ad7565b6113f5611641565b6001600160a01b0316611406611187565b6001600160a01b03161461142c5760405162461bcd60e51b81526004016107b09061303c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600d80546106c590613007565b60006114698383611e66565b9392505050565b611478611641565b6001600160a01b0316611489611187565b6001600160a01b0316146114af5760405162461bcd60e51b81526004016107b09061303c565b6114c66114c136839003830183613200565b611f77565b50565b6114d1611641565b6001600160a01b03166114e2611187565b6001600160a01b0316146115085760405162461bcd60e51b81526004016107b09061303c565b6001600160a01b03811661156d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b0565b6114c681611d03565b600061158133610e16565b15611593575060131936013560601c90565b503390565b3390565b60006001600160e01b031982166380ac58cd60e01b14806115cd57506001600160e01b03198216635b5e139f60e01b145b8061062b575061062b82612022565b60006301ffc9a760e01b6001600160e01b03198316148061062b5750506001600160e01b03191660009081526001602052604090205460ff1690565b60006114698383612047565b6000908152600660205260409020546001600160a01b0316151590565b6000611182611576565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061168082610f43565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6116c282611624565b6117255760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016107b0565b6000828152600e602090815260409091208251610954928401906129b1565b600061174f82611624565b6117b05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107b0565b60006117bb83610f43565b9050806001600160a01b0316846001600160a01b031614806117e257506117e2818561145d565b806118065750836001600160a01b03166117fb84610748565b6001600160a01b0316145b949350505050565b826001600160a01b031661182182610f43565b6001600160a01b0316146118855760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107b0565b6001600160a01b0382166118e75760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b0565b6118f260008261164b565b6001600160a01b038316600090815260076020526040812080546001929061191b90849061325c565b90915550506001600160a01b0382166000908152600760205260408120805460019290611949908490613121565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061346183398151915291a4505050565b600c54600090611182906001612071565b600a54816119b6600c5490565b6119c09190613121565b1115611a035760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b60448201526064016107b0565b60005b81811015610954576000611a18611998565b9050611a24848261207d565b611a2c612097565b5080611a378161314f565b915050611a06565b6114c681611a4b611641565b6120ae565b611a5a828261122e565b6109e25760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611a93611641565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611ae1828261122e565b156109e25760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19169055611b18611641565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b60005b81518110156109e2576000828281518110611b7c57611b7c613139565b60200260200101519050612710816040015161ffff1610611baf5760405162461bcd60e51b81526004016107b090613273565b60208101516001600160a01b0316611c28578051600090815260116020526040902080546001600160b01b03191690558051611bed90601290612112565b5080516040519081527fa2870857763bd9ae76c957f869f16b31c18dd3bb4c7b4d3a4496dc5c57c657f99060200160405180910390a1611cf0565b6040805180820182526020808401516001600160a01b0390811683528484015161ffff90811683850190815286516000908152601190945294909220925183549451909216600160a01b026001600160b01b03199094169116179190911790558051611c969060129061211e565b50805160208083015160408085015181519485526001600160a01b039092169284019290925261ffff1682820152517f389b70fb0887f01e83784eb1c4c589f740eca53b00ed0f45e41db5d079719abb9181900360600190a15b5080611cfb8161314f565b915050611b5f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061062b825490565b816001600160a01b0316836001600160a01b03161415611dbb5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016107b0565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611e3384848461180e565b611e3f8484848461212a565b6113055760405162461bcd60e51b81526004016107b090613298565b606061062b8261223e565b6014546000906001600160a01b031615611f1a5760145460405163c455279160e01b81526001600160a01b0391821691841690829063c455279190611eaf908890600401612b01565b60206040518083038186803b158015611ec757600080fd5b505afa158015611edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eff91906132ea565b6001600160a01b03161415611f1857600191505061062b565b505b6015546001600160a01b031615611f49576015546001600160a01b0383811691161415611f495750600161062b565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff16611469565b612710816020015161ffff1610611fa05760405162461bcd60e51b81526004016107b090613273565b60408051808201825282516001600160a01b03168082526020808501805161ffff1691909301819052601080546001600160b01b031916909217600160a01b9091021790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe41926120179291612e5d565b60405180910390a150565b60006001600160e01b03198216637965db0b60e01b148061062b575061062b826115dc565b600082600001828154811061205e5761205e613139565b9060005260206000200154905092915050565b60006114698284613121565b6109e28282604051806020016040528060008152506123ad565b600c80549060006120a78361314f565b9190505550565b6120b8828261122e565b6109e2576120d0816001600160a01b031660146123e0565b6120db8360206123e0565b6040516020016120ec929190613307565b60408051601f198184030181529082905262461bcd60e51b82526107b091600401612aee565b6000611469838361257b565b6000611469838361266e565b60006001600160a01b0384163b1561223357836001600160a01b031663150b7a02612153611641565b8786866040518563ffffffff1660e01b81526004016121759493929190613376565b602060405180830381600087803b15801561218f57600080fd5b505af19250505080156121bf575060408051601f3d908101601f191682019092526121bc918101906133b3565b60015b612219573d8080156121ed576040519150601f19603f3d011682016040523d82523d6000602084013e6121f2565b606091505b5080516122115760405162461bcd60e51b81526004016107b090613298565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611806565b506001949350505050565b606061224982611624565b6122af5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b60648201526084016107b0565b6000828152600e6020526040812080546122c890613007565b80601f01602080910402602001604051908101604052809291908181526020018280546122f490613007565b80156123415780601f1061231657610100808354040283529160200191612341565b820191906000526020600020905b81548152906001019060200180831161232457829003601f168201915b50505050509050600061235f60408051602081019091526000815290565b9050805160001415612372575092915050565b8151156123a457808260405160200161238c9291906133d0565b60405160208183030381529060405292505050919050565b611806846126bd565b6123b78383612794565b6123c4600084848461212a565b6109545760405162461bcd60e51b81526004016107b090613298565b606060006123ef8360026130d8565b6123fa906002613121565b6001600160401b0381111561241157612411612b73565b6040519080825280601f01601f19166020018201604052801561243b576020820181803683370190505b509050600360fc1b8160008151811061245657612456613139565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061248557612485613139565b60200101906001600160f81b031916908160001a90535060006124a98460026130d8565b6124b4906001613121565b90505b600181111561252c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106124e8576124e8613139565b1a60f81b8282815181106124fe576124fe613139565b60200101906001600160f81b031916908160001a90535060049490941c93612525816133ff565b90506124b7565b5083156114695760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b0565b6000818152600183016020526040812054801561266457600061259f60018361325c565b85549091506000906125b39060019061325c565b90508181146126185760008660000182815481106125d3576125d3613139565b90600052602060002001549050808760000184815481106125f6576125f6613139565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061262957612629613416565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061062b565b600091505061062b565b60008181526001830160205260408120546126b55750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561062b565b50600061062b565b60606126c882611624565b61272c5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107b0565b600061274360408051602081019091526000815290565b905060008151116127635760405180602001604052806000815250611469565b8061276d846128b4565b60405160200161277e9291906133d0565b6040516020818303038152906040529392505050565b6001600160a01b0382166127ea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b0565b6127f381611624565b1561283f5760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016107b0565b6001600160a01b0382166000908152600760205260408120805460019290612868908490613121565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020613461833981519152908290a45050565b6060816128d85750506040805180820190915260018152600360fc1b602082015290565b8160005b811561290257806128ec8161314f565b91506128fb9050600a8361310d565b91506128dc565b6000816001600160401b0381111561291c5761291c612b73565b6040519080825280601f01601f191660200182016040528015612946576020820181803683370190505b5090505b84156118065761295b60018361325c565b9150612968600a8661342c565b612973906030613121565b60f81b81838151811061298857612988613139565b60200101906001600160f81b031916908160001a9053506129aa600a8661310d565b945061294a565b8280546129bd90613007565b90600052602060002090601f0160209004810192826129df5760008555612a25565b82601f106129f857805160ff1916838001178555612a25565b82800160010185558215612a25579182015b82811115612a25578251825591602001919060010190612a0a565b50612a31929150612a35565b5090565b5b80821115612a315760008155600101612a36565b6001600160e01b0319811681146114c657600080fd5b600060208284031215612a7257600080fd5b813561146981612a4a565b600060208284031215612a8f57600080fd5b5035919050565b60005b83811015612ab1578181015183820152602001612a99565b838111156113055750506000910152565b60008151808452612ada816020860160208601612a96565b601f01601f19169290920160200192915050565b6020815260006114696020830184612ac2565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146114c657600080fd5b600060208284031215612b3c57600080fd5b813561146981612b15565b60008060408385031215612b5a57600080fd5b8235612b6581612b15565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612bb157612bb1612b73565b604052919050565b60006001600160401b03831115612bd257612bd2612b73565b612be5601f8401601f1916602001612b89565b9050828152838383011115612bf957600080fd5b828260208301376000602084830101529392505050565b600082601f830112612c2157600080fd5b61146983833560208501612bb9565b60008060408385031215612c4357600080fd5b8235915060208301356001600160401b03811115612c6057600080fd5b612c6c85828601612c10565b9150509250929050565b600080600060608486031215612c8b57600080fd5b8335612c9681612b15565b92506020840135612ca681612b15565b929592945050506040919091013590565b60008060408385031215612cca57600080fd5b50508035926020909101359150565b600080600060608486031215612cee57600080fd5b8335612cf981612b15565b9250602084810135925060408501356001600160401b0380821115612d1d57600080fd5b818701915087601f830112612d3157600080fd5b813581811115612d4357612d43612b73565b8060051b612d52858201612b89565b918252838101850191858101908b841115612d6c57600080fd5b86860192505b83831015612da857823585811115612d8a5760008081fd5b612d988d89838a0101612c10565b8352509186019190860190612d72565b809750505050505050509250925092565b60008060408385031215612dcc57600080fd5b823591506020830135612dde81612b15565b809150509250929050565b60008060208385031215612dfc57600080fd5b82356001600160401b0380821115612e1357600080fd5b818501915085601f830112612e2757600080fd5b813581811115612e3657600080fd5b866020606083028501011115612e4b57600080fd5b60209290920196919550909350505050565b6001600160a01b0392909216825261ffff16602082015260400190565b600060208284031215612e8c57600080fd5b81356001600160401b03811115612ea257600080fd5b61180684828501612c10565b60008060408385031215612ec157600080fd5b8235612ecc81612b15565b915060208301358015158114612dde57600080fd5b60008060008060808587031215612ef757600080fd5b8435612f0281612b15565b93506020850135612f1281612b15565b92506040850135915060608501356001600160401b03811115612f3457600080fd5b8501601f81018713612f4557600080fd5b612f5487823560208401612bb9565b91505092959194509250565b602080825282518282018190526000919060409081850190868401855b82811015612fb457815180516001600160a01b031685528601516001600160601b0316868501529284019290850190600101612f7d565b5091979650505050505050565b60008060408385031215612fd457600080fd5b8235612fdf81612b15565b91506020830135612dde81612b15565b60006040828403121561300157600080fd5b50919050565b600181811c9082168061301b57607f821691505b6020821081141561300157634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156130f2576130f26130c2565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261311c5761311c6130f7565b500490565b60008219821115613134576131346130c2565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415613163576131636130c2565b5060010190565b803561ffff8116811461317c57600080fd5b919050565b60006060828403121561319357600080fd5b604051606081016001600160401b03811182821017156131b5576131b5612b73565b6040528235815260208301356131ca81612b15565b60208201526131db6040840161316a565b60408201529392505050565b6000602082840312156131f957600080fd5b5051919050565b60006040828403121561321257600080fd5b604080519081016001600160401b038111828210171561323457613234612b73565b604052823561324281612b15565b81526132506020840161316a565b60208201529392505050565b60008282101561326e5761326e6130c2565b500390565b6020808252600b908201526a496e76616c69642062707360a81b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000602082840312156132fc57600080fd5b815161146981612b15565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613339816017850160208801612a96565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161336a816028840160208801612a96565b01602801949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906133a990830184612ac2565b9695505050505050565b6000602082840312156133c557600080fd5b815161146981612a4a565b600083516133e2818460208801612a96565b8351908301906133f6818360208801612a96565b01949350505050565b60008161340e5761340e6130c2565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008261343b5761343b6130f7565b50069056fe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ed25f8b019a108657fb3ddf834e4e32938f3e692438c9cec9f015d6531c7e94064736f6c63430008090033";
"0x60806040526000600c553480156200001657600080fd5b5060405162003d6138038062003d61833981016040819052620000399162000715565b60c081015160e0820151608083015160a08401516040850151606086015186516020880151610100890151620000786200007262000268565b62000284565b600280546001600160a01b0319166001600160a01b03929092169190911790558151620000ad90600490602085019062000535565b508051620000c390600590602084019062000535565b505050600a819055620000dd6330f487b560e11b620002d4565b620000ef6380ac58cd60e01b620002d4565b5080516200010590600d90602084019062000535565b5062000118633d96f4ff60e11b620002d4565b6200012a635b5e139f60e01b620002d4565b506200013d631aa1577160e11b620002d4565b6200014f632929b36760e11b620002d4565b62000161630d169dbf60e31b620002d4565b604080518082019091526001600160a01b038316815261ffff821660208201526200018c816200035c565b6200019e633a47bf5160e11b620002d4565b620001b063152a902d60e11b620002d4565b620001c263c69dbd8f60e01b620002d4565b620001d463656cb66560e11b620002d4565b5050601480546001600160a01b038086166001600160a01b03199283161790925560158054928516929091169190911790555062000219638d29851f60e01b620002d4565b5062000232905060006200022c62000268565b62000442565b620002617f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66200022c62000268565b5062000883565b60006200027f6200045260201b6200158e1760201c565b905090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160e01b03198082161415620003345760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b612710816020015161ffff1610620003a55760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642062707360a81b60448201526064016200032b565b60408051808201825282516001600160a01b03168082526020808501805161ffff169190930181905260108054600160a01b9092026001600160b01b03199092169092171790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe41926200043792916001600160a01b0392909216825261ffff16602082015260400190565b60405180910390a150565b6200044e82826200048b565b5050565b6002546000906001600160a01b031633141562000476575060131936013560601c90565b6200027f6200053160201b620015b01760201c565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff166200044e5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620004ed62000268565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b3390565b828054620005439062000846565b90600052602060002090601f016020900481019282620005675760008555620005b2565b82601f106200058257805160ff1916838001178555620005b2565b82800160010185558215620005b2579182015b82811115620005b257825182559160200191906001019062000595565b50620005c0929150620005c4565b5090565b5b80821115620005c05760008155600101620005c5565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715620006175762000617620005db565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620006485762000648620005db565b604052919050565b600082601f8301126200066257600080fd5b81516001600160401b038111156200067e576200067e620005db565b602062000694601f8301601f191682016200061d565b8281528582848701011115620006a957600080fd5b60005b83811015620006c9578581018301518282018401528201620006ac565b83811115620006db5760008385840101525b5095945050505050565b80516001600160a01b0381168114620006fd57600080fd5b919050565b805161ffff81168114620006fd57600080fd5b6000602082840312156200072857600080fd5b81516001600160401b03808211156200074057600080fd5b9083019061012082860312156200075657600080fd5b62000760620005f1565b8251828111156200077057600080fd5b6200077e8782860162000650565b8252506020830151828111156200079457600080fd5b620007a28782860162000650565b602083015250604083015182811115620007bb57600080fd5b620007c98782860162000650565b60408301525060608301516060820152620007e760808401620006e5565b6080820152620007fa60a0840162000702565b60a08201526200080d60c08401620006e5565b60c08201526200082060e08401620006e5565b60e0820152610100915062000837828401620006e5565b91810191909152949350505050565b600181811c908216806200085b57607f821691505b602082108114156200087d57634e487b7160e01b600052602260045260246000fd5b50919050565b6134ce80620008936000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806301ffc9a7146102405780630653aca51461026857806306fdde03146102aa578063081812fc146102bf57806308abf026146102df578063095ea7b3146102f4578063162094c414610307578063167446071461031a57806318160ddd1461032257806323b872dd14610334578063248a9ca3146103475780632a55205a1461035a5780632ee774bd1461038c5780632f2ff15d1461039f5780633542aee2146103b257806336568abe146103c557806342842e0e146103d85780634473f20a146103eb5780635136dcc7146103fe57806356c022bb14610411578063572b6c05146104245780635a9b0b89146104375780636352211e1461045a5780636c079cfc1461046d5780636f8b44b01461048057806370a0823114610493578063715018a6146104a65780637885fdc7146104ae5780637e980342146104dc5780638da5cb5b146104e45780638e28cf98146104ec57806391d14854146104ff578063938e3d7b1461051257806395d89b4114610525578063a217fddf1461052d578063a22cb46514610535578063b88d4fde14610548578063b89df8e81461055b578063c87b56dd14610564578063cad96cca14610577578063d539139314610597578063d547741f146105ac578063d5abeb01146105bf578063da742228146105c8578063e8a3d485146105db578063e985e9c5146105e3578063ef60ceaf146105f6578063f2fde38b14610609578063f384702f1461061c575b600080fd5b61025361024e366004612a78565b610629565b60405190151581526020015b60405180910390f35b61027b610276366004612a95565b610649565b60408051825181526020808401516001600160a01b0316908201529181015161ffff169082015260600161025f565b6102b26106ce565b60405161025f9190612b06565b6102d26102cd366004612a95565b610760565b60405161025f9190612b19565b6102f26102ed366004612b42565b6107ed565b005b6102f2610302366004612b5f565b61084e565b6102f2610315366004612c48565b610971565b6102f26109fe565b600c545b60405190815260200161025f565b6102f2610342366004612c8e565b610a4c565b610326610355366004612a95565b610a84565b61036d610368366004612ccf565b610a99565b604080516001600160a01b03909316835260208301919091520161025f565b6102f261039a366004612cf1565b610b5e565b6102f26103ad366004612dd1565b610c03565b6102f26103c0366004612b5f565b610c1f565b6102f26103d3366004612dd1565b610c68565b6102f26103e6366004612c8e565b610cf2565b6102f26103f9366004612a95565b610d0d565b6102f261040c366004612e01565b610d94565b6002546102d2906001600160a01b031681565b610253610432366004612b42565b610e2e565b61043f610e42565b6040805193845260208401929092529082015260600161025f565b6102d2610468366004612a95565b610f5b565b6102f261047b366004612b42565b610fd2565b6102f261048e366004612a95565b611033565b6103266104a1366004612b42565b6110bc565b6102f2611143565b6010546104ce906001600160a01b03811690600160a01b900461ffff1682565b60405161025f929190612e75565b61032661118e565b6102d261119f565b6102f26104fa366004612cf1565b6111ae565b61025361050d366004612dd1565b611246565b6102f2610520366004612e92565b611271565b6102b26112c3565b610326600081565b6102f2610543366004612ec6565b6112d2565b6102f2610556366004612ef9565b6112e4565b610326600f5481565b6102b2610572366004612a95565b611323565b61058a610585366004612a95565b61132e565b60405161025f9190612f78565b61032660008051602061345983398151915281565b6102f26105ba366004612dd1565b6113e9565b610326600a5481565b6102f26105d6366004612b42565b611405565b6102b2611466565b6102536105f1366004612fd9565b611475565b6102f2610604366004613007565b611488565b6102f2610617366004612b42565b6114e1565b600b546102539060ff1681565b6000610634826115b4565b806106435750610643826115f4565b92915050565b6040805160608101825260008082526020820181905291810182905290610671601284611630565b6000818152601160209081526040918290208251808401845290546001600160a01b03808216835261ffff600160a01b90920482168385019081528551606081018752968752925116928501929092525116908201529392505050565b6060600480546106dd9061301f565b80601f01602080910402602001604051908101604052809291908181526020018280546107099061301f565b80156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b5050505050905090565b600061076b8261163c565b6107d15760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600860205260409020546001600160a01b031690565b6107f5611659565b6001600160a01b031661080661119f565b6001600160a01b03161461082c5760405162461bcd60e51b81526004016107c890613054565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b600061085982610f5b565b9050806001600160a01b0316836001600160a01b031614156108c75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107c8565b806001600160a01b03166108d9611659565b6001600160a01b031614806108f557506108f5816105f1611659565b6109625760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016107c8565b61096c8383611663565b505050565b610979611659565b6001600160a01b031661098a61119f565b6001600160a01b0316146109b05760405162461bcd60e51b81526004016107c890613054565b600f5482116109f05760405162461bcd60e51b815260206004820152600c60248201526b232927ad22a72faa27a5a2a760a11b60448201526064016107c8565b6109fa82826116d1565b5050565b610a06611659565b6001600160a01b0316610a1761119f565b6001600160a01b031614610a3d5760405162461bcd60e51b81526004016107c890613054565b600b805460ff19166001179055565b610a5d610a57611659565b8261175c565b610a795760405162461bcd60e51b81526004016107c890613089565b61096c838383611826565b60009081526003602052604090206001015490565b60008281526011602052604081205481906001600160a01b031615610afe576000848152601160205260409020546001600160a01b0381169061271090610aeb90600160a01b900461ffff16866130f0565b610af59190613125565b91509150610b57565b6010546001600160a01b031615801590610b245750601054600160a01b900461ffff1615155b15610b50576010546001600160a01b0381169061271090610aeb90600160a01b900461ffff16866130f0565b5060009050805b9250929050565b610b66611659565b6001600160a01b0316610b7761119f565b6001600160a01b031614610b9d5760405162461bcd60e51b81526004016107c890613054565b6000610ba76119b0565b9050610bb384846119c1565b60005b83811015610bfc57610bea610bcb8284613139565b848381518110610bdd57610bdd613151565b60200260200101516116d1565b80610bf481613167565b915050610bb6565b5050505050565b610c0c82610a84565b610c1581611a57565b61096c8383611a68565b610c27611659565b6001600160a01b0316610c3861119f565b6001600160a01b031614610c5e5760405162461bcd60e51b81526004016107c890613054565b6109fa82826119c1565b610c70611659565b6001600160a01b0316816001600160a01b031614610ce85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107c8565b6109fa8282611aef565b61096c838383604051806020016040528060008152506112e4565b610d15611659565b6001600160a01b0316610d2661119f565b6001600160a01b031614610d4c5760405162461bcd60e51b81526004016107c890613054565b600f548111610d8f5760405162461bcd60e51b815260206004820152600f60248201526e43414e4e4f545f554e465245455a4560881b60448201526064016107c8565b600f55565b610d9c611659565b6001600160a01b0316610dad61119f565b6001600160a01b031614610dd35760405162461bcd60e51b81526004016107c890613054565b6109fa8282808060200260200160405190810160405280939291908181526020016000905b82821015610e2457610e1560608302860136819003810190613199565b81526020019060010190610df8565b5050505050611b74565b6002546001600160a01b0391821691161490565b600080808080610e50611659565b6001600160a01b031614610edb57306370a08231610e6c611659565b6040518263ffffffff1660e01b8152600401610e889190612b19565b60206040518083038186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed891906131ff565b90505b600a54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f91906131ff565b90959094509092509050565b6000818152600660205260408120546001600160a01b0316806106435760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107c8565b610fda611659565b6001600160a01b0316610feb61119f565b6001600160a01b0316146110115760405162461bcd60e51b81526004016107c890613054565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b61103b611659565b6001600160a01b031661104c61119f565b6001600160a01b0316146110725760405162461bcd60e51b81526004016107c890613054565b600b5460ff16156110b75760405162461bcd60e51b815260206004820152600f60248201526e2120a9a2afaaa924afa32927ad22a760891b60448201526064016107c8565b600a55565b60006001600160a01b0382166111275760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107c8565b506001600160a01b031660009081526007602052604090205490565b61114b611659565b6001600160a01b031661115c61119f565b6001600160a01b0316146111825760405162461bcd60e51b81526004016107c890613054565b61118c6000611d1b565b565b600061119a6012611d6b565b905090565b6000546001600160a01b031690565b6111c860008051602061345983398151915261050d611659565b6112065760405162461bcd60e51b815260206004820152600f60248201526e4e4f545f4d494e5445525f524f4c4560881b60448201526064016107c8565b60006112106119b0565b905061121c84846119c1565b60005b83811015610bfc57611234610bcb8284613139565b8061123e81613167565b91505061121f565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b611279611659565b6001600160a01b031661128a61119f565b6001600160a01b0316146112b05760405162461bcd60e51b81526004016107c890613054565b80516109fa90600d9060208401906129c9565b6060600580546106dd9061301f565b6109fa6112dd611659565b8383611d75565b6112f56112ef611659565b8361175c565b6113115760405162461bcd60e51b81526004016107c890613089565b61131d84848484611e40565b50505050565b606061064382611e73565b604080516001808252818301909252606091816020015b604080518082019091526000808252602082015281526020019060019003908161134557505060105481519192506001600160a01b031690829060009061138e5761138e613151565b60209081029190910101516001600160a01b039190911690526010548151600160a01b90910461ffff169082906000906113ca576113ca613151565b6020908102919091018101516001600160601b03909216910152919050565b6113f282610a84565b6113fb81611a57565b61096c8383611aef565b61140d611659565b6001600160a01b031661141e61119f565b6001600160a01b0316146114445760405162461bcd60e51b81526004016107c890613054565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600d80546106dd9061301f565b60006114818383611e7e565b9392505050565b611490611659565b6001600160a01b03166114a161119f565b6001600160a01b0316146114c75760405162461bcd60e51b81526004016107c890613054565b6114de6114d936839003830183613218565b611f8f565b50565b6114e9611659565b6001600160a01b03166114fa61119f565b6001600160a01b0316146115205760405162461bcd60e51b81526004016107c890613054565b6001600160a01b0381166115855760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107c8565b6114de81611d1b565b600061159933610e2e565b156115ab575060131936013560601c90565b503390565b3390565b60006001600160e01b031982166380ac58cd60e01b14806115e557506001600160e01b03198216635b5e139f60e01b145b8061064357506106438261203a565b60006301ffc9a760e01b6001600160e01b0319831614806106435750506001600160e01b03191660009081526001602052604090205460ff1690565b6000611481838361205f565b6000908152600660205260409020546001600160a01b0316151590565b600061119a61158e565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061169882610f5b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6116da8261163c565b61173d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016107c8565b6000828152600e60209081526040909120825161096c928401906129c9565b60006117678261163c565b6117c85760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107c8565b60006117d383610f5b565b9050806001600160a01b0316846001600160a01b031614806117fa57506117fa8185611475565b8061181e5750836001600160a01b031661181384610760565b6001600160a01b0316145b949350505050565b826001600160a01b031661183982610f5b565b6001600160a01b03161461189d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107c8565b6001600160a01b0382166118ff5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107c8565b61190a600082611663565b6001600160a01b0383166000908152600760205260408120805460019290611933908490613274565b90915550506001600160a01b0382166000908152600760205260408120805460019290611961908490613139565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061347983398151915291a4505050565b600c5460009061119a906001612089565b600a54816119ce600c5490565b6119d89190613139565b1115611a1b5760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b60448201526064016107c8565b60005b8181101561096c576000611a306119b0565b9050611a3c8482612095565b611a446120af565b5080611a4f81613167565b915050611a1e565b6114de81611a63611659565b6120c6565b611a728282611246565b6109fa5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611aab611659565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611af98282611246565b156109fa5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19169055611b30611659565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b60005b81518110156109fa576000828281518110611b9457611b94613151565b60200260200101519050612710816040015161ffff1610611bc75760405162461bcd60e51b81526004016107c89061328b565b60208101516001600160a01b0316611c40578051600090815260116020526040902080546001600160b01b03191690558051611c059060129061212a565b5080516040519081527fa2870857763bd9ae76c957f869f16b31c18dd3bb4c7b4d3a4496dc5c57c657f99060200160405180910390a1611d08565b6040805180820182526020808401516001600160a01b0390811683528484015161ffff90811683850190815286516000908152601190945294909220925183549451909216600160a01b026001600160b01b03199094169116179190911790558051611cae90601290612136565b50805160208083015160408085015181519485526001600160a01b039092169284019290925261ffff1682820152517f389b70fb0887f01e83784eb1c4c589f740eca53b00ed0f45e41db5d079719abb9181900360600190a15b5080611d1381613167565b915050611b77565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610643825490565b816001600160a01b0316836001600160a01b03161415611dd35760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016107c8565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611e4b848484611826565b611e5784848484612142565b61131d5760405162461bcd60e51b81526004016107c8906132b0565b606061064382612256565b6014546000906001600160a01b031615611f325760145460405163c455279160e01b81526001600160a01b0391821691841690829063c455279190611ec7908890600401612b19565b60206040518083038186803b158015611edf57600080fd5b505afa158015611ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f179190613302565b6001600160a01b03161415611f30576001915050610643565b505b6015546001600160a01b031615611f61576015546001600160a01b0383811691161415611f6157506001610643565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff16611481565b612710816020015161ffff1610611fb85760405162461bcd60e51b81526004016107c89061328b565b60408051808201825282516001600160a01b03168082526020808501805161ffff1691909301819052601080546001600160b01b031916909217600160a01b9091021790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe419261202f9291612e75565b60405180910390a150565b60006001600160e01b03198216637965db0b60e01b14806106435750610643826115f4565b600082600001828154811061207657612076613151565b9060005260206000200154905092915050565b60006114818284613139565b6109fa8282604051806020016040528060008152506123c5565b600c80549060006120bf83613167565b9190505550565b6120d08282611246565b6109fa576120e8816001600160a01b031660146123f8565b6120f38360206123f8565b60405160200161210492919061331f565b60408051601f198184030181529082905262461bcd60e51b82526107c891600401612b06565b60006114818383612593565b60006114818383612686565b60006001600160a01b0384163b1561224b57836001600160a01b031663150b7a0261216b611659565b8786866040518563ffffffff1660e01b815260040161218d949392919061338e565b602060405180830381600087803b1580156121a757600080fd5b505af19250505080156121d7575060408051601f3d908101601f191682019092526121d4918101906133cb565b60015b612231573d808015612205576040519150601f19603f3d011682016040523d82523d6000602084013e61220a565b606091505b5080516122295760405162461bcd60e51b81526004016107c8906132b0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061181e565b506001949350505050565b60606122618261163c565b6122c75760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b60648201526084016107c8565b6000828152600e6020526040812080546122e09061301f565b80601f016020809104026020016040519081016040528092919081815260200182805461230c9061301f565b80156123595780601f1061232e57610100808354040283529160200191612359565b820191906000526020600020905b81548152906001019060200180831161233c57829003601f168201915b50505050509050600061237760408051602081019091526000815290565b905080516000141561238a575092915050565b8151156123bc5780826040516020016123a49291906133e8565b60405160208183030381529060405292505050919050565b61181e846126d5565b6123cf83836127ac565b6123dc6000848484612142565b61096c5760405162461bcd60e51b81526004016107c8906132b0565b606060006124078360026130f0565b612412906002613139565b6001600160401b0381111561242957612429612b8b565b6040519080825280601f01601f191660200182016040528015612453576020820181803683370190505b509050600360fc1b8160008151811061246e5761246e613151565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061249d5761249d613151565b60200101906001600160f81b031916908160001a90535060006124c18460026130f0565b6124cc906001613139565b90505b6001811115612544576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061250057612500613151565b1a60f81b82828151811061251657612516613151565b60200101906001600160f81b031916908160001a90535060049490941c9361253d81613417565b90506124cf565b5083156114815760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107c8565b6000818152600183016020526040812054801561267c5760006125b7600183613274565b85549091506000906125cb90600190613274565b90508181146126305760008660000182815481106125eb576125eb613151565b906000526020600020015490508087600001848154811061260e5761260e613151565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806126415761264161342e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610643565b6000915050610643565b60008181526001830160205260408120546126cd57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610643565b506000610643565b60606126e08261163c565b6127445760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107c8565b600061275b60408051602081019091526000815290565b9050600081511161277b5760405180602001604052806000815250611481565b80612785846128cc565b6040516020016127969291906133e8565b6040516020818303038152906040529392505050565b6001600160a01b0382166128025760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107c8565b61280b8161163c565b156128575760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016107c8565b6001600160a01b0382166000908152600760205260408120805460019290612880908490613139565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020613479833981519152908290a45050565b6060816128f05750506040805180820190915260018152600360fc1b602082015290565b8160005b811561291a578061290481613167565b91506129139050600a83613125565b91506128f4565b6000816001600160401b0381111561293457612934612b8b565b6040519080825280601f01601f19166020018201604052801561295e576020820181803683370190505b5090505b841561181e57612973600183613274565b9150612980600a86613444565b61298b906030613139565b60f81b8183815181106129a0576129a0613151565b60200101906001600160f81b031916908160001a9053506129c2600a86613125565b9450612962565b8280546129d59061301f565b90600052602060002090601f0160209004810192826129f75760008555612a3d565b82601f10612a1057805160ff1916838001178555612a3d565b82800160010185558215612a3d579182015b82811115612a3d578251825591602001919060010190612a22565b50612a49929150612a4d565b5090565b5b80821115612a495760008155600101612a4e565b6001600160e01b0319811681146114de57600080fd5b600060208284031215612a8a57600080fd5b813561148181612a62565b600060208284031215612aa757600080fd5b5035919050565b60005b83811015612ac9578181015183820152602001612ab1565b8381111561131d5750506000910152565b60008151808452612af2816020860160208601612aae565b601f01601f19169290920160200192915050565b6020815260006114816020830184612ada565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146114de57600080fd5b600060208284031215612b5457600080fd5b813561148181612b2d565b60008060408385031215612b7257600080fd5b8235612b7d81612b2d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612bc957612bc9612b8b565b604052919050565b60006001600160401b03831115612bea57612bea612b8b565b612bfd601f8401601f1916602001612ba1565b9050828152838383011115612c1157600080fd5b828260208301376000602084830101529392505050565b600082601f830112612c3957600080fd5b61148183833560208501612bd1565b60008060408385031215612c5b57600080fd5b8235915060208301356001600160401b03811115612c7857600080fd5b612c8485828601612c28565b9150509250929050565b600080600060608486031215612ca357600080fd5b8335612cae81612b2d565b92506020840135612cbe81612b2d565b929592945050506040919091013590565b60008060408385031215612ce257600080fd5b50508035926020909101359150565b600080600060608486031215612d0657600080fd5b8335612d1181612b2d565b9250602084810135925060408501356001600160401b0380821115612d3557600080fd5b818701915087601f830112612d4957600080fd5b813581811115612d5b57612d5b612b8b565b8060051b612d6a858201612ba1565b918252838101850191858101908b841115612d8457600080fd5b86860192505b83831015612dc057823585811115612da25760008081fd5b612db08d89838a0101612c28565b8352509186019190860190612d8a565b809750505050505050509250925092565b60008060408385031215612de457600080fd5b823591506020830135612df681612b2d565b809150509250929050565b60008060208385031215612e1457600080fd5b82356001600160401b0380821115612e2b57600080fd5b818501915085601f830112612e3f57600080fd5b813581811115612e4e57600080fd5b866020606083028501011115612e6357600080fd5b60209290920196919550909350505050565b6001600160a01b0392909216825261ffff16602082015260400190565b600060208284031215612ea457600080fd5b81356001600160401b03811115612eba57600080fd5b61181e84828501612c28565b60008060408385031215612ed957600080fd5b8235612ee481612b2d565b915060208301358015158114612df657600080fd5b60008060008060808587031215612f0f57600080fd5b8435612f1a81612b2d565b93506020850135612f2a81612b2d565b92506040850135915060608501356001600160401b03811115612f4c57600080fd5b8501601f81018713612f5d57600080fd5b612f6c87823560208401612bd1565b91505092959194509250565b602080825282518282018190526000919060409081850190868401855b82811015612fcc57815180516001600160a01b031685528601516001600160601b0316868501529284019290850190600101612f95565b5091979650505050505050565b60008060408385031215612fec57600080fd5b8235612ff781612b2d565b91506020830135612df681612b2d565b60006040828403121561301957600080fd5b50919050565b600181811c9082168061303357607f821691505b6020821081141561301957634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561310a5761310a6130da565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826131345761313461310f565b500490565b6000821982111561314c5761314c6130da565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561317b5761317b6130da565b5060010190565b803561ffff8116811461319457600080fd5b919050565b6000606082840312156131ab57600080fd5b604051606081016001600160401b03811182821017156131cd576131cd612b8b565b6040528235815260208301356131e281612b2d565b60208201526131f360408401613182565b60408201529392505050565b60006020828403121561321157600080fd5b5051919050565b60006040828403121561322a57600080fd5b604080519081016001600160401b038111828210171561324c5761324c612b8b565b604052823561325a81612b2d565b815261326860208401613182565b60208201529392505050565b600082821015613286576132866130da565b500390565b6020808252600b908201526a496e76616c69642062707360a81b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60006020828403121561331457600080fd5b815161148181612b2d565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613351816017850160208801612aae565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613382816028840160208801612aae565b01602801949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906133c190830184612ada565b9695505050505050565b6000602082840312156133dd57600080fd5b815161148181612a62565b600083516133fa818460208801612aae565b83519083019061340e818360208801612aae565b01949350505050565b600081613426576134266130da565b506000190190565b634e487b7160e01b600052603160045260246000fd5b6000826134535761345361310f565b50069056fe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122051dc7920d5ddd672fb89a78e7748c9c8e7a18ee72ff86ce6b0ce924fd835b5cc64736f6c63430008090033";

@@ -1178,0 +1191,0 @@ export class ERC721OneOfOneCollection__factory extends ContractFactory {

@@ -396,2 +396,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -398,0 +411,0 @@ {

@@ -222,2 +222,15 @@ /* Autogenerated file. Do not edit manually. */

inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",

@@ -224,0 +237,0 @@ outputs: [

@@ -208,2 +208,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -210,0 +223,0 @@ {

@@ -208,2 +208,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -210,0 +223,0 @@ {

@@ -208,2 +208,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -210,0 +223,0 @@ {

@@ -370,2 +370,15 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "maxSupplyFrozen",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [

@@ -372,0 +385,0 @@ {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc