0 txs
0 calls
constructor
constructor()
functions
deployNFTLP
nonpayablefunction deployNFTLP(address token0, address token1) returns (address NFTLP)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061539a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806371dbbdd514610030575b600080fd5b61004361003e3660046100e3565b610059565b6040516100509190610174565b60405180910390f35b600060606040518060200161006d906100c5565b6020820181038252601f19601f820116604052509050600033858560405160200161009a9392919061013d565b604051602081830303815290604052805190602001209050808251602084016000f595945050505050565b61518e806101ca83390190565b80356100dd816101b2565b92915050565b600080604083850312156100f657600080fd5b600061010285856100d2565b9250506020610113858286016100d2565b9150509250929050565b61012e61012982610182565b6101a0565b82525050565b61012e81610182565b6000610149828661011d565b601482019150610159828561011d565b601482019150610169828461011d565b506014019392505050565b602081016100dd8284610134565b600073ffffffffffffffffffffffffffffffffffffffff82166100dd565b60006100dd8260006100dd8260601b90565b6101bb81610182565b81146101c657600080fd5b5056fe60806040526010805460ff1916600117905561516e806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80636732df9e1161010f578063a22cb465116100a2578063d6887bfa11610071578063d6887bfa146103fb578063dc25b1ce14610403578063ddd5e1b214610416578063e985e9c514610429576101f0565b8063a22cb465146103c5578063b88d4fde146103d8578063c45a0155146103eb578063d21220a7146103f3576101f0565b80637dc0d1d0116100de5780637dc0d1d01461037d57806395d89b4114610385578063962281651461038d57806399fbab88146103a0576101f0565b80636732df9e1461033157806370a082311461034457806379e66b46146103575780637ac2ff7b1461036a576101f0565b806324588a411161018757806342842e0e1161015657806342842e0e146102f05780634b19becc146103035780635b549182146103165780636352211e1461031e576101f0565b806324588a41146102ac5780632f6d3457146102bf57806330adf81f146102e05780633644e515146102e8576101f0565b8063141a468c116101c3578063141a468c146102505780631a42345a146102705780631e9a69501461027857806323b872dd14610299576101f0565b806306fdde03146101f5578063081812fc14610213578063095ea7b3146102335780630dfe168114610248575b600080fd5b6101fd610449565b60405161020a9190614d6e565b60405180910390f35b61022661022136600461413a565b6104f5565b60405161020a9190614b40565b610246610241366004613f41565b61051d565b005b61022661052c565b61026361025e36600461413a565b610548565b60405161020a9190614c40565b61026361055a565b61028b610286366004613f41565b610615565b60405161020a929190614f8c565b6102466102a7366004613df1565b61099d565b6102466102ba366004613d90565b6109ae565b6102d26102cd366004614195565b610b17565b60405161020a929190614f71565b610263610ddd565b610263610e01565b6102466102fe366004613df1565b610e07565b610263610311366004614195565b610e13565b61022661129b565b61022661032c36600461413a565b6112b7565b61022661033f3660046140d9565b6112ca565b610263610352366004613d1a565b6113ce565b610246610365366004614195565b6113e0565b610246610378366004613f71565b61191c565b61022661195f565b6101fd61197b565b61026361039b366004613eec565b6119f3565b6103b36103ae36600461413a565b611dc5565b60405161020a96959493929190614f17565b6102466103d3366004613ebc565b611e23565b6102466103e6366004613e3e565b611e2e565b610226611e72565b610226611e8e565b610263611eaa565b6102636104113660046140f7565b611eb0565b610246610424366004614176565b611ed3565b61043c610437366004613d56565b61220d565b60405161020a9190614c32565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b505050505081565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61052882823361222d565b5050565b600b5473ffffffffffffffffffffffffffffffffffffffff1681565b60076020526000908152604090205481565b600a54600b54600c546040517fdc2ff32200000000000000000000000000000000000000000000000000000000815260009373ffffffffffffffffffffffffffffffffffffffff9081169363dc2ff322936105bd93918316921690600401614b92565b602060405180830381600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061060f9190810190614158565b90505b90565b601054600090819060ff1661065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614edf565b60405180910390fd5b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561069a6106938461237d565b33856123d9565b6106a2613b43565b506000838152600e60208181526040808420815160c081018352815462ffffff8116825263010000008104600290810b810b810b8387015266010000000000008204810b810b810b948301949094526fffffffffffffffffffffffffffffffff690100000000000000000082041660608301526001830180546080840152938301805460a08401528a8852959094527fffffffffffffff0000000000000000000000000000000000000000000000000090931690558390559190556107668461241a565b600061077582600001516112ca565b90508073ffffffffffffffffffffffffffffffffffffffff1663a34123a78360200151846040015185606001516040518463ffffffff1660e01b81526004016107c093929190614d38565b6040805180830381600087803b1580156107d957600080fd5b505af11580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081191908101906141b4565b8094508195505050610830826000015183602001518460400151612478565b60008061083d8484612572565b9092509050610852868363ffffffff61258c16565b9550610864858263ffffffff61258c16565b94508273ffffffffffffffffffffffffffffffffffffffff16634f1eb3d889866020015187604001516108968b6125d4565b61089f8b6125d4565b6040518663ffffffff1660e01b81526004016108bf959493929190614bf0565b6040805180830381600087803b1580156108d857600080fd5b505af11580156108ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109109190810190614034565b6040516fffffffffffffffffffffffffffffffff92831698509116955087907f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d07569061095d90600090614d60565b60405180910390a25050601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055509194909350915050565b6109a983838333612624565b505050565b60085473ffffffffffffffffffffffffffffffffffffffff16156109fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614daf565b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055604080518082018252601481527f546f6b656e697a656420556e69737761702056330000000000000000000000006020808301919091528251808401909352600a83527f4e46542d554e492d56330000000000000000000000000000000000000000000090830152610a9991612732565b6009805473ffffffffffffffffffffffffffffffffffffffff8087167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600a8054868416908316179055600b8054858416908316179055600c805492841692909116919091179055610b1061055a565b5050505050565b6000610b21613b78565b610b29613b43565b506000848152600e60209081526040808320815160c081018352815462ffffff811680835263010000008204600290810b810b810b9684019690965266010000000000008204860b860b860b94830194909452690100000000000000000090046fffffffffffffffffffffffffffffffff1660608201526001820154608082015292015460a0830152909190610bbe906112ca565b90508073ffffffffffffffffffffffffffffffffffffffff1663a34123a78360200151846040015160006040518463ffffffff1660e01b8152600401610c0693929190614d10565b6040805180830381600087803b158015610c1f57600080fd5b505af1158015610c33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5791908101906141b4565b5050600080610c668484612572565b91509150670de0b6b3a7640000871015610cac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e5f565b610cb58861237d565b506000610cc8856020015160020b612820565b90506000610cdc866040015160020b612820565b9050610ce661055a565b97506000610cf389612b7e565b90506000610d27610d228c610d168d670de0b6b3a764000063ffffffff612bce16565b9063ffffffff612c2216565b612b7e565b90506000610d4d610d22670de0b6b3a7640000610d168f8f612bce90919063ffffffff16565b9050610d5f8286868c60600151612c64565b8b516020810191909152526060890151610d7e90849087908790612c64565b6020808d015190810191909152526060890151610da090829087908790612c64565b60408c015160208082019290925291909152808b018051805190990190985296519096018051909501909452509699959850949650505050505050565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad81565b60065481565b6109a983838333612d4e565b60105460009060ff16610e52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614edf565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055670de0b6b3a7640000821115610ebc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e7f565b6000610ec78461237d565b9050610ed48133866123d9565b610ee1600085600061222d565b610ee9613b43565b506000848152600e60209081526040808320815160c081018352815462ffffff8116825263010000008104600290810b810b810b9583019590955266010000000000008104850b850b850b9382019390935269010000000000000000009092046fffffffffffffffffffffffffffffffff16606083018190526001820154608084015292015460a082015291908190610f829087612d70565b91509150610f8f816125d4565b6000888152600e6020526040902080546fffffffffffffffffffffffffffffffff929092166901000000000000000000027fffffffffffffff00000000000000000000000000000000ffffffffffffffffff909216919091179055600f80546001810190915594506110018486612daa565b6040518060c00160405280846000015162ffffff168152602001846020015160020b8152602001846040015160020b815260200161103e846125d4565b6fffffffffffffffffffffffffffffffff908116825260808681015160208085019190915260a08089015160409586015260008b8152600e835285902086518154938801518888015160608a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090961662ffffff938416177fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff166301000000600293840b851602177fffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffff16660100000000000091830b9390931602919091177fffffffffffffff00000000000000000000000000000000ffffffffffffffffff16690100000000000000000094909616939093029490941784559185015160018401559301519201919091555187907f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d07569061119b908490614c40565b60405180910390a2847fadd14db47b6e899379fa37475844f1180aafc5f486d8afcf49a622a875bf04748460000151856020015186604001516040516111e393929190614eef565b60405180910390a2847f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d07568360405161121b9190614c40565b60405180910390a2847f7996a77fb97153e8ea814d8a9522cdcd267299988a53aa1be5d72813c47f117084608001518560a0015160405161125d929190614f8c565b60405180910390a25050601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550909392505050565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b60006112c28261237d565b90505b919050565b600954600b54600c546040517f1698ee8200000000000000000000000000000000000000000000000000000000815260009373ffffffffffffffffffffffffffffffffffffffff90811693631698ee829361132f939183169216908790600401614bc8565b60206040518083038186803b15801561134757600080fd5b505afa15801561135b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061137f9190810190613d38565b905073ffffffffffffffffffffffffffffffffffffffff81166112c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614d7f565b60026020526000908152604090205481565b60105460ff1661141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614edf565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556114576114508261237d565b33836123d9565b61145f613b43565b506000828152600e6020908152604091829020825160c081018452815462ffffff8116825263010000008104600290810b810b810b9483019490945266010000000000008104840b840b840b9482019490945269010000000000000000009093046fffffffffffffffffffffffffffffffff16606084015260018101546080840152015460a08201526114f0613b43565b506000828152600e6020908152604091829020825160c081018452815462ffffff8116825263010000008104600290810b810b810b9483019490945266010000000000008104840b840b840b9482019490945269010000000000000000009093046fffffffffffffffffffffffffffffffff16606084015260018101546080840152015460a0820152838314156115b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614eaf565b8051825162ffffff9081169116146115f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dff565b806020015160020b826020015160020b1461163e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dff565b806040015160020b826040015160020b14611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dff565b60006116c682606001516fffffffffffffffffffffffffffffffff1684606001516fffffffffffffffffffffffffffffffff1661258c90919063ffffffff16565b905060008060006116da86600001516112ca565b90506000806000806116ec8a86612e55565b93509350935093506000806117018b88612572565b90925090506000611718858463ffffffff61258c16565b9050600061172c858463ffffffff61258c16565b90506117538c610d168470010000000000000000000000000000000063ffffffff612bce16565b88039a5061177c8c610d168370010000000000000000000000000000000063ffffffff612bce16565b87039950505050505050505050611792836125d4565b6000888152600e602052604080822080546fffffffffffffffffffffffffffffffff949094166901000000000000000000027fffffffffffffff00000000000000000000000000000000ffffffffffffffffff9094169390931783556001808401869055600293840185905589835290822080547fffffffffffffff000000000000000000000000000000000000000000000000001681559081018290559091015561183d8661241a565b867f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d07568460405161186d9190614c40565b60405180910390a2867f7996a77fb97153e8ea814d8a9522cdcd267299988a53aa1be5d72813c47f117083836040516118a7929190614f8c565b60405180910390a2857f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d075660006040516118e09190614d60565b60405180910390a25050601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050565b61194b8686868686867f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad612fbb565b6119578686600061222d565b505050505050565b600a5473ffffffffffffffffffffffffffffffffffffffff1681565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104ed5780601f106104c2576101008083540402835291602001916104ed565b60105460009060ff16611a32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614edf565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556000611a65856112ca565b90506000611a74308686613139565b905060008060008473ffffffffffffffffffffffffffffffffffffffff1663514ea4bf856040518263ffffffff1660e01b8152600401611ab49190614c40565b60a06040518083038186803b158015611acc57600080fd5b505afa158015611ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b049190810190614064565b505062ffffff8c166000908152600d6020908152604080832060028f810b810b85529083528184208e820b90910b84529091528120546fffffffffffffffffffffffffffffffff949094169650919450925090611b6890859063ffffffff61317016565b600f80546001810190915597509050611b818b88612daa565b6040518060c001604052808b62ffffff1681526020018a60020b81526020018960020b8152602001611bb2836125d4565b6fffffffffffffffffffffffffffffffff90811682526020808301879052604092830186905260008b8152600e825283902084518154928601519486015160608701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090941662ffffff928316177fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff166301000000600297880b841602177fffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffff16660100000000000091870b9290921602177fffffffffffffff00000000000000000000000000000000ffffffffffffffffff16690100000000000000000092909316919091029190911781556080830151600182015560a090920151910155611cdd8a8a8a612478565b867fadd14db47b6e899379fa37475844f1180aafc5f486d8afcf49a622a875bf04748b8b8b604051611d1193929190614eef565b60405180910390a2867f70656cb0f88cf193057d52bb2d77cdcb074b18e1916e4a57f0459f626a7d075682604051611d499190614c40565b60405180910390a2867f7996a77fb97153e8ea814d8a9522cdcd267299988a53aa1be5d72813c47f11708484604051611d83929190614f8c565b60405180910390a25050601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555092979650505050505050565b600e6020526000908152604090208054600182015460029283015462ffffff83169363010000008404810b936601000000000000810490910b9269010000000000000000009091046fffffffffffffffffffffffffffffffff169186565b6105283383836131b2565b610b1085858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525033925061329b915050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b600c5473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600d60209081526000938452604080852082529284528284209052825290205481565b60105460ff16611f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614edf565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611f40826132b3565b611f48613b43565b506000828152600e60209081526040808320815160c081018352815462ffffff811680835263010000008204600290810b810b810b9684019690965266010000000000008204860b860b860b94830194909452690100000000000000000090046fffffffffffffffffffffffffffffffff1660608201526001820154608082015292015460a0830152909190611fdd906112ca565b90508073ffffffffffffffffffffffffffffffffffffffff1663a34123a78360200151846040015160006040518463ffffffff1660e01b815260040161202593929190614d10565b6040805180830381600087803b15801561203e57600080fd5b505af1158015612052573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061207691908101906141b4565b50506000806000806120888686612e55565b9350935093509350600082118061209f5750600081115b6120d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614ebf565b8473ffffffffffffffffffffffffffffffffffffffff16634f1eb3d88888602001518960400151612105876125d4565b61210e876125d4565b6040518663ffffffff1660e01b815260040161212e959493929190614bf0565b6040805180830381600087803b15801561214757600080fd5b505af115801561215b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061217f9190810190614034565b50506000888152600e602052604090819020600181018690556002018490555188907f7996a77fb97153e8ea814d8a9522cdcd267299988a53aa1be5d72813c47f1170906121d09087908790614f8c565b60405180910390a25050601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055505050505050565b600560209081526000928352604080842090915290825290205460ff1681565b60006122388361237d565b905073ffffffffffffffffffffffffffffffffffffffff8216158061228857508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806122c5575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209386168352929052205460ff165b6122fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614ecf565b60008381526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b60008181526003602052604081205473ffffffffffffffffffffffffffffffffffffffff16806112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e4f565b6123e483838361351e565b6109a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e1f565b600061242960008360006135e5565b905073ffffffffffffffffffffffffffffffffffffffff8116610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e4f565b6000612483846112ca565b90506000612492308585613139565b905060008273ffffffffffffffffffffffffffffffffffffffff1663514ea4bf836040518263ffffffff1660e01b81526004016124cf9190614c40565b60a06040518083038186803b1580156124e757600080fd5b505afa1580156124fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061251f9190810190614064565b5050505062ffffff969096166000908152600d60209081526040808320600298890b890b8452825280832096880b90970b825294909452505050206fffffffffffffffffffffffffffffffff9091169055565b60008061257f8484612e55565b9097909650945050505050565b6000828201838110156125cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dbf565b90505b92915050565b60007001000000000000000000000000000000008210612620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e0f565b5090565b73ffffffffffffffffffffffffffffffffffffffff8316612671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dcf565b600061267e8484846135e5565b905073ffffffffffffffffffffffffffffffffffffffff81166126cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e4f565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e9f565b8151612745906000906020850190613baa565b508051612759906001906020840190613baa565b50604051469061276890614b35565b6040805191829003822085516020808801919091208484018452600185527f31000000000000000000000000000000000000000000000000000000000000009482019490945291516127e29391927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918691309101614c90565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120600655505050565b60008060008360020b12612837578260020b61283f565b8260020b6000035b9050620d89e881111561287e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e8f565b60006001821661289f577001000000000000000000000000000000006128b1565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156128e5576ffff97272373d413259a46990580e213a0260801c5b6004821615612904576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612923576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612942576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612961576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612980576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561299f576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156129bf576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156129df576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156129ff576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612a1f576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612a3f576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612a5f576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612a7f576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612a9f576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612ac0576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615612ae0576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615612aff576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615612b1c576b048a170391f7dc42444e8fa20260801c5b60008460020b1315612b5557807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81612b5157fe5b0490505b640100000000810615612b69576001612b6c565b60005b60ff16602082901c0192505050919050565b6000740100000000000000000000000000000000000000008210612620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e3f565b600082612bdd575060006125ce565b82820282848281612bea57fe5b04146125cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e2f565b60006125cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613760565b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161115612c9f579293925b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1611612ce457612cdd8585856137b1565b9150612d45565b8373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161015612d3757612d238685856137b1565b9150612d30858785613861565b9050612d45565b612d42858585613861565b90505b94509492505050565b612d6a848484604051806020016040528060008152508561329b565b50505050565b600080612d8f670de0b6b3a7640000610d16868663ffffffff612bce16565b9150612da1848363ffffffff61317016565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff8216612df7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dcf565b6000612e05838360006135e5565b905073ffffffffffffffffffffffffffffffffffffffff8116156109a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614e6f565b6000806000806000612e703088602001518960400151613139565b6040517f514ea4bf00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff87169063514ea4bf90612ec5908490600401614c40565b60a06040518083038186803b158015612edd57600080fd5b505afa158015612ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f159190810190614064565b505060808a015160a08b015160608c015193995091975088039250860390612f6d9070010000000000000000000000000000000090610d169085906fffffffffffffffffffffffffffffffff1663ffffffff612bce16565b9450612fad700100000000000000000000000000000000610d168b606001516fffffffffffffffffffffffffffffffff1684612bce90919063ffffffff16565b935050505092959194509250565b42851015612ff5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614ddf565b600654600087815260076020908152604080832080546001810190915590519293926130299286928d928d928d9101614c4e565b60405160208183030381529060405280519060200120604051602001613050929190614b04565b60405160208183030381529060405280519060200120905060006130738861237d565b905060006001838888886040516000815260200160405260405161309a9493929190614cd2565b6020604051602081039080840390855afa1580156130bc573d6000803e3d6000fd5b5050506020604051035190508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461312d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614def565b50505050505050505050565b600083838360405160200161315093929190614ac2565b6040516020818303038152906040528051906020012090505b9392505050565b60006125cb83836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152506138dd565b73ffffffffffffffffffffffffffffffffffffffff82166131ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614d9f565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152600560209081526040808320948716808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061328e908590614c32565b60405180910390a3505050565b6132a785858584612624565b610b1085858585613923565b60006132be8261237d565b905060008173ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff1660e01b81526004016132fb9190614c40565b60206040518083038186803b15801561331357600080fd5b505afa158015613327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061334b9190810190613d38565b905073ffffffffffffffffffffffffffffffffffffffff811633141561337257505061351b565b6040517f081812fc000000000000000000000000000000000000000000000000000000008152339073ffffffffffffffffffffffffffffffffffffffff84169063081812fc906133c6908790600401614c40565b60206040518083038186803b1580156133de57600080fd5b505afa1580156133f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134169190810190613d38565b73ffffffffffffffffffffffffffffffffffffffff16141561343957505061351b565b6040517fe985e9c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063e985e9c59061348d9084903390600401614bad565b60206040518083038186803b1580156134a557600080fd5b505afa1580156134b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134dd9190810190613ff8565b156134e957505061351b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614d8f565b50565b600073ffffffffffffffffffffffffffffffffffffffff8316158015906135dd57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806135ac575073ffffffffffffffffffffffffffffffffffffffff80851660009081526005602090815260408083209387168352929052205460ff165b806135dd575060008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8481169116145b949350505050565b60008281526003602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169082161561361f5761361f8183856123d9565b73ffffffffffffffffffffffffffffffffffffffff81161561369457613648600084600061222d565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff8416156136dd5773ffffffffffffffffffffffffffffffffffffffff84166000908152600260205260409020805460010190555b60008381526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a49392505050565b6000818361379b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106569190614d6e565b5060008385816137a757fe5b0495945050505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1611156137eb579192915b8373ffffffffffffffffffffffffffffffffffffffff166138516060846fffffffffffffffffffffffffffffffff16901b86860373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16613a6a565b8161385857fe5b04949350505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16111561389b579192915b6135dd826fffffffffffffffffffffffffffffffff1685850373ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000613a6a565b6000818484111561391b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106569190614d6e565b505050900390565b61392c83613b37565b15612d6a576040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061398c903390899088908890600401614b4e565b602060405180830381600087803b1580156139a657600080fd5b505af11580156139ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139de9190810190614016565b90506040516139ec90614af9565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610b10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690614dcf565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870986860292508281109083900303905080613abe5760008411613ab357600080fd5b508290049050613169565b808411613aca57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b3b63ffffffff16151590565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6040518060600160405280613b8b613c24565b8152602001613b98613c24565b8152602001613ba5613c24565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613beb57805160ff1916838001178555613c18565b82800160010185558215613c18579182015b82811115613c18578251825591602001919060010190613bfd565b50612620929150613c3e565b604051806040016040528060008152602001600081525090565b61061291905b808211156126205760008155600101613c44565b80356125ce816150d8565b80516125ce816150d8565b80356125ce816150ec565b80516125ce816150ec565b80356125ce816150f5565b80516125ce816150fe565b60008083601f840112613cac57600080fd5b50813567ffffffffffffffff811115613cc457600080fd5b602083019150836001820283011115613cdc57600080fd5b9250929050565b80356125ce81615107565b80516125ce81615110565b80356125ce81615119565b80516125ce816150f5565b80356125ce81615122565b600060208284031215613d2c57600080fd5b60006135dd8484613c58565b600060208284031215613d4a57600080fd5b60006135dd8484613c63565b60008060408385031215613d6957600080fd5b6000613d758585613c58565b9250506020613d8685828601613c58565b9150509250929050565b60008060008060808587031215613da657600080fd5b6000613db28787613c58565b9450506020613dc387828801613c58565b9350506040613dd487828801613c58565b9250506060613de587828801613c58565b91505092959194509250565b600080600060608486031215613e0657600080fd5b6000613e128686613c58565b9350506020613e2386828701613c58565b9250506040613e3486828701613c84565b9150509250925092565b600080600080600060808688031215613e5657600080fd5b6000613e628888613c58565b9550506020613e7388828901613c58565b9450506040613e8488828901613c84565b935050606086013567ffffffffffffffff811115613ea157600080fd5b613ead88828901613c9a565b92509250509295509295909350565b60008060408385031215613ecf57600080fd5b6000613edb8585613c58565b9250506020613d8685828601613c6e565b60008060008060808587031215613f0257600080fd5b6000613f0e8787613c58565b9450506020613f1f87828801613cf9565b9350506040613f3087828801613ce3565b9250506060613de587828801613ce3565b60008060408385031215613f5457600080fd5b6000613f608585613c58565b9250506020613d8685828601613c84565b60008060008060008060c08789031215613f8a57600080fd5b6000613f968989613c58565b9650506020613fa789828a01613c84565b9550506040613fb889828a01613c84565b9450506060613fc989828a01613d0f565b9350506080613fda89828a01613c84565b92505060a0613feb89828a01613c84565b9150509295509295509295565b60006020828403121561400a57600080fd5b60006135dd8484613c79565b60006020828403121561402857600080fd5b60006135dd8484613c8f565b6000806040838503121561404757600080fd5b60006140538585613cee565b9250506020613d8685828601613cee565b600080600080600060a0868803121561407c57600080fd5b60006140888888613cee565b955050602061409988828901613d04565b94505060406140aa88828901613d04565b93505060606140bb88828901613cee565b92505060806140cc88828901613cee565b9150509295509295909350565b6000602082840312156140eb57600080fd5b60006135dd8484613cf9565b60008060006060848603121561410c57600080fd5b60006141188686613cf9565b935050602061412986828701613ce3565b9250506040613e3486828701613ce3565b60006020828403121561414c57600080fd5b60006135dd8484613c84565b60006020828403121561416a57600080fd5b60006135dd8484613d04565b6000806040838503121561418957600080fd5b6000613d758585613c84565b600080604083850312156141a857600080fd5b6000613f608585613c84565b600080604083850312156141c757600080fd5b60006141d38585613d04565b9250506020613d8685828601613d04565b6141ed8161502b565b82525050565b6141ed81614fb4565b6141ed61420882614fb4565b615083565b6141ed81614fbf565b6141ed81610612565b6141ed61422b82610612565b610612565b600061423b82614fa7565b6142458185614fab565b9350614255818560208601615057565b61425e816150a4565b9093019392505050565b6141ed81614fe9565b6141ed61427d82614fe9565b61508e565b6141ed81615036565b6141ed81615041565b60006142a1602b83614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a20554e535581527f50504f525445445f464545000000000000000000000000000000000000000000602082015260400192915050565b6000614300602883614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a20554e415581527f54484f52495a4544000000000000000000000000000000000000000000000000602082015260400192915050565b600061435f602083614fab565b7f496d7065726d61784552433732313a20494e56414c49445f4f50455241544f52815260200192915050565b6000614398601d83614fab565b7f496d7065726d61783a20464143544f52595f414c52454144595f534554000000815260200192915050565b60006143d1602f836112c5565b7f6f6e455243373231526563656976656428616464726573732c6164647265737381527f2c75696e743235362c62797465732900000000000000000000000000000000006020820152602f0192915050565b60006144306002836112c5565b7f1901000000000000000000000000000000000000000000000000000000000000815260020192915050565b6000614469601b83614fab565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006144a2602083614fab565b7f496d7065726d61784552433732313a20494e56414c49445f5245434549564552815260200192915050565b60006144db601783614fab565b7f496d7065726d61784552433732313a2045585049524544000000000000000000815260200192915050565b6000614514602183614fab565b7f496d7065726d61784552433732313a20494e56414c49445f5349474e4154555281527f4500000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000614573603483614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a20494e434f81527f4d50415449424c455f544f4b454e535f4d455441000000000000000000000000602082015260400192915050565b60006145d2601183614fab565b7f496d7065726d61783a2053414645313238000000000000000000000000000000815260200192915050565b600061460b601c83614fab565b7f496d7065726d61784552433732313a20554e415554484f52495a454400000000815260200192915050565b60006146446052836112c5565b7f454950373132446f6d61696e28737472696e67206e616d652c737472696e672081527f76657273696f6e2c75696e7432353620636861696e49642c616464726573732060208201527f766572696679696e67436f6e7472616374290000000000000000000000000000604082015260520192915050565b60006146c9602183614fab565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000614728601183614fab565b7f496d7065726d61783a2053414645313630000000000000000000000000000000815260200192915050565b6000614761602183614fab565b7f496d7065726d61784552433732313a204e4f4e4558495354454e545f544f4b4581527f4e00000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006147c0603183614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a20494e564181527f4c49445f5341464554595f4d415247494e000000000000000000000000000000602082015260400192915050565b600061481f601e83614fab565b7f496d7065726d61784552433732313a20494e56414c49445f53454e4445520000815260200192915050565b6000614858602d83614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a2041424f5681527f455f3130305f50455243454e5400000000000000000000000000000000000000602082015260400192915050565b60006148b7600b83614fab565b7f5469636b4d6174683a2054000000000000000000000000000000000000000000815260200192915050565b60006148f0601f83614fab565b7f496d7065726d61784552433732313a20494e434f52524543545f4f574e455200815260200192915050565b6000614929602383614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a2053414d4581527f5f49440000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000614988602d83614fab565b7f546f6b656e697a6564556e69737761705633506f736974696f6e3a204e4f5f4681527f4545535f434f4c4c454354454400000000000000000000000000000000000000602082015260400192915050565b60006149e7602083614fab565b7f496d7065726d61784552433732313a20494e56414c49445f415050524f564552815260200192915050565b6000614a20601383614fab565b7f496d7065726d61783a205245454e544552454400000000000000000000000000815260200192915050565b80516040830190614a5d8482614216565b506020820151612d6a6020850182614216565b805160c0830190614a818482614a4c565b506020820151614a946040850182614a4c565b506040820151612d6a6080850182614a4c565b6141ed81614fef565b6141ed8161501d565b6141ed81615025565b6000614ace82866141fc565b601482019150614ade8285614271565b600382019150614aee8284614271565b506003019392505050565b60006125ce826143c4565b6000614b0f82614423565b9150614b1b828561421f565b602082019150614b2b828461421f565b5060200192915050565b60006125ce82614637565b602081016125ce82846141f3565b60808101614b5c82876141e4565b614b6960208301866141f3565b614b766040830185614216565b8181036060830152614b888184614230565b9695505050505050565b60408101614ba082856141f3565b61316960208301846141f3565b60408101614bbb82856141f3565b61316960208301846141e4565b60608101614bd682866141f3565b614be360208301856141f3565b6135dd6040830184614ab0565b60a08101614bfe82886141f3565b614c0b6020830187614268565b614c186040830186614268565b614c256060830185614aa7565b614b886080830184614aa7565b602081016125ce828461420d565b602081016125ce8284614216565b60a08101614c5c8288614216565b614c6960208301876141f3565b614c766040830186614216565b614c836060830185614216565b614b886080830184614216565b60a08101614c9e8288614216565b614cab6020830187614216565b614cb86040830186614216565b614cc56060830185614216565b614b8860808301846141f3565b60808101614ce08287614216565b614ced6020830186614ab9565b614cfa6040830185614216565b614d076060830184614216565b95945050505050565b60608101614d1e8286614268565b614d2b6020830185614268565b6135dd6040830184614282565b60608101614d468286614268565b614d536020830185614268565b6135dd6040830184614aa7565b602081016125ce828461428b565b602080825281016125cb8184614230565b602080825281016112c281614294565b602080825281016112c2816142f3565b602080825281016112c281614352565b602080825281016112c28161438b565b602080825281016112c28161445c565b602080825281016112c281614495565b602080825281016112c2816144ce565b602080825281016112c281614507565b602080825281016112c281614566565b602080825281016112c2816145c5565b602080825281016112c2816145fe565b602080825281016112c2816146bc565b602080825281016112c28161471b565b602080825281016112c281614754565b602080825281016112c2816147b3565b602080825281016112c281614812565b602080825281016112c28161484b565b602080825281016112c2816148aa565b602080825281016112c2816148e3565b602080825281016112c28161491c565b602080825281016112c28161497b565b602080825281016112c2816149da565b602080825281016112c281614a13565b60608101614efd8286614ab0565b614f0a6020830185614268565b6135dd6040830184614268565b60c08101614f258289614ab0565b614f326020830188614268565b614f3f6040830187614268565b614f4c6060830186614aa7565b614f596080830185614216565b614f6660a0830184614216565b979650505050505050565b60e08101614f7f8285614216565b6131696020830184614a70565b60408101614f9a8285614216565b6131696020830184614216565b5190565b90815260200190565b60006112c282615004565b151590565b7fffffffff000000000000000000000000000000000000000000000000000000001690565b60020b90565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b62ffffff1690565b60ff1690565b60006112c28261504c565b60006112c282614fef565b60006112c282610612565b60006112c282614fb4565b60005b8381101561507257818101518382015260200161505a565b83811115612d6a5750506000910152565b60006112c282615099565b60006112c2826150cc565b60006112c2826150d2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b60e81b90565b60601b90565b6150e181614fb4565b811461351b57600080fd5b6150e181614fbf565b6150e181610612565b6150e181614fc4565b6150e181614fe9565b6150e181614fef565b6150e18161501d565b6150e18161502556fea365627a7a72315820994cef63d679bbd5db84462d25d48bd9d4aa9ff89592e364be58599b1509a15a6c6578706572696d656e74616cf564736f6c63430005100040a365627a7a723158208dd2aea734505f7a2b0baa060fd89532fac75c3e705b61d0805b7cfbbee607a86c6578706572696d656e74616cf564736f6c63430005100040