6080604052620f426d600755348015610016575f80fd5b506040518060400160405280600b81526020017f626c617374326c2e636f6d0000000000000000000000000000000000000000008152506040518060400160405280601c81526020017f636c61696d2072657761726473206f6e20626c617374326c2e636f6d00000000815250815f90816100919190610d6b565b5080600190816100a19190610d6b565b5050506100b26100b760201b60201c565b6110f7565b600754600654106100fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100f490610e94565b60405180910390fd5b61010f3360065461012660201b60201c565b600160065461011e9190610edf565b600681905550565b610145828260405180602001604052805f81525061014960201b60201c565b5050565b610159838361017060201b60201c565b61016b5f84848461026960201b60201c565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101e0575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016101d79190610f51565b60405180910390fd5b5f6101f283835f61042160201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610264575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161025b9190610f51565b60405180910390fd5b505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b111561041b578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026102b261063e60201b60201c565b8685856040518563ffffffff1660e01b81526004016102d49493929190610fe9565b6020604051808303815f875af192505050801561030f57506040513d601f19601f8201168201806040525081019061030c919061108c565b60015b610390573d805f811461033d576040519150601f19603f3d011682016040523d82523d5f602084013e610342565b606091505b505f81510361038857836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161037f9190610f51565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461041957836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016104109190610f51565b60405180910390fd5b505b50505050565b5f806104328461064560201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146104795761047881848661067e60201b60201c565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461050a576104be5f855f8061074760201b60201c565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461058957600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f33905090565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61068f83838361091260201b60201c565b610742575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361070357806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016106fa91906110b7565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016107399291906110d0565b60405180910390fd5b505050565b808061077f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156108bd575f610794846109de60201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156107fe57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561081757506108158184610a6a60201b60201c565b155b1561085957826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016108509190610f51565b60405180910390fd5b81156108bb57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156109d557508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610990575061098f8484610a6a60201b60201c565b5b806109d457508273ffffffffffffffffffffffffffffffffffffffff166109bc83610af860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f806109ef8361064560201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a6157826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610a5891906110b7565b60405180910390fd5b80915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610bac57607f821691505b602082108103610bbf57610bbe610b68565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610c217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610be6565b610c2b8683610be6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610c6f610c6a610c6584610c43565b610c4c565b610c43565b9050919050565b5f819050919050565b610c8883610c55565b610c9c610c9482610c76565b848454610bf2565b825550505050565b5f90565b610cb0610ca4565b610cbb818484610c7f565b505050565b5b81811015610cde57610cd35f82610ca8565b600181019050610cc1565b5050565b601f821115610d2357610cf481610bc5565b610cfd84610bd7565b81016020851015610d0c578190505b610d20610d1885610bd7565b830182610cc0565b50505b505050565b5f82821c905092915050565b5f610d435f1984600802610d28565b1980831691505092915050565b5f610d5b8383610d34565b9150826002028217905092915050565b610d7482610b31565b67ffffffffffffffff811115610d8d57610d8c610b3b565b5b610d978254610b95565b610da2828285610ce2565b5f60209050601f831160018114610dd3575f8415610dc1578287015190505b610dcb8582610d50565b865550610e32565b601f198416610de186610bc5565b5f5b82811015610e0857848901518255600182019150602085019450602081019050610de3565b86831015610e255784890151610e21601f891682610d34565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f416c6c20746f6b656e732068617665206265656e206d696e74656400000000005f82015250565b5f610e7e601b83610e3a565b9150610e8982610e4a565b602082019050919050565b5f6020820190508181035f830152610eab81610e72565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ee982610c43565b9150610ef483610c43565b9250828201905080821115610f0c57610f0b610eb2565b5b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f3b82610f12565b9050919050565b610f4b81610f31565b82525050565b5f602082019050610f645f830184610f42565b92915050565b610f7381610c43565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610fbb82610f79565b610fc58185610f83565b9350610fd5818560208601610f93565b610fde81610fa1565b840191505092915050565b5f608082019050610ffc5f830187610f42565b6110096020830186610f42565b6110166040830185610f6a565b81810360608301526110288184610fb1565b905095945050505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61106b81611037565b8114611075575f80fd5b50565b5f8151905061108681611062565b92915050565b5f602082840312156110a1576110a0611033565b5b5f6110ae84828501611078565b91505092915050565b5f6020820190506110ca5f830184610f6a565b92915050565b5f6040820190506110e35f830185610f42565b6110f06020830184610f6a565b9392505050565b6122bb806111045f395ff3fe6080604052600436106100fd575f3560e01c80636352211e11610094578063a22cb46511610063578063a22cb46514610319578063b88d4fde14610341578063c87b56dd14610369578063d5abeb01146103a5578063e985e9c5146103cf576100fd565b80636352211e1461025b57806370a0823114610297578063729ad39e146102d357806395d89b41146102ef576100fd565b80631249c58b116100d05780631249c58b146101cb57806317d70f7c146101e157806323b872dd1461020b57806342842e0e14610233576100fd565b806301ffc9a71461010157806306fdde031461013d578063081812fc14610167578063095ea7b3146101a3575b5f80fd5b34801561010c575f80fd5b506101276004803603810190610122919061173f565b61040b565b6040516101349190611784565b60405180910390f35b348015610148575f80fd5b506101516104ec565b60405161015e919061180d565b60405180910390f35b348015610172575f80fd5b5061018d60048036038101906101889190611860565b61057b565b60405161019a91906118ca565b60405180910390f35b3480156101ae575f80fd5b506101c960048036038101906101c4919061190d565b610596565b005b3480156101d6575f80fd5b506101df6105ac565b005b3480156101ec575f80fd5b506101f5610615565b604051610202919061195a565b60405180910390f35b348015610216575f80fd5b50610231600480360381019061022c9190611973565b61061b565b005b34801561023e575f80fd5b5061025960048036038101906102549190611973565b61071a565b005b348015610266575f80fd5b50610281600480360381019061027c9190611860565b610739565b60405161028e91906118ca565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b891906119c3565b61074a565b6040516102ca919061195a565b60405180910390f35b6102ed60048036038101906102e89190611a4f565b610800565b005b3480156102fa575f80fd5b506103036108b5565b604051610310919061180d565b60405180910390f35b348015610324575f80fd5b5061033f600480360381019061033a9190611ac4565b610945565b005b34801561034c575f80fd5b5061036760048036038101906103629190611c2a565b61095b565b005b348015610374575f80fd5b5061038f600480360381019061038a9190611860565b610978565b60405161039c919061180d565b60405180910390f35b3480156103b0575f80fd5b506103b96109cb565b6040516103c6919061195a565b60405180910390f35b3480156103da575f80fd5b506103f560048036038101906103f09190611caa565b6109d1565b6040516104029190611784565b60405180910390f35b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104d557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104e557506104e482610a5f565b5b9050919050565b60605f80546104fa90611d15565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611d15565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b5050505050905090565b5f61058582610ac8565b5061058f82610b4e565b9050919050565b6105a882826105a3610b87565b610b8e565b5050565b600754600654106105f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e990611d8f565b60405180910390fd5b6105fe33600654610ba0565b600160065461060d9190611dda565b600681905550565b60065481565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361068b575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161068291906118ca565b60405180910390fd5b5f61069e8383610699610b87565b610bbd565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610714578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161070b93929190611e0d565b60405180910390fd5b50505050565b61073483838360405180602001604052805f81525061095b565b505050565b5f61074382610ac8565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107bb575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016107b291906118ca565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f5b828290508110156108b0575f83838381811061082157610820611e42565b5b905060200201602081019061083691906119c3565b73ffffffffffffffffffffffffffffffffffffffff167320fe51a9229eef2cf8ad9e89d91cab9312cf3b7a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48080600101915050610802565b505050565b6060600180546108c490611d15565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090611d15565b801561093b5780601f106109125761010080835404028352916020019161093b565b820191905f5260205f20905b81548152906001019060200180831161091e57829003601f168201915b5050505050905090565b610957610950610b87565b8383610dc8565b5050565b61096684848461061b565b61097284848484610f31565b50505050565b60605f6109a160405160200161098d90611ff6565b6040516020818303038152906040526110e3565b9050806040516020016109b49190612084565b604051602081830303815290604052915050919050565b60075481565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f80610ad383611250565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b4557826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610b3c919061195a565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610b9b8383836001611289565b505050565b610bb9828260405180602001604052805f815250611448565b5050565b5f80610bc884611250565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610c0957610c08818486611463565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c9457610c485f855f80611289565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610d1357600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3857816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610e2f91906118ca565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f249190611784565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156110dd578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02610f74610b87565b8685856040518563ffffffff1660e01b8152600401610f9694939291906120f7565b6020604051808303815f875af1925050508015610fd157506040513d601f19601f82011682018060405250810190610fce9190612155565b60015b611052573d805f8114610fff576040519150601f19603f3d011682016040523d82523d5f602084013e611004565b606091505b505f81510361104a57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161104191906118ca565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146110db57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016110d291906118ca565b60405180910390fd5b505b50505050565b60605f8251036111035760405180602001604052805f815250905061124b565b5f6040518060600160405280604081526020016122466040913990505f6003600285516111309190611dda565b61113a91906121ad565b600461114691906121dd565b67ffffffffffffffff81111561115f5761115e611b06565b5b6040519080825280601f01601f1916602001820160405280156111915781602001600182028036833780820191505090505b509050600182016020820185865187016020810180515f82525b82841015611206576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f81168701518653600186019550506111ab565b80825260038a51066001811461122357600281146112365761123e565b603d6001870353603d600287035361123e565b603d60018703535b5050505050505080925050505b919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806112c157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113f3575f6112d084610ac8565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561133a57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561134d575061134b81846109d1565b155b1561138f57826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161138691906118ca565b60405180910390fd5b81156113f157838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6114528383611526565b61145e5f848484610f31565b505050565b61146e838383611619565b611521575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e257806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016114d9919061195a565b60405180910390fd5b81816040517f177e802f00000000000000000000000000000000000000000000000000000000815260040161151892919061221e565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611596575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161158d91906118ca565b60405180910390fd5b5f6115a283835f610bbd565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611614575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161160b91906118ca565b60405180910390fd5b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116d057508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611691575061169084846109d1565b5b806116cf57508273ffffffffffffffffffffffffffffffffffffffff166116b783610b4e565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61171e816116ea565b8114611728575f80fd5b50565b5f8135905061173981611715565b92915050565b5f60208284031215611754576117536116e2565b5b5f6117618482850161172b565b91505092915050565b5f8115159050919050565b61177e8161176a565b82525050565b5f6020820190506117975f830184611775565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6117df8261179d565b6117e981856117a7565b93506117f98185602086016117b7565b611802816117c5565b840191505092915050565b5f6020820190508181035f83015261182581846117d5565b905092915050565b5f819050919050565b61183f8161182d565b8114611849575f80fd5b50565b5f8135905061185a81611836565b92915050565b5f60208284031215611875576118746116e2565b5b5f6118828482850161184c565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b48261188b565b9050919050565b6118c4816118aa565b82525050565b5f6020820190506118dd5f8301846118bb565b92915050565b6118ec816118aa565b81146118f6575f80fd5b50565b5f81359050611907816118e3565b92915050565b5f8060408385031215611923576119226116e2565b5b5f611930858286016118f9565b92505060206119418582860161184c565b9150509250929050565b6119548161182d565b82525050565b5f60208201905061196d5f83018461194b565b92915050565b5f805f6060848603121561198a576119896116e2565b5b5f611997868287016118f9565b93505060206119a8868287016118f9565b92505060406119b98682870161184c565b9150509250925092565b5f602082840312156119d8576119d76116e2565b5b5f6119e5848285016118f9565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611a0f57611a0e6119ee565b5b8235905067ffffffffffffffff811115611a2c57611a2b6119f2565b5b602083019150836020820283011115611a4857611a476119f6565b5b9250929050565b5f8060208385031215611a6557611a646116e2565b5b5f83013567ffffffffffffffff811115611a8257611a816116e6565b5b611a8e858286016119fa565b92509250509250929050565b611aa38161176a565b8114611aad575f80fd5b50565b5f81359050611abe81611a9a565b92915050565b5f8060408385031215611ada57611ad96116e2565b5b5f611ae7858286016118f9565b9250506020611af885828601611ab0565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b3c826117c5565b810181811067ffffffffffffffff82111715611b5b57611b5a611b06565b5b80604052505050565b5f611b6d6116d9565b9050611b798282611b33565b919050565b5f67ffffffffffffffff821115611b9857611b97611b06565b5b611ba1826117c5565b9050602081019050919050565b828183375f83830152505050565b5f611bce611bc984611b7e565b611b64565b905082815260208101848484011115611bea57611be9611b02565b5b611bf5848285611bae565b509392505050565b5f82601f830112611c1157611c106119ee565b5b8135611c21848260208601611bbc565b91505092915050565b5f805f8060808587031215611c4257611c416116e2565b5b5f611c4f878288016118f9565b9450506020611c60878288016118f9565b9350506040611c718782880161184c565b925050606085013567ffffffffffffffff811115611c9257611c916116e6565b5b611c9e87828801611bfd565b91505092959194509250565b5f8060408385031215611cc057611cbf6116e2565b5b5f611ccd858286016118f9565b9250506020611cde858286016118f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611d2c57607f821691505b602082108103611d3f57611d3e611ce8565b5b50919050565b7f416c6c20746f6b656e732068617665206265656e206d696e74656400000000005f82015250565b5f611d79601b836117a7565b9150611d8482611d45565b602082019050919050565b5f6020820190508181035f830152611da681611d6d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611de48261182d565b9150611def8361182d565b9250828201905080821115611e0757611e06611dad565b5b92915050565b5f606082019050611e205f8301866118bb565b611e2d602083018561194b565b611e3a60408301846118bb565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81905092915050565b7f7b226e616d65223a2022626c617374326c2e636f6d204c696d6974656420436f5f8201527f75706f6e222c20226465736372697074696f6e223a202256697369742068747460208201527f70733a2f2f626c617374326c2e636f6d20626c617374326c2e636f6d20746f2060408201527f636c61696d2072657761726473222c2022696d616765223a202268747470733a60608201527f2f2f697066732e696f2f697066732f516d6375617a357666676d6e423947635460808201527f5338506f51336f67373363594d7543397376704d7a384a445242315278222c2060a08201527f2261747472696275746573223a205b7b226b6579223a22776562736974653a2260c08201527f2c2274726169745f74797065223a22776562736974653a222c2276616c75652260e08201527f3a2268747470733a2f2f626c617374326c2e636f6d227d5d7d0000000000000061010082015250565b5f611fdf61011983611e6f565b9150611fea82611e79565b61011982019050919050565b5f61200082611fd2565b9150819050919050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000005f82015250565b5f61203e601d83611e6f565b91506120498261200a565b601d82019050919050565b5f61205e8261179d565b6120688185611e6f565b93506120788185602086016117b7565b80840191505092915050565b5f61208e82612032565b915061209a8284612054565b915081905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6120c9826120a5565b6120d381856120af565b93506120e38185602086016117b7565b6120ec816117c5565b840191505092915050565b5f60808201905061210a5f8301876118bb565b61211760208301866118bb565b612124604083018561194b565b818103606083015261213681846120bf565b905095945050505050565b5f8151905061214f81611715565b92915050565b5f6020828403121561216a576121696116e2565b5b5f61217784828501612141565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6121b78261182d565b91506121c28361182d565b9250826121d2576121d1612180565b5b828204905092915050565b5f6121e78261182d565b91506121f28361182d565b92508282026122008161182d565b9150828204841483151761221757612216611dad565b5b5092915050565b5f6040820190506122315f8301856118bb565b61223e602083018461194b565b939250505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220220f6640b3cf4a1fc9c4769ae47fa7a003768520c80bf639c4b7fad8a01a094b64736f6c63430008190033