UNPKG

@layerzerolabs/oft-alt-evm

Version:

LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation

1 lines 80.2 kB
{"abi":[{"type":"constructor","inputs":[{"name":"_priceUpdater","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ARBITRUM_COMPRESSION_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"arbitrumPriceExt","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByChain","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"priceRatio","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByEid","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeOnSend","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"payable"},{"type":"function","name":"getFee","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPriceRatioDenominator","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"nativeTokenPriceUSD","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"priceUpdater","inputs":[{"name":"updater","type":"address","internalType":"address"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrumCompressionPercent","inputs":[{"name":"_compressionPercent","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEndpoint","inputs":[{"name":"_endpoint","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNativeTokenPriceUSD","inputs":[{"name":"_nativeTokenPriceUSD","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrice","inputs":[{"name":"_price","type":"tuple[]","internalType":"struct ILayerZeroPriceFeed.UpdatePrice[]","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceForArbitrum","inputs":[{"name":"_update","type":"tuple","internalType":"struct ILayerZeroPriceFeed.UpdatePriceExt","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]},{"name":"extend","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceRatioDenominator","inputs":[{"name":"_denominator","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceUpdater","inputs":[{"name":"_addr","type":"address","internalType":"address"},{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawFee","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"LZ_PriceFeed_InsufficientFee","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"required","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LZ_PriceFeed_NotAnOPStack","inputs":[{"name":"l2Eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"LZ_PriceFeed_OnlyPriceUpdater","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Transfer_NativeFailed","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Transfer_ToAddressIsZero","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506040516200196d3803806200196d83398101604081905261003091610108565b338061005557604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005e816100b9565b506001600160a01b03165f908152600260205260409020805460ff1916600190811790915580546001600160801b03191668056bc75e2d6310000017905560058054602f60801b6001600160801b0391909116179055610135565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610118575f80fd5b81516001600160a01b038116811461012e575f80fd5b9392505050565b61182a80620001435f395ff3fe608060405260043610610178575f3560e01c80638ca2fb08116100d1578063d350ad251161007c578063e0ad121a11610057578063e0ad121a14610607578063f2fde38b146106ba578063fd9be522146106d9575f80fd5b8063d350ad25146104d4578063da26663a146104f3578063dbbb4155146105e8575f80fd5b8063c1723a1d116100ac578063c1723a1d1461045f578063c184032714610472578063cd68b79b14610498575f80fd5b80638ca2fb08146103b55780638da5cb5b146103f357806392807f581461041c575f80fd5b80635d6d7ccb116101315780637bc3c9ab1161010c5780637bc3c9ab146102fa5780637dc438a41461033f57806388a4124c1461035e575f80fd5b80635d6d7ccb146102765780635e280f1114610295578063715018a6146102e6575f80fd5b80633161b7f6116101615780633161b7f6146101d257806336a5beba146101f157806352a7251014610257575f80fd5b806311f2c3431461017c5780632f7cb0b4146101b1575b5f80fd5b348015610187575f80fd5b5061019e61019636600461145a565b5f9392505050565b6040519081526020015b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046114a9565b6106f8565b005b3480156101dd575f80fd5b506101d06101ec3660046114c9565b610735565b3480156101fc575f80fd5b506040805180820182525f8082526020918201528151808301835260045467ffffffffffffffff811680835263ffffffff680100000000000000009092048216928401928352845190815291511691810191909152016101a8565b348015610262575f80fd5b506101d061027136600461155b565b610901565b348015610281575f80fd5b506101d06102903660046114a9565b61095e565b3480156102a0575f80fd5b506006546102c19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102f1575f80fd5b506101d0610a23565b348015610305575f80fd5b506103196103143660046115a5565b610a36565b604080519283526fffffffffffffffffffffffffffffffff9091166020830152016101a8565b34801561034a575f80fd5b506101d06103593660046115c0565b610ad0565b348015610369575f80fd5b5061037d61037836600461145a565b610bd9565b604080519485526fffffffffffffffffffffffffffffffff9384166020860152918316918401919091521660608201526080016101a8565b3480156103c0575f80fd5b506103e36103cf3660046115d6565b60026020525f908152604090205460ff1681565b60405190151581526020016101a8565b3480156103fe575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff166102c1565b348015610427575f80fd5b506005546fffffffffffffffffffffffffffffffff165b6040516fffffffffffffffffffffffffffffffff90911681526020016101a8565b61037d61046d36600461145a565b610bf9565b34801561047d575f80fd5b506001546fffffffffffffffffffffffffffffffff1661043e565b3480156104a3575f80fd5b5060055461043e9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b3480156104df575f80fd5b506101d06104ee3660046114a9565b610c29565b3480156104fe575f80fd5b506105a461050d3660046115ef565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff169282019290925278010000000000000000000000000000000000000000000000009091049092169082015290565b6040805182516fffffffffffffffffffffffffffffffff16815260208084015167ffffffffffffffff16908201529181015163ffffffff16908201526060016101a8565b3480156105f3575f80fd5b506101d06106023660046115d6565b610c74565b348015610612575f80fd5b506105a4610621366004611608565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546fffffffffffffffffffffffffffffffff8116845267ffffffffffffffff700100000000000000000000000000000000820416918401919091527801000000000000000000000000000000000000000000000000900463ffffffff169082015290565b3480156106c5575f80fd5b506101d06106d43660046115d6565b610cc3565b3480156106e4575f80fd5b506101d06106f3366004611621565b610d26565b610700610d3c565b600580546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b336107545f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146107b757335f9081526002602052604090205460ff166107b7576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b818110156108fc57368383838181106107d4576107d4611649565b6080029190910191506108f390506107ef60208301836115ef565b6108013684900384016020850161168d565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194167fffffffffffffffff000000000000000000000000000000000000000000000000909516949094177001000000000000000000000000000000009590911694909402939093177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000009190921602179055565b506001016107b9565b505050565b610909610d3c565b73ffffffffffffffffffffffffffffffffffffffff919091165f90815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b3361097d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109e057335f9081526002602052604090205460ff166109e0576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610a2b610d3c565b610a345f610d8e565b565b5f808461ffff16606e1480610a5057508461ffff1661279f145b80610a6057508461ffff16614eaf145b15610a7d57610a748561ffff168585610e02565b91509150610ac8565b8461ffff16606f1480610a9557508461ffff16612794145b80610aa557508461ffff16614ea4145b15610ab957610a748561ffff168585610f5c565b610a748561ffff168585611104565b935093915050565b33610aef5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610b5257335f9081526002602052604090205460ff16610b52576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b626107ef60208301836115ef565b5f610b7360a083016080840161171c565b90505f610b8660c0840160a085016115ef565b6004805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff90941693909317179091555050565b5f805f80610be88787876111d7565b935093509350935093509350935093565b5f80808080610c0c565b60405180910390fd5b610c178888886111d7565b94509450945094505093509350935093565b610c31610d3c565b600180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610c7c610d3c565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ccb610d3c565b73ffffffffffffffffffffffffffffffffffffffff8116610d1a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610c03565b610d2381610d8e565b50565b610d2e610d3c565b610d3882826112ad565b5050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a34576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610c03565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f90815260036020526040812060045460055492938493849268010000000000000000900490911690606490610e669070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1689611762565b610e7091906117ac565b610e7a9190611762565b82549091505f90610ead907801000000000000000000000000000000000000000000000000900463ffffffff1688611762565b83546004549192505f9167ffffffffffffffff70010000000000000000000000000000000090920482169184918691610ee791168b6117bf565b610ef191906117bf565b610efb91906117bf565b610f059190611762565b60015485549192506fffffffffffffffffffffffffffffffff90811691610f2d911683611762565b610f3791906117ac565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b5f805f610f68866113af565b63ffffffff8082165f9081526003602052604081208054939450929091610fac91780100000000000000000000000000000000000000000000000090041688611762565b610fb890610c746117bf565b82549091505f90610fe790700100000000000000000000000000000000900467ffffffffffffffff1683611762565b63ffffffff808b165f908152600360205260408120805493945092909161102b9178010000000000000000000000000000000000000000000000009004168b611762565b82549091505f90700100000000000000000000000000000000900467ffffffffffffffff1661105a8b846117bf565b6110649190611762565b60015487549192505f916fffffffffffffffffffffffffffffffff9182169161108e911687611762565b61109891906117ac565b60015485549192505f916fffffffffffffffffffffffffffffffff918216916110c2911685611762565b6110cc91906117ac565b90505f6110d982846117bf565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b63ffffffff8084165f908152600360205260408120805491928392839161114891780100000000000000000000000000000000000000000000000090041687611762565b82549091505f90700100000000000000000000000000000000900467ffffffffffffffff1661117787846117bf565b6111819190611762565b60015484549192506fffffffffffffffffffffffffffffffff908116916111a9911683611762565b6111b391906117ac565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b5f808080806111e8617530896117d2565b90508063ffffffff16606e148061120657508063ffffffff1661279f145b8061121857508063ffffffff16614eaf145b1561123257611228818888610e02565b9095509350611281565b8063ffffffff16606f148061124e57508063ffffffff16612794145b8061126057508063ffffffff16614ea4145b1561127057611228818888610f5c565b61127b818888611104565b90955093505b505060015460055493979296506fffffffffffffffffffffffffffffffff908116955090921692509050565b73ffffffffffffffffffffffffffffffffffffffff82166112fa576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114611350576040519150601f19603f3d011682016040523d82523d5f602084013e611355565b606091505b50509050806108fc576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c03565b5f806113bd617530846117d2565b90508063ffffffff16606f036113d65750606592915050565b8063ffffffff16612794036113ef575061278992915050565b8063ffffffff16614ea4036114085750614e9992915050565b6040517ff42c33dc00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c03565b803563ffffffff81168114611455575f80fd5b919050565b5f805f6060848603121561146c575f80fd5b61147584611442565b95602085013595506040909401359392505050565b80356fffffffffffffffffffffffffffffffff81168114611455575f80fd5b5f602082840312156114b9575f80fd5b6114c28261148a565b9392505050565b5f80602083850312156114da575f80fd5b823567ffffffffffffffff808211156114f1575f80fd5b818501915085601f830112611504575f80fd5b813581811115611512575f80fd5b8660208260071b8501011115611526575f80fd5b60209290920196919550909350505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611455575f80fd5b5f806040838503121561156c575f80fd5b61157583611538565b915060208301358015158114611589575f80fd5b809150509250929050565b803561ffff81168114611455575f80fd5b5f805f606084860312156115b7575f80fd5b61147584611594565b5f60c082840312156115d0575f80fd5b50919050565b5f602082840312156115e6575f80fd5b6114c282611538565b5f602082840312156115ff575f80fd5b6114c282611442565b5f60208284031215611618575f80fd5b6114c282611594565b5f8060408385031215611632575f80fd5b61163b83611538565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b803567ffffffffffffffff81168114611455575f80fd5b5f6060828403121561169d575f80fd5b6040516060810181811067ffffffffffffffff821117156116e5577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040526116f18361148a565b81526116ff60208401611676565b602082015261171060408401611442565b60408201529392505050565b5f6020828403121561172c575f80fd5b6114c282611676565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761177957611779611735565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826117ba576117ba61177f565b500490565b8082018082111561177957611779611735565b5f63ffffffff808416806117e8576117e861177f565b9216919091069291505056fea2646970667358221220057b4584fe743c800fee37c9f14cc5705300ed67e417991ba4a7213c92a3bfad64736f6c63430008160033","sourceMap":"619:9549:84:-:0;;;1325:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1368:10;;1269:95:116;;1322:31;;-1:-1:-1;;;1322:31:116;;1350:1;1322:31;;;455:51:141;428:18;;1322:31:116;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;;;;;;1390:27:84::1;;::::0;;;:12:::1;:27;::::0;;;;:34;;-1:-1:-1;;1390:34:84::1;1420:4;1390:34:::0;;::::1;::::0;;;1434:30;;-1:-1:-1;;;;;;1434:30:84::1;1460:4;1434:30;::::0;;1474:28:::1;:33:::0;;-1:-1:-1;;;;;;;;1474:33:84;;;::::1;;::::0;;619:9549;;2912:187:116;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:116;;;-1:-1:-1;;;;;;3020:17:116;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:141:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:141;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:141:o;309:203::-;619:9549:84;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610178575f3560e01c80638ca2fb08116100d1578063d350ad251161007c578063e0ad121a11610057578063e0ad121a14610607578063f2fde38b146106ba578063fd9be522146106d9575f80fd5b8063d350ad25146104d4578063da26663a146104f3578063dbbb4155146105e8575f80fd5b8063c1723a1d116100ac578063c1723a1d1461045f578063c184032714610472578063cd68b79b14610498575f80fd5b80638ca2fb08146103b55780638da5cb5b146103f357806392807f581461041c575f80fd5b80635d6d7ccb116101315780637bc3c9ab1161010c5780637bc3c9ab146102fa5780637dc438a41461033f57806388a4124c1461035e575f80fd5b80635d6d7ccb146102765780635e280f1114610295578063715018a6146102e6575f80fd5b80633161b7f6116101615780633161b7f6146101d257806336a5beba146101f157806352a7251014610257575f80fd5b806311f2c3431461017c5780632f7cb0b4146101b1575b5f80fd5b348015610187575f80fd5b5061019e61019636600461145a565b5f9392505050565b6040519081526020015b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046114a9565b6106f8565b005b3480156101dd575f80fd5b506101d06101ec3660046114c9565b610735565b3480156101fc575f80fd5b506040805180820182525f8082526020918201528151808301835260045467ffffffffffffffff811680835263ffffffff680100000000000000009092048216928401928352845190815291511691810191909152016101a8565b348015610262575f80fd5b506101d061027136600461155b565b610901565b348015610281575f80fd5b506101d06102903660046114a9565b61095e565b3480156102a0575f80fd5b506006546102c19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102f1575f80fd5b506101d0610a23565b348015610305575f80fd5b506103196103143660046115a5565b610a36565b604080519283526fffffffffffffffffffffffffffffffff9091166020830152016101a8565b34801561034a575f80fd5b506101d06103593660046115c0565b610ad0565b348015610369575f80fd5b5061037d61037836600461145a565b610bd9565b604080519485526fffffffffffffffffffffffffffffffff9384166020860152918316918401919091521660608201526080016101a8565b3480156103c0575f80fd5b506103e36103cf3660046115d6565b60026020525f908152604090205460ff1681565b60405190151581526020016101a8565b3480156103fe575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff166102c1565b348015610427575f80fd5b506005546fffffffffffffffffffffffffffffffff165b6040516fffffffffffffffffffffffffffffffff90911681526020016101a8565b61037d61046d36600461145a565b610bf9565b34801561047d575f80fd5b506001546fffffffffffffffffffffffffffffffff1661043e565b3480156104a3575f80fd5b5060055461043e9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b3480156104df575f80fd5b506101d06104ee3660046114a9565b610c29565b3480156104fe575f80fd5b506105a461050d3660046115ef565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff169282019290925278010000000000000000000000000000000000000000000000009091049092169082015290565b6040805182516fffffffffffffffffffffffffffffffff16815260208084015167ffffffffffffffff16908201529181015163ffffffff16908201526060016101a8565b3480156105f3575f80fd5b506101d06106023660046115d6565b610c74565b348015610612575f80fd5b506105a4610621366004611608565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546fffffffffffffffffffffffffffffffff8116845267ffffffffffffffff700100000000000000000000000000000000820416918401919091527801000000000000000000000000000000000000000000000000900463ffffffff169082015290565b3480156106c5575f80fd5b506101d06106d43660046115d6565b610cc3565b3480156106e4575f80fd5b506101d06106f3366004611621565b610d26565b610700610d3c565b600580546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b336107545f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146107b757335f9081526002602052604090205460ff166107b7576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b818110156108fc57368383838181106107d4576107d4611649565b6080029190910191506108f390506107ef60208301836115ef565b6108013684900384016020850161168d565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194167fffffffffffffffff000000000000000000000000000000000000000000000000909516949094177001000000000000000000000000000000009590911694909402939093177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000009190921602179055565b506001016107b9565b505050565b610909610d3c565b73ffffffffffffffffffffffffffffffffffffffff919091165f90815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b3361097d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109e057335f9081526002602052604090205460ff166109e0576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610a2b610d3c565b610a345f610d8e565b565b5f808461ffff16606e1480610a5057508461ffff1661279f145b80610a6057508461ffff16614eaf145b15610a7d57610a748561ffff168585610e02565b91509150610ac8565b8461ffff16606f1480610a9557508461ffff16612794145b80610aa557508461ffff16614ea4145b15610ab957610a748561ffff168585610f5c565b610a748561ffff168585611104565b935093915050565b33610aef5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610b5257335f9081526002602052604090205460ff16610b52576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b626107ef60208301836115ef565b5f610b7360a083016080840161171c565b90505f610b8660c0840160a085016115ef565b6004805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff90941693909317179091555050565b5f805f80610be88787876111d7565b935093509350935093509350935093565b5f80808080610c0c565b60405180910390fd5b610c178888886111d7565b94509450945094505093509350935093565b610c31610d3c565b600180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610c7c610d3c565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ccb610d3c565b73ffffffffffffffffffffffffffffffffffffffff8116610d1a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610c03565b610d2381610d8e565b50565b610d2e610d3c565b610d3882826112ad565b5050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a34576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610c03565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f90815260036020526040812060045460055492938493849268010000000000000000900490911690606490610e669070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1689611762565b610e7091906117ac565b610e7a9190611762565b82549091505f90610ead907801000000000000000000000000000000000000000000000000900463ffffffff1688611762565b83546004549192505f9167ffffffffffffffff70010000000000000000000000000000000090920482169184918691610ee791168b6117bf565b610ef191906117bf565b610efb91906117bf565b610f059190611762565b60015485549192506fffffffffffffffffffffffffffffffff90811691610f2d911683611762565b610f3791906117ac565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b5f805f610f68866113af565b63ffffffff8082165f9081526003602052604081208054939450929091610fac91780100000000000000000000000000000000000000000000000090041688611762565b610fb890610c746117bf565b82549091505f90610fe790700100000000000000000000000000000000900467ffffffffffffffff1683611762565b63ffffffff808b165f908152600360205260408120805493945092909161102b9178010000000000000000000000000000000000000000000000009004168b611762565b82549091505f90700100000000000000000000000000000000900467ffffffffffffffff1661105a8b846117bf565b6110649190611762565b60015487549192505f916fffffffffffffffffffffffffffffffff9182169161108e911687611762565b61109891906117ac565b60015485549192505f916fffffffffffffffffffffffffffffffff918216916110c2911685611762565b6110cc91906117ac565b90505f6110d982846117bf565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b63ffffffff8084165f908152600360205260408120805491928392839161114891780100000000000000000000000000000000000000000000000090041687611762565b82549091505f90700100000000000000000000000000000000900467ffffffffffffffff1661117787846117bf565b6111819190611762565b60015484549192506fffffffffffffffffffffffffffffffff908116916111a9911683611762565b6111b391906117ac565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b5f808080806111e8617530896117d2565b90508063ffffffff16606e148061120657508063ffffffff1661279f145b8061121857508063ffffffff16614eaf145b1561123257611228818888610e02565b9095509350611281565b8063ffffffff16606f148061124e57508063ffffffff16612794145b8061126057508063ffffffff16614ea4145b1561127057611228818888610f5c565b61127b818888611104565b90955093505b505060015460055493979296506fffffffffffffffffffffffffffffffff908116955090921692509050565b73ffffffffffffffffffffffffffffffffffffffff82166112fa576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114611350576040519150601f19603f3d011682016040523d82523d5f602084013e611355565b606091505b50509050806108fc576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c03565b5f806113bd617530846117d2565b90508063ffffffff16606f036113d65750606592915050565b8063ffffffff16612794036113ef575061278992915050565b8063ffffffff16614ea4036114085750614e9992915050565b6040517ff42c33dc00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c03565b803563ffffffff81168114611455575f80fd5b919050565b5f805f6060848603121561146c575f80fd5b61147584611442565b95602085013595506040909401359392505050565b80356fffffffffffffffffffffffffffffffff81168114611455575f80fd5b5f602082840312156114b9575f80fd5b6114c28261148a565b9392505050565b5f80602083850312156114da575f80fd5b823567ffffffffffffffff808211156114f1575f80fd5b818501915085601f830112611504575f80fd5b813581811115611512575f80fd5b8660208260071b8501011115611526575f80fd5b60209290920196919550909350505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611455575f80fd5b5f806040838503121561156c575f80fd5b61157583611538565b915060208301358015158114611589575f80fd5b809150509250929050565b803561ffff81168114611455575f80fd5b5f805f606084860312156115b7575f80fd5b61147584611594565b5f60c082840312156115d0575f80fd5b50919050565b5f602082840312156115e6575f80fd5b6114c282611538565b5f602082840312156115ff575f80fd5b6114c282611442565b5f60208284031215611618575f80fd5b6114c282611594565b5f8060408385031215611632575f80fd5b61163b83611538565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b803567ffffffffffffffff81168114611455575f80fd5b5f6060828403121561169d575f80fd5b6040516060810181811067ffffffffffffffff821117156116e5577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040526116f18361148a565b81526116ff60208401611676565b602082015261171060408401611442565b60408201529392505050565b5f6020828403121561172c575f80fd5b6114c282611676565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761177957611779611735565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826117ba576117ba61177f565b500490565b8082018082111561177957611779611735565b5f63ffffffff808416806117e8576117e861177f565b9216919091069291505056fea2646970667358221220057b4584fe743c800fee37c9f14cc5705300ed67e417991ba4a7213c92a3bfad64736f6c63430008160033","sourceMap":"619:9549:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:136;;;;;;;;;;-1:-1:-1;4108:136:84;;;;;:::i;:::-;4210:7;4108:136;;;;;;;;;653:25:141;;;641:2;626:18;4108:136:84;;;;;;;;2197:154;;;;;;;;;;-1:-1:-1;2197:154:84;;;;;:::i;:::-;;:::i;:::-;;2695:251;;;;;;;;;;-1:-1:-1;2695:251:84;;;;;:::i;:::-;;:::i;4599:117::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;4685:24:84;;;;;;;4692:17;4685:24;;;;;;;;;;;;;;;;;;;;4599:117;;1938:57:141;;;2037:24;;2033:41;2011:20;;;2004:71;;;;1911:18;4599:117:84;1724:357:141;1936:119:84;;;;;;;;;;-1:-1:-1;1936:119:84;;;;;:::i;:::-;;:::i;3354:143::-;;;;;;;;;;-1:-1:-1;3354:143:84;;;;;:::i;:::-;;:::i;1140:36::-;;;;;;;;;;-1:-1:-1;1140:36:84;;;;;;;;;;;2844:42:141;2832:55;;;2814:74;;2802:2;2787:18;1140:36:84;2639:255:141;2293:101:116;;;;;;;;;;;;;:::i;5539:587:84:-;;;;;;;;;;-1:-1:-1;5539:587:84;;;;;:::i;:::-;;:::i;:::-;;;;3562:25:141;;;3635:34;3623:47;;;3618:2;3603:18;;3596:75;3535:18;5539:587:84;3388:289:141;2952:396:84;;;;;;;;;;-1:-1:-1;2952:396:84;;;;;:::i;:::-;;:::i;4977:239::-;;;;;;;;;;-1:-1:-1;4977:239:84;;;;;:::i;:::-;;:::i;:::-;;;;4119:25:141;;;4163:34;4233:15;;;4228:2;4213:18;;4206:43;4285:15;;;4265:18;;;4258:43;;;;4337:15;4332:2;4317:18;;4310:43;4106:3;4091:19;4977:239:84;3888:471:141;747:59:84;;;;;;;;;;-1:-1:-1;747:59:84;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4720:14:141;;4713:22;4695:41;;4683:2;4668:18;747:59:84;4555:187:141;1638:85:116;;;;;;;;;;-1:-1:-1;1684:7:116;1710:6;;;1638:85;;4431:102:84;;;;;;;;;;-1:-1:-1;4511:15:84;;;;4431:102;;;5154:34:141;5142:47;;;5124:66;;5112:2;5097:18;4431:102:84;4978:218:141;3587:385:84;;;;;;:::i;:::-;;:::i;4250:115::-;;;;;;;;;;-1:-1:-1;4335:23:84;;;;4250:115;;1090:43;;;;;;;;;;-1:-1:-1;1090:43:84;;;;;;;;;;;2061:130;;;;;;;;;;-1:-1:-1;2061:130:84;;;;;:::i;:::-;;:::i;4782:129::-;;;;;;;;;;-1:-1:-1;4782:129:84;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;4877:27:84;;;;;;:18;:27;;;;;4869:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4782:129;;;;;5604:13:141;;5619:34;5600:54;5582:73;;5715:4;5703:17;;;5697:24;5723:18;5693:49;5671:20;;;5664:79;5791:17;;;5785:24;5811:10;5781:41;5759:20;;;5752:71;5570:2;5555:18;4782:129:84;5390:439:141;2357:118:84;;;;;;;;;;-1:-1:-1;2357:118:84;;;;;:::i;:::-;;:::i;5313:129::-;;;;;;;;;;-1:-1:-1;5313:129:84;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;5408:27:84;;;;;;;:18;:27;;;;;;5400:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;5408:27;5400:35;;;;;;5313:129;2543:215:116;;;;;;;;;;-1:-1:-1;2543:215:116;;;;;:::i;:::-;;:::i;2481:116:84:-;;;;;;;;;;-1:-1:-1;2481:116:84;;;;;:::i;:::-;;:::i;2197:154::-;1531:13:116;:11;:13::i;:::-;2294:28:84::1;:50:::0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;2197:154::o;2695:251::-;1690:10;1679:7;1684::116;1710:6;;;;1638:85;1679:7:84;:21;;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;;;;;;;;;;;;;1716:102;2785:9:::1;2780:160;2800:17:::0;;::::1;2780:160;;;2838:28;2869:6;;2876:1;2869:9;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2892:37:84::1;::::0;-1:-1:-1;2902:11:84::1;;::::0;::::1;2869:9:::0;2902:11:::1;:::i;:::-;2892:37;;::::0;;;;;2915:13:::1;::::0;::::1;2892:37;:::i;:::-;6317:17:::0;;6368:21;;;;;6419:17;;;;;6476:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6446:27;;;-1:-1:-1;6446:27:84;;;:18;:27;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6221:307;2892:37:::1;-1:-1:-1::0;2819:3:84::1;;2780:160;;;;2695:251:::0;;:::o;1936:119::-;1531:13:116;:11;:13::i;:::-;2019:19:84::1;::::0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;1936:119::o;3354:143::-;1690:10;1679:7;1684::116;1710:6;;;;1638:85;1679:7:84;:21;;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;;;;;;;;;;;;;1716:102;3452:15:::1;:38:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;3354:143::o;2293:101:116:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5539:587:84:-;5673:11;5686:18;5720:7;:14;;5731:3;5720:14;:34;;;;5738:7;:16;;5749:5;5738:16;5720:34;:54;;;;5758:7;:16;;5769:5;5758:16;5720:54;5716:404;;;5797:59;5827:7;5797:59;;5836:13;5851:4;5797:29;:59::i;:::-;5790:66;;;;;;5716:404;5877:7;:14;;5888:3;5877:14;:34;;;;5895:7;:16;;5906:5;5895:16;5877:34;:54;;;;5915:7;:16;;5926:5;5915:16;5877:54;5873:247;;;5954:59;5984:7;5954:59;;5993:13;6008:4;5954:29;:59::i;5873:247::-;6051:58;6080:7;6051:58;;6089:13;6104:4;6051:28;:58::i;5873:247::-;5539:587;;;;;;:::o;2952:396::-;1690:10;1679:7;1684::116;1710:6;;;;1638:85;1679:7:84;:21;;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;;;;;;;;;;;;;1716:102;3050:37:::1;3060:11;;::::0;::::1;:7:::0;:11:::1;:::i;3050:37::-;3098:17;3118:25;::::0;;;:14:::1;::::0;::::1;:25;:::i;:::-;3098:45:::0;-1:-1:-1;3153:27:84::1;3183:35;::::0;;;;;;::::1;:::i;:::-;3229:17;:41:::0;;3280:61:::1;::::0;;::::1;::::0;::::1;::::0;;;;3229:41:::1;::::0;;::::1;3280:61:::0;;;;::::1;::::0;;;-1:-1:-1;;2952:396:84:o;4977:239::-;5109:7;5118;5127;5136;5162:47;5180:7;5189:13;5204:4;5162:17;:47::i;:::-;5155:54;;;;;;;;4977:239;;;;;;;:::o;3587:385::-;3723:7;;;;;3829:72;;3857:44;;;;;;;;3829:72;3918:47;3936:7;3945:13;3960:4;3918:17;:47::i;:::-;3911:54;;;;;;;;;3587:385;;;;;;;:::o;2061:130::-;1531:13:116;:11;:13::i;:::-;2146:23:84::1;:38:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;2061:130::o;2357:118::-;1531:13:116;:11;:13::i;:::-;2426:8:84::1;:42:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;2357:118::o;2543:215:116:-;1531:13;:11;:13::i;:::-;2627:22:::1;::::0;::::1;2623:91;;2672:31;::::0;::::1;::::0;;2700:1:::1;2672:31;::::0;::::1;2814:74:141::0;2787:18;;2672:31:116::1;2639:255:141::0;2623:91:116::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;2481:116:84:-;1531:13:116;:11;:13::i;:::-;2561:29:84::1;2577:3;2582:7;2561:15;:29::i;:::-;2481:116:::0;;:::o;1796:162:116:-;1684:7;1710:6;1855:23;1710:6;735:10:126;1855:23:116;1851:101;;1901:40;;;;;735:10:126;1901:40:116;;;2814:74:141;2787:18;;1901:40:116;2639:255:141;2912:187:116;2985:16;3004:6;;;3020:17;;;;;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;9404:762:84:-;9622:27;;;;9549:11;9622:27;;;:18;:27;;;;;9774:17;:38;9723:28;;9549:11;;;;;;9774:38;;;;;;;9755:3;;9707:44;;9723:28;;;;;9707:13;:44;:::i;:::-;9706:52;;;;:::i;:::-;9705:107;;;;:::i;:::-;9883:24;;9678:134;;-1:-1:-1;9840:24:84;;9867:40;;9883:24;;;;;9867:13;:40;:::i;:::-;10024:28;;9942:17;:28;9840:67;;-1:-1:-1;9917:14:84;;10024:28;;;;;;;;9840:67;;9973:16;;9935:35;;9942:28;9935:4;:35;:::i;:::-;:54;;;;:::i;:::-;:73;;;;:::i;:::-;9934:118;;;;:::i;:::-;10109:23;;10081:24;;9917:135;;-1:-1:-1;10109:23:84;;;;;10072:33;;10081:24;9917:135;10072:33;:::i;:::-;10071:61;;;;:::i;:::-;10134:24;;;;;;;;;-1:-1:-1;9404:762:84;;-1:-1:-1;;;;;;;9404:762:84:o;8345:1053::-;8490:11;8503:18;8533:17;8553:23;8568:7;8553:14;:23::i;:::-;8635:30;;;;8605:27;8635:30;;;:18;:30;;;;;8719:24;;8533:43;;-1:-1:-1;8635:30:84;8605:27;;8703:40;;8719:24;;;;8703:13;:40;:::i;:::-;8702:49;;8747:4;8702:49;:::i;:::-;8814:28;;8675:76;;-1:-1:-1;8779:13:84;;8795:47;;8814:28;;;;;8675:76;8795:47;:::i;:::-;8901:27;;;;8871;8901;;;:18;:27;;;;;8981:24;;8779:63;;-1:-1:-1;8901:27:84;8871;;8965:40;;8981:24;;;;8965:13;:40;:::i;:::-;9059:28;;8938:67;;-1:-1:-1;9015:13:84;;9059:28;;;;;9032:23;9051:4;8938:67;9032:23;:::i;:::-;9031:56;;;;:::i;:::-;9161:23;;9133:24;;9015:72;;-1:-1:-1;9098:23:84;;9161;;;;;9125:32;;9133:24;9125:5;:32;:::i;:::-;9124:60;;;;:::i;:::-;9257:23;;9229:24;;9098:86;;-1:-1:-1;9194:23:84;;9257;;;;;9221:32;;9229:24;9221:5;:32;:::i;:::-;9220:60;;;;:::i;:::-;9194:86;-1:-1:-1;9290:14:84;9307:33;9194:86;9307:15;:33;:::i;:::-;9366:24;;;;;;;;;-1:-1:-1;8345:1053:84;;-1:-1:-1;;;;;;;;;;;;;8345:1053:84:o;6932:601::-;7147:27;;;;7076:11;7147:27;;;:18;:27;;;;;7317:22;;7076:11;;;;;;7301:38;;7317:22;;;;7301:13;:38;:::i;:::-;7395:26;;7276:63;;-1:-1:-1;7349:17:84;;7395:26;;;;;7370:21;7387:4;7276:63;7370:21;:::i;:::-;7369:52;;;;:::i;:::-;7478:23;;7452:22;;7349:72;;-1:-1:-1;7478:23:84;;;;;7440:34;;7452:22;7349:72;7440:34;:::i;:::-;7439:62;;;;:::i;:::-;7503:22;;;;;;;;;-1:-1:-1;6932:601:84;;-1:-1:-1;;;;;;6932:601:84:o;7539:800::-;7672:11;;;;;7780:16;7790:6;7780:7;:16;:::i;:::-;7764:32;;7810:6;:13;;7820:3;7810:13;:32;;;;7827:6;:15;;7837:5;7827:15;7810:32;:51;;;;7846:6;:15;;7856:5;7846:15;7810:51;7806:434;;;7897:58;7927:6;7935:13;7950:4;7897:29;:58::i;:::-;7877:78;;-1:-1:-1;7877:78:84;-1:-1:-1;7806:434:84;;;7976:6;:13;;7986:3;7976:13;:32;;;;7993:6;:15;;8003:5;7993:15;7976:32;:51;;;;8012:6;:15;;8022:5;8012:15;7976:51;7972:268;;;8063:58;8093:6;8101:13;8116:4;8063:29;:58::i;7972:268::-;8172:57;8201:6;8209:13;8224:4;8172:28;:57::i;:::-;8152:77;;-1:-1:-1;8152:77:84;-1:-1:-1;7972:268:84;-1:-1:-1;;8273:23:84;;8317:15;;7539:800;;;;-1:-1:-1;8273:23:84;;;;;-1:-1:-1;8317:15:84;;;;-1:-1:-1;7539:800:84;-1:-1:-1;7539:800:84:o;438:252:47:-;506:19;;;502:58;;534:26;;;;;;;;;;;;;;502:58;571:12;589:3;:8;;606:6;589:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:48;;;633:7;628:55;;649:34;;;;;9240:42:141;9228:55;;649:34:47;;;9210:74:141;9300:18;;;9293:34;;;9183:18;;649:34:47;9036:297:141;6534:392:84;6596:6;;6629:15;6638:6;6629;:15;:::i;:::-;6614:30;;6658:5;:12;;6667:3;6658:12;6654:217;;-1:-1:-1;6693:3:84;;6534:392;-1:-1:-1;;6534:392:84:o;6654:217::-;6717:5;:14;;6726:5;6717:14;6713:158;;-1:-1:-1;6754:5:84;;6534:392;-1:-1:-1;;6534:392:84:o;6713:158::-;6799:5;:14;;6808:5;6799:14;6795:76;;-1:-1:-1;6836:5:84;;6534:392;-1:-1:-1;;6534:392:84:o;6795:76::-;6887:32;;;;;9512:10:141;9500:23;;6887:32:84;;;9482:42:141;9455:18;;6887:32:84;9338:192:141;14:163;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;110:61;14:163;;;:::o;182:320::-;258:6;266;274;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:28;384:9;366:28;:::i;:::-;356:38;441:2;426:18;;413:32;;-1:-1:-1;492:2:141;477:18;;;464:32;;182:320;-1:-1:-1;;;182:320:141:o;689:188::-;757:20;;817:34;806:46;;796:57;;786:85;;867:1;864;857:12;882:186;941:6;994:2;982:9;973:7;969:23;965:32;962:52;;;1010:1;1007;1000:12;962:52;1033:29;1052:9;1033:29;:::i;:::-;1023:39;882:186;-1:-1:-1;;;882:186:141:o;1073:646::-;1190:6;1198;1251:2;1239:9;1230:7;1226:23;1222:32;1219:52;;;1267:1;1264;1257:12;1219:52;1307:9;1294:23;1336:18;1377:2;1369:6;1366:14;1363:34;;;1393:1;1390;1383:12;1363:34;1431:6;1420:9;1416:22;1406:32;;1476:7;1469:4;1465:2;1461:13;1457:27;1447:55;;1498:1;1495;1488:12;1447:55;1538:2;1525:16;1564:2;1556:6;1553:14;1550:34;;;1580:1;1577;1570:12;1550:34;1633:7;1628:2;1618:6;1615:1;1611:14;1607:2;1603:23;1599:32;1596:45;1593:65;;;1654:1;1651;1644:12;1593:65;1685:2;1677:11;;;;;1707:6;;-1:-1:-1;1073:646:141;;-1:-1:-1;;;;1073:646:141:o;2086:196::-;2154:20;;2214:42;2203:54;;2193:65;;2183:93;;2272:1;2269;2262:12;2287:347;2352:6;2360;2413:2;2401:9;2392:7;2388:23;2384:32;2381:52;;;2429:1;2426;2419:12;2381:52;2452:29;2471:9;2452:29;:::i;:::-;2442:39;;2531:2;2520:9;2516:18;2503:32;2578:5;2571:13;2564:21;2557:5;2554:32;2544:60;;2600:1;2597;2590:12;2544:60;2623:5;2613:15;;;2287:347;;;;;:::o;2899:159::-;2966:20;;3026:6;3015:18;;3005:29;;2995:57;;3048:1;3045;3038:12;3063:320;3139:6;3147;3155;3208:2;3196:9;3187:7;3183:23;3179:32;3176:52;;;3224:1;3221;3214:12;3176:52;3247:28;3265:9;3247:28;:::i;3682:201::-;3775:6;3828:3;3816:9;3807:7;3803:23;3799:33;3796:53;;;3845:1;3842;3835:12;3796:53;-1:-1:-1;3868:9:141;3682:201;-1:-1:-1;3682:201:141:o;4364:186::-;4423:6;4476:2;4464:9;4455:7;4451:23;4447:32;4444:52;;;4492:1;4489;4482:12;4444:52;4515:29;4534:9;4515:29;:::i;5201:184::-;5259:6;5312:2;5300:9;5291:7;5287:23;5283:32;5280:52;;;5328:1;5325;5318:12;5280:52;5351:28;5369:9;5351:28;:::i;5834:184::-;5892:6;5945:2;5933:9;5924:7;5920:23;5916:32;5913:52;;;5961:1;5958;5951:12;5913:52;5984:28;6002:9;5984:28;:::i;6023:254::-;6091:6;6099;6152:2;6140:9;6131:7;6127:23;6123:32;6120:52;;;6168:1;6165;6158:12;6120:52;6191:29;6210:9;6191:29;:::i;:::-;6181:39;6267:2;6252:18;;;;6239:32;;-1:-1:-1;;;6023:254:141:o;6282:184::-;6334:77;6331:1;6324:88;6431:4;6428:1;6421:15;6455:4;6452:1;6445:15;6471:171;6538:20;;6598:18;6587:30;;6577:41;;6567:69;;6632:1;6629;6622:12;6647:738;6729:6;6782:2;6770:9;6761:7;6757:23;6753:32;6750:52;;;6798:1;6795;6788:12;6750:52;6831:2;6825:9;6873:2;6865:6;6861:15;6942:6;6930:10;6927:22;6906:18;6894:10;6891:34;6888:62;6885:242;;;6983:77;6980:1;6973:88;7084:4;7081:1;7074:15;7112:4;7109:1;7102:15;6885:242;7143:2;7136:22;7182:29;7201:9;7182:29;:::i;:::-;7174:6;7167:45;7245:37;7278:2;7267:9;7263:18;7245:37;:::i;:::-;7240:2;7232:6;7228:15;7221:62;7316:37;7349:2;7338:9;7334:18;7316:37;:::i;:::-;7311:2;7299:15;;7292:62;7303:6;6647:738;-1:-1:-1;;;6647:738:141:o;7390:184::-;7448:6;7501:2;7489:9;7480:7;7476:23;7472:32;7469:52;;;7517:1;7514;7507:12;7469:52;7540:28;7558:9;7540:28;:::i;7832:184::-;7884:77;7881:1;7874:88;7981:4;7978:1;7971:15;8005:4;8002:1;7995:15;8021:168;8094:9;;;8125;;8142:15;;;8136:22;;8122:37;8112:71;;8163:18;;:::i;:::-;8021:168;;;;:::o;8194:184::-;8246:77;8243:1;8236:88;8343:4;8340:1;8333:15;8367:4;8364:1;8357:15;8383:120;8423:1;8449;8439:35;;8454:18;;:::i;:::-;-1:-1:-1;8488:9:141;;8383:120::o;8508:125::-;8573:9;;;8594:10;;;8591:36;;;8607:18;;:::i;8638:183::-;8669:1;8695:10;8732:2;8729:1;8725:10;8754:3;8744:37;;8761:18;;:::i;:::-;8799:10;;8795:20;;;;;8638:183;-1:-1:-1;;8638:183:141:o","linkReferences":{}},"methodIdentifiers":{"ARBITRUM_COMPRESSION_PERCENT()":"cd68b79b","arbitrumPriceExt()":"36a5beba","endpoint()":"5e280f11","estimateFeeByChain(uint16,uint256,uint256)":"7bc3c9ab","estimateFeeByEid(uint32,uint256,uint256)":"88a4124c","estimateFeeOnSend(uint32,uint256,uint256)":"c1723a1d","getFee(uint32,uint256,uint256)":"11f2c343","getPrice(uint16)":"e0ad121a","getPrice(uint32)":"da26663a","getPriceRatioDenominator()":"c1840327","nativeTokenPriceUSD()":"92807f58","owner()":"8da5cb5b","priceUpdater(address)":"8ca2fb08","renounceOwnership()":"715018a6","setArbitrumCompressionPercent(uint128)":"2f7cb0b4","setEndpoint(address)":"dbbb4155","setNativeTokenPriceUSD(uint128)":"5d6d7ccb","setPrice((uint32,(uint128,uint64,uint32))[])":"3161b7f6","setPriceForArbitrum((uint32,(uint128,uint64,uint32),(uint64,uint32)))":"7dc438a4","setPriceRatioDenominator(uint128)":"d350ad25","setPriceUpdater(address,bool)":"52a72510","transferOwnership(address)":"f2fde38b","withdrawFee(address,uint256)":"fd9be522"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_priceUpdater\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"LZ_PriceFeed_InsufficientFee\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"l2Eid\",\"type\":\"uint32\"}],\"name\":\"LZ_PriceFeed_NotAnOPStack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LZ_PriceFeed_OnlyPriceUpdater\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer_NativeFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Transfer_ToAddressIsZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ARBITRUM_COMPRESSION_PERCENT\",\"outputs\":[{\"internalType\":\