60806040526040518060400160405280600481526020017f6e616d6500000000000000000000000000000000000000000000000000000000815250600490816100489190610486565b506040518060400160405280600481526020017f4e414d45000000000000000000000000000000000000000000000000000000008152506005908161008d9190610486565b50348015610099575f80fd5b5060405161342138038061342183398181016040528101906100bb91906106cf565b83836100cc8161017660201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361013d575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101349190610796565b60405180910390fd5b61014c8161018960201b60201c565b50816004908161015c9190610486565b50806005908161016c9190610486565b50505050506107af565b80600290816101859190610486565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102c757607f821691505b6020821081036102da576102d9610283565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261033c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610301565b6103468683610301565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61038a6103856103808461035e565b610367565b61035e565b9050919050565b5f819050919050565b6103a383610370565b6103b76103af82610391565b84845461030d565b825550505050565b5f90565b6103cb6103bf565b6103d681848461039a565b505050565b5b818110156103f9576103ee5f826103c3565b6001810190506103dc565b5050565b601f82111561043e5761040f816102e0565b610418846102f2565b81016020851015610427578190505b61043b610433856102f2565b8301826103db565b50505b505050565b5f82821c905092915050565b5f61045e5f1984600802610443565b1980831691505092915050565b5f610476838361044f565b9150826002028217905092915050565b61048f8261024c565b67ffffffffffffffff8111156104a8576104a7610256565b5b6104b282546102b0565b6104bd8282856103fd565b5f60209050601f8311600181146104ee575f84156104dc578287015190505b6104e6858261046b565b86555061054d565b601f1984166104fc866102e0565b5f5b82811015610523578489015182556001820191506020850194506020810190506104fe565b86831015610540578489015161053c601f89168261044f565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61058f82610566565b9050919050565b61059f81610585565b81146105a9575f80fd5b50565b5f815190506105ba81610596565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b6105e1826105c8565b810181811067ffffffffffffffff82111715610600576105ff610256565b5b80604052505050565b5f610612610555565b905061061e82826105d8565b919050565b5f67ffffffffffffffff82111561063d5761063c610256565b5b610646826105c8565b9050602081019050919050565b8281835e5f83830152505050565b5f61067361066e84610623565b610609565b90508281526020810184848401111561068f5761068e6105c4565b5b61069a848285610653565b509392505050565b5f82601f8301126106b6576106b56105c0565b5b81516106c6848260208601610661565b91505092915050565b5f805f80608085870312156106e7576106e661055e565b5b5f6106f4878288016105ac565b945050602085015167ffffffffffffffff81111561071557610714610562565b5b610721878288016106a2565b935050604085015167ffffffffffffffff81111561074257610741610562565b5b61074e878288016106a2565b925050606085015167ffffffffffffffff81111561076f5761076e610562565b5b61077b878288016106a2565b91505092959194509250565b61079081610585565b82525050565b5f6020820190506107a95f830184610787565b92915050565b612c65806107bc5f395ff3fe608060405234801561000f575f80fd5b5060043610610113575f3560e01c8063731133e9116100a0578063e2b9e1861161006f578063e2b9e186146102c5578063e985e9c5146102e3578063f242432a14610313578063f2fde38b1461032f578063f5298aca1461034b57610113565b8063731133e9146102515780638da5cb5b1461026d578063a22cb4651461028b578063af17dea6146102a757610113565b80631f7fdffa116100e75780631f7fdffa146101c35780632eb2c2d6146101df5780634e1273f4146101fb5780636b20c4541461022b578063715018a61461024757610113565b8062fdd58e1461011757806301ffc9a71461014757806302fe5305146101775780630e89341c14610193575b5f80fd5b610131600480360381019061012c9190611ba7565b610367565b60405161013e9190611bf4565b60405180910390f35b610161600480360381019061015c9190611c62565b6103bc565b60405161016e9190611ca7565b60405180910390f35b610191600480360381019061018c9190611dfc565b61049d565b005b6101ad60048036038101906101a89190611e43565b6104b1565b6040516101ba9190611ece565b60405180910390f35b6101dd60048036038101906101d89190612050565b610543565b005b6101f960048036038101906101f49190612108565b61055d565b005b61021560048036038101906102109190612293565b610604565b60405161022291906123c0565b60405180910390f35b610245600480360381019061024091906123e0565b61070b565b005b61024f6107b7565b005b61026b60048036038101906102669190612468565b6107ca565b005b6102756107e4565b60405161028291906124f7565b60405180910390f35b6102a560048036038101906102a0919061253a565b61080c565b005b6102af610822565b6040516102bc9190611ece565b60405180910390f35b6102cd6108ae565b6040516102da9190611ece565b60405180910390f35b6102fd60048036038101906102f89190612578565b61093a565b60405161030a9190611ca7565b60405180910390f35b61032d600480360381019061032891906125b6565b6109c8565b005b61034960048036038101906103449190612649565b610a6f565b005b61036560048036038101906103609190612674565b610af3565b005b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610496575061049582610b9f565b5b9050919050565b6104a5610c08565b6104ae81610c8f565b50565b6060600280546104c0906126f1565b80601f01602080910402602001604051908101604052809291908181526020018280546104ec906126f1565b80156105375780601f1061050e57610100808354040283529160200191610537565b820191905f5260205f20905b81548152906001019060200180831161051a57829003601f168201915b50505050509050919050565b61054b610c08565b61055784848484610ca2565b50505050565b5f610566610d25565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156105ab57506105a9868261093a565b155b156105ef5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105e6929190612721565b60405180910390fd5b6105fc8686868686610d2c565b505050505050565b6060815183511461065057815183516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401610647929190612748565b60405180910390fd5b5f835167ffffffffffffffff81111561066c5761066b611cd8565b5b60405190808252806020026020018201604052801561069a5781602001602082028036833780820191505090505b5090505f5b8451811015610700576106d66106be8287610e2090919063ffffffff16565b6106d18387610e3390919063ffffffff16565b610367565b8282815181106106e9576106e861276f565b5b60200260200101818152505080600101905061069f565b508091505092915050565b610713610d25565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561075c575061075a83610755610d25565b61093a565b155b156107a757610769610d25565b836040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161079e929190612721565b60405180910390fd5b6107b2838383610e46565b505050565b6107bf610c08565b6107c85f610ed6565b565b6107d2610c08565b6107de84848484610f99565b50505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61081e610817610d25565b838361102e565b5050565b6005805461082f906126f1565b80601f016020809104026020016040519081016040528092919081815260200182805461085b906126f1565b80156108a65780601f1061087d576101008083540402835291602001916108a6565b820191905f5260205f20905b81548152906001019060200180831161088957829003601f168201915b505050505081565b600480546108bb906126f1565b80601f01602080910402602001604051908101604052809291908181526020018280546108e7906126f1565b80156109325780601f1061090957610100808354040283529160200191610932565b820191905f5260205f20905b81548152906001019060200180831161091557829003601f168201915b505050505081565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f6109d1610d25565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610a165750610a14868261093a565b155b15610a5a5780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610a51929190612721565b60405180910390fd5b610a678686868686611197565b505050505050565b610a77610c08565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ae7575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610ade91906124f7565b60405180910390fd5b610af081610ed6565b50565b610afb610d25565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b445750610b4283610b3d610d25565b61093a565b155b15610b8f57610b51610d25565b836040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610b86929190612721565b60405180910390fd5b610b9a83838361129d565b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610c10610d25565b73ffffffffffffffffffffffffffffffffffffffff16610c2e6107e4565b73ffffffffffffffffffffffffffffffffffffffff1614610c8d57610c51610d25565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c8491906124f7565b60405180910390fd5b565b8060029081610c9e9190612939565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d12575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610d0991906124f7565b60405180910390fd5b610d1f5f8585858561133f565b50505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d9c575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610d9391906124f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610e0c575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610e0391906124f7565b60405180910390fd5b610e19858585858561133f565b5050505050565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb6575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610ead91906124f7565b60405180910390fd5b610ed1835f848460405180602001604052805f81525061133f565b505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611009575f6040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161100091906124f7565b60405180910390fd5b5f8061101585856113eb565b915091506110265f8784848761133f565b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361109e575f6040517fced3e10000000000000000000000000000000000000000000000000000000000815260040161109591906124f7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161118a9190611ca7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611207575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016111fe91906124f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611277575f6040517f01a8351400000000000000000000000000000000000000000000000000000000815260040161126e91906124f7565b60405180910390fd5b5f8061128385856113eb565b91509150611294878784848761133f565b50505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361130d575f6040517f01a8351400000000000000000000000000000000000000000000000000000000815260040161130491906124f7565b60405180910390fd5b5f8061131984846113eb565b91509150611338855f848460405180602001604052805f81525061133f565b5050505050565b61134b8585858561141b565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146113e4575f611387610d25565b905060018451036113d3575f6113a65f86610e3390919063ffffffff16565b90505f6113bc5f86610e3390919063ffffffff16565b90506113cc8389898585896117ab565b50506113e2565b6113e181878787878761195a565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461146557815181516040517f5b05999100000000000000000000000000000000000000000000000000000000815260040161145c929190612748565b60405180910390fd5b5f61146e610d25565b90505f5b835181101561166a575f61148f8286610e3390919063ffffffff16565b90505f6114a58386610e3390919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146115c8575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561157457888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161156b9493929190612a08565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461165d57805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116559190612a78565b925050819055505b5050806001019050611472565b506001835103611725575f6116885f85610e3390919063ffffffff16565b90505f61169e5f85610e3390919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611716929190612748565b60405180910390a450506117a4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161179b929190612aab565b60405180910390a45b5050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611952578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161180b959493929190612b32565b6020604051808303815f875af192505050801561184657506040513d601f19601f820116820180604052508101906118439190612b9e565b60015b6118c7573d805f8114611874576040519150601f19603f3d011682016040523d82523d5f602084013e611879565b606091505b505f8151036118bf57846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016118b691906124f7565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461195057846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161194791906124f7565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611b01578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016119ba959493929190612bc9565b6020604051808303815f875af19250505080156119f557506040513d601f19601f820116820180604052508101906119f29190612b9e565b60015b611a76573d805f8114611a23576040519150601f19603f3d011682016040523d82523d5f602084013e611a28565b606091505b505f815103611a6e57846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611a6591906124f7565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611aff57846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611af691906124f7565b60405180910390fd5b505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611b4382611b1a565b9050919050565b611b5381611b39565b8114611b5d575f80fd5b50565b5f81359050611b6e81611b4a565b92915050565b5f819050919050565b611b8681611b74565b8114611b90575f80fd5b50565b5f81359050611ba181611b7d565b92915050565b5f8060408385031215611bbd57611bbc611b12565b5b5f611bca85828601611b60565b9250506020611bdb85828601611b93565b9150509250929050565b611bee81611b74565b82525050565b5f602082019050611c075f830184611be5565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611c4181611c0d565b8114611c4b575f80fd5b50565b5f81359050611c5c81611c38565b92915050565b5f60208284031215611c7757611c76611b12565b5b5f611c8484828501611c4e565b91505092915050565b5f8115159050919050565b611ca181611c8d565b82525050565b5f602082019050611cba5f830184611c98565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611d0e82611cc8565b810181811067ffffffffffffffff82111715611d2d57611d2c611cd8565b5b80604052505050565b5f611d3f611b09565b9050611d4b8282611d05565b919050565b5f67ffffffffffffffff821115611d6a57611d69611cd8565b5b611d7382611cc8565b9050602081019050919050565b828183375f83830152505050565b5f611da0611d9b84611d50565b611d36565b905082815260208101848484011115611dbc57611dbb611cc4565b5b611dc7848285611d80565b509392505050565b5f82601f830112611de357611de2611cc0565b5b8135611df3848260208601611d8e565b91505092915050565b5f60208284031215611e1157611e10611b12565b5b5f82013567ffffffffffffffff811115611e2e57611e2d611b16565b5b611e3a84828501611dcf565b91505092915050565b5f60208284031215611e5857611e57611b12565b5b5f611e6584828501611b93565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f611ea082611e6e565b611eaa8185611e78565b9350611eba818560208601611e88565b611ec381611cc8565b840191505092915050565b5f6020820190508181035f830152611ee68184611e96565b905092915050565b5f67ffffffffffffffff821115611f0857611f07611cd8565b5b602082029050602081019050919050565b5f80fd5b5f611f2f611f2a84611eee565b611d36565b90508083825260208201905060208402830185811115611f5257611f51611f19565b5b835b81811015611f7b5780611f678882611b93565b845260208401935050602081019050611f54565b5050509392505050565b5f82601f830112611f9957611f98611cc0565b5b8135611fa9848260208601611f1d565b91505092915050565b5f67ffffffffffffffff821115611fcc57611fcb611cd8565b5b611fd582611cc8565b9050602081019050919050565b5f611ff4611fef84611fb2565b611d36565b9050828152602081018484840111156120105761200f611cc4565b5b61201b848285611d80565b509392505050565b5f82601f83011261203757612036611cc0565b5b8135612047848260208601611fe2565b91505092915050565b5f805f806080858703121561206857612067611b12565b5b5f61207587828801611b60565b945050602085013567ffffffffffffffff81111561209657612095611b16565b5b6120a287828801611f85565b935050604085013567ffffffffffffffff8111156120c3576120c2611b16565b5b6120cf87828801611f85565b925050606085013567ffffffffffffffff8111156120f0576120ef611b16565b5b6120fc87828801612023565b91505092959194509250565b5f805f805f60a0868803121561212157612120611b12565b5b5f61212e88828901611b60565b955050602061213f88828901611b60565b945050604086013567ffffffffffffffff8111156121605761215f611b16565b5b61216c88828901611f85565b935050606086013567ffffffffffffffff81111561218d5761218c611b16565b5b61219988828901611f85565b925050608086013567ffffffffffffffff8111156121ba576121b9611b16565b5b6121c688828901612023565b9150509295509295909350565b5f67ffffffffffffffff8211156121ed576121ec611cd8565b5b602082029050602081019050919050565b5f61221061220b846121d3565b611d36565b9050808382526020820190506020840283018581111561223357612232611f19565b5b835b8181101561225c57806122488882611b60565b845260208401935050602081019050612235565b5050509392505050565b5f82601f83011261227a57612279611cc0565b5b813561228a8482602086016121fe565b91505092915050565b5f80604083850312156122a9576122a8611b12565b5b5f83013567ffffffffffffffff8111156122c6576122c5611b16565b5b6122d285828601612266565b925050602083013567ffffffffffffffff8111156122f3576122f2611b16565b5b6122ff85828601611f85565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61233b81611b74565b82525050565b5f61234c8383612332565b60208301905092915050565b5f602082019050919050565b5f61236e82612309565b6123788185612313565b935061238383612323565b805f5b838110156123b357815161239a8882612341565b97506123a583612358565b925050600181019050612386565b5085935050505092915050565b5f6020820190508181035f8301526123d88184612364565b905092915050565b5f805f606084860312156123f7576123f6611b12565b5b5f61240486828701611b60565b935050602084013567ffffffffffffffff81111561242557612424611b16565b5b61243186828701611f85565b925050604084013567ffffffffffffffff81111561245257612451611b16565b5b61245e86828701611f85565b9150509250925092565b5f805f80608085870312156124805761247f611b12565b5b5f61248d87828801611b60565b945050602061249e87828801611b93565b93505060406124af87828801611b93565b925050606085013567ffffffffffffffff8111156124d0576124cf611b16565b5b6124dc87828801612023565b91505092959194509250565b6124f181611b39565b82525050565b5f60208201905061250a5f8301846124e8565b92915050565b61251981611c8d565b8114612523575f80fd5b50565b5f8135905061253481612510565b92915050565b5f80604083850312156125505761254f611b12565b5b5f61255d85828601611b60565b925050602061256e85828601612526565b9150509250929050565b5f806040838503121561258e5761258d611b12565b5b5f61259b85828601611b60565b92505060206125ac85828601611b60565b9150509250929050565b5f805f805f60a086880312156125cf576125ce611b12565b5b5f6125dc88828901611b60565b95505060206125ed88828901611b60565b94505060406125fe88828901611b93565b935050606061260f88828901611b93565b925050608086013567ffffffffffffffff8111156126305761262f611b16565b5b61263c88828901612023565b9150509295509295909350565b5f6020828403121561265e5761265d611b12565b5b5f61266b84828501611b60565b91505092915050565b5f805f6060848603121561268b5761268a611b12565b5b5f61269886828701611b60565b93505060206126a986828701611b93565b92505060406126ba86828701611b93565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061270857607f821691505b60208210810361271b5761271a6126c4565b5b50919050565b5f6040820190506127345f8301856124e8565b61274160208301846124e8565b9392505050565b5f60408201905061275b5f830185611be5565b6127686020830184611be5565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826127bd565b61280286836127bd565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61283d61283861283384611b74565b61281a565b611b74565b9050919050565b5f819050919050565b61285683612823565b61286a61286282612844565b8484546127c9565b825550505050565b5f90565b61287e612872565b61288981848461284d565b505050565b5b818110156128ac576128a15f82612876565b60018101905061288f565b5050565b601f8211156128f1576128c28161279c565b6128cb846127ae565b810160208510156128da578190505b6128ee6128e6856127ae565b83018261288e565b50505b505050565b5f82821c905092915050565b5f6129115f19846008026128f6565b1980831691505092915050565b5f6129298383612902565b9150826002028217905092915050565b61294282611e6e565b67ffffffffffffffff81111561295b5761295a611cd8565b5b61296582546126f1565b6129708282856128b0565b5f60209050601f8311600181146129a1575f841561298f578287015190505b612999858261291e565b865550612a00565b601f1984166129af8661279c565b5f5b828110156129d6578489015182556001820191506020850194506020810190506129b1565b868310156129f357848901516129ef601f891682612902565b8355505b6001600288020188555050505b505050505050565b5f608082019050612a1b5f8301876124e8565b612a286020830186611be5565b612a356040830185611be5565b612a426060830184611be5565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a8282611b74565b9150612a8d83611b74565b9250828201905080821115612aa557612aa4612a4b565b5b92915050565b5f6040820190508181035f830152612ac38185612364565b90508181036020830152612ad78184612364565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612b0482612ae0565b612b0e8185612aea565b9350612b1e818560208601611e88565b612b2781611cc8565b840191505092915050565b5f60a082019050612b455f8301886124e8565b612b5260208301876124e8565b612b5f6040830186611be5565b612b6c6060830185611be5565b8181036080830152612b7e8184612afa565b90509695505050505050565b5f81519050612b9881611c38565b92915050565b5f60208284031215612bb357612bb2611b12565b5b5f612bc084828501612b8a565b91505092915050565b5f60a082019050612bdc5f8301886124e8565b612be960208301876124e8565b8181036040830152612bfb8186612364565b90508181036060830152612c0f8185612364565b90508181036080830152612c238184612afa565b9050969550505050505056fea2646970667358221220ae9c0b397c928dd5fd4717774ef69df4a4e828986bd6aa3341520b3eded9b81264736f6c634300081a003300000000000000000000000095d83ef3850b3837b5c487cecd7f79856113f898000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000004c697066733a2f2f62616679626569616a6f777a37766e6567656374696a666e70723364367334677569756a7865716c62347272646b367266626635613678357478652f7b69647d2e6a736f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014200000000000000000000000000000000000000000000000000000000000000