60806040526040518060400160405280601581526020017f565249534d204c696d697465642045646974696f6e00000000000000000000008152506005908051906020019062000051929190620001e0565b506040518060400160405280600381526020017f564c450000000000000000000000000000000000000000000000000000000000815250600690805190602001906200009f929190620001e0565b50348015620000ad57600080fd5b5060405180602001604052806000815250620000cf81620000f660201b60201c565b50620000f0620000e46200011260201b60201c565b6200011a60201b60201c565b620002f5565b80600290805190602001906200010e929190620001e0565b5050565b600033905090565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001ee9062000290565b90600052602060002090601f0160209004810192826200021257600085556200025e565b82601f106200022d57805160ff19168380011785556200025e565b828001600101855582156200025e579182015b828111156200025d57825182559160200191906001019062000240565b5b5090506200026d919062000271565b5090565b5b808211156200028c57600081600090555060010162000272565b5090565b60006002820490506001821680620002a957607f821691505b60208210811415620002c057620002bf620002c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613efb80620003056000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637e80b526116100b8578063d27a52de1161007c578063d27a52de146103ae578063e8a3d485146103ca578063e985e9c5146103e8578063ea25e17614610418578063f242432a14610434578063f2fde38b1461045057610141565b80637e80b526146102f65780638da5cb5b1461032657806395d89b4114610344578063a22cb46514610362578063bd85b0391461037e57610141565b80631b64dce31161010a5780631b64dce3146102245780632eb2c2d6146102545780634e1273f4146102705780634f558e79146102a0578063715018a6146102d05780637e5b1e24146102da57610141565b8062fdd58e1461014657806301ffc9a71461017657806306fdde03146101a65780630e89341c146101c4578063120aa877146101f4575b600080fd5b610160600480360381019061015b9190612a6d565b61046c565b60405161016d919061347d565b60405180910390f35b610190600480360381019061018b9190612b15565b610535565b60405161019d9190613205565b60405180910390f35b6101ae610617565b6040516101bb919061323b565b60405180910390f35b6101de60048036038101906101d99190612c0f565b6106a5565b6040516101eb919061323b565b60405180910390f35b61020e60048036038101906102099190612c38565b61077b565b60405161021b919061347d565b60405180910390f35b61023e60048036038101906102399190612c0f565b6107a0565b60405161024b919061347d565b60405180910390f35b61026e600480360381019061026991906128e3565b6107c4565b005b61028a60048036038101906102859190612aa9565b610865565b60405161029791906131ac565b60405180910390f35b6102ba60048036038101906102b59190612c0f565b610a16565b6040516102c79190613205565b60405180910390f35b6102d8610a2a565b005b6102f460048036038101906102ef9190612b67565b610ab2565b005b610310600480360381019061030b9190612c0f565b610b48565b60405161031d9190613220565b60405180910390f35b61032e610b6c565b60405161033b91906130cf565b60405180910390f35b61034c610b96565b604051610359919061323b565b60405180910390f35b61037c60048036038101906103779190612a31565b610c24565b005b61039860048036038101906103939190612c0f565b610c3a565b6040516103a5919061347d565b60405180910390f35b6103c860048036038101906103c39190612ba8565b610c57565b005b6103d2610df1565b6040516103df919061323b565b60405180910390f35b61040260048036038101906103fd91906128a7565b610e7f565b60405161040f9190613205565b60405180910390f35b610432600480360381019061042d9190612c74565b610f13565b005b61044e600480360381019061044991906129a2565b61117b565b005b61046a6004803603810190610465919061287e565b61121c565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d49061329d565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061060057507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610610575061060f82611314565b5b9050919050565b6005805461062490613787565b80601f016020809104026020016040519081016040528092919081815260200182805461065090613787565b801561069d5780601f106106725761010080835404028352916020019161069d565b820191906000526020600020905b81548152906001019060200180831161068057829003601f168201915b505050505081565b6060600782815481106106e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200180546106f690613787565b80601f016020809104026020016040519081016040528092919081815260200182805461072290613787565b801561076f5780601f106107445761010080835404028352916020019161076f565b820191906000526020600020905b81548152906001019060200180831161075257829003601f168201915b50505050509050919050565b600b602052816000526040600020602052806000526040600020600091509150505481565b600981815481106107b057600080fd5b906000526020600020016000915090505481565b6107cc61137e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061081257506108118561080c61137e565b610e7f565b5b610851576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108489061333d565b60405180910390fd5b61085e8585858585611386565b5050505050565b606081518351146108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061341d565b60405180910390fd5b6000835167ffffffffffffffff8111156108ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561091c5781602001602082028036833780820191505090505b50905060005b8451811015610a0b576109b5858281518110610967577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518583815181106109a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015161046c565b8282815181106109ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080610a04906137ea565b9050610922565b508091505092915050565b600080610a2283610c3a565b119050919050565b610a3261137e565b73ffffffffffffffffffffffffffffffffffffffff16610a50610b6c565b73ffffffffffffffffffffffffffffffffffffffff1614610aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9d9061339d565b60405180910390fd5b610ab060006116e6565b565b610aba61137e565b73ffffffffffffffffffffffffffffffffffffffff16610ad8610b6c565b73ffffffffffffffffffffffffffffffffffffffff1614610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b259061339d565b60405180910390fd5b8060089080519060200190610b449291906124cb565b5050565b600a8181548110610b5857600080fd5b906000526020600020016000915090505481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60068054610ba390613787565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcf90613787565b8015610c1c5780601f10610bf157610100808354040283529160200191610c1c565b820191906000526020600020905b815481529060010190602001808311610bff57829003601f168201915b505050505081565b610c36610c2f61137e565b83836117ac565b5050565b600060036000838152602001908152602001600020549050919050565b610c5f61137e565b73ffffffffffffffffffffffffffffffffffffffff16610c7d610b6c565b73ffffffffffffffffffffffffffffffffffffffff1614610cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cca9061339d565b60405180910390fd5b428111610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c906133dd565b60405180910390fd5b600783908060018154018082558091505060019003906000526020600020016000909190919091509080519060200190610d509291906124cb565b506009819080600181540180825580915050600190039060005260206000200160009091909190915055600a8290806001815401808255809150506001900390600052602060002001600090919091909150556001600780549050610db59190613693565b7fa109ba539900bf1b633f956d63c96fc89b814c7287f7aa50a9216d0b5565720784604051610de4919061323b565b60405180910390a2505050565b60088054610dfe90613787565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2a90613787565b8015610e775780601f10610e4c57610100808354040283529160200191610e77565b820191906000526020600020905b815481529060010190602001808311610e5a57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60003383604051602001610f289291906130a3565b6040516020818303038152906040528051906020012090504260098681548110610f7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015411610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd906132fd565b60405180910390fd5b8284600b600088815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611023919061363d565b1115611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b9061337d565b60405180910390fd5b6110b382600a87815481106110a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015483611919565b6110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e9906133bd565b60405180910390fd5b83600b600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611152919061363d565b9250508190555061117433868660405180602001604052806000815250611930565b5050505050565b61118361137e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806111c957506111c8856111c361137e565b610e7f565b5b611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff906132dd565b60405180910390fd5b6112158585858585611ac6565b5050505050565b61122461137e565b73ffffffffffffffffffffffffffffffffffffffff16611242610b6c565b73ffffffffffffffffffffffffffffffffffffffff1614611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f9061339d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ff906132bd565b60405180910390fd5b611311816116e6565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b81518351146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c19061343d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561143a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114319061331d565b60405180910390fd5b600061144461137e565b9050611454818787878787611d48565b60005b845181101561165157600085828151811061149b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905060008583815181106114e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115789061335d565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611636919061363d565b925050819055505050508061164a906137ea565b9050611457565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516116c89291906131ce565b60405180910390a46116de818787878787611f5a565b505050505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561181b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611812906133fd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161190c9190613205565b60405180910390a3505050565b6000826119268584612141565b1490509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119979061345d565b60405180910390fd5b60006119aa61137e565b90506119cb816000876119bc886121dc565b6119c5886121dc565b87611d48565b8260008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2a919061363d565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611aa8929190613498565b60405180910390a4611abf816000878787876122a2565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d9061331d565b60405180910390fd5b6000611b4061137e565b9050611b60818787611b51886121dc565b611b5a886121dc565b87611d48565b600080600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee9061335d565b60405180910390fd5b83810360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061363d565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051611d29929190613498565b60405180910390a4611d3f8288888888886122a2565b50505050505050565b611d56868686868686612489565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611e545760005b8351811015611e5257828181518110611dd0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160036000868481518110611e15577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206000828254611e3a919061363d565b9250508190555080611e4b906137ea565b9050611d8e565b505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611f525760005b8351811015611f5057828181518110611ece577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160036000868481518110611f13577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020019081526020016000206000828254611f389190613693565b9250508190555080611f49906137ea565b9050611e8c565b505b505050505050565b611f798473ffffffffffffffffffffffffffffffffffffffff16612491565b15612139578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611fbf9594939291906130ea565b602060405180830381600087803b158015611fd957600080fd5b505af192505050801561200a57506040513d601f19601f820116820180604052508101906120079190612b3e565b60015b6120b0576120166138ee565b806308c379a01415612073575061202b613dbc565b806120365750612075565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206a919061323b565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a79061325d565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212e9061327d565b60405180910390fd5b505b505050505050565b60008082905060005b84518110156121d157600085828151811061218e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190508083116121b0576121a983826124b4565b92506121bd565b6121ba81846124b4565b92505b5080806121c9906137ea565b91505061214a565b508091505092915050565b60606000600167ffffffffffffffff811115612221577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561224f5781602001602082028036833780820191505090505b509050828160008151811061228d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080915050919050565b6122c18473ffffffffffffffffffffffffffffffffffffffff16612491565b15612481578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612307959493929190613152565b602060405180830381600087803b15801561232157600080fd5b505af192505050801561235257506040513d601f19601f8201168201806040525081019061234f9190612b3e565b60015b6123f85761235e6138ee565b806308c379a014156123bb5750612373613dbc565b8061237e57506123bd565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b2919061323b565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ef9061325d565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461247f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124769061327d565b60405180910390fd5b505b505050505050565b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082600052816020526040600020905092915050565b8280546124d790613787565b90600052602060002090601f0160209004810192826124f95760008555612540565b82601f1061251257805160ff1916838001178555612540565b82800160010185558215612540579182015b8281111561253f578251825591602001919060010190612524565b5b50905061254d9190612551565b5090565b5b8082111561256a576000816000905550600101612552565b5090565b600061258161257c846134e6565b6134c1565b905080838252602082019050828560208602820111156125a057600080fd5b60005b858110156125d057816125b6888261272e565b8452602084019350602083019250506001810190506125a3565b5050509392505050565b60006125ed6125e884613512565b6134c1565b9050808382526020820190508285602086028201111561260c57600080fd5b60005b8581101561263c578161262288826127d6565b84526020840193506020830192505060018101905061260f565b5050509392505050565b60006126596126548461353e565b6134c1565b9050808382526020820190508285602086028201111561267857600080fd5b60005b858110156126a8578161268e8882612869565b84526020840193506020830192505060018101905061267b565b5050509392505050565b60006126c56126c08461356a565b6134c1565b9050828152602081018484840111156126dd57600080fd5b6126e8848285613745565b509392505050565b60006127036126fe8461359b565b6134c1565b90508281526020810184848401111561271b57600080fd5b612726848285613745565b509392505050565b60008135905061273d81613e52565b92915050565b600082601f83011261275457600080fd5b813561276484826020860161256e565b91505092915050565b600082601f83011261277e57600080fd5b813561278e8482602086016125da565b91505092915050565b600082601f8301126127a857600080fd5b81356127b8848260208601612646565b91505092915050565b6000813590506127d081613e69565b92915050565b6000813590506127e581613e80565b92915050565b6000813590506127fa81613e97565b92915050565b60008151905061280f81613e97565b92915050565b600082601f83011261282657600080fd5b81356128368482602086016126b2565b91505092915050565b600082601f83011261285057600080fd5b81356128608482602086016126f0565b91505092915050565b60008135905061287881613eae565b92915050565b60006020828403121561289057600080fd5b600061289e8482850161272e565b91505092915050565b600080604083850312156128ba57600080fd5b60006128c88582860161272e565b92505060206128d98582860161272e565b9150509250929050565b600080600080600060a086880312156128fb57600080fd5b60006129098882890161272e565b955050602061291a8882890161272e565b945050604086013567ffffffffffffffff81111561293757600080fd5b61294388828901612797565b935050606086013567ffffffffffffffff81111561296057600080fd5b61296c88828901612797565b925050608086013567ffffffffffffffff81111561298957600080fd5b61299588828901612815565b9150509295509295909350565b600080600080600060a086880312156129ba57600080fd5b60006129c88882890161272e565b95505060206129d98882890161272e565b94505060406129ea88828901612869565b93505060606129fb88828901612869565b925050608086013567ffffffffffffffff811115612a1857600080fd5b612a2488828901612815565b9150509295509295909350565b60008060408385031215612a4457600080fd5b6000612a528582860161272e565b9250506020612a63858286016127c1565b9150509250929050565b60008060408385031215612a8057600080fd5b6000612a8e8582860161272e565b9250506020612a9f85828601612869565b9150509250929050565b60008060408385031215612abc57600080fd5b600083013567ffffffffffffffff811115612ad657600080fd5b612ae285828601612743565b925050602083013567ffffffffffffffff811115612aff57600080fd5b612b0b85828601612797565b9150509250929050565b600060208284031215612b2757600080fd5b6000612b35848285016127eb565b91505092915050565b600060208284031215612b5057600080fd5b6000612b5e84828501612800565b91505092915050565b600060208284031215612b7957600080fd5b600082013567ffffffffffffffff811115612b9357600080fd5b612b9f8482850161283f565b91505092915050565b600080600060608486031215612bbd57600080fd5b600084013567ffffffffffffffff811115612bd757600080fd5b612be38682870161283f565b9350506020612bf4868287016127d6565b9250506040612c0586828701612869565b9150509250925092565b600060208284031215612c2157600080fd5b6000612c2f84828501612869565b91505092915050565b60008060408385031215612c4b57600080fd5b6000612c5985828601612869565b9250506020612c6a8582860161272e565b9150509250929050565b60008060008060808587031215612c8a57600080fd5b6000612c9887828801612869565b9450506020612ca987828801612869565b9350506040612cba87828801612869565b925050606085013567ffffffffffffffff811115612cd757600080fd5b612ce38782880161276d565b91505092959194509250565b6000612cfb838361306e565b60208301905092915050565b612d10816136c7565b82525050565b612d27612d22826136c7565b613833565b82525050565b6000612d38826135dc565b612d42818561360a565b9350612d4d836135cc565b8060005b83811015612d7e578151612d658882612cef565b9750612d70836135fd565b925050600181019050612d51565b5085935050505092915050565b612d94816136d9565b82525050565b612da3816136e5565b82525050565b6000612db4826135e7565b612dbe818561361b565b9350612dce818560208601613754565b612dd781613910565b840191505092915050565b6000612ded826135f2565b612df7818561362c565b9350612e07818560208601613754565b612e1081613910565b840191505092915050565b6000612e2860348361362c565b9150612e338261393b565b604082019050919050565b6000612e4b60288361362c565b9150612e568261398a565b604082019050919050565b6000612e6e602b8361362c565b9150612e79826139d9565b604082019050919050565b6000612e9160268361362c565b9150612e9c82613a28565b604082019050919050565b6000612eb460298361362c565b9150612ebf82613a77565b604082019050919050565b6000612ed7600c8361362c565b9150612ee282613ac6565b602082019050919050565b6000612efa60258361362c565b9150612f0582613aef565b604082019050919050565b6000612f1d60328361362c565b9150612f2882613b3e565b604082019050919050565b6000612f40602a8361362c565b9150612f4b82613b8d565b604082019050919050565b6000612f63600f8361362c565b9150612f6e82613bdc565b602082019050919050565b6000612f8660208361362c565b9150612f9182613c05565b602082019050919050565b6000612fa960188361362c565b9150612fb482613c2e565b602082019050919050565b6000612fcc60148361362c565b9150612fd782613c57565b602082019050919050565b6000612fef60298361362c565b9150612ffa82613c80565b604082019050919050565b600061301260298361362c565b915061301d82613ccf565b604082019050919050565b600061303560288361362c565b915061304082613d1e565b604082019050919050565b600061305860218361362c565b915061306382613d6d565b604082019050919050565b6130778161373b565b82525050565b6130868161373b565b82525050565b61309d6130988261373b565b613857565b82525050565b60006130af8285612d16565b6014820191506130bf828461308c565b6020820191508190509392505050565b60006020820190506130e46000830184612d07565b92915050565b600060a0820190506130ff6000830188612d07565b61310c6020830187612d07565b818103604083015261311e8186612d2d565b905081810360608301526131328185612d2d565b905081810360808301526131468184612da9565b90509695505050505050565b600060a0820190506131676000830188612d07565b6131746020830187612d07565b613181604083018661307d565b61318e606083018561307d565b81810360808301526131a08184612da9565b90509695505050505050565b600060208201905081810360008301526131c68184612d2d565b905092915050565b600060408201905081810360008301526131e88185612d2d565b905081810360208301526131fc8184612d2d565b90509392505050565b600060208201905061321a6000830184612d8b565b92915050565b60006020820190506132356000830184612d9a565b92915050565b600060208201905081810360008301526132558184612de2565b905092915050565b6000602082019050818103600083015261327681612e1b565b9050919050565b6000602082019050818103600083015261329681612e3e565b9050919050565b600060208201905081810360008301526132b681612e61565b9050919050565b600060208201905081810360008301526132d681612e84565b9050919050565b600060208201905081810360008301526132f681612ea7565b9050919050565b6000602082019050818103600083015261331681612eca565b9050919050565b6000602082019050818103600083015261333681612eed565b9050919050565b6000602082019050818103600083015261335681612f10565b9050919050565b6000602082019050818103600083015261337681612f33565b9050919050565b6000602082019050818103600083015261339681612f56565b9050919050565b600060208201905081810360008301526133b681612f79565b9050919050565b600060208201905081810360008301526133d681612f9c565b9050919050565b600060208201905081810360008301526133f681612fbf565b9050919050565b6000602082019050818103600083015261341681612fe2565b9050919050565b6000602082019050818103600083015261343681613005565b9050919050565b6000602082019050818103600083015261345681613028565b9050919050565b600060208201905081810360008301526134768161304b565b9050919050565b6000602082019050613492600083018461307d565b92915050565b60006040820190506134ad600083018561307d565b6134ba602083018461307d565b9392505050565b60006134cb6134dc565b90506134d782826137b9565b919050565b6000604051905090565b600067ffffffffffffffff821115613501576135006138bf565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561352d5761352c6138bf565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613559576135586138bf565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613585576135846138bf565b5b61358e82613910565b9050602081019050919050565b600067ffffffffffffffff8211156135b6576135b56138bf565b5b6135bf82613910565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006136488261373b565b91506136538361373b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561368857613687613861565b5b828201905092915050565b600061369e8261373b565b91506136a98361373b565b9250828210156136bc576136bb613861565b5b828203905092915050565b60006136d28261371b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613772578082015181840152602081019050613757565b83811115613781576000848401525b50505050565b6000600282049050600182168061379f57607f821691505b602082108114156137b3576137b2613890565b5b50919050565b6137c282613910565b810181811067ffffffffffffffff821117156137e1576137e06138bf565b5b80604052505050565b60006137f58261373b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561382857613827613861565b5b600182019050919050565b600061383e82613845565b9050919050565b600061385082613921565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d111561390d5760046000803e61390a60005161392e565b90505b90565b6000601f19601f8301169050919050565b60008160601b9050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f4e6f74206d696e7461626c650000000000000000000000000000000000000000600082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4d65726b6c6550726f6f66206973206e6f742076616c69640000000000000000600082015250565b7f54686973206973206e6f74206d696e7461626c65000000000000000000000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600060443d1015613dcc57613e4f565b613dd46134dc565b60043d036004823e80513d602482011167ffffffffffffffff82111715613dfc575050613e4f565b808201805167ffffffffffffffff811115613e1a5750505050613e4f565b80602083010160043d038501811115613e37575050505050613e4f565b613e46826020018501866137b9565b82955050505050505b90565b613e5b816136c7565b8114613e6657600080fd5b50565b613e72816136d9565b8114613e7d57600080fd5b50565b613e89816136e5565b8114613e9457600080fd5b50565b613ea0816136ef565b8114613eab57600080fd5b50565b613eb78161373b565b8114613ec257600080fd5b5056fea2646970667358221220409a8617909137c50e0e518ff45aae29bcccb04d05ff541ed5838748d97b451264736f6c63430008040033