608060405234801561000f575f80fd5b5060405161337c38038061337c83398181016040528101906100319190610369565b8082610042816100ec60201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b3575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100aa9190610430565b60405180910390fd5b6100c2816100ff60201b60201c565b5083600490816100d29190610656565b5082600590816100e29190610656565b5050505050610725565b80600290816100fb9190610656565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610221826101db565b810181811067ffffffffffffffff821117156102405761023f6101eb565b5b80604052505050565b5f6102526101c2565b905061025e8282610218565b919050565b5f67ffffffffffffffff82111561027d5761027c6101eb565b5b610286826101db565b9050602081019050919050565b8281835e5f83830152505050565b5f6102b36102ae84610263565b610249565b9050828152602081018484840111156102cf576102ce6101d7565b5b6102da848285610293565b509392505050565b5f82601f8301126102f6576102f56101d3565b5b81516103068482602086016102a1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103388261030f565b9050919050565b6103488161032e565b8114610352575f80fd5b50565b5f815190506103638161033f565b92915050565b5f805f8060808587031215610381576103806101cb565b5b5f85015167ffffffffffffffff81111561039e5761039d6101cf565b5b6103aa878288016102e2565b945050602085015167ffffffffffffffff8111156103cb576103ca6101cf565b5b6103d7878288016102e2565b935050604085015167ffffffffffffffff8111156103f8576103f76101cf565b5b610404878288016102e2565b925050606061041587828801610355565b91505092959194509250565b61042a8161032e565b82525050565b5f6020820190506104435f830184610421565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061049757607f821691505b6020821081036104aa576104a9610453565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261050c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104d1565b61051686836104d1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055a6105556105508461052e565b610537565b61052e565b9050919050565b5f819050919050565b61057383610540565b61058761057f82610561565b8484546104dd565b825550505050565b5f90565b61059b61058f565b6105a681848461056a565b505050565b5b818110156105c9576105be5f82610593565b6001810190506105ac565b5050565b601f82111561060e576105df816104b0565b6105e8846104c2565b810160208510156105f7578190505b61060b610603856104c2565b8301826105ab565b50505b505050565b5f82821c905092915050565b5f61062e5f1984600802610613565b1980831691505092915050565b5f610646838361061f565b9150826002028217905092915050565b61065f82610449565b67ffffffffffffffff811115610678576106776101eb565b5b6106828254610480565b61068d8282856105cd565b5f60209050601f8311600181146106be575f84156106ac578287015190505b6106b6858261063b565b86555061071d565b601f1984166106cc866104b0565b5f5b828110156106f3578489015182556001820191506020850194506020810190506106ce565b86831015610710578489015161070c601f89168261061f565b8355505b6001600288020188555050505b505050505050565b612c4a806107325f395ff3fe608060405234801561000f575f80fd5b5060043610610108575f3560e01c806357128683116100a057806395d89b411161006f57806395d89b411461029e578063a22cb465146102bc578063e985e9c5146102d8578063f242432a14610308578063f2fde38b1461032457610108565b8063571286831461023e578063715018a61461025a5780637c9f7a5f146102645780638da5cb5b1461028057610108565b8063156e29f6116100dc578063156e29f6146101ba5780632eb2c2d6146101d65780633ac62187146101f25780634e1273f41461020e57610108565b8062fdd58e1461010c57806301ffc9a71461013c57806306fdde031461016c5780630e89341c1461018a575b5f80fd5b61012660048036038101906101219190611cdf565b610340565b6040516101339190611d2c565b60405180910390f35b61015660048036038101906101519190611d9a565b610395565b6040516101639190611ddf565b60405180910390f35b6101746103a6565b6040516101819190611e68565b60405180910390f35b6101a4600480360381019061019f9190611e88565b610432565b6040516101b19190611e68565b60405180910390f35b6101d460048036038101906101cf9190611eb3565b6104c4565b005b6101f060048036038101906101eb91906120f3565b6104eb565b005b61020c6004803603810190610207919061226c565b610592565b005b610228600480360381019061022391906123cf565b610744565b60405161023591906124fc565b60405180910390f35b6102586004803603810190610253919061251c565b61084b565b005b6102626109b2565b005b61027e600480360381019061027991906125c0565b6109c5565b005b610288610b25565b6040516102959190612660565b60405180910390f35b6102a6610b4d565b6040516102b39190611e68565b60405180910390f35b6102d660048036038101906102d191906126a3565b610bd9565b005b6102f260048036038101906102ed91906126e1565b610bef565b6040516102ff9190611ddf565b60405180910390f35b610322600480360381019061031d919061271f565b610c7d565b005b61033e600480360381019061033991906127b2565b610d24565b005b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f61039f82610da8565b9050919050565b600480546103b39061280a565b80601f01602080910402602001604051908101604052809291908181526020018280546103df9061280a565b801561042a5780601f106104015761010080835404028352916020019161042a565b820191905f5260205f20905b81548152906001019060200180831161040d57829003601f168201915b505050505081565b6060600280546104419061280a565b80601f016020809104026020016040519081016040528092919081815260200182805461046d9061280a565b80156104b85780601f1061048f576101008083540402835291602001916104b8565b820191905f5260205f20905b81548152906001019060200180831161049b57829003601f168201915b50505050509050919050565b6104cc610e89565b6104e683838360405180602001604052805f815250610f10565b505050565b5f6104f4610fa5565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561053957506105378682610bef565b155b1561057d5780866040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161057492919061283a565b60405180910390fd5b61058a8686868686610fac565b505050505050565b61059a610e89565b8181905085859050146105e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d9906128ab565b60405180910390fd5b818190506105f08785610340565b1015610631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062890612913565b60405180910390fd5b5f5b8585905081101561073b575f73ffffffffffffffffffffffffffffffffffffffff1686868381811061066857610667612931565b5b905060200201602081019061067d91906127b2565b73ffffffffffffffffffffffffffffffffffffffff16036106d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ca906129a8565b60405180910390fd5b61072e878787848181106106ea576106e9612931565b5b90506020020160208101906106ff91906127b2565b8686868681811061071357610712612931565b5b9050602002013560405180602001604052805f8152506110a0565b8080600101915050610633565b50505050505050565b6060815183511461079057815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016107879291906129c6565b60405180910390fd5b5f835167ffffffffffffffff8111156107ac576107ab611f07565b5b6040519080825280602002602001820160405280156107da5781602001602082028036833780820191505090505b5090505f5b8451811015610840576108166107fe82876111a690919063ffffffff16565b61081183876111b990919063ffffffff16565b610340565b82828151811061082957610828612931565b5b6020026020010181815250508060010190506107df565b508091505092915050565b610853610e89565b81518351148015610865575080518251145b6108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b906128ab565b60405180910390fd5b5f5b83518110156109ac575f73ffffffffffffffffffffffffffffffffffffffff168482815181106108d9576108d8612931565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906129a8565b60405180910390fd5b61099f84828151811061094d5761094c612931565b5b602002602001015184838151811061096857610967612931565b5b602002602001015184848151811061098357610982612931565b5b602002602001015160405180602001604052805f815250610f10565b80806001019150506108a6565b50505050565b6109ba610e89565b6109c35f6111cc565b565b6109cd610e89565b818190508585905014610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c906128ab565b60405180910390fd5b5f5b85859050811015610b1d57828282818110610a3557610a34612931565b5b90506020020135610a6d878784818110610a5257610a51612931565b5b9050602002016020810190610a6791906127b2565b86610340565b1015610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa590612913565b60405180910390fd5b610b10868683818110610ac457610ac3612931565b5b9050602002016020810190610ad991906127b2565b610ae1610b25565b86868686818110610af557610af4612931565b5b9050602002013560405180602001604052805f8152506110a0565b8080600101915050610a17565b505050505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60058054610b5a9061280a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b869061280a565b8015610bd15780601f10610ba857610100808354040283529160200191610bd1565b820191905f5260205f20905b815481529060010190602001808311610bb457829003601f168201915b505050505081565b610be1610e89565b610beb828261128f565b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f610c86610fa5565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610ccb5750610cc98682610bef565b155b15610d0f5780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610d0692919061283a565b60405180910390fd5b610d1c86868686866110a0565b505050505050565b610d2c610e89565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d9c575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610d939190612660565b60405180910390fd5b610da5816111cc565b50565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610e7257507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610e825750610e81826112a5565b5b9050919050565b610e91610fa5565b73ffffffffffffffffffffffffffffffffffffffff16610eaf610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e57610ed2610fa5565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610f059190612660565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f80575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610f779190612660565b60405180910390fd5b5f80610f8c858561130e565b91509150610f9d5f8784848761133e565b505050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361101c575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016110139190612660565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361108c575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016110839190612660565b60405180910390fd5b611099858585858561133e565b5050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611110575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016111079190612660565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611180575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016111779190612660565b60405180910390fd5b5f8061118c858561130e565b9150915061119d878784848761133e565b50505050505050565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6112a161129a610fa5565b83836113ea565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b61134a85858585611553565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146113e3575f611386610fa5565b905060018451036113d2575f6113a55f866111b990919063ffffffff16565b90505f6113bb5f866111b990919063ffffffff16565b90506113cb8389898585896118e3565b50506113e1565b6113e0818787878787611a92565b5b505b5050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361145a575f6040517fced3e1000000000000000000000000000000000000000000000000000000000081526004016114519190612660565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115469190611ddf565b60405180910390a3505050565b805182511461159d57815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016115949291906129c6565b60405180910390fd5b5f6115a6610fa5565b90505f5b83518110156117a2575f6115c782866111b990919063ffffffff16565b90505f6115dd83866111b990919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614611700575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156116ac57888183856040517f03dee4c50000000000000000000000000000000000000000000000000000000081526004016116a394939291906129ed565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461179557805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461178d9190612a5d565b925050819055505b50508060010190506115aa565b50600183510361185d575f6117c05f856111b990919063ffffffff16565b90505f6117d65f856111b990919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405161184e9291906129c6565b60405180910390a450506118dc565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516118d3929190612a90565b60405180910390a45b5050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611a8a578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611943959493929190612b17565b6020604051808303815f875af192505050801561197e57506040513d601f19601f8201168201806040525081019061197b9190612b83565b60015b6119ff573d805f81146119ac576040519150601f19603f3d011682016040523d82523d5f602084013e6119b1565b606091505b505f8151036119f757846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016119ee9190612660565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611a8857846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611a7f9190612660565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611c39578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611af2959493929190612bae565b6020604051808303815f875af1925050508015611b2d57506040513d601f19601f82011682018060405250810190611b2a9190612b83565b60015b611bae573d805f8114611b5b576040519150601f19603f3d011682016040523d82523d5f602084013e611b60565b606091505b505f815103611ba657846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611b9d9190612660565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611c3757846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611c2e9190612660565b60405180910390fd5b505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c7b82611c52565b9050919050565b611c8b81611c71565b8114611c95575f80fd5b50565b5f81359050611ca681611c82565b92915050565b5f819050919050565b611cbe81611cac565b8114611cc8575f80fd5b50565b5f81359050611cd981611cb5565b92915050565b5f8060408385031215611cf557611cf4611c4a565b5b5f611d0285828601611c98565b9250506020611d1385828601611ccb565b9150509250929050565b611d2681611cac565b82525050565b5f602082019050611d3f5f830184611d1d565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d7981611d45565b8114611d83575f80fd5b50565b5f81359050611d9481611d70565b92915050565b5f60208284031215611daf57611dae611c4a565b5b5f611dbc84828501611d86565b91505092915050565b5f8115159050919050565b611dd981611dc5565b82525050565b5f602082019050611df25f830184611dd0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e3a82611df8565b611e448185611e02565b9350611e54818560208601611e12565b611e5d81611e20565b840191505092915050565b5f6020820190508181035f830152611e808184611e30565b905092915050565b5f60208284031215611e9d57611e9c611c4a565b5b5f611eaa84828501611ccb565b91505092915050565b5f805f60608486031215611eca57611ec9611c4a565b5b5f611ed786828701611c98565b9350506020611ee886828701611ccb565b9250506040611ef986828701611ccb565b9150509250925092565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611f3d82611e20565b810181811067ffffffffffffffff82111715611f5c57611f5b611f07565b5b80604052505050565b5f611f6e611c41565b9050611f7a8282611f34565b919050565b5f67ffffffffffffffff821115611f9957611f98611f07565b5b602082029050602081019050919050565b5f80fd5b5f611fc0611fbb84611f7f565b611f65565b90508083825260208201905060208402830185811115611fe357611fe2611faa565b5b835b8181101561200c5780611ff88882611ccb565b845260208401935050602081019050611fe5565b5050509392505050565b5f82601f83011261202a57612029611f03565b5b813561203a848260208601611fae565b91505092915050565b5f80fd5b5f67ffffffffffffffff82111561206157612060611f07565b5b61206a82611e20565b9050602081019050919050565b828183375f83830152505050565b5f61209761209284612047565b611f65565b9050828152602081018484840111156120b3576120b2612043565b5b6120be848285612077565b509392505050565b5f82601f8301126120da576120d9611f03565b5b81356120ea848260208601612085565b91505092915050565b5f805f805f60a0868803121561210c5761210b611c4a565b5b5f61211988828901611c98565b955050602061212a88828901611c98565b945050604086013567ffffffffffffffff81111561214b5761214a611c4e565b5b61215788828901612016565b935050606086013567ffffffffffffffff81111561217857612177611c4e565b5b61218488828901612016565b925050608086013567ffffffffffffffff8111156121a5576121a4611c4e565b5b6121b1888289016120c6565b9150509295509295909350565b5f80fd5b5f8083601f8401126121d7576121d6611f03565b5b8235905067ffffffffffffffff8111156121f4576121f36121be565b5b6020830191508360208202830111156122105761220f611faa565b5b9250929050565b5f8083601f84011261222c5761222b611f03565b5b8235905067ffffffffffffffff811115612249576122486121be565b5b60208301915083602082028301111561226557612264611faa565b5b9250929050565b5f805f805f806080878903121561228657612285611c4a565b5b5f61229389828a01611c98565b965050602087013567ffffffffffffffff8111156122b4576122b3611c4e565b5b6122c089828a016121c2565b955095505060406122d389828a01611ccb565b935050606087013567ffffffffffffffff8111156122f4576122f3611c4e565b5b61230089828a01612217565b92509250509295509295509295565b5f67ffffffffffffffff82111561232957612328611f07565b5b602082029050602081019050919050565b5f61234c6123478461230f565b611f65565b9050808382526020820190506020840283018581111561236f5761236e611faa565b5b835b8181101561239857806123848882611c98565b845260208401935050602081019050612371565b5050509392505050565b5f82601f8301126123b6576123b5611f03565b5b81356123c684826020860161233a565b91505092915050565b5f80604083850312156123e5576123e4611c4a565b5b5f83013567ffffffffffffffff81111561240257612401611c4e565b5b61240e858286016123a2565b925050602083013567ffffffffffffffff81111561242f5761242e611c4e565b5b61243b85828601612016565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61247781611cac565b82525050565b5f612488838361246e565b60208301905092915050565b5f602082019050919050565b5f6124aa82612445565b6124b4818561244f565b93506124bf8361245f565b805f5b838110156124ef5781516124d6888261247d565b97506124e183612494565b9250506001810190506124c2565b5085935050505092915050565b5f6020820190508181035f83015261251481846124a0565b905092915050565b5f805f6060848603121561253357612532611c4a565b5b5f84013567ffffffffffffffff8111156125505761254f611c4e565b5b61255c868287016123a2565b935050602084013567ffffffffffffffff81111561257d5761257c611c4e565b5b61258986828701612016565b925050604084013567ffffffffffffffff8111156125aa576125a9611c4e565b5b6125b686828701612016565b9150509250925092565b5f805f805f606086880312156125d9576125d8611c4a565b5b5f86013567ffffffffffffffff8111156125f6576125f5611c4e565b5b612602888289016121c2565b9550955050602061261588828901611ccb565b935050604086013567ffffffffffffffff81111561263657612635611c4e565b5b61264288828901612217565b92509250509295509295909350565b61265a81611c71565b82525050565b5f6020820190506126735f830184612651565b92915050565b61268281611dc5565b811461268c575f80fd5b50565b5f8135905061269d81612679565b92915050565b5f80604083850312156126b9576126b8611c4a565b5b5f6126c685828601611c98565b92505060206126d78582860161268f565b9150509250929050565b5f80604083850312156126f7576126f6611c4a565b5b5f61270485828601611c98565b925050602061271585828601611c98565b9150509250929050565b5f805f805f60a0868803121561273857612737611c4a565b5b5f61274588828901611c98565b955050602061275688828901611c98565b945050604061276788828901611ccb565b935050606061277888828901611ccb565b925050608086013567ffffffffffffffff81111561279957612798611c4e565b5b6127a5888289016120c6565b9150509295509295909350565b5f602082840312156127c7576127c6611c4a565b5b5f6127d484828501611c98565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061282157607f821691505b602082108103612834576128336127dd565b5b50919050565b5f60408201905061284d5f830185612651565b61285a6020830184612651565b9392505050565b7f417272617973206c656e677468206d69736d61746368000000000000000000005f82015250565b5f612895601683611e02565b91506128a082612861565b602082019050919050565b5f6020820190508181035f8301526128c281612889565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6128fd601483611e02565b9150612908826128c9565b602082019050919050565b5f6020820190508181035f83015261292a816128f1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420726563697069656e742061646472657373000000000000005f82015250565b5f612992601983611e02565b915061299d8261295e565b602082019050919050565b5f6020820190508181035f8301526129bf81612986565b9050919050565b5f6040820190506129d95f830185611d1d565b6129e66020830184611d1d565b9392505050565b5f608082019050612a005f830187612651565b612a0d6020830186611d1d565b612a1a6040830185611d1d565b612a276060830184611d1d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a6782611cac565b9150612a7283611cac565b9250828201905080821115612a8a57612a89612a30565b5b92915050565b5f6040820190508181035f830152612aa881856124a0565b90508181036020830152612abc81846124a0565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612ae982612ac5565b612af38185612acf565b9350612b03818560208601611e12565b612b0c81611e20565b840191505092915050565b5f60a082019050612b2a5f830188612651565b612b376020830187612651565b612b446040830186611d1d565b612b516060830185611d1d565b8181036080830152612b638184612adf565b90509695505050505050565b5f81519050612b7d81611d70565b92915050565b5f60208284031215612b9857612b97611c4a565b5b5f612ba584828501612b6f565b91505092915050565b5f60a082019050612bc15f830188612651565b612bce6020830187612651565b8181036040830152612be081866124a0565b90508181036060830152612bf481856124a0565b90508181036080830152612c088184612adf565b9050969550505050505056fea264697066735822122072c82d967ac4c2cfd6d02eae2de0b4eac46a55dad74d2e1d98b0ed9c62d0ab2a64736f6c63430008190033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000628bbfb58abf3ab58566263b68badaff425980e4000000000000000000000000000000000000000000000000000000000000000c426173656420455243343034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084241534544343034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d6335695157396574756f647a6261596935434b557a69786d53714b4650706452574471533232693177357234000000000000000000000000000000000000