608060405260405180602001604052806000815250600b908162000024919062000500565b5073eba542882f86944052f35cf85726fe0157cb51ab600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f553480156200008c57600080fd5b506040518060400160405280601881526020017f54686520486f6c792056657373656c2d506f74205061737300000000000000008152506040518060400160405280601881526020017f54686520486f6c792056657373656c2d506f742050617373000000000000000081525081600090816200010a919062000500565b5080600190816200011c919062000500565b5050506200013f62000133620001a260201b60201c565b620001aa60201b60201c565b6000600a60146101000a81548160ff0219169083151502179055506040518060800160405280605a815260200162004309605a9139600b908162000184919062000500565b506200019c600c6200027060201b6200120c1760201c565b620005e7565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200030857607f821691505b6020821081036200031e576200031d620002c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000349565b62000394868362000349565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003e1620003db620003d584620003ac565b620003b6565b620003ac565b9050919050565b6000819050919050565b620003fd83620003c0565b620004156200040c82620003e8565b84845462000356565b825550505050565b600090565b6200042c6200041d565b62000439818484620003f2565b505050565b5b8181101562000461576200045560008262000422565b6001810190506200043f565b5050565b601f821115620004b0576200047a8162000324565b620004858462000339565b8101602085101562000495578190505b620004ad620004a48562000339565b8301826200043e565b50505b505050565b600082821c905092915050565b6000620004d560001984600802620004b5565b1980831691505092915050565b6000620004f08383620004c2565b9150826002028217905092915050565b6200050b8262000286565b67ffffffffffffffff81111562000527576200052662000291565b5b620005338254620002ef565b6200054082828562000465565b600060209050601f83116001811462000578576000841562000563578287015190505b6200056f8582620004e2565b865550620005df565b601f198416620005888662000324565b60005b82811015620005b2578489015182556001820191506020850194506020810190506200058b565b86831015620005d25784890151620005ce601f891682620004c2565b8355505b6001600288020188555050505b505050505050565b613d1280620005f76000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a22cb46511610097578063e985e9c511610071578063e985e9c5146104bb578063f0bc66bf146104eb578063f2fde38b14610509578063ff67370c14610525576101c4565b8063a22cb46514610453578063b88d4fde1461046f578063c87b56dd1461048b576101c4565b80638456cb59116100d35780638456cb59146103ef5780638da5cb5b146103f95780638e2131941461041757806395d89b4114610435576101c4565b806370a0823114610397578063714c5398146103c7578063715018a6146103e5576101c4565b80632f745c59116101665780634f6ccce7116101405780634f6ccce7146102fd57806355f804b31461032d5780635c975abb146103495780636352211e14610367576101c4565b80632f745c59146102a75780633f4ba83a146102d757806342842e0e146102e1576101c4565b8063095ea7b3116101a2578063095ea7b3146102475780631249c58b1461026357806318160ddd1461026d57806323b872dd1461028b576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063081812fc14610217575b600080fd5b6101e360048036038101906101de91906126a4565b610541565b6040516101f091906126ec565b60405180910390f35b610201610553565b60405161020e9190612797565b60405180910390f35b610231600480360381019061022c91906127ef565b6105e5565b60405161023e919061285d565b60405180910390f35b610261600480360381019061025c91906128a4565b61062b565b005b61026b610742565b005b610275610993565b60405161028291906128f3565b60405180910390f35b6102a560048036038101906102a0919061290e565b6109a4565b005b6102c160048036038101906102bc91906128a4565b610a04565b6040516102ce91906128f3565b60405180910390f35b6102df610aa9565b005b6102fb60048036038101906102f6919061290e565b610abb565b005b610317600480360381019061031291906127ef565b610adb565b60405161032491906128f3565b60405180910390f35b61034760048036038101906103429190612a96565b610b4c565b005b610351610b9e565b60405161035e91906126ec565b60405180910390f35b610381600480360381019061037c91906127ef565b610bb5565b60405161038e919061285d565b60405180910390f35b6103b160048036038101906103ac9190612adf565b610c66565b6040516103be91906128f3565b60405180910390f35b6103cf610d1d565b6040516103dc9190612797565b60405180910390f35b6103ed610daf565b005b6103f7610dc3565b005b610401610dd5565b60405161040e919061285d565b60405180910390f35b61041f610dff565b60405161042c919061285d565b60405180910390f35b61043d610e31565b60405161044a9190612797565b60405180910390f35b61046d60048036038101906104689190612b38565b610ec3565b005b61048960048036038101906104849190612c19565b610ed9565b005b6104a560048036038101906104a091906127ef565b610f3b565b6040516104b29190612797565b60405180910390f35b6104d560048036038101906104d09190612c9c565b610fdc565b6040516104e291906126ec565b60405180910390f35b6104f3611070565b60405161050091906128f3565b60405180910390f35b610523600480360381019061051e9190612adf565b611106565b005b61053f600480360381019061053a9190612adf565b611189565b005b600061054c82611222565b9050919050565b60606000805461056290612d0b565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90612d0b565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b5050505050905090565b60006105f08261129c565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061063682610bb5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d90612dae565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106c56112e7565b73ffffffffffffffffffffffffffffffffffffffff1614806106f457506106f3816106ee6112e7565b610fdc565b5b610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a90612e40565b60405180910390fd5b61073d83836112ef565b505050565b61074a6113a8565b6000339050600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156107dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d390612eac565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086390612f18565b60405180910390fd5b6101f4610879600c6113f2565b11156108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b190612f84565b60405180910390fd5b6000600190508173ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361091a57606490505b6109248282611400565b6101f4610931600c6113f2565b1061098f576001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600061099f600c6113f2565b905090565b6109b56109af6112e7565b82611485565b6109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90613016565b60405180910390fd5b6109ff83838361151a565b505050565b6000610a0f83610c66565b8210610a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a47906130a8565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610ab1611780565b610ab96117fe565b565b610ad683838360405180602001604052806000815250610ed9565b505050565b6000610ae5611861565b8210610b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1d9061313a565b60405180910390fd5b60088281548110610b3a57610b3961315a565b5b90600052602060002001549050919050565b610b54611780565b80600b9081610b639190613335565b507fc9e8f610c54c2b76116d5166ae3d1bd8f7227fd57dce593bc86525d58991963d81604051610b939190612797565b60405180910390a150565b6000600a60149054906101000a900460ff16905090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490613453565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906134e5565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600b8054610d2c90612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5890612d0b565b8015610da55780601f10610d7a57610100808354040283529160200191610da5565b820191906000526020600020905b815481529060010190602001808311610d8857829003601f168201915b5050505050905090565b610db7611780565b610dc1600061186e565b565b610dcb611780565b610dd3611934565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e09611780565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610e4090612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6c90612d0b565b8015610eb95780601f10610e8e57610100808354040283529160200191610eb9565b820191906000526020600020905b815481529060010190602001808311610e9c57829003601f168201915b5050505050905090565b610ed5610ece6112e7565b8383611997565b5050565b610eea610ee46112e7565b83611485565b610f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2090613016565b60405180910390fd5b610f3584848484611b03565b50505050565b6060610f47600c6113f2565b821115610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090613577565b60405180910390fd5b6000610f93611b5f565b90506000815111610fb35760405180602001604052806000815250610fd4565b80604051602001610fc491906135f9565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600d6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110fd576101f4600f546110f6919061364a565b9050611103565b600f5490505b90565b61110e611780565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906136f0565b60405180910390fd5b6111868161186e565b50565b611191611780565b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f68a37f4563ef12213bd2f3dd02b7f693b2e723e97eedd075f79d282b21d7d4a581604051611201919061285d565b60405180910390a150565b6001816000016000828254019250508190555050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611295575061129482611bf1565b5b9050919050565b6112a581611cd3565b6112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db90613453565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661136283610bb5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6113b0610b9e565b156113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e79061375c565b60405180910390fd5b565b600081600001549050919050565b600061140c600c6113f2565b9050600182111561145a5760005b8281101561145457611437848284611432919061364a565b611d3f565b611441600c61120c565b808061144c9061377c565b91505061141a565b50611480565b6114648382611d3f565b61146e600c61120c565b611479600f54611d5d565b600f819055505b505050565b60008061149183610bb5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114d357506114d28185610fdc565b5b8061151157508373ffffffffffffffffffffffffffffffffffffffff166114f9846105e5565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661153a82610bb5565b73ffffffffffffffffffffffffffffffffffffffff1614611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158790613836565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f6906138c8565b60405180910390fd5b61160a838383611d75565b6116156000826112ef565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461166591906138e8565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116bc919061364a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461177b838383611d85565b505050565b6117886112e7565b73ffffffffffffffffffffffffffffffffffffffff166117a6610dd5565b73ffffffffffffffffffffffffffffffffffffffff16146117fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f390613968565b60405180910390fd5b565b611806611d8a565b6000600a60146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61184a6112e7565b604051611857919061285d565b60405180910390a1565b6000600880549050905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61193c6113a8565b6001600a60146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119806112e7565b60405161198d919061285d565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc906139d4565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611af691906126ec565b60405180910390a3505050565b611b0e84848461151a565b611b1a84848484611dd3565b611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5090613a66565b60405180910390fd5b50505050565b6060600b8054611b6e90612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9a90612d0b565b8015611be75780601f10611bbc57610100808354040283529160200191611be7565b820191906000526020600020905b815481529060010190602001808311611bca57829003601f168201915b5050505050905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611cbc57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611ccc5750611ccb82611f5a565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611d59828260405180602001604052806000815250611fc4565b5050565b60008180611d6a9061377c565b925050819050919050565b611d8083838361201f565b505050565b505050565b611d92610b9e565b611dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc890613ad2565b60405180910390fd5b565b6000611df48473ffffffffffffffffffffffffffffffffffffffff16612131565b15611f4d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611e1d6112e7565b8786866040518563ffffffff1660e01b8152600401611e3f9493929190613b47565b6020604051808303816000875af1925050508015611e7b57506040513d601f19601f82011682018060405250810190611e789190613ba8565b60015b611efd573d8060008114611eab576040519150601f19603f3d011682016040523d82523d6000602084013e611eb0565b606091505b506000815103611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec90613a66565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611f52565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611fce8383612154565b611fdb6000848484611dd3565b61201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201190613a66565b60405180910390fd5b505050565b61202a83838361232d565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361206c5761206781612332565b6120ab565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120aa576120a9838261237b565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120ed576120e8816124e8565b61212c565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461212b5761212a82826125b9565b5b5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba90613c21565b60405180910390fd5b6121cc81611cd3565b1561220c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220390613c8d565b60405180910390fd5b61221860008383611d75565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612268919061364a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461232960008383611d85565b5050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161238884610c66565b61239291906138e8565b9050600060076000848152602001908152602001600020549050818114612477576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506124fc91906138e8565b905060006009600084815260200190815260200160002054905060006008838154811061252c5761252b61315a565b5b90600052602060002001549050806008838154811061254e5761254d61315a565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061259d5761259c613cad565b5b6001900381819060005260206000200160009055905550505050565b60006125c483610c66565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6126818161264c565b811461268c57600080fd5b50565b60008135905061269e81612678565b92915050565b6000602082840312156126ba576126b9612642565b5b60006126c88482850161268f565b91505092915050565b60008115159050919050565b6126e6816126d1565b82525050565b600060208201905061270160008301846126dd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612741578082015181840152602081019050612726565b60008484015250505050565b6000601f19601f8301169050919050565b600061276982612707565b6127738185612712565b9350612783818560208601612723565b61278c8161274d565b840191505092915050565b600060208201905081810360008301526127b1818461275e565b905092915050565b6000819050919050565b6127cc816127b9565b81146127d757600080fd5b50565b6000813590506127e9816127c3565b92915050565b60006020828403121561280557612804612642565b5b6000612813848285016127da565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128478261281c565b9050919050565b6128578161283c565b82525050565b6000602082019050612872600083018461284e565b92915050565b6128818161283c565b811461288c57600080fd5b50565b60008135905061289e81612878565b92915050565b600080604083850312156128bb576128ba612642565b5b60006128c98582860161288f565b92505060206128da858286016127da565b9150509250929050565b6128ed816127b9565b82525050565b600060208201905061290860008301846128e4565b92915050565b60008060006060848603121561292757612926612642565b5b60006129358682870161288f565b93505060206129468682870161288f565b9250506040612957868287016127da565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129a38261274d565b810181811067ffffffffffffffff821117156129c2576129c161296b565b5b80604052505050565b60006129d5612638565b90506129e1828261299a565b919050565b600067ffffffffffffffff821115612a0157612a0061296b565b5b612a0a8261274d565b9050602081019050919050565b82818337600083830152505050565b6000612a39612a34846129e6565b6129cb565b905082815260208101848484011115612a5557612a54612966565b5b612a60848285612a17565b509392505050565b600082601f830112612a7d57612a7c612961565b5b8135612a8d848260208601612a26565b91505092915050565b600060208284031215612aac57612aab612642565b5b600082013567ffffffffffffffff811115612aca57612ac9612647565b5b612ad684828501612a68565b91505092915050565b600060208284031215612af557612af4612642565b5b6000612b038482850161288f565b91505092915050565b612b15816126d1565b8114612b2057600080fd5b50565b600081359050612b3281612b0c565b92915050565b60008060408385031215612b4f57612b4e612642565b5b6000612b5d8582860161288f565b9250506020612b6e85828601612b23565b9150509250929050565b600067ffffffffffffffff821115612b9357612b9261296b565b5b612b9c8261274d565b9050602081019050919050565b6000612bbc612bb784612b78565b6129cb565b905082815260208101848484011115612bd857612bd7612966565b5b612be3848285612a17565b509392505050565b600082601f830112612c0057612bff612961565b5b8135612c10848260208601612ba9565b91505092915050565b60008060008060808587031215612c3357612c32612642565b5b6000612c418782880161288f565b9450506020612c528782880161288f565b9350506040612c63878288016127da565b925050606085013567ffffffffffffffff811115612c8457612c83612647565b5b612c9087828801612beb565b91505092959194509250565b60008060408385031215612cb357612cb2612642565b5b6000612cc18582860161288f565b9250506020612cd28582860161288f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d2357607f821691505b602082108103612d3657612d35612cdc565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d98602183612712565b9150612da382612d3c565b604082019050919050565b60006020820190508181036000830152612dc781612d8b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000612e2a603e83612712565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f726570656174206d696e74000000000000000000000000000000000000000000600082015250565b6000612e96600b83612712565b9150612ea182612e60565b602082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b7f6e6f74207370656369616c416464726573730000000000000000000000000000600082015250565b6000612f02601283612712565b9150612f0d82612ecc565b602082019050919050565b60006020820190508181036000830152612f3181612ef5565b9050919050565b7f6e6f74206e667400000000000000000000000000000000000000000000000000600082015250565b6000612f6e600783612712565b9150612f7982612f38565b602082019050919050565b60006020820190508181036000830152612f9d81612f61565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000613000602e83612712565b915061300b82612fa4565b604082019050919050565b6000602082019050818103600083015261302f81612ff3565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613092602b83612712565b915061309d82613036565b604082019050919050565b600060208201905081810360008301526130c181613085565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613124602c83612712565b915061312f826130c8565b604082019050919050565b6000602082019050818103600083015261315381613117565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026131eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826131ae565b6131f586836131ae565b95508019841693508086168417925050509392505050565b6000819050919050565b600061323261322d613228846127b9565b61320d565b6127b9565b9050919050565b6000819050919050565b61324c83613217565b61326061325882613239565b8484546131bb565b825550505050565b600090565b613275613268565b613280818484613243565b505050565b5b818110156132a45761329960008261326d565b600181019050613286565b5050565b601f8211156132e9576132ba81613189565b6132c38461319e565b810160208510156132d2578190505b6132e66132de8561319e565b830182613285565b50505b505050565b600082821c905092915050565b600061330c600019846008026132ee565b1980831691505092915050565b600061332583836132fb565b9150826002028217905092915050565b61333e82612707565b67ffffffffffffffff8111156133575761335661296b565b5b6133618254612d0b565b61336c8282856132a8565b600060209050601f83116001811461339f576000841561338d578287015190505b6133978582613319565b8655506133ff565b601f1984166133ad86613189565b60005b828110156133d5578489015182556001820191506020850194506020810190506133b0565b868310156133f257848901516133ee601f8916826132fb565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061343d601883612712565b915061344882613407565b602082019050919050565b6000602082019050818103600083015261346c81613430565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006134cf602983612712565b91506134da82613473565b604082019050919050565b600060208201905081810360008301526134fe816134c2565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613561602f83612712565b915061356c82613505565b604082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b600081905092915050565b60006135ad82612707565b6135b78185613597565b93506135c7818560208601612723565b80840191505092915050565b50565b60006135e3600083613597565b91506135ee826135d3565b600082019050919050565b600061360582846135a2565b9150613610826135d6565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613655826127b9565b9150613660836127b9565b92508282019050808211156136785761367761361b565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136da602683612712565b91506136e58261367e565b604082019050919050565b60006020820190508181036000830152613709816136cd565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613746601083612712565b915061375182613710565b602082019050919050565b6000602082019050818103600083015261377581613739565b9050919050565b6000613787826127b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137b9576137b861361b565b5b600182019050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613820602583612712565b915061382b826137c4565b604082019050919050565b6000602082019050818103600083015261384f81613813565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138b2602483612712565b91506138bd82613856565b604082019050919050565b600060208201905081810360008301526138e1816138a5565b9050919050565b60006138f3826127b9565b91506138fe836127b9565b92508282039050818111156139165761391561361b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613952602083612712565b915061395d8261391c565b602082019050919050565b6000602082019050818103600083015261398181613945565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006139be601983612712565b91506139c982613988565b602082019050919050565b600060208201905081810360008301526139ed816139b1565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613a50603283612712565b9150613a5b826139f4565b604082019050919050565b60006020820190508181036000830152613a7f81613a43565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613abc601483612712565b9150613ac782613a86565b602082019050919050565b60006020820190508181036000830152613aeb81613aaf565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613b1982613af2565b613b238185613afd565b9350613b33818560208601612723565b613b3c8161274d565b840191505092915050565b6000608082019050613b5c600083018761284e565b613b69602083018661284e565b613b7660408301856128e4565b8181036060830152613b888184613b0e565b905095945050505050565b600081519050613ba281612678565b92915050565b600060208284031215613bbe57613bbd612642565b5b6000613bcc84828501613b93565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613c0b602083612712565b9150613c1682613bd5565b602082019050919050565b60006020820190508181036000830152613c3a81613bfe565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613c77601c83612712565b9150613c8282613c41565b602082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f8c6a1c75b29a389e0a4684c5cb6b67a23979d765dc6a81c0af008bb19b6e17564736f6c6343000811003368747470733a2f2f697066732e696f2f697066732f6261667962656962726f71697374697179786732703373646e6a696e746a367167776c65346163646c367773356d776a7032337a6c6767376d36652f6a736f6e322e747874