KODAV3PrimaryMarketplace
Deploy on AlchemyContract Information
Explore the source code, ABI, and bytecode for the KODAV3PrimaryMarketplace smart contract.
More Info
[{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"},{"internalType":"contract IKODAV3","name":"_koda","type":"address"},{"internalType":"address","name":"_platformAccount","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"AdminRecoverERC20","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address payable","name":"_recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"AdminRecoverETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"AdminSetKoCommissionOverrideForCreator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"AdminSetKoCommissionOverrideForEdition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_oldAddress","type":"address"},{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_newAddress","type":"address"}],"name":"AdminUpdateAccessControls","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_bidLockupPeriod","type":"uint256"}],"name":"AdminUpdateBidLockupPeriod","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_minBidAmount","type":"uint256"}],"name":"AdminUpdateMinBidAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"AdminUpdateModulo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_newAddress","type":"address"}],"name":"AdminUpdatePlatformAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_platformPrimarySaleCommission","type":"uint256"}],"name":"AdminUpdatePlatformPrimarySaleCommission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_reserveAuctionBidExtensionWindow","type":"uint128"}],"name":"AdminUpdateReserveAuctionBidExtensionWindow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_reserveAuctionLengthOnceReserveMet","type":"uint128"}],"name":"AdminUpdateReserveAuctionLengthOnceReserveMet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_originalBiddingEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_currentBiddingEnd","type":"uint256"}],"name":"BidPlacedOnReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint128","name":"_bid","type":"uint128"}],"name":"BidWithdrawnFromReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_bid","type":"uint256"},{"indexed":false,"internalType":"address","name":"_newBidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newOffer","type":"uint256"}],"name":"BidderRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_bid","type":"uint256"},{"indexed":false,"internalType":"address","name":"_newBidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newOffer","type":"uint256"}],"name":"BidderRefundedFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"}],"name":"BuyNowDeListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"}],"name":"BuyNowPriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_buyer","type":"address"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"}],"name":"BuyNowPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ConvertFromBuyNowToOffers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ConvertSteppedAuctionToBuyNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionAcceptingOffer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidRejected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"}],"name":"EditionBidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_price","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionConvertedFromOffersToBuyItNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_basePrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_stepPrice","type":"uint128"}],"name":"EditionSteppedAuctionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"_currentStep","type":"uint16"}],"name":"EditionSteppedSaleBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_basePrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_stepPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionSteppedSaleListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint128","name":"_bid","type":"uint128"}],"name":"EmergencyBidWithdrawFromReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_startDate","type":"uint256"}],"name":"ListedForBuyNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reservePrice","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ListedForReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"PrimaryMarketplaceDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ReserveAuctionConvertedToBuyItNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ReserveAuctionConvertedToOffers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_finalPrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"address","name":"_winner","type":"address"},{"indexed":false,"internalType":"address","name":"_resulter","type":"address"}],"name":"ReserveAuctionResulted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reservePrice","type":"uint256"}],"name":"ReservePriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint256","name":"_offerPrice","type":"uint256"}],"name":"acceptEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessControls","outputs":[{"internalType":"contract IKOAccessControlsLookup","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"adminRejectEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bidLockupPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"buyEditionToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"buyEditionTokenFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"buyNextStep","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"address","name":"_buyer","type":"address"}],"name":"buyNextStepFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertFromBuyNowToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertOffersToBuyItNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertReserveAuctionToBuyItNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertReserveAuctionToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertSteppedAuctionToListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertSteppedAuctionToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOffers","outputs":[{"internalType":"uint256","name":"offer","type":"uint256"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"lockupUntil","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOffersStartDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOrTokenListings","outputs":[{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"address","name":"seller","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOrTokenWithReserveAuctions","outputs":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint128","name":"reservePrice","type":"uint128"},{"internalType":"uint128","name":"bid","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"uint128","name":"biddingEnd","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionStep","outputs":[{"internalType":"uint128","name":"basePrice","type":"uint128"},{"internalType":"uint128","name":"stepPrice","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint16","name":"currentStep","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"emergencyExitBidFromReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"enableEditionOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getNextEditionSteppedPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"koCommissionOverrideForCreators","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"koCommission","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"koCommissionOverrideForEditions","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"koCommission","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"koda","outputs":[{"internalType":"contract IKODAV3","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listForBuyNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_reservePrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listForReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_basePrice","type":"uint128"},{"internalType":"uint128","name":"_stepPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listSteppedEditionAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minBidAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"modulo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"placeBidOnReserveAuction","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_bidder","type":"address"}],"name":"placeBidOnReserveAuctionFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"placeEditionBid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"address","name":"_bidder","type":"address"}],"name":"placeEditionBidFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"platformAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platformPrimarySaleCommission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"rejectEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reserveAuctionBidExtensionWindow","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reserveAuctionLengthOnceReserveMet","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"resultReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"}],"name":"setBuyNowPriceListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bool","name":"_active","type":"bool"},{"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"setKoCommissionOverrideForCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"bool","name":"_active","type":"bool"},{"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"setKoCommissionOverrideForEdition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"}],"name":"updateAccessControls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bidLockupPeriod","type":"uint256"}],"name":"updateBidLockupPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minBidAmount","type":"uint256"}],"name":"updateMinBidAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"updateModulo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newPlatformAccount","type":"address"}],"name":"updatePlatformAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_platformPrimarySaleCommission","type":"uint256"}],"name":"updatePlatformPrimarySaleCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"_reserveAuctionBidExtensionWindow","type":"uint128"}],"name":"updateReserveAuctionBidExtensionWindow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"_reserveAuctionLengthOnceReserveMet","type":"uint128"}],"name":"updateReserveAuctionLengthOnceReserveMet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_reservePrice","type":"uint128"}],"name":"updateReservePriceForReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_basePrice","type":"uint128"},{"internalType":"uint128","name":"_stepPrice","type":"uint128"}],"name":"updateSteppedAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"withdrawBidFromReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"withdrawEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"}]
[{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"},{"internalType":"contract IKODAV3","name":"_koda","type":"address"},{"internalType":"address","name":"_platformAccount","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"AdminRecoverERC20","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address payable","name":"_recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"AdminRecoverETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"AdminSetKoCommissionOverrideForCreator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"AdminSetKoCommissionOverrideForEdition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_oldAddress","type":"address"},{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_newAddress","type":"address"}],"name":"AdminUpdateAccessControls","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_bidLockupPeriod","type":"uint256"}],"name":"AdminUpdateBidLockupPeriod","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_minBidAmount","type":"uint256"}],"name":"AdminUpdateMinBidAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"AdminUpdateModulo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_newAddress","type":"address"}],"name":"AdminUpdatePlatformAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_platformPrimarySaleCommission","type":"uint256"}],"name":"AdminUpdatePlatformPrimarySaleCommission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_reserveAuctionBidExtensionWindow","type":"uint128"}],"name":"AdminUpdateReserveAuctionBidExtensionWindow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_reserveAuctionLengthOnceReserveMet","type":"uint128"}],"name":"AdminUpdateReserveAuctionLengthOnceReserveMet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_originalBiddingEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_currentBiddingEnd","type":"uint256"}],"name":"BidPlacedOnReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint128","name":"_bid","type":"uint128"}],"name":"BidWithdrawnFromReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_bid","type":"uint256"},{"indexed":false,"internalType":"address","name":"_newBidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newOffer","type":"uint256"}],"name":"BidderRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_bid","type":"uint256"},{"indexed":false,"internalType":"address","name":"_newBidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newOffer","type":"uint256"}],"name":"BidderRefundedFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"}],"name":"BuyNowDeListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"}],"name":"BuyNowPriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_buyer","type":"address"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"}],"name":"BuyNowPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ConvertFromBuyNowToOffers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ConvertSteppedAuctionToBuyNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionAcceptingOffer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EditionBidRejected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"}],"name":"EditionBidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_price","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionConvertedFromOffersToBuyItNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_basePrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_stepPrice","type":"uint128"}],"name":"EditionSteppedAuctionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"_buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"_currentStep","type":"uint16"}],"name":"EditionSteppedSaleBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_basePrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_stepPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"EditionSteppedSaleListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"address","name":"_bidder","type":"address"},{"indexed":false,"internalType":"uint128","name":"_bid","type":"uint128"}],"name":"EmergencyBidWithdrawFromReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_startDate","type":"uint256"}],"name":"ListedForBuyNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reservePrice","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ListedForReserveAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"PrimaryMarketplaceDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ReserveAuctionConvertedToBuyItNow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"ReserveAuctionConvertedToOffers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_finalPrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currentOwner","type":"address"},{"indexed":false,"internalType":"address","name":"_winner","type":"address"},{"indexed":false,"internalType":"address","name":"_resulter","type":"address"}],"name":"ReserveAuctionResulted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reservePrice","type":"uint256"}],"name":"ReservePriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint256","name":"_offerPrice","type":"uint256"}],"name":"acceptEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessControls","outputs":[{"internalType":"contract IKOAccessControlsLookup","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"adminRejectEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bidLockupPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"buyEditionToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"buyEditionTokenFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"buyNextStep","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"address","name":"_buyer","type":"address"}],"name":"buyNextStepFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertFromBuyNowToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertOffersToBuyItNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertReserveAuctionToBuyItNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertReserveAuctionToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertSteppedAuctionToListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"convertSteppedAuctionToOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOffers","outputs":[{"internalType":"uint256","name":"offer","type":"uint256"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"lockupUntil","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOffersStartDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOrTokenListings","outputs":[{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"address","name":"seller","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionOrTokenWithReserveAuctions","outputs":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint128","name":"reservePrice","type":"uint128"},{"internalType":"uint128","name":"bid","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"uint128","name":"biddingEnd","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionStep","outputs":[{"internalType":"uint128","name":"basePrice","type":"uint128"},{"internalType":"uint128","name":"stepPrice","type":"uint128"},{"internalType":"uint128","name":"startDate","type":"uint128"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint16","name":"currentStep","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"emergencyExitBidFromReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"enableEditionOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getNextEditionSteppedPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"koCommissionOverrideForCreators","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"koCommission","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"koCommissionOverrideForEditions","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"koCommission","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"koda","outputs":[{"internalType":"contract IKODAV3","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listForBuyNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_reservePrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listForReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_basePrice","type":"uint128"},{"internalType":"uint128","name":"_stepPrice","type":"uint128"},{"internalType":"uint128","name":"_startDate","type":"uint128"}],"name":"listSteppedEditionAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minBidAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"modulo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"placeBidOnReserveAuction","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_bidder","type":"address"}],"name":"placeBidOnReserveAuctionFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"placeEditionBid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"address","name":"_bidder","type":"address"}],"name":"placeEditionBidFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"platformAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platformPrimarySaleCommission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"rejectEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reserveAuctionBidExtensionWindow","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reserveAuctionLengthOnceReserveMet","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"resultReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_listingPrice","type":"uint128"}],"name":"setBuyNowPriceListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bool","name":"_active","type":"bool"},{"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"setKoCommissionOverrideForCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"bool","name":"_active","type":"bool"},{"internalType":"uint256","name":"_koCommission","type":"uint256"}],"name":"setKoCommissionOverrideForEdition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"}],"name":"updateAccessControls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bidLockupPeriod","type":"uint256"}],"name":"updateBidLockupPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minBidAmount","type":"uint256"}],"name":"updateMinBidAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"updateModulo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newPlatformAccount","type":"address"}],"name":"updatePlatformAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_platformPrimarySaleCommission","type":"uint256"}],"name":"updatePlatformPrimarySaleCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"_reserveAuctionBidExtensionWindow","type":"uint128"}],"name":"updateReserveAuctionBidExtensionWindow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"_reserveAuctionLengthOnceReserveMet","type":"uint128"}],"name":"updateReserveAuctionLengthOnceReserveMet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint128","name":"_reservePrice","type":"uint128"}],"name":"updateReservePriceForReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"uint128","name":"_basePrice","type":"uint128"},{"internalType":"uint128","name":"_stepPrice","type":"uint128"}],"name":"updateSteppedAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"withdrawBidFromReserveAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"withdrawEditionBid","outputs":[],"stateMutability":"nonpayable","type":"function"}]
608060405262989680600455662386f26fc1000060055561546060065572015180000000000000000000000000000003846008556216e360600f553480156200004757600080fd5b5060405162005925380380620059258339810160408190526200006a91620000ed565b600160008181558154600280546001600160a01b03199081166001600160a01b03888116919091179092556001600160a81b0319909216610100888316021790935560038054909116928416929092179091556040517f2c09563128f33976972b5f859a25a031d534b6895710d898ef01875708dc8ec59190a150505062000159565b60008060006060848603121562000102578283fd5b83516200010f8162000140565b6020850151909350620001228162000140565b6040850151909250620001358162000140565b809150509250925092565b6001600160a01b03811681146200015657600080fd5b50565b6157bc80620001696000396000f3fe6080604052600436106103975760003560e01c8063748365ef116101dc578063a1d1e56411610102578063c21f86f4116100a0578063d599ee081161006f578063d599ee0814610c6f578063d5df687c14610c8f578063dee294ab14610caf578063ff89a80b14610ccf57600080fd5b8063c21f86f414610bf9578063c30f0db214610c19578063ce9e1ce514610c39578063cf500bec14610c4f57600080fd5b8063a8b3ed71116100dc578063a8b3ed7114610aec578063a9d9985e14610b0c578063b0a0085114610b2c578063b4f931b114610bd957600080fd5b8063a1d1e56414610a8c578063a340f39e14610aac578063a81b574714610acc57600080fd5b806387311d8f1161017a57806395880bfe1161014957806395880bfe14610a2357806395ac51ce14610a3957806397849eb314610a595780639c1d990714610a7957600080fd5b806387311d8f146108ff5780638d91997e1461092c5780638f084d7c1461094c5780639118644314610a0357600080fd5b80637f27c67c116101b65780637f27c67c146108365780637fb38ab0146108495780638456cb59146108ca57806384c95d2a146108df57600080fd5b8063748365ef146107b95780637d87bc80146107f65780637de3766f1461081657600080fd5b80634cb97c18116102c15780635e636b6f1161025f5780636ef3da941161022e5780636ef3da94146107465780637012663e1461076657806372ec7eec146107795780637480911b1461079957600080fd5b80635e636b6f146106d357806361200f94146106f35780636305246e146107135780636710c3f21461073357600080fd5b80634f4841191161029b5780634f48411914610643578063502942cd1461067d57806355d93d491461069d5780635c975abb146106b057600080fd5b80634cb97c18146105bf5780634d1f0a8e146105d25780634f17e281146105f257600080fd5b80632ade1bf311610339578063474379701161030857806347437970146105015780634860ee39146105695780634940ecf01461058957806349751788146105a957600080fd5b80632ade1bf31461046d5780632cd13c001461048d5780633f4ba83a146104cc57806347176275146104e157600080fd5b80630cf274c6116103755780630cf274c6146103f15780631171bda91461041157806320cd669514610431578063297452621461044457600080fd5b806302b433731461039c57806302ece38a146103be578063068bce8d146103d1575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004615452565b610cef565b005b6103bc6103cc366004615452565b610f27565b3480156103dd57600080fd5b506103bc6103ec366004615502565b610f84565b3480156103fd57600080fd5b506103bc61040c3660046154b1565b61119b565b34801561041d57600080fd5b506103bc61042c366004615409565b6111f7565b6103bc61043f366004615482565b6112d4565b34801561045057600080fd5b5061045a60045481565b6040519081526020015b60405180910390f35b34801561047957600080fd5b506103bc6104883660046154d7565b611332565b34801561049957600080fd5b506008546104b490600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610464565b3480156104d857600080fd5b506103bc6114a8565b3480156104ed57600080fd5b506103bc6104fc366004615340565b6114ba565b34801561050d57600080fd5b5061054661051c366004615452565b600c6020526000908152604090208054600182015460029092015490916001600160a01b03169083565b604080519384526001600160a01b03909216602084015290820152606001610464565b34801561057557600080fd5b506103bc610584366004615502565b611666565b34801561059557600080fd5b506103bc6105a4366004615340565b6118c7565b3480156105b557600080fd5b5061045a60055481565b6103bc6105cd366004615482565b611adb565b3480156105de57600080fd5b506103bc6105ed3660046154d7565b611b30565b3480156105fe57600080fd5b5061062c61060d36600461525b565b600b602052600090815260409020805460019091015460ff9091169082565b604080519215158352602083019190915201610464565b34801561064f57600080fd5b5061062c61065e366004615452565b600a602052600090815260409020805460019091015460ff9091169082565b34801561068957600080fd5b506103bc6106983660046154d7565b611cc1565b6103bc6106ab366004615452565b611d70565b3480156106bc57600080fd5b5060015460ff166040519015158152602001610464565b3480156106df57600080fd5b506103bc6106ee36600461538e565b611dc5565b3480156106ff57600080fd5b506103bc61070e366004615293565b611f56565b34801561071f57600080fd5b506103bc61072e366004615452565b612049565b6103bc610741366004615482565b61208d565b34801561075257600080fd5b506103bc61076136600461525b565b6120e2565b6103bc610774366004615452565b612238565b34801561078557600080fd5b506103bc610794366004615452565b61228d565b3480156107a557600080fd5b506103bc6107b4366004615438565b61231a565b3480156107c557600080fd5b506001546107de9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610464565b34801561080257600080fd5b5061045a610811366004615452565b612370565b34801561082257600080fd5b506103bc610831366004615300565b612381565b6103bc610844366004615482565b6123e8565b34801561085557600080fd5b5061089b610864366004615452565b600960205260009081526040902080546001909101546001600160801b0380831692600160801b900416906001600160a01b031683565b604080516001600160801b0394851681529390921660208401526001600160a01b031690820152606001610464565b3480156108d657600080fd5b506103bc61243d565b3480156108eb57600080fd5b506002546107de906001600160a01b031681565b34801561090b57600080fd5b5061045a61091a366004615452565b600d6020526000908152604090205481565b34801561093857600080fd5b506103bc6109473660046154d7565b61244d565b34801561095857600080fd5b506109ba610967366004615452565b60076020526000908152604090208054600182015460028301546003909301546001600160a01b039283169392909116916001600160801b0380821692600160801b928390048216928282169291041686565b604080516001600160a01b0397881681529690951660208701526001600160801b03938416948601949094529082166060850152811660808401521660a082015260c001610464565b348015610a0f57600080fd5b506103bc610a1e366004615452565b6124c7565b348015610a2f57600080fd5b5061045a60065481565b348015610a4557600080fd5b506103bc610a54366004615452565b612504565b348015610a6557600080fd5b506003546107de906001600160a01b031681565b6103bc610a87366004615452565b612740565b348015610a9857600080fd5b506103bc610aa736600461525b565b612795565b348015610ab857600080fd5b506103bc610ac7366004615452565b6127f9565b348015610ad857600080fd5b506103bc610ae7366004615502565b612908565b348015610af857600080fd5b506103bc610b0736600461553d565b612c56565b348015610b1857600080fd5b506103bc610b27366004615452565b612f20565b348015610b3857600080fd5b50610b94610b47366004615452565b600e602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b90930481169216906001600160a01b03811690600160a01b900461ffff1685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160a01b0316606082015261ffff909116608082015260a001610464565b348015610be557600080fd5b506103bc610bf4366004615452565b6132cc565b348015610c0557600080fd5b506103bc610c143660046154d7565b613309565b348015610c2557600080fd5b506103bc610c34366004615452565b61347c565b348015610c4557600080fd5b5061045a600f5481565b348015610c5b57600080fd5b506103bc610c6a366004615438565b6135e4565b348015610c7b57600080fd5b506103bc610c8a3660046154d7565b61363a565b348015610c9b57600080fd5b506103bc610caa366004615452565b6138ec565b348015610cbb57600080fd5b506103bc610cca366004615502565b613b6a565b348015610cdb57600080fd5b506008546104b4906001600160801b031681565b60015460ff1615610d1b5760405162461bcd60e51b8152600401610d12906155d4565b60405180910390fd5b60026000541415610d3e5760405162461bcd60e51b8152600401610d1290615635565b60026000818155828152600760205260409020908101546001600160801b0316610d9e5760405162461bcd60e51b815260206004820152601160248201527027379030b1ba34bb329030bab1ba34b7b760791b6044820152606401610d12565b60028101546001600160801b03808216600160801b909204161015610df75760405162461bcd60e51b815260206004820152600f60248201526e14995cd95c9d99481b9bdd081b595d608a1b6044820152606401610d12565b6003810154600160801b90046001600160801b03164211610e5a5760405162461bcd60e51b815260206004820152601960248201527f42696464696e6720686173206e6f742079657420656e646564000000000000006044820152606401610d12565b6001818101548254600280850154600087815260076020526040812080546001600160a01b0319908116825596810180549097169096559185018290556003909401556001600160a01b0391821692911690600160801b90046001600160801b0316610ec885828585613cb1565b50604080518281526001600160a01b038085166020830152851681830152336060820152905186917fa0a548bb147d15d7de045c333ab8b0ec3d0cc790775d009185aa0e009437507e919081900360800190a250506001600055505050565b60015460ff1615610f4a5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415610f6d5760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c8133613cc9565b506001600055565b60015460ff1615610fa75760405162461bcd60e51b8152600401610d12906155d4565b6000838152600e6020526040902060028101546001600160a01b031633148061105f575060015460028201546001600160a01b036101009092048216916380371cce9116610ff23390565b6040518363ffffffff1660e01b815260040161100f92919061555e565b60206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105f91906153ed565b6110995760405162461bcd60e51b815260206004820152600b60248201526a27b7363c9039b2b63632b960a91b6044820152606401610d12565b6002810154600160a01b900461ffff16156110eb5760405162461bcd60e51b81526020600482015260126024820152714f6e6c79207768656e206e6f2073616c657360701b6044820152606401610d12565b600554836001600160801b0316101561113e5760405162461bcd60e51b8152602060048201526015602482015274084c2e6ca40e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b6001600160801b03838116600160801b9184169182028117835560408051918252602082019290925285917fca6f94d6cf7150ed49f5d1ccd677efd457310ccf201845261d9098a6877dcf3c91015b60405180910390a250505050565b6111a3613eb3565b6000838152600a6020908152604091829020805460ff191685151517815560018101849055915183815285917f3435d39114497a2c6d70dbcc09a4026fdaca4c8eb9661f55f026fd79c0a28508910161118d565b6111ff613eb3565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561124957600080fd5b505af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128191906153ed565b50816001600160a01b0316836001600160a01b03167f305fd4b7f973d3d7ee0074e0c7b4db74db3bbf0c21b17bf10e003985e4fc9f7b836040516112c791815260200190565b60405180910390a3505050565b60015460ff16156112f75760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561131a5760405162461bcd60e51b8152600401610d1290615635565b60026000556113298282613cc9565b50506001600055565b60015460ff16156113555760405162461bcd60e51b8152600401610d12906155d4565b6000828152600960205260409020600101546001600160a01b031633148061141a5750600180546000848152600960205260409020909101546001600160a01b036101009092048216916380371cce91166113ad3390565b6040518363ffffffff1660e01b81526004016113ca92919061555e565b60206040518083038186803b1580156113e257600080fd5b505afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a91906153ed565b6114365760405162461bcd60e51b8152600401610d1290615578565b600082815260096020908152604080832083815560010180546001600160a01b0319169055600d8252918290206001600160801b03841690819055915191825283917fc5cede647bcf791d83ff0ee63bb8ae1434f9795878081f8ad4b36ee1cb582aad91015b60405180910390a25050565b6114b0613eb3565b6114b8613f80565b565b60015460ff16156114dd5760405162461bcd60e51b8152600401610d12906155d4565b6114e683614013565b6115325760405162461bcd60e51b815260206004820152601860248201527f4c697374696e67206973206e6f74207065726d697474656400000000000000006044820152606401610d12565b61153b83614025565b6115875760405162461bcd60e51b815260206004820152601760248201527f427579206e6f77206c697374696e6720696e76616c69640000000000000000006044820152606401610d12565b600554826001600160801b031610156115b25760405162461bcd60e51b8152600401610d12906155fe565b60408051606080820183526001600160801b0385811680845285821660208086018281526001600160a01b038c8116888a0181815260008e8152600986528b9020995193518816600160801b0293909716929092178855945160019097018054979095166001600160a01b0319909716969096179093558551918252918101939093529282019290925284917f7fd7de54b3a4cc7952845fd3fa85208e0ba980067ead6d59721bebc8bd7ec414910161118d565b600260005414156116895760405162461bcd60e51b8152600401610d1290615635565b600260005560015460ff16156116b15760405162461bcd60e51b8152600401610d12906155d4565b6000838152600e602052604090206005546001600160801b03841610156117125760405162461bcd60e51b8152602060048201526015602482015274098d2e6e840e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b60028101546001600160a01b03163314806117bc575060015460028201546001600160a01b036101009092048216916380371cce911661174f3390565b6040518363ffffffff1660e01b815260040161176c92919061555e565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc91906153ed565b6117d85760405162461bcd60e51b8152600401610d1290615578565b604080516060810182526001600160801b03858116808352858216602080850182815260028801546001600160a01b0390811687890190815260008d815260098552899020975192518716600160801b0292909616919091178655935160019095018054959094166001600160a01b03199095169490941790925583519081529182015285917f3ed14e51a13ebed8bcb36a692319d51c90603eef8a9b49835ed0f77909e6bdc6910160405180910390a25050506000908152600e60205260408120818155600180820180546001600160801b0319169055600290910180546001600160b01b03191690559055565b60015460ff16156118ea5760405162461bcd60e51b8152600401610d12906155d4565b6118f383614013565b6119375760405162461bcd60e51b8152602060048201526015602482015274131a5cdd1a5b99c81b9bdd081c195c9b5a5d1d1959605a1b6044820152606401610d12565b611940836140b7565b61198c5760405162461bcd60e51b815260206004820152601d60248201527f52657365727665206c697374696e67206e6f74207065726d69747465640000006044820152606401610d12565b600554826001600160801b031610156119f65760405162461bcd60e51b815260206004820152602660248201527f52657365727665207072696365206d757374206265206174206c65617374206d6044820152651a5b88189a5960d21b6064820152608401610d12565b6040805160c0810182526001600160a01b038681168252600060208084018281526001600160801b03888116868801818152606088018681528a841660808a0181815260a08b018981528f8a5260078952988c90209a518b54908b166001600160a01b0319918216178c55965160018c01805491909b16971696909617909855905190518316600160801b90810291841691909117600289015592519451821690920293169290921760039094019390935583519081529182015284917fcd712ccc5669f36ad4dfb9acf905087c4b438eabe53e24c858c72bfa0515cb98910161118d565b60015460ff1615611afe5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611b215760405162461bcd60e51b8152600401610d1290615635565b6002600055611329828261415a565b60015460ff1615611b535760405162461bcd60e51b8152600401610d12906155d4565b6000828152600960205260409020600101546001600160a01b0316331480611c185750600180546000848152600960205260409020909101546001600160a01b036101009092048216916380371cce9116611bab3390565b6040518363ffffffff1660e01b8152600401611bc892919061555e565b60206040518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1891906153ed565b611c645760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c792073656c6c65722063616e206368616e6765207072696365000000006044820152606401610d12565b60008281526009602090815260409182902080546001600160801b0319166001600160801b038516908117909155915191825283917f2acf0b64eca25e79ecb9831cce1c9045dce27614bb88deb1cc5b435e87278cdb910161149c565b60015460ff1615611ce45760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611d075760405162461bcd60e51b8152600401610d1290615635565b6002600055611d15826143c4565b6000828152600d60209081526040918290206001600160801b03841690819055915191825283917f5ad253cc2bfa6797b2f1b2a45aa1b0e961d3c6ff8090cc72122c1745d3e84101910160405180910390a250506001600055565b60015460ff1615611d935760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611db65760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c813361415a565b60015460ff1615611de85760405162461bcd60e51b8152600401610d12906155d4565b611df0614570565b600554836001600160801b03161015611e435760405162461bcd60e51b8152602060048201526015602482015274084c2e6ca40e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b6040805160a0810182526001600160801b03808616825284811660208084019182528583168486019081526001600160a01b03808c16606087019081526000608088018181528d8252600e909552889020965194518616600160801b029486169490941786559051600186018054919095166001600160801b03199190911617909355905160029093018054915161ffff16600160a01b026001600160b01b031990921693909216929092179190911790555184907fde833f743c6e9e4ce17e0e6662f66d3af9ecba83780a7c10cd54ffa7b049562e90611f47908690869086906001600160801b0393841681529183166020830152909116604082015260600190565b60405180910390a25050505050565b611f5e613eb3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611fab576040519150601f19603f3d011682016040523d82523d6000602084013e611fb0565b606091505b50509050806120015760405162461bcd60e51b815260206004820152601c60248201527f556e61626c6520746f2073656e6420726563697069656e7420455448000000006044820152606401610d12565b826001600160a01b03167f4d688afe1abc567d30e199aa99174c72a9653aec3e1e87dd2b5e60ed469fad558360405161203c91815260200190565b60405180910390a2505050565b612051613eb3565b60058190556040518181527f0e782e841a04fe2a18adf67ea33f1becfdca41420dee80c4c28d966524f2e6e7906020015b60405180910390a150565b60015460ff16156120b05760405162461bcd60e51b8152600401610d12906155d4565b600260005414156120d35760405162461bcd60e51b8152600401610d1290615635565b60026000556113298282614640565b6120ea613eb3565b6001600160a01b03811663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561213957600080fd5b505afa15801561214d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217191906153ed565b6121d15760405162461bcd60e51b815260206004820152602b60248201527f53656e646572206d75737420686176652061646d696e20726f6c6520696e206e60448201526a195dc818dbdb9d1c9858dd60aa1b6064820152608401610d12565b6001546040516001600160a01b0380841692610100900416907facd428448d30f3fadee1e7d643a28cfee0ec86aef546e1cfc717d844b99eedf290600090a3600180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60015460ff161561225b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561227e5760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c81336147c1565b612295613eb3565b600081116122e55760405162461bcd60e51b815260206004820152601b60248201527f4d6f64756c6f20706f696e742063616e6e6f74206265207a65726f00000000006044820152606401610d12565b60048190556040518181527f0974c11e488a74018e3da44e0750b7d0ec99a431c45f79a6110d722b823d0af090602001612082565b612322613eb3565b600880546001600160801b03908116600160801b918416918202179091556040519081527fa076ed7cc197f8c245d58d44bfdc92180b22f8e3ddd247c45ee0e84f79f7b2bd90602001612082565b600061237b82614b3a565b92915050565b612389613eb3565b6001600160a01b0383166000818152600b6020908152604091829020805460ff19168615151781556001810185905591518481529192917f036d5b8a890813b20be995ed13873cba592f6933b7f9c5d342b258f72ede6e78910161118d565b60015460ff161561240b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561242e5760405162461bcd60e51b8152600401610d1290615635565b600260005561132982826147c1565b612445613eb3565b6114b8614b98565b60015460ff16156124705760405162461bcd60e51b8152600401610d12906155d4565b612478614570565b6000828152600d60209081526040918290206001600160801b03841690819055915191825283917f252bfd97a791429cb820c48af9674adf004431519d80a5d86fafdfb06863492c910161149c565b6124cf613eb3565b60068190556040518181527f46b8c32fce68a5f2dff628d3b2cf9374788f42ea33b343728a64a3b090b4479e90602001612082565b60015460ff16156125275760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561254a5760405162461bcd60e51b8152600401610d1290615635565b60026000818155828152600760205260409020908101546001600160801b03166125b65760405162461bcd60e51b815260206004820152601c60248201527f4e6f20726573657276652061756374696f6e20696e20666c69676874000000006044820152606401610d12565b60028101546001600160801b03808216600160801b90920416106126325760405162461bcd60e51b815260206004820152602d60248201527f426964732063616e206f6e6c792062652077697468647261776e20696620726560448201526c1cd95c9d99481b9bdd081b595d609a1b6064820152608401610d12565b60018101546001600160a01b0316331461269d5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206269646465722063616e207769746864726177207468656044820152651a5c88189a5960d21b6064820152608401610d12565b60028101546001820154600160801b9091046001600160801b0316906126d19084906001600160a01b031683600080614bee565b6001820180546001600160a01b03191690556002820180546001600160801b039081169091556040805185815233602082015291831682820152517fd1d72c9a0832cf3726713b61a67a8f1656cc01385640d04f1155b000d1b7b7519181900360600190a15050600160005550565b60015460ff16156127635760405162461bcd60e51b8152600401610d12906155d4565b600260005414156127865760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c8133614640565b61279d613eb3565b6003546040516001600160a01b038084169216907f0dcf4ed468afaf8b36d6f5982788e2b86c18a544e7fb05803a79f67cd097d59190600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b612801613eb3565b600260005414156128245760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902060018101546001600160a01b03166128615760405162461bcd60e51b8152600401610d12906155af565b80541561288957600181015481546128899184916001600160a01b0390911690600080614bee565b60018101548154604080516001600160a01b039093168352602083019190915283917fdd21daffb84ed4431b50ed9dedcd5e0cf1f96a4cc5976fefb4be54d43be3728191015b60405180910390a2506000908152600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff161561292b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561294e5760405162461bcd60e51b8152600401610d1290615635565b600260005561295c83614cff565b1561299d5760405162461bcd60e51b815260206004820152601160248201527011591a5d1a5bdb881a5cc81b1a5cdd1959607a1b6044820152606401610d12565b60025460405163d41911d760e01b8152600481018590526000916001600160a01b03169063d41911d79060240160206040518083038186803b1580156129e257600080fd5b505afa1580156129f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1a9190615277565b90506001600160a01b038116331480612ab3575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401612a6392919061555e565b60206040518083038186803b158015612a7b57600080fd5b505afa158015612a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab391906153ed565b612aed5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610d12565b600554836001600160801b03161015612b185760405162461bcd60e51b8152600401610d12906155fe565b6000848152600c60205260409020805415612b4e5760018101548154612b4e9187916001600160a01b0390911690600080614bee565b6000858152600c602090815260408083208381556001810180546001600160a01b0319169055600201839055600d82528083209290925581516060810183526001600160801b038781168252861691810191909152908101336001600160a01b039081169091526000878152600960209081526040918290208451858301516001600160801b03918216600160801b9183169190910217825594830151600190910180546001600160a01b0319169190941617909255805188815287841692810192909252918516918101919091527f4ee58f1b139dbfa3b12ee1fc57ad8d513b35c670477df6dfde35944346b1d1949060600160405180910390a150506001600055505050565b60015460ff1615612c795760405162461bcd60e51b8152600401610d12906155d4565b60026000541415612c9c5760405162461bcd60e51b8152600401610d1290615635565b60026000908155828152600c6020526040902060018101546001600160a01b0316612cd95760405162461bcd60e51b8152600401610d12906155af565b8054821115612d2a5760405162461bcd60e51b815260206004820152601760248201527f4f6666657220707269636520686173206368616e6765640000000000000000006044820152606401610d12565b60025460405163d41911d760e01b8152600481018590526000916001600160a01b03169063d41911d79060240160206040518083038186803b158015612d6f57600080fd5b505afa158015612d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da79190615277565b90506001600160a01b038116331480612e40575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401612df092919061555e565b60206040518083038186803b158015612e0857600080fd5b505afa158015612e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4091906153ed565b612e7a5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610d12565b81546001830154600091612e9a918791906001600160a01b031684614d7c565b60018401548454604080516001600160a01b0390931683526020830191909152919250829187917fbb5456559b0c90450f12de9d601e1470b0edb240c3425838360bd25412e6b8be910160405180910390a3505050600091825250600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff1615612f435760405162461bcd60e51b8152600401610d12906155d4565b60026000541415612f665760405162461bcd60e51b8152600401610d1290615635565b6002600081815582815260076020526040902090810154600160801b90046001600160801b0316612fcc5760405162461bcd60e51b815260206004820152601060248201526f139bc8189a59081a5b88199b1a59da1d60821b6044820152606401610d12565b612fd582614f14565b6130475760405162461bcd60e51b815260206004820152603b60248201527f4269642063616e6e6f742062652077697468647261776e20617320726573657260448201527f76652061756374696f6e206c697374696e672069732076616c696400000000006064820152608401610d12565b80546001820154336001600160a01b0392831681149290911614818061306a5750805b80613101575060015483546001600160a01b036101009092048216916380371cce91166130943390565b6040518363ffffffff1660e01b81526004016130b192919061555e565b60206040518083038186803b1580156130c957600080fd5b505afa1580156130dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061310191906153ed565b80613195575060015461010090046001600160a01b0316633d3d6fe2336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561315d57600080fd5b505afa158015613171573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319591906153ed565b6131f95760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792073656c6c65722c206269646465722c20636f6e7472616374206f7260448201526e10383630ba3337b9369030b236b4b760891b6064820152608401610d12565b6001830154600284015461322d9186916001600160a01b0390911690600160801b90046001600160801b0316600080614bee565b60018301546002840154604080516001600160a01b039093168352600160801b9091046001600160801b0316602083015285917f5254bc5658a9d8a2b41347762f2b035d708f4be1013ab8fb33922576e24570fe910160405180910390a2505050600090815260076020526040812080546001600160a01b03199081168255600180830180549092169091556002820183905560039091018290559055565b6132d4613eb3565b600f8190556040518181527fddddb61577530b164743cafe83935aeddb8888d7de39faeea75fd888bd1dcc7590602001612082565b60015460ff161561332c5760405162461bcd60e51b8152600401610d12906155d4565b6000828152600e6020526040902060028101546001600160a01b03163314806133e4575060015460028201546001600160a01b036101009092048216916380371cce91166133773390565b6040518363ffffffff1660e01b815260040161339492919061555e565b60206040518083038186803b1580156133ac57600080fd5b505afa1580156133c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e491906153ed565b6134005760405162461bcd60e51b8152600401610d1290615578565b6000838152600d602090815260408083206001600160801b03861690819055600e83528184209384556001840180546001600160801b0319169055600290930180546001600160b01b03191690555191825284917fc5cede647bcf791d83ff0ee63bb8ae1434f9795878081f8ad4b36ee1cb582aad910161203c565b60015460ff161561349f5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156134c25760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902080546134f35760405162461bcd60e51b8152600401610d12906155af565b60018101546001600160a01b031633146135445760405162461bcd60e51b81526020600482015260126024820152712737ba103a3432903a37b8103134b23232b960711b6044820152606401610d12565b80600201544210156135915760405162461bcd60e51b8152602060048201526016602482015275109a59081b1bd8dadd5c081b9bdd08195b185c1cd95960521b6044820152606401610d12565b600181015481546135b29184916001600160a01b0390911690600080614bee565b60405133815282907f2ed9db6d233a11ddbebd6f8b9e9ee561a991b8ab9a839ad4eb724d8397b3cff6906020016128cf565b6135ec613eb3565b600880546001600160801b0319166001600160801b0383169081179091556040519081527f0db06cc6a30966b8f617c70443f80200492161af831f75a335f3c3820e71bacd90602001612082565b60015460ff161561365d5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156136805760405162461bcd60e51b8152600401610d1290615635565b6002600090815582815260076020526040902080546001600160a01b0316331480613737575060015481546001600160a01b036101009092048216916380371cce91166136ca3390565b6040518363ffffffff1660e01b81526004016136e792919061555e565b60206040518083038186803b1580156136ff57600080fd5b505afa158015613713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373791906153ed565b6137745760405162461bcd60e51b815260206004820152600e60248201526d2737ba103a34329039b2b63632b960911b6044820152606401610d12565b6003810154600160801b90046001600160801b0316156137d65760405162461bcd60e51b815260206004820152601b60248201527f5265736572766520636f756e74646f776e20636f6d6d656e63656400000000006044820152606401610d12565b600554826001600160801b031610156138315760405162461bcd60e51b815260206004820181905260248201527f52657365727665206d757374206265206174206c65617374206d696e206269646044820152606401610d12565b60028101546001600160801b03808416600160801b909204161061388c5760085461386c90600160801b90046001600160801b03164261566c565b6003820180546001600160801b03928316600160801b0292169190911790555b6002810180546001600160801b0319166001600160801b03841690811790915560405190815283907f87c77544fe96aeb9a3a6398d27ed891f9532d66ef82444a0a56aab18a58bbece906020015b60405180910390a25050600160005550565b60015460ff161561390f5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156139325760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902060018101546001600160a01b031661396f5760405162461bcd60e51b8152600401610d12906155af565b60025460405163d41911d760e01b8152600481018490526000916001600160a01b03169063d41911d79060240160206040518083038186803b1580156139b457600080fd5b505afa1580156139c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ec9190615277565b90506001600160a01b038116331480613a85575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401613a3592919061555e565b60206040518083038186803b158015613a4d57600080fd5b505afa158015613a61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a8591906153ed565b613aca5760405162461bcd60e51b815260206004820152601660248201527521b0b63632b9103737ba103a34329031b932b0ba37b960511b6044820152606401610d12565b60018201548254613aeb9185916001600160a01b0390911690600080614bee565b60018201548254604080516001600160a01b039093168352602083019190915284917fdd21daffb84ed4431b50ed9dedcd5e0cf1f96a4cc5976fefb4be54d43be37281910160405180910390a250506000908152600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff1615613b8d5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415613bb05760405162461bcd60e51b8152600401610d1290615635565b60026000556005546001600160801b0383161015613be05760405162461bcd60e51b8152600401610d12906155fe565b613be9836143c4565b6040518060600160405280836001600160801b03168152602001826001600160801b03168152602001613c193390565b6001600160a01b039081169091526000858152600960209081526040918290208451858301516001600160801b03918216600160801b9183169190910217825594830151600190910180546001600160a01b0319169190941617909255805185841681529284169183019190915284917f926bdcbf39866f134eede353f606580c48749e851283a077fde2912543b659df91016138da565b6000613cc08585856000614d7c565b95945050505050565b613cd282614cff565b15613d135760405162461bcd60e51b815260206004820152601160248201527011591a5d1a5bdb881a5cc81b1a5cdd1959607a1b6044820152606401610d12565b6000828152600c602052604090206005548154613d3091906156b4565b341015613d755760405162461bcd60e51b8152602060048201526013602482015272084d2c840dcdee840d0d2ced040cadcdeeaced606b1b6044820152606401610d12565b6000838152600d60205260409020548015613dea5780421015613dda5760405162461bcd60e51b815260206004820152601860248201527f4e6f742079657420616363657074696e67206f666665727300000000000000006044820152606401610d12565b6000848152600d60205260408120555b815415613e115760018201548254613e119186916001600160a01b03909116903334614bee565b6040518060600160405280348152602001846001600160a01b03168152602001613e39615037565b90526000858152600c602090815260409182902083518155838201516001820180546001600160a01b0319166001600160a01b039283161790559383015160029091015581519286168352349083015285917f823a6e5c949aae9db807fd853796d0cf551fda5395f20faa534a3a2ef7149b9b910161118d565b60015461010090046001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015613f0957600080fd5b505afa158015613f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4191906153ed565b6114b85760405162461bcd60e51b815260206004820152601060248201526f21b0b63632b9103737ba1030b236b4b760811b6044820152606401610d12565b60015460ff16613fc95760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610d12565b6001805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600061401e82614cff565b1592915050565b60015460009061010090046001600160a01b0316638c481207335b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561407f57600080fd5b505afa158015614093573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237b91906153ed565b6002546040516346c8e19d60e11b8152600481018390526000916001600160a01b031690638d91c33a9060240160206040518083038186803b1580156140fc57600080fd5b505afa158015614110573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614134919061546a565b600114801561237b575060015461010090046001600160a01b0316638c48120733614040565b6000828152600e6020526040902060028101546001600160a01b03166141d15760405162461bcd60e51b815260206004820152602660248201527f45646974696f6e206e6f74206c697374656420666f72207374657070656420616044820152653ab1ba34b7b760d11b6064820152608401610d12565b6001810154426001600160801b0390911611156142225760405162461bcd60e51b815260206004820152600f60248201526e139bdd081cdd185c9d1959081e595d608a1b6044820152606401610d12565b600061422d84614b3a565b9050803410156142785760405162461bcd60e51b8152602060048201526016602482015275115e1c1958dd1959081c1c9a58d9481b9bdd081b595d60521b6044820152606401610d12565b60006142878583866001614d7c565b6002840154909150600160a01b900461ffff166142a5816001615697565b8460020160146101000a81548161ffff021916908361ffff1602179055508234111561436c576000336142d88534615733565b604051600081818185875af1925050503d8060008114614314576040519150601f19603f3d011682016040523d82523d6000602084013e614319565b606091505b505090508061436a5760405162461bcd60e51b815260206004820152601d60248201527f6661696c656420746f2073656e64206f7665727370656e64206261636b0000006044820152606401610d12565b505b604080516001600160a01b03871681526020810185905261ffff8316818301529051839188917f41820cf4351ec738da5f8ada46c5a38d78c6aeaa3039cb1dddcf1ea6853dd3439181900360600190a3505050505050565b600081815260076020526040902060028101546001600160801b03166144205760405162461bcd60e51b815260206004820152601160248201527027379030b1ba34bb329030bab1ba34b7b760791b6044820152606401610d12565b60028101546001600160801b03808216600160801b90920416106144925760405162461bcd60e51b815260206004820152602360248201527f43616e206f6e6c7920636f6e76657274206265666f72652072657365727665206044820152621b595d60ea1b6064820152608401610d12565b80546001600160a01b031633146144eb5760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79207468652073656c6c65722063616e20636f6e7665727400000000006044820152606401610d12565b6002810154600160801b90046001600160801b03161561453957600181015460028201546145399184916001600160a01b0390911690600160801b90046001600160801b0316600080614bee565b50600090815260076020526040812080546001600160a01b0319908116825560018201805490911690556002810182905560030155565b60015461010090046001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156145c657600080fd5b505afa1580156145da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145fe91906153ed565b6114b85760405162461bcd60e51b815260206004820152601360248201527210d85b1b195c881b9bdd0818dbdb9d1c9858dd606a1b6044820152606401610d12565b600082815260096020526040902060018101546001600160a01b031661469b5760405162461bcd60e51b815260206004820152601060248201526f139bc81b1a5cdd1a5b99c8199bdd5b9960821b6044820152606401610d12565b80546001600160801b03163410156146f55760405162461bcd60e51b815260206004820152601860248201527f4c697374207072696365206e6f742073617469736669656400000000000000006044820152606401610d12565b8054600160801b90046001600160801b031642101561474f5760405162461bcd60e51b8152602060048201526016602482015275131a5cdd081b9bdd08185d985a5b18589b19481e595d60521b6044820152606401610d12565b600181015460009061476f908590349086906001600160a01b0316613cb1565b6001830154604080516001600160a01b0380881682529092166020830152349082015290915081907f25a395eca5bca1a1ca0c1543a3e87384fabcf63100e03535276da15f838805b29060600161118d565b600082815260076020526040902060028101546001600160801b03166148295760405162461bcd60e51b815260206004820152601e60248201527f4e6f742073657420757020666f7220726573657276652061756374696f6e00006044820152606401610d12565b60038101546001600160801b031642101561487f5760405162461bcd60e51b8152602060048201526016602482015275139bdd081858d8d95c1d1a5b99c8189a591cc81e595d60521b6044820152606401610d12565b60055460028201546148a19190600160801b90046001600160801b03166156b4565b34101561490d5760405162461bcd60e51b815260206004820152603460248201527f596f752068617665206e6f742065786365656465642070726576696f757320626044820152731a5908189e481b5a5b88189a5908185b5bdd5b9d60621b6064820152608401610d12565b600381015460028201546001600160801b03600160801b9092048216918215159116341080159061493c575080155b156149825760085461495e90600160801b90046001600160801b03164261566c565b6003840180546001600160801b03928316600160801b029216919091179055614a4c565b8015614a4c57816001600160801b031642106149e05760405162461bcd60e51b815260206004820152601860248201527f4e6f206c6f6e67657220616363657074696e67206269647300000000000000006044820152606401610d12565b60006149ec428461570b565b6008549091506001600160801b0390811690821611614a4a576008546003850154614a2a916001600160801b0390811691600160801b90041661566c565b6003850180546001600160801b03928316600160801b0292169190911790555b505b6002830154600160801b90046001600160801b031615614a995760018301546002840154614a999187916001600160a01b0390911690600160801b90046001600160801b03168734614bee565b6002830180546001600160801b03908116600160801b348084168202929092179093556001860180546001600160a01b0319166001600160a01b038981169182179092558754600389015460408051929094168252602082019290925291820192909252858316606082015292900416608082015285907f0dacabc07ffe733bf314aba914422a6efa538ba8f6885bbd1ee3275c3b3f389d9060a001611f47565b6000818152600e60205260408120600281015481548391614b7791600160a01b90910461ffff1690600160801b90046001600160801b03166156ec565b8254909150614b909082906001600160801b03166156b4565b949350505050565b60015460ff1615614bbb5760405162461bcd60e51b8152600401610d12906155d4565b6001805460ff1916811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833613ff6565b6000846001600160a01b03168460405160006040518083038185875af1925050503d8060008114614c3b576040519150601f19603f3d011682016040523d82523d6000602084013e614c40565b606091505b5050905080614ca257604080516001600160a01b0387811682526020820187905285168183015260608101849052905187917f437414bccea896dfde9665f76dd6cbde1ec21a65c6e8bcd2afb4e9b0fb0ea196919081900360800190a2614cf7565b604080516001600160a01b0387811682526020820187905285168183015260608101849052905187917f0769c15e91f18239b38add21faad4a6ba30cd8f93aed73984c02d766af4970f4919081900360800190a25b505050505050565b6000818152600960205260408120600101546001600160a01b031615614d2757506001919050565b6000828152600e60205260409020600201546001600160a01b031615614d4f57506001919050565b6000828152600760205260409020546001600160a01b031615614d7457506001919050565b506000919050565b60008060008084614e0a576002546040516338896da960e01b8152600481018a90526001600160a01b03909116906338896da990602401606060405180830381600087803b158015614dcd57600080fd5b505af1158015614de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e0591906152be565b614e88565b60025460405163634a209360e01b8152600481018a90526001600160a01b039091169063634a209390602401606060405180830381600087803b158015614e5057600080fd5b505af1158015614e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e8891906152be565b925092509250614e9a8883858a61504c565b600254604051632142170760e11b81526001600160a01b038481166004830152888116602483015260448201849052909116906342842e0e90606401600060405180830381600087803b158015614ef057600080fd5b505af1158015614f04573d6000803e3d6000fd5b50929a9950505050505050505050565b60025460008281526007602052604080822054905163e985e9c560e01b8152919283926001600160a01b039182169263e985e9c592614f5a92911690309060040161555e565b60206040518083038186803b158015614f7257600080fd5b505afa158015614f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614faa91906153ed565b9050801580615030575060025460405163e35ed67f60e01b8152600481018590526001600160a01b039091169063e35ed67f9060240160206040518083038186803b158015614ff857600080fd5b505afa15801561500c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061503091906153ed565b9392505050565b60006006544261504791906156b4565b905090565b6000848152600a602052604081205460ff161561507b57506000848152600a60205260409020600101546150c3565b6001600160a01b0384166000908152600b602052604090205460ff16156150be57506001600160a01b0383166000908152600b60205260409020600101546150c3565b50600f545b600081600454846150d491906156cc565b6150de91906156ec565b90508015615195576003546040516000916001600160a01b03169083908381818185875af1925050503d8060008114615133576040519150601f19603f3d011682016040523d82523d6000602084013e615138565b606091505b50509050806151935760405162461bcd60e51b815260206004820152602160248201527f45646974696f6e20636f6d6d697373696f6e207061796d656e74206661696c656044820152601960fa1b6064820152608401610d12565b505b60006001600160a01b0385166151ab8386615733565b604051600081818185875af1925050503d80600081146151e7576040519150601f19603f3d011682016040523d82523d6000602084013e6151ec565b606091505b50509050806152365760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb881c185e5b595b9d0819985a5b195960521b6044820152606401610d12565b50505050505050565b80356001600160801b038116811461525657600080fd5b919050565b60006020828403121561526c578081fd5b813561503081615760565b600060208284031215615288578081fd5b815161503081615760565b600080604083850312156152a5578081fd5b82356152b081615760565b946020939093013593505050565b6000806000606084860312156152d2578081fd5b83516152dd81615760565b60208501519093506152ee81615760565b80925050604084015190509250925092565b600080600060608486031215615314578283fd5b833561531f81615760565b9250602084013561532f81615778565b929592945050506040919091013590565b60008060008060808587031215615355578081fd5b843561536081615760565b9350602085013592506153756040860161523f565b91506153836060860161523f565b905092959194509250565b600080600080600060a086880312156153a5578081fd5b85356153b081615760565b9450602086013593506153c56040870161523f565b92506153d36060870161523f565b91506153e16080870161523f565b90509295509295909350565b6000602082840312156153fe578081fd5b815161503081615778565b60008060006060848603121561541d578283fd5b833561542881615760565b9250602084013561532f81615760565b600060208284031215615449578081fd5b6150308261523f565b600060208284031215615463578081fd5b5035919050565b60006020828403121561547b578081fd5b5051919050565b60008060408385031215615494578182fd5b8235915060208301356154a681615760565b809150509250929050565b6000806000606084860312156154c5578081fd5b83359250602084013561532f81615778565b600080604083850312156154e9578182fd5b823591506154f96020840161523f565b90509250929050565b600080600060608486031215615516578081fd5b833592506155266020850161523f565b91506155346040850161523f565b90509250925092565b6000806040838503121561554f578182fd5b50508035926020909101359150565b6001600160a01b0392831681529116602082015260400190565b60208082526017908201527f4f6e6c792073656c6c65722063616e20636f6e76657274000000000000000000604082015260600190565b6020808252600b908201526a139bc81bdc195b88189a5960aa1b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526018908201527f4c697374696e67207072696365206e6f7420656e6f7567680000000000000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006001600160801b0380831681851680830382111561568e5761568e61574a565b01949350505050565b600061ffff80831681851680830382111561568e5761568e61574a565b600082198211156156c7576156c761574a565b500190565b6000826156e757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156157065761570661574a565b500290565b60006001600160801b038381169083168181101561572b5761572b61574a565b039392505050565b6000828210156157455761574561574a565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461577557600080fd5b50565b801515811461577557600080fdfea2646970667358221220259cf77f06931a3032205863c4f37067b8747c4c3a47f1800aec4c48eb4145e664736f6c634300080400330000000000000000000000009028b16494a9363f3eaaf381a6fde67296abc68c000000000000000000000000abb3738f04dc2ec20f4ae4462c3d069d02ae045b000000000000000000000000de9e5ee9e7cd43399969cfb1c0e5596778c6464f
608060405262989680600455662386f26fc1000060055561546060065572015180000000000000000000000000000003846008556216e360600f553480156200004757600080fd5b5060405162005925380380620059258339810160408190526200006a91620000ed565b600160008181558154600280546001600160a01b03199081166001600160a01b03888116919091179092556001600160a81b0319909216610100888316021790935560038054909116928416929092179091556040517f2c09563128f33976972b5f859a25a031d534b6895710d898ef01875708dc8ec59190a150505062000159565b60008060006060848603121562000102578283fd5b83516200010f8162000140565b6020850151909350620001228162000140565b6040850151909250620001358162000140565b809150509250925092565b6001600160a01b03811681146200015657600080fd5b50565b6157bc80620001696000396000f3fe6080604052600436106103975760003560e01c8063748365ef116101dc578063a1d1e56411610102578063c21f86f4116100a0578063d599ee081161006f578063d599ee0814610c6f578063d5df687c14610c8f578063dee294ab14610caf578063ff89a80b14610ccf57600080fd5b8063c21f86f414610bf9578063c30f0db214610c19578063ce9e1ce514610c39578063cf500bec14610c4f57600080fd5b8063a8b3ed71116100dc578063a8b3ed7114610aec578063a9d9985e14610b0c578063b0a0085114610b2c578063b4f931b114610bd957600080fd5b8063a1d1e56414610a8c578063a340f39e14610aac578063a81b574714610acc57600080fd5b806387311d8f1161017a57806395880bfe1161014957806395880bfe14610a2357806395ac51ce14610a3957806397849eb314610a595780639c1d990714610a7957600080fd5b806387311d8f146108ff5780638d91997e1461092c5780638f084d7c1461094c5780639118644314610a0357600080fd5b80637f27c67c116101b65780637f27c67c146108365780637fb38ab0146108495780638456cb59146108ca57806384c95d2a146108df57600080fd5b8063748365ef146107b95780637d87bc80146107f65780637de3766f1461081657600080fd5b80634cb97c18116102c15780635e636b6f1161025f5780636ef3da941161022e5780636ef3da94146107465780637012663e1461076657806372ec7eec146107795780637480911b1461079957600080fd5b80635e636b6f146106d357806361200f94146106f35780636305246e146107135780636710c3f21461073357600080fd5b80634f4841191161029b5780634f48411914610643578063502942cd1461067d57806355d93d491461069d5780635c975abb146106b057600080fd5b80634cb97c18146105bf5780634d1f0a8e146105d25780634f17e281146105f257600080fd5b80632ade1bf311610339578063474379701161030857806347437970146105015780634860ee39146105695780634940ecf01461058957806349751788146105a957600080fd5b80632ade1bf31461046d5780632cd13c001461048d5780633f4ba83a146104cc57806347176275146104e157600080fd5b80630cf274c6116103755780630cf274c6146103f15780631171bda91461041157806320cd669514610431578063297452621461044457600080fd5b806302b433731461039c57806302ece38a146103be578063068bce8d146103d1575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004615452565b610cef565b005b6103bc6103cc366004615452565b610f27565b3480156103dd57600080fd5b506103bc6103ec366004615502565b610f84565b3480156103fd57600080fd5b506103bc61040c3660046154b1565b61119b565b34801561041d57600080fd5b506103bc61042c366004615409565b6111f7565b6103bc61043f366004615482565b6112d4565b34801561045057600080fd5b5061045a60045481565b6040519081526020015b60405180910390f35b34801561047957600080fd5b506103bc6104883660046154d7565b611332565b34801561049957600080fd5b506008546104b490600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610464565b3480156104d857600080fd5b506103bc6114a8565b3480156104ed57600080fd5b506103bc6104fc366004615340565b6114ba565b34801561050d57600080fd5b5061054661051c366004615452565b600c6020526000908152604090208054600182015460029092015490916001600160a01b03169083565b604080519384526001600160a01b03909216602084015290820152606001610464565b34801561057557600080fd5b506103bc610584366004615502565b611666565b34801561059557600080fd5b506103bc6105a4366004615340565b6118c7565b3480156105b557600080fd5b5061045a60055481565b6103bc6105cd366004615482565b611adb565b3480156105de57600080fd5b506103bc6105ed3660046154d7565b611b30565b3480156105fe57600080fd5b5061062c61060d36600461525b565b600b602052600090815260409020805460019091015460ff9091169082565b604080519215158352602083019190915201610464565b34801561064f57600080fd5b5061062c61065e366004615452565b600a602052600090815260409020805460019091015460ff9091169082565b34801561068957600080fd5b506103bc6106983660046154d7565b611cc1565b6103bc6106ab366004615452565b611d70565b3480156106bc57600080fd5b5060015460ff166040519015158152602001610464565b3480156106df57600080fd5b506103bc6106ee36600461538e565b611dc5565b3480156106ff57600080fd5b506103bc61070e366004615293565b611f56565b34801561071f57600080fd5b506103bc61072e366004615452565b612049565b6103bc610741366004615482565b61208d565b34801561075257600080fd5b506103bc61076136600461525b565b6120e2565b6103bc610774366004615452565b612238565b34801561078557600080fd5b506103bc610794366004615452565b61228d565b3480156107a557600080fd5b506103bc6107b4366004615438565b61231a565b3480156107c557600080fd5b506001546107de9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610464565b34801561080257600080fd5b5061045a610811366004615452565b612370565b34801561082257600080fd5b506103bc610831366004615300565b612381565b6103bc610844366004615482565b6123e8565b34801561085557600080fd5b5061089b610864366004615452565b600960205260009081526040902080546001909101546001600160801b0380831692600160801b900416906001600160a01b031683565b604080516001600160801b0394851681529390921660208401526001600160a01b031690820152606001610464565b3480156108d657600080fd5b506103bc61243d565b3480156108eb57600080fd5b506002546107de906001600160a01b031681565b34801561090b57600080fd5b5061045a61091a366004615452565b600d6020526000908152604090205481565b34801561093857600080fd5b506103bc6109473660046154d7565b61244d565b34801561095857600080fd5b506109ba610967366004615452565b60076020526000908152604090208054600182015460028301546003909301546001600160a01b039283169392909116916001600160801b0380821692600160801b928390048216928282169291041686565b604080516001600160a01b0397881681529690951660208701526001600160801b03938416948601949094529082166060850152811660808401521660a082015260c001610464565b348015610a0f57600080fd5b506103bc610a1e366004615452565b6124c7565b348015610a2f57600080fd5b5061045a60065481565b348015610a4557600080fd5b506103bc610a54366004615452565b612504565b348015610a6557600080fd5b506003546107de906001600160a01b031681565b6103bc610a87366004615452565b612740565b348015610a9857600080fd5b506103bc610aa736600461525b565b612795565b348015610ab857600080fd5b506103bc610ac7366004615452565b6127f9565b348015610ad857600080fd5b506103bc610ae7366004615502565b612908565b348015610af857600080fd5b506103bc610b0736600461553d565b612c56565b348015610b1857600080fd5b506103bc610b27366004615452565b612f20565b348015610b3857600080fd5b50610b94610b47366004615452565b600e602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b90930481169216906001600160a01b03811690600160a01b900461ffff1685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160a01b0316606082015261ffff909116608082015260a001610464565b348015610be557600080fd5b506103bc610bf4366004615452565b6132cc565b348015610c0557600080fd5b506103bc610c143660046154d7565b613309565b348015610c2557600080fd5b506103bc610c34366004615452565b61347c565b348015610c4557600080fd5b5061045a600f5481565b348015610c5b57600080fd5b506103bc610c6a366004615438565b6135e4565b348015610c7b57600080fd5b506103bc610c8a3660046154d7565b61363a565b348015610c9b57600080fd5b506103bc610caa366004615452565b6138ec565b348015610cbb57600080fd5b506103bc610cca366004615502565b613b6a565b348015610cdb57600080fd5b506008546104b4906001600160801b031681565b60015460ff1615610d1b5760405162461bcd60e51b8152600401610d12906155d4565b60405180910390fd5b60026000541415610d3e5760405162461bcd60e51b8152600401610d1290615635565b60026000818155828152600760205260409020908101546001600160801b0316610d9e5760405162461bcd60e51b815260206004820152601160248201527027379030b1ba34bb329030bab1ba34b7b760791b6044820152606401610d12565b60028101546001600160801b03808216600160801b909204161015610df75760405162461bcd60e51b815260206004820152600f60248201526e14995cd95c9d99481b9bdd081b595d608a1b6044820152606401610d12565b6003810154600160801b90046001600160801b03164211610e5a5760405162461bcd60e51b815260206004820152601960248201527f42696464696e6720686173206e6f742079657420656e646564000000000000006044820152606401610d12565b6001818101548254600280850154600087815260076020526040812080546001600160a01b0319908116825596810180549097169096559185018290556003909401556001600160a01b0391821692911690600160801b90046001600160801b0316610ec885828585613cb1565b50604080518281526001600160a01b038085166020830152851681830152336060820152905186917fa0a548bb147d15d7de045c333ab8b0ec3d0cc790775d009185aa0e009437507e919081900360800190a250506001600055505050565b60015460ff1615610f4a5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415610f6d5760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c8133613cc9565b506001600055565b60015460ff1615610fa75760405162461bcd60e51b8152600401610d12906155d4565b6000838152600e6020526040902060028101546001600160a01b031633148061105f575060015460028201546001600160a01b036101009092048216916380371cce9116610ff23390565b6040518363ffffffff1660e01b815260040161100f92919061555e565b60206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105f91906153ed565b6110995760405162461bcd60e51b815260206004820152600b60248201526a27b7363c9039b2b63632b960a91b6044820152606401610d12565b6002810154600160a01b900461ffff16156110eb5760405162461bcd60e51b81526020600482015260126024820152714f6e6c79207768656e206e6f2073616c657360701b6044820152606401610d12565b600554836001600160801b0316101561113e5760405162461bcd60e51b8152602060048201526015602482015274084c2e6ca40e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b6001600160801b03838116600160801b9184169182028117835560408051918252602082019290925285917fca6f94d6cf7150ed49f5d1ccd677efd457310ccf201845261d9098a6877dcf3c91015b60405180910390a250505050565b6111a3613eb3565b6000838152600a6020908152604091829020805460ff191685151517815560018101849055915183815285917f3435d39114497a2c6d70dbcc09a4026fdaca4c8eb9661f55f026fd79c0a28508910161118d565b6111ff613eb3565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561124957600080fd5b505af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128191906153ed565b50816001600160a01b0316836001600160a01b03167f305fd4b7f973d3d7ee0074e0c7b4db74db3bbf0c21b17bf10e003985e4fc9f7b836040516112c791815260200190565b60405180910390a3505050565b60015460ff16156112f75760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561131a5760405162461bcd60e51b8152600401610d1290615635565b60026000556113298282613cc9565b50506001600055565b60015460ff16156113555760405162461bcd60e51b8152600401610d12906155d4565b6000828152600960205260409020600101546001600160a01b031633148061141a5750600180546000848152600960205260409020909101546001600160a01b036101009092048216916380371cce91166113ad3390565b6040518363ffffffff1660e01b81526004016113ca92919061555e565b60206040518083038186803b1580156113e257600080fd5b505afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a91906153ed565b6114365760405162461bcd60e51b8152600401610d1290615578565b600082815260096020908152604080832083815560010180546001600160a01b0319169055600d8252918290206001600160801b03841690819055915191825283917fc5cede647bcf791d83ff0ee63bb8ae1434f9795878081f8ad4b36ee1cb582aad91015b60405180910390a25050565b6114b0613eb3565b6114b8613f80565b565b60015460ff16156114dd5760405162461bcd60e51b8152600401610d12906155d4565b6114e683614013565b6115325760405162461bcd60e51b815260206004820152601860248201527f4c697374696e67206973206e6f74207065726d697474656400000000000000006044820152606401610d12565b61153b83614025565b6115875760405162461bcd60e51b815260206004820152601760248201527f427579206e6f77206c697374696e6720696e76616c69640000000000000000006044820152606401610d12565b600554826001600160801b031610156115b25760405162461bcd60e51b8152600401610d12906155fe565b60408051606080820183526001600160801b0385811680845285821660208086018281526001600160a01b038c8116888a0181815260008e8152600986528b9020995193518816600160801b0293909716929092178855945160019097018054979095166001600160a01b0319909716969096179093558551918252918101939093529282019290925284917f7fd7de54b3a4cc7952845fd3fa85208e0ba980067ead6d59721bebc8bd7ec414910161118d565b600260005414156116895760405162461bcd60e51b8152600401610d1290615635565b600260005560015460ff16156116b15760405162461bcd60e51b8152600401610d12906155d4565b6000838152600e602052604090206005546001600160801b03841610156117125760405162461bcd60e51b8152602060048201526015602482015274098d2e6e840e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b60028101546001600160a01b03163314806117bc575060015460028201546001600160a01b036101009092048216916380371cce911661174f3390565b6040518363ffffffff1660e01b815260040161176c92919061555e565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc91906153ed565b6117d85760405162461bcd60e51b8152600401610d1290615578565b604080516060810182526001600160801b03858116808352858216602080850182815260028801546001600160a01b0390811687890190815260008d815260098552899020975192518716600160801b0292909616919091178655935160019095018054959094166001600160a01b03199095169490941790925583519081529182015285917f3ed14e51a13ebed8bcb36a692319d51c90603eef8a9b49835ed0f77909e6bdc6910160405180910390a25050506000908152600e60205260408120818155600180820180546001600160801b0319169055600290910180546001600160b01b03191690559055565b60015460ff16156118ea5760405162461bcd60e51b8152600401610d12906155d4565b6118f383614013565b6119375760405162461bcd60e51b8152602060048201526015602482015274131a5cdd1a5b99c81b9bdd081c195c9b5a5d1d1959605a1b6044820152606401610d12565b611940836140b7565b61198c5760405162461bcd60e51b815260206004820152601d60248201527f52657365727665206c697374696e67206e6f74207065726d69747465640000006044820152606401610d12565b600554826001600160801b031610156119f65760405162461bcd60e51b815260206004820152602660248201527f52657365727665207072696365206d757374206265206174206c65617374206d6044820152651a5b88189a5960d21b6064820152608401610d12565b6040805160c0810182526001600160a01b038681168252600060208084018281526001600160801b03888116868801818152606088018681528a841660808a0181815260a08b018981528f8a5260078952988c90209a518b54908b166001600160a01b0319918216178c55965160018c01805491909b16971696909617909855905190518316600160801b90810291841691909117600289015592519451821690920293169290921760039094019390935583519081529182015284917fcd712ccc5669f36ad4dfb9acf905087c4b438eabe53e24c858c72bfa0515cb98910161118d565b60015460ff1615611afe5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611b215760405162461bcd60e51b8152600401610d1290615635565b6002600055611329828261415a565b60015460ff1615611b535760405162461bcd60e51b8152600401610d12906155d4565b6000828152600960205260409020600101546001600160a01b0316331480611c185750600180546000848152600960205260409020909101546001600160a01b036101009092048216916380371cce9116611bab3390565b6040518363ffffffff1660e01b8152600401611bc892919061555e565b60206040518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1891906153ed565b611c645760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c792073656c6c65722063616e206368616e6765207072696365000000006044820152606401610d12565b60008281526009602090815260409182902080546001600160801b0319166001600160801b038516908117909155915191825283917f2acf0b64eca25e79ecb9831cce1c9045dce27614bb88deb1cc5b435e87278cdb910161149c565b60015460ff1615611ce45760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611d075760405162461bcd60e51b8152600401610d1290615635565b6002600055611d15826143c4565b6000828152600d60209081526040918290206001600160801b03841690819055915191825283917f5ad253cc2bfa6797b2f1b2a45aa1b0e961d3c6ff8090cc72122c1745d3e84101910160405180910390a250506001600055565b60015460ff1615611d935760405162461bcd60e51b8152600401610d12906155d4565b60026000541415611db65760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c813361415a565b60015460ff1615611de85760405162461bcd60e51b8152600401610d12906155d4565b611df0614570565b600554836001600160801b03161015611e435760405162461bcd60e51b8152602060048201526015602482015274084c2e6ca40e0e4d2c6ca40dcdee840cadcdeeaced605b1b6044820152606401610d12565b6040805160a0810182526001600160801b03808616825284811660208084019182528583168486019081526001600160a01b03808c16606087019081526000608088018181528d8252600e909552889020965194518616600160801b029486169490941786559051600186018054919095166001600160801b03199190911617909355905160029093018054915161ffff16600160a01b026001600160b01b031990921693909216929092179190911790555184907fde833f743c6e9e4ce17e0e6662f66d3af9ecba83780a7c10cd54ffa7b049562e90611f47908690869086906001600160801b0393841681529183166020830152909116604082015260600190565b60405180910390a25050505050565b611f5e613eb3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611fab576040519150601f19603f3d011682016040523d82523d6000602084013e611fb0565b606091505b50509050806120015760405162461bcd60e51b815260206004820152601c60248201527f556e61626c6520746f2073656e6420726563697069656e7420455448000000006044820152606401610d12565b826001600160a01b03167f4d688afe1abc567d30e199aa99174c72a9653aec3e1e87dd2b5e60ed469fad558360405161203c91815260200190565b60405180910390a2505050565b612051613eb3565b60058190556040518181527f0e782e841a04fe2a18adf67ea33f1becfdca41420dee80c4c28d966524f2e6e7906020015b60405180910390a150565b60015460ff16156120b05760405162461bcd60e51b8152600401610d12906155d4565b600260005414156120d35760405162461bcd60e51b8152600401610d1290615635565b60026000556113298282614640565b6120ea613eb3565b6001600160a01b03811663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561213957600080fd5b505afa15801561214d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217191906153ed565b6121d15760405162461bcd60e51b815260206004820152602b60248201527f53656e646572206d75737420686176652061646d696e20726f6c6520696e206e60448201526a195dc818dbdb9d1c9858dd60aa1b6064820152608401610d12565b6001546040516001600160a01b0380841692610100900416907facd428448d30f3fadee1e7d643a28cfee0ec86aef546e1cfc717d844b99eedf290600090a3600180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60015460ff161561225b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561227e5760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c81336147c1565b612295613eb3565b600081116122e55760405162461bcd60e51b815260206004820152601b60248201527f4d6f64756c6f20706f696e742063616e6e6f74206265207a65726f00000000006044820152606401610d12565b60048190556040518181527f0974c11e488a74018e3da44e0750b7d0ec99a431c45f79a6110d722b823d0af090602001612082565b612322613eb3565b600880546001600160801b03908116600160801b918416918202179091556040519081527fa076ed7cc197f8c245d58d44bfdc92180b22f8e3ddd247c45ee0e84f79f7b2bd90602001612082565b600061237b82614b3a565b92915050565b612389613eb3565b6001600160a01b0383166000818152600b6020908152604091829020805460ff19168615151781556001810185905591518481529192917f036d5b8a890813b20be995ed13873cba592f6933b7f9c5d342b258f72ede6e78910161118d565b60015460ff161561240b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561242e5760405162461bcd60e51b8152600401610d1290615635565b600260005561132982826147c1565b612445613eb3565b6114b8614b98565b60015460ff16156124705760405162461bcd60e51b8152600401610d12906155d4565b612478614570565b6000828152600d60209081526040918290206001600160801b03841690819055915191825283917f252bfd97a791429cb820c48af9674adf004431519d80a5d86fafdfb06863492c910161149c565b6124cf613eb3565b60068190556040518181527f46b8c32fce68a5f2dff628d3b2cf9374788f42ea33b343728a64a3b090b4479e90602001612082565b60015460ff16156125275760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561254a5760405162461bcd60e51b8152600401610d1290615635565b60026000818155828152600760205260409020908101546001600160801b03166125b65760405162461bcd60e51b815260206004820152601c60248201527f4e6f20726573657276652061756374696f6e20696e20666c69676874000000006044820152606401610d12565b60028101546001600160801b03808216600160801b90920416106126325760405162461bcd60e51b815260206004820152602d60248201527f426964732063616e206f6e6c792062652077697468647261776e20696620726560448201526c1cd95c9d99481b9bdd081b595d609a1b6064820152608401610d12565b60018101546001600160a01b0316331461269d5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206269646465722063616e207769746864726177207468656044820152651a5c88189a5960d21b6064820152608401610d12565b60028101546001820154600160801b9091046001600160801b0316906126d19084906001600160a01b031683600080614bee565b6001820180546001600160a01b03191690556002820180546001600160801b039081169091556040805185815233602082015291831682820152517fd1d72c9a0832cf3726713b61a67a8f1656cc01385640d04f1155b000d1b7b7519181900360600190a15050600160005550565b60015460ff16156127635760405162461bcd60e51b8152600401610d12906155d4565b600260005414156127865760405162461bcd60e51b8152600401610d1290615635565b6002600055610f7c8133614640565b61279d613eb3565b6003546040516001600160a01b038084169216907f0dcf4ed468afaf8b36d6f5982788e2b86c18a544e7fb05803a79f67cd097d59190600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b612801613eb3565b600260005414156128245760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902060018101546001600160a01b03166128615760405162461bcd60e51b8152600401610d12906155af565b80541561288957600181015481546128899184916001600160a01b0390911690600080614bee565b60018101548154604080516001600160a01b039093168352602083019190915283917fdd21daffb84ed4431b50ed9dedcd5e0cf1f96a4cc5976fefb4be54d43be3728191015b60405180910390a2506000908152600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff161561292b5760405162461bcd60e51b8152600401610d12906155d4565b6002600054141561294e5760405162461bcd60e51b8152600401610d1290615635565b600260005561295c83614cff565b1561299d5760405162461bcd60e51b815260206004820152601160248201527011591a5d1a5bdb881a5cc81b1a5cdd1959607a1b6044820152606401610d12565b60025460405163d41911d760e01b8152600481018590526000916001600160a01b03169063d41911d79060240160206040518083038186803b1580156129e257600080fd5b505afa1580156129f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1a9190615277565b90506001600160a01b038116331480612ab3575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401612a6392919061555e565b60206040518083038186803b158015612a7b57600080fd5b505afa158015612a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab391906153ed565b612aed5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610d12565b600554836001600160801b03161015612b185760405162461bcd60e51b8152600401610d12906155fe565b6000848152600c60205260409020805415612b4e5760018101548154612b4e9187916001600160a01b0390911690600080614bee565b6000858152600c602090815260408083208381556001810180546001600160a01b0319169055600201839055600d82528083209290925581516060810183526001600160801b038781168252861691810191909152908101336001600160a01b039081169091526000878152600960209081526040918290208451858301516001600160801b03918216600160801b9183169190910217825594830151600190910180546001600160a01b0319169190941617909255805188815287841692810192909252918516918101919091527f4ee58f1b139dbfa3b12ee1fc57ad8d513b35c670477df6dfde35944346b1d1949060600160405180910390a150506001600055505050565b60015460ff1615612c795760405162461bcd60e51b8152600401610d12906155d4565b60026000541415612c9c5760405162461bcd60e51b8152600401610d1290615635565b60026000908155828152600c6020526040902060018101546001600160a01b0316612cd95760405162461bcd60e51b8152600401610d12906155af565b8054821115612d2a5760405162461bcd60e51b815260206004820152601760248201527f4f6666657220707269636520686173206368616e6765640000000000000000006044820152606401610d12565b60025460405163d41911d760e01b8152600481018590526000916001600160a01b03169063d41911d79060240160206040518083038186803b158015612d6f57600080fd5b505afa158015612d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da79190615277565b90506001600160a01b038116331480612e40575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401612df092919061555e565b60206040518083038186803b158015612e0857600080fd5b505afa158015612e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4091906153ed565b612e7a5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610d12565b81546001830154600091612e9a918791906001600160a01b031684614d7c565b60018401548454604080516001600160a01b0390931683526020830191909152919250829187917fbb5456559b0c90450f12de9d601e1470b0edb240c3425838360bd25412e6b8be910160405180910390a3505050600091825250600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff1615612f435760405162461bcd60e51b8152600401610d12906155d4565b60026000541415612f665760405162461bcd60e51b8152600401610d1290615635565b6002600081815582815260076020526040902090810154600160801b90046001600160801b0316612fcc5760405162461bcd60e51b815260206004820152601060248201526f139bc8189a59081a5b88199b1a59da1d60821b6044820152606401610d12565b612fd582614f14565b6130475760405162461bcd60e51b815260206004820152603b60248201527f4269642063616e6e6f742062652077697468647261776e20617320726573657260448201527f76652061756374696f6e206c697374696e672069732076616c696400000000006064820152608401610d12565b80546001820154336001600160a01b0392831681149290911614818061306a5750805b80613101575060015483546001600160a01b036101009092048216916380371cce91166130943390565b6040518363ffffffff1660e01b81526004016130b192919061555e565b60206040518083038186803b1580156130c957600080fd5b505afa1580156130dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061310191906153ed565b80613195575060015461010090046001600160a01b0316633d3d6fe2336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561315d57600080fd5b505afa158015613171573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319591906153ed565b6131f95760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792073656c6c65722c206269646465722c20636f6e7472616374206f7260448201526e10383630ba3337b9369030b236b4b760891b6064820152608401610d12565b6001830154600284015461322d9186916001600160a01b0390911690600160801b90046001600160801b0316600080614bee565b60018301546002840154604080516001600160a01b039093168352600160801b9091046001600160801b0316602083015285917f5254bc5658a9d8a2b41347762f2b035d708f4be1013ab8fb33922576e24570fe910160405180910390a2505050600090815260076020526040812080546001600160a01b03199081168255600180830180549092169091556002820183905560039091018290559055565b6132d4613eb3565b600f8190556040518181527fddddb61577530b164743cafe83935aeddb8888d7de39faeea75fd888bd1dcc7590602001612082565b60015460ff161561332c5760405162461bcd60e51b8152600401610d12906155d4565b6000828152600e6020526040902060028101546001600160a01b03163314806133e4575060015460028201546001600160a01b036101009092048216916380371cce91166133773390565b6040518363ffffffff1660e01b815260040161339492919061555e565b60206040518083038186803b1580156133ac57600080fd5b505afa1580156133c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e491906153ed565b6134005760405162461bcd60e51b8152600401610d1290615578565b6000838152600d602090815260408083206001600160801b03861690819055600e83528184209384556001840180546001600160801b0319169055600290930180546001600160b01b03191690555191825284917fc5cede647bcf791d83ff0ee63bb8ae1434f9795878081f8ad4b36ee1cb582aad910161203c565b60015460ff161561349f5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156134c25760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902080546134f35760405162461bcd60e51b8152600401610d12906155af565b60018101546001600160a01b031633146135445760405162461bcd60e51b81526020600482015260126024820152712737ba103a3432903a37b8103134b23232b960711b6044820152606401610d12565b80600201544210156135915760405162461bcd60e51b8152602060048201526016602482015275109a59081b1bd8dadd5c081b9bdd08195b185c1cd95960521b6044820152606401610d12565b600181015481546135b29184916001600160a01b0390911690600080614bee565b60405133815282907f2ed9db6d233a11ddbebd6f8b9e9ee561a991b8ab9a839ad4eb724d8397b3cff6906020016128cf565b6135ec613eb3565b600880546001600160801b0319166001600160801b0383169081179091556040519081527f0db06cc6a30966b8f617c70443f80200492161af831f75a335f3c3820e71bacd90602001612082565b60015460ff161561365d5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156136805760405162461bcd60e51b8152600401610d1290615635565b6002600090815582815260076020526040902080546001600160a01b0316331480613737575060015481546001600160a01b036101009092048216916380371cce91166136ca3390565b6040518363ffffffff1660e01b81526004016136e792919061555e565b60206040518083038186803b1580156136ff57600080fd5b505afa158015613713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373791906153ed565b6137745760405162461bcd60e51b815260206004820152600e60248201526d2737ba103a34329039b2b63632b960911b6044820152606401610d12565b6003810154600160801b90046001600160801b0316156137d65760405162461bcd60e51b815260206004820152601b60248201527f5265736572766520636f756e74646f776e20636f6d6d656e63656400000000006044820152606401610d12565b600554826001600160801b031610156138315760405162461bcd60e51b815260206004820181905260248201527f52657365727665206d757374206265206174206c65617374206d696e206269646044820152606401610d12565b60028101546001600160801b03808416600160801b909204161061388c5760085461386c90600160801b90046001600160801b03164261566c565b6003820180546001600160801b03928316600160801b0292169190911790555b6002810180546001600160801b0319166001600160801b03841690811790915560405190815283907f87c77544fe96aeb9a3a6398d27ed891f9532d66ef82444a0a56aab18a58bbece906020015b60405180910390a25050600160005550565b60015460ff161561390f5760405162461bcd60e51b8152600401610d12906155d4565b600260005414156139325760405162461bcd60e51b8152600401610d1290615635565b60026000908155818152600c6020526040902060018101546001600160a01b031661396f5760405162461bcd60e51b8152600401610d12906155af565b60025460405163d41911d760e01b8152600481018490526000916001600160a01b03169063d41911d79060240160206040518083038186803b1580156139b457600080fd5b505afa1580156139c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ec9190615277565b90506001600160a01b038116331480613a85575060015461010090046001600160a01b03166380371cce82336040518363ffffffff1660e01b8152600401613a3592919061555e565b60206040518083038186803b158015613a4d57600080fd5b505afa158015613a61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a8591906153ed565b613aca5760405162461bcd60e51b815260206004820152601660248201527521b0b63632b9103737ba103a34329031b932b0ba37b960511b6044820152606401610d12565b60018201548254613aeb9185916001600160a01b0390911690600080614bee565b60018201548254604080516001600160a01b039093168352602083019190915284917fdd21daffb84ed4431b50ed9dedcd5e0cf1f96a4cc5976fefb4be54d43be37281910160405180910390a250506000908152600c60205260408120818155600180820180546001600160a01b031916905560029091018290559055565b60015460ff1615613b8d5760405162461bcd60e51b8152600401610d12906155d4565b60026000541415613bb05760405162461bcd60e51b8152600401610d1290615635565b60026000556005546001600160801b0383161015613be05760405162461bcd60e51b8152600401610d12906155fe565b613be9836143c4565b6040518060600160405280836001600160801b03168152602001826001600160801b03168152602001613c193390565b6001600160a01b039081169091526000858152600960209081526040918290208451858301516001600160801b03918216600160801b9183169190910217825594830151600190910180546001600160a01b0319169190941617909255805185841681529284169183019190915284917f926bdcbf39866f134eede353f606580c48749e851283a077fde2912543b659df91016138da565b6000613cc08585856000614d7c565b95945050505050565b613cd282614cff565b15613d135760405162461bcd60e51b815260206004820152601160248201527011591a5d1a5bdb881a5cc81b1a5cdd1959607a1b6044820152606401610d12565b6000828152600c602052604090206005548154613d3091906156b4565b341015613d755760405162461bcd60e51b8152602060048201526013602482015272084d2c840dcdee840d0d2ced040cadcdeeaced606b1b6044820152606401610d12565b6000838152600d60205260409020548015613dea5780421015613dda5760405162461bcd60e51b815260206004820152601860248201527f4e6f742079657420616363657074696e67206f666665727300000000000000006044820152606401610d12565b6000848152600d60205260408120555b815415613e115760018201548254613e119186916001600160a01b03909116903334614bee565b6040518060600160405280348152602001846001600160a01b03168152602001613e39615037565b90526000858152600c602090815260409182902083518155838201516001820180546001600160a01b0319166001600160a01b039283161790559383015160029091015581519286168352349083015285917f823a6e5c949aae9db807fd853796d0cf551fda5395f20faa534a3a2ef7149b9b910161118d565b60015461010090046001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015613f0957600080fd5b505afa158015613f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4191906153ed565b6114b85760405162461bcd60e51b815260206004820152601060248201526f21b0b63632b9103737ba1030b236b4b760811b6044820152606401610d12565b60015460ff16613fc95760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610d12565b6001805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600061401e82614cff565b1592915050565b60015460009061010090046001600160a01b0316638c481207335b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561407f57600080fd5b505afa158015614093573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237b91906153ed565b6002546040516346c8e19d60e11b8152600481018390526000916001600160a01b031690638d91c33a9060240160206040518083038186803b1580156140fc57600080fd5b505afa158015614110573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614134919061546a565b600114801561237b575060015461010090046001600160a01b0316638c48120733614040565b6000828152600e6020526040902060028101546001600160a01b03166141d15760405162461bcd60e51b815260206004820152602660248201527f45646974696f6e206e6f74206c697374656420666f72207374657070656420616044820152653ab1ba34b7b760d11b6064820152608401610d12565b6001810154426001600160801b0390911611156142225760405162461bcd60e51b815260206004820152600f60248201526e139bdd081cdd185c9d1959081e595d608a1b6044820152606401610d12565b600061422d84614b3a565b9050803410156142785760405162461bcd60e51b8152602060048201526016602482015275115e1c1958dd1959081c1c9a58d9481b9bdd081b595d60521b6044820152606401610d12565b60006142878583866001614d7c565b6002840154909150600160a01b900461ffff166142a5816001615697565b8460020160146101000a81548161ffff021916908361ffff1602179055508234111561436c576000336142d88534615733565b604051600081818185875af1925050503d8060008114614314576040519150601f19603f3d011682016040523d82523d6000602084013e614319565b606091505b505090508061436a5760405162461bcd60e51b815260206004820152601d60248201527f6661696c656420746f2073656e64206f7665727370656e64206261636b0000006044820152606401610d12565b505b604080516001600160a01b03871681526020810185905261ffff8316818301529051839188917f41820cf4351ec738da5f8ada46c5a38d78c6aeaa3039cb1dddcf1ea6853dd3439181900360600190a3505050505050565b600081815260076020526040902060028101546001600160801b03166144205760405162461bcd60e51b815260206004820152601160248201527027379030b1ba34bb329030bab1ba34b7b760791b6044820152606401610d12565b60028101546001600160801b03808216600160801b90920416106144925760405162461bcd60e51b815260206004820152602360248201527f43616e206f6e6c7920636f6e76657274206265666f72652072657365727665206044820152621b595d60ea1b6064820152608401610d12565b80546001600160a01b031633146144eb5760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79207468652073656c6c65722063616e20636f6e7665727400000000006044820152606401610d12565b6002810154600160801b90046001600160801b03161561453957600181015460028201546145399184916001600160a01b0390911690600160801b90046001600160801b0316600080614bee565b50600090815260076020526040812080546001600160a01b0319908116825560018201805490911690556002810182905560030155565b60015461010090046001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156145c657600080fd5b505afa1580156145da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145fe91906153ed565b6114b85760405162461bcd60e51b815260206004820152601360248201527210d85b1b195c881b9bdd0818dbdb9d1c9858dd606a1b6044820152606401610d12565b600082815260096020526040902060018101546001600160a01b031661469b5760405162461bcd60e51b815260206004820152601060248201526f139bc81b1a5cdd1a5b99c8199bdd5b9960821b6044820152606401610d12565b80546001600160801b03163410156146f55760405162461bcd60e51b815260206004820152601860248201527f4c697374207072696365206e6f742073617469736669656400000000000000006044820152606401610d12565b8054600160801b90046001600160801b031642101561474f5760405162461bcd60e51b8152602060048201526016602482015275131a5cdd081b9bdd08185d985a5b18589b19481e595d60521b6044820152606401610d12565b600181015460009061476f908590349086906001600160a01b0316613cb1565b6001830154604080516001600160a01b0380881682529092166020830152349082015290915081907f25a395eca5bca1a1ca0c1543a3e87384fabcf63100e03535276da15f838805b29060600161118d565b600082815260076020526040902060028101546001600160801b03166148295760405162461bcd60e51b815260206004820152601e60248201527f4e6f742073657420757020666f7220726573657276652061756374696f6e00006044820152606401610d12565b60038101546001600160801b031642101561487f5760405162461bcd60e51b8152602060048201526016602482015275139bdd081858d8d95c1d1a5b99c8189a591cc81e595d60521b6044820152606401610d12565b60055460028201546148a19190600160801b90046001600160801b03166156b4565b34101561490d5760405162461bcd60e51b815260206004820152603460248201527f596f752068617665206e6f742065786365656465642070726576696f757320626044820152731a5908189e481b5a5b88189a5908185b5bdd5b9d60621b6064820152608401610d12565b600381015460028201546001600160801b03600160801b9092048216918215159116341080159061493c575080155b156149825760085461495e90600160801b90046001600160801b03164261566c565b6003840180546001600160801b03928316600160801b029216919091179055614a4c565b8015614a4c57816001600160801b031642106149e05760405162461bcd60e51b815260206004820152601860248201527f4e6f206c6f6e67657220616363657074696e67206269647300000000000000006044820152606401610d12565b60006149ec428461570b565b6008549091506001600160801b0390811690821611614a4a576008546003850154614a2a916001600160801b0390811691600160801b90041661566c565b6003850180546001600160801b03928316600160801b0292169190911790555b505b6002830154600160801b90046001600160801b031615614a995760018301546002840154614a999187916001600160a01b0390911690600160801b90046001600160801b03168734614bee565b6002830180546001600160801b03908116600160801b348084168202929092179093556001860180546001600160a01b0319166001600160a01b038981169182179092558754600389015460408051929094168252602082019290925291820192909252858316606082015292900416608082015285907f0dacabc07ffe733bf314aba914422a6efa538ba8f6885bbd1ee3275c3b3f389d9060a001611f47565b6000818152600e60205260408120600281015481548391614b7791600160a01b90910461ffff1690600160801b90046001600160801b03166156ec565b8254909150614b909082906001600160801b03166156b4565b949350505050565b60015460ff1615614bbb5760405162461bcd60e51b8152600401610d12906155d4565b6001805460ff1916811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833613ff6565b6000846001600160a01b03168460405160006040518083038185875af1925050503d8060008114614c3b576040519150601f19603f3d011682016040523d82523d6000602084013e614c40565b606091505b5050905080614ca257604080516001600160a01b0387811682526020820187905285168183015260608101849052905187917f437414bccea896dfde9665f76dd6cbde1ec21a65c6e8bcd2afb4e9b0fb0ea196919081900360800190a2614cf7565b604080516001600160a01b0387811682526020820187905285168183015260608101849052905187917f0769c15e91f18239b38add21faad4a6ba30cd8f93aed73984c02d766af4970f4919081900360800190a25b505050505050565b6000818152600960205260408120600101546001600160a01b031615614d2757506001919050565b6000828152600e60205260409020600201546001600160a01b031615614d4f57506001919050565b6000828152600760205260409020546001600160a01b031615614d7457506001919050565b506000919050565b60008060008084614e0a576002546040516338896da960e01b8152600481018a90526001600160a01b03909116906338896da990602401606060405180830381600087803b158015614dcd57600080fd5b505af1158015614de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e0591906152be565b614e88565b60025460405163634a209360e01b8152600481018a90526001600160a01b039091169063634a209390602401606060405180830381600087803b158015614e5057600080fd5b505af1158015614e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e8891906152be565b925092509250614e9a8883858a61504c565b600254604051632142170760e11b81526001600160a01b038481166004830152888116602483015260448201849052909116906342842e0e90606401600060405180830381600087803b158015614ef057600080fd5b505af1158015614f04573d6000803e3d6000fd5b50929a9950505050505050505050565b60025460008281526007602052604080822054905163e985e9c560e01b8152919283926001600160a01b039182169263e985e9c592614f5a92911690309060040161555e565b60206040518083038186803b158015614f7257600080fd5b505afa158015614f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614faa91906153ed565b9050801580615030575060025460405163e35ed67f60e01b8152600481018590526001600160a01b039091169063e35ed67f9060240160206040518083038186803b158015614ff857600080fd5b505afa15801561500c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061503091906153ed565b9392505050565b60006006544261504791906156b4565b905090565b6000848152600a602052604081205460ff161561507b57506000848152600a60205260409020600101546150c3565b6001600160a01b0384166000908152600b602052604090205460ff16156150be57506001600160a01b0383166000908152600b60205260409020600101546150c3565b50600f545b600081600454846150d491906156cc565b6150de91906156ec565b90508015615195576003546040516000916001600160a01b03169083908381818185875af1925050503d8060008114615133576040519150601f19603f3d011682016040523d82523d6000602084013e615138565b606091505b50509050806151935760405162461bcd60e51b815260206004820152602160248201527f45646974696f6e20636f6d6d697373696f6e207061796d656e74206661696c656044820152601960fa1b6064820152608401610d12565b505b60006001600160a01b0385166151ab8386615733565b604051600081818185875af1925050503d80600081146151e7576040519150601f19603f3d011682016040523d82523d6000602084013e6151ec565b606091505b50509050806152365760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb881c185e5b595b9d0819985a5b195960521b6044820152606401610d12565b50505050505050565b80356001600160801b038116811461525657600080fd5b919050565b60006020828403121561526c578081fd5b813561503081615760565b600060208284031215615288578081fd5b815161503081615760565b600080604083850312156152a5578081fd5b82356152b081615760565b946020939093013593505050565b6000806000606084860312156152d2578081fd5b83516152dd81615760565b60208501519093506152ee81615760565b80925050604084015190509250925092565b600080600060608486031215615314578283fd5b833561531f81615760565b9250602084013561532f81615778565b929592945050506040919091013590565b60008060008060808587031215615355578081fd5b843561536081615760565b9350602085013592506153756040860161523f565b91506153836060860161523f565b905092959194509250565b600080600080600060a086880312156153a5578081fd5b85356153b081615760565b9450602086013593506153c56040870161523f565b92506153d36060870161523f565b91506153e16080870161523f565b90509295509295909350565b6000602082840312156153fe578081fd5b815161503081615778565b60008060006060848603121561541d578283fd5b833561542881615760565b9250602084013561532f81615760565b600060208284031215615449578081fd5b6150308261523f565b600060208284031215615463578081fd5b5035919050565b60006020828403121561547b578081fd5b5051919050565b60008060408385031215615494578182fd5b8235915060208301356154a681615760565b809150509250929050565b6000806000606084860312156154c5578081fd5b83359250602084013561532f81615778565b600080604083850312156154e9578182fd5b823591506154f96020840161523f565b90509250929050565b600080600060608486031215615516578081fd5b833592506155266020850161523f565b91506155346040850161523f565b90509250925092565b6000806040838503121561554f578182fd5b50508035926020909101359150565b6001600160a01b0392831681529116602082015260400190565b60208082526017908201527f4f6e6c792073656c6c65722063616e20636f6e76657274000000000000000000604082015260600190565b6020808252600b908201526a139bc81bdc195b88189a5960aa1b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526018908201527f4c697374696e67207072696365206e6f7420656e6f7567680000000000000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006001600160801b0380831681851680830382111561568e5761568e61574a565b01949350505050565b600061ffff80831681851680830382111561568e5761568e61574a565b600082198211156156c7576156c761574a565b500190565b6000826156e757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156157065761570661574a565b500290565b60006001600160801b038381169083168181101561572b5761572b61574a565b039392505050565b6000828210156157455761574561574a565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461577557600080fd5b50565b801515811461577557600080fdfea2646970667358221220259cf77f06931a3032205863c4f37067b8747c4c3a47f1800aec4c48eb4145e664736f6c634300080400330000000000000000000000009028b16494a9363f3eaaf381a6fde67296abc68c000000000000000000000000abb3738f04dc2ec20f4ae4462c3d069d02ae045b000000000000000000000000de9e5ee9e7cd43399969cfb1c0e5596778c6464f