[ { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "collateralToken", "type": "address" }, { "name": "parentCollectionId", "type": "bytes32" }, { "name": "conditionId", "type": "bytes32" }, { "name": "indexSets", "type": "uint256[]" } ], "name": "redeemPositions", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" }, { "name": "", "type": "uint256" } ], "name": "payoutNumerators", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "from", "type": "address" }, { "name": "to", "type": "address" }, { "name": "ids", "type": "uint256[]" }, { "name": "values", "type": "uint256[]" }, { "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "collateralToken", "type": "address" }, { "name": "collectionId", "type": "bytes32" } ], "name": "getPositionId", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "name": "owners", "type": "address[]" }, { "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "name": "", "type": "uint256[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "collateralToken", "type": "address" }, { "name": "parentCollectionId", "type": "bytes32" }, { "name": "conditionId", "type": "bytes32" }, { "name": "partition", "type": "uint256[]" }, { "name": "amount", "type": "uint256" } ], "name": "splitPosition", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "oracle", "type": "address" }, { "name": "questionId", "type": "bytes32" }, { "name": "outcomeSlotCount", "type": "uint256" } ], "name": "getConditionId", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "name": "parentCollectionId", "type": "bytes32" }, { "name": "conditionId", "type": "bytes32" }, { "name": "indexSet", "type": "uint256" } ], "name": "getCollectionId", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "collateralToken", "type": "address" }, { "name": "parentCollectionId", "type": "bytes32" }, { "name": "conditionId", "type": "bytes32" }, { "name": "partition", "type": "uint256[]" }, { "name": "amount", "type": "uint256" } ], "name": "mergePositions", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "operator", "type": "address" }, { "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "questionId", "type": "bytes32" }, { "name": "payouts", "type": "uint256[]" } ], "name": "reportPayouts", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "conditionId", "type": "bytes32" } ], "name": "getOutcomeSlotCount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "oracle", "type": "address" }, { "name": "questionId", "type": "bytes32" }, { "name": "outcomeSlotCount", "type": "uint256" } ], "name": "prepareCondition", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "payoutDenominator", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "from", "type": "address" }, { "name": "to", "type": "address" }, { "name": "id", "type": "uint256" }, { "name": "value", "type": "uint256" }, { "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "conditionId", "type": "bytes32" }, { "indexed": true, "name": "oracle", "type": "address" }, { "indexed": true, "name": "questionId", "type": "bytes32" }, { "indexed": false, "name": "outcomeSlotCount", "type": "uint256" } ], "name": "ConditionPreparation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "conditionId", "type": "bytes32" }, { "indexed": true, "name": "oracle", "type": "address" }, { "indexed": true, "name": "questionId", "type": "bytes32" }, { "indexed": false, "name": "outcomeSlotCount", "type": "uint256" }, { "indexed": false, "name": "payoutNumerators", "type": "uint256[]" } ], "name": "ConditionResolution", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "stakeholder", "type": "address" }, { "indexed": false, "name": "collateralToken", "type": "address" }, { "indexed": true, "name": "parentCollectionId", "type": "bytes32" }, { "indexed": true, "name": "conditionId", "type": "bytes32" }, { "indexed": false, "name": "partition", "type": "uint256[]" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "PositionSplit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "stakeholder", "type": "address" }, { "indexed": false, "name": "collateralToken", "type": "address" }, { "indexed": true, "name": "parentCollectionId", "type": "bytes32" }, { "indexed": true, "name": "conditionId", "type": "bytes32" }, { "indexed": false, "name": "partition", "type": "uint256[]" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "PositionsMerge", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "redeemer", "type": "address" }, { "indexed": true, "name": "collateralToken", "type": "address" }, { "indexed": true, "name": "parentCollectionId", "type": "bytes32" }, { "indexed": false, "name": "conditionId", "type": "bytes32" }, { "indexed": false, "name": "indexSets", "type": "uint256[]" }, { "indexed": false, "name": "payout", "type": "uint256" } ], "name": "PayoutRedemption", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "operator", "type": "address" }, { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "id", "type": "uint256" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "operator", "type": "address" }, { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "ids", "type": "uint256[]" }, { "indexed": false, "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "owner", "type": "address" }, { "indexed": true, "name": "operator", "type": "address" }, { "indexed": false, "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "value", "type": "string" }, { "indexed": true, "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" } ]
60806040526200001c6301ffc9a760e01b6200010260201b60201c565b620000fc600073ffffffffffffffffffffffffffffffffffffffff1663e985e9c5905060e01b600073ffffffffffffffffffffffffffffffffffffffff1663a22cb465905060e01b600073ffffffffffffffffffffffffffffffffffffffff16634e1273f4905060e01b600073ffffffffffffffffffffffffffffffffffffffff1662fdd58e905060e01b600073ffffffffffffffffffffffffffffffffffffffff16632eb2c2d6905060e01b600073ffffffffffffffffffffffffffffffffffffffff1663f242432a905060e01b18181818186200010260201b60201c565b6200020b565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200019f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6151f8806200021b6000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c8063856296f7116100a2578063d42dc0c211610071578063d42dc0c214610943578063d96ee75414610985578063dd34de67146109dd578063e985e9c514610a1f578063f242432a14610a9b57610115565b8063856296f7146107635780639e7212ad146107b9578063a22cb46514610870578063c49298ac146108c057610115565b80632eb2c2d6116100e95780632eb2c2d6146102da57806339dd75301461043d5780634e1273f41461049f57806372ce427514610640578063852c6ae2146106f757610115565b8062fdd58e1461011a57806301b7037c1461017c57806301ffc9a7146102295780630504c8141461028e575b600080fd5b6101666004803603604081101561013057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b68565b6040518082815260200191505060405180910390f35b6102276004803603608081101561019257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184602083028401116401000000008311171561021757600080fd5b9091929391929390505050610c48565b005b6102746004803603602081101561023f57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506110fd565b604051808215151515815260200191505060405180910390f35b6102c4600480360360408110156102a457600080fd5b810190808035906020019092919080359060200190929190505050611164565b6040518082815260200191505060405180910390f35b61043b600480360360a08110156102f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561034d57600080fd5b82018360208201111561035f57600080fd5b8035906020019184602083028401116401000000008311171561038157600080fd5b9091929391929390803590602001906401000000008111156103a257600080fd5b8201836020820111156103b457600080fd5b803590602001918460208302840111640100000000831117156103d657600080fd5b9091929391929390803590602001906401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b9091929391929390505050611192565b005b6104896004803603604081101561045357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061170d565b6040518082815260200191505060405180910390f35b6105e9600480360360408110156104b557600080fd5b81019080803590602001906401000000008111156104d257600080fd5b8201836020820111156104e457600080fd5b8035906020019184602083028401116401000000008311171561050657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561056657600080fd5b82018360208201111561057857600080fd5b8035906020019184602083028401116401000000008311171561059a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611721565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062c578082015181840152602081019050610611565b505050509050019250505060405180910390f35b6106f5600480360360a081101561065657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156106a757600080fd5b8201836020820111156106b957600080fd5b803590602001918460208302840111640100000000831117156106db57600080fd5b9091929391929390803590602001909291905050506118ff565b005b61074d6004803603606081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e83565b6040518082815260200191505060405180910390f35b6107a36004803603606081101561077957600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611e99565b6040518082815260200191505060405180910390f35b61086e600480360360a08110156107cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561082057600080fd5b82018360208201111561083257600080fd5b8035906020019184602083028401116401000000008311171561085457600080fd5b909192939192939080359060200190929190505050611eaf565b005b6108be6004803603604081101561088657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061242c565b005b610941600480360360408110156108d657600080fd5b8101908080359060200190929190803590602001906401000000008111156108fd57600080fd5b82018360208201111561090f57600080fd5b8035906020019184602083028401116401000000008311171561093157600080fd5b909192939192939050505061252d565b005b61096f6004803603602081101561095957600080fd5b8101908080359060200190929190505050612908565b6040518082815260200191505060405180910390f35b6109db6004803603606081101561099b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612928565b005b610a09600480360360208110156109f357600080fd5b8101908080359060200190929190505050612b41565b6040518082815260200191505060405180910390f35b610a8160048036036040811015610a3557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b59565b604051808215151515815260200191505060405180910390f35b610b66600480360360a0811015610ab157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610b2257600080fd5b820183602082011115610b3457600080fd5b80359060200191846001830284011164010000000083111715610b5657600080fd5b9091929391929390505050612bed565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614f61602b913960400191505060405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006004600085815260200190815260200160002054905060008111610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180614f3c6025913960400191505060405180910390fd5b60006003600086815260200190815260200160002080549050905060008111610d4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f636f6e646974696f6e206e6f742070726570617265642079657400000000000081525060200191505060405180910390fd5b600080905060006001836001901b03905060008090505b86869050811015610ef6576000878783818110610d7a57fe5b905060200201359050600081118015610d9257508281105b610e04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f676f7420696e76616c696420696e64657820736574000000000000000000000081525060200191505060405180910390fd5b6000610e1a8c610e158d8d86612fdb565b61350f565b9050600080905060008090505b87811015610e88576000816001901b851614610e7b57610e78600360008e81526020019081526020016000208281548110610e5e57fe5b90600052602060002001548361357a90919063ffffffff16565b91505b8080600101915050610e27565b506000610e953384610b68565b90506000811115610ee557610ed7610ec88a610eba858561360290919063ffffffff16565b61368890919063ffffffff16565b8861357a90919063ffffffff16565b9650610ee43384836136d2565b5b505050508080600101915050610d61565b50600082111561104d576000801b881415611027578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f9257600080fd5b505af1158015610fa6573d6000803e3d6000fd5b505050506040513d6020811015610fbc57600080fd5b8101908080519060200190929190505050611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614f8c602b913960400191505060405180910390fd5b61104c565b61104b336110358b8b61350f565b8460405180602001604052806000815250613813565b5b5b878973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2682012a4a4f1973119f1c9b90745d1bd91fa2bab387344f044cb3586864d18d8a8a8a8860405180858152602001806020018381526020018281038252858582818152602001925060200280828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a4505050505050505050565b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b6003602052816000526040600020818154811061117d57fe5b90600052602060002001600091509150505481565b8383905086869050146111f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806150bb602e913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611276576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614fb76028913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16148061133d575060011515600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b611392576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806150e96038913960400191505060405180910390fd5b60008090505b8686905081101561154c5760008787838181106113b157fe5b90506020020135905060008686848181106113c857fe5b905060200201359050611434816001600085815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ea90919063ffffffff16565b6001600084815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114eb6001600084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261357a90919063ffffffff16565b6001600084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050611398565b508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb898989896040518080602001806020018381038352878782818152602001925060200280828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a4611703338989898980806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613a34565b5050505050505050565b6000611719838361350f565b905092915050565b6060815183511461177d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061508d602e913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156117af5781602001602082028038833980820191505090505b50905060008090505b84518110156118f457600073ffffffffffffffffffffffffffffffffffffffff168582815181106117e557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561185a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806150386034913960400191505060405180910390fd5b6001600085838151811061186a57fe5b60200260200101518152602001908152602001600020600086838151811061188e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181106118dd57fe5b6020026020010181815250508060010190506117b8565b508091505092915050565b60018383905011611978576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f676f7420656d707479206f722073696e676c65746f6e20706172746974696f6e81525060200191505060405180910390fd5b60006003600086815260200190815260200160002080549050905060008111611a09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f636f6e646974696f6e206e6f742070726570617265642079657400000000000081525060200191505060405180910390fd5b60006001826001901b0390506000819050606086869050604051908082528060200260200182016040528015611a4e5781602001602082028038833980820191505090505b509050606087879050604051908082528060200260200182016040528015611a855781602001602082028038833980820191505090505b50905060008090505b88889050811015611c00576000898983818110611aa757fe5b905060200201359050600081118015611abf57508581105b611b31576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f676f7420696e76616c696420696e64657820736574000000000000000000000081525060200191505060405180910390fd5b8085821614611ba8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f706172746974696f6e206e6f74206469736a6f696e740000000000000000000081525060200191505060405180910390fd5b8085189450611bc18d611bbc8e8e85612fdb565b61350f565b848381518110611bcd57fe5b60200260200101818152505087838381518110611be657fe5b602002602001018181525050508080600101915050611a8e565b506000831415611d7f576000801b8a1415611d65578a73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b505050506040513d6020811015611cfa57600080fd5b8101908080519060200190929190505050611d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806150156023913960400191505060405180910390fd5b611d7a565b611d7933611d738d8d61350f565b886136d2565b5b611da0565b611d9f33611d998d611d948e8e898b18612fdb565b61350f565b886136d2565b5b611dbb33838360405180602001604052806000815250613d03565b888a3373ffffffffffffffffffffffffffffffffffffffff167f2e6bb91f8cbcda0c93623c54d0403a43514fabc40084ec96b6d5379a747862988e8c8c8c604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018381526020018281038252858582818152602001925060200280828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a45050505050505050505050565b6000611e9084848461400c565b90509392505050565b6000611ea6848484612fdb565b90509392505050565b60018383905011611f28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f676f7420656d707479206f722073696e676c65746f6e20706172746974696f6e81525060200191505060405180910390fd5b60006003600086815260200190815260200160002080549050905060008111611fb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f636f6e646974696f6e206e6f742070726570617265642079657400000000000081525060200191505060405180910390fd5b60006001826001901b0390506000819050606086869050604051908082528060200260200182016040528015611ffe5781602001602082028038833980820191505090505b5090506060878790506040519080825280602002602001820160405280156120355781602001602082028038833980820191505090505b50905060008090505b888890508110156121b057600089898381811061205757fe5b90506020020135905060008111801561206f57508581105b6120e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f676f7420696e76616c696420696e64657820736574000000000000000000000081525060200191505060405180910390fd5b8085821614612158576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f706172746974696f6e206e6f74206469736a6f696e740000000000000000000081525060200191505060405180910390fd5b80851894506121718d61216c8e8e85612fdb565b61350f565b84838151811061217d57fe5b6020026020010181815250508783838151811061219657fe5b60200260200101818152505050808060010191505061203e565b506121bc33838361407d565b6000831415612333576000801b8a1415612309578a73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b8101908080519060200190929190505050612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f636f756c64206e6f742073656e6420636f6c6c61746572616c20746f6b656e7381525060200191505060405180910390fd5b61232e565b61232d336123178d8d61350f565b8860405180602001604052806000815250613813565b5b612364565b6123633361234d8d6123488e8e898b18612fdb565b61350f565b8860405180602001604052806000815250613813565b5b888a3373ffffffffffffffffffffffffffffffffffffffff167f6f13ca62553fcc2bcd2372180a43949c1e4cebba603901ede2f4e14f36b282ca8e8c8c8c604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018381526020018281038252858582818152602001925060200280828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a45050505050505050505050565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b60008282905090506001811161258e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615121602a913960400191505060405180910390fd5b600061259b33868461400c565b905081600360008381526020019081526020016000208054905014612628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f636f6e646974696f6e206e6f74207072657061726564206f7220666f756e640081525060200191505060405180910390fd5b60006004600083815260200190815260200160002054146126b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f7061796f75742064656e6f6d696e61746f7220616c726561647920736574000081525060200191505060405180910390fd5b600080905060008090505b838110156127c95760008686838181106126d257fe5b9050602002013590506126ee818461357a90919063ffffffff16565b9250600060036000868152602001908152602001600020838154811061271057fe5b90600052602060002001541461278e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f7061796f7574206e756d657261746f7220616c7265616479207365740000000081525060200191505060405180910390fd5b806003600086815260200190815260200160002083815481106127ad57fe5b90600052602060002001819055505080806001019150506126bc565b5060008111612840576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7061796f757420697320616c6c207a65726f657300000000000000000000000081525060200191505060405180910390fd5b806004600084815260200190815260200160002081905550853373ffffffffffffffffffffffffffffffffffffffff16837fb44d84d3289691f71497564b85d4233648d9dbae8cbdbb4329f301c3a01858948660036000888152602001908152602001600020604051808381526020018060200182810382528381815481526020019150805480156128f157602002820191906000526020600020905b8154815260200190600101908083116128dd575b5050935050505060405180910390a4505050505050565b600060036000838152602001908152602001600020805490509050919050565b6101008111156129a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6f206d616e79206f7574636f6d6520736c6f74730000000000000000000081525060200191505060405180910390fd5b600181116129f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615121602a913960400191505060405180910390fd5b6000612a0684848461400c565b90506000600360008381526020019081526020016000208054905014612a94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f636f6e646974696f6e20616c726561647920707265706172656400000000000081525060200191505060405180910390fd5b81604051908082528060200260200182016040528015612ac35781602001602082028038833980820191505090505b50600360008381526020019081526020016000209080519060200190612aea929190614ec9565b50828473ffffffffffffffffffffffffffffffffffffffff16827fab3760c3bd2bb38b5bcf54dc79802ed67338b4cf29f3054ded67ed24661e4177856040518082815260200191505060405180910390a450505050565b60046020528060005260406000206000915090505481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614fb76028913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480612d3a575060011515600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612d8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806150e96038913960400191505060405180910390fd5b612df2836001600087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ea90919063ffffffff16565b6001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ea96001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461357a90919063ffffffff16565b6001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a4612fd3338787878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506142f0565b505050505050565b600080838360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060001c905060008060ff83901c141590506000805b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061304a57fe5b6001850893507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061307857fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806130a257fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806130ca57fe5b87880987090890506130db8161453d565b9150807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061310657fe5b838409141561302257828015613126575060006002838161312357fe5b06145b80613145575082158015613144575060016002838161314157fe5b06145b5b1561317057817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470391505b60008860001c9050600081146134c457600060fe82901c1415935060028082901b901c90507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806131bd57fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806131e757fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061320f57fe5b848509840908915060006132228361453d565b905084801561323b575060006002828161323857fe5b06145b8061325a575084158015613259575060016002828161325657fe5b06145b5b1561328557807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470390505b827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806132ae57fe5b82830914613324576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f696e76616c696420706172656e7420636f6c6c656374696f6e2049440000000081525060200191505060405180910390fd5b60006060600673ffffffffffffffffffffffffffffffffffffffff1688878686604051602001808581526020018481526020018381526020018281526020019450505050506040516020818303038152906040526040518082805190602001908083835b602083106133ab5780518252602082019150602081019050602083039250613388565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461340b576040519150601f19603f3d011682016040523d82523d6000602084013e613410565b606091505b509150915081613488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6563616464206661696c6564000000000000000000000000000000000000000081525060200191505060405180910390fd5b80806020019051604081101561349d57600080fd5b81019080805190602001909291908051906020019092919050505080975081995050505050505b6001600284816134d057fe5b0614156134fd577f4000000000000000000000000000000000000000000000000000000000000000851894505b8460001b955050505050509392505050565b60008282604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828152602001925050506040516020818303038152906040528051906020012060001c905092915050565b6000808284019050838110156135f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156136155760009050613682565b600082840290508284828161362657fe5b041461367d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061506c6021913960400191505060405180910390fd5b809150505b92915050565b60006136ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614cf8565b905092915050565b613735816001600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ea90919063ffffffff16565b6001600084815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a4505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613899576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806151726021913960400191505060405180910390fd5b6138fc6001600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361357a90919063ffffffff16565b6001600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a46139e4336000868686866142f0565b50505050565b6000613a2c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614dbe565b905092915050565b613a538473ffffffffffffffffffffffffffffffffffffffff16614e7e565b15613cfb578373ffffffffffffffffffffffffffffffffffffffff1663bc197c81905060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663bc197c8188888787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015613b77578082015181840152602081019050613b5c565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015613bb9578082015181840152602081019050613b9e565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015613bf8578082015181840152602081019050613bdd565b50505050905090810190601f168015613c255780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015613c4a57600080fd5b505af1158015613c5e573d6000803e3d6000fd5b505050506040513d6020811015613c7457600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180614fdf6036913960400191505060405180910390fd5b5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613d89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061514b6027913960400191505060405180910390fd5b8151835114613de3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806150bb602e913960400191505060405180910390fd5b60008090505b8351811015613eef57613e7b60016000868481518110613e0557fe5b6020026020010151815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054848381518110613e6557fe5b602002602001015161357a90919063ffffffff16565b60016000868481518110613e8b57fe5b6020026020010151815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050613de9565b508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613fa0578082015181840152602081019050613f85565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613fe2578082015181840152602081019050613fc7565b5050505090500194505050505060405180910390a461400633600086868686613a34565b50505050565b6000838383604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140183815260200182815260200193505050506040516020818303038152906040528051906020012090509392505050565b80518251146140d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806150bb602e913960400191505060405180910390fd5b60008090505b82518110156141e35761416f8282815181106140f557fe5b60200260200101516001600086858151811061410d57fe5b6020026020010151815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ea90919063ffffffff16565b6001600085848151811061417f57fe5b6020026020010151815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806001019150506140dd565b50600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8585604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015614294578082015181840152602081019050614279565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156142d65780820151818401526020810190506142bb565b5050505090500194505050505060405180910390a4505050565b61430f8473ffffffffffffffffffffffffffffffffffffffff16614e7e565b15614535578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e61905060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e6188888787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614434578082015181840152602081019050614419565b50505050905090810190601f1680156144615780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15801561448457600080fd5b505af1158015614498573d6000803e3d6000fd5b505050506040513d60208110156144ae57600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614614534576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806151936031913960400191505060405180910390fd5b5b505050505050565b6000807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905080838409915080828309818182099050818184099250818385099350818484099250818384099050818182098281830990508281820990508281820990508281830991508282860994508285860991508282830991508282850993508284850991508282830991508282830991508282850991508282860994508285860991508282830991508282830991508282860991508282850993508284860994508285860991508282830991508282850993508284850991508282830990508281820990508281820990508281830991508282860994508285850993508284850991508282830991508282830991508282860994508285860991508282830991508282860991508282830991508282830991508282860991508282850993508284850991508282830990508281820990508281830990508281850990508281820990508281820990508281820990508281820990508281830991508282860994508285860991508282860991508282850993508284850991508282850991508282830991508282830990508281830990508281820983818209905083818209905083818209905083818209905083818309915050828183099150828286099450828585099350828485099150828286099450828585099350828486099450828585099350828486099450828586099150828286099150828283099150828285099350828485099150828283099150828286099450828585099350828485099150828285099150828286099450828585099350828486099450828585099350828485099150828283099150828285099150828286099450828586099150828286099150828285099350828486099450828585099350828486099450828585099350828485099150828285099150828283099150828286099450828585099350828485099150828285099150828283099150828286099450828586099150828283099050828182099050828183099050828186099050828182099050828182099050828182099050828182099050828183099150828285099350828486099450828585099350828486099450828586099150828286099150828283099150828283099150828283099150828286099150828285099350828485099150828285099150828283099150828286099450828586099150828286099150828285099350828486099450828586099150828283099150828285099350828486099450828586099150828285099350828486099450828585099350828485099150828285099150828286099450828585099350828485099150828285099150828283099150828283099150828286099450828586099150828283099150828283099150828286099150828285099350828486099450828586099150828286099050828182099050828182099050828183099150828285099350828485099150828286099450828585099350828486099450828585099350828486099450828585099350828485099150828285099050828185099150828283099150828283099150828282099150508181850993508184840992508183850993508184840992508183850993508184850990508181850990508181840992505080828409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838409925080838309915050919050565b60008083118290614da4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614d69578082015181840152602081019050614d4e565b50505050905090810190601f168015614d965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581614db057fe5b049050809150509392505050565b6000838311158290614e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614e30578082015181840152602081019050614e15565b50505050905090810190601f168015614e5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015614ec057506000801b8214155b92505050919050565b828054828255906000526020600020908101928215614f05579160200282015b82811115614f04578251825591602001919060010190614ee9565b5b509050614f129190614f16565b5090565b614f3891905b80821115614f34576000816000905550600101614f1c565b5090565b9056fe726573756c7420666f7220636f6e646974696f6e206e6f7420726563656976656420796574455243313135353a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373636f756c64206e6f74207472616e73666572207061796f757420746f206d6573736167652073656e646572455243313135353a207461726765742061646472657373206d757374206265206e6f6e2d7a65726f455243313135353a20676f7420756e6b6e6f776e2076616c75652066726f6d206f6e4552433131353542617463685265636569766564636f756c64206e6f74207265636569766520636f6c6c61746572616c20746f6b656e73455243313135353a20736f6d65206164647265737320696e2062617463682062616c616e6365207175657279206973207a65726f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77455243313135353a206f776e65727320616e6420494473206d75737420686176652073616d65206c656e67746873455243313135353a2049447320616e642076616c756573206d75737420686176652073616d65206c656e67746873455243313135353a206e656564206f70657261746f7220617070726f76616c20666f7220337264207061727479207472616e73666572732e74686572652073686f756c64206265206d6f7265207468616e206f6e65206f7574636f6d6520736c6f74455243313135353a206261746368206d696e7420746f20746865207a65726f2061646472657373455243313135353a206d696e7420746f20746865207a65726f2061646472657373455243313135353a20676f7420756e6b6e6f776e2076616c75652066726f6d206f6e455243313135355265636569766564a265627a7a72305820b7e14c4d3a1fa708801c735ef7b3f458bf4d4813422a9aefd93b5f817751d63064736f6c634300050a0032