Contract 0x25a746062B6fe474a47Ef15BDE1317b0aD06847b 1

Contract Overview

Balance:
33.277707266013956594 AVAX

AVAX Value:
$641.59 (@ $19.28/AVAX)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xae2a612fdfa9ce8f8b81f1681aa1e56979738bbd5e82c21ab638574bd098aa3cClaim Mint Rewar...166003602022-06-27 21:11:013 hrs 40 mins ago0xce99eff1d2c1f5fac379b2460ff402b256b54525 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.009446349 26.5
0xa6facfc209429dcb56572c7d56de48cc2bf71967f846a330cb94bbea88572172Claim Mint Rewar...165933832022-06-27 17:18:327 hrs 33 mins ago0xba109916a5f1381845d6fc4a2758c1abd196ff93 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0298399275 26.5
0xeb420d39962c4af8648c397d8010f64ac54613f8c4ecd033fd1217b5754d14c2Claim Mint Rewar...164825202022-06-25 3:37:242 days 21 hrs ago0x0f755f6af060f126104d02456024044e5cc37743 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0422080605 26.5
0x4451aa347b6af239bb4421a9c9602f129011d445cc4077e7f23c19b5de08724cClaim Mint Rewar...163619582022-06-22 8:42:535 days 16 hrs ago0x3b91ac4342ed6b42bc7ba904920bb075b6b85ba8 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0142476455 26.5
0x70f838243c339b9f3213d2cfe2bfc5ef4c4e3104b431f02fd0bc447f0dec77eeClaim Mint Rewar...163404312022-06-21 20:44:356 days 4 hrs ago0x554aa7b74ae0bc1bbdcf816a58fa88d7e60a4daa IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.036875015 26.5
0x3b58fc75c25da4ad6e89b07a9a7ca91c1780ccaf42b8c8effeaea4276af6fe0bClaim Mint Rewar...162915782022-06-20 17:34:337 days 7 hrs ago0xa8008579c617e81bbad731b94e3282a28d155947 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.024449801 26.5
0x15e0f15c2fe8cc531ca2dcd70496d59ed6bd1026df7e8f13bfb98b97d5667914Claim Mint Rewar...162463372022-06-19 16:30:198 days 8 hrs ago0x286765e4a560181ec09b7843b80693a253afc86c IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0549397735 26.5
0xc2d4347098303da8f4255f4eeadd401b40927cacb0881f0fbf33b8ac5d5eae98Withdraw161774512022-06-18 2:38:299 days 22 hrs ago0x5645cc6a10e61b706d40646354f93937928de6a1 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0016609175 27.5
0x8c388da140b9a3f9116bcaf31b54d7a212f62885c63a9ba891cde11b044a0d5aMint161754052022-06-18 1:30:529 days 23 hrs ago0x286765e4a560181ec09b7843b80693a253afc86c IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0.69 AVAX0.0029335235 26.5
0xb70b2b502cea1bc20953ea7402da5ad60d866e74d677528777043c2ce3a2673dMint161698682022-06-17 22:25:2210 days 2 hrs ago0x5645cc6a10e61b706d40646354f93937928de6a1 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0.69 AVAX0.0029335235 26.5
0xa15cf26b52491bd4190b2275c2e63e96d024592a2e892463a690d80047d612cfClaim Mint Rewar...160441612022-06-15 1:12:0312 days 23 hrs ago0xa449dbe957ae86b7734af1ccf60614c29f7b44c1 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.042052839529 26.8818
0xe7afb7caf8152b04a2583ff453bc0480f91cf342f969405a5f283928d8ae928eClaim Mint Rewar...159932212022-06-13 21:21:3514 days 3 hrs ago0x5d0569e7ba7e28b8b99ebcc0af90f7a89dda4edf IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.023555448 27
0x9990d00255f36353ab09aeaaa2abd07216710d0444e2c4b284aedb0fc042e52dClaim Mint Rewar...159095442022-06-11 23:47:1516 days 1 hr ago0x554aa7b74ae0bc1bbdcf816a58fa88d7e60a4daa IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0036200187 26.41
0x37aa64db8bb99726befd0d3403b431a3edaf2fec1b577b25ab98e0b67c2f9c3dClaim Mint Rewar...158256802022-06-10 1:06:5017 days 23 hrs ago0x286765e4a560181ec09b7843b80693a253afc86c IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0515303365 26.5
0xeb4ebfbb233f2fb7b1171f12a740cb3d7289761e313441b84512fd4bf008266aClaim Mint Rewar...158109172022-06-09 16:52:4218 days 7 hrs ago0xb06788822d766399e20688d3cc8a739f66faf365 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0390840285 26.5
0xb94d8f7809b27449a88a3686118bc49b5fb657590c95616dc7d477131d99d948Set Approval For...158045902022-06-09 13:21:1518 days 11 hrs ago0xb06788822d766399e20688d3cc8a739f66faf365 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0012717925 27.5
0xe03c7d828927f061d0cc665fc57dc00050d7bb96b4ce0f0edae2e558c2e6ce96Claim Mint Rewar...157476882022-06-08 5:32:1619 days 19 hrs ago0x3399841565a0040d4374ce5c7e21ea6580b7bea0 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.02814440658 26.94
0x21db9e171a9a1d7069c52d001da12633ff862133f51c81bcd381067cff126f01Claim Mint Rewar...157123052022-06-07 9:55:4420 days 14 hrs ago0x6656da8e7339ba707ec346d660276e7799843eaa IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.034972792 26.5
0x59f01e3edb218531ca48051c2b1b3eb479eb865f29b115d8c4168bb9c8b65644Claim Mint Rewar...156982102022-06-07 2:03:0420 days 22 hrs ago0x009bcc2f1684bf2ad6234b4b15811bc675340c71 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0262669855 26.5
0x5e3d0383e422a8fe78d68907d13737be85b2ce9300b9399a6c738572c914f78cClaim Mint Rewar...156937022022-06-06 23:34:1621 days 1 hr ago0x5645cc6a10e61b706d40646354f93937928de6a1 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.043377161 26.5
0x3ee0afae8d3d4bbb245fcc5e78c2744fbcca9c40f23268663cda0efd75cb12b7Withdraw156934912022-06-06 23:27:1121 days 1 hr ago0x5645cc6a10e61b706d40646354f93937928de6a1 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0016609175 27.5
0x9d984599b110e4cd10af729a67adde8f2ab0b158b4f167b2fe67d00ced41b602Mint156839012022-06-06 17:55:1121 days 6 hrs ago0x83bb73e9b62d7b1f618a9c46c998c77fb1217459 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b1.38 AVAX0.004236661 26.5
0x29abc8a3365b571cf73c6c82adc0b5e552339ff591cd05ef30a23fbc1cc978eaClaim Mint Rewar...156147202022-06-05 3:01:5222 days 21 hrs ago0x5ea6838036e80f29f8e06c07e2bd225aa324e956 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.012753443 26.5
0x756d40e6038366203a8f83f145f61489ff1ccd61bfd82e93dfb115444faf8028Claim Mint Rewar...155740642022-06-04 4:18:5623 days 20 hrs ago0xc071a1945cff872d30e7f3bdfcd17eca8f46ea19 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.0277590415 26.5
0xe63afe858710d03ea3dd7c752f7536d26149a5a2e66f7ffee1b651866e977450Claim Mint Rewar...155617022022-06-03 21:24:3424 days 3 hrs ago0x5f9f28aaa8ded7e144842c9b32ee02e474eb8eb5 IN  0x25a746062b6fe474a47ef15bde1317b0ad06847b0 AVAX0.019384803 26.5
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xae2a612fdfa9ce8f8b81f1681aa1e56979738bbd5e82c21ab638574bd098aa3c166003602022-06-27 21:11:013 hrs 40 mins ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xce99eff1d2c1f5fac379b2460ff402b256b545250.02118854000614012 AVAX
0xa6facfc209429dcb56572c7d56de48cc2bf71967f846a330cb94bbea88572172165933832022-06-27 17:18:327 hrs 33 mins ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xba109916a5f1381845d6fc4a2758c1abd196ff930.078313399797632027 AVAX
0xeb420d39962c4af8648c397d8010f64ac54613f8c4ecd033fd1217b5754d14c2164825202022-06-25 3:37:242 days 21 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x0f755f6af060f126104d02456024044e5cc377430.104136466203453866 AVAX
0x4451aa347b6af239bb4421a9c9602f129011d445cc4077e7f23c19b5de08724c163619582022-06-22 8:42:535 days 16 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x3b91ac4342ed6b42bc7ba904920bb075b6b85ba80.008475416002456048 AVAX
0x70f838243c339b9f3213d2cfe2bfc5ef4c4e3104b431f02fd0bc447f0dec77ee163404312022-06-21 20:44:356 days 4 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x554aa7b74ae0bc1bbdcf816a58fa88d7e60a4daa0.084752788838342867 AVAX
0x3b58fc75c25da4ad6e89b07a9a7ca91c1780ccaf42b8c8effeaea4276af6fe0b162915782022-06-20 17:34:337 days 7 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xa8008579c617e81bbad731b94e3282a28d1559470.135288860296917195 AVAX
0x15e0f15c2fe8cc531ca2dcd70496d59ed6bd1026df7e8f13bfb98b97d5667914162463372022-06-19 16:30:198 days 8 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x286765e4a560181ec09b7843b80693a253afc86c0.14802402715182999 AVAX
0xc2d4347098303da8f4255f4eeadd401b40927cacb0881f0fbf33b8ac5d5eae98161774512022-06-18 2:38:299 days 22 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5645cc6a10e61b706d40646354f93937928de6a10.190439999960000282 AVAX
0xc2d4347098303da8f4255f4eeadd401b40927cacb0881f0fbf33b8ac5d5eae98161774512022-06-18 2:38:299 days 22 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x292f22b2fc32dd004e8b76bb058e6324288f89310.031740000010000047 AVAX
0xc2d4347098303da8f4255f4eeadd401b40927cacb0881f0fbf33b8ac5d5eae98161774512022-06-18 2:38:299 days 22 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x10bde4a513e26e25b30402458d60febd02c99c8d0.095220000030000141 AVAX
0xa15cf26b52491bd4190b2275c2e63e96d024592a2e892463a690d80047d612cf160441612022-06-15 1:12:0312 days 23 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xa449dbe957ae86b7734af1ccf60614c29f7b44c10.448081842222910368 AVAX
0xe7afb7caf8152b04a2583ff453bc0480f91cf342f969405a5f283928d8ae928e159932212022-06-13 21:21:3514 days 3 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5d0569e7ba7e28b8b99ebcc0af90f7a89dda4edf1.247575688929542004 AVAX
0x37aa64db8bb99726befd0d3403b431a3edaf2fec1b577b25ab98e0b67c2f9c3d158256802022-06-10 1:06:5017 days 23 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x286765e4a560181ec09b7843b80693a253afc86c0.37265830386543934 AVAX
0xeb4ebfbb233f2fb7b1171f12a740cb3d7289761e313441b84512fd4bf008266a158109172022-06-09 16:52:4218 days 7 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xb06788822d766399e20688d3cc8a739f66faf3650.99936711499693601 AVAX
0xe03c7d828927f061d0cc665fc57dc00050d7bb96b4ce0f0edae2e558c2e6ce96157476882022-06-08 5:32:1619 days 19 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x3399841565a0040d4374ce5c7e21ea6580b7bea00.044809156460355624 AVAX
0x21db9e171a9a1d7069c52d001da12633ff862133f51c81bcd381067cff126f01157123052022-06-07 9:55:4420 days 14 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x6656da8e7339ba707ec346d660276e7799843eaa0.115311590191954155 AVAX
0x59f01e3edb218531ca48051c2b1b3eb479eb865f29b115d8c4168bb9c8b65644156982102022-06-07 2:03:0420 days 22 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x009bcc2f1684bf2ad6234b4b15811bc675340c710.049886286200143164 AVAX
0x5e3d0383e422a8fe78d68907d13737be85b2ce9300b9399a6c738572c914f78c156937022022-06-06 23:34:1621 days 1 hr ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5645cc6a10e61b706d40646354f93937928de6a10.192622760852803758 AVAX
0x3ee0afae8d3d4bbb245fcc5e78c2744fbcca9c40f23268663cda0efd75cb12b7156934912022-06-06 23:27:1121 days 1 hr ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5645cc6a10e61b706d40646354f93937928de6a10.190439999960000201 AVAX
0x3ee0afae8d3d4bbb245fcc5e78c2744fbcca9c40f23268663cda0efd75cb12b7156934912022-06-06 23:27:1121 days 1 hr ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x292f22b2fc32dd004e8b76bb058e6324288f89310.031740000010000033 AVAX
0x3ee0afae8d3d4bbb245fcc5e78c2744fbcca9c40f23268663cda0efd75cb12b7156934912022-06-06 23:27:1121 days 1 hr ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x10bde4a513e26e25b30402458d60febd02c99c8d0.095220000030000099 AVAX
0xd9343605aa293fcd4d23b5ae4c792444bb74a980773c2cb0fb2bd331ba50bdd1156825022022-06-06 17:04:5721 days 7 hrs ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x25a746062b6fe474a47ef15bde1317b0ad06847b0.03 AVAX
0x29abc8a3365b571cf73c6c82adc0b5e552339ff591cd05ef30a23fbc1cc978ea156147202022-06-05 3:01:5222 days 21 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5ea6838036e80f29f8e06c07e2bd225aa324e9560.036314117688735218 AVAX
0x756d40e6038366203a8f83f145f61489ff1ccd61bfd82e93dfb115444faf8028155740642022-06-04 4:18:5623 days 20 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0xc071a1945cff872d30e7f3bdfcd17eca8f46ea190.486420017458049565 AVAX
0xe63afe858710d03ea3dd7c752f7536d26149a5a2e66f7ffee1b651866e977450155617022022-06-03 21:24:3424 days 3 hrs ago 0x25a746062b6fe474a47ef15bde1317b0ad06847b0x5f9f28aaa8ded7e144842c9b32ee02e474eb8eb50.257789898516546038 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HardRockNickSociety

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2022-02-19
*/

// SPDX-License-Identifier: MIT

/*
 
 /$$   /$$                           /$$       /$$$$$$$                      /$$             /$$   /$$ /$$           /$$              /$$$$$$                      /$$             /$$              
| $$  | $$                          | $$      | $$__  $$                    | $$            | $$$ | $$|__/          | $$             /$$__  $$                    |__/            | $$              
| $$  | $$  /$$$$$$   /$$$$$$   /$$$$$$$      | $$  \ $$  /$$$$$$   /$$$$$$$| $$   /$$      | $$$$| $$ /$$  /$$$$$$$| $$   /$$      | $$  \__/  /$$$$$$   /$$$$$$$ /$$  /$$$$$$  /$$$$$$   /$$   /$$
| $$$$$$$$ |____  $$ /$$__  $$ /$$__  $$      | $$$$$$$/ /$$__  $$ /$$_____/| $$  /$$/      | $$ $$ $$| $$ /$$_____/| $$  /$$/      |  $$$$$$  /$$__  $$ /$$_____/| $$ /$$__  $$|_  $$_/  | $$  | $$
| $$__  $$  /$$$$$$$| $$  \__/| $$  | $$      | $$__  $$| $$  \ $$| $$      | $$$$$$/       | $$  $$$$| $$| $$      | $$$$$$/        \____  $$| $$  \ $$| $$      | $$| $$$$$$$$  | $$    | $$  | $$
| $$  | $$ /$$__  $$| $$      | $$  | $$      | $$  \ $$| $$  | $$| $$      | $$_  $$       | $$\  $$$| $$| $$      | $$_  $$        /$$  \ $$| $$  | $$| $$      | $$| $$_____/  | $$ /$$| $$  | $$
| $$  | $$|  $$$$$$$| $$      |  $$$$$$$      | $$  | $$|  $$$$$$/|  $$$$$$$| $$ \  $$      | $$ \  $$| $$|  $$$$$$$| $$ \  $$      |  $$$$$$/|  $$$$$$/|  $$$$$$$| $$|  $$$$$$$  |  $$$$/|  $$$$$$$
|__/  |__/ \_______/|__/       \_______/      |__/  |__/ \______/  \_______/|__/  \__/      |__/  \__/|__/ \_______/|__/  \__/       \______/  \______/  \_______/|__/ \_______/   \___/   \____  $$
                                                                                                                                                                                           /$$  | $$
                                                                                                                                                                                          |  $$$$$$/                                                                                                                                                                                        \______/ 
*/



pragma solidity 0.8.11;


library Strings {
	function toString(uint256 value) internal pure returns(string memory) {
		if (value == 0) return "0";

		uint256 temp = value;
		uint256 digits;

		while (temp != 0) {
			digits++;
			temp /= 10;
		}

		bytes memory buffer = new bytes(digits);

		while (value != 0) {
			digits -= 1;
			buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
			value /= 10;
		}

		return string(buffer);
	}
}

library Address {
	function isContract(address account) internal view returns(bool) {
		return account.code.length > 0;
	}
}

library Counters {
	struct Counter {
		uint256 _value;
	}


	function current(Counter storage counter) internal view returns(uint256) {
		return counter._value;
	}

	function increment(Counter storage counter) internal {
		unchecked {
			counter._value += 1;
		}
	}

	function decrement(Counter storage counter) internal {
		uint256 value = counter._value;
		require(value > 0, "Counter: decrement overflow");

		unchecked {
			counter._value = value - 1;
		}
	}

	function reset(Counter storage counter) internal {
		counter._value = 0;
	}
}


interface IERC165 {
	function supportsInterface(bytes4 interfaceID) external view returns(bool);
}

interface IERC721 is IERC165 {
	event Transfer(address indexed from, address indexed to, uint256 indexed tokenID);
	event Approval(address indexed owner, address indexed approved, uint256 indexed tokenID);
	event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

	function balanceOf(address owner) external view returns(uint256 balance);

	function ownerOf(uint256 tokenID) external view returns(address owner);

	function safeTransferFrom(address from, address to, uint256 tokenID) external;

	function transferFrom(address from, address to, uint256 tokenID) external;

	function approve(address to, uint256 tokenID) external;

	function getApproved(uint256 tokenID) external view returns(address operator);

	function setApprovalForAll(address operator, bool _approved) external;

	function isApprovedForAll(address owner, address operator) external view returns(bool);

	function safeTransferFrom(address from, address to, uint256 tokenID, bytes calldata data) external;
}

interface IERC721Metadata is IERC721 {
	function name() external view returns(string memory);

	function symbol() external view returns(string memory);

	function tokenURI(uint256 tokenID) external view returns(string memory);
}

interface IERC721Receiver {
	function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns(bytes4);
}

interface IERC2981Royalties {
	function royaltyInfo(uint256 tokenID, uint256 value) external view returns(address receiver, uint256 royaltyAmount);
}


abstract contract Context {
	function _msgSender() internal view virtual returns(address) {
		return msg.sender;
	}

	function _msgData() internal view virtual returns(bytes calldata) {
		return msg.data;
	}
}

abstract contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


	constructor() {
		_transferOwnership(_msgSender());
	}


	function owner() public view virtual returns(address) {
		return _owner;
	}

	modifier onlyOwner() {
		require(owner() == _msgSender(), "Ownable: caller is not the owner");
		_;
	}


	function transferOwnership(address newOwner) public virtual onlyOwner {
		require(newOwner != address(0), "Ownable: new owner is the zero address");

		_transferOwnership(newOwner);
	}

	function _transferOwnership(address newOwner) internal virtual {
		address oldOwner = _owner;

		_owner = newOwner;

		emit OwnershipTransferred(oldOwner, newOwner);
	}
}

abstract contract ReentrancyGuard {
	uint256 private constant _NOT_ENTERED = 1;
	uint256 private constant _ENTERED = 2;

	uint256 private _status;

	constructor() {
		_status = _NOT_ENTERED;
	}


	modifier nonReentrant() {
		require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

		_status = _ENTERED;

		_;

		_status = _NOT_ENTERED;
	}
}


abstract contract ERC165 is IERC165 {
	function supportsInterface(bytes4 interfaceID) public view virtual override returns(bool) {
		return interfaceID == type(IERC165).interfaceId;
	}
}

abstract contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
	using Address for address;
	using Strings for uint256;

	string private _name;
	string private _symbol;

	mapping(uint256 => address) private _owners;
	mapping(address => uint256) private _balances;
	mapping(uint256 => address) private _tokenApprovals;
	mapping(address => mapping(address => bool)) private _operatorApprovals;

	constructor(string memory name_, string memory symbol_) {
		_name = name_;
		_symbol = symbol_;
	}

	function supportsInterface(bytes4 interfaceID) public view virtual override(ERC165, IERC165) returns(bool) {
		return interfaceID == type(IERC721).interfaceId || interfaceID == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceID);
	}

	function balanceOf(address owner) public view virtual override returns(uint256) {
		require(owner != address(0), "ERC721: balance query for the zero address");

		return _balances[owner];
	}

	function ownerOf(uint256 tokenId) public view virtual override returns(address) {
		address owner = _owners[tokenId];

		require(owner != address(0), "ERC721: owner query for nonexistent token");

		return owner;
	}

	function name() public view virtual override returns(string memory) {
		return _name;
	}

	function symbol() public view virtual override returns(string memory) {
		return _symbol;
	}

	function tokenURI(uint256 tokenID) public view virtual override returns(string memory) {
		require(_exists(tokenID), "ERC721Metadata: URI query for nonexistent token");

		string memory baseURI = _baseURI();

		return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenID.toString())) : "";
	}

	function _baseURI() internal view virtual returns(string memory) {
		return "";
	}

	function approve(address to, uint256 tokenID) public virtual override {
		address owner = ERC721.ownerOf(tokenID);
		require(to != owner, "ERC721: approval to current owner");

		require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all");

		_approve(to, tokenID);
	}

	function getApproved(uint256 tokenID) public view virtual override returns(address) {
		require(_exists(tokenID), "ERC721: approved query for nonexistent token");

		return _tokenApprovals[tokenID];
	}

	function setApprovalForAll(address operator, bool approved) public virtual override {
		_setApprovalForAll(_msgSender(), operator, approved);
	}

	function isApprovedForAll(address owner, address operator) public view virtual override returns(bool) {
		return _operatorApprovals[owner][operator];
	}

	function transferFrom(address from, address to, uint256 tokenID) public virtual override {
		//solhint-disable-next-line max-line-length
		require(_isApprovedOrOwner(_msgSender(), tokenID), "ERC721: transfer caller is not owner nor approved");

		_transfer(from, to, tokenID);
	}

	function safeTransferFrom(address from, address to, uint256 tokenID) public virtual override {
		safeTransferFrom(from, to, tokenID, "");
	}

	function safeTransferFrom(address from, address to, uint256 tokenID, bytes memory _data) public virtual override {
		require(_isApprovedOrOwner(_msgSender(), tokenID), "ERC721: transfer caller is not owner nor approved");

		_safeTransfer(from, to, tokenID, _data);
	}

	function _safeTransfer(address from, address to, uint256 tokenID, bytes memory _data) internal virtual {
		_transfer(from, to, tokenID);

		require(_checkOnERC721Received(from, to, tokenID, _data), "ERC721: transfer to non ERC721Receiver implementer");
	}

	function _exists(uint256 tokenID) internal view virtual returns(bool) {
		return _owners[tokenID] != address(0);
	}

	function _isApprovedOrOwner(address spender, uint256 tokenID) internal view virtual returns(bool) {
		require(_exists(tokenID), "ERC721: operator query for nonexistent token");

		address owner = ERC721.ownerOf(tokenID);

		return (spender == owner || getApproved(tokenID) == spender || isApprovedForAll(owner, spender));
	}

	function _safeMint(address to, uint256 tokenID) internal virtual {
		_safeMint(to, tokenID, "");
	}

	function _safeMint(address to, uint256 tokenID, bytes memory _data) internal virtual {
		_mint(to, tokenID);

		require(_checkOnERC721Received(address(0), to, tokenID, _data), "ERC721: transfer to non ERC721Receiver implementer");
	}

	function _mint(address to, uint256 tokenID) internal virtual {
		require(to != address(0), "ERC721: mint to the zero address");
		require(!_exists(tokenID), "ERC721: token already minted");

		_beforeTokenTransfer(address(0), to, tokenID);

		_balances[to] += 1;
		_owners[tokenID] = to;

		emit Transfer(address(0), to, tokenID);

		_afterTokenTransfer(address(0), to, tokenID);
	}

	function _burn(uint256 tokenID) internal virtual {
		address owner = ERC721.ownerOf(tokenID);

		_beforeTokenTransfer(owner, address(0), tokenID);
		_approve(address(0), tokenID);

		_balances[owner] -= 1;
		delete _owners[tokenID];

		emit Transfer(owner, address(0), tokenID);

		_afterTokenTransfer(owner, address(0), tokenID);
	}

	function _transfer(address from, address to, uint256 tokenID) internal virtual {
		require(ERC721.ownerOf(tokenID) == from, "ERC721: transfer from incorrect owner");
		require(to != address(0), "ERC721: transfer to the zero address");

		_beforeTokenTransfer(from, to, tokenID);
		_approve(address(0), tokenID);

		_balances[from] -= 1;
		_balances[to] += 1;
		_owners[tokenID] = to;

		emit Transfer(from, to, tokenID);

		_afterTokenTransfer(from, to, tokenID);
	}

	function _approve(address to, uint256 tokenID) internal virtual {
		_tokenApprovals[tokenID] = to;

		emit Approval(ERC721.ownerOf(tokenID), to, tokenID);
	}

	function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {
		require(owner != operator, "ERC721: approve to caller");

		_operatorApprovals[owner][operator] = approved;

		emit ApprovalForAll(owner, operator, approved);
	}

	function _checkOnERC721Received(address from, address to, uint256 tokenID, bytes memory _data) private returns(bool) {
		if (to.isContract()) {
			try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenID, _data) returns(bytes4 retval) {
				return retval == IERC721Receiver.onERC721Received.selector;
			} catch (bytes memory reason) {
				if (reason.length == 0) revert("ERC721: transfer to non ERC721Receiver implementer");

				else {
					assembly {
						revert(add(32, reason), mload(reason))
					}
				}
			}
		}

		else return true;
	}

	function _beforeTokenTransfer(address from, address to, uint256 tokenID) internal virtual {}

	function _afterTokenTransfer(address from, address to, uint256 tokenID) internal virtual {}
}



contract HardRockNickSociety is ERC721, ReentrancyGuard, Ownable {
	using Counters for Counters.Counter;
	using Strings for uint256;


	bool public paused;
	bool public revealed;
	bool public allowListings;
	bool public collectSalesRewardsFromThirdParty;

	string private baseURI;
	string private uriSuffix;

	uint256 public cost;
	uint256 public maxSupply;
	uint256 public reservedSupply;

	uint256 public maxMintAmountPerTX;

	uint256 public royalties;
	uint256 public dust;

	uint256 public mintRewards;
	uint256 public salesRewards;
	uint256 public mintRewardsIndex;
	uint256 public salesRewardsIndex;
	uint256 public totalMintRewardsVault;
	uint256 public totalSalesRewardsVault;

	mapping(uint256 => uint256) private lastCollectedMintRewardIndex;
	mapping(uint256 => uint256) private lastCollectedSalesRewardIndex;


	address private communityAddress;
	address private donationAddress;


	struct Listing {
		uint256 tokenID;
		uint256 price;
		address seller;
		uint256 timestamp;
	}

	Listing[] private listings;

	Counters.Counter private supply;


	uint256 private constant PERCENTAGE_MULTIPLIER = 10000;


	event NewListing(uint256 indexed tokenID, address indexed seller, uint256 price);
	event WithdrawnListing(uint256 indexed tokenID);
	event TokenSold(uint256 indexed tokenID, address indexed from, address indexed to, uint256 price);
	event ClaimedRewards(address indexed wallet, uint256 amount, uint8 indexed rewardType);
	event DisbursedRewards(uint256 amount);


	constructor(address _initCommunityAddress, address _initDonationAddress) ERC721("Hard Rock Nick Society", "NICK") {
		paused = true;
		revealed = true;
		allowListings = true;
		collectSalesRewardsFromThirdParty = true;

		cost = 1 ether;
		maxSupply = 1111;
		reservedSupply = 20;
		maxMintAmountPerTX = 25;

		royalties = 140;
		mintRewards = 2000;
		salesRewards = 180;
		dust = 100000000;

		mintRewardsIndex = 0;
		salesRewardsIndex = 0;

		communityAddress = _initCommunityAddress;
		donationAddress = _initDonationAddress;

		setURIsuffix(".json");
		
	}


	function supportsInterface(bytes4 interfaceID) public view override returns(bool) {
		return interfaceID == type(IERC2981Royalties).interfaceId || super.supportsInterface(interfaceID);
	}


	function mint(uint256 amount) public payable nonReentrant {
		require(amount > 0 && amount <= maxMintAmountPerTX, "Invalid mint amount");

		uint256 newSupply = supply.current() + amount;

		require(newSupply <= maxSupply, "Max token supply exceeded");
		require(newSupply <= maxSupply - reservedSupply, "Remaining tokens are reserved");

		require(!paused, "Minting is paused");
		require(msg.value >= cost * amount, "Insufficient funds");


		uint256 mintRewardValue = 0;
		uint256 tokenIndex = supply.current();

		_mintLoop(_msgSender(), amount);


		for (uint256 i = 0; i < amount; i++) {
			if (tokenIndex > 0) {
				uint256 individualMintRewardValue = msg.value * mintRewards / PERCENTAGE_MULTIPLIER / amount / tokenIndex;

				mintRewardValue += individualMintRewardValue * tokenIndex;
				mintRewardsIndex += individualMintRewardValue;
			}

			tokenIndex++;
			lastCollectedMintRewardIndex[tokenIndex] = mintRewardsIndex;
		}

		totalMintRewardsVault += mintRewardValue;
	}

	function airDrop(address[] calldata addresses, uint8[] calldata amounts) public onlyOwner {
		assert(addresses.length == amounts.length);
		assert(addresses.length > 0 && amounts.length > 0);


		uint256 totalAmount;
		for (uint256 i = 0; i < amounts.length; i++) totalAmount += amounts[i];

		require(supply.current() + totalAmount <= maxSupply, "Max token supply exceeded");


		for (uint256 i = 0; i < addresses.length; i++) {
			uint8 amount = amounts[i];

			for (uint256 j = 0; j < amount; j++) {
				supply.increment();

				uint256 tokenID = supply.current();

				_safeMint(addresses[i], tokenID);

				lastCollectedMintRewardIndex[tokenID] = mintRewardsIndex;
			}
		}
	}


	function flipPausedState() public onlyOwner {
		paused = !paused;
	}

	function flipAllowListingsState() public onlyOwner {
		allowListings = !allowListings;
	}

	function flipCollectSalesRewardsFromThirdParty() public onlyOwner {
		collectSalesRewardsFromThirdParty = !collectSalesRewardsFromThirdParty;
	}

	function reveal(string memory _initBaseURI) public onlyOwner {
		revealed = true;

		setBaseURI(_initBaseURI);
	}

	function claimMintRewards() public payable nonReentrant {
		uint256 reward = getMintRewardsOfAddress(_msgSender());
		require(reward > 0, "You don't have any rewards");


		uint256[] memory tokens = walletOfOwner(_msgSender());

		for (uint256 i = 0; i < tokens.length; i++) {
			uint256 tokenID = tokens[i];

			lastCollectedMintRewardIndex[tokenID] = mintRewardsIndex;
		}

		totalMintRewardsVault -= reward;


		(bool success, ) = payable(_msgSender()).call{ value: reward }("");
		require(success, "AVAX Transaction: Failed to transfer funds");


		emit ClaimedRewards(_msgSender(), reward, 1);
	}

	function claimMintRewardOfToken(uint256 tokenID) public payable nonReentrant {
		address owner = ownerOf(tokenID);
		require(_msgSender() == owner, "Only the owner of a token can claim rewards");

		uint256 reward = getMintRewardsOfToken(tokenID);
		require(reward > 0, "You don't have any rewards");


		totalMintRewardsVault -= reward;
		lastCollectedMintRewardIndex[tokenID] = mintRewardsIndex;


		(bool success, ) = payable(owner).call{ value: reward }("");
		require(success, "AVAX Transaction: Failed to transfer funds");


		emit ClaimedRewards(owner, reward, 1);
	}

	function claimSalesRewards() public payable nonReentrant {
		uint256 reward = getSalesRewardsOfAddress(_msgSender());
		require(reward > 0, "You don't have any rewards");


		uint256[] memory tokens = walletOfOwner(_msgSender());

		for (uint256 i = 0; i < tokens.length; i++) {
			uint256 tokenID = tokens[i];

			lastCollectedSalesRewardIndex[tokenID] = salesRewardsIndex;
		}

		totalSalesRewardsVault -= reward;


		(bool success, ) = payable(_msgSender()).call{ value: reward }("");
		require(success, "AVAX Transaction: Failed to transfer funds");


		emit ClaimedRewards(_msgSender(), reward, 2);
	}

	function claimSalesRewardOfToken(uint256 tokenID) public payable nonReentrant {
		address owner = ownerOf(tokenID);
		require(_msgSender() == owner, "Only the owner of a token can claim rewards");

		uint256 reward = getSalesRewardsOfToken(tokenID);
		require(reward > 0, "You don't have any rewards");


		totalSalesRewardsVault -= reward;
		lastCollectedSalesRewardIndex[tokenID] = salesRewardsIndex;


		(bool success, ) = payable(owner).call{ value: reward }("");
		require(success, "AVAX Transaction: Failed to transfer funds");


		emit ClaimedRewards(owner, reward, 2);
	}

	function withdraw() public onlyOwner {
		uint256 totalRewards = totalMintRewardsVault + totalSalesRewardsVault;
		uint256 balance_10percent = (address(this).balance - totalRewards) * 10 / 100;

		(bool success1, ) = payable(communityAddress).call{ value: balance_10percent * 3 }("");
		require(success1, "AVAX Transaction: Failed to transfer funds to community wallet!");

		(bool success2, ) = payable(donationAddress).call{ value: balance_10percent }("");
		require(success2, "AVAX Transaction: Failed to transfer funds to donation wallet!");

		(bool success3, ) = payable(owner()).call{ value: address(this).balance - (totalRewards + dust) }("");
		require(success3, "AVAX Transaction: Failed to transfer funds to the owner wallet!");
	}

	function emergencyWithdraw() public payable onlyOwner {
		(bool success, ) = payable(owner()).call{ value: address(this).balance }("");

		require(success, "AVAX Transaction: Failed to transfer funds");
	}

	function disburseRewards() public payable onlyOwner {
		uint256 currentSupply = supply.current();

		uint256 individualRewardValue = msg.value / currentSupply;
		uint256 rewardValue = individualRewardValue * currentSupply;

		mintRewardsIndex += individualRewardValue;
		totalMintRewardsVault += rewardValue;

		emit DisbursedRewards(msg.value);
	}


	function royaltyInfo(uint256, uint256 value) external view returns(address receiver, uint256 royaltyAmount) {
		receiver = address(this);

		royaltyAmount = value * (royalties + salesRewards) / PERCENTAGE_MULTIPLIER;
	}

	function createListing(uint256 tokenID, uint256 price) public nonReentrant {
		require(allowListings, "ERC721 Marketplace: Listings are currently disabled");
		require(price > 0, "ERC721 Marketplace: Invalid listing price");
		require(ownerOf(tokenID) == _msgSender(), "ERC721 Marketplace: Caller is not the owner");

		(bool isListed, ) = isTokenListed(tokenID);
		require(!isListed, "ERC721 Marketplace: Token is already listed");

		Listing memory sale = Listing(tokenID, price, _msgSender(), block.timestamp);

		listings.push(sale);

		emit NewListing(tokenID, _msgSender(), price);
	}

	function withdrawListing(uint256 tokenID) public nonReentrant {
		(bool isListed, uint256 listingIndex) = isTokenListed(tokenID);

		require(isListed, "ERC721 Marketplace: Token is not listed");
		require(listings[listingIndex].seller == _msgSender(), "ERC721 Marketplace: Caller is not the owner");

		listings[listingIndex] = listings[listings.length - 1];
		listings.pop();

		emit WithdrawnListing(tokenID);
	}

	function fulfillListing(uint256 tokenID) public payable nonReentrant {
		(bool isListed, uint256 listingIndex) = isTokenListed(tokenID);
		require(isListed, "ERC721 Marketplace: Token is not listed");

		Listing memory listing = listings[listingIndex];

		require(listing.seller != _msgSender(), "ERC721 Marketplace: Buyer and seller must be be different addresses");
		require(msg.value >= listing.price, "ERC721 Marketplace: Insufficient funds");

		uint256 royaltiesValue = msg.value * royalties / PERCENTAGE_MULTIPLIER;
		uint256 individualSalesRewardValue = msg.value * salesRewards / PERCENTAGE_MULTIPLIER / (supply.current() - 1);
		uint256 salesRewardValue = individualSalesRewardValue * (supply.current() - 1);


		listings[listingIndex] = listings[listings.length - 1];
		listings.pop();


		salesRewardsIndex += individualSalesRewardValue;
		lastCollectedSalesRewardIndex[tokenID] += individualSalesRewardValue;

		totalSalesRewardsVault += salesRewardValue;


		emit TokenSold(tokenID, listing.seller, _msgSender(), msg.value);


		_safeTransfer(listing.seller, _msgSender(), tokenID, "");

		(bool success, ) = payable(listing.seller).call{ value: msg.value - (royaltiesValue + salesRewardValue) }("");
		require(success, "AVAX Transaction: Failed to transfer funds");
	}

	function isTokenListed(uint256 tokenID) public view returns(bool isListed, uint256 index) {
		for (uint256 i = 0; i < listings.length; i++) {
			if (listings[i].tokenID != tokenID) continue;

			isListed = true;
			index = i;

			break;
		}
	}

	function getListings() public view returns(Listing[] memory) {
		return listings;
	}

	function getListingByTokenID(uint256 tokenID) public view returns(Listing memory) {
		(bool isListed, uint256 listingIndex) = isTokenListed(tokenID);
		require(isListed, "ERC721 Marketplace: Token is not listed");

		return listings[listingIndex];
	}

	function tokenURI(uint256 tokenID) public view override returns(string memory) {
		require(_exists(tokenID), "ERC721Metadata: URI query for nonexistent token");

	

		string memory currentBaseURI = _baseURI();

		return bytes(currentBaseURI).length > 0 ? string( abi.encodePacked(currentBaseURI, tokenID.toString(), uriSuffix) ) : "";
	}

	function totalSupply() public view returns(uint256) {
		return supply.current();
	}

	function walletOfOwner(address _address) public view returns(uint256[] memory) {
		uint256 ownerTokenCount = balanceOf(_address);

		uint256[] memory ownedTokenIDs = new uint256[](ownerTokenCount);


		uint256 tokenIndex = 1;
		uint256 ownedTokenIndex = 0;

		while (ownedTokenIndex < ownerTokenCount && tokenIndex <= maxSupply) {
			address owner = ownerOf(tokenIndex);

			if (owner == _address) {
				ownedTokenIDs[ownedTokenIndex] = tokenIndex;

				ownedTokenIndex++;
			}

			tokenIndex++;
		}


		return ownedTokenIDs;
	}

	function getMintRewardsOfAddress(address _address) public view returns(uint256) {
		uint256[] memory tokens = walletOfOwner(_address);
		uint256 total = 0;

		for (uint256 i = 0; i < tokens.length; i++) {
			total += getMintRewardsOfToken(tokens[i]);
		}

		return total;
	}

	function getSalesRewardsOfAddress(address _address) public view returns(uint256) {
		uint256[] memory tokens = walletOfOwner(_address);
		uint256 total = 0;

		for (uint256 i = 0; i < tokens.length; i++) {
			total += getSalesRewardsOfToken(tokens[i]);
		}

		return total;
	}

	function getMintRewardsOfToken(uint256 tokenID) public view returns(uint256) {
		require(supply.current() >= tokenID, "Query for nonexistent token");

		return mintRewardsIndex - lastCollectedMintRewardIndex[tokenID];
	}

	function getSalesRewardsOfToken(uint256 tokenID) public view returns(uint256) {
		require(supply.current() >= tokenID, "Query for nonexistent token");

		return salesRewardsIndex - lastCollectedSalesRewardIndex[tokenID];
	}


	function setBaseURI(string memory newBaseURI) public onlyOwner {
		baseURI = newBaseURI;
	}



	function setURIsuffix(string memory newSuffix) public onlyOwner {
		uriSuffix = newSuffix;
	}

	function setMaxSupply(uint256 newAmount) public onlyOwner {
		maxSupply = newAmount;
	}

	function setReservedSupply(uint256 newAmount) public onlyOwner {
		reservedSupply = newAmount;
	}

	function setMaxMintAmountPerTX(uint256 newAmount) public onlyOwner {
		maxMintAmountPerTX = newAmount;
	}

	function setCost(uint256 newCost) public onlyOwner {
		cost = newCost;
	}

	function setMintRewards(uint256 newValue) public onlyOwner {
		mintRewards = newValue;
	}

	function setSalesRewards(uint256 newValue) public onlyOwner {
		salesRewards = newValue;
	}

	function setRoyalties(uint256 newValue) public onlyOwner {
		royalties = newValue;
	}

	function setDust(uint256 newValue) public onlyOwner {
		dust = newValue;
	}

	function setMintRewardsIndex(uint256 newAmount) public onlyOwner {
		mintRewardsIndex = newAmount;
	}

	function setSalesRewardsIndex(uint256 newAmount) public onlyOwner {
		salesRewardsIndex = newAmount;
	}

	function setWithdrawAddresses(address newCommunityAddress, address newDonationAddress) public onlyOwner {
		communityAddress = newCommunityAddress;
		donationAddress = newDonationAddress;
	}


	function _baseURI() internal view override returns(string memory) {
		return baseURI;
	}

	function _beforeTokenTransfer(address from, address to, uint256 tokenID) internal override {
		(bool isListed, ) = isTokenListed(tokenID);
		require(!isListed, "ERC721 Marketplace: Unable to transfer a listed token");


		super._beforeTokenTransfer(from, to, tokenID);
	}

	function _mintLoop(address to, uint256 amount) internal {
		for (uint256 i = 0; i < amount; i++) {
			supply.increment();

			_safeMint(to, supply.current());
		}
	}


	receive() external payable {
		uint256 currentSupply = supply.current();

		if (collectSalesRewardsFromThirdParty == true && currentSupply > 0) {
			uint256 individualSalesRewardValue = msg.value / (salesRewards + royalties) * salesRewards / currentSupply;
			uint256 salesRewardValue = individualSalesRewardValue * currentSupply;

			salesRewardsIndex += individualSalesRewardValue;

			totalSalesRewardsVault += salesRewardValue;
		}
	}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_initCommunityAddress","type":"address"},{"internalType":"address","name":"_initDonationAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint8","name":"rewardType","type":"uint8"}],"name":"ClaimedRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DisbursedRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenID","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"NewListing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenID","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"WithdrawnListing","type":"event"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"amounts","type":"uint8[]"}],"name":"airDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allowListings","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"claimMintRewardOfToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimMintRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"claimSalesRewardOfToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimSalesRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"collectSalesRewardsFromThirdParty","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"createListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disburseRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"dust","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"flipAllowListingsState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipCollectSalesRewardsFromThirdParty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipPausedState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"fulfillListing","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"getListingByTokenID","outputs":[{"components":[{"internalType":"uint256","name":"tokenID","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct HardRockNickSociety.Listing","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getListings","outputs":[{"components":[{"internalType":"uint256","name":"tokenID","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct HardRockNickSociety.Listing[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getMintRewardsOfAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"getMintRewardsOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getSalesRewardsOfAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"getSalesRewardsOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"isTokenListed","outputs":[{"internalType":"bool","name":"isListed","type":"bool"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintAmountPerTX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintRewardsIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reservedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_initBaseURI","type":"string"}],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royalties","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"salesRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"salesRewardsIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setDust","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setMaxMintAmountPerTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setMintRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setMintRewardsIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setReservedSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setRoyalties","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSalesRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSalesRewardsIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSuffix","type":"string"}],"name":"setURIsuffix","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newCommunityAddress","type":"address"},{"internalType":"address","name":"newDonationAddress","type":"address"}],"name":"setWithdrawAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMintRewardsVault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSalesRewardsVault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"withdrawListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405162004923380380620049238339810160408190526200003491620002fe565b604080518082018252601681527f4861726420526f636b204e69636b20536f6369657479000000000000000000006020808301918252835180850190945260048452634e49434b60e01b90840152815191929162000095916000916200023b565b508051620000ab9060019060208401906200023b565b5050600160065550620000be3362000171565b60078054630101010160a01b63ffffffff60a01b19909116179055670de0b6b3a7640000600a55610457600b556014600c556019600d819055608c600e556107d060105560b46011556305f5e100600f5560006012819055601355601880546001600160a01b038086166001600160a01b03199283161790925582549184169116179055604080518082019091526005815264173539b7b760d91b60208201526200016990620001c3565b505062000373565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6007546001600160a01b03163314620002225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b8051620002379060099060208401906200023b565b5050565b828054620002499062000336565b90600052602060002090601f0160209004810192826200026d5760008555620002b8565b82601f106200028857805160ff1916838001178555620002b8565b82800160010185558215620002b8579182015b82811115620002b85782518255916020019190600101906200029b565b50620002c6929150620002ca565b5090565b5b80821115620002c65760008155600101620002cb565b80516001600160a01b0381168114620002f957600080fd5b919050565b600080604083850312156200031257600080fd5b6200031d83620002e1565b91506200032d60208401620002e1565b90509250929050565b600181811c908216806200034b57607f821691505b602082108114156200036d57634e487b7160e01b600052602260045260246000fd5b50919050565b6145a080620003836000396000f3fe6080604052600436106104095760003560e01c80637ef6f65611610213578063b36a206411610123578063dd76cba3116100ab578063f1629d131161007a578063f1629d1314610c38578063f1b2d6a314610c4b578063f2fde38b14610c6d578063f9daade414610c8d578063fad9aba314610cad57600080fd5b8063dd76cba314610bd6578063e02f399314610bec578063e985e9c514610c02578063f053dc5c14610c2257600080fd5b8063c87b56dd116100f2578063c87b56dd14610b62578063d5abeb0114610b82578063d6fb650c14610b98578063db2e21bc14610bb8578063dceb262914610bc057600080fd5b8063b36a206414610b04578063b5350ebf14610b24578063b88d4fde14610b2c578063bf72daad14610b4c57600080fd5b806395d89b41116101a6578063a17bd78311610175578063a17bd78314610a6f578063a22cb46514610a84578063a79123a914610aa4578063aec6e27314610ac4578063aff7214114610ae457600080fd5b806395d89b41146109ef5780639b83cddc14610a04578063a0712d6814610a3b578063a0ba1bbf14610a4e57600080fd5b80638d5190d9116101e25780638d5190d91461097c5780638da5cb5b1461099c5780638e6fe1a3146109ba57806393eff851146109da57600080fd5b80637ef6f65614610907578063825875741461092757806384917f4a1461094757806389ac1fa81461097457600080fd5b80633ccfd60b116103195780634c261247116102a157806356fcf95b1161027057806356fcf95b146108665780635c975abb146108865780636352211e146108a75780636f8b44b0146108c757806370a08231146108e757600080fd5b80634c261247146107e45780634f8a1db514610804578063518302271461082557806355f804b31461084657600080fd5b8063437552c0116102e8578063437552c014610741578063438b63001461076157806344a0d68a1461078e57806344d19d2b146107ae57806347d616bc146107c457600080fd5b80633ccfd60b146106f15780633e57bb141461070657806342842e0e1461070e57806342bba11a1461072e57600080fd5b806318160ddd1161039c57806328e3a0b21161036b57806328e3a0b2146106535780632a55205a146106695780632b80183f146106a85780632dfa9d00146106c85780633912fc85146106de57600080fd5b806318160ddd146105e85780631e13f86b146105fd578063234cb0511461061d57806323b872dd1461063357600080fd5b80630798e5c9116103d85780630798e5c914610563578063081812fc1461057a578063095ea7b3146105b257806313faede6146105d257600080fd5b806301ffc9a7146104be578063048d228b146104f357806305e79db21461052157806306fdde031461054157600080fd5b366104b9576000610419601b5490565b600754909150600160b81b900460ff161515600114801561043a5750600081115b156104b657600081601154600e546011546104559190613bc4565b61045f9034613bf2565b6104699190613c06565b6104739190613bf2565b905060006104818383613c06565b905081601360008282546104959190613bc4565b9250508190555080601560008282546104ae9190613bc4565b909155505050505b50005b600080fd5b3480156104ca57600080fd5b506104de6104d9366004613c3b565b610cc3565b60405190151581526020015b60405180910390f35b3480156104ff57600080fd5b5061051361050e366004613c74565b610cee565b6040519081526020016104ea565b34801561052d57600080fd5b5061051361053c366004613c8f565b610d51565b34801561054d57600080fd5b50610556610dcc565b6040516104ea9190613d00565b34801561056f57600080fd5b50610578610e5e565b005b34801561058657600080fd5b5061059a610595366004613c8f565b610ea9565b6040516001600160a01b0390911681526020016104ea565b3480156105be57600080fd5b506105786105cd366004613d13565b610f3e565b3480156105de57600080fd5b50610513600a5481565b3480156105f457600080fd5b50610513611054565b34801561060957600080fd5b50610578610618366004613c8f565b611064565b34801561062957600080fd5b5061051360105481565b34801561063f57600080fd5b5061057861064e366004613d3d565b611093565b34801561065f57600080fd5b5061051360125481565b34801561067557600080fd5b50610689610684366004613d79565b6110c4565b604080516001600160a01b0390931683526020830191909152016104ea565b3480156106b457600080fd5b506105786106c3366004613c8f565b6110f9565b3480156106d457600080fd5b50610513600d5481565b6105786106ec366004613c8f565b611128565b3480156106fd57600080fd5b5061057861159b565b610578611858565b34801561071a57600080fd5b50610578610729366004613d3d565b6119db565b61057861073c366004613c8f565b6119f6565b34801561074d57600080fd5b5061057861075c366004613c8f565b611b6a565b34801561076d57600080fd5b5061078161077c366004613c74565b611b99565b6040516104ea9190613d9b565b34801561079a57600080fd5b506105786107a9366004613c8f565b611c7a565b3480156107ba57600080fd5b50610513600c5481565b3480156107d057600080fd5b506105786107df366004613c8f565b611ca9565b3480156107f057600080fd5b506105786107ff366004613e6b565b611cd8565b34801561081057600080fd5b506007546104de90600160b81b900460ff1681565b34801561083157600080fd5b506007546104de90600160a81b900460ff1681565b34801561085257600080fd5b50610578610861366004613e6b565b611d21565b34801561087257600080fd5b50610578610881366004613c8f565b611d62565b34801561089257600080fd5b506007546104de90600160a01b900460ff1681565b3480156108b357600080fd5b5061059a6108c2366004613c8f565b611d91565b3480156108d357600080fd5b506105786108e2366004613c8f565b611e08565b3480156108f357600080fd5b50610513610902366004613c74565b611e37565b34801561091357600080fd5b50610578610922366004613eb4565b611ebe565b34801561093357600080fd5b50610513610942366004613c8f565b611f16565b34801561095357600080fd5b50610967610962366004613c8f565b611f8c565b6040516104ea9190613ede565b610578612052565b34801561098857600080fd5b50610578610997366004613c8f565b61218d565b3480156109a857600080fd5b506007546001600160a01b031661059a565b3480156109c657600080fd5b506105786109d5366004613c8f565b6121bc565b3480156109e657600080fd5b506105786121eb565b3480156109fb57600080fd5b50610556612236565b348015610a1057600080fd5b50610a24610a1f366004613c8f565b612245565b6040805192151583526020830191909152016104ea565b610578610a49366004613c8f565b6122a9565b348015610a5a57600080fd5b506007546104de90600160b01b900460ff1681565b348015610a7b57600080fd5b5061057861256b565b348015610a9057600080fd5b50610578610a9f366004613f12565b6125b6565b348015610ab057600080fd5b50610578610abf366004613d79565b6125c1565b348015610ad057600080fd5b50610578610adf366004613c8f565b61289b565b348015610af057600080fd5b50610578610aff366004613e6b565b612a52565b348015610b1057600080fd5b50610513610b1f366004613c74565b612a8f565b610578612aea565b348015610b3857600080fd5b50610578610b47366004613f4e565b612ba5565b348015610b5857600080fd5b5061051360135481565b348015610b6e57600080fd5b50610556610b7d366004613c8f565b612bdd565b348015610b8e57600080fd5b50610513600b5481565b348015610ba457600080fd5b50610578610bb3366004613c8f565b612cbb565b610578612cea565b348015610bcc57600080fd5b5061051360145481565b348015610be257600080fd5b5061051360155481565b348015610bf857600080fd5b5061051360115481565b348015610c0e57600080fd5b506104de610c1d366004613eb4565b612d98565b348015610c2e57600080fd5b50610513600e5481565b610578610c46366004613c8f565b612dc6565b348015610c5757600080fd5b50610c60612f27565b6040516104ea9190613fca565b348015610c7957600080fd5b50610578610c88366004613c74565b612fb1565b348015610c9957600080fd5b50610578610ca836600461407f565b613049565b348015610cb957600080fd5b50610513600f5481565b60006001600160e01b0319821663152a902d60e11b1480610ce85750610ce882613223565b92915050565b600080610cfa83611b99565b90506000805b8251811015610d4957610d2b838281518110610d1e57610d1e6140eb565b6020026020010151610d51565b610d359083613bc4565b915080610d4181614101565b915050610d00565b509392505050565b600081610d5d601b5490565b1015610db05760405162461bcd60e51b815260206004820152601b60248201527f517565727920666f72206e6f6e6578697374656e7420746f6b656e000000000060448201526064015b60405180910390fd5b600082815260176020526040902054601354610ce8919061411c565b606060008054610ddb90614133565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0790614133565b8015610e545780601f10610e2957610100808354040283529160200191610e54565b820191906000526020600020905b815481529060010190602001808311610e3757829003601f168201915b5050505050905090565b6007546001600160a01b03163314610e885760405162461bcd60e51b8152600401610da79061416e565b6007805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000818152600260205260408120546001600160a01b0316610f225760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610da7565b506000908152600460205260409020546001600160a01b031690565b6000610f4982611d91565b9050806001600160a01b0316836001600160a01b03161415610fb75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610da7565b336001600160a01b0382161480610fd35750610fd38133612d98565b6110455760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610da7565b61104f8383613273565b505050565b600061105f601b5490565b905090565b6007546001600160a01b0316331461108e5760405162461bcd60e51b8152600401610da79061416e565b600c55565b61109d33826132e1565b6110b95760405162461bcd60e51b8152600401610da7906141a3565b61104f8383836133b8565b601154600e543091600091612710916110dc91613bc4565b6110e69085613c06565b6110f09190613bf2565b90509250929050565b6007546001600160a01b031633146111235760405162461bcd60e51b8152600401610da79061416e565b600e55565b6002600654141561114b5760405162461bcd60e51b8152600401610da7906141f4565b600260065560008061115c83612245565b915091508161117d5760405162461bcd60e51b8152600401610da79061422b565b6000601a8281548110611192576111926140eb565b60009182526020918290206040805160808101825260049093029091018054835260018101549383019390935260028301546001600160a01b031690820152600390910154606082015290506111e53390565b6001600160a01b031681604001516001600160a01b0316141561127c5760405162461bcd60e51b815260206004820152604360248201527f455243373231204d61726b6574706c6163653a20427579657220616e6420736560448201527f6c6c6572206d75737420626520626520646966666572656e742061646472657360648201526273657360e81b608482015260a401610da7565b80602001513410156112df5760405162461bcd60e51b815260206004820152602660248201527f455243373231204d61726b6574706c6163653a20496e73756666696369656e746044820152652066756e647360d01b6064820152608401610da7565b6000612710600e54346112f29190613c06565b6112fc9190613bf2565b90506000600161130b601b5490565b611315919061411c565b612710601154346113269190613c06565b6113309190613bf2565b61133a9190613bf2565b905060006001611349601b5490565b611353919061411c565b61135d9083613c06565b601a8054919250906113719060019061411c565b81548110611381576113816140eb565b9060005260206000209060040201601a86815481106113a2576113a26140eb565b6000918252602090912082546004909202019081556001808301549082015560028083015490820180546001600160a01b0319166001600160a01b03909216919091179055600391820154910155601a80548061140157611401614272565b600082815260208120600460001990930192830201818155600181018290556002810180546001600160a01b031916905560030181905591556013805484929061144c908490613bc4565b90915550506000878152601760205260408120805484929061146f908490613bc4565b9250508190555080601560008282546114889190613bc4565b909155503390506001600160a01b031684604001516001600160a01b0316887f3d5eb834b5d6cadc063c171c3f25f60bca8ea892ba9db25342278927d0af9556346040516114d891815260200190565b60405180910390a461150584604001516114ef3390565b896040518060200160405280600081525061355f565b60408401516000906001600160a01b03166115208386613bc4565b61152a903461411c565b604051600081818185875af1925050503d8060008114611566576040519150601f19603f3d011682016040523d82523d6000602084013e61156b565b606091505b505090508061158c5760405162461bcd60e51b8152600401610da790614288565b50506001600655505050505050565b6007546001600160a01b031633146115c55760405162461bcd60e51b8152600401610da79061416e565b60006015546014546115d79190613bc4565b9050600060646115e7834761411c565b6115f290600a613c06565b6115fc9190613bf2565b6018549091506000906001600160a01b0316611619836003613c06565b604051600081818185875af1925050503d8060008114611655576040519150601f19603f3d011682016040523d82523d6000602084013e61165a565b606091505b50509050806116bf5760405162461bcd60e51b815260206004820152603f602482015260008051602061454b83398151915260448201527f736665722066756e647320746f20636f6d6d756e6974792077616c6c657421006064820152608401610da7565b6019546040516000916001600160a01b03169084908381818185875af1925050503d806000811461170c576040519150601f19603f3d011682016040523d82523d6000602084013e611711565b606091505b50509050806117765760405162461bcd60e51b815260206004820152603e602482015260008051602061454b83398151915260448201527f736665722066756e647320746f20646f6e6174696f6e2077616c6c65742100006064820152608401610da7565b600061178a6007546001600160a01b031690565b6001600160a01b0316600f54866117a19190613bc4565b6117ab904761411c565b604051600081818185875af1925050503d80600081146117e7576040519150601f19603f3d011682016040523d82523d6000602084013e6117ec565b606091505b50509050806118515760405162461bcd60e51b815260206004820152603f602482015260008051602061454b83398151915260448201527f736665722066756e647320746f20746865206f776e65722077616c6c657421006064820152608401610da7565b5050505050565b6002600654141561187b5760405162461bcd60e51b8152600401610da7906141f4565b6002600655600061188b33610cee565b9050600081116118ad5760405162461bcd60e51b8152600401610da7906142c0565b60006118b833611b99565b905060005b815181101561190b5760008282815181106118da576118da6140eb565b602090810291909101810151601354600091825260179092526040902055508061190381614101565b9150506118bd565b50816015600082825461191e919061411c565b9091555050604051600090339084908381818185875af1925050503d8060008114611965576040519150601f19603f3d011682016040523d82523d6000602084013e61196a565b606091505b505090508061198b5760405162461bcd60e51b8152600401610da790614288565b6002335b6001600160a01b03167fd5803ea2a72e3d43ba8dfbcbde26efe91ba6901d868467b86ef6163baa185ba9856040516119c991815260200190565b60405180910390a35050600160065550565b61104f83838360405180602001604052806000815250612ba5565b60026006541415611a195760405162461bcd60e51b8152600401610da7906141f4565b60026006556000611a2982611d91565b9050336001600160a01b03821614611a535760405162461bcd60e51b8152600401610da7906142f7565b6000611a5e83610d51565b905060008111611a805760405162461bcd60e51b8152600401610da7906142c0565b8060156000828254611a92919061411c565b90915550506013546000848152601760205260408082209290925590516001600160a01b0384169083908381818185875af1925050503d8060008114611af4576040519150601f19603f3d011682016040523d82523d6000602084013e611af9565b606091505b5050905080611b1a5760405162461bcd60e51b8152600401610da790614288565b6002836001600160a01b03167fd5803ea2a72e3d43ba8dfbcbde26efe91ba6901d868467b86ef6163baa185ba984604051611b5791815260200190565b60405180910390a3505060016006555050565b6007546001600160a01b03163314611b945760405162461bcd60e51b8152600401610da79061416e565b600f55565b60606000611ba683611e37565b905060008167ffffffffffffffff811115611bc357611bc3613ddf565b604051908082528060200260200182016040528015611bec578160200160208202803683370190505b509050600160005b8381108015611c055750600b548211155b15611c70576000611c1583611d91565b9050866001600160a01b0316816001600160a01b03161415611c5d5782848381518110611c4457611c446140eb565b602090810291909101015281611c5981614101565b9250505b82611c6781614101565b93505050611bf4565b5090949350505050565b6007546001600160a01b03163314611ca45760405162461bcd60e51b8152600401610da79061416e565b600a55565b6007546001600160a01b03163314611cd35760405162461bcd60e51b8152600401610da79061416e565b601255565b6007546001600160a01b03163314611d025760405162461bcd60e51b8152600401610da79061416e565b6007805460ff60a81b1916600160a81b179055611d1e81611d21565b50565b6007546001600160a01b03163314611d4b5760405162461bcd60e51b8152600401610da79061416e565b8051611d5e906008906020840190613b15565b5050565b6007546001600160a01b03163314611d8c5760405162461bcd60e51b8152600401610da79061416e565b601155565b6000818152600260205260408120546001600160a01b031680610ce85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610da7565b6007546001600160a01b03163314611e325760405162461bcd60e51b8152600401610da79061416e565b600b55565b60006001600160a01b038216611ea25760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610da7565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b03163314611ee85760405162461bcd60e51b8152600401610da79061416e565b601880546001600160a01b039384166001600160a01b03199182161790915560198054929093169116179055565b600081611f22601b5490565b1015611f705760405162461bcd60e51b815260206004820152601b60248201527f517565727920666f72206e6f6e6578697374656e7420746f6b656e00000000006044820152606401610da7565b600082815260166020526040902054601254610ce8919061411c565b611fc06040518060800160405280600081526020016000815260200160006001600160a01b03168152602001600081525090565b600080611fcc84612245565b9150915081611fed5760405162461bcd60e51b8152600401610da79061422b565b601a8181548110612000576120006140eb565b60009182526020918290206040805160808101825260049093029091018054835260018101549383019390935260028301546001600160a01b0316908201526003909101546060820152949350505050565b600260065414156120755760405162461bcd60e51b8152600401610da7906141f4565b6002600655600061208533612a8f565b9050600081116120a75760405162461bcd60e51b8152600401610da7906142c0565b60006120b233611b99565b905060005b81518110156121055760008282815181106120d4576120d46140eb565b60209081029190910181015160125460009182526016909252604090205550806120fd81614101565b9150506120b7565b508160146000828254612118919061411c565b9091555050604051600090339084908381818185875af1925050503d806000811461215f576040519150601f19603f3d011682016040523d82523d6000602084013e612164565b606091505b50509050806121855760405162461bcd60e51b8152600401610da790614288565b60013361198f565b6007546001600160a01b031633146121b75760405162461bcd60e51b8152600401610da79061416e565b601355565b6007546001600160a01b031633146121e65760405162461bcd60e51b8152600401610da79061416e565b600d55565b6007546001600160a01b031633146122155760405162461bcd60e51b8152600401610da79061416e565b6007805460ff60a01b198116600160a01b9182900460ff1615909102179055565b606060018054610ddb90614133565b60008060005b601a548110156122a35783601a8281548110612269576122696140eb565b9060005260206000209060040201600001541461228557612291565b600192508091506122a3565b8061229b81614101565b91505061224b565b50915091565b600260065414156122cc5760405162461bcd60e51b8152600401610da7906141f4565b600260065580158015906122e25750600d548111155b6123245760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b5a5b9d08185b5bdd5b9d606a1b6044820152606401610da7565b600081612330601b5490565b61233a9190613bc4565b9050600b5481111561238a5760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdad95b881cdd5c1c1b1e48195e18d959591959603a1b6044820152606401610da7565b600c54600b5461239a919061411c565b8111156123e95760405162461bcd60e51b815260206004820152601d60248201527f52656d61696e696e6720746f6b656e73206172652072657365727665640000006044820152606401610da7565b600754600160a01b900460ff16156124375760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b6044820152606401610da7565b81600a546124459190613c06565b3410156124895760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610da7565b600080612495601b5490565b90506124a13385613592565b60005b848110156125485781156125165760008286612710601054346124c79190613c06565b6124d19190613bf2565b6124db9190613bf2565b6124e59190613bf2565b90506124f18382613c06565b6124fb9085613bc4565b9350806012600082825461250f9190613bc4565b9091555050505b8161252081614101565b601254600082815260166020526040902055925081905061254081614101565b9150506124a4565b50816014600082825461255b9190613bc4565b9091555050600160065550505050565b6007546001600160a01b031633146125955760405162461bcd60e51b8152600401610da79061416e565b6007805460ff60b01b198116600160b01b9182900460ff1615909102179055565b611d5e3383836135cf565b600260065414156125e45760405162461bcd60e51b8152600401610da7906141f4565b6002600655600754600160b01b900460ff1661265e5760405162461bcd60e51b815260206004820152603360248201527f455243373231204d61726b6574706c6163653a204c697374696e6773206172656044820152720818dd5c9c995b9d1b1e48191a5cd8589b1959606a1b6064820152608401610da7565b600081116126c05760405162461bcd60e51b815260206004820152602960248201527f455243373231204d61726b6574706c6163653a20496e76616c6964206c697374604482015268696e6720707269636560b81b6064820152608401610da7565b336126ca83611d91565b6001600160a01b0316146126f05760405162461bcd60e51b8152600401610da790614342565b60006126fb83612245565b50905080156127605760405162461bcd60e51b815260206004820152602b60248201527f455243373231204d61726b6574706c6163653a20546f6b656e20697320616c7260448201526a1958591e481b1a5cdd195960aa1b6064820152608401610da7565b600060405180608001604052808581526020018481526020016127803390565b6001600160a01b03908116825242602092830152601a805460018101825560009190915283517f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e600490920291820155918301517f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63f83015560408301517f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff640830180546001600160a01b0319169190921617905560608201517f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff641909101559050336001600160a01b0316847fda5118e11956b6ccec7a349074d6efada2b70b987d2eabba029de60d8f67b1aa85604051611b5791815260200190565b600260065414156128be5760405162461bcd60e51b8152600401610da7906141f4565b60026006556000806128cf83612245565b91509150816128f05760405162461bcd60e51b8152600401610da79061422b565b336001600160a01b0316601a828154811061290d5761290d6140eb565b60009182526020909120600260049092020101546001600160a01b0316146129475760405162461bcd60e51b8152600401610da790614342565b601a80546129579060019061411c565b81548110612967576129676140eb565b9060005260206000209060040201601a8281548110612988576129886140eb565b6000918252602090912082546004909202019081556001808301549082015560028083015490820180546001600160a01b0319166001600160a01b03909216919091179055600391820154910155601a8054806129e7576129e7614272565b600082815260208120600460001990930192830201818155600181018290556002810180546001600160a01b0319169055600301819055915560405184917fd61f1a8b7be6805af2e554cc25e9395d458bbd556fa7c01c166ffbd9197347de91a25050600160065550565b6007546001600160a01b03163314612a7c5760405162461bcd60e51b8152600401610da79061416e565b8051611d5e906009906020840190613b15565b600080612a9b83611b99565b90506000805b8251811015610d4957612acc838281518110612abf57612abf6140eb565b6020026020010151611f16565b612ad69083613bc4565b915080612ae281614101565b915050612aa1565b6007546001600160a01b03163314612b145760405162461bcd60e51b8152600401610da79061416e565b6000612b1f601b5490565b90506000612b2d8234613bf2565b90506000612b3b8383613c06565b90508160126000828254612b4f9190613bc4565b925050819055508060146000828254612b689190613bc4565b90915550506040513481527ff47d3b5520326a887c3a79604ff206e16718a200fe11d7f3b555b2a4ddd93faa9060200160405180910390a1505050565b612baf33836132e1565b612bcb5760405162461bcd60e51b8152600401610da7906141a3565b612bd78484848461355f565b50505050565b6000818152600260205260409020546060906001600160a01b0316612c5c5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610da7565b6000612c6661369e565b90506000815111612c865760405180602001604052806000815250612cb4565b80612c90846136ad565b6009604051602001612ca49392919061438d565b6040516020818303038152906040525b9392505050565b6007546001600160a01b03163314612ce55760405162461bcd60e51b8152600401610da79061416e565b601055565b6007546001600160a01b03163314612d145760405162461bcd60e51b8152600401610da79061416e565b6000612d286007546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114612d72576040519150601f19603f3d011682016040523d82523d6000602084013e612d77565b606091505b5050905080611d1e5760405162461bcd60e51b8152600401610da790614288565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60026006541415612de95760405162461bcd60e51b8152600401610da7906141f4565b60026006556000612df982611d91565b9050336001600160a01b03821614612e235760405162461bcd60e51b8152600401610da7906142f7565b6000612e2e83611f16565b905060008111612e505760405162461bcd60e51b8152600401610da7906142c0565b8060146000828254612e62919061411c565b90915550506012546000848152601660205260408082209290925590516001600160a01b0384169083908381818185875af1925050503d8060008114612ec4576040519150601f19603f3d011682016040523d82523d6000602084013e612ec9565b606091505b5050905080612eea5760405162461bcd60e51b8152600401610da790614288565b6001836001600160a01b03167fd5803ea2a72e3d43ba8dfbcbde26efe91ba6901d868467b86ef6163baa185ba984604051611b5791815260200190565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015612fa85760008481526020908190206040805160808101825260048602909201805483526001808201548486015260028201546001600160a01b0316928401929092526003015460608301529083529092019101612f4b565b50505050905090565b6007546001600160a01b03163314612fdb5760405162461bcd60e51b8152600401610da79061416e565b6001600160a01b0381166130405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610da7565b611d1e816137ab565b6007546001600160a01b031633146130735760405162461bcd60e51b8152600401610da79061416e565b82811461308257613082614451565b821580159061309057508015155b61309c5761309c614451565b6000805b828110156130f0578383828181106130ba576130ba6140eb565b90506020020160208101906130cf9190614467565b6130dc9060ff1683613bc4565b9150806130e881614101565b9150506130a0565b50600b54816130fe601b5490565b6131089190613bc4565b11156131525760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdad95b881cdd5c1c1b1e48195e18d959591959603a1b6044820152606401610da7565b60005b8481101561321b576000848483818110613171576131716140eb565b90506020020160208101906131869190614467565b905060005b8160ff16811015613206576131a4601b80546001019055565b60006131af601b5490565b90506131e18989868181106131c6576131c66140eb565b90506020020160208101906131db9190613c74565b826137fd565b60125460009182526016602052604090912055806131fe81614101565b91505061318b565b5050808061321390614101565b915050613155565b505050505050565b60006001600160e01b031982166380ac58cd60e01b148061325457506001600160e01b03198216635b5e139f60e01b145b80610ce857506301ffc9a760e01b6001600160e01b0319831614610ce8565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906132a882611d91565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b031661335a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610da7565b600061336583611d91565b9050806001600160a01b0316846001600160a01b031614806133a05750836001600160a01b031661339584610ea9565b6001600160a01b0316145b806133b057506133b08185612d98565b949350505050565b826001600160a01b03166133cb82611d91565b6001600160a01b03161461342f5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610da7565b6001600160a01b0382166134915760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610da7565b61349c838383613817565b6134a7600082613273565b6001600160a01b03831660009081526003602052604081208054600192906134d090849061411c565b90915550506001600160a01b03821660009081526003602052604081208054600192906134fe908490613bc4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61356a8484846133b8565b61357684848484613896565b612bd75760405162461bcd60e51b8152600401610da79061448a565b60005b8181101561104f576135ab601b80546001019055565b6135bd836135b8601b5490565b6137fd565b806135c781614101565b915050613595565b816001600160a01b0316836001600160a01b031614156136315760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610da7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606060088054610ddb90614133565b6060816136d15750506040805180820190915260018152600360fc1b602082015290565b8160005b81156136fb57806136e581614101565b91506136f49050600a83613bf2565b91506136d5565b60008167ffffffffffffffff81111561371657613716613ddf565b6040519080825280601f01601f191660200182016040528015613740576020820181803683370190505b5090505b84156133b05761375560018361411c565b9150613762600a866144dc565b61376d906030613bc4565b60f81b818381518110613782576137826140eb565b60200101906001600160f81b031916908160001a9053506137a4600a86613bf2565b9450613744565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611d5e828260405180602001604052806000815250613994565b600061382282612245565b50905080156138915760405162461bcd60e51b815260206004820152603560248201527f455243373231204d61726b6574706c6163653a20556e61626c6520746f20747260448201527430b739b332b91030903634b9ba32b2103a37b5b2b760591b6064820152608401610da7565b612bd7565b60006001600160a01b0384163b1561398957604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906138da9033908990889088906004016144f0565b6020604051808303816000875af1925050508015613915575060408051601f3d908101601f191682019092526139129181019061452d565b60015b61396f573d808015613943576040519150601f19603f3d011682016040523d82523d6000602084013e613948565b606091505b5080516139675760405162461bcd60e51b8152600401610da79061448a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506133b0565b506001949350505050565b61399e83836139c7565b6139ab6000848484613896565b61104f5760405162461bcd60e51b8152600401610da79061448a565b6001600160a01b038216613a1d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610da7565b6000818152600260205260409020546001600160a01b031615613a825760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610da7565b613a8e60008383613817565b6001600160a01b0382166000908152600360205260408120805460019290613ab7908490613bc4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054613b2190614133565b90600052602060002090601f016020900481019282613b435760008555613b89565b82601f10613b5c57805160ff1916838001178555613b89565b82800160010185558215613b89579182015b82811115613b89578251825591602001919060010190613b6e565b50613b95929150613b99565b5090565b5b80821115613b955760008155600101613b9a565b634e487b7160e01b600052601160045260246000fd5b60008219821115613bd757613bd7613bae565b500190565b634e487b7160e01b600052601260045260246000fd5b600082613c0157613c01613bdc565b500490565b6000816000190483118215151615613c2057613c20613bae565b500290565b6001600160e01b031981168114611d1e57600080fd5b600060208284031215613c4d57600080fd5b8135612cb481613c25565b80356001600160a01b0381168114613c6f57600080fd5b919050565b600060208284031215613c8657600080fd5b612cb482613c58565b600060208284031215613ca157600080fd5b5035919050565b60005b83811015613cc3578181015183820152602001613cab565b83811115612bd75750506000910152565b60008151808452613cec816020860160208601613ca8565b601f01601f19169290920160200192915050565b602081526000612cb46020830184613cd4565b60008060408385031215613d2657600080fd5b613d2f83613c58565b946020939093013593505050565b600080600060608486031215613d5257600080fd5b613d5b84613c58565b9250613d6960208501613c58565b9150604084013590509250925092565b60008060408385031215613d8c57600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b81811015613dd357835183529284019291840191600101613db7565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115613e1057613e10613ddf565b604051601f8501601f19908116603f01168101908282118183101715613e3857613e38613ddf565b81604052809350858152868686011115613e5157600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215613e7d57600080fd5b813567ffffffffffffffff811115613e9457600080fd5b8201601f81018413613ea557600080fd5b6133b084823560208401613df5565b60008060408385031215613ec757600080fd5b613ed083613c58565b91506110f060208401613c58565b81518152602080830151908201526040808301516001600160a01b0316908201526060808301519082015260808101610ce8565b60008060408385031215613f2557600080fd5b613f2e83613c58565b915060208301358015158114613f4357600080fd5b809150509250929050565b60008060008060808587031215613f6457600080fd5b613f6d85613c58565b9350613f7b60208601613c58565b925060408501359150606085013567ffffffffffffffff811115613f9e57600080fd5b8501601f81018713613faf57600080fd5b613fbe87823560208401613df5565b91505092959194509250565b6020808252825182820181905260009190848201906040850190845b81811015613dd35761402083855180518252602080820151908301526040808201516001600160a01b031690830152606090810151910152565b9284019260809290920191600101613fe6565b60008083601f84011261404557600080fd5b50813567ffffffffffffffff81111561405d57600080fd5b6020830191508360208260051b850101111561407857600080fd5b9250929050565b6000806000806040858703121561409557600080fd5b843567ffffffffffffffff808211156140ad57600080fd5b6140b988838901614033565b909650945060208701359150808211156140d257600080fd5b506140df87828801614033565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561411557614115613bae565b5060010190565b60008282101561412e5761412e613bae565b500390565b600181811c9082168061414757607f821691505b6020821081141561416857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526027908201527f455243373231204d61726b6574706c6163653a20546f6b656e206973206e6f74604082015266081b1a5cdd195960ca1b606082015260800190565b634e487b7160e01b600052603160045260246000fd5b6020808252602a9082015260008051602061454b833981519152604082015269736665722066756e647360b01b606082015260800190565b6020808252601a908201527f596f7520646f6e2774206861766520616e792072657761726473000000000000604082015260600190565b6020808252602b908201527f4f6e6c7920746865206f776e6572206f66206120746f6b656e2063616e20636c60408201526a61696d207265776172647360a81b606082015260800190565b6020808252602b908201527f455243373231204d61726b6574706c6163653a2043616c6c6572206973206e6f60408201526a3a103a34329037bbb732b960a91b606082015260800190565b6000845160206143a08285838a01613ca8565b8551918401916143b38184848a01613ca8565b8554920191600090600181811c90808316806143d057607f831692505b8583108114156143ee57634e487b7160e01b85526022600452602485fd5b808015614402576001811461441357614440565b60ff19851688528388019550614440565b60008b81526020902060005b858110156144385781548a82015290840190880161441f565b505083880195505b50939b9a5050505050505050505050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561447957600080fd5b813560ff81168114612cb457600080fd5b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826144eb576144eb613bdc565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061452390830184613cd4565b9695505050505050565b60006020828403121561453f57600080fd5b8151612cb481613c2556fe41564158205472616e73616374696f6e3a204661696c656420746f207472616ea2646970667358221220dcaf9c2f38ae033c853b42afc7ce25f35277d62c77c2b4d7a9ad9e418db33baf64736f6c634300080b003300000000000000000000000010bde4a513e26e25b30402458d60febd02c99c8d000000000000000000000000292f22b2fc32dd004e8b76bb058e6324288f8931

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000010bde4a513e26e25b30402458d60febd02c99c8d000000000000000000000000292f22b2fc32dd004e8b76bb058e6324288f8931

-----Decoded View---------------
Arg [0] : _initCommunityAddress (address): 0x10bde4a513e26e25b30402458d60febd02c99c8d
Arg [1] : _initDonationAddress (address): 0x292f22b2fc32dd004e8b76bb058e6324288f8931

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000010bde4a513e26e25b30402458d60febd02c99c8d
Arg [1] : 000000000000000000000000292f22b2fc32dd004e8b76bb058e6324288f8931


Deployed ByteCode Sourcemap

13580:15912:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29072:21;29096:16;:6;2978:14;;2893:104;29096:16;29123:33;;29072:40;;-1:-1:-1;;;;29123:33:0;;;;:41;;29160:4;29123:41;:62;;;;;29184:1;29168:13;:17;29123:62;29119:366;;;29193:34;29286:13;29271:12;;29258:9;;29243:12;;:24;;;;:::i;:::-;29230:38;;:9;:38;:::i;:::-;:53;;;;:::i;:::-;:69;;;;:::i;:::-;29193:106;-1:-1:-1;29305:24:0;29332:42;29361:13;29193:106;29332:42;:::i;:::-;29305:69;;29403:26;29382:17;;:47;;;;;;;:::i;:::-;;;;;;;;29463:16;29437:22;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;29119:366:0;29067:422;13580:15912;;;;;15713:189;;;;;;;;;;-1:-1:-1;15713:189:0;;;;;:::i;:::-;;:::i;:::-;;;1260:14:1;;1253:22;1235:41;;1223:2;1208:18;15713:189:0;;;;;;;;26354:285;;;;;;;;;;-1:-1:-1;26354:285:0;;;;;:::i;:::-;;:::i;:::-;;;1802:25:1;;;1790:2;1775:18;26354:285:0;1656:177:1;26873:227:0;;;;;;;;;;-1:-1:-1;26873:227:0;;;;;:::i;:::-;;:::i;7879:90::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17811:146::-;;;;;;;;;;;;;:::i;:::-;;8833:205;;;;;;;;;;-1:-1:-1;8833:205:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2938:32:1;;;2920:51;;2908:2;2893:18;8833:205:0;2774:203:1;8481:347:0;;;;;;;;;;-1:-1:-1;8481:347:0;;;;;:::i;:::-;;:::i;13903:19::-;;;;;;;;;;;;;;;;25420:85;;;;;;;;;;;;;:::i;27403:99::-;;;;;;;;;;-1:-1:-1;27403:99:0;;;;;:::i;:::-;;:::i;14081:26::-;;;;;;;;;;;;;;;;9353:284;;;;;;;;;;-1:-1:-1;9353:284:0;;;;;:::i;:::-;;:::i;14142:31::-;;;;;;;;;;;;;;;;21877:223;;;;;;;;;;-1:-1:-1;21877:223:0;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4019:32:1;;;4001:51;;4083:2;4068:18;;4061:34;;;;3974:18;21877:223:0;3827:274:1;27893:87:0;;;;;;;;;;-1:-1:-1;27893:87:0;;;;;:::i;:::-;;:::i;13989:33::-;;;;;;;;;;;;;;;;23142:1315;;;;;;:::i;:::-;;:::i;20540:753::-;;;;;;;;;;;;;:::i;19307:627::-;;;:::i;9642:142::-;;;;;;;;;;-1:-1:-1;9642:142:0;;;;;:::i;:::-;;:::i;19939:596::-;;;;;;:::i;:::-;;:::i;27985:77::-;;;;;;;;;;-1:-1:-1;27985:77:0;;;;;:::i;:::-;;:::i;25510:551::-;;;;;;;;;;-1:-1:-1;25510:551:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27619:75::-;;;;;;;;;;-1:-1:-1;27619:75:0;;;;;:::i;:::-;;:::i;13954:29::-;;;;;;;;;;;;;;;;28067:103;;;;;;;;;;-1:-1:-1;28067:103:0;;;;;:::i;:::-;;:::i;17962:117::-;;;;;;;;;;-1:-1:-1;17962:117:0;;;;;:::i;:::-;;:::i;13796:45::-;;;;;;;;;;-1:-1:-1;13796:45:0;;;;-1:-1:-1;;;13796:45:0;;;;;;13743:20;;;;;;;;;;-1:-1:-1;13743:20:0;;;;-1:-1:-1;;;13743:20:0;;;;;;27107:93;;;;;;;;;;-1:-1:-1;27107:93:0;;;;;:::i;:::-;;:::i;27795:::-;;;;;;;;;;-1:-1:-1;27795:93:0;;;;;:::i;:::-;;:::i;13721:18::-;;;;;;;;;;-1:-1:-1;13721:18:0;;;;-1:-1:-1;;;13721:18:0;;;;;;7653:221;;;;;;;;;;-1:-1:-1;7653:221:0;;;;;:::i;:::-;;:::i;27309:89::-;;;;;;;;;;-1:-1:-1;27309:89:0;;;;;:::i;:::-;;:::i;7454:194::-;;;;;;;;;;-1:-1:-1;7454:194:0;;;;;:::i;:::-;;:::i;28285:193::-;;;;;;;;;;-1:-1:-1;28285:193:0;;;;;:::i;:::-;;:::i;26644:224::-;;;;;;;;;;-1:-1:-1;26644:224:0;;;;;:::i;:::-;;:::i;24810:255::-;;;;;;;;;;-1:-1:-1;24810:255:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;18084:622::-;;;:::i;28175:105::-;;;;;;;;;;-1:-1:-1;28175:105:0;;;;;:::i;:::-;;:::i;5535:77::-;;;;;;;;;;-1:-1:-1;5601:6:0;;-1:-1:-1;;;;;5601:6:0;5535:77;;27507:107;;;;;;;;;;-1:-1:-1;27507:107:0;;;;;:::i;:::-;;:::i;17640:70::-;;;;;;;;;;;;;:::i;7974:94::-;;;;;;;;;;;;;:::i;24462:252::-;;;;;;;;;;-1:-1:-1;24462:252:0;;;;;:::i;:::-;;:::i;:::-;;;;6969:14:1;;6962:22;6944:41;;7016:2;7001:18;;6994:34;;;;6917:18;24462:252:0;6776:258:1;15909:1014:0;;;;;;:::i;:::-;;:::i;13767:25::-;;;;;;;;;;-1:-1:-1;13767:25:0;;;;-1:-1:-1;;;13767:25:0;;;;;;17715:91;;;;;;;;;;;;;:::i;9043:146::-;;;;;;;;;;-1:-1:-1;9043:146:0;;;;;:::i;:::-;;:::i;22105:603::-;;;;;;;;;;-1:-1:-1;22105:603:0;;;;;:::i;:::-;;:::i;22713:424::-;;;;;;;;;;-1:-1:-1;22713:424:0;;;;;:::i;:::-;;:::i;27209:95::-;;;;;;;;;;-1:-1:-1;27209:95:0;;;;;:::i;:::-;;:::i;26066:283::-;;;;;;;;;;-1:-1:-1;26066:283:0;;;;;:::i;:::-;;:::i;21512:358::-;;;:::i;9789:272::-;;;;;;;;;;-1:-1:-1;9789:272:0;;;;;:::i;:::-;;:::i;14177:32::-;;;;;;;;;;;;;;;;25070:345;;;;;;;;;;-1:-1:-1;25070:345:0;;;;;:::i;:::-;;:::i;13926:24::-;;;;;;;;;;;;;;;;27699:91;;;;;;;;;;-1:-1:-1;27699:91:0;;;;;:::i;:::-;;:::i;21298:209::-;;;:::i;14213:36::-;;;;;;;;;;;;;;;;14253:37;;;;;;;;;;;;;;;;14111:27;;;;;;;;;;;;;;;;9194:154;;;;;;;;;;-1:-1:-1;9194:154:0;;;;;:::i;:::-;;:::i;14028:24::-;;;;;;;;;;;;;;;;18711:591;;;;;;:::i;:::-;;:::i;24719:86::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5729:188::-;;;;;;;;;;-1:-1:-1;5729:188:0;;;;;:::i;:::-;;:::i;16928:705::-;;;;;;;;;;-1:-1:-1;16928:705:0;;;;;:::i;:::-;;:::i;14056:19::-;;;;;;;;;;;;;;;;15713:189;15789:4;-1:-1:-1;;;;;;15807:50:0;;-1:-1:-1;;;15807:50:0;;:90;;;15861:36;15885:11;15861:23;:36::i;:::-;15800:97;15713:189;-1:-1:-1;;15713:189:0:o;26354:285::-;26426:7;26440:23;26466;26480:8;26466:13;:23::i;:::-;26440:49;;26494:13;26523:9;26518:98;26542:6;:13;26538:1;:17;26518:98;;;26577:33;26600:6;26607:1;26600:9;;;;;;;;:::i;:::-;;;;;;;26577:22;:33::i;:::-;26568:42;;;;:::i;:::-;;-1:-1:-1;26557:3:0;;;;:::i;:::-;;;;26518:98;;;-1:-1:-1;26629:5:0;26354:285;-1:-1:-1;;;26354:285:0:o;26873:227::-;26942:7;26984;26964:16;:6;2978:14;;2893:104;26964:16;:27;;26956:67;;;;-1:-1:-1;;;26956:67:0;;10393:2:1;26956:67:0;;;10375:21:1;10432:2;10412:18;;;10405:30;10471:29;10451:18;;;10444:57;10518:18;;26956:67:0;;;;;;;;;27057:38;;;;:29;:38;;;;;;27037:17;;:58;;27057:38;27037:58;:::i;7879:90::-;7932:13;7959:5;7952:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7879:90;:::o;17811:146::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;17919:33:::1;::::0;;-1:-1:-1;;;;17882:70:0;::::1;-1:-1:-1::0;;;17919:33:0;;;::::1;;;17918:34;17882:70:::0;;::::1;;::::0;;17811:146::o;8833:205::-;8908:7;10412:16;;;:7;:16;;;;;;-1:-1:-1;;;;;10412:16:0;8922:73;;;;-1:-1:-1;;;8922:73:0;;11625:2:1;8922:73:0;;;11607:21:1;11664:2;11644:18;;;11637:30;11703:34;11683:18;;;11676:62;-1:-1:-1;;;11754:18:1;;;11747:42;11806:19;;8922:73:0;11423:408:1;8922:73:0;-1:-1:-1;9009:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;9009:24:0;;8833:205::o;8481:347::-;8556:13;8572:23;8587:7;8572:14;:23::i;:::-;8556:39;;8614:5;-1:-1:-1;;;;;8608:11:0;:2;-1:-1:-1;;;;;8608:11:0;;;8600:57;;;;-1:-1:-1;;;8600:57:0;;12038:2:1;8600:57:0;;;12020:21:1;12077:2;12057:18;;;12050:30;12116:34;12096:18;;;12089:62;-1:-1:-1;;;12167:18:1;;;12160:31;12208:19;;8600:57:0;11836:397:1;8600:57:0;5194:10;-1:-1:-1;;;;;8672:21:0;;;;:62;;-1:-1:-1;8697:37:0;8714:5;5194:10;9194:154;:::i;8697:37::-;8664:131;;;;-1:-1:-1;;;8664:131:0;;12440:2:1;8664:131:0;;;12422:21:1;12479:2;12459:18;;;12452:30;12518:34;12498:18;;;12491:62;12589:26;12569:18;;;12562:54;12633:19;;8664:131:0;12238:420:1;8664:131:0;8802:21;8811:2;8815:7;8802:8;:21::i;:::-;8551:277;8481:347;;:::o;25420:85::-;25463:7;25484:16;:6;2978:14;;2893:104;25484:16;25477:23;;25420:85;:::o;27403:99::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27471:14:::1;:26:::0;27403:99::o;9353:284::-;9502:41;5194:10;9535:7;9502:18;:41::i;:::-;9494:103;;;;-1:-1:-1;;;9494:103:0;;;;;;;:::i;:::-;9604:28;9614:4;9620:2;9624:7;9604:9;:28::i;21877:223::-;22058:12;;22046:9;;22009:4;;21944:16;;14736:5;;22046:24;;;:::i;:::-;22037:34;;:5;:34;:::i;:::-;:58;;;;:::i;:::-;22021:74;;21877:223;;;;;:::o;27893:87::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27955:9:::1;:20:::0;27893:87::o;23142:1315::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;23217:13:::1;::::0;23256:22:::1;23270:7:::0;23256:13:::1;:22::i;:::-;23216:62;;;;23291:8;23283:60;;;;-1:-1:-1::0;;;23283:60:0::1;;;;;;;:::i;:::-;23350:22;23375:8;23384:12;23375:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;23350:47:::1;::::0;;::::1;::::0;::::1;::::0;;23375:22:::1;::::0;;::::1;::::0;;::::1;23350:47:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;23350:47:0::1;::::0;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;23430:12:0::1;5194:10:::0;;5121:88;23430:12:::1;-1:-1:-1::0;;;;;23412:30:0::1;:7;:14;;;-1:-1:-1::0;;;;;23412:30:0::1;;;23404:110;;;::::0;-1:-1:-1;;;23404:110:0;;14051:2:1;23404:110:0::1;::::0;::::1;14033:21:1::0;14090:2;14070:18;;;14063:30;14129:34;14109:18;;;14102:62;14200:34;14180:18;;;14173:62;-1:-1:-1;;;14251:19:1;;;14244:34;14295:19;;23404:110:0::1;13849:471:1::0;23404:110:0::1;23540:7;:13;;;23527:9;:26;;23519:77;;;::::0;-1:-1:-1;;;23519:77:0;;14527:2:1;23519:77:0::1;::::0;::::1;14509:21:1::0;14566:2;14546:18;;;14539:30;14605:34;14585:18;;;14578:62;-1:-1:-1;;;14656:18:1;;;14649:36;14702:19;;23519:77:0::1;14325:402:1::0;23519:77:0::1;23603:22;14736:5;23640:9;;23628;:21;;;;:::i;:::-;:45;;;;:::i;:::-;23603:70;;23678:34;23786:1;23767:16;:6;2978:14:::0;;2893:104;23767:16:::1;:20;;;;:::i;:::-;14736:5;23727:12;;23715:9;:24;;;;:::i;:::-;:48;;;;:::i;:::-;:73;;;;:::i;:::-;23678:110;;23793:24;23869:1;23850:16;:6;2978:14:::0;;2893:104;23850:16:::1;:20;;;;:::i;:::-;23820:51;::::0;:26;:51:::1;:::i;:::-;23905:8;23914:15:::0;;23793:78;;-1:-1:-1;23905:8:0;23914:19:::1;::::0;23932:1:::1;::::0;23914:19:::1;:::i;:::-;23905:29;;;;;;;;:::i;:::-;;;;;;;;;;;23880:8;23889:12;23880:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:54;;:22:::1;::::0;;::::1;;:54:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;23880:54:0::1;-1:-1:-1::0;;;;;23880:54:0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;23939:8:::1;:14:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;23939:14:0;;;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;23939:14:0::1;::::0;;::::1;;::::0;;;;;23962:17:::1;:47:::0;;23983:26;;23939:14;23962:47:::1;::::0;23983:26;;23962:47:::1;:::i;:::-;::::0;;;-1:-1:-1;;24014:38:0::1;::::0;;;:29:::1;:38;::::0;;;;:68;;24056:26;;24014:38;:68:::1;::::0;24056:26;;24014:68:::1;:::i;:::-;;;;;;;;24115:16;24089:22;;:42;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5194:10:0;;-1:-1:-1;;;;;;24145:59:0::1;24164:7;:14;;;-1:-1:-1::0;;;;;24145:59:0::1;24155:7;24145:59;24194:9;24145:59;;;;1802:25:1::0;;1790:2;1775:18;;1656:177;24145:59:0::1;;;;;;;;24213:56;24227:7;:14;;;24243:12;5194:10:::0;;5121:88;24243:12:::1;24257:7;24213:56;;;;;;;;;;;::::0;:13:::1;:56::i;:::-;24303:14;::::0;::::1;::::0;24277:12:::1;::::0;-1:-1:-1;;;;;24295:28:0::1;24345:33;24362:16:::0;24345:14;:33:::1;:::i;:::-;24332:47;::::0;:9:::1;:47;:::i;:::-;24295:90;::::0;::::1;::::0;;;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24276:109;;;24398:7;24390:62;;;;-1:-1:-1::0;;;24390:62:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;6181:1:0;6443:7;:22;-1:-1:-1;;;;;;23142:1315:0:o;20540:753::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;20582:20:::1;20629:22;;20605:21;;:46;;;;:::i;:::-;20582:69:::0;-1:-1:-1;20656:25:0::1;20730:3;20685:36;20582:69:::0;20685:21:::1;:36;:::i;:::-;20684:43;::::0;20725:2:::1;20684:43;:::i;:::-;:49;;;;:::i;:::-;20768:16;::::0;20656:77;;-1:-1:-1;20741:13:0::1;::::0;-1:-1:-1;;;;;20768:16:0::1;20799:21;20656:77:::0;20819:1:::1;20799:21;:::i;:::-;20760:66;::::0;::::1;::::0;;;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20740:86;;;20839:8;20831:84;;;::::0;-1:-1:-1;;;20831:84:0;;15687:2:1;20831:84:0::1;::::0;::::1;15669:21:1::0;15726:2;15706:18;;;15699:30;-1:-1:-1;;;;;;;;;;;15745:18:1;;;15738:62;15836:33;15816:18;;;15809:61;15887:19;;20831:84:0::1;15485:427:1::0;20831:84:0::1;20950:15;::::0;20942:61:::1;::::0;20923:13:::1;::::0;-1:-1:-1;;;;;20950:15:0::1;::::0;20980:17;;20923:13;20942:61;20923:13;20942:61;20980:17;20950:15;20942:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20922:81;;;21016:8;21008:83;;;::::0;-1:-1:-1;;;21008:83:0;;16119:2:1;21008:83:0::1;::::0;::::1;16101:21:1::0;16158:2;16138:18;;;16131:30;-1:-1:-1;;;;;;;;;;;16177:18:1;;;16170:62;16268:32;16248:18;;;16241:60;16318:19;;21008:83:0::1;15917:426:1::0;21008:83:0::1;21099:13;21126:7;5601:6:::0;;-1:-1:-1;;;;;5601:6:0;;5535:77;21126:7:::1;-1:-1:-1::0;;;;;21118:21:0::1;21188:4;;21173:12;:19;;;;:::i;:::-;21148:45;::::0;:21:::1;:45;:::i;:::-;21118:81;::::0;::::1;::::0;;;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21098:101;;;21212:8;21204:84;;;::::0;-1:-1:-1;;;21204:84:0;;16550:2:1;21204:84:0::1;::::0;::::1;16532:21:1::0;16589:2;16569:18;;;16562:30;-1:-1:-1;;;;;;;;;;;16608:18:1;;;16601:62;16699:33;16679:18;;;16672:61;16750:19;;21204:84:0::1;16348:427:1::0;21204:84:0::1;20577:716;;;;;20540:753::o:0;19307:627::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;19369:14:::1;19386:38;5194:10:::0;26354:285;:::i;19386:38::-:1;19369:55;;19446:1;19437:6;:10;19429:49;;;;-1:-1:-1::0;;;19429:49:0::1;;;;;;;:::i;:::-;19487:23;19513:27;5194:10:::0;25510:551;:::i;19513:27::-:1;19487:53;;19552:9;19547:149;19571:6;:13;19567:1;:17;19547:149;;;19597:15;19615:6;19622:1;19615:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;19673:17:::1;::::0;19632:38:::1;::::0;;;:29:::1;:38:::0;;;;;;:58;-1:-1:-1;19586:3:0;::::1;::::0;::::1;:::i;:::-;;;;19547:149;;;;19728:6;19702:22;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19762:47:0::1;::::0;19744:12:::1;::::0;5194:10;;19797:6;;19744:12;19762:47;19744:12;19762:47;19797:6;5194:10;19762:47:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19743:66;;;19822:7;19814:62;;;;-1:-1:-1::0;;;19814:62:0::1;;;;;;;:::i;:::-;19927:1;5194:10:::0;19905:12:::1;-1:-1:-1::0;;;;;19890:39:0::1;;19919:6;19890:39;;;;1802:25:1::0;;1790:2;1775:18;;1656:177;19890:39:0::1;;;;;;;;-1:-1:-1::0;;6181:1:0;6443:7;:22;-1:-1:-1;19307:627:0:o;9642:142::-;9740:39;9757:4;9763:2;9767:7;9740:39;;;;;;;;;;;;:16;:39::i;19939:596::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;20022:13:::1;20038:16;20046:7:::0;20038::::1;:16::i;:::-;20022:32:::0;-1:-1:-1;5194:10:0;-1:-1:-1;;;;;20067:21:0;::::1;;20059:77;;;;-1:-1:-1::0;;;20059:77:0::1;;;;;;;:::i;:::-;20143:14;20160:31;20183:7;20160:22;:31::i;:::-;20143:48;;20213:1;20204:6;:10;20196:49;;;;-1:-1:-1::0;;;20196:49:0::1;;;;;;;:::i;:::-;20280:6;20254:22;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;20332:17:0::1;::::0;20291:38:::1;::::0;;;:29:::1;:38;::::0;;;;;:58;;;;20377:40;;-1:-1:-1;;;;;20377:19:0;::::1;::::0;20405:6;;20291:38;20377:40;20291:38;20377:40;20405:6;20377:19;:40:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20358:59;;;20430:7;20422:62;;;;-1:-1:-1::0;;;20422:62:0::1;;;;;;;:::i;:::-;20528:1;20513:5;-1:-1:-1::0;;;;;20498:32:0::1;;20520:6;20498:32;;;;1802:25:1::0;;1790:2;1775:18;;1656:177;20498:32:0::1;;;;;;;;-1:-1:-1::0;;6181:1:0;6443:7;:22;-1:-1:-1;;19939:596:0:o;27985:77::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;28042:4:::1;:15:::0;27985:77::o;25510:551::-;25571:16;25594:23;25620:19;25630:8;25620:9;:19::i;:::-;25594:45;;25646:30;25693:15;25679:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25679:30:0;-1:-1:-1;25646:63:0;-1:-1:-1;25739:1:0;25718:18;25779:249;25804:15;25786;:33;:60;;;;;25837:9;;25823:10;:23;;25786:60;25779:249;;;25854:13;25870:19;25878:10;25870:7;:19::i;:::-;25854:35;;25910:8;-1:-1:-1;;;;;25901:17:0;:5;-1:-1:-1;;;;;25901:17:0;;25897:106;;;25960:10;25927:13;25941:15;25927:30;;;;;;;;:::i;:::-;;;;;;;;;;:43;25979:17;;;;:::i;:::-;;;;25897:106;26010:12;;;;:::i;:::-;;;;25848:180;25779:249;;;-1:-1:-1;26043:13:0;;25510:551;-1:-1:-1;;;;25510:551:0:o;27619:75::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27675:4:::1;:14:::0;27619:75::o;28067:103::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;28137:16:::1;:28:::0;28067:103::o;17962:117::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;18028:8:::1;:15:::0;;-1:-1:-1;;;;18028:15:0::1;-1:-1:-1::0;;;18028:15:0::1;::::0;;18050:24:::1;18061:12:::0;18050:10:::1;:24::i;:::-;17962:117:::0;:::o;27107:93::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27175:20;;::::1;::::0;:7:::1;::::0;:20:::1;::::0;::::1;::::0;::::1;:::i;:::-;;27107:93:::0;:::o;27795:::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27860:12:::1;:23:::0;27795:93::o;7653:221::-;7724:7;7754:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7754:16:0;7785:19;7777:73;;;;-1:-1:-1;;;7777:73:0;;17749:2:1;7777:73:0;;;17731:21:1;17788:2;17768:18;;;17761:30;17827:34;17807:18;;;17800:62;-1:-1:-1;;;17878:18:1;;;17871:39;17927:19;;7777:73:0;17547:405:1;27309:89:0;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27372:9:::1;:21:::0;27309:89::o;7454:194::-;7525:7;-1:-1:-1;;;;;7547:19:0;;7539:74;;;;-1:-1:-1;;;7539:74:0;;18159:2:1;7539:74:0;;;18141:21:1;18198:2;18178:18;;;18171:30;18237:34;18217:18;;;18210:62;-1:-1:-1;;;18288:18:1;;;18281:40;18338:19;;7539:74:0;17957:406:1;7539:74:0;-1:-1:-1;;;;;;7627:16:0;;;;;:9;:16;;;;;;;7454:194::o;28285:193::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;28394:16:::1;:38:::0;;-1:-1:-1;;;;;28394:38:0;;::::1;-1:-1:-1::0;;;;;;28394:38:0;;::::1;;::::0;;;28437:15:::1;:36:::0;;;;;::::1;::::0;::::1;;::::0;;28285:193::o;26644:224::-;26712:7;26754;26734:16;:6;2978:14;;2893:104;26734:16;:27;;26726:67;;;;-1:-1:-1;;;26726:67:0;;10393:2:1;26726:67:0;;;10375:21:1;10432:2;10412:18;;;10405:30;10471:29;10451:18;;;10444:57;10518:18;;26726:67:0;10191:351:1;26726:67:0;26826:37;;;;:28;:37;;;;;;26807:16;;:56;;26826:37;26807:56;:::i;24810:255::-;24876:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24876:14:0;24898:13;24913:20;24937:22;24951:7;24937:13;:22::i;:::-;24897:62;;;;24972:8;24964:60;;;;-1:-1:-1;;;24964:60:0;;;;;;;:::i;:::-;25038:8;25047:12;25038:22;;;;;;;;:::i;:::-;;;;;;;;;;25031:29;;;;;;;;25038:22;;;;;;;25031:29;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25031:29:0;;;;;;;;;;;;;;;24810:255;-1:-1:-1;;;;24810:255:0:o;18084:622::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;18145:14:::1;18162:37;5194:10:::0;26066:283;:::i;18162:37::-:1;18145:54;;18221:1;18212:6;:10;18204:49;;;;-1:-1:-1::0;;;18204:49:0::1;;;;;;;:::i;:::-;18262:23;18288:27;5194:10:::0;25510:551;:::i;18288:27::-:1;18262:53;;18327:9;18322:147;18346:6;:13;18342:1;:17;18322:147;;;18372:15;18390:6;18397:1;18390:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;18447:16:::1;::::0;18407:37:::1;::::0;;;:28:::1;:37:::0;;;;;;:56;-1:-1:-1;18361:3:0;::::1;::::0;::::1;:::i;:::-;;;;18322:147;;;;18500:6;18475:21;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;18534:47:0::1;::::0;18516:12:::1;::::0;5194:10;;18569:6;;18516:12;18534:47;18516:12;18534:47;18569:6;5194:10;18534:47:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18515:66;;;18594:7;18586:62;;;;-1:-1:-1::0;;;18586:62:0::1;;;;;;;:::i;:::-;18699:1;5194:10:::0;18677:12:::1;5121:88:::0;28175:105;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;28246:17:::1;:29:::0;28175:105::o;27507:107::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27579:18:::1;:30:::0;27507:107::o;17640:70::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;17699:6:::1;::::0;;-1:-1:-1;;;;17689:16:0;::::1;-1:-1:-1::0;;;17699:6:0;;;::::1;;;17698:7;17689:16:::0;;::::1;;::::0;;17640:70::o;7974:94::-;8029:13;8056:7;8049:14;;;;;:::i;24462:252::-;24522:13;24537;24562:9;24557:153;24581:8;:15;24577:19;;24557:153;;;24636:7;24613:8;24622:1;24613:11;;;;;;;;:::i;:::-;;;;;;;;;;;:19;;;:30;24609:44;;24645:8;;24609:44;24672:4;24661:15;;24690:1;24682:9;;24699:5;;24557:153;24598:3;;;;:::i;:::-;;;;24557:153;;;;24462:252;;;:::o;15909:1014::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;15980:10;;;;;:42:::1;;;16004:18;;15994:6;:28;;15980:42;15972:74;;;::::0;-1:-1:-1;;;15972:74:0;;18570:2:1;15972:74:0::1;::::0;::::1;18552:21:1::0;18609:2;18589:18;;;18582:30;-1:-1:-1;;;18628:18:1;;;18621:49;18687:18;;15972:74:0::1;18368:343:1::0;15972:74:0::1;16053:17;16092:6;16073:16;:6;2978:14:::0;;2893:104;16073:16:::1;:25;;;;:::i;:::-;16053:45;;16126:9;;16113;:22;;16105:60;;;::::0;-1:-1:-1;;;16105:60:0;;18918:2:1;16105:60:0::1;::::0;::::1;18900:21:1::0;18957:2;18937:18;;;18930:30;-1:-1:-1;;;18976:18:1;;;18969:55;19041:18;;16105:60:0::1;18716:349:1::0;16105:60:0::1;16203:14;;16191:9;;:26;;;;:::i;:::-;16178:9;:39;;16170:81;;;::::0;-1:-1:-1;;;16170:81:0;;19272:2:1;16170:81:0::1;::::0;::::1;19254:21:1::0;19311:2;19291:18;;;19284:30;19350:31;19330:18;;;19323:59;19399:18;;16170:81:0::1;19070:353:1::0;16170:81:0::1;16267:6;::::0;-1:-1:-1;;;16267:6:0;::::1;;;16266:7;16258:37;;;::::0;-1:-1:-1;;;16258:37:0;;19630:2:1;16258:37:0::1;::::0;::::1;19612:21:1::0;19669:2;19649:18;;;19642:30;-1:-1:-1;;;19688:18:1;;;19681:47;19745:18;;16258:37:0::1;19428:341:1::0;16258:37:0::1;16328:6;16321:4;;:13;;;;:::i;:::-;16308:9;:26;;16300:57;;;::::0;-1:-1:-1;;;16300:57:0;;19976:2:1;16300:57:0::1;::::0;::::1;19958:21:1::0;20015:2;19995:18;;;19988:30;-1:-1:-1;;;20034:18:1;;;20027:48;20092:18;;16300:57:0::1;19774:342:1::0;16300:57:0::1;16366:23;16398:18:::0;16419:16:::1;:6;2978:14:::0;;2893:104;16419:16:::1;16398:37:::0;-1:-1:-1;16442:31:0::1;5194:10:::0;16466:6:::1;16442:9;:31::i;:::-;16487:9;16482:390;16506:6;16502:1;:10;16482:390;;;16529:14:::0;;16525:257:::1;;16552:33;16647:10;16638:6;14736:5;16600:11;;16588:9;:23;;;;:::i;:::-;:47;;;;:::i;:::-;:56;;;;:::i;:::-;:69;;;;:::i;:::-;16552:105:::0;-1:-1:-1;16685:38:0::1;16713:10:::0;16552:105;16685:38:::1;:::i;:::-;16666:57;::::0;;::::1;:::i;:::-;;;16750:25;16730:16;;:45;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;16525:257:0::1;16789:12:::0;::::1;::::0;::::1;:::i;:::-;16850:16;::::0;16807:40:::1;::::0;;;:28:::1;:40;::::0;;;;:59;16789:12;-1:-1:-1;16514:3:0;;-1:-1:-1;16514:3:0::1;::::0;::::1;:::i;:::-;;;;16482:390;;;;16903:15;16878:21;;:40;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;6181:1:0;6443:7;:22;-1:-1:-1;;;;15909:1014:0:o;17715:91::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;17788:13:::1;::::0;;-1:-1:-1;;;;17771:30:0;::::1;-1:-1:-1::0;;;17788:13:0;;;::::1;;;17787:14;17771:30:::0;;::::1;;::::0;;17715:91::o;9043:146::-;9132:52;5194:10;9165:8;9175;9132:18;:52::i;22105:603::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;22193:13:::1;::::0;-1:-1:-1;;;22193:13:0;::::1;;;22185:77;;;::::0;-1:-1:-1;;;22185:77:0;;20323:2:1;22185:77:0::1;::::0;::::1;20305:21:1::0;20362:2;20342:18;;;20335:30;20401:34;20381:18;;;20374:62;-1:-1:-1;;;20452:18:1;;;20445:49;20511:19;;22185:77:0::1;20121:415:1::0;22185:77:0::1;22283:1;22275:5;:9;22267:63;;;::::0;-1:-1:-1;;;22267:63:0;;20743:2:1;22267:63:0::1;::::0;::::1;20725:21:1::0;20782:2;20762:18;;;20755:30;20821:34;20801:18;;;20794:62;-1:-1:-1;;;20872:18:1;;;20865:39;20921:19;;22267:63:0::1;20541:405:1::0;22267:63:0::1;5194:10:::0;22343:16:::1;22351:7:::0;22343::::1;:16::i;:::-;-1:-1:-1::0;;;;;22343:32:0::1;;22335:88;;;;-1:-1:-1::0;;;22335:88:0::1;;;;;;;:::i;:::-;22431:13;22450:22;22464:7;22450:13;:22::i;:::-;22430:42;;;22486:8;22485:9;22477:65;;;::::0;-1:-1:-1;;;22477:65:0;;21565:2:1;22477:65:0::1;::::0;::::1;21547:21:1::0;21604:2;21584:18;;;21577:30;21643:34;21623:18;;;21616:62;-1:-1:-1;;;21694:18:1;;;21687:41;21745:19;;22477:65:0::1;21363:407:1::0;22477:65:0::1;22549:19;22571:54;;;;;;;;22579:7;22571:54;;;;22588:5;22571:54;;;;22595:12;5194:10:::0;;5121:88;22595:12:::1;-1:-1:-1::0;;;;;22571:54:0;;::::1;::::0;;22609:15:::1;22571:54;::::0;;::::1;::::0;22632:8:::1;:19:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;22632:19:0;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;;;;;;22632:19:0::1;::::0;;;::::1;;::::0;;::::1;::::0;::::1;::::0;;;;;;;-1:-1:-1;5194:10:0;-1:-1:-1;;;;;22663:40:0::1;22674:7;22663:40;22697:5;22663:40;;;;1802:25:1::0;;1790:2;1775:18;;1656:177;22713:424:0;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;22781:13:::1;::::0;22820:22:::1;22834:7:::0;22820:13:::1;:22::i;:::-;22780:62;;;;22857:8;22849:60;;;;-1:-1:-1::0;;;22849:60:0::1;;;;;;;:::i;:::-;5194:10:::0;-1:-1:-1;;;;;22922:45:0::1;:8;22931:12;22922:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:29:::1;:22;::::0;;::::1;;:29;::::0;-1:-1:-1;;;;;22922:29:0::1;:45;22914:101;;;;-1:-1:-1::0;;;22914:101:0::1;;;;;;;:::i;:::-;23047:8;23056:15:::0;;:19:::1;::::0;23074:1:::1;::::0;23056:19:::1;:::i;:::-;23047:29;;;;;;;;:::i;:::-;;;;;;;;;;;23022:8;23031:12;23022:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:54;;:22:::1;::::0;;::::1;;:54:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;23022:54:0::1;-1:-1:-1::0;;;;;23022:54:0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;23081:8:::1;:14:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;23081:14:0;;;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;23081:14:0::1;::::0;;::::1;;::::0;;;;;23107:25:::1;::::0;23124:7;;23107:25:::1;::::0;::::1;-1:-1:-1::0;;6181:1:0;6443:7;:22;-1:-1:-1;22713:424:0:o;27209:95::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27278:21;;::::1;::::0;:9:::1;::::0;:21:::1;::::0;::::1;::::0;::::1;:::i;26066:283::-:0;26137:7;26151:23;26177;26191:8;26177:13;:23::i;:::-;26151:49;;26205:13;26234:9;26229:97;26253:6;:13;26249:1;:17;26229:97;;;26288:32;26310:6;26317:1;26310:9;;;;;;;;:::i;:::-;;;;;;;26288:21;:32::i;:::-;26279:41;;;;:::i;:::-;;-1:-1:-1;26268:3:0;;;;:::i;:::-;;;;26229:97;;21512:358;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;21569:21:::1;21593:16;:6;2978:14:::0;;2893:104;21593:16:::1;21569:40:::0;-1:-1:-1;21616:29:0::1;21648:25;21569:40:::0;21648:9:::1;:25;:::i;:::-;21616:57:::0;-1:-1:-1;21678:19:0::1;21700:37;21724:13:::0;21616:57;21700:37:::1;:::i;:::-;21678:59;;21764:21;21744:16;;:41;;;;;;;:::i;:::-;;;;;;;;21815:11;21790:21;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;21838:27:0::1;::::0;21855:9:::1;1802:25:1::0;;21838:27:0::1;::::0;1790:2:1;1775:18;21838:27:0::1;;;;;;;21564:306;;;21512:358::o:0;9789:272::-;9915:41;5194:10;9948:7;9915:18;:41::i;:::-;9907:103;;;;-1:-1:-1;;;9907:103:0;;;;;;;:::i;:::-;10017:39;10031:4;10037:2;10041:7;10050:5;10017:13;:39::i;:::-;9789:272;;;;:::o;25070:345::-;10394:4;10412:16;;;:7;:16;;;;;;25134:13;;-1:-1:-1;;;;;10412:16:0;25154:76;;;;-1:-1:-1;;;25154:76:0;;21977:2:1;25154:76:0;;;21959:21:1;22016:2;21996:18;;;21989:30;22055:34;22035:18;;;22028:62;-1:-1:-1;;;22106:18:1;;;22099:45;22161:19;;25154:76:0;21775:411:1;25154:76:0;25242:28;25273:10;:8;:10::i;:::-;25242:41;;25328:1;25303:14;25297:28;:32;:113;;;;;;;;;;;;;;;;;25357:14;25373:18;:7;:16;:18::i;:::-;25393:9;25340:63;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25297:113;25290:120;25070:345;-1:-1:-1;;;25070:345:0:o;27699:91::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;27763:11:::1;:22:::0;27699:91::o;21298:209::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;21358:12:::1;21384:7;5601:6:::0;;-1:-1:-1;;;;;5601:6:0;;5535:77;21384:7:::1;-1:-1:-1::0;;;;;21376:21:0::1;21406;21376:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21357:76;;;21448:7;21440:62;;;;-1:-1:-1::0;;;21440:62:0::1;;;;;;;:::i;9194:154::-:0;-1:-1:-1;;;;;9308:25:0;;;9290:4;9308:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;9194:154::o;18711:591::-;6222:1;6348:7;;:19;;6340:63;;;;-1:-1:-1;;;6340:63:0;;;;;;;:::i;:::-;6222:1;6410:7;:18;18793:13:::1;18809:16;18817:7:::0;18809::::1;:16::i;:::-;18793:32:::0;-1:-1:-1;5194:10:0;-1:-1:-1;;;;;18838:21:0;::::1;;18830:77;;;;-1:-1:-1::0;;;18830:77:0::1;;;;;;;:::i;:::-;18914:14;18931:30;18953:7;18931:21;:30::i;:::-;18914:47;;18983:1;18974:6;:10;18966:49;;;;-1:-1:-1::0;;;18966:49:0::1;;;;;;;:::i;:::-;19049:6;19024:21;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19100:16:0::1;::::0;19060:37:::1;::::0;;;:28:::1;:37;::::0;;;;;:56;;;;19144:40;;-1:-1:-1;;;;;19144:19:0;::::1;::::0;19172:6;;19060:37;19144:40;19060:37;19144:40;19172:6;19144:19;:40:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19125:59;;;19197:7;19189:62;;;;-1:-1:-1::0;;;19189:62:0::1;;;;;;;:::i;:::-;19295:1;19280:5;-1:-1:-1::0;;;;;19265:32:0::1;;19287:6;19265:32;;;;1802:25:1::0;;1790:2;1775:18;;1656:177;24719:86:0;24762:16;24792:8;24785:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24785:15:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24719:86;:::o;5729:188::-;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5812:22:0;::::1;5804:73;;;::::0;-1:-1:-1;;;5804:73:0;;24051:2:1;5804:73:0::1;::::0;::::1;24033:21:1::0;24090:2;24070:18;;;24063:30;24129:34;24109:18;;;24102:62;-1:-1:-1;;;24180:18:1;;;24173:36;24226:19;;5804:73:0::1;23849:402:1::0;5804:73:0::1;5884:28;5903:8;5884:18;:28::i;16928:705::-:0;5601:6;;-1:-1:-1;;;;;5601:6:0;5194:10;5651:23;5643:68;;;;-1:-1:-1;;;5643:68:0;;;;;;;:::i;:::-;17030:34;;::::1;17023:42;;;;:::i;:::-;17077:20:::0;;;;;:42:::1;;-1:-1:-1::0;17101:18:0;;;17077:42:::1;17070:50;;;;:::i;:::-;17129:19;::::0;17153:70:::1;17173:18:::0;;::::1;17153:70;;;17213:7;;17221:1;17213:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17198:25;::::0;::::1;;::::0;::::1;:::i;:::-;::::0;-1:-1:-1;17193:3:0;::::1;::::0;::::1;:::i;:::-;;;;17153:70;;;;17272:9;;17257:11;17238:16;:6;2978:14:::0;;2893:104;17238:16:::1;:30;;;;:::i;:::-;:43;;17230:81;;;::::0;-1:-1:-1;;;17230:81:0;;18918:2:1;17230:81:0::1;::::0;::::1;18900:21:1::0;18957:2;18937:18;;;18930:30;-1:-1:-1;;;18976:18:1;;;18969:55;19041:18;;17230:81:0::1;18716:349:1::0;17230:81:0::1;17325:9;17320:309;17340:20:::0;;::::1;17320:309;;;17373:12;17388:7;;17396:1;17388:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17373:25;;17411:9;17406:218;17430:6;17426:10;;:1;:10;17406:218;;;17450:18;:6;3076:19:::0;;3094:1;3076:19;;;3002:103;17450:18:::1;17477:15;17495:16;:6;2978:14:::0;;2893:104;17495:16:::1;17477:34;;17520:32;17530:9;;17540:1;17530:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17544:7;17520:9;:32::i;:::-;17601:16;::::0;17561:37:::1;::::0;;;:28:::1;:37;::::0;;;;;:56;17438:3;::::1;::::0;::::1;:::i;:::-;;;;17406:218;;;;17367:262;17362:3;;;;;:::i;:::-;;;;17320:309;;;;17018:615;16928:705:::0;;;;:::o;7193:256::-;7294:4;-1:-1:-1;;;;;;7312:40:0;;-1:-1:-1;;;7312:40:0;;:92;;-1:-1:-1;;;;;;;7356:48:0;;-1:-1:-1;;;7356:48:0;7312:92;:132;;;-1:-1:-1;;;;;;;;;;6621:40:0;;;7408:36;6519:147;12369:161;12438:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12438:29:0;-1:-1:-1;;;;;12438:29:0;;;;;;;;:24;;12488:23;12438:24;12488:14;:23::i;:::-;-1:-1:-1;;;;;12479:46:0;;;;;;;;;;;12369:161;;:::o;10452:330::-;10544:4;10412:16;;;:7;:16;;;;;;-1:-1:-1;;;;;10412:16:0;10555:73;;;;-1:-1:-1;;;10555:73:0;;24864:2:1;10555:73:0;;;24846:21:1;24903:2;24883:18;;;24876:30;24942:34;24922:18;;;24915:62;-1:-1:-1;;;24993:18:1;;;24986:42;25045:19;;10555:73:0;24662:408:1;10555:73:0;10635:13;10651:23;10666:7;10651:14;:23::i;:::-;10635:39;;10700:5;-1:-1:-1;;;;;10689:16:0;:7;-1:-1:-1;;;;;10689:16:0;;:51;;;;10733:7;-1:-1:-1;;;;;10709:31:0;:20;10721:7;10709:11;:20::i;:::-;-1:-1:-1;;;;;10709:31:0;;10689:51;:87;;;;10744:32;10761:5;10768:7;10744:16;:32::i;:::-;10681:96;10452:330;-1:-1:-1;;;;10452:330:0:o;11884:480::-;12003:4;-1:-1:-1;;;;;11976:31:0;:23;11991:7;11976:14;:23::i;:::-;-1:-1:-1;;;;;11976:31:0;;11968:81;;;;-1:-1:-1;;;11968:81:0;;25277:2:1;11968:81:0;;;25259:21:1;25316:2;25296:18;;;25289:30;25355:34;25335:18;;;25328:62;-1:-1:-1;;;25406:18:1;;;25399:35;25451:19;;11968:81:0;25075:401:1;11968:81:0;-1:-1:-1;;;;;12062:16:0;;12054:65;;;;-1:-1:-1;;;12054:65:0;;25683:2:1;12054:65:0;;;25665:21:1;25722:2;25702:18;;;25695:30;25761:34;25741:18;;;25734:62;-1:-1:-1;;;25812:18:1;;;25805:34;25856:19;;12054:65:0;25481:400:1;12054:65:0;12126:39;12147:4;12153:2;12157:7;12126:20;:39::i;:::-;12170:29;12187:1;12191:7;12170:8;:29::i;:::-;-1:-1:-1;;;;;12206:15:0;;;;;;:9;:15;;;;;:20;;12225:1;;12206:15;:20;;12225:1;;12206:20;:::i;:::-;;;;-1:-1:-1;;;;;;;12231:13:0;;;;;;:9;:13;;;;;:18;;12248:1;;12231:13;:18;;12248:1;;12231:18;:::i;:::-;;;;-1:-1:-1;;12254:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;12254:21:0;-1:-1:-1;;;;;12254:21:0;;;;;;;;;12287:27;;12254:16;;12287:27;;;;;;;8551:277;8481:347;;:::o;10066:259::-;10174:28;10184:4;10190:2;10194:7;10174:9;:28::i;:::-;10217:48;10240:4;10246:2;10250:7;10259:5;10217:22;:48::i;:::-;10209:111;;;;-1:-1:-1;;;10209:111:0;;;;;;;:::i;28862:171::-;28928:9;28923:106;28947:6;28943:1;:10;28923:106;;;28966:18;:6;3076:19;;3094:1;3076:19;;;3002:103;28966:18;28992:31;29002:2;29006:16;:6;2978:14;;2893:104;29006:16;28992:9;:31::i;:::-;28955:3;;;;:::i;:::-;;;;28923:106;;12535:264;12650:8;-1:-1:-1;;;;;12641:17:0;:5;-1:-1:-1;;;;;12641:17:0;;;12633:55;;;;-1:-1:-1;;;12633:55:0;;26507:2:1;12633:55:0;;;26489:21:1;26546:2;26526:18;;;26519:30;26585:27;26565:18;;;26558:55;26630:18;;12633:55:0;26305:349:1;12633:55:0;-1:-1:-1;;;;;12695:25:0;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12695:46:0;;;;;;;;;;12753:41;;1235::1;;;12753::0;;1208:18:1;12753:41:0;;;;;;;12535:264;;;:::o;28485:90::-;28536:13;28563:7;28556:14;;;;;:::i;2274:413::-;2329:13;2353:10;2349:26;;-1:-1:-1;;2365:10:0;;;;;;;;;;;;-1:-1:-1;;;2365:10:0;;;;;2274:413::o;2349:26::-;2397:5;2382:12;2428:54;2435:9;;2428:54;;2452:8;;;;:::i;:::-;;-1:-1:-1;2466:10:0;;-1:-1:-1;2474:2:0;2466:10;;:::i;:::-;;;2428:54;;;2488:19;2520:6;2510:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2510:17:0;;2488:39;;2534:121;2541:10;;2534:121;;2559:11;2569:1;2559:11;;:::i;:::-;;-1:-1:-1;2619:10:0;2627:2;2619:5;:10;:::i;:::-;2606:24;;:2;:24;:::i;:::-;2593:39;;2576:6;2583;2576:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;2576:56:0;;;;;;;;-1:-1:-1;2638:11:0;2647:2;2638:11;;:::i;:::-;;;2534:121;;5922:174;6009:6;;;-1:-1:-1;;;;;6022:17:0;;;-1:-1:-1;;;;;;6022:17:0;;;;;;;6051:40;;6009:6;;;6022:17;6009:6;;6051:40;;5990:16;;6051:40;5985:111;5922:174;:::o;10787:101::-;10857:26;10867:2;10871:7;10857:26;;;;;;;;;;;;:9;:26::i;28580:277::-;28677:13;28696:22;28710:7;28696:13;:22::i;:::-;28676:42;;;28732:8;28731:9;28723:75;;;;-1:-1:-1;;;28723:75:0;;26978:2:1;28723:75:0;;;26960:21:1;27017:2;26997:18;;;26990:30;27056:34;27036:18;;;27029:62;-1:-1:-1;;;27107:18:1;;;27100:51;27168:19;;28723:75:0;26776:417:1;28723:75:0;28807:45;8481:347;12804:572;12915:4;-1:-1:-1;;;;;12930:13:0;;2791:19;:23;12926:445;;12957:72;;-1:-1:-1;;;12957:72:0;;-1:-1:-1;;;;;12957:36:0;;;;;:72;;5194:10;;13008:4;;13014:7;;13023:5;;12957:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12957:72:0;;;;;;;;-1:-1:-1;;12957:72:0;;;;;;;;;;;;:::i;:::-;;;12953:391;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13165:13:0;;13161:177;;13185:60;;-1:-1:-1;;;13185:60:0;;;;;;;:::i;13161:177::-;13315:6;13309:13;13300:6;13296:2;13292:15;13285:38;12953:391;-1:-1:-1;;;;;;13067:51:0;-1:-1:-1;;;13067:51:0;;-1:-1:-1;13060:58:0;;12926:445;-1:-1:-1;13367:4:0;12804:572;;;;;;:::o;10893:237::-;10983:18;10989:2;10993:7;10983:5;:18::i;:::-;11016:54;11047:1;11051:2;11055:7;11064:5;11016:22;:54::i;:::-;11008:117;;;;-1:-1:-1;;;11008:117:0;;;;;;;:::i;11135:394::-;-1:-1:-1;;;;;11209:16:0;;11201:61;;;;-1:-1:-1;;;11201:61:0;;28148:2:1;11201:61:0;;;28130:21:1;;;28167:18;;;28160:30;28226:34;28206:18;;;28199:62;28278:18;;11201:61:0;27946:356:1;11201:61:0;10394:4;10412:16;;;:7;:16;;;;;;-1:-1:-1;;;;;10412:16:0;:30;11267:58;;;;-1:-1:-1;;;11267:58:0;;28509:2:1;11267:58:0;;;28491:21:1;28548:2;28528:18;;;28521:30;28587;28567:18;;;28560:58;28635:18;;11267:58:0;28307:352:1;11267:58:0;11332:45;11361:1;11365:2;11369:7;11332:20;:45::i;:::-;-1:-1:-1;;;;;11384:13:0;;;;;;:9;:13;;;;;:18;;11401:1;;11384:13;:18;;11401:1;;11384:18;:::i;:::-;;;;-1:-1:-1;;11407:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11407:21:0;-1:-1:-1;;;;;11407:21:0;;;;;;;;11440:33;;11407:16;;;11440:33;;11407:16;;11440:33;27175:20:::1;27107:93:::0;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:1;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:128;186:3;217:1;213:6;210:1;207:13;204:39;;;223:18;;:::i;:::-;-1:-1:-1;259:9:1;;146:128::o;279:127::-;340:10;335:3;331:20;328:1;321:31;371:4;368:1;361:15;395:4;392:1;385:15;411:120;451:1;477;467:35;;482:18;;:::i;:::-;-1:-1:-1;516:9:1;;411:120::o;536:168::-;576:7;642:1;638;634:6;630:14;627:1;624:21;619:1;612:9;605:17;601:45;598:71;;;649:18;;:::i;:::-;-1:-1:-1;689:9:1;;536:168::o;709:131::-;-1:-1:-1;;;;;;783:32:1;;773:43;;763:71;;830:1;827;820:12;845:245;903:6;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;1011:9;998:23;1030:30;1054:5;1030:30;:::i;1287:173::-;1355:20;;-1:-1:-1;;;;;1404:31:1;;1394:42;;1384:70;;1450:1;1447;1440:12;1384:70;1287:173;;;:::o;1465:186::-;1524:6;1577:2;1565:9;1556:7;1552:23;1548:32;1545:52;;;1593:1;1590;1583:12;1545:52;1616:29;1635:9;1616:29;:::i;1838:180::-;1897:6;1950:2;1938:9;1929:7;1925:23;1921:32;1918:52;;;1966:1;1963;1956:12;1918:52;-1:-1:-1;1989:23:1;;1838:180;-1:-1:-1;1838:180:1:o;2023:258::-;2095:1;2105:113;2119:6;2116:1;2113:13;2105:113;;;2195:11;;;2189:18;2176:11;;;2169:39;2141:2;2134:10;2105:113;;;2236:6;2233:1;2230:13;2227:48;;;-1:-1:-1;;2271:1:1;2253:16;;2246:27;2023:258::o;2286:::-;2328:3;2366:5;2360:12;2393:6;2388:3;2381:19;2409:63;2465:6;2458:4;2453:3;2449:14;2442:4;2435:5;2431:16;2409:63;:::i;:::-;2526:2;2505:15;-1:-1:-1;;2501:29:1;2492:39;;;;2533:4;2488:50;;2286:258;-1:-1:-1;;2286:258:1:o;2549:220::-;2698:2;2687:9;2680:21;2661:4;2718:45;2759:2;2748:9;2744:18;2736:6;2718:45;:::i;2982:254::-;3050:6;3058;3111:2;3099:9;3090:7;3086:23;3082:32;3079:52;;;3127:1;3124;3117:12;3079:52;3150:29;3169:9;3150:29;:::i;:::-;3140:39;3226:2;3211:18;;;;3198:32;;-1:-1:-1;;;2982:254:1:o;3241:328::-;3318:6;3326;3334;3387:2;3375:9;3366:7;3362:23;3358:32;3355:52;;;3403:1;3400;3393:12;3355:52;3426:29;3445:9;3426:29;:::i;:::-;3416:39;;3474:38;3508:2;3497:9;3493:18;3474:38;:::i;:::-;3464:48;;3559:2;3548:9;3544:18;3531:32;3521:42;;3241:328;;;;;:::o;3574:248::-;3642:6;3650;3703:2;3691:9;3682:7;3678:23;3674:32;3671:52;;;3719:1;3716;3709:12;3671:52;-1:-1:-1;;3742:23:1;;;3812:2;3797:18;;;3784:32;;-1:-1:-1;3574:248:1:o;4106:632::-;4277:2;4329:21;;;4399:13;;4302:18;;;4421:22;;;4248:4;;4277:2;4500:15;;;;4474:2;4459:18;;;4248:4;4543:169;4557:6;4554:1;4551:13;4543:169;;;4618:13;;4606:26;;4687:15;;;;4652:12;;;;4579:1;4572:9;4543:169;;;-1:-1:-1;4729:3:1;;4106:632;-1:-1:-1;;;;;;4106:632:1:o;4743:127::-;4804:10;4799:3;4795:20;4792:1;4785:31;4835:4;4832:1;4825:15;4859:4;4856:1;4849:15;4875:632;4940:5;4970:18;5011:2;5003:6;5000:14;4997:40;;;5017:18;;:::i;:::-;5092:2;5086:9;5060:2;5146:15;;-1:-1:-1;;5142:24:1;;;5168:2;5138:33;5134:42;5122:55;;;5192:18;;;5212:22;;;5189:46;5186:72;;;5238:18;;:::i;:::-;5278:10;5274:2;5267:22;5307:6;5298:15;;5337:6;5329;5322:22;5377:3;5368:6;5363:3;5359:16;5356:25;5353:45;;;5394:1;5391;5384:12;5353:45;5444:6;5439:3;5432:4;5424:6;5420:17;5407:44;5499:1;5492:4;5483:6;5475;5471:19;5467:30;5460:41;;;;4875:632;;;;;:::o;5512:451::-;5581:6;5634:2;5622:9;5613:7;5609:23;5605:32;5602:52;;;5650:1;5647;5640:12;5602:52;5690:9;5677:23;5723:18;5715:6;5712:30;5709:50;;;5755:1;5752;5745:12;5709:50;5778:22;;5831:4;5823:13;;5819:27;-1:-1:-1;5809:55:1;;5860:1;5857;5850:12;5809:55;5883:74;5949:7;5944:2;5931:16;5926:2;5922;5918:11;5883:74;:::i;5968:260::-;6036:6;6044;6097:2;6085:9;6076:7;6072:23;6068:32;6065:52;;;6113:1;6110;6103:12;6065:52;6136:29;6155:9;6136:29;:::i;:::-;6126:39;;6184:38;6218:2;6207:9;6203:18;6184:38;:::i;6524:247::-;6306:12;;6294:25;;6368:4;6357:16;;;6351:23;6335:14;;;6328:47;6428:4;6417:16;;;6411:23;-1:-1:-1;;;;;6407:49:1;6391:14;;;6384:73;6506:4;6495:16;;;6489:23;6473:14;;;6466:47;6708:3;6693:19;;6721:44;6233:286;7039:347;7104:6;7112;7165:2;7153:9;7144:7;7140:23;7136:32;7133:52;;;7181:1;7178;7171:12;7133:52;7204:29;7223:9;7204:29;:::i;:::-;7194:39;;7283:2;7272:9;7268:18;7255:32;7330:5;7323:13;7316:21;7309:5;7306:32;7296:60;;7352:1;7349;7342:12;7296:60;7375:5;7365:15;;;7039:347;;;;;:::o;7391:667::-;7486:6;7494;7502;7510;7563:3;7551:9;7542:7;7538:23;7534:33;7531:53;;;7580:1;7577;7570:12;7531:53;7603:29;7622:9;7603:29;:::i;:::-;7593:39;;7651:38;7685:2;7674:9;7670:18;7651:38;:::i;:::-;7641:48;;7736:2;7725:9;7721:18;7708:32;7698:42;;7791:2;7780:9;7776:18;7763:32;7818:18;7810:6;7807:30;7804:50;;;7850:1;7847;7840:12;7804:50;7873:22;;7926:4;7918:13;;7914:27;-1:-1:-1;7904:55:1;;7955:1;7952;7945:12;7904:55;7978:74;8044:7;8039:2;8026:16;8021:2;8017;8013:11;7978:74;:::i;:::-;7968:84;;;7391:667;;;;;;;:::o;8063:703::-;8284:2;8336:21;;;8406:13;;8309:18;;;8428:22;;;8255:4;;8284:2;8507:15;;;;8481:2;8466:18;;;8255:4;8550:190;8564:6;8561:1;8558:13;8550:190;;;8613:45;8654:3;8645:6;8639:13;6306:12;;6294:25;;6368:4;6357:16;;;6351:23;6335:14;;;6328:47;6428:4;6417:16;;;6411:23;-1:-1:-1;;;;;6407:49:1;6391:14;;;6384:73;6506:4;6495:16;;;6489:23;6473:14;;6466:47;6233:286;8613:45;8715:15;;;;8687:4;8678:14;;;;;8586:1;8579:9;8550:190;;8771:367;8834:8;8844:6;8898:3;8891:4;8883:6;8879:17;8875:27;8865:55;;8916:1;8913;8906:12;8865:55;-1:-1:-1;8939:20:1;;8982:18;8971:30;;8968:50;;;9014:1;9011;9004:12;8968:50;9051:4;9043:6;9039:17;9027:29;;9111:3;9104:4;9094:6;9091:1;9087:14;9079:6;9075:27;9071:38;9068:47;9065:67;;;9128:1;9125;9118:12;9065:67;8771:367;;;;;:::o;9143:771::-;9263:6;9271;9279;9287;9340:2;9328:9;9319:7;9315:23;9311:32;9308:52;;;9356:1;9353;9346:12;9308:52;9396:9;9383:23;9425:18;9466:2;9458:6;9455:14;9452:34;;;9482:1;9479;9472:12;9452:34;9521:70;9583:7;9574:6;9563:9;9559:22;9521:70;:::i;:::-;9610:8;;-1:-1:-1;9495:96:1;-1:-1:-1;9698:2:1;9683:18;;9670:32;;-1:-1:-1;9714:16:1;;;9711:36;;;9743:1;9740;9733:12;9711:36;;9782:72;9846:7;9835:8;9824:9;9820:24;9782:72;:::i;:::-;9143:771;;;;-1:-1:-1;9873:8:1;-1:-1:-1;;;;9143:771:1:o;9919:127::-;9980:10;9975:3;9971:20;9968:1;9961:31;10011:4;10008:1;10001:15;10035:4;10032:1;10025:15;10051:135;10090:3;-1:-1:-1;;10111:17:1;;10108:43;;;10131:18;;:::i;:::-;-1:-1:-1;10178:1:1;10167:13;;10051:135::o;10547:125::-;10587:4;10615:1;10612;10609:8;10606:34;;;10620:18;;:::i;:::-;-1:-1:-1;10657:9:1;;10547:125::o;10677:380::-;10756:1;10752:12;;;;10799;;;10820:61;;10874:4;10866:6;10862:17;10852:27;;10820:61;10927:2;10919:6;10916:14;10896:18;10893:38;10890:161;;;10973:10;10968:3;10964:20;10961:1;10954:31;11008:4;11005:1;10998:15;11036:4;11033:1;11026:15;10890:161;;10677:380;;;:::o;11062:356::-;11264:2;11246:21;;;11283:18;;;11276:30;11342:34;11337:2;11322:18;;11315:62;11409:2;11394:18;;11062:356::o;12663:413::-;12865:2;12847:21;;;12904:2;12884:18;;;12877:30;12943:34;12938:2;12923:18;;12916:62;-1:-1:-1;;;13009:2:1;12994:18;;12987:47;13066:3;13051:19;;12663:413::o;13081:355::-;13283:2;13265:21;;;13322:2;13302:18;;;13295:30;13361:33;13356:2;13341:18;;13334:61;13427:2;13412:18;;13081:355::o;13441:403::-;13643:2;13625:21;;;13682:2;13662:18;;;13655:30;13721:34;13716:2;13701:18;;13694:62;-1:-1:-1;;;13787:2:1;13772:18;;13765:37;13834:3;13819:19;;13441:403::o;14732:127::-;14793:10;14788:3;14784:20;14781:1;14774:31;14824:4;14821:1;14814:15;14848:4;14845:1;14838:15;15074:406;15276:2;15258:21;;;15315:2;15295:18;;;15288:30;-1:-1:-1;;;;;;;;;;;15349:2:1;15334:18;;15327:62;-1:-1:-1;;;15420:2:1;15405:18;;15398:40;15470:3;15455:19;;15074:406::o;16780:350::-;16982:2;16964:21;;;17021:2;17001:18;;;16994:30;17060:28;17055:2;17040:18;;17033:56;17121:2;17106:18;;16780:350::o;17135:407::-;17337:2;17319:21;;;17376:2;17356:18;;;17349:30;17415:34;17410:2;17395:18;;17388:62;-1:-1:-1;;;17481:2:1;17466:18;;17459:41;17532:3;17517:19;;17135:407::o;20951:::-;21153:2;21135:21;;;21192:2;21172:18;;;21165:30;21231:34;21226:2;21211:18;;21204:62;-1:-1:-1;;;21297:2:1;21282:18;;21275:41;21348:3;21333:19;;20951:407::o;22317:1527::-;22541:3;22579:6;22573:13;22605:4;22618:51;22662:6;22657:3;22652:2;22644:6;22640:15;22618:51;:::i;:::-;22732:13;;22691:16;;;;22754:55;22732:13;22691:16;22776:15;;;22754:55;:::i;:::-;22898:13;;22831:20;;;22871:1;;22958;22980:18;;;;23033;;;;23060:93;;23138:4;23128:8;23124:19;23112:31;;23060:93;23201:2;23191:8;23188:16;23168:18;23165:40;23162:167;;;-1:-1:-1;;;23228:33:1;;23284:4;23281:1;23274:15;23314:4;23235:3;23302:17;23162:167;23345:18;23372:110;;;;23496:1;23491:328;;;;23338:481;;23372:110;-1:-1:-1;;23407:24:1;;23393:39;;23452:20;;;;-1:-1:-1;23372:110:1;;23491:328;22264:1;22257:14;;;22301:4;22288:18;;23586:1;23600:169;23614:8;23611:1;23608:15;23600:169;;;23696:14;;23681:13;;;23674:37;23739:16;;;;23631:10;;23600:169;;;23604:3;;23800:8;23793:5;23789:20;23782:27;;23338:481;-1:-1:-1;23835:3:1;;22317:1527;-1:-1:-1;;;;;;;;;;;22317:1527:1:o;24256:127::-;24317:10;24312:3;24308:20;24305:1;24298:31;24348:4;24345:1;24338:15;24372:4;24369:1;24362:15;24388:269;24445:6;24498:2;24486:9;24477:7;24473:23;24469:32;24466:52;;;24514:1;24511;24504:12;24466:52;24553:9;24540:23;24603:4;24596:5;24592:16;24585:5;24582:27;24572:55;;24623:1;24620;24613:12;25886:414;26088:2;26070:21;;;26127:2;26107:18;;;26100:30;26166:34;26161:2;26146:18;;26139:62;-1:-1:-1;;;26232:2:1;26217:18;;26210:48;26290:3;26275:19;;25886:414::o;26659:112::-;26691:1;26717;26707:35;;26722:18;;:::i;:::-;-1:-1:-1;26756:9:1;;26659:112::o;27198:489::-;-1:-1:-1;;;;;27467:15:1;;;27449:34;;27519:15;;27514:2;27499:18;;27492:43;27566:2;27551:18;;27544:34;;;27614:3;27609:2;27594:18;;27587:31;;;27392:4;;27635:46;;27661:19;;27653:6;27635:46;:::i;:::-;27627:54;27198:489;-1:-1:-1;;;;;;27198:489:1:o;27692:249::-;27761:6;27814:2;27802:9;27793:7;27789:23;27785:32;27782:52;;;27830:1;27827;27820:12;27782:52;27862:9;27856:16;27881:30;27905:5;27881:30;:::i

Swarm Source

ipfs://dcaf9c2f38ae033c853b42afc7ce25f35277d62c77c2b4d7a9ad9e418db33baf
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.