60e0604052600360a090815262302e3360e81b60c0526065906100229082610801565b503060805234801561003357600080fd5b506001641c35fedd1560601b036086556001646c3390ecc9605e1b036087556001640cf801476160611b0360885560016431bdb23e1d605f1b0360895560016502fb1d8fe083605b1b03608a5560016505b771955b37605a1b03608b556001650af67a93bb5160591b03608c5560016515060c256cb360581b03608d556001651428a2f98d7360581b03608e556001654d515663970960561b03608f55600165944620b0e70f60551b03609055600166011c592761c66760541b0360915560016602214d10d014eb60531b03609255600166020ade36b7dbef60531b0360935560016603eab73b3bbfe360521b036094556001660782ee3593f6d760511b036095556001661ccf4b44bb4821604f1b0360965560016606e7f88ad8a77760511b0360975560016669f3d1c921891d604d1b03609855600166cb2ff529eb71e5604c1b03609955600166c2d415c3db974b604c1b03609a5560016702eb40f9f620fda7604a1b03609b5560016705990681d961a1eb60491b03609c55600167055e12902701414760491b03609d5560016714962dee9dc9764160471b03609e5560016704ef57b9b560fab560491b03609f5560016712ed7b32a58f552b60471b0360a0556001679131271922eaa60760441b0360a1556001678b380f3558668c4760441b0360a2556001680215f77c045fbe885760421b0360a3556001600160831b0360a4556001670f577eded5773a1160471b0360a5556001680eb5ec597592befbf5603f1b0360a6556001681c35fedd14b861eb05603e1b0360a7556001683619c87664579bc94b603d1b0360a85560016867c00a3b07ffc01fd7603c1b0360a955600168c6f6c8f8739773a7a5603b1b0360aa55600168bec763f8209b7a72b1603b1b0360ab5560016902dbb8caad9b7097b91b60391b0360ac55600169057b3d49dda84556d6f760381b0360ad55600169054183095b2c8ececf3160381b0360ae556001690a14517cc6b9457111ef60371b0360af5560016913545598e5c23276ccf160361b0360b0556001692511882c39c3adea96ff60351b0360b155600169471649d87199aa99075760341b0360b2557004429a21a029d4c1457cfbffffffffffff60b355700415bc6d6fb7dd71af2cb3ffffffffffff60b4557003eab73b3bbfe282243ce1ffffffffffff60b5557003c1771ac9fb6b4c18e229ffffffffffff60b655700399e96897690418f785257fffffffffff60b755700373fc456c53bb779bf0ea9fffffffffff60b85570034f9e8e490c48e67e6ab8bfffffffffff60b95570032cbfd4a7adc790560b3337ffffffffff60ba5570030b50570f6e5d2acca94613ffffffffff60bb557002eb40f9f620fda6b56c2861ffffffffff60bc557002cc8340ecb0d0f520a6af58ffffffffff60bd557002af09481380a0a35cf1ba02ffffffffff60be55700292c5bdd3b92ec810287b1b3fffffffff60bf55700277abdcdab07d5a77ac6d6b9fffffffff60c05570025daf6654b1eaa55fd64df5efffffffff60c155700244c49c648baa98192dce88b7ffffffff60c25570022ce03cd5619a311b2471268bffffffff60c355700215f77c045fbe885654a44a0fffffffff60c4556001600160811b0360c5557001eaefdbdaaee7421fc4d3ede5ffffffff60c6557001d6bd8b2eb257df7e8ca57b09bfffffff60c7557001c35fedd14b861eb0443f7f133fffffff60c8557001b0ce43b322bcde4a56e8ada5afffffff60c95570019f0028ec1fff007f5a195a39dfffffff60ca5570018ded91f0e72ee74f49b15ba527ffffff60cb5570017d8ec7f04136f4e5615fd41a63ffffff60cc5570016ddc6556cdb84bdc8d12d22e6fffffff60cd5570015ecf52776a1155b5bd8395814f7fffff60ce5570015060c256cb23b3b3cc3754cf40ffffff60cf557001428a2f98d728ae223ddab715be3fffff60d05570013545598e5c23276ccf0ede68034fffff60d1557001288c4161ce1d6f54b7f61081194fffff60d25570011c592761c666aa641d5a01a40f17ffff60d355700110a688680a7530515f3e6e6cfdcdffff60d4557001056f1b5bedf75c6bcb2ce8aed428ffff60d5556ffaadceceeff8a0890f3875f008277fff60d6556ff05dc6b27edad306388a600f6ba0bfff60d7556fe67a5a25da41063de1495d5b18cdbfff60d8556fdcff115b14eedde6fc3aa5353f2e4fff60d9556fd3e7a3924312399f9aae2e0f868f8fff60da556fcb2ff529eb71e41582cccd5a1ee26fff60db556fc2d415c3db974ab32a51840c0b67edff60dc556fbad03e7d883f69ad5b0a186184e06bff60dd556fb320d03b2c343d4829abd6075f0cc5ff60de556fabc25204e02828d73c6e80bcdb1a95bf60df556fa4b16f74ee4bb2040a1ec6c15fbbf2df60e0556f9deaf736ac1f569deb1b5ae3f36c130f60e1556f976bd9952c7aa957f5937d790ef6503760e2556f9131271922eaa6064b73a22d0bd4f2bf60e3556f8b380f3558668c46c91c49a2f8e967b960e4556f857ddf0117efa215952912839f6473e660e5556108bf565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061078c57607f821691505b6020821081036107ac57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156107fc57806000526020600020601f840160051c810160208510156107d95750805b601f840160051c820191505b818110156107f957600081556001016107e5565b50505b505050565b81516001600160401b0381111561081a5761081a610762565b61082e816108288454610778565b846107b2565b6020601f821160018114610862576000831561084a5750848201515b600019600385901b1c1916600184901b1784556107f9565b600084815260208120601f198516915b828110156108925787850151825560209485019460019092019101610872565b50848210156108b05786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b608051615c756108f6600039600081816110700152818161112001528181611734015281816117e4015261192d0152615c756000f3fe6080604052600436106102f25760003560e01c80635c27c51d1161018f578063a0a7d109116100e1578063c816841b1161008a578063dd62ed3e11610064578063dd62ed3e14610800578063e4a28a5214610853578063f2fde38b1461086a57600080fd5b8063c816841b1461079d578063d04c6983146107cb578063d4d5d32a146107eb57600080fd5b8063b42fa9a9116100bb578063b42fa9a914610739578063c1ddf7f214610755578063c5c4744c1461078657600080fd5b8063a0a7d109146106d9578063a457c2d7146106f9578063a9059cbb1461071957600080fd5b80637deb60251161014357806395d89b411161011d57806395d89b411461069757806396365d44146106ac5780639fc97b6e146106c257600080fd5b80637deb6025146106455780638da5cb5b146106585780638f15b4141461068457600080fd5b806370a082311161017457806370a08231146105ed578063715018a614610630578063732d5e6a146104bc57600080fd5b80635c27c51d146105bc5780636c11f72a146105d257600080fd5b806329a00e7c11610248578063395ea61b116101fc5780634f1ef286116101d65780634f1ef2861461057f57806352d1902d1461059257806354fd4d50146105a757600080fd5b8063395ea61b1461053357806349f9b0f7146105485780634c68df671461056857600080fd5b8063313ce5671161022d578063313ce567146104d75780633659cfe6146104f3578063395093511461051357600080fd5b806329a00e7c1461049c5780632b86ae38146104bc57600080fd5b80630f560cd7116102aa5780631cee1941116102845780631cee19411461045057806323b872dd14610466578063277b2f971461048657600080fd5b80630f560cd7146103d15780631694505e146103e857806318160ddd1461043b57600080fd5b806309c773b1116102db57806309c773b1146103525780630a89fa82146103775780630c7d5cd81461039f57600080fd5b806306fdde03146102f7578063095ea7b314610322575b600080fd5b34801561030357600080fd5b5061030c61088a565b604051610319919061548b565b60405180910390f35b34801561032e57600080fd5b5061034261033d3660046154c0565b61091c565b6040519015158152602001610319565b34801561035e57600080fd5b506103696101825481565b604051908152602001610319565b34801561038357600080fd5b5061038c606481565b60405161ffff9091168152602001610319565b3480156103ab57600080fd5b5060e8546103bc9063ffffffff1681565b60405163ffffffff9091168152602001610319565b3480156103dd57600080fd5b506103e6610936565b005b3480156103f457600080fd5b50610185546104169073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610319565b34801561044757600080fd5b50603554610369565b34801561045c57600080fd5b5061038c6101f481565b34801561047257600080fd5b506103426104813660046154ec565b610f52565b34801561049257600080fd5b5061036960e75481565b3480156104a857600080fd5b506103696104b736600461552d565b610f78565b3480156104c857600080fd5b5061036966038d7ea4c6800081565b3480156104e357600080fd5b5060405160128152602001610319565b3480156104ff57600080fd5b506103e661050e366004615575565b611059565b34801561051f57600080fd5b5061034261052e3660046154c0565b61125e565b34801561053f57600080fd5b506103e66112aa565b34801561055457600080fd5b5061036961056336600461552d565b61161e565b34801561057457600080fd5b506103696101805481565b6103e661058d366004615659565b61171d565b34801561059e57600080fd5b50610369611913565b3480156105b357600080fd5b5061030c6119ff565b3480156105c857600080fd5b5061038c6113ec81565b3480156105de57600080fd5b50610183546103429060ff1681565b3480156105f957600080fd5b50610369610608366004615575565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b34801561063c57600080fd5b506103e6611a8d565b6103e66106533660046156bd565b611a9f565b34801561066457600080fd5b5061014d5473ffffffffffffffffffffffffffffffffffffffff16610416565b6103e661069236600461570d565b611bc7565b3480156106a357600080fd5b5061030c611f0a565b3480156106b857600080fd5b5061036960e65481565b3480156106ce57600080fd5b506103696101815481565b3480156106e557600080fd5b506103696b033b2e3c9fd0803ce800000081565b34801561070557600080fd5b506103426107143660046154c0565b611f19565b34801561072557600080fd5b506103426107343660046154c0565b611ff5565b34801561074557600080fd5b506103696704db73254763000081565b34801561076157600080fd5b50610342610770366004615575565b6101846020526000908152604090205460ff1681565b34801561079257600080fd5b5061036961017f5481565b3480156107a957600080fd5b50610186546104169073ffffffffffffffffffffffffffffffffffffffff1681565b3480156107d757600080fd5b506103e66107e636600461579b565b612003565b3480156107f757600080fd5b506103e6612299565b34801561080c57600080fd5b5061036961081b3660046157d4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b34801561085f57600080fd5b506103bc620f424081565b34801561087657600080fd5b506103e6610885366004615575565b61236e565b60606036805461089990615802565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590615802565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b5050505050905090565b60003361092a818585612422565b60019150505b92915050565b6101865474010000000000000000000000000000000000000000900460ff166109e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468697320616374696f6e206973206f6e20616c6c6f776564207768656e206c60448201527f61756e6368696e6700000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6704db73254763000061017f541015610a81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f546f74616c20726169736564206d757374207061737320746865206c6973746960448201527f6e67207468726573686f6c64000000000000000000000000000000000000000060648201526084016109dd565b61018680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16905561018554604080517fc45a0155000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c45a01559160048083019260209291908290030181865afa158015610b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3f9190615855565b9050600061018560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190615855565b6040517fc9c6539600000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff80831660248301529192509083169063c9c65396906044016020604051808303816000875af1158015610c4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c719190615855565b61018680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055603554600090610cd3906b033b2e3c9fd0803ce80000006158a1565b9050610cdf30826125d5565b60008161018154610cf091906158b4565b905060006704db73254763000061018054610d0b91906158b4565b9050610d4d6040518060400160405280601481526020017f4c697374696e6720696e666f3a2025642c20256400000000000000000000000081525083836126ca565b61018654610d7390309073ffffffffffffffffffffffffffffffffffffffff168461275d565b8373ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610dbb57600080fd5b505af1158015610dcf573d6000803e3d6000fd5b5050610186546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015260248101869052908816935063a9059cbb925060440190506020604051808303816000875af1158015610e4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7391906158c7565b610e7f57610e7f6158e9565b610186546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015290911690636a627842906024016020604051808303816000875af1158015610ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f169190615918565b506040518281527fdd11eaf2db1c16b640194c05b02faa4b8bc4abf29c61428e990e72c6c15cff77906020015b60405180910390a15050505050565b600033610f608582856129d5565b610f6b85858561275d565b60019150505b9392505050565b60008085118015610f895750600084115b8015610f9b575060008363ffffffff16115b8015610fb05750620f424063ffffffff841611155b610fb957600080fd5b81600003610fc957506000611051565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc063ffffffff84160161100857611001858386612aa6565b9050611051565b6000808061101687866158b4565b9050611027818888620f4240612b73565b9093509150600060ff831661103c858b615931565b901c905061104a89826158a1565b9450505050505b949350505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361111e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016109dd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166111937f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016109dd565b61123f81612d4d565b6040805160008082526020820190925261125b91839190612d55565b50565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061092a90829086906112a59087906158b4565b612422565b6101865474010000000000000000000000000000000000000000900460ff16611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468697320616374696f6e206973206f6e20616c6c6f776564207768656e206c60448201527f61756e6368696e6700000000000000000000000000000000000000000000000060648201526084016109dd565b6101835460ff16156113c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f506f6f6c20616c726561642070756d706564000000000000000000000000000060448201526064016109dd565b336000908152610184602052604090205460ff161561143e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5573657220616c72656164792070756d7065640000000000000000000000000060448201526064016109dd565b3360009081526101846020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560339091529020546101825461149091906158b4565b6101828190556040519081527fe01adf555c8c79980abf71f448abf6a244ac37db039c9a2fb76ba0111b0d9cc09060200160405180910390a1610182546114fc6113ec6127106114f56114e260355490565b6b033b2e3c9fd0803ce800000090612f54565b9190612aa6565b1161161c5760006115266101805461017f546704db73254763000061152191906158a1565b612f75565b905060006115348230612f8b565b9050806101815461154591906158b4565b6101815561017f546115589083906158b4565b61017f556101805461156b9083906158a1565b6101805561018380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560006101825561017f546704db732547630000116115bb576115bb610936565b7fb99ed91ddbececcf98eebc0cb0d6b5cb0ce0c01ef65e9c5d5d262550609be47c828260e6546115ea60355490565b61018054604080519586526020860194909452928401919091526060830152608082015260a00160405180910390a150505b565b6000808511801561162f5750600084115b8015611641575060008363ffffffff16115b80156116565750620f424063ffffffff841611155b80156116625750848211155b61166b57600080fd5b8160000361167b57506000611051565b848203611689575082611051565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc063ffffffff8416016116c157611001848387612aa6565b600080806116cf85896158a1565b90506116e08882620f424089612b73565b909350915060006116f18489615931565b905060ff831688901b8461170582846158a1565b61170f9190615977565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036117e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016109dd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166118577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146118fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016109dd565b61190382612d4d565b61190f82826001612d55565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146119da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016109dd565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60658054611a0c90615802565b80601f0160208091040260200160405190810160405280929190818152602001828054611a3890615802565b8015611a855780601f10611a5a57610100808354040283529160200191611a85565b820191906000526020600020905b815481529060010190602001808311611a6857829003601f168201915b505050505081565b611a95612fdd565b61161c600061305f565b6101865474010000000000000000000000000000000000000000900460ff16611b4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468697320616374696f6e206973206f6e20616c6c6f776564207768656e206c60448201527f61756e6368696e6700000000000000000000000000000000000000000000000060648201526084016109dd565b6000611b5634836130d7565b905082811015611bc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416d6f756e74206f757420746f6f20736d616c6c00000000000000000000000060448201526064016109dd565b505050565b600054610100900460ff1615808015611be75750600054600160ff909116105b80611c015750303b158015611c01575060005460ff166001145b611c8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109dd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611ceb57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611cfc66038d7ea4c68000806158b4565b341015611d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4e6f7420656e6f756768206d6f6e657920746f2070617920746f6b656e20637260448201527f656174696f6e2026206c697374696e672066656500000000000000000000000060648201526084016109dd565b611d95858561322e565b611d9d6132cf565b611da561336e565b60e880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016620679321790556b10b57f940e26793c5ddf400060e755670de0b6b3a764000060e655600066038d7ea4c68000611e0281346158a1565b611e0c91906158a1565b90508015611e2057611e1e81856130d7565b505b5061018680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055610185805473ffffffffffffffffffffffffffffffffffffffff84167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790558015611f0357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610f43565b5050505050565b60606037805461089990615802565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015611fdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016109dd565b611fea8286868403612422565b506001949350505050565b60003361092a81858561275d565b6101865474010000000000000000000000000000000000000000900460ff166120ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468697320616374696f6e206973206f6e20616c6c6f776564207768656e206c60448201527f61756e6368696e6700000000000000000000000000000000000000000000000060648201526084016109dd565b60006120ba3385613405565b90508061017f546120cb91906158a1565b61017f5560006120e3826704db7325476300006134db565b509250505083811015612152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416d6f756e74206f757420746f6f20736d616c6c00000000000000000000000060448201526064016109dd565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146121ac576040519150601f19603f3d011682016040523d82523d6000602084013e6121b1565b606091505b505090508061221c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4661696c656420746f2072656465656d2066756e64730000000000000000000060448201526064016109dd565b8373ffffffffffffffffffffffffffffffffffffffff167f20a7fc03b19d7f251cc907f177ff82194c6aebe9a2b47e1cd734dcb6bf772cc2878460e65461226260355490565b61018054604080519586526020860194909452928401919091526060830152608082015260a00160405180910390a2505050505050565b6122a1612fdd565b61017f546101805460009133916122b890476158a1565b6122c291906158a1565b604051600081818185875af1925050503d80600081146122fe576040519150601f19603f3d011682016040523d82523d6000602084013e612303565b606091505b505090508061125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4661696c656420746f2073656e642066656520746f20746865206f776e65720060448201526064016109dd565b612376612fdd565b73ffffffffffffffffffffffffffffffffffffffff8116612419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109dd565b61125b8161305f565b73ffffffffffffffffffffffffffffffffffffffff83166124c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff8216612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216612652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016109dd565b806035600082825461266491906158b4565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b611bc28383836040516024016126e29392919061598b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f969cdd03000000000000000000000000000000000000000000000000000000001790526135b3565b73ffffffffffffffffffffffffffffffffffffffff8316612800576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff82166128a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015612959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906129c69086815260200190565b60405180910390a35b50505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146129cf5781811015612a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109dd565b6129cf8484848403612422565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003612afe57838281612af457612af4615948565b0492505050610f71565b808411612b0a57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000807002000000000000000000000000000000008610612bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4d6178206e756d2065786365656465640000000000000000000000000000000060448201526064016109dd565b84861015612c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e0000000060448201526064016109dd565b60008086612c786f800000000000000000000000000000008a615931565b612c829190615977565b905070015bf0a8b1457695355fb8ac404e7a79e3811015612cad57612ca6816135bc565b9150612cb9565b612cb681613cc8565b91505b60008563ffffffff168763ffffffff1684612cd49190615931565b612cde9190615977565b9050700800000000000000000000000000000000811015612d1057612d0281613e01565b607f94509450505050612d44565b6000612d1b8261457f565b9050612d37612d2b82607f6159b0565b60ff1683901c82614644565b95509350612d4492505050565b94509492505050565b61125b612fdd565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612d8857611bc283614ca2565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e0d575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612e0a91810190615918565b60015b612e99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016109dd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016109dd565b50611bc2838383614dac565b6000818310612f6c57612f6782846158a1565b610f71565b60009392505050565b6000818310612f845781610f71565b5090919050565b600080612fb960e754612f9d60355490565b612fa791906158b4565b60e65460e85463ffffffff1687610f78565b9050612fc583826125d5565b8360e654612fd391906158b4565b60e6559392505050565b61014d5473ffffffffffffffffffffffffffffffffffffffff16331461161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109dd565b61014d805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000808311613142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416d6f756e7420696e20746f6f20736d616c6c0000000000000000000000000060448201526064016109dd565b6000806131658561017f546704db73254763000061316091906158a1565b6134db565b93509350505060006131778386612f8b565b90508261017f5461318891906158b4565b61017f556131968233614dd1565b8473ffffffffffffffffffffffffffffffffffffffff167f178f20a8980b4e6cdc2c84f3ef670f5047f63638f90a8acc6b724b43f1da778d848360e6546131dc60355490565b61018054604080519586526020860194909452928401919091526060830152608082015260a00160405180910390a26704db73254763000061017f541061322557613225610936565b95945050505050565b600054610100900460ff166132c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109dd565b61190f8282614ea1565b600054610100900460ff16613366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109dd565b61161c614f51565b600054610100900460ff1661161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260336020526040812054821115613494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e20746f2073656c6c00000000000060448201526064016109dd565b60006134c160e7546134a560355490565b6134af91906158b4565b60e65460e85463ffffffff168661161e565b90506134cd8484614ff1565b8060e654612fd391906158a1565b61018354600090819081908190819060ff166135105760646135016101f46127106159c9565b61350b91906159c9565b61351d565b61351d60646127106159c9565b61ffff16905060006135328883612710612aa6565b905061353e8782612f75565b6101835490945060ff1661355e57613559846101f484612aa6565b613561565b60005b955061356f84606484612aa6565b9450848661357d868b6158a1565b61358791906158a1565b61359191906158a1565b925085610180546135a291906158b4565b610180555093969295509093509150565b61125b816151b7565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd8861061362d576135f36f40000000000000000000000000000000856158b4565b93506fd3094c70f034de4b96ff7d5b6f99fcd86136206f8000000000000000000000000000000088615931565b61362a9190615977565b95505b6fa45af1e1f40c333b3de1db4dd55f29a786106136985761365e6f20000000000000000000000000000000856158b4565b93506fa45af1e1f40c333b3de1db4dd55f29a761368b6f8000000000000000000000000000000088615931565b6136959190615977565b95505b6f910b022db7ae67ce76b441c27035c6a18610613703576136c96f10000000000000000000000000000000856158b4565b93506f910b022db7ae67ce76b441c27035c6a16136f66f8000000000000000000000000000000088615931565b6137009190615977565b95505b6f88415abbe9a76bead8d00cf112e4d4a8861061376e576137346f08000000000000000000000000000000856158b4565b93506f88415abbe9a76bead8d00cf112e4d4a86137616f8000000000000000000000000000000088615931565b61376b9190615977565b95505b6f84102b00893f64c705e841d5d4064bd386106137d95761379f6f04000000000000000000000000000000856158b4565b93506f84102b00893f64c705e841d5d4064bd36137cc6f8000000000000000000000000000000088615931565b6137d69190615977565b95505b6f8204055aaef1c8bd5c3259f4822735a286106138445761380a6f02000000000000000000000000000000856158b4565b93506f8204055aaef1c8bd5c3259f4822735a26138376f8000000000000000000000000000000088615931565b6138419190615977565b95505b6f810100ab00222d861931c15e39b44e9986106138af576138756f01000000000000000000000000000000856158b4565b93506f810100ab00222d861931c15e39b44e996138a26f8000000000000000000000000000000088615931565b6138ac9190615977565b95505b6f808040155aabbbe9451521693554f7338610613919576138df6e800000000000000000000000000000856158b4565b93506f808040155aabbbe9451521693554f73361390c6f8000000000000000000000000000000088615931565b6139169190615977565b95505b6139336f80000000000000000000000000000000876158a1565b92508291506f800000000000000000000000000000006139538380615931565b61395d9190615977565b905070010000000000000000000000000000000061397b84826158a1565b6139859084615931565b61398f9190615977565b61399990856158b4565b93506f800000000000000000000000000000006139b68284615931565b6139c09190615977565b91507002000000000000000000000000000000006139ee846faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6158a1565b6139f89084615931565b613a029190615977565b613a0c90856158b4565b93506f80000000000000000000000000000000613a298284615931565b613a339190615977565b9150700300000000000000000000000000000000613a61846f999999999999999999999999999999996158a1565b613a6b9084615931565b613a759190615977565b613a7f90856158b4565b93506f80000000000000000000000000000000613a9c8284615931565b613aa69190615977565b9150700400000000000000000000000000000000613ad4846f924924924924924924924924924924926158a1565b613ade9084615931565b613ae89190615977565b613af290856158b4565b93506f80000000000000000000000000000000613b0f8284615931565b613b199190615977565b9150700500000000000000000000000000000000613b47846f8e38e38e38e38e38e38e38e38e38e38e6158a1565b613b519084615931565b613b5b9190615977565b613b6590856158b4565b93506f80000000000000000000000000000000613b828284615931565b613b8c9190615977565b9150700600000000000000000000000000000000613bba846f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b6158a1565b613bc49084615931565b613bce9190615977565b613bd890856158b4565b93506f80000000000000000000000000000000613bf58284615931565b613bff9190615977565b9150700700000000000000000000000000000000613c2d846f89d89d89d89d89d89d89d89d89d89d896158a1565b613c379084615931565b613c419190615977565b613c4b90856158b4565b93506f80000000000000000000000000000000613c688284615931565b613c729190615977565b9150700800000000000000000000000000000000613ca0846f888888888888888888888888888888886158a1565b613caa9084615931565b613cb49190615977565b613cbe90856158b4565b9695505050505050565b600080827001000000000000000000000000000000008110613d32576000613d08613d036f8000000000000000000000000000000084615977565b6151d8565b60ff811692831c92909150613d2e906f8000000000000000000000000000000090615931565b9250505b6f80000000000000000000000000000000811115613dcc57607f5b60ff811615613dca576f80000000000000000000000000000000613d718380615931565b613d7b9190615977565b91507001000000000000000000000000000000008210613dba57600191821c91613da590826159b0565b60ff166001901b83613db791906158b4565b92505b613dc3816159e3565b9050613d4d565b505b6f05b9de1d10bf4103d647b0955897ba80613df76f03f80fe03f80fe03f80fe03f80fe03f884615931565b6110519190615977565b6000808080613e206f1000000000000000000000000000000086615a1e565b91508190506f80000000000000000000000000000000613e408280615931565b613e4a9190615977565b9050613e5e816710e1b3be415a0000615931565b613e6890846158b4565b92506f80000000000000000000000000000000613e858383615931565b613e8f9190615977565b9050613ea3816705a0913f6b1e0000615931565b613ead90846158b4565b92506f80000000000000000000000000000000613eca8383615931565b613ed49190615977565b9050613ee881670168244fdac78000615931565b613ef290846158b4565b92506f80000000000000000000000000000000613f0f8383615931565b613f199190615977565b9050613f2c81664807432bc18000615931565b613f3690846158b4565b92506f80000000000000000000000000000000613f538383615931565b613f5d9190615977565b9050613f7081660c0135dca04000615931565b613f7a90846158b4565b92506f80000000000000000000000000000000613f978383615931565b613fa19190615977565b9050613fb4816601b707b1cdc000615931565b613fbe90846158b4565b92506f80000000000000000000000000000000613fdb8383615931565b613fe59190615977565b9050613ff7816536e0f639b800615931565b61400190846158b4565b92506f8000000000000000000000000000000061401e8383615931565b6140289190615977565b905061403a81650618fee9f800615931565b61404490846158b4565b92506f800000000000000000000000000000006140618383615931565b61406b9190615977565b905061407c81649c197dcc00615931565b61408690846158b4565b92506f800000000000000000000000000000006140a38383615931565b6140ad9190615977565b90506140be81640e30dce400615931565b6140c890846158b4565b92506f800000000000000000000000000000006140e58383615931565b6140ef9190615977565b90506141008164012ebd1300615931565b61410a90846158b4565b92506f800000000000000000000000000000006141278383615931565b6141319190615977565b9050614141816317499f00615931565b61414b90846158b4565b92506f800000000000000000000000000000006141688383615931565b6141729190615977565b9050614182816301a9d480615931565b61418c90846158b4565b92506f800000000000000000000000000000006141a98383615931565b6141b39190615977565b90506141c281621c6380615931565b6141cc90846158b4565b92506f800000000000000000000000000000006141e98383615931565b6141f39190615977565b9050614202816201c638615931565b61420c90846158b4565b92506f800000000000000000000000000000006142298383615931565b6142339190615977565b905061424181611ab8615931565b61424b90846158b4565b92506f800000000000000000000000000000006142688383615931565b6142729190615977565b90506142808161017c615931565b61428a90846158b4565b92506f800000000000000000000000000000006142a78383615931565b6142b19190615977565b90506142be816014615931565b6142c890846158b4565b92506f800000000000000000000000000000006142e58383615931565b6142ef9190615977565b90506142fc816001615931565b61430690846158b4565b92506f800000000000000000000000000000008261432c6721c3677c82b4000086615977565b61433691906158b4565b61434091906158b4565b92506f100000000000000000000000000000008516156143945770018ebef9eac820ae8682b9793ac6d1e776614387847001c3d6a24ed82218787d624d3e5eba95f9615931565b6143919190615977565b92505b6f200000000000000000000000000000008516156143e6577001368b2fc6f9609fe7aceb46aa619baed46143d98470018ebef9eac820ae8682b9793ac6d1e778615931565b6143e39190615977565b92505b6f40000000000000000000000000000000851615614437576fbc5ab1b16779be3575bd8f0520a9f21f61442a847001368b2fc6f9609fe7aceb46aa619baed5615931565b6144349190615977565b92505b6f80000000000000000000000000000000851615614487576f454aaa8efe072e7f6ddbab84b40a55c961447a846fbc5ab1b16779be3575bd8f0520a9f21e615931565b6144849190615977565b92505b7001000000000000000000000000000000008516156144d8576f0960aadc109e7a3bf4578099615711ea6144cb846f454aaa8efe072e7f6ddbab84b40a55c5615931565b6144d59190615977565b92505b700200000000000000000000000000000000851615614528576e2bf84208204f5977f9a8cf01fdce3d61451b846f0960aadc109e7a3bf4578099615711d7615931565b6145259190615977565b92505b700400000000000000000000000000000000851615614576576d03c6ab775dd0b95b4cbee7e65d11614569846e2bf84208204f5977f9a8cf01fdc307615931565b6145739190615977565b92505b50909392505050565b60006020607f5b60ff8116614595836001615a32565b60ff1610156145e857600060026145ac8385615a32565b6145b69190615a4b565b90508460668260ff16608081106145cf576145cf615a6d565b0154106145de578092506145e2565b8091505b50614586565b8360668260ff16608081106145ff576145ff615a6d565b01541061460d579392505050565b8360668360ff166080811061462457614624615a6d565b015410614632575092915050565b61463a6158e9565b5060009392505050565b6000828160ff84166146568380615931565b901c9150614674826f03442c4e6074a82f1797f72ac0000000615931565b61467e90826158b4565b905060ff841661468e8684615931565b901c91506146ac826f0116b96f757c380fb287fd0e40000000615931565b6146b690826158b4565b905060ff84166146c68684615931565b901c91506146e3826e45ae5bdd5f0e03eca1ff4390000000615931565b6146ed90826158b4565b905060ff84166146fd8684615931565b901c915061471a826e0defabf91302cd95b9ffda50000000615931565b61472490826158b4565b905060ff84166147348684615931565b901c9150614751826e02529ca9832b22439efff9b8000000615931565b61475b90826158b4565b905060ff841661476b8684615931565b901c9150614787826d54f1cf12bd04e516b6da88000000615931565b61479190826158b4565b905060ff84166147a18684615931565b901c91506147bd826d0a9e39e257a09ca2d6db51000000615931565b6147c790826158b4565b905060ff84166147d78684615931565b901c91506147f3826d012e066e7b839fa050c309000000615931565b6147fd90826158b4565b905060ff841661480d8684615931565b901c9150614828826c1e33d7d926c329a1ad1a800000615931565b61483290826158b4565b905060ff84166148428684615931565b901c915061485d826c02bee513bdb4a6b19b5f800000615931565b61486790826158b4565b905060ff84166148778684615931565b901c9150614891826b3a9316fa79b88eccf2a00000615931565b61489b90826158b4565b905060ff84166148ab8684615931565b901c91506148c5826b048177ebe1fa812375200000615931565b6148cf90826158b4565b905060ff84166148df8684615931565b901c91506148f8826a5263fe90242dcbacf00000615931565b61490290826158b4565b905060ff84166149128684615931565b901c915061492b826a057e22099c030d94100000615931565b61493590826158b4565b905060ff84166149458684615931565b901c915061495d826957e22099c030d9410000615931565b61496790826158b4565b905060ff84166149778684615931565b901c915061498f8269052b6b54569976310000615931565b61499990826158b4565b905060ff84166149a98684615931565b901c91506149c082684985f67696bf748000615931565b6149ca90826158b4565b905060ff84166149da8684615931565b901c91506149f1826803dea12ea99e498000615931565b6149fb90826158b4565b905060ff8416614a0b8684615931565b901c9150614a21826731880f2214b6e000615931565b614a2b90826158b4565b905060ff8416614a3b8684615931565b901c9150614a518267025bcff56eb36000615931565b614a5b90826158b4565b905060ff8416614a6b8684615931565b901c9150614a8082661b722e10ab1000615931565b614a8a90826158b4565b905060ff8416614a9a8684615931565b901c9150614aaf826601317c70077000615931565b614ab990826158b4565b905060ff8416614ac98684615931565b901c9150614add82650cba84aafa00615931565b614ae790826158b4565b905060ff8416614af78684615931565b901c9150614b0a826482573a0a00615931565b614b1490826158b4565b905060ff8416614b248684615931565b901c9150614b37826405035ad900615931565b614b4190826158b4565b905060ff8416614b518684615931565b901c9150614b6382632f881b00615931565b614b6d90826158b4565b905060ff8416614b7d8684615931565b901c9150614b8f826301b29340615931565b614b9990826158b4565b905060ff8416614ba98684615931565b901c9150614bba82620efc40615931565b614bc490826158b4565b905060ff8416614bd48684615931565b901c9150614be482617fe0615931565b614bee90826158b4565b905060ff8416614bfe8684615931565b901c9150614c0e82610420615931565b614c1890826158b4565b905060ff8416614c288684615931565b901c9150614c37826021615931565b614c4190826158b4565b905060ff8416614c518684615931565b901c9150614c60826001615931565b614c6a90826158b4565b9050600160ff85161b85614c8e6f0688589cc0e9505e2f2fee558000000084615977565b614c9891906158b4565b61322591906158b4565b73ffffffffffffffffffffffffffffffffffffffff81163b614d46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016109dd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b614db583615247565b600082511180614dc25750805b15611bc2576129cf8383615294565b811561190f5760008173ffffffffffffffffffffffffffffffffffffffff168360405160006040518083038185875af1925050503d8060008114614e31576040519150601f19603f3d011682016040523d82523d6000602084013e614e36565b606091505b5050905080611bc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4661696c656420746f20726566756e642073706172650000000000000000000060448201526064016109dd565b600054610100900460ff16614f38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109dd565b6036614f448382615ae3565b506037611bc28282615ae3565b600054610100900460ff16614fe8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109dd565b61161c3361305f565b73ffffffffffffffffffffffffffffffffffffffff8216615094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff82166000908152603360205260409020548181101561514a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016109dd565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000808261010081101561520c575b600181111561520757600190811c906152009083615a32565b91506151e7565b615240565b60805b60ff81161561523e57600160ff82161b8210615233579182179160ff81169190911c905b60011c607f1661520f565b505b5092915050565b61525081614ca2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61533a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016109dd565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516153629190615bfc565b600060405180830381855af49150503d806000811461539d576040519150601f19603f3d011682016040523d82523d6000602084013e6153a2565b606091505b50915091506132258282604051806060016040528060278152602001615c1960279139606083156153d4575081610f71565b610f7183838151156153e95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109dd919061548b565b60005b83811015615438578181015183820152602001615420565b50506000910152565b6000815180845261545981602086016020860161541d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610f716020830184615441565b73ffffffffffffffffffffffffffffffffffffffff8116811461125b57600080fd5b600080604083850312156154d357600080fd5b82356154de8161549e565b946020939093013593505050565b60008060006060848603121561550157600080fd5b833561550c8161549e565b9250602084013561551c8161549e565b929592945050506040919091013590565b6000806000806080858703121561554357600080fd5b8435935060208501359250604085013563ffffffff8116811461556557600080fd5b9396929550929360600135925050565b60006020828403121561558757600080fd5b8135610f718161549e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008067ffffffffffffffff8411156155dc576155dc615592565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff8211171561562957615629615592565b60405283815290508082840185101561564157600080fd5b83836020830137600060208583010152509392505050565b6000806040838503121561566c57600080fd5b82356156778161549e565b9150602083013567ffffffffffffffff81111561569357600080fd5b8301601f810185136156a457600080fd5b6156b3858235602084016155c1565b9150509250929050565b600080604083850312156156d057600080fd5b8235915060208301356156e28161549e565b809150509250929050565b600082601f8301126156fe57600080fd5b610f71838335602085016155c1565b6000806000806080858703121561572357600080fd5b843567ffffffffffffffff81111561573a57600080fd5b615746878288016156ed565b945050602085013567ffffffffffffffff81111561576357600080fd5b61576f878288016156ed565b93505060408501356157808161549e565b915060608501356157908161549e565b939692955090935050565b6000806000606084860312156157b057600080fd5b833592506020840135915060408401356157c98161549e565b809150509250925092565b600080604083850312156157e757600080fd5b82356157f28161549e565b915060208301356156e28161549e565b600181811c9082168061581657607f821691505b60208210810361584f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561586757600080fd5b8151610f718161549e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561093057610930615872565b8082018082111561093057610930615872565b6000602082840312156158d957600080fd5b81518015158114610f7157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60006020828403121561592a57600080fd5b5051919050565b808202811582820484141761093057610930615872565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261598657615986615948565b500490565b60608152600061599e6060830186615441565b60208301949094525060400152919050565b60ff828116828216039081111561093057610930615872565b61ffff828116828216039081111561093057610930615872565b600060ff8216806159f6576159f6615872565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b600082615a2d57615a2d615948565b500690565b60ff818116838216019081111561093057610930615872565b600060ff831680615a5e57615a5e615948565b8060ff84160491505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115611bc257806000526020600020601f840160051c81016020851015615ac35750805b601f840160051c820191505b81811015611f035760008155600101615acf565b815167ffffffffffffffff811115615afd57615afd615592565b615b1181615b0b8454615802565b84615a9c565b6020601f821160018114615b635760008315615b2d5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611f03565b6000848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015615bb15787850151825560209485019460019092019101615b91565b5084821015615bed57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b60008251615c0e81846020870161541d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b856b399fe13066932e2ab60489bb7776fa78f9ee42618c5d8117c4f9360e8e064736f6c634300081a0033