You are always in control when . Check the box to agree to OpenSea's terms. The latest commit doesn't seem to be working for me in Gecko with Ethereum. The token approval prompt that appears in MetaMask will look something like this: Let's dissect this. With more marketplaces leveraging the protocol and more orders created everyday, the Wyvern ecosystem is growing rapidly. I would say this is mostly due to two factors: Security. When sending tokens, you should always double-check that you're sending to the proper address, controlled by either another user, an account you own, or a dapp with which you're interacting. This mitigates a particular class of potential attack on the Wyvern DAO (which owns this registry) - if at any point the value of assets held by proxy contracts exceeded the value of half the WYV supply (votes in the DAO), a malicious but rational attacker could buy half the Wyvern and grant themselves access to all the proxy contracts. Services Provided by OpenSea as of 2023. Get up to 30 ETH Bonus and 10 free spins.1,000+ Casino Games & 40,000 Sports! Matching calldata can be constructed in any fashion off-chain. The chainID is displayed in the upper right corner of the "Settings" page. How do you modify the code to deal with the upgraded Wyvern 2.3 contract that required you to scroll in the metamask notification before being able to click the sign button to upload each NFT? Buy . Multichain Addresses 16 addresses found via Blockscan. Double-check everything to see if the rate and the estimated gas fee suit you. Opensea new Wyvern Exchange Contract issue from trezor. 10. Click the "Swap" button on MetaMask's main screen to initiate an exchange. The most prevalent activities are trading, selling, and purchasing various NFTs. Of course, I will do my best to try it today! maximedrn changed the title Wyvern 2.3 Wyvern 2.3 MetaMask contract support. Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s! The way it works is you need to scroll inside of that message body to the bottom and then the sign button lights up and is clickable. Ethereum Mainnet. Leverage an existing relayer. Choose your favorite contract flavor and customize it to your needs using a visual interface. The protocol does not care how the final calldata is obtained, only that it fulfills the orders' predicate functions. Copy link Owner maximedrn commented Mar 2, 2022. It allows you to deploy contracts and interact with contracts. Once you visit the site, you will see an example contract. Orders must always be authorized by the maker address, who owns the proxy contract which will perform the call. Select "All NFTs.". Note: smart contract allowances are different from simply connecting your wallet to a dapp. I just uploaded an update that should support Wyvern 2.3. Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations. Does this require scrolling down the page for the button to appear? Mar 2, 2022. ETH Price: $1,621.90 (-0.76%) Gas: 18 Gwei. Wyvern is a first-order decentralized exchange protocol. These predicates are arbitrary - any asset or any combination of assets representable on Ethereum can be exchanged with a Wyvern order - and indeed, Wyvern can instantiate all the aforementioned protocols. Click on the NFT. Molly White, who runs the blog Web3 is Going Great, estimated the value of the stolen tokens at more than $1.7 million. Wyvern Exchange Contract. They are always initiated in MetaMask with a call to the eth_sendTransaction method. English . . Wyvern can be deployed on any EVM-based blockchain, allowing developers to power their asset exchange. Click on "Checkout . Not using Metamask alone, but you can in combination with other tools. The second call is executed by the counterparty and referred to in the source as the "countercall" for convenience. In practice, orderbook maintainers (relayers) will likely store additional metadata along with orders which can be used to construct possible matching calldatas. Select "Buy Now.". Explore blockchain apps. I'm running into this issue as well, tried on the latest and it still fails to sign on the sale. I have been trying to figure out how to make it work (been unsuccessful) currently have a line of code that waits for a button click, while doing so I sign the contract, and then click the button as a work around, but very time consuming. The Address 0xc20f680591343da063708f490409e2e6063b7c72 page allows users to view transactions, balances, token holdings and transfers of ERC-20, ERC-721 and ERC-1155 . Discover more of Etherscan's tools and services in one place. The Power of WordPress + Blockchain. 11. See below for an example from Etherscan: On a desktop browser, you will see the copy to clipboard icon appear when you mouse over. to your account. The Wyvern Protocol codebase is open source, permissively licensed, and third-party audited. At line 266, can you update the code with this: Can you send me a video of what happens? When buying and selling crypto is easier than shopping on Amazon. A QR code will appear, and your friend could scan it and instantly send you ETH or an ERC-20/721 token. Trade any kind of nonfungible asset from rare virtual kittens to ENS names, land rights, or even smart contracts. Then, enter the amount you want to spend and click "Get quotes.". Transactions Overview of the protocol, constituent components, and terminology. Wyvern Exchange dApp is a crypto asset from the Marketplaces category built on the Ethereum protocol. A private note (up to 500 characters) can be attached to this address. OpenSea allows us a multitude of unique activities. . Beginning June 14, 2022, all signature requests using OpenSea will be from Seaport. The Wyvern Protocol also requires approval for each . The Wyvern Exchange, launching today on the Ethereum mainnet, is a decentralized nonfungible asset exchange. Finally, an order can be constructed on the fly (likely to match an existing previously signed or approved order) and authorized at match time simply by sending the match transaction from the order's maker address. Hardhat lives only in the backend and has a lot less attack surface. Back up your secret recovery phrase. . Available as a browser extension and as a mobile app, MetaMask equips you with a key vault, secure login, token wallet, and token exchangeeverything you need to manage your digital assets. By clicking Sign up for GitHub, you agree to our terms of service and Wyvern Protocol powers the peer-to-peer exchange of digital assets. Trade any kind of nonfungible asset from rare virtual kittens to ENS names, land rights, or even smart contracts. To access the funds in an address, you must have its private key. Metamask Phantom Coinbase Close. Wyvern is a first-order decentralized exchange protocol. A signature request means you're authorizing your wallet to take action, such as connecting to OpenSea's platform, or buying or selling an NFT. When this pop up comes up, just nothing happens and it sits there. Trade ERC20 tokens, ERC721 NFTs, or custom assets in any combination. In these cases, please contact the owners of the contract for resolution or advice. There is NO exclusive MetaMask Discord. Transactions are a formal action on a blockchain. The bulk of the logic in an order is in constructing the predicate over the call and countercall. Wyvern can be deployed on any EVM-based blockchain, allowing developers to power their asset exchange. The developers should post in our forum and/or on the Ethereum stack exchange to seek help. Don't want to deploy your own exchange backend? Project Wyvern Ethereum Smart Contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com . You can easily find the chainID for your Kaleido environment by clicking on the environmental "Settings" tab in the lefthand navigation of the Kaleido console. Orders cannot be self-matched; however, two separate orders from the same maker can be matched with each other. Wyvern orders instead specify predicates over state transitions: an order is a function mapping a call made by the maker, a call . Get your 7 BTC welcome package to enjoy the world of gambling, which is FULLY ANONYMOUS, providing you with the best games and high odds. Static calls are executed after the calls (the whole transaction is reverted if the static call fails), so instead of asserting properties of the calldata, you can assert that particular state has changed - e.g. The version 1.5.12 fixes this problem for GeckoDriver. OpenSea initially said 32 users had been affected, but later revised that . In February 2022, OpenSea saw one of the largest attacks in the history of Non-fungible tokens. # options.add_argument('--headless') # Headless mode. If you click on this, it will take you to the contract's address on Etherscan; at the top-left of that page, there should be an icon labelled "Contract", and to the right, a long string of letters and numbers. Wyvern orders instead specify predicates over state transitions: an order is a function mapping a call made by the maker, a call made by the counterparty, and order metadata to a boolean (whether or not the order will match). Comparable existing protocols such as Etherdelta, 0x, and Dexy are zeroeth-order: each order specifies a desired trade of two discrete assets (generally two tokens in a particular ratio and a maximum amount). Pick whichever method of sale you prefer: fixed price, Dutch auction, or something more exotic. . Conversely, you could copy your address and send it to them by text or Airdrop. Sign in The Address 0x4307eea49213f03bf1f6410f3a17b6445fa92872 page allows users to view transactions, balances, token holdings and transfers of ERC-20, ERC-721 and ERC-1155 . Overview of WyvernExchange, OpenSea.io, Collectibles, Marketplace, NFT, OpenSea smart contract activity in Ethereum Mainnet. First, go to this website: This is a good browser-based Solidity editor. Notice how: The dapp's name and web URL are displayed at the top. One call must be executed first, and executing that call might change the result of the second call. They are always initiated by a signature from . :). The second asymmetry is special-cased Ether. Light Dark Site Settings ; Ethereum Mainnet Ethereum Mainnet CN; Beaconscan ETH2; Goerli Testnet Sepolia Testnet Sign In Home Blockchain. WDPs Public Wyvern DAO Proposals (nonbinding) 2 MIT 0 0 0 Updated Jun 6, 2018. wiki Public Project Wyvern Wiki 2 1 0 0 . The Kaleido documentation has been updated to reflect chainID as a required parameter. By continuing to use this website, you agree to its Terms and Privacy Policy. Now it's ranked as #6165 in general dApp rankings according to the user count, and #76 in the Marketplaces category, which gives you a good idea of how Wyvern Exchange dApp performs among its competitors.. By analyzing Wyvern Exchange dApp data in the . To the extent possible, the protocol is designed to be symmetric, such that orders need not be on any particular "side" and restrict themselves to matching with orders on the other "side". Metamask displaying signed messages). The current fill of an order can also be manually set by the maker of the order with a transaction (this also allows for order cancellation). privacy statement. In terms of security, OpenSea utilizes the Wyvern Protocol, which is an audited system that creates a personal smart contract for each user. transferring a particular asset or set of assets). First, select the crypto pair you'd like to swap. Trade any kind of digital asset from rare virtual kittens to ENS names, land rights, or even smart contracts themselves. The Wyvern Protocol enables users to swap state changes such as an NFT ownership state for a cryptocurrency ownership state. DO NOT DM with people on ConsenSys Discord, as they are probably scammers. The Address 0x87799671de68655e6ac1e8cba58ebd9759f2df02 page allows users to view transactions, balances, token holdings and transfers of ERC-20, ERC-721 and ERC-1155 . Select "add funds.". Version 1.6.2 fixes this problem for ChromeDriver. Each order's static callback (predicate function) receives all parameters of the call, counterparty call, and order metadata (Ether value, timestamp, matching address) and must decide whether to allow the order to match, and if so how much to fill it. The Address 0xc5fF790f137312B80004530E1d207253bCe0ED1A page allows users to view transactions, balances, token holdings and transfers of ERC-20, ERC-721 and ERC-1155 . 60806040526000805460ff1916815560078190556008553480156200002357600080fd5b5060405160808062005b4083398101604081815282516020808501518386015160609096015160008054610100330261010060a860020a03199091161790557f454950373132446f6d61696e28737472696e67206e616d652c737472696e672086527f76657273696f6e2c75696e7432353620636861696e49642c6164647265737320928601929092527f766572696679696e67436f6e747261637429000000000000000000000000000084860152925193849003605201909320909391929060008051602062005b2083398151915214620000fe57600080fd5b60408051808201825260188082527f57797665726e2045786368616e676520436f6e747261637400000000000000006020830190815292516000805160206200593f8339815191529390918291908083835b60208310620001715780518252601f19909201916020918201910162000150565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515620001af57600080fd5b60408051808201825260038082527f322e3300000000000000000000000000000000000000000000000000000000006020830190815292516000805160206200591f8339815191529390918291908083835b60208310620002225780518252601f19909201916020918201910162000201565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156200026057600080fd5b6040517fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f890806101c16200595f8239604051908190036101c1019020919091149050620002ac57600080fd5b620002bf64010000000062000356810204565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6814620002eb57600080fd5b60028054600160a060020a0319908116600160a060020a039687161790915560038054821694861694909417909355600180548416928516929092179091556009805490921692169190911790556000805461010060a860020a031916610100330217905562000423565b6040805160008051602062005b208339815191526020808301919091526000805160206200593f833981519152828401526000805160206200591f8339815191526060830152600160808301523060a0808401919091528351808403909101815260c0909201928390528151600093918291908401908083835b60208310620003f15780518252601f199092019160209182019101620003d0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b6154ec80620004336000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166306fdde0381146101ad5780630eefdbad1461023757806310796a471461026857806314350c24146103215780631a6b13e21461033b578063239e83df1461035357806328a8ee681461042857806331e631991461044f5780633644e515146104645780633f67ee0d14610479578063514f0330146105be57806354fd4d50146105df578063562b2ebc146105f457806360bef33a14610707578063627cdcb91461085b57806363d36c0b1461087057806364df049e1461089d578063715018a6146108b257806371d02b38146108c757806372593b4c14610a0c5780637966686814610c135780637b10399914610d5c5780637ccefc5214610d715780637d76698114610d865780637ecebe0014610ecb5780638076f00514610eec5780638da5cb5b14610f04578063a25eb5d914610f19578063a8a41c7014610f2e578063ab834bab14611082578063ca595b9a146112c5578063cae6047f1461140a578063d537e1311461141f578063e57d4adb14611626578063f2fde38b1461163e578063f63e83791461165f575b600080fd5b3480156101b957600080fd5b506101c26117b8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024357600080fd5b5061024c6117ef565b60408051600160a060020a039092168252519081900360200190f35b34801561027457600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261030d958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506117fe9650505050505050565b604080519115158252519081900360200190f35b34801561032d57600080fd5b5061033960043561186d565b005b34801561034757600080fd5b5061033960043561188e565b34801561035f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101c294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506118af9650505050505050565b34801561043457600080fd5b5061043d6118c4565b60408051918252519081900360200190f35b34801561045b57600080fd5b506101c26118ca565b34801561047057600080fd5b5061043d611901565b34801561048557600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119259650505050505050565b3480156105ca57600080fd5b50610339600160a060020a0360043516611a73565b3480156105eb57600080fd5b506101c2611abe565b34801561060057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261030d94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611af59650505050505050565b34801561071357600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff1694505050602082013591604001359050611b33565b34801561086757600080fd5b50610339611d4d565b34801561087c57600080fd5b5061043d60ff6004358116906024351660443560643560843560a435611d9f565b3480156108a957600080fd5b5061024c611dba565b3480156108be57600080fd5b50610339611dc9565b3480156108d357600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611e3f9650505050505050565b348015610a1857600080fd5b50604080516101c081810190925261030d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611fc09650505050505050565b348015610c1f57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050509135151592506123ac915050565b348015610d6857600080fd5b5061024c612501565b348015610d7d57600080fd5b5061043d612510565b348015610d9257600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506125169650505050505050565b348015610ed757600080fd5b5061043d600160a060020a0360043516612697565b348015610ef857600080fd5b5061030d6004356126a9565b348015610f1057600080fd5b5061024c6126be565b348015610f2557600080fd5b5061024c6126d2565b348015610f3a57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff16945050506020820135916040013590506126e1565b604080516101c08181019092526103399136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750506040805180820182529598979681810196955093506002925084915083908082843750506040805160a0818101909252949796958181019594509250600591508390839080828437509396506128e195505050505050565b3480156112d157600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612cf79650505050505050565b34801561141657600080fd5b5061043d612e4f565b34801561142b57600080fd5b50604080516101c081810190925261043d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612e559650505050505050565b34801561163257600080fd5b5061030d600435613231565b34801561164a57600080fd5b50610339600160a060020a0360043516613248565b34801561166b57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff169450505060208201359160408101359150606001356132ec565b60408051808201909152601881527f57797665726e2045786368616e676520436f6e74726163740000000000000000602082015281565b600354600160a060020a031681565b60006060600083518551016040519080825280601f01601f191660200182016040528015611836578160200160208202803883390190505b509150506020810161184881856134d9565b905061185481866134d9565b506000604051835160208501895afa9695505050505050565b6000546101009004600160a060020a0316331461188957600080fd5b600755565b6000546101009004600160a060020a031633146118aa57600080fd5b600855565b60606118bc84848461351f565b509192915050565b60085481565b60408051808201909152600a81527f42756c6b20536d61736800000000000000000000000000000000000000000000602082015281565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6881565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561199f57fe5b81526020018960018111156119b057fe5b81526020018860018111156119c157fe5b815260808d0151600160a060020a031660208201526040018760018111156119e557fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101526136a6565b9a9950505050505050505050565b6000546101009004600160a060020a03163314611a8f57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60408051808201909152600381527f322e330000000000000000000000000000000000000000000000000000000000602082015281565b60008084511115611b0b57611b0b85848661351f565b600082511115611b2057611b2083868461351f565b611b2a85846136d4565b95945050505050565b6000611b3d6153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d6001811115611bf757fe5b81526020018c6001811115611c0857fe5b81526020018b6001811115611c1957fe5b81526020018f60046020020151600160a060020a031681526020018a6001811115611c4057fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f6006600781101515611c7e57fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e600860200201518152509050611d3b611d1782600660008560200151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b6040805160608101825260ff89168152602081018890529081018690528390613874565b9e9d5050505050505050505050505050565b33600081815260066020908152604091829020805460010190819055825181815292519093927fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b92908290030190a250565b6000611daf878787878787613a01565b979650505050505050565b600954600160a060020a031681565b6000546101009004600160a060020a03163314611de557600080fd5b60008054604051610100909104600160a060020a0316917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805474ffffffffffffffffffffffffffffffffffffffff0019169055565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a6001811115611eb957fe5b8152602001896001811115611eca57fe5b8152602001886001811115611edb57fe5b815260808d0151600160a060020a03166020820152604001876001811115611eff57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613a94565b6000611fca6153fc565b611fd26153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff16600181111561209957fe5b60018111156120a457fe5b81526020018b6001602002015160ff1660018111156120bf57fe5b60018111156120ca57fe5b81526020018b6002602002015160ff1660018111156120e557fe5b60018111156120f057fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff16600181111561211e57fe5b600181111561212957fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561228257fe5b600181111561228d57fe5b81526020018b6005602002015160ff1660018111156122a857fe5b60018111156122b357fe5b81526020018b6006602002015160ff1660018111156122ce57fe5b60018111156122d957fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561230857fe5b600181111561231357fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c8282613d53565b9c9b505050505050505050505050565b6123b46153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a600181111561242757fe5b815260200189600181111561243857fe5b815260200188600181111561244957fe5b815260808d0151600160a060020a0316602082015260400187600181111561246d57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d015191015290506124f48183613f34565b5050505050505050505050565b600254600160a060020a031681565b60075481565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561259057fe5b81526020018960018111156125a157fe5b81526020018860018111156125b257fe5b815260808d0151600160a060020a031660208201526040018760018111156125d657fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b60066020526000908152604090205481565b60046020526000908152604090205460ff1681565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b6126e96153fc565b604080516102e08101909152808e600060209081029190910151600160a060020a03168252018e600160209081029190910151600160a060020a03168252018e600260209081029190910151600160a060020a03168252018d6000602090810291909101518252018d6001602090810291909101518252018d6002602090810291909101518252018d6003602090810291909101518252018e60036020020151600160a060020a031681526020018c60018111156127a357fe5b81526020018b60018111156127b457fe5b81526020018a60018111156127c557fe5b815260808f0151600160a060020a031660208201526040018960018111156127e957fe5b815260208101899052604081018890526060018e60056020020151600160a060020a031681526020018681526020018e600660078110151561282757fe5b60209081029190910151600160a060020a03168252018d6004602090810291909101518252018d6005602090810291909101518252018d6006602090810291909101518252018d6007602090810291909101518252018d6008602090810291909101519091526040805160608101825260ff8816815280830187905280820186905283830151600160a060020a0316600090815260069093529120549192506128d29183919061432d565b50505050505050505050505050565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015289516124f4919061010082019060ff16600181111561295e57fe5b600181111561296957fe5b81526020018b6001602002015160ff16600181111561298457fe5b600181111561298f57fe5b81526020018b6002602002015160ff1660018111156129aa57fe5b60018111156129b557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff1660018111156129e357fe5b60018111156129ee57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c6008602002015190526040805160608101909152808560006020908102919091015160ff168252018460006020908102919091015182520184600160200201519052604080516102e08101909152808f600760209081029190910151600160a060020a03168252018f600860209081029190910151600160a060020a03168252018f600960209081029190910151600160a060020a03168252018e6009602090810291909101518252018e600a602090810291909101518252018e600b602090810291909101518252018e600c602090810291909101518252018f600a60209081029190910151600160a060020a03168252018d6004602002015160ff166001811115612b7d57fe5b6001811115612b8857fe5b81526020018d6005602002015160ff166001811115612ba357fe5b6001811115612bae57fe5b81526020018d6006602002015160ff166001811115612bc957fe5b6001811115612bd457fe5b81526020018f600b60209081029190910151600160a060020a03168252018d6007602002015160ff166001811115612c0857fe5b6001811115612c1357fe5b8152602081018c9052604081018a90526060018f600c6020020151600160a060020a031681526020018781526020018f600d600e81101515612c5157fe5b60209081029190910151600160a060020a03168252018e600d602090810291909101518252018e600e602090810291909101518252018e600f602090810291909101518252018e6010602090810291909101518252018e6011602002015190526040805160608101909152808760016020908102919091015160ff168252018660026020908102919091015182520186600360200201519052856004602002015161439c565b6000612d016153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a6001811115612d7457fe5b8152602001896001811115612d8557fe5b8152602001886001811115612d9657fe5b815260808d0151600160a060020a03166020820152604001876001811115612dba57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101529050612e4081614957565b9b9a5050505050505050505050565b61271081565b6000612e5f6153fc565b612e676153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff166001811115612f2e57fe5b6001811115612f3957fe5b81526020018b6001602002015160ff166001811115612f5457fe5b6001811115612f5f57fe5b81526020018b6002602002015160ff166001811115612f7a57fe5b6001811115612f8557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff166001811115612fb357fe5b6001811115612fbe57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561311757fe5b600181111561312257fe5b81526020018b6005602002015160ff16600181111561313d57fe5b600181111561314857fe5b81526020018b6006602002015160ff16600181111561316357fe5b600181111561316e57fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561319d57fe5b60018111156131a857fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c82826149fa565b60008181526005602052604090205415155b919050565b6000546101009004600160a060020a0316331461326457600080fd5b600160a060020a038116151561327957600080fd5b60008054604051600160a060020a038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b6132f46153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d60018111156133ae57fe5b81526020018c60018111156133bf57fe5b81526020018b60018111156133d057fe5b81526020018f60046020020151600160a060020a031681526020018a60018111156133f757fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f600660078110151561343557fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e6008602002015181525090506134c9816060604051908101604052808860ff1681526020018760001916815260200186600019168152508461432d565b5050505050505050505050505050565b6000808251111561351657815180602001830160208401855b6001838310141561350d5781518152602091820191016134f2565b50505092909201915b50815b92915050565b60008060008451865114151561353457600080fd5b835186511461354257600080fd5b855160209004925060208084029250839083041461355c57fe5b5060005b8281101561358c5760010160208102848101518682015191880180519282169119909216179052613560565b60008311156135bc578290508060010160200280850151818701518116828901518219161782890152505061369e565b50805b855181101561369e5784818151811015156135d657fe5b90602001015160f860020a900460f860020a0284828151811015156135f757fe5b90602001015160f860020a900460f860020a0216868281518110151561361957fe5b90602001015160f860020a900460f860020a02858381518110151561363a57fe5b90602001015160f860020a900460f860020a0260ff60f860020a02181617868281518110151561366657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001016135bf565b505050505050565b6000613519826101200151836101400151846102400151856102600151866102800151876102a00151613a01565b6000816040518082805190602001908083835b602083106137065780518252601f1990920191602091820191016136e7565b51815160209384036101000a6000190180199092169116179052604051919093018190038120885190955088945090928392508401908083835b6020831061375f5780518252601f199092019160209182019101613740565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b60007f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a686137c38484613a94565b604080517f19010000000000000000000000000000000000000000000000000000000000006020808301919091526022820194909452604280820193909352815180820390930183526062019081905281519192909182918401908083835b602083106138415780518252601f199092019160209182019101613822565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b60008061388084614957565b151561388f57600091506139f9565b60008581526004602052604090205460ff16156138af57600091506139f9565b5060008481526005602052604090205480156138ef57602080850151600160a060020a0316600090815260069091526040902054600101811491506139f9565b60408301517f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0101561392457600091506139f9565b826000015160ff16601b141580156139445750826000015160ff16601c14155b1561395257600091506139f9565b602080850151845185830151604080880151815160008082528188018085528d905260ff909516818401526060810193909352608083015251600160a060020a039093169360019360a0808401949293601f19830193908390039091019190865af11580156139c5573d6000803e3d6000fd5b50505060206040510351600160a060020a031614156139e757600191506139f9565b6139f684602001518685614a82565b91505b509392505050565b60008080876001811115613a1157fe5b1415613a1f57859150613a89565b6001876001811115613a2d57fe5b1415613a8957613a58613a4986613a444288614c42565b614c54565b613a538587614c42565b614c7d565b90506001886001811115613a6857fe5b1415613a7f57613a788682614c42565b9150613a89565b613a788682614c92565b509695505050505050565b6040805161032080825261034082019092526000919060609083908360208201616400803883390190505091505060208101613af0817fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f8614c9f565b9050613b00818760000151614c9f565b9050613b10818760200151614c9f565b9050613b20818760400151614c9f565b9050613b30818760600151614c9f565b9050613b40818760800151614c9f565b9050613b50818760a00151614c9f565b9050613b60818760c00151614c9f565b9050613b70818760e00151614c9f565b9050613b8c818761010001516001811115613b8757fe5b614c9f565b9050613ba3818761012001516001811115613b8757fe5b9050613bba818761014001516001811115613b8757fe5b9050613bcb81876101600151614c9f565b9050613be2818761018001516001811115613b8757fe5b9050613c4f81876101a001516040518082805190602001908083835b60208310613c1d5780518252601f199092019160209182019101613bfe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020614c9f565b9050613c8981876101c0015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613c9a81876101e00151614c9f565b9050613cd48187610200015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613ce581876102200151614c9f565b9050613cf681876102400151614c9f565b9050613d0781876102600151614c9f565b9050613d1881876102800151614c9f565b9050613d2981876102a00151614c9f565b9050613d3a81876102c00151614c9f565b9050613d468186614c9f565b5050602001209392505050565b6000808361012001516001811115613d6757fe5b148015613d84575060018261012001516001811115613d8257fe5b145b8015613daf57508161010001516001811115613d9c57fe5b8361010001516001811115613dad57fe5b145b8015613dd65750816102200151600160a060020a0316836102200151600160a060020a0316145b8015613e1057506040820151600160a060020a03161580613e1057508260200151600160a060020a03168260400151600160a060020a0316145b8015613e4a57506040830151600160a060020a03161580613e4a57508160200151600160a060020a03168360400151600160a060020a0316145b8015613ea5575060e0820151600160a060020a0316158015613e78575060e0830151600160a060020a031615155b80613ea5575060e0820151600160a060020a031615801590613ea5575060e0830151600160a060020a0316155b8015613ecc5750816101600151600160a060020a0316836101600151600160a060020a0316145b8015613ef757508161018001516001811115613ee457fe5b8361018001516001811115613ef557fe5b145b8015613f125750613f12836102800151846102a00151614ca7565b8015613f2d5750613f2d826102800151836102a00151614ca7565b9392505050565b6020820151600090600160a060020a03163314613f5057600080fd5b602080840151600160a060020a0316600090815260069091526040902054613f79908490613796565b60008181526005602052604090205490915015613f9557600080fd5b600660008460200151600160a060020a0316600160a060020a0316815260200190815260200160002054600101600560008360001916600019168152602001908152602001600020819055508260e00151600160a060020a03168360200151600160a060020a031682600019167f90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a527662286600001518760400151886060015189608001518a60a001518b60c001518c61010001518d61012001518e61014001518f6101600151604051808b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a031681526020018981526020018881526020018781526020018681526020018560018111156140b157fe5b60ff1681526020018460018111156140c557fe5b60ff1681526020018360018111156140d957fe5b60ff168152600160a060020a039092166020830152506040805191829003019950975050505050505050a480600019167fe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08846101800151856101a00151866101c00151876101e001518861020001518961022001518a61024001518b61026001518c61028001518d6102a001518e6102c001518e604051808d600181111561417d57fe5b60ff16815260200180602001806020018c600160a060020a0316600160a060020a03168152602001806020018b600160a060020a0316600160a060020a031681526020018a81526020018981526020018881526020018781526020018681526020018515151515815260200184810384528f818151815260200191508051906020019080838360005b8381101561421e578181015183820152602001614206565b50505050905090810190601f16801561424b5780820380516001836020036101000a031916815260200191505b5084810383528e818151815260200191508051906020019080838360005b83811015614281578181015183820152602001614269565b50505050905090810190601f1680156142ae5780820380516001836020036101000a031916815260200191505b5084810382528c5181528c516020918201918e019080838360005b838110156142e15781810151838201526020016142c9565b50505050905090810190601f16801561430e5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390a2505050565b600061433a848484614cc3565b6020850151909150600160a060020a0316331461435657600080fd5b600081815260046020526040808220805460ff191660011790555182917f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d91a250505050565b6000805481908190819081908190819060ff16156143b957600080fd5b6000805460ff1916600117905560208c0151600160a060020a03163314156143f4576143e48c614957565b15156143ef57600080fd5b614401565b6143fe8c8c614cf0565b96505b60208a0151600160a060020a031633141561442f5761441f8a614957565b151561442a57600080fd5b61443c565b6144398a8a614cf0565b95505b6144468c8b613d53565b151561445157600080fd5b6101608a0151803b955093506000851161446a57600080fd5b60008c6101c00151511115614493576144938c6101a001518b6101a001518e6101c0015161351f565b60008a6101c001515111156144bc576144bc8a6101a001518d6101a001518c6101c0015161351f565b6144d08c6101a001518b6101a001516136d4565b15156144db57600080fd5b6002546020808c0151604080517fc4552791000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919093169263c45527919260248083019391928290030181600087803b15801561454657600080fd5b505af115801561455a573d6000803e3d6000fd5b505050506040513d602081101561457057600080fd5b50519250600160a060020a038316151561458957600080fd5b60208c0151839250600160a060020a031633146145ba576000878152600460205260409020805460ff191660011790555b60208a0151600160a060020a031633146145e8576000868152600460205260409020805460ff191660011790555b6145f28c8b614d1b565b9050600260009054906101000a9004600160a060020a0316600160a060020a03166397204d8e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561464757600080fd5b505af115801561465b573d6000803e3d6000fd5b505050506040513d602081101561467157600080fd5b5051604080517f5c60da1b0000000000000000000000000000000000000000000000000000000081529051600160a060020a0392831692861691635c60da1b9160048083019260209291908290030181600087803b1580156146d257600080fd5b505af11580156146e6573d6000803e3d6000fd5b505050506040513d60208110156146fc57600080fd5b5051600160a060020a03161461471157600080fd5b81600160a060020a0316631b0f7ba98b61016001518c61018001518d6101a001516040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600181111561476c57fe5b60ff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156147ad578181015183820152602001614795565b50505050905090810190601f1680156147da5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156147fb57600080fd5b505af115801561480f573d6000803e3d6000fd5b505050506040513d602081101561482557600080fd5b5051151561483257600080fd5b6101e08c0151600160a060020a03161561486b576148608c6101e001518b6101a001518e61020001516117fe565b151561486b57600080fd5b6101e08a0151600160a060020a0316156148a4576148998a6101e001518b6101a001518c61020001516117fe565b15156148a457600080fd5b60e08a01518890600160a060020a031615156148c4578a602001516148ca565b8c602001515b60e08c0151600160a060020a03918216911615156148ec578d602001516148f2565b8b602001515b604080518b8152602081018b90528082018690529051600160a060020a0392909216917fc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c99181900360600190a450506000805460ff1916905550505050505050505050565b8051600090600160a060020a0316301461497357506000613243565b6020820151600160a060020a0316151561498f57506000613243565b6149a3826101400151836102a001516152fb565b15156149b157506000613243565b600182610100015160018111156149c457fe5b1480156149e557506007548260a0015110806149e557506008548260c00151105b156149f257506000613243565b506001919050565b6000806000614a2b846101200151856101400151866102400151876102600151886102800151896102a00151613a01565b9150614a598561012001518661014001518761024001518861026001518961028001518a6102a00151613a01565b905081811015614a6857600080fd5b60e0840151600160a060020a031615156139f95780611b2a565b60208181015160408084015184518251808601949094528383019190915260ff1660f860020a02606080840191909152815180840360410181526061840183526085840187815260a58501938452815160c58601528151600096939587957f1626ba7e00000000000000000000000000000000000000000000000000000000958b959493919260e50191908501908083838b5b83811015614b2d578181015183820152602001614b15565b50505050905090810190601f168015614b5a5780820380516001836020036101000a031916815260200191505b509350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509150600080835160208501895afa801515614bdc573d6000803e3d6000fd5b60203d1415614bf15760206000803e60005191505b507fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e0000000000000000000000000000000000000000000000000000000014925050509392505050565b600082821115614c4e57fe5b50900390565b6000821515614c6557506000613519565b50818102818382811515614c7557fe5b041461351957fe5b60008183811515614c8a57fe5b049392505050565b8181018281101561351957fe5b815260200190565b60004283108015613f2d5750811580613f2d5750504210919050565b600080614cd08584613796565b9050614cdd818686613874565b1515614ce857600080fd5b949350505050565b602080830151600160a060020a0316600090815260069091526040812054613f2d9084908490614cc3565b600080600080600080600080600080600160a060020a03168a6102200151600160a060020a0316141515614d54573415614d5457600080fd5b614d5e8b8b6149fa565b9750600088118015614d7d57506102208a0151600160a060020a031615155b15614d9b57614d9b8a61022001518c602001518c602001518b61531a565b60e08a0151889750879650600160a060020a0316156150b7576080808c0151908b01511115614dc957600080fd5b60018a61010001516001811115614ddc57fe5b14156150845760c0808c0151908b01511115614df757600080fd5b60008a606001511115614e9b57614e1d614e158b606001518a614c54565b612710614c7d565b6102208b0151909550600160a060020a03161515614e8257614e3f8786614c42565b60e08b0151604051919850600160a060020a03169086156108fc029087906000818181858888f19350505050158015614e7c573d6000803e3d6000fd5b50614e9b565b614e9b8a61022001518b602001518c60e001518861531a565b60008a608001511115614f3757614eb9614e158b608001518a614c54565b6102208b0151909450600160a060020a03161515614f1e57614edb8685614c92565b60e08b0151604051919750600160a060020a03169085156108fc029086906000818181858888f19350505050158015614f18573d6000803e3d6000fd5b50614f37565b614f378a61022001518c602001518c60e001518761531a565b60008a60a001511115614fdb57614f55614e158b60a001518a614c54565b6102208b0151909350600160a060020a03161515614fb857614f778784614c42565b600954604051919850600160a060020a03169084156108fc029085906000818181858888f19350505050158015614fb2573d6000803e3d6000fd5b50614fdb565b6102208a015160208b0151600954614fdb929190600160a060020a03168661531a565b60008a60c00151111561507f57614ff9614e158b60c001518a614c54565b6102208b0151909250600160a060020a0316151561505c5761501b8683614c92565b600954604051919750600160a060020a03169083156108fc029084906000818181858888f19350505050158015615056573d6000803e3d6000fd5b5061507f565b6102208a015160208c015160095461507f929190600160a060020a03168561531a565b6150b2565b61509b8a602001518b60e001518c606001516153df565b6150b28b602001518b60e001518c608001516153df565b615238565b6080808b0151908c015111156150cc57600080fd5b60018a610100015160018111156150df57fe5b141561520a576102208a0151600160a060020a031615156150ff57600080fd5b60c0808b0151908c0151111561511457600080fd5b60008b60600151111561514d57615132614e158c606001518a614c54565b945061514d8a61022001518c602001518d60e001518861531a565b60008b6080015111156151865761516b614e158c608001518a614c54565b93506151868a61022001518b602001518d60e001518761531a565b60008b60a0015111156151c8576151a4614e158c60a001518a614c54565b6102208b015160208d01516009549295506151c892600160a060020a03168661531a565b60008b60c0015111156150b2576151e6614e158c60c001518a614c54565b6102208b015160208c01516009549294506150b292600160a060020a03168561531a565b6152218b602001518c60e001518d606001516153df565b6152388a602001518c60e001518d608001516153df565b6102208a0151600160a060020a031615156152ec573486111561525a57600080fd5b8960200151600160a060020a03166108fc889081150290604051600060405180830381858888f19350505050158015615297573d6000803e3d6000fd5b506152a23487614c42565b905060008111156152ec578a60200151600160a060020a03166108fc829081150290604051600060405180830381858888f193505050501580156152ea573d6000803e3d6000fd5b505b50959998505050505050505050565b60008083600181111561530a57fe5b1480613f2d575050600010919050565b60008111156153d957600354604080517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301528681166024830152858116604483015260648201859052915191909216916315dacbea9160848083019260209291908290030181600087803b1580156153a257600080fd5b505af11580156153b6573d6000803e3d6000fd5b505050506040513d60208110156153cc57600080fd5b505115156153d957600080fd5b50505050565b6001546153f790600160a060020a031684848461531a565b505050565b604080516102e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082019081526020016000815260200160008152600060208201819052604090910190815260200160608152602001606081526020016000600160a060020a03168152602001606081526020016000600160a060020a03168152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820202020202042756c6b20536d61736821212120202020203c33203020202020200029e2fd538c762ee69cab09ccd70e2438075b7004dd87577dc3937e9fcc8174bb649a2ed463836165738cfa54208ff6e7847fd08cbaac309aac057086cb0a144d134f7264657228616464726573732065786368616e67652c61646472657373206d616b65722c616464726573732074616b65722c75696e74323536206d616b657252656c617965724665652c75696e743235362074616b657252656c617965724665652c75696e74323536206d616b657250726f746f636f6c4665652c75696e743235362074616b657250726f746f636f6c4665652c6164647265737320666565526563697069656e742c75696e7438206665654d6574686f642c75696e743820736964652c75696e74382073616c654b696e642c61646472657373207461726765742c75696e743820686f77546f43616c6c2c62797465732063616c6c646174612c6279746573207265706c6163656d656e745061747465726e2c61646472657373207374617469635461726765742c6279746573207374617469634578747261646174612c61646472657373207061796d656e74546f6b656e2c75696e74323536206261736550726963652c75696e743235362065787472612c75696e74323536206c697374696e6754696d652c75696e743235362065787069726174696f6e54696d652c75696e743235362073616c742c75696e74323536206e6f6e6365298b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1000000000000000000000000e5c783ee536cf5e63e792988335c4255169be4e1000000000000000000000000056017c55ae7ae32d12aef7c679df83a85ca75ff000000000000000000000000a839d4b5a36265795eba6894651a8af3d0ae2e68.