UNPKG

@giveth/bridge-contract

Version:
754 lines 62 kB
{ "contractName": "FailClosedVault", "source": "./contracts/lib/FailClosedVault.sol", "compilerOutput": { "abi": [ { "constant": true, "inputs": [], "name": "maxSecurityGuardDelay", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "checkIn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newTimeLock", "type": "uint256" } ], "name": "setTimelock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "escapeHatchCaller", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "changeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "securityGuardLastCheckin", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" } ], "name": "disburseAuthorizedPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_dac", "type": "address" } ], "name": "removeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "allowed", "type": "bool" } ], "name": "setAllowDisbursePaymentWhenPaused", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "numberOfAuthorizedPayments", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwnerCandidate", "type": "address" } ], "name": "proposeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_authorize", "type": "bool" } ], "name": "authorizeSpender", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "acceptOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" } ], "name": "cancelPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" }, { "name": "_delay", "type": "uint256" } ], "name": "delayPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "allowDisbursePaymentWhenPaused", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayments", "type": "uint256[]" } ], "name": "disburseAuthorizedPayments", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_token", "type": "address" } ], "name": "isTokenEscapable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "authorizedPayments", "outputs": [ { "name": "name", "type": "string" }, { "name": "reference", "type": "bytes32" }, { "name": "spender", "type": "address" }, { "name": "earliestPayTime", "type": "uint256" }, { "name": "canceled", "type": "bool" }, { "name": "paid", "type": "bool" }, { "name": "recipient", "type": "address" }, { "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "securityGuardDelay", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token", "type": "address" } ], "name": "escapeHatch", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "securityGuard", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newSecurityGuard", "type": "address" } ], "name": "setSecurityGuard", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "timeLock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "newOwnerCandidate", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newEscapeHatchCaller", "type": "address" } ], "name": "changeHatchEscapeCaller", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "allowedSpenders", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_maxSecurityGuardDelay", "type": "uint256" } ], "name": "setMaxSecurityGuardDelay", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "absoluteMinTimeLock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_reference", "type": "bytes32" }, { "name": "_recipient", "type": "address" }, { "name": "_token", "type": "address" }, { "name": "_amount", "type": "uint256" }, { "name": "_paymentDelay", "type": "uint256" } ], "name": "authorizePayment", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "escapeHatchDestination", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_escapeHatchCaller", "type": "address" }, { "name": "_escapeHatchDestination", "type": "address" }, { "name": "_absoluteMinTimeLock", "type": "uint256" }, { "name": "_timeLock", "type": "uint256" }, { "name": "_securityGuard", "type": "address" }, { "name": "_maxSecurityGuardDelay", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" }, { "indexed": true, "name": "recipient", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" }, { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "reference", "type": "bytes32" } ], "name": "PaymentAuthorized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" }, { "indexed": true, "name": "recipient", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" }, { "indexed": false, "name": "token", "type": "address" } ], "name": "PaymentExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" } ], "name": "PaymentCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "spender", "type": "address" }, { "indexed": false, "name": "authorized", "type": "bool" } ], "name": "SpenderAuthorization", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "token", "type": "address" } ], "name": "EscapeHatchBlackistedToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "EscapeHatchCalled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "by", "type": "address" }, { "indexed": true, "name": "to", "type": "address" } ], "name": "OwnershipRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "OwnershipRemoved", "type": "event" } ], "evm": { "bytecode": { "object": "60806040526005805460ff1916905534801561001a57600080fd5b5060405160c080611c5a83398101604090815281516020830151918301516060840151608085015160a09095015160008054600160a060020a0319908116331790915560028054600160a060020a03968716908316179055600380549686169682169690961790955560089290925560095560078054929094169190921617909155600a55611bac806100ae6000396000f3006080604052600436106101ab5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b2e742381146101b0578063183ff085146101d75780631e891c0a146101ee5780631f6eb6e7146102065780632af4c31e146102375780633f487b8b146102585780633f4ba83a1461026d57806352892478146102825780635c975abb1461029a578063666a3427146102c3578063672f412c146102e457806368b8c5a1146102fe578063710bf32214610313578063793c0fd41461033457806379ba50971461035a5780638422927d1461036f5780638456cb5914610387578063846a5dde1461039c578063859bcc71146103b7578063863da000146103cc578063892db057146104215780638da5cb5b14610442578063a0927a6a14610457578063a142d60814610541578063b2ca3ec414610562578063bb2a51d114610577578063d085835a14610598578063d091b550146105ad578063d836fbe8146105c2578063d8528af0146105e3578063da4793ac14610604578063ea8a66c71461061c578063f37b74ca14610631578063f5b612301461066d575b600080fd5b3480156101bc57600080fd5b506101c5610682565b60408051918252519081900360200190f35b3480156101e357600080fd5b506101ec610688565b005b3480156101fa57600080fd5b506101ec6004356106ac565b34801561021257600080fd5b5061021b610710565b60408051600160a060020a039092168252519081900360200190f35b34801561024357600080fd5b506101ec600160a060020a036004351661071f565b34801561026457600080fd5b506101c5610830565b34801561027957600080fd5b506101ec610836565b34801561028e57600080fd5b506101ec6004356108cc565b3480156102a657600080fd5b506102af610944565b604080519115158252519081900360200190f35b3480156102cf57600080fd5b506101ec600160a060020a036004351661094d565b3480156102f057600080fd5b506101ec6004351515610a44565b34801561030a57600080fd5b506101c5610ab8565b34801561031f57600080fd5b506101ec600160a060020a0360043516610abf565b34801561034057600080fd5b506101ec600160a060020a03600435166024351515610b61565b34801561036657600080fd5b506101ec610c11565b34801561037b57600080fd5b506101ec600435610cd4565b34801561039357600080fd5b506101ec610dbb565b3480156103a857600080fd5b506101ec600435602435610e2f565b3480156103c357600080fd5b506102af610ee1565b3480156103d857600080fd5b50604080516020600480358082013583810280860185019096528085526101ec95369593946024949385019291829185019084908082843750949750610eea9650505050505050565b34801561042d57600080fd5b506102af600160a060020a0360043516610f2a565b34801561044e57600080fd5b5061021b610f49565b34801561046357600080fd5b5061046f600435610f58565b6040805160208082018c9052600160a060020a03808c1693830193909352606082018a9052881515608083015287151560a083015286831660c083015291851660e0820152610100810184905261012081018390526101408082528c51908201528b51909182916101608301918e019080838360005b838110156104fd5781810151838201526020016104e5565b50505050905090810190601f16801561052a5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561054d57600080fd5b506101ec600160a060020a0360043516611059565b34801561056e57600080fd5b5061021b6113ae565b34801561058357600080fd5b506101ec600160a060020a03600435166113bd565b3480156105a457600080fd5b506101c561142f565b3480156105b957600080fd5b5061021b611435565b3480156105ce57600080fd5b506101ec600160a060020a0360043516611444565b3480156105ef57600080fd5b506102af600160a060020a03600435166114df565b34801561061057600080fd5b506101ec6004356114f4565b34801561062857600080fd5b506101c5611549565b34801561063d57600080fd5b506101c5602460048035828101929101359035600160a060020a036044358116906064351660843560a43561154f565b34801561067957600080fd5b5061021b6116e3565b600a5481565b600754600160a060020a0316331461069f57600080fd5b6106a76116f2565b600d55565b600054600160a060020a031633146106fc576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60085481101561070b57600080fd5b600955565b600254600160a060020a031681565b60008054600160a060020a03163314610770576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600160a060020a03821615156107d0576040805160e560020a62461bcd02815260206004820152601760248201527f6572725f6f776e6564496e76616c696441646472657373000000000000000000604482015290519081900360640190fd5b5060008054600160a060020a03838116600160a060020a031980841691909117808555600180549092169091556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600d5481565b600054600160a060020a03163314610886576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff16151561089757600080fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60055460009060ff1615806108e35750600b5460ff165b15156108ee57600080fd5b60065482106108fc57600080fd5b600680548390811061090a57fe5b9060005260206000209060080201905060095481600301540361070801600d541015151561093757600080fd5b610940826116f6565b5050565b60055460ff1681565b600054600160a060020a0316331461099d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b610dac600160a060020a038216146109ff576040805160e560020a62461bcd02815260206004820152601360248201527f6572725f6f776e6564496e76616c696444616300000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031990811682556001805490911690556040517f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb9190a150565b600054600160a060020a03163314610a94576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff161515610aa557600080fd5b600b805460ff1916911515919091179055565b6006545b90565b600054600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a03838116919091179182905560405191169033907f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec490600090a350565b600054600160a060020a03163314610bb1576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600160a060020a0382166000818152600c6020908152604091829020805460ff1916851515908117909155825190815291517f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c8272819281900390910190a25050565b600154600090600160a060020a03163314610c76576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f6f776e65644e6f7443616e6469646174650000000000000000000000604482015290519081900360640190fd5b506000805460018054600160a060020a03808216600160a060020a03198086169190911780875592169092556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60008054600160a060020a03163314610d25576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b6006548210610d3357600080fd5b6006805483908110610d4157fe5b60009182526020909120600890910201600481015490915060ff1615610d6657600080fd5b6004810154610100900460ff1615610d7d57600080fd5b60048101805460ff1916600117905560405182907ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30190600090a25050565b600054600160a060020a03163314610e0b576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff1615610e1b57600080fd5b600b805460ff19169055610e2d61193d565b565b600754600090600160a060020a03163314610e4957600080fd5b6006548310610e5757600080fd5b670de0b6b3a7640000821115610e6c57600080fd5b6006805484908110610e7a57fe5b90600052602060002090600802019050600a548282600701540111151515610ea157600080fd5b6004810154610100900460ff1615610eb857600080fd5b600481015460ff1615610eca57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b8251821015610f25578282815181101515610f0557fe5b906020019060200201519050610f1a816108cc565b600190910190610eee565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b6006805482908110610f6657fe5b60009182526020918290206008919091020180546040805160026001841615610100026000190190931692909204601f810185900485028301850190915280825291935091839190830182828015610fff5780601f10610fd457610100808354040283529160200191610fff565b820191906000526020600020905b815481529060010190602001808311610fe257829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b6002546000908190600160a060020a03163314806110815750600054600160a060020a031633145b15156110d7576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205460ff1615611148576040805160e560020a62461bcd02815260206004820152601d60248201527f6572725f657363617061626c65426c61636b6c6973746564546f6b656e000000604482015290519081900360640190fd5b600160a060020a03831615156111e05760035460405130319350600160a060020a03909116906108fc8415029084906000818181858888f19350505050158015611196573d6000803e3d6000fd5b5060408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1610f25565b50604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600160a060020a038316916370a08231916024808201926020929091908290030181600087803b15801561124557600080fd5b505af1158015611259573d6000803e3d6000fd5b505050506040513d602081101561126f57600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519294509083169163a9059cbb916044808201926020929091908290030181600087803b1580156112e357600080fd5b505af11580156112f7573d6000803e3d6000fd5b505050506040513d602081101561130d57600080fd5b50511515611365576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f657363617061626c655472616e736665720000000000000000000000604482015290519081900360640190fd5b60408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1505050565b600754600160a060020a031681565b600054600160a060020a0316331461140d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60095481565b600154600160a060020a031681565b600254600160a060020a03163314806114675750600054600160a060020a031633145b15156114bd576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b600054600160a060020a03163314611544576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600a55565b60085481565b6005546000908190819060ff161561156657600080fd5b336000908152600c602052604090205460ff16151561158457600080fd5b600680549250829061159990600183016119d5565b5060068054839081106115a857fe5b6000918252602090912060026008909202019081018054600160a060020a031916331790559050670de0b6b3a76400008411156115e457600080fd5b6009548410156115ff576009546115f96116f2565b0161160a565b836116086116f2565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a160217905560068101859055611652818b8b611a01565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546040805191825293831660208201528084018c90529251620100009091049091169184917fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c4916060908290030190a35098975050505050505050565b600354600160a060020a031681565b4290565b60055460009060ff16158061170d5750600b5460ff165b151561171857600080fd5b600654821061172657600080fd5b600680548390811061173457fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff16151561177057600080fd5b806003015461177d6116f2565b101561178857600080fd5b600481015460ff161561179a57600080fd5b6004810154610100900460ff16156117b157600080fd5b60048101805461ff0019166101001790556005810154600160a060020a03161515611821576004810154600682015460405162010000909204600160a060020a0316916108fc82150291906000818181858888f1935050505015801561181b573d6000803e3d6000fd5b506118db565b60058101546004808301546006840154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090940484169481019490945260248401919091525192169163a9059cbb916044808201926020929091908290030181600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b505050506040513d60208110156118ce57600080fd5b505115156118db57600080fd5b60048101546006820154600583015460408051928352600160a060020a0391821660208401528051620100009094049091169285927f354f3c0c8efabe1a1a07cf222842b008ef284ac185e63bdf8245be8cd2d97f5192908290030190a35050565b600054600160a060020a0316331461198d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff161561199d57600080fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b815481835581811115610f2557600802816008028360005260206000209182019101610f259190611a7f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a425782800160ff19823516178555611a6f565b82800160010185558215611a6f579182015b82811115611a6f578235825591602001919060010190611a54565b50611a7b929150611aff565b5090565b610abc91905b80821115611a7b576000611a998282611b19565b50600060018201819055600282018054600160a060020a03199081169091556003830182905560048301805475ffffffffffffffffffffffffffffffffffffffffffff191690556005830180549091169055600682018190556007820155600801611a85565b610abc91905b80821115611a7b5760008155600101611b05565b50805460018160011615610100020316600290046000825580601f10611b3f5750611b5d565b601f016020900490600052602060002090810190611b5d9190611aff565b5056006572725f6f776e65644e6f744f776e6572000000000000000000000000000000a165627a7a72305820eb228403f4ed26ee19f648183a127f253a8a32f72b6c7d7b9a557be7266be5530029", "sourceMap": "881:2782:4:-;;;269:26:5;;;-1:-1:-1;;269:26:5;;;1418:429:4;5:2:-1;;;;30:1;27;20:12;5:2;1418:429:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;990:5:9;:18;;-1:-1:-1;;;;;;990:18:9;;;998:10;990:18;;;;2094:17:8;:38;;-1:-1:-1;;;;;2094:38:8;;;;;;;;;2142:22;:48;;;;;;;;;;;;;;;5231:19:6;:42;;;;5283:8;:20;5313:13;:30;;;;;;;;;;;;;;5353:21;:46;881:2782:4;;;;;;" }, "deployedBytecode": { "object": "6080604052600436106101ab5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b2e742381146101b0578063183ff085146101d75780631e891c0a146101ee5780631f6eb6e7146102065780632af4c31e146102375780633f487b8b146102585780633f4ba83a1461026d57806352892478146102825780635c975abb1461029a578063666a3427146102c3578063672f412c146102e457806368b8c5a1146102fe578063710bf32214610313578063793c0fd41461033457806379ba50971461035a5780638422927d1461036f5780638456cb5914610387578063846a5dde1461039c578063859bcc71146103b7578063863da000146103cc578063892db057146104215780638da5cb5b14610442578063a0927a6a14610457578063a142d60814610541578063b2ca3ec414610562578063bb2a51d114610577578063d085835a14610598578063d091b550146105ad578063d836fbe8146105c2578063d8528af0146105e3578063da4793ac14610604578063ea8a66c71461061c578063f37b74ca14610631578063f5b612301461066d575b600080fd5b3480156101bc57600080fd5b506101c5610682565b60408051918252519081900360200190f35b3480156101e357600080fd5b506101ec610688565b005b3480156101fa57600080fd5b506101ec6004356106ac565b34801561021257600080fd5b5061021b610710565b60408051600160a060020a039092168252519081900360200190f35b34801561024357600080fd5b506101ec600160a060020a036004351661071f565b34801561026457600080fd5b506101c5610830565b34801561027957600080fd5b506101ec610836565b34801561028e57600080fd5b506101ec6004356108cc565b3480156102a657600080fd5b506102af610944565b604080519115158252519081900360200190f35b3480156102cf57600080fd5b506101ec600160a060020a036004351661094d565b3480156102f057600080fd5b506101ec6004351515610a44565b34801561030a57600080fd5b506101c5610ab8565b34801561031f57600080fd5b506101ec600160a060020a0360043516610abf565b34801561034057600080fd5b506101ec600160a060020a03600435166024351515610b61565b34801561036657600080fd5b506101ec610c11565b34801561037b57600080fd5b506101ec600435610cd4565b34801561039357600080fd5b506101ec610dbb565b3480156103a857600080fd5b506101ec600435602435610e2f565b3480156103c357600080fd5b506102af610ee1565b3480156103d857600080fd5b50604080516020600480358082013583810280860185019096528085526101ec95369593946024949385019291829185019084908082843750949750610eea9650505050505050565b34801561042d57600080fd5b506102af600160a060020a0360043516610f2a565b34801561044e57600080fd5b5061021b610f49565b34801561046357600080fd5b5061046f600435610f58565b6040805160208082018c9052600160a060020a03808c1693830193909352606082018a9052881515608083015287151560a083015286831660c083015291851660e0820152610100810184905261012081018390526101408082528c51908201528b51909182916101608301918e019080838360005b838110156104fd5781810151838201526020016104e5565b50505050905090810190601f16801561052a5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561054d57600080fd5b506101ec600160a060020a0360043516611059565b34801561056e57600080fd5b5061021b6113ae565b34801561058357600080fd5b506101ec600160a060020a03600435166113bd565b3480156105a457600080fd5b506101c561142f565b3480156105b957600080fd5b5061021b611435565b3480156105ce57600080fd5b506101ec600160a060020a0360043516611444565b3480156105ef57600080fd5b506102af600160a060020a03600435166114df565b34801561061057600080fd5b506101ec6004356114f4565b34801561062857600080fd5b506101c5611549565b34801561063d57600080fd5b506101c5602460048035828101929101359035600160a060020a036044358116906064351660843560a43561154f565b34801561067957600080fd5b5061021b6116e3565b600a5481565b600754600160a060020a0316331461069f57600080fd5b6106a76116f2565b600d55565b600054600160a060020a031633146106fc576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60085481101561070b57600080fd5b600955565b600254600160a060020a031681565b60008054600160a060020a03163314610770576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600160a060020a03821615156107d0576040805160e560020a62461bcd02815260206004820152601760248201527f6572725f6f776e6564496e76616c696441646472657373000000000000000000604482015290519081900360640190fd5b5060008054600160a060020a03838116600160a060020a031980841691909117808555600180549092169091556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600d5481565b600054600160a060020a03163314610886576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff16151561089757600080fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60055460009060ff1615806108e35750600b5460ff165b15156108ee57600080fd5b60065482106108fc57600080fd5b600680548390811061090a57fe5b9060005260206000209060080201905060095481600301540361070801600d541015151561093757600080fd5b610940826116f6565b5050565b60055460ff1681565b600054600160a060020a0316331461099d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b610dac600160a060020a038216146109ff576040805160e560020a62461bcd02815260206004820152601360248201527f6572725f6f776e6564496e76616c696444616300000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031990811682556001805490911690556040517f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb9190a150565b600054600160a060020a03163314610a94576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff161515610aa557600080fd5b600b805460ff1916911515919091179055565b6006545b90565b600054600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a03838116919091179182905560405191169033907f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec490600090a350565b600054600160a060020a03163314610bb1576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600160a060020a0382166000818152600c6020908152604091829020805460ff1916851515908117909155825190815291517f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c8272819281900390910190a25050565b600154600090600160a060020a03163314610c76576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f6f776e65644e6f7443616e6469646174650000000000000000000000604482015290519081900360640190fd5b506000805460018054600160a060020a03808216600160a060020a03198086169190911780875592169092556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60008054600160a060020a03163314610d25576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b6006548210610d3357600080fd5b6006805483908110610d4157fe5b60009182526020909120600890910201600481015490915060ff1615610d6657600080fd5b6004810154610100900460ff1615610d7d57600080fd5b60048101805460ff1916600117905560405182907ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30190600090a25050565b600054600160a060020a03163314610e0b576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff1615610e1b57600080fd5b600b805460ff19169055610e2d61193d565b565b600754600090600160a060020a03163314610e4957600080fd5b6006548310610e5757600080fd5b670de0b6b3a7640000821115610e6c57600080fd5b6006805484908110610e7a57fe5b90600052602060002090600802019050600a548282600701540111151515610ea157600080fd5b6004810154610100900460ff1615610eb857600080fd5b600481015460ff1615610eca57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b8251821015610f25578282815181101515610f0557fe5b906020019060200201519050610f1a816108cc565b600190910190610eee565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b6006805482908110610f6657fe5b60009182526020918290206008919091020180546040805160026001841615610100026000190190931692909204601f810185900485028301850190915280825291935091839190830182828015610fff5780601f10610fd457610100808354040283529160200191610fff565b820191906000526020600020905b815481529060010190602001808311610fe257829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b6002546000908190600160a060020a03163314806110815750600054600160a060020a031633145b15156110d7576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205460ff1615611148576040805160e560020a62461bcd02815260206004820152601d60248201527f6572725f657363617061626c65426c61636b6c6973746564546f6b656e000000604482015290519081900360640190fd5b600160a060020a03831615156111e05760035460405130319350600160a060020a03909116906108fc8415029084906000818181858888f19350505050158015611196573d6000803e3d6000fd5b5060408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1610f25565b50604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600160a060020a038316916370a08231916024808201926020929091908290030181600087803b15801561124557600080fd5b505af1158015611259573d6000803e3d6000fd5b505050506040513d602081101561126f57600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519294509083169163a9059cbb916044808201926020929091908290030181600087803b1580156112e357600080fd5b505af11580156112f7573d6000803e3d6000fd5b505050506040513d602081101561130d57600080fd5b50511515611365576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f657363617061626c655472616e736665720000000000000000000000604482015290519081900360640190fd5b60408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1505050565b600754600160a060020a031681565b600054600160a060020a0316331461140d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60095481565b600154600160a060020a031681565b600254600160a060020a03163314806114675750600054600160a060020a031633145b15156114bd576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b600054600160a060020a03163314611544576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b600a55565b60085481565b6005546000908190819060ff161561156657600080fd5b336000908152600c602052604090205460ff16151561158457600080fd5b600680549250829061159990600183016119d5565b5060068054839081106115a857fe5b6000918252602090912060026008909202019081018054600160a060020a031916331790559050670de0b6b3a76400008411156115e457600080fd5b6009548410156115ff576009546115f96116f2565b0161160a565b836116086116f2565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a160217905560068101859055611652818b8b611a01565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546040805191825293831660208201528084018c90529251620100009091049091169184917fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c4916060908290030190a35098975050505050505050565b600354600160a060020a031681565b4290565b60055460009060ff16158061170d5750600b5460ff165b151561171857600080fd5b600654821061172657600080fd5b600680548390811061173457fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff16151561177057600080fd5b806003015461177d6116f2565b101561178857600080fd5b600481015460ff161561179a57600080fd5b6004810154610100900460ff16156117b157600080fd5b60048101805461ff0019166101001790556005810154600160a060020a03161515611821576004810154600682015460405162010000909204600160a060020a0316916108fc82150291906000818181858888f1935050505015801561181b573d6000803e3d6000fd5b506118db565b60058101546004808301546006840154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090940484169481019490945260248401919091525192169163a9059cbb916044808201926020929091908290030181600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b505050506040513d60208110156118ce57600080fd5b505115156118db57600080fd5b60048101546006820154600583015460408051928352600160a060020a0391821660208401528051620100009094049091169285927f354f3c0c8efabe1a1a07cf222842b008ef284ac185e63bdf8245be8cd2d97f5192908290030190a35050565b600054600160a060020a0316331461198d576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611b61833981519152604482015290519081900360640190fd5b60055460ff161561199d57600080fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b815481835581811115610f2557600802816008028360005260206000209182019101610f259190611a7f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a425782800160ff19823516178555611a6f565b82800160010185558215611a6f579182015b82811115611a6f578235825591602001919060010190611a54565b50611a7b929150611aff565b5090565b610abc91905b80821115611a7b576000611a998282611b19565b50600060018201819055600282018054600160a060020a03199081169091556003830182905560048301805475ffffffffffffffffffffffffffffffffffffffffffff191690556005830180549091169055600682018190556007820155600801611a85565b610abc91905b80821115611a7b5760008155600101611b05565b50805460018160011615610100020316600290046000825580601f10611b3f5750611b5d565b601f016020900490600052602060002090810190611b5d9190611aff565b5056006572725f6f776e65644e6f744f776e6572000000000000000000000000000000a165627a7a72305820eb228403f4ed26ee19f648183a127f253a8a32f72b6c7d7b9a557be7266be5530029", "sourceMap": "881:2782:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2487:33:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2487:33:6;;;;;;;;;;;;;;;;;;;;3561:100:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3561:100:4;;;;;;10981:153:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10981:153:6;;;;;1181:32:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1181:32:8;;;;;;;;-1:-1:-1;;;;;1181:32:8;;;;;;;;;;;;;;2474:277:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2474:277:9;-1:-1:-1;;;;;2474:277:9;;;;;921:36:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;921:36:4;;;;913:102:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;913:102:5;;;;2068:848:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2068:848:4;;;;;269:26:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;269:26:5;;;;;;;;;;;;;;;;;;;;;;3145:206:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3145:206:9;-1:-1:-1;;;;;3145:206:9;;;;;12210:142:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12210:142:6;;;;;;;5615:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5615:114:6;;;;1602:191:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1602:191:9;-1:-1:-1;;;;;1602:191:9;;;;;10266:192:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10266:192:6;-1:-1:-1;;;;;10266:192:6;;;;;;;;;1905:271:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1905:271:9;;;;9709:311:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9709:311:6;;;;;11686:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11686:126:6;;;;9075:473;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9075:473:6;;;;;;;2526:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2526:42:6;;;;8584:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8584:233:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8584:233:6;;-1:-1:-1;8584:233:6;;-1:-1:-1;;;;;;;8584:233:6;3278:117:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3278:117:8;-1:-1:-1;;;;;3278:117:8;;;;;638:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;638:20:9;;;;2348:35:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2348:35:6;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2348:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2348:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3603:683:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3603:683:8;-1:-1:-1;;;;;3603:683:8;;;;;2390:28:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2390:28:6;;;;10595:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10595:122:6;-1:-1:-1;;;;;10595:122:6;;;;;2461:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:20:6;;;;664:32:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;664:32:9;;;;4655:158:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4655:158:8;-1:-1:-1;;;;;4655:158:8;;;;;2688:48:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2688:48:6;-1:-1:-1;;;;;2688:48:6;;;;;11394:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11394:145:6;;;;;2424:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2424:31:6;;;;6304:1195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6304:1195:6;;;;;;;;;;;;;;-1:-1:-1;;;;;6304:1195:6;;;;;;;;;;;;;;1219:37:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1219:37:8;;;;2487:33:6;;;;:::o;3561:100:4:-;3378:13:6;;-1:-1:-1;;;;;3378:13:6;3364:10;:27;3356:36;;;;;;3644:10:4;:8;:10::i;:::-;3617:24;:37;3561:100::o;10981:153:6:-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;11074:19:6;;11058:35;;;11050:44;;;;;;11104:8;:23;10981:153::o;1181:32:8:-;;;-1:-1:-1;;;;;1181:32:8;;:::o;2474:277:9:-;2607:16;1168:5;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;-1:-1:-1;;;;;2553:16:9;;;;2545:51;;;;;-1:-1:-1;;;;;2545:51:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:5:9;;;-1:-1:-1;;;;;2641:17:9;;;-1:-1:-1;;;;;;2641:17:9;;;;;;;;;;2626:5;2668:23;;;;;;;;2707:37;;2626:5;;;;2738;;;2626;;2707:37;;;2474:277;;:::o;921:36:4:-;;;;:::o;913:102:5:-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;615:6:5;;;;607:15;;;;;;;;970:6;:14;;-1:-1:-1;;970:14:5;;;999:9;;;;979:5;;999:9;913:102::o;2068:848:4:-;3669:6:6;;2293:17:4;;3669:6:6;;3668:7;;:41;;-1:-1:-1;3679:30:6;;;;3668:41;3660:50;;;;;;;;2256:18:4;:25;2243:38;;2235:47;;;;;;2313:18;:30;;2332:10;;2313:30;;;;;;;;;;;;;;;;2293:50;;2833:8;;2813:1;:17;;;:28;2844:10;2813:41;2785:24;;:69;;2777:78;;;;;;;;2866:43;2898:10;2866:31;:43::i;:::-;2068:848;;:::o;269:26:5:-;;;;;;:::o;3145:206:9:-;1168:5;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;