@eth-optimism/contracts-periphery
Version:
[Optimism] External (out-of-protocol) L1 and L2 smart contracts for Optimism
292 lines (291 loc) • 36.3 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "OptimistInviter",
"sourceName": "contracts/universal/op-nft/OptimistInviter.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_inviteGranter",
"type": "address"
},
{
"internalType": "contract AttestationStation",
"name": "_attestationStation",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "issuer",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "claimer",
"type": "address"
}
],
"name": "InviteClaimed",
"type": "event"
},
{
"inputs": [],
"name": "ATTESTATION_STATION",
"outputs": [
{
"internalType": "contract AttestationStation",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "CAN_INVITE_ATTESTATION_KEY",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "CLAIMABLE_INVITE_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "EIP712_VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INVITE_GRANTER",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MIN_COMMITMENT_PERIOD",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_claimer",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "issuer",
"type": "address"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
}
],
"internalType": "struct OptimistInviter.ClaimableInvite",
"name": "_claimableInvite",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
}
],
"name": "claimInvite",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_commitment",
"type": "bytes32"
}
],
"name": "commitInvite",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "commitmentTimestamps",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "inviteCounts",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_accounts",
"type": "address[]"
},
{
"internalType": "uint256",
"name": "_inviteCount",
"type": "uint256"
}
],
"name": "setInviteCounts",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "usedNonces",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6101206040523480156200001257600080fd5b5060405162001e0938038062001e09833981016040819052620000359162000076565b6001608052600060a081905260c0526001600160a01b0391821660e0521661010052620000b5565b6001600160a01b03811681146200007357600080fd5b50565b600080604083850312156200008a57600080fd5b825162000097816200005d565b6020840151909250620000aa816200005d565b809150509250929050565b60805160a05160c05160e05161010051611cfb6200010e60003960008181610257015281816106510152610c0201526000818160f401526103b401526000610da101526000610d7801526000610d4f0152611cfb6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916db22f1161008c578063db083d7111610066578063db083d7114610252578063de2dd22114610279578063eccec5a814610299578063f62d1888146102d557600080fd5b8063916db22f146101e4578063b4245d731461020b578063c4fc453d1461022b57600080fd5b806350b414e6116100c857806350b414e61461016857806350eedbc21461017e57806354fd4d50146101915780635fda04c7146101a657600080fd5b806314b47241146100ef578063187e3cd11461014057806325b27a3d14610155575b600080fd5b6101167f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61015361014e36600461165f565b6102e8565b005b610153610163366004611678565b61039c565b610170603c81565b604051908152602001610137565b61015361018c3660046117df565b6106bf565b610199610d48565b60405161013791906118f5565b6101d46101b4366004611908565b603660209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610137565b6101707f6f7074696d6973742e63616e2d696e766974650000000000000000000000000081565b61017061021936600461165f565b60356020526000908152604090205481565b6101707f6529fd129351e725d7bcbc468b0b0b4675477e56b58514e69ab7e66ddfd20fce81565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b610170610287366004611932565b60376020526000908152604090205481565b6101996040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6101536102e336600461194d565b610deb565b60008181526035602052604090205415610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4f7074696d697374496e76697465723a20636f6d6d69746d656e7420616c726560448201527f616479206d61646500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000908152603560205260409020429055565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f7074696d697374496e76697465723a206f6e6c7920696e766974652067726160448201527f6e7465722063616e206772616e7420696e7669746573000000000000000000006064820152608401610380565b8160008167ffffffffffffffff81111561047d5761047d61171c565b6040519080825280602002602001820160405280156104ca57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161049b5790505b50905060005b828110156106135783603760008888858181106104ef576104ef611996565b90506020020160208101906105049190611932565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550604051806060016040528087878481811061055f5761055f611996565b90506020020160208101906105749190611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020017f6f7074696d6973742e63616e2d696e766974650000000000000000000000000081526020016040518060400160405280600481526020017f747275650000000000000000000000000000000000000000000000000000000081525081525082828151811061060057610600611996565b60209081029190910101526001016104d0565b506040517f5eb5ea1000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635eb5ea10906106869084906004016119c5565b600060405180830381600087803b1580156106a057600080fd5b505af11580156106b4573d6000803e3d6000fd5b505050505050505050565b60006035600085846040516020016106d8929190611a78565b604051602081830303815290604052805190602001208152602001908152602001600020549050600081116107b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f4f7074696d697374496e76697465723a20636c61696d657220616e642073696760448201527f6e61747572652068617665206e6f74206265656e20636f6d6d6974746564207960648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a401610380565b426107c1603c83611ad6565b111561084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4f7074696d697374496e76697465723a206d696e696d756d20636f6d6d69746d60448201527f656e7420706572696f6420686173206e6f7420656c61707365642079657400006064820152608401610380565b60006108d27f6529fd129351e725d7bcbc468b0b0b4675477e56b58514e69ab7e66ddfd20fce6108826020870187611932565b6040805160208181019490945273ffffffffffffffffffffffffffffffffffffffff9092169082015290860135606082015260800160405160208183030381529060405280519060200120610fb5565b90506108eb6108e46020860186611932565b8285611024565b610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4f7074696d697374496e76697465723a20696e76616c6964207369676e61747560448201527f72650000000000000000000000000000000000000000000000000000000000006064820152608401610380565b603660006109886020870187611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020808201929092526040908101600090812087840135825290925290205460ff1615610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4f7074696d697374496e76697465723a206e6f6e63652068617320616c72656160448201527f6479206265656e207573656400000000000000000000000000000000000000006064820152608401610380565b600160366000610a626020880188611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020808201929092526040908101600090812088840180358352935290812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092556037908290610ad69088611932565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610b9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f7074696d697374496e76697465723a2069737375657220686173206e6f206960448201527f6e766974657300000000000000000000000000000000000000000000000000006064820152608401610380565b60376000610baf6020870187611932565b73ffffffffffffffffffffffffffffffffffffffff9081168252602080830193909352604090910160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190557f0000000000000000000000000000000000000000000000000000000000000000169063702b9dee9087907f6f7074696d6973742e63616e2d6d696e742d66726f6d2d696e7669746500000090610c5990890189611932565b6040805173ffffffffffffffffffffffffffffffffffffffff9092166020830152016040516020818303038152906040526040518463ffffffff1660e01b8152600401610ca893929190611aee565b600060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff86169050610cff6020860186611932565b73ffffffffffffffffffffffffffffffffffffffff167f745d3c5bc92ab40b418069bf8f8e2030807effceb88bbaa07ee01574f16be47560405160405180910390a35050505050565b6060610d737f00000000000000000000000000000000000000000000000000000000000000006111f3565b610d9c7f00000000000000000000000000000000000000000000000000000000000000006111f3565b610dc57f00000000000000000000000000000000000000000000000000000000000000006111f3565b604051602001610dd793929190611b2c565b604051602081830303815290604052905090565b600054610100900460ff1615808015610e0b5750600054600160ff909116105b80610e255750303b158015610e25575060005460ff166001145b610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610380565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f4e826040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250611330565b8015610fb157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061101e610fc26113d1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b60008060006110338585611451565b9092509050600081600481111561104c5761104c611ba2565b14801561108457508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611094576001925050506111ec565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b88886040516024016110c9929190611bd1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516111529190611bea565b600060405180830381855afa9150503d806000811461118d576040519150601f19603f3d011682016040523d82523d6000602084013e611192565b606091505b50915091508180156111a5575080516020145b80156111e5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906111e39083016020908101908401611c06565b145b9450505050505b9392505050565b60608160000361123657505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611260578061124a81611c1f565b91506112599050600a83611c86565b915061123a565b60008167ffffffffffffffff81111561127b5761127b61171c565b6040519080825280601f01601f1916602001820160405280156112a5576020820181803683370190505b5090505b8415611328576112ba600183611c9a565b91506112c7600a86611cb1565b6112d2906030611ad6565b60f81b8183815181106112e7576112e7611996565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611321600a86611c86565b94506112a9565b949350505050565b600054610100900460ff166113c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610380565b610fb18282611496565b600061144c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61140060015490565b6002546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b905090565b60008082516041036114875760208301516040840151606085015160001a61147b87828585611547565b9450945050505061148f565b506000905060025b9250929050565b600054610100900460ff1661152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610380565b815160209283012081519190920120600191909155600255565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561157e5750600090506003611656565b8460ff16601b1415801561159657508460ff16601c14155b156115a75750600090506004611656565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156115fb573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661164f57600060019250925050611656565b9150600090505b94509492505050565b60006020828403121561167157600080fd5b5035919050565b60008060006040848603121561168d57600080fd5b833567ffffffffffffffff808211156116a557600080fd5b818601915086601f8301126116b957600080fd5b8135818111156116c857600080fd5b8760208260051b85010111156116dd57600080fd5b6020928301989097509590910135949350505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461171757600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156117665761176661171c565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156117ac576117ac61171c565b816040528093508581528686860111156117c557600080fd5b858560208301376000602087830101525050509392505050565b600080600083850360808112156117f557600080fd5b6117fe856116f3565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561183057600080fd5b50602084019150606084013567ffffffffffffffff81111561185157600080fd5b8401601f8101861361186257600080fd5b6118718682356020840161174b565b9150509250925092565b60005b8381101561189657818101518382015260200161187e565b838111156118a5576000848401525b50505050565b600081518084526118c381602086016020860161187b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111ec60208301846118ab565b6000806040838503121561191b57600080fd5b611924836116f3565b946020939093013593505050565b60006020828403121561194457600080fd5b6111ec826116f3565b60006020828403121561195f57600080fd5b813567ffffffffffffffff81111561197657600080fd5b8201601f8101841361198757600080fd5b6113288482356020840161174b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611a6a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff16845287810151888501528601516060878501819052611a56818601836118ab565b9689019694505050908601906001016119ec565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061132860408301846118ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611ae957611ae9611aa7565b500190565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000611b2360608301846118ab565b95945050505050565b60008451611b3e81846020890161187b565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611b7a816001850160208a0161187b565b60019201918201528351611b9581600284016020880161187b565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82815260406020820152600061132860408301846118ab565b60008251611bfc81846020870161187b565b9190910192915050565b600060208284031215611c1857600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c5057611c50611aa7565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611c9557611c95611c57565b500490565b600082821015611cac57611cac611aa7565b500390565b600082611cc057611cc0611c57565b50069056fea264697066735822122097f93936c2ea57902b86c424cff790fa55dccd81b007b045479cd5575c81c5d564736f6c634300080f0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916db22f1161008c578063db083d7111610066578063db083d7114610252578063de2dd22114610279578063eccec5a814610299578063f62d1888146102d557600080fd5b8063916db22f146101e4578063b4245d731461020b578063c4fc453d1461022b57600080fd5b806350b414e6116100c857806350b414e61461016857806350eedbc21461017e57806354fd4d50146101915780635fda04c7146101a657600080fd5b806314b47241146100ef578063187e3cd11461014057806325b27a3d14610155575b600080fd5b6101167f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61015361014e36600461165f565b6102e8565b005b610153610163366004611678565b61039c565b610170603c81565b604051908152602001610137565b61015361018c3660046117df565b6106bf565b610199610d48565b60405161013791906118f5565b6101d46101b4366004611908565b603660209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610137565b6101707f6f7074696d6973742e63616e2d696e766974650000000000000000000000000081565b61017061021936600461165f565b60356020526000908152604090205481565b6101707f6529fd129351e725d7bcbc468b0b0b4675477e56b58514e69ab7e66ddfd20fce81565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b610170610287366004611932565b60376020526000908152604090205481565b6101996040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6101536102e336600461194d565b610deb565b60008181526035602052604090205415610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4f7074696d697374496e76697465723a20636f6d6d69746d656e7420616c726560448201527f616479206d61646500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000908152603560205260409020429055565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f7074696d697374496e76697465723a206f6e6c7920696e766974652067726160448201527f6e7465722063616e206772616e7420696e7669746573000000000000000000006064820152608401610380565b8160008167ffffffffffffffff81111561047d5761047d61171c565b6040519080825280602002602001820160405280156104ca57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161049b5790505b50905060005b828110156106135783603760008888858181106104ef576104ef611996565b90506020020160208101906105049190611932565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550604051806060016040528087878481811061055f5761055f611996565b90506020020160208101906105749190611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020017f6f7074696d6973742e63616e2d696e766974650000000000000000000000000081526020016040518060400160405280600481526020017f747275650000000000000000000000000000000000000000000000000000000081525081525082828151811061060057610600611996565b60209081029190910101526001016104d0565b506040517f5eb5ea1000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635eb5ea10906106869084906004016119c5565b600060405180830381600087803b1580156106a057600080fd5b505af11580156106b4573d6000803e3d6000fd5b505050505050505050565b60006035600085846040516020016106d8929190611a78565b604051602081830303815290604052805190602001208152602001908152602001600020549050600081116107b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f4f7074696d697374496e76697465723a20636c61696d657220616e642073696760448201527f6e61747572652068617665206e6f74206265656e20636f6d6d6974746564207960648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a401610380565b426107c1603c83611ad6565b111561084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4f7074696d697374496e76697465723a206d696e696d756d20636f6d6d69746d60448201527f656e7420706572696f6420686173206e6f7420656c61707365642079657400006064820152608401610380565b60006108d27f6529fd129351e725d7bcbc468b0b0b4675477e56b58514e69ab7e66ddfd20fce6108826020870187611932565b6040805160208181019490945273ffffffffffffffffffffffffffffffffffffffff9092169082015290860135606082015260800160405160208183030381529060405280519060200120610fb5565b90506108eb6108e46020860186611932565b8285611024565b610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4f7074696d697374496e76697465723a20696e76616c6964207369676e61747560448201527f72650000000000000000000000000000000000000000000000000000000000006064820152608401610380565b603660006109886020870187611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020808201929092526040908101600090812087840135825290925290205460ff1615610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4f7074696d697374496e76697465723a206e6f6e63652068617320616c72656160448201527f6479206265656e207573656400000000000000000000000000000000000000006064820152608401610380565b600160366000610a626020880188611932565b73ffffffffffffffffffffffffffffffffffffffff1681526020808201929092526040908101600090812088840180358352935290812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092556037908290610ad69088611932565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610b9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f7074696d697374496e76697465723a2069737375657220686173206e6f206960448201527f6e766974657300000000000000000000000000000000000000000000000000006064820152608401610380565b60376000610baf6020870187611932565b73ffffffffffffffffffffffffffffffffffffffff9081168252602080830193909352604090910160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190557f0000000000000000000000000000000000000000000000000000000000000000169063702b9dee9087907f6f7074696d6973742e63616e2d6d696e742d66726f6d2d696e7669746500000090610c5990890189611932565b6040805173ffffffffffffffffffffffffffffffffffffffff9092166020830152016040516020818303038152906040526040518463ffffffff1660e01b8152600401610ca893929190611aee565b600060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff86169050610cff6020860186611932565b73ffffffffffffffffffffffffffffffffffffffff167f745d3c5bc92ab40b418069bf8f8e2030807effceb88bbaa07ee01574f16be47560405160405180910390a35050505050565b6060610d737f00000000000000000000000000000000000000000000000000000000000000006111f3565b610d9c7f00000000000000000000000000000000000000000000000000000000000000006111f3565b610dc57f00000000000000000000000000000000000000000000000000000000000000006111f3565b604051602001610dd793929190611b2c565b604051602081830303815290604052905090565b600054610100900460ff1615808015610e0b5750600054600160ff909116105b80610e255750303b158015610e25575060005460ff166001145b610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610380565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f4e826040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250611330565b8015610fb157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061101e610fc26113d1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b60008060006110338585611451565b9092509050600081600481111561104c5761104c611ba2565b14801561108457508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611094576001925050506111ec565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b88886040516024016110c9929190611bd1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516111529190611bea565b600060405180830381855afa9150503d806000811461118d576040519150601f19603f3d011682016040523d82523d6000602084013e611192565b606091505b50915091508180156111a5575080516020145b80156111e5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906111e39083016020908101908401611c06565b145b9450505050505b9392505050565b60608160000361123657505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611260578061124a81611c1f565b91506112599050600a83611c86565b915061123a565b60008167ffffffffffffffff81111561127b5761127b61171c565b6040519080825280601f01601f1916602001820160405280156112a5576020820181803683370190505b5090505b8415611328576112ba600183611c9a565b91506112c7600a86611cb1565b6112d2906030611ad6565b60f81b8183815181106112e7576112e7611996565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611321600a86611c86565b94506112a9565b949350505050565b600054610100900460ff166113c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610380565b610fb18282611496565b600061144c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61140060015490565b6002546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b905090565b60008082516041036114875760208301516040840151606085015160001a61147b87828585611547565b9450945050505061148f565b506000905060025b9250929050565b600054610100900460ff1661152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610380565b815160209283012081519190920120600191909155600255565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561157e5750600090506003611656565b8460ff16601b1415801561159657508460ff16601c14155b156115a75750600090506004611656565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156115fb573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661164f57600060019250925050611656565b9150600090505b94509492505050565b60006020828403121561167157600080fd5b5035919050565b60008060006040848603121561168d57600080fd5b833567ffffffffffffffff808211156116a557600080fd5b818601915086601f8301126116b957600080fd5b8135818111156116c857600080fd5b8760208260051b85010111156116dd57600080fd5b6020928301989097509590910135949350505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461171757600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156117665761176661171c565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156117ac576117ac61171c565b816040528093508581528686860111156117c557600080fd5b858560208301376000602087830101525050509392505050565b600080600083850360808112156117f557600080fd5b6117fe856116f3565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561183057600080fd5b50602084019150606084013567ffffffffffffffff81111561185157600080fd5b8401601f8101861361186257600080fd5b6118718682356020840161174b565b9150509250925092565b60005b8381101561189657818101518382015260200161187e565b838111156118a5576000848401525b50505050565b600081518084526118c381602086016020860161187b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111ec60208301846118ab565b6000806040838503121561191b57600080fd5b611924836116f3565b946020939093013593505050565b60006020828403121561194457600080fd5b6111ec826116f3565b60006020828403121561195f57600080fd5b813567ffffffffffffffff81111561197657600080fd5b8201601f8101841361198757600080fd5b6113288482356020840161174b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611a6a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff16845287810151888501528601516060878501819052611a56818601836118ab565b9689019694505050908601906001016119ec565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061132860408301846118ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611ae957611ae9611aa7565b500190565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000611b2360608301846118ab565b95945050505050565b60008451611b3e81846020890161187b565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611b7a816001850160208a0161187b565b60019201918201528351611b9581600284016020880161187b565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82815260406020820152600061132860408301846118ab565b60008251611bfc81846020870161187b565b9190910192915050565b600060208284031215611c1857600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c5057611c50611aa7565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611c9557611c95611c57565b500490565b600082821015611cac57611cac611aa7565b500390565b600082611cc057611cc0611c57565b50069056fea264697066735822122097f93936c2ea57902b86c424cff790fa55dccd81b007b045479cd5575c81c5d564736f6c634300080f0033",
"linkReferences": {},
"deployedLinkReferences": {}
}