Files
smom-dbis-138/artifacts/contracts/ccip/CCIPWETH9Bridge.sol/CCIPWETH9Bridge.json
2026-03-02 12:14:09 -08:00

513 lines
39 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "CCIPWETH9Bridge",
"sourceName": "contracts/ccip/CCIPWETH9Bridge.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_ccipRouter",
"type": "address"
},
{
"internalType": "address",
"name": "_weth9",
"type": "address"
},
{
"internalType": "address",
"name": "_feeToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint64",
"name": "sourceChainSelector",
"type": "uint64"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "CrossChainTransferCompleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"indexed": false,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
}
],
"name": "CrossChainTransferInitiated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"indexed": false,
"internalType": "address",
"name": "receiverBridge",
"type": "address"
}
],
"name": "DestinationAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
}
],
"name": "DestinationRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"indexed": false,
"internalType": "address",
"name": "receiverBridge",
"type": "address"
}
],
"name": "DestinationUpdated",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"internalType": "address",
"name": "receiverBridge",
"type": "address"
}
],
"name": "addDestination",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "calculateFee",
"outputs": [
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "sourceChainSelector",
"type": "uint64"
},
{
"internalType": "bytes",
"name": "sender",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum IRouterClient.TokenAmountType",
"name": "amountType",
"type": "uint8"
}
],
"internalType": "struct IRouterClient.TokenAmount[]",
"name": "tokenAmounts",
"type": "tuple[]"
}
],
"internalType": "struct IRouterClient.Any2EVMMessage",
"name": "message",
"type": "tuple"
}
],
"name": "ccipReceive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "ccipRouter",
"outputs": [
{
"internalType": "contract IRouterClient",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "destinationChains",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"name": "destinations",
"outputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"internalType": "address",
"name": "receiverBridge",
"type": "address"
},
{
"internalType": "bool",
"name": "enabled",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDestinationChains",
"outputs": [
{
"internalType": "uint64[]",
"name": "",
"type": "uint64[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getUserNonce",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "processedTransfers",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
}
],
"name": "removeDestination",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "sendCrossChain",
"outputs": [
{
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"internalType": "address",
"name": "receiverBridge",
"type": "address"
}
],
"name": "updateDestination",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newFeeToken",
"type": "address"
}
],
"name": "updateFeeToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "weth9",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x60c0346200017e57601f62001c7b38819003918201601f19168301916001600160401b0383118484101762000183578084926060946040528339810103126200017e576200004d8162000199565b620000696040620000616020850162000199565b930162000199565b916001600160a01b039182168015620001395782821615620000f45760805260a05260018060a01b0319911681600054161760005533906001541617600155604051611acc9081620001af82396080518181816109df01528181610b070152818161104601526114db015260a05181818161098401528181610a9301528181610b890152610f1c0152f35b60405162461bcd60e51b815260206004820152601b60248201527f4343495057455448394272696467653a207a65726f20574554483900000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527f4343495057455448394272696467653a207a65726f20726f75746572000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200017e5756fe60c060408181526004918236101561001657600080fd5b60009260e08435811c9283630de22984146114c75750826343ed418614610e565782634c133f0614610ac257826350879c1c14610a7d578263647846a514610a545782636834e3a8146108465782636a743cf81461087f5782637ecebe00146108465782638f283970146107f457826396c75c5e1461079d578263abc343a714610618578263b217be241461048e578263c89245d514610446578263ced719f31461027a578263dd910d751461024d578263e0620a941461016157508163f2c2af4314610118575063f851a440146100ed57600080fd5b3461011457816003193601126101145760015490516001600160a01b039091168152602090f35b5080fd5b90503461015d57602036600319011261015d57359160035483101561015a57506001600160401b0361014b602093611551565b90549060031b1c169051908152f35b80fd5b8280fd5b9150503461015d578160031936011261015d577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e680916102476101a161150a565b916101aa611525565b936101f160018060a01b036101c4816001541633146119a3565b6101e860ff6001600160401b03881694858c526002602052868c2054901c16611a3b565b861615156119ef565b865260026020528086208054600160401b600160e01b031916604086901b600160401b600160e01b03161790555b516001600160401b0390921682526001600160a01b0390921660208201529081906040820190565b0390a180f35b5090503461015d57602036600319011261015d57816020938260ff93358252855220541690519015158152f35b8490843461015d578060031936011261015d5761029561150a565b9061029e611525565b60015490936001600160a01b03916102b990831633146119a3565b8185166102c78115156119ef565b6001600160401b039283861691828952600260205260ff868a2054851c166103ef5790610355918651956102fa8761163f565b84875260208088019283526001898901908152958c5260029052878b20965187549251600160401b600160e01b03941660401b939093166001600160e01b03199092169216600160401b600160e01b03191691909117178455565b51825460ff60e01b191690151590911b60ff60e01b16179055600354680100000000000000008110156103dc57829161021f7f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db395946103bd8460016102479601600355611551565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b855260418652602485fd5b855162461bcd60e51b81526020818c0152602b60248201527f4343495057455448394272696467653a2064657374696e6174696f6e20616c7260448201526a656164792065786973747360a81b6064820152608490fd5b843461015a57602036600319011261015a5761046061153b565b6001546001600160a01b03919061047a90831633146119a3565b82546001600160a01b031916911617815580f35b908492503461015d57602036600319011261015d576104ab61150a565b906001916104c460018060a01b036001541633146119a3565b6104e960ff6001600160401b0380931695868852600260205288882054901c16611a3b565b8385526002602052858520805460ff60e01b1916905584835b610535575b857f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad6020878a51908152a180f35b600380548083101561061157868461054c85611551565b905490851b1c1614610562575050830183610502565b93979450919260001991908281019081116105fe57906103bd8561058861059594611551565b905490871b1c1691611551565b815480156105eb577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad969750906020959493929101916105d483611551565b9091825491841b1b19169055559392819286610507565b634e487b7160e01b875260318852602487fd5b634e487b7160e01b885260118952602488fd5b5050610507565b8382863461015a578060031936011261015a5782519182916003836003549586815260209485809201908198600387527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9587925b8c8383860110610755575050506106b29554918482821061073c575b8c838310610720575b50828210610704575b50106106f6575b50905096959492939603826116c1565b83519485948186019282875251809352850193925b8281106106d657505050500390f35b83516001600160401b0316855286955093810193928101926001016106c7565b60c01c8152018490896106a2565b600191946001600160401b038560801c1681520193018461069b565b946001600160401b0385600194971c168152019301848c610692565b600191946001600160401b038516815201930184610689565b88546001600160401b03808216885281831c81168d890152608082811c9091169288019290925260c01c60608701526001909801978b97508a9650909401939283019261066d565b8484346101145760203660031901126101145760ff606093826001600160401b0394856107c861150a565b16815260026020522054908351948216855260018060a01b0382851c1660208601521c16151590820152f35b843461015a57602036600319011261015a5761080e61153b565b600154906001600160a01b039061082833838516146119a3565b16906108358215156119ef565b6001600160a01b0319161760015580f35b505050346101145760203660031901126101145760209181906001600160a01b0361086f61153b565b1681526005845220549051908152f35b8385913461015d578160031936011261015d576109c0936109db916108a261150a565b91602435926001600160401b039182821688526020988995600287526108fa89808c208151906108d18261163f565b54978816815260ff60018060a01b03988b83019a8a82861c168c521c16151591829101526116e2565b848951968b89890152828b8901528b60608901528b60808901526080885261092188611670565b511695895196888801528787526109378761168b565b61093f6117a2565b90868c5416908b51986109518a611670565b8952898901528a88019182526060880152895161096d816116a6565b8b815260808801528951916109818361163f565b867f0000000000000000000000000000000000000000000000000000000000000000168352888301528a8a83015251906109ba826117f6565b526117f6565b508651632bb74f2960e11b8152958694859384938401611843565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa928315610a49578093610a17575b505051908152f35b909192508382813d8311610a42575b610a3081836116c1565b8101031261015a575051908380610a0f565b503d610a26565b8251903d90823e3d90fd5b50505034610114578160031936011261011457905490516001600160a01b039091168152602090f35b50505034610114578160031936011261011457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50838334610114576020600319918183360112610e52578435916001600160401b0393848411610e4e578387019360a081360392830112610cc1576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610e0b5785359586895289855260ff868a205416610db457868952898552858920805460ff1916600117905560848301610b64818361195a565b905015610d7157610b75818361195a565b15610d5e573591838316809303610d0457837f000000000000000000000000000000000000000000000000000000000000000016809303610d1b5790610bba9161195a565b15610d085799858a9b013594610bd18615156115a7565b60648501359060221901811215610d045784019181830135918a8311610cfc5760248401928036038413610d00578460809181010312610cfc57610c6b948894610c276064610c208b9761198f565b920161198f565b50169b8c91610c378315156115f3565b8a5163a9059cbb60e01b81526001600160a01b03909316908301908152602081019490945290948593849291839160400190565b03925af1908115610cf25760249291610c8b918b91610cc5575b50611757565b0135948516809503610cc1577fde7d1015ddd9458361e77e6d812829b27714d7b5771ecd72a8930bce68b36c9a9251908152a480f35b8680fd5b610ce59150863d8811610ceb575b610cdd81836116c1565b81019061173f565b8b610c85565b503d610cd3565b85513d8b823e3d90fd5b8b80fd5b8c80fd5b8a80fd5b634e487b7160e01b8a5260328b5260248afd5b875162461bcd60e51b8152808d01889052601e60248201527f4343495057455448394272696467653a20696e76616c696420746f6b656e00006044820152606490fd5b634e487b7160e01b8b5260328c5260248bfd5b865162461bcd60e51b8152808c01879052601a60248201527f4343495057455448394272696467653a206e6f20746f6b656e730000000000006044820152606490fd5b855162461bcd60e51b8152808b01869052602b60248201527f4343495057455448394272696467653a207472616e7366657220616c7265616460448201526a1e481c1c9bd8d95cdcd95960aa1b6064820152608490fd5b845162461bcd60e51b8152808a01859052601c60248201527f4343495057455448394272696467653a206f6e6c7920726f75746572000000006044820152606490fd5b8580fd5b8380fd5b838286606036600319011261015a57610e6d61150a565b610e75611525565b91604435608052610e8960805115156115a7565b6001600160a01b0392831693610ea08515156115f3565b6001600160401b03938484168352602060a052600260a05152610ef08780852060ff825191610ece8361163f565b54898116835260a05183019c8d8783871c1690521c16151591829101526116e2565b86516323b872dd60e01b80825260a051608051338685019081523060208201526040810191909152919a7f000000000000000000000000000000000000000000000000000000000000000085169493909290919082908190606001038189885af19081156114bd5790610f6991879161149e5750611757565b338552600560a051528885208054600019811461148b576001019055338552600560a051528885205499611042838b51938b60a0518601526080518d8601523360608601528d608086015260808552610fc185611670565b5116948b519560a05187015260a0518652610fdb8661168b565b610fe36117a2565b85895416948d5197610ff489611670565b885260a0518801528c87019081528460608801528c51611013816116a6565b89815260808801528c51916110278361163f565b825260805160a051830152888d83015251906109ba826117f6565b50827f000000000000000000000000000000000000000000000000000000000000000016928a5192632bb74f2960e11b845260a0518480611086898d8c8401611843565b0381885afa93841561136957928c9695949289928b958495611441575b5084151592836111d1575b50508254161590816111c9575b501561117257506110e09585519687958694859363306ab04160e21b85528401611843565b03925af19182156111675791611139575b50945b845193845260805160a051850152848401521690837f97c3898103fd9fdccce47f19691ba2be4287b2db3a77364c51da39fcac381e9e60603393a45190815260a05190f35b6111599150853d8711611160575b61115181836116c1565b810190611944565b50866110f1565b503d611147565b8651903d90823e3d90fd5b855163306ab04160e21b815296879586949293508492611193928401611843565b03925af191821561116757916111ab575b50946110f4565b6111c29150853d87116111605761115181836116c1565b50866111a4565b90508e6110bb565b9295509250929495965081156000146112525750508234106111fd57918688928c9695945b8f806110ae565b8a5162461bcd60e51b815260a05181880152602860248201527f4343495057455448394272696467653a20696e73756666696369656e74206e61604482015267746976652066656560c01b6064820152608490fd5b346113e2578c5190815260a05133828a01908152306020820152604081018790529192909183919082908c90829060600103925af19081156113695788916113c3575b50156113735786548b5163095ea7b360e01b815260a0516001600160a01b038716828a019081526020810187905291929091839185169082908c90829060400103925af190811561136957889161134a575b50156112fa57918688928c9695946111f6565b8a5162461bcd60e51b815260a051818801526024808201527f4343495057455448394272696467653a2066656520617070726f76616c2066616044820152631a5b195960e21b6064820152608490fd5b60a05161136392503d8111610ceb57610cdd81836116c1565b8d6112e7565b8c513d8a823e3d90fd5b8a5162461bcd60e51b815260a051818801526024808201527f4343495057455448394272696467653a20666565207472616e736665722066616044820152631a5b195960e21b6064820152608490fd5b60a0516113dc92503d8111610ceb57610cdd81836116c1565b8d611295565b8c5162461bcd60e51b815260a051818a0152603260248201527f4343495057455448394272696467653a20757365206e6174697665206f7220746044820152710ded6cadc40cccaca5840dcdee840c4dee8d60731b6064820152608490fd5b9350959697509250925060a0513d60a05111611484575b61146281836116c1565b8160a05191810103126114805788928c9695949289925193386110a3565b8780fd5b503d611458565b634e487b7160e01b875260118652602487fd5b60a0516114b792503d8111610ceb57610cdd81836116c1565b8c610c85565b8a513d88823e3d90fd5b8590346101145781600319360112610114577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160401b038216820361152057565b600080fd5b602435906001600160a01b038216820361152057565b600435906001600160a01b038216820361152057565b9060035482101561159157600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b156115ae57565b60405162461bcd60e51b815260206004820152601f60248201527f4343495057455448394272696467653a20696e76616c696420616d6f756e74006044820152606490fd5b156115fa57565b60405162461bcd60e51b815260206004820152601f60248201527f4343495057455448394272696467653a207a65726f20726563697069656e74006044820152606490fd5b606081019081106001600160401b0382111761165a57604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761165a57604052565b604081019081106001600160401b0382111761165a57604052565b602081019081106001600160401b0382111761165a57604052565b90601f801991011681019081106001600160401b0382111761165a57604052565b156116e957565b60405162461bcd60e51b815260206004820152602860248201527f4343495057455448394272696467653a2064657374696e6174696f6e206e6f7460448201526708195b98589b195960c21b6064820152608490fd5b90816020910312611520575180151581036115205790565b1561175e57565b606460405162461bcd60e51b815260206004820152602060248201527f4343495057455448394272696467653a207472616e73666572206661696c65646044820152fd5b604090604051916117b28361168b565b6001835282916000805b6020808210156117ed578451602092916117d58261163f565b848252848183015284878301528289010152016117bc565b50505091925050565b8051156115915760200190565b919082519283825260005b84811061182f575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161180e565b909291926001600160401b03604091168252602091604083820152611874855160a0604084015260e0830190611803565b9183860151611892603f199460609286868303016060870152611803565b604088015195858583030160808601528080885193848152019701936000936000915b8483106118f0575050505050505060c060806118ed959660018060a01b0360608201511660a085015201519282850301910152611803565b90565b90919293949598818a5160018060a01b038151168352868101518784015201516002811015611930578282015282019884019594939260010191906118b5565b634e487b7160e01b88526021600452602488fd5b9190826040910312611520576020825192015190565b903590601e198136030182121561152057018035906001600160401b0382116115205760200191606082023603831361152057565b35906001600160a01b038216820361152057565b156119aa57565b60405162461bcd60e51b815260206004820152601b60248201527f4343495057455448394272696467653a206f6e6c792061646d696e00000000006044820152606490fd5b156119f657565b60405162461bcd60e51b815260206004820152601d60248201527f4343495057455448394272696467653a207a65726f20616464726573730000006044820152606490fd5b15611a4257565b60405162461bcd60e51b815260206004820152602660248201527f4343495057455448394272696467653a2064657374696e6174696f6e206e6f7460448201526508199bdd5b9960d21b6064820152608490fdfea264697066735822122072f3a650a579c4f79c8bfc3bcc6df3474ddacff890b8f9b4c70c191bf1aa110364736f6c63430008160033",
"deployedBytecode": "0x60c060408181526004918236101561001657600080fd5b60009260e08435811c9283630de22984146114c75750826343ed418614610e565782634c133f0614610ac257826350879c1c14610a7d578263647846a514610a545782636834e3a8146108465782636a743cf81461087f5782637ecebe00146108465782638f283970146107f457826396c75c5e1461079d578263abc343a714610618578263b217be241461048e578263c89245d514610446578263ced719f31461027a578263dd910d751461024d578263e0620a941461016157508163f2c2af4314610118575063f851a440146100ed57600080fd5b3461011457816003193601126101145760015490516001600160a01b039091168152602090f35b5080fd5b90503461015d57602036600319011261015d57359160035483101561015a57506001600160401b0361014b602093611551565b90549060031b1c169051908152f35b80fd5b8280fd5b9150503461015d578160031936011261015d577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e680916102476101a161150a565b916101aa611525565b936101f160018060a01b036101c4816001541633146119a3565b6101e860ff6001600160401b03881694858c526002602052868c2054901c16611a3b565b861615156119ef565b865260026020528086208054600160401b600160e01b031916604086901b600160401b600160e01b03161790555b516001600160401b0390921682526001600160a01b0390921660208201529081906040820190565b0390a180f35b5090503461015d57602036600319011261015d57816020938260ff93358252855220541690519015158152f35b8490843461015d578060031936011261015d5761029561150a565b9061029e611525565b60015490936001600160a01b03916102b990831633146119a3565b8185166102c78115156119ef565b6001600160401b039283861691828952600260205260ff868a2054851c166103ef5790610355918651956102fa8761163f565b84875260208088019283526001898901908152958c5260029052878b20965187549251600160401b600160e01b03941660401b939093166001600160e01b03199092169216600160401b600160e01b03191691909117178455565b51825460ff60e01b191690151590911b60ff60e01b16179055600354680100000000000000008110156103dc57829161021f7f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db395946103bd8460016102479601600355611551565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b855260418652602485fd5b855162461bcd60e51b81526020818c0152602b60248201527f4343495057455448394272696467653a2064657374696e6174696f6e20616c7260448201526a656164792065786973747360a81b6064820152608490fd5b843461015a57602036600319011261015a5761046061153b565b6001546001600160a01b03919061047a90831633146119a3565b82546001600160a01b031916911617815580f35b908492503461015d57602036600319011261015d576104ab61150a565b906001916104c460018060a01b036001541633146119a3565b6104e960ff6001600160401b0380931695868852600260205288882054901c16611a3b565b8385526002602052858520805460ff60e01b1916905584835b610535575b857f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad6020878a51908152a180f35b600380548083101561061157868461054c85611551565b905490851b1c1614610562575050830183610502565b93979450919260001991908281019081116105fe57906103bd8561058861059594611551565b905490871b1c1691611551565b815480156105eb577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad969750906020959493929101916105d483611551565b9091825491841b1b19169055559392819286610507565b634e487b7160e01b875260318852602487fd5b634e487b7160e01b885260118952602488fd5b5050610507565b8382863461015a578060031936011261015a5782519182916003836003549586815260209485809201908198600387527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9587925b8c8383860110610755575050506106b29554918482821061073c575b8c838310610720575b50828210610704575b50106106f6575b50905096959492939603826116c1565b83519485948186019282875251809352850193925b8281106106d657505050500390f35b83516001600160401b0316855286955093810193928101926001016106c7565b60c01c8152018490896106a2565b600191946001600160401b038560801c1681520193018461069b565b946001600160401b0385600194971c168152019301848c610692565b600191946001600160401b038516815201930184610689565b88546001600160401b03808216885281831c81168d890152608082811c9091169288019290925260c01c60608701526001909801978b97508a9650909401939283019261066d565b8484346101145760203660031901126101145760ff606093826001600160401b0394856107c861150a565b16815260026020522054908351948216855260018060a01b0382851c1660208601521c16151590820152f35b843461015a57602036600319011261015a5761080e61153b565b600154906001600160a01b039061082833838516146119a3565b16906108358215156119ef565b6001600160a01b0319161760015580f35b505050346101145760203660031901126101145760209181906001600160a01b0361086f61153b565b1681526005845220549051908152f35b8385913461015d578160031936011261015d576109c0936109db916108a261150a565b91602435926001600160401b039182821688526020988995600287526108fa89808c208151906108d18261163f565b54978816815260ff60018060a01b03988b83019a8a82861c168c521c16151591829101526116e2565b848951968b89890152828b8901528b60608901528b60808901526080885261092188611670565b511695895196888801528787526109378761168b565b61093f6117a2565b90868c5416908b51986109518a611670565b8952898901528a88019182526060880152895161096d816116a6565b8b815260808801528951916109818361163f565b867f0000000000000000000000000000000000000000000000000000000000000000168352888301528a8a83015251906109ba826117f6565b526117f6565b508651632bb74f2960e11b8152958694859384938401611843565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa928315610a49578093610a17575b505051908152f35b909192508382813d8311610a42575b610a3081836116c1565b8101031261015a575051908380610a0f565b503d610a26565b8251903d90823e3d90fd5b50505034610114578160031936011261011457905490516001600160a01b039091168152602090f35b50505034610114578160031936011261011457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50838334610114576020600319918183360112610e52578435916001600160401b0393848411610e4e578387019360a081360392830112610cc1576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610e0b5785359586895289855260ff868a205416610db457868952898552858920805460ff1916600117905560848301610b64818361195a565b905015610d7157610b75818361195a565b15610d5e573591838316809303610d0457837f000000000000000000000000000000000000000000000000000000000000000016809303610d1b5790610bba9161195a565b15610d085799858a9b013594610bd18615156115a7565b60648501359060221901811215610d045784019181830135918a8311610cfc5760248401928036038413610d00578460809181010312610cfc57610c6b948894610c276064610c208b9761198f565b920161198f565b50169b8c91610c378315156115f3565b8a5163a9059cbb60e01b81526001600160a01b03909316908301908152602081019490945290948593849291839160400190565b03925af1908115610cf25760249291610c8b918b91610cc5575b50611757565b0135948516809503610cc1577fde7d1015ddd9458361e77e6d812829b27714d7b5771ecd72a8930bce68b36c9a9251908152a480f35b8680fd5b610ce59150863d8811610ceb575b610cdd81836116c1565b81019061173f565b8b610c85565b503d610cd3565b85513d8b823e3d90fd5b8b80fd5b8c80fd5b8a80fd5b634e487b7160e01b8a5260328b5260248afd5b875162461bcd60e51b8152808d01889052601e60248201527f4343495057455448394272696467653a20696e76616c696420746f6b656e00006044820152606490fd5b634e487b7160e01b8b5260328c5260248bfd5b865162461bcd60e51b8152808c01879052601a60248201527f4343495057455448394272696467653a206e6f20746f6b656e730000000000006044820152606490fd5b855162461bcd60e51b8152808b01869052602b60248201527f4343495057455448394272696467653a207472616e7366657220616c7265616460448201526a1e481c1c9bd8d95cdcd95960aa1b6064820152608490fd5b845162461bcd60e51b8152808a01859052601c60248201527f4343495057455448394272696467653a206f6e6c7920726f75746572000000006044820152606490fd5b8580fd5b8380fd5b838286606036600319011261015a57610e6d61150a565b610e75611525565b91604435608052610e8960805115156115a7565b6001600160a01b0392831693610ea08515156115f3565b6001600160401b03938484168352602060a052600260a05152610ef08780852060ff825191610ece8361163f565b54898116835260a05183019c8d8783871c1690521c16151591829101526116e2565b86516323b872dd60e01b80825260a051608051338685019081523060208201526040810191909152919a7f000000000000000000000000000000000000000000000000000000000000000085169493909290919082908190606001038189885af19081156114bd5790610f6991879161149e5750611757565b338552600560a051528885208054600019811461148b576001019055338552600560a051528885205499611042838b51938b60a0518601526080518d8601523360608601528d608086015260808552610fc185611670565b5116948b519560a05187015260a0518652610fdb8661168b565b610fe36117a2565b85895416948d5197610ff489611670565b885260a0518801528c87019081528460608801528c51611013816116a6565b89815260808801528c51916110278361163f565b825260805160a051830152888d83015251906109ba826117f6565b50827f000000000000000000000000000000000000000000000000000000000000000016928a5192632bb74f2960e11b845260a0518480611086898d8c8401611843565b0381885afa93841561136957928c9695949289928b958495611441575b5084151592836111d1575b50508254161590816111c9575b501561117257506110e09585519687958694859363306ab04160e21b85528401611843565b03925af19182156111675791611139575b50945b845193845260805160a051850152848401521690837f97c3898103fd9fdccce47f19691ba2be4287b2db3a77364c51da39fcac381e9e60603393a45190815260a05190f35b6111599150853d8711611160575b61115181836116c1565b810190611944565b50866110f1565b503d611147565b8651903d90823e3d90fd5b855163306ab04160e21b815296879586949293508492611193928401611843565b03925af191821561116757916111ab575b50946110f4565b6111c29150853d87116111605761115181836116c1565b50866111a4565b90508e6110bb565b9295509250929495965081156000146112525750508234106111fd57918688928c9695945b8f806110ae565b8a5162461bcd60e51b815260a05181880152602860248201527f4343495057455448394272696467653a20696e73756666696369656e74206e61604482015267746976652066656560c01b6064820152608490fd5b346113e2578c5190815260a05133828a01908152306020820152604081018790529192909183919082908c90829060600103925af19081156113695788916113c3575b50156113735786548b5163095ea7b360e01b815260a0516001600160a01b038716828a019081526020810187905291929091839185169082908c90829060400103925af190811561136957889161134a575b50156112fa57918688928c9695946111f6565b8a5162461bcd60e51b815260a051818801526024808201527f4343495057455448394272696467653a2066656520617070726f76616c2066616044820152631a5b195960e21b6064820152608490fd5b60a05161136392503d8111610ceb57610cdd81836116c1565b8d6112e7565b8c513d8a823e3d90fd5b8a5162461bcd60e51b815260a051818801526024808201527f4343495057455448394272696467653a20666565207472616e736665722066616044820152631a5b195960e21b6064820152608490fd5b60a0516113dc92503d8111610ceb57610cdd81836116c1565b8d611295565b8c5162461bcd60e51b815260a051818a0152603260248201527f4343495057455448394272696467653a20757365206e6174697665206f7220746044820152710ded6cadc40cccaca5840dcdee840c4dee8d60731b6064820152608490fd5b9350959697509250925060a0513d60a05111611484575b61146281836116c1565b8160a05191810103126114805788928c9695949289925193386110a3565b8780fd5b503d611458565b634e487b7160e01b875260118652602487fd5b60a0516114b792503d8111610ceb57610cdd81836116c1565b8c610c85565b8a513d88823e3d90fd5b8590346101145781600319360112610114577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160401b038216820361152057565b600080fd5b602435906001600160a01b038216820361152057565b600435906001600160a01b038216820361152057565b9060035482101561159157600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b156115ae57565b60405162461bcd60e51b815260206004820152601f60248201527f4343495057455448394272696467653a20696e76616c696420616d6f756e74006044820152606490fd5b156115fa57565b60405162461bcd60e51b815260206004820152601f60248201527f4343495057455448394272696467653a207a65726f20726563697069656e74006044820152606490fd5b606081019081106001600160401b0382111761165a57604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761165a57604052565b604081019081106001600160401b0382111761165a57604052565b602081019081106001600160401b0382111761165a57604052565b90601f801991011681019081106001600160401b0382111761165a57604052565b156116e957565b60405162461bcd60e51b815260206004820152602860248201527f4343495057455448394272696467653a2064657374696e6174696f6e206e6f7460448201526708195b98589b195960c21b6064820152608490fd5b90816020910312611520575180151581036115205790565b1561175e57565b606460405162461bcd60e51b815260206004820152602060248201527f4343495057455448394272696467653a207472616e73666572206661696c65646044820152fd5b604090604051916117b28361168b565b6001835282916000805b6020808210156117ed578451602092916117d58261163f565b848252848183015284878301528289010152016117bc565b50505091925050565b8051156115915760200190565b919082519283825260005b84811061182f575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161180e565b909291926001600160401b03604091168252602091604083820152611874855160a0604084015260e0830190611803565b9183860151611892603f199460609286868303016060870152611803565b604088015195858583030160808601528080885193848152019701936000936000915b8483106118f0575050505050505060c060806118ed959660018060a01b0360608201511660a085015201519282850301910152611803565b90565b90919293949598818a5160018060a01b038151168352868101518784015201516002811015611930578282015282019884019594939260010191906118b5565b634e487b7160e01b88526021600452602488fd5b9190826040910312611520576020825192015190565b903590601e198136030182121561152057018035906001600160401b0382116115205760200191606082023603831361152057565b35906001600160a01b038216820361152057565b156119aa57565b60405162461bcd60e51b815260206004820152601b60248201527f4343495057455448394272696467653a206f6e6c792061646d696e00000000006044820152606490fd5b156119f657565b60405162461bcd60e51b815260206004820152601d60248201527f4343495057455448394272696467653a207a65726f20616464726573730000006044820152606490fd5b15611a4257565b60405162461bcd60e51b815260206004820152602660248201527f4343495057455448394272696467653a2064657374696e6174696f6e206e6f7460448201526508199bdd5b9960d21b6064820152608490fdfea264697066735822122072f3a650a579c4f79c8bfc3bcc6df3474ddacff890b8f9b4c70c191bf1aa110364736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}