60806040526000600b556109c4600c55600a600d553480156200002157600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280601081526020017f4d656d65277320576f726c64204e4654000000000000000000000000000000008152506040518060400160405280600881526020017f4d454d4557524c440000000000000000000000000000000000000000000000008152508160029081620000b691906200066a565b508060039081620000c891906200066a565b50620000d96200031960201b60201c565b600081905550505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620002d65780156200019c576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b81526004016200016292919062000796565b600060405180830381600087803b1580156200017d57600080fd5b505af115801562000192573d6000803e3d6000fd5b50505050620002d5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000256576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200021c92919062000796565b600060405180830381600087803b1580156200023757600080fd5b505af11580156200024c573d6000803e3d6000fd5b50505050620002d4565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016200029f9190620007c3565b600060405180830381600087803b158015620002ba57600080fd5b505af1158015620002cf573d6000803e3d6000fd5b505050505b5b5b5050620002f8620002ec6200032260201b60201c565b6200032a60201b60201c565b6000600e60006101000a81548160ff021916908315150217905550620007e0565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047257607f821691505b6020821081036200048857620004876200042a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b3565b620004fe8683620004b3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200054b620005456200053f8462000516565b62000520565b62000516565b9050919050565b6000819050919050565b62000567836200052a565b6200057f620005768262000552565b848454620004c0565b825550505050565b600090565b6200059662000587565b620005a38184846200055c565b505050565b5b81811015620005cb57620005bf6000826200058c565b600181019050620005a9565b5050565b601f8211156200061a57620005e4816200048e565b620005ef84620004a3565b81016020851015620005ff578190505b620006176200060e85620004a3565b830182620005a8565b50505b505050565b600082821c905092915050565b60006200063f600019846008026200061f565b1980831691505092915050565b60006200065a83836200062c565b9150826002028217905092915050565b6200067582620003f0565b67ffffffffffffffff811115620006915762000690620003fb565b5b6200069d825462000459565b620006aa828285620005cf565b600060209050601f831160018114620006e25760008415620006cd578287015190505b620006d985826200064c565b86555062000749565b601f198416620006f2866200048e565b60005b828110156200071c57848901518255600182019150602085019450602081019050620006f5565b868310156200073c578489015162000738601f8916826200062c565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200077e8262000751565b9050919050565b620007908162000771565b82525050565b6000604082019050620007ad600083018562000785565b620007bc602083018462000785565b9392505050565b6000602082019050620007da600083018462000785565b92915050565b6131e380620007f06000396000f3fe6080604052600436106101d85760003560e01c80636352211e11610102578063a035b1fe11610095578063d5abeb0111610064578063d5abeb0114610669578063e985e9c514610694578063eacb912d146106d1578063f2fde38b146106e8576101d8565b8063a035b1fe146105bc578063a22cb465146105e7578063b88d4fde14610610578063c87b56dd1461062c576101d8565b806379c9cb7b116100d157806379c9cb7b146105145780638da5cb5b1461053d57806391b7f5ed1461056857806395d89b4114610591576101d8565b80636352211e146104585780636c0360eb1461049557806370a08231146104c0578063715018a6146104fd576101d8565b806322ae7f7b1161017a5780632be905ba116101495780632be905ba146103ab57806341f43434146103e857806342842e0e1461041357806355f804b31461042f576101d8565b806322ae7f7b1461031057806323b872dd1461034d57806324600fc31461036957806325fd90f314610380576101d8565b806307883703116101b65780630788370314610270578063081812fc1461028c578063095ea7b3146102c957806318160ddd146102e5576101d8565b806301ffc9a7146101dd578063027752401461021a57806306fdde0314610245575b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190612392565b610711565b60405161021191906123da565b60405180910390f35b34801561022657600080fd5b5061022f6107a3565b60405161023c919061240e565b60405180910390f35b34801561025157600080fd5b5061025a6107a9565b60405161026791906124b9565b60405180910390f35b61028a60048036038101906102859190612507565b61083b565b005b34801561029857600080fd5b506102b360048036038101906102ae9190612507565b610968565b6040516102c09190612575565b60405180910390f35b6102e360048036038101906102de91906125bc565b6109e7565b005b3480156102f157600080fd5b506102fa610af1565b604051610307919061240e565b60405180910390f35b34801561031c57600080fd5b50610337600480360381019061033291906125fc565b610b08565b60405161034491906123da565b60405180910390f35b61036760048036038101906103629190612629565b610b28565b005b34801561037557600080fd5b5061037e610c78565b005b34801561038c57600080fd5b50610395610cc9565b6040516103a291906123da565b60405180910390f35b3480156103b757600080fd5b506103d260048036038101906103cd91906125fc565b610cdc565b6040516103df919061240e565b60405180910390f35b3480156103f457600080fd5b506103fd610cf4565b60405161040a91906126db565b60405180910390f35b61042d60048036038101906104289190612629565b610d06565b005b34801561043b57600080fd5b506104566004803603810190610451919061282b565b610e56565b005b34801561046457600080fd5b5061047f600480360381019061047a9190612507565b610e71565b60405161048c9190612575565b60405180910390f35b3480156104a157600080fd5b506104aa610e83565b6040516104b791906124b9565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e291906125fc565b610f11565b6040516104f4919061240e565b60405180910390f35b34801561050957600080fd5b50610512610fc9565b005b34801561052057600080fd5b5061053b60048036038101906105369190612507565b610fdd565b005b34801561054957600080fd5b50610552610fef565b60405161055f9190612575565b60405180910390f35b34801561057457600080fd5b5061058f600480360381019061058a9190612507565b611019565b005b34801561059d57600080fd5b506105a661102b565b6040516105b391906124b9565b60405180910390f35b3480156105c857600080fd5b506105d16110bd565b6040516105de919061240e565b60405180910390f35b3480156105f357600080fd5b5061060e600480360381019061060991906128a0565b6110c3565b005b61062a60048036038101906106259190612981565b6111cd565b005b34801561063857600080fd5b50610653600480360381019061064e9190612507565b611320565b60405161066091906124b9565b60405180910390f35b34801561067557600080fd5b5061067e6113be565b60405161068b919061240e565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b69190612a04565b6113c4565b6040516106c891906123da565b60405180910390f35b3480156106dd57600080fd5b506106e6611458565b005b3480156106f457600080fd5b5061070f600480360381019061070a91906125fc565b61148c565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061076c57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061079c5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600d5481565b6060600280546107b890612a73565b80601f01602080910402602001604051908101604052809291908181526020018280546107e490612a73565b80156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b600e60009054906101000a900460ff1661088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088190612af0565b60405180910390fd5b60008111801561089c5750600d548111155b6108a557600080fd5b600c54816108b1610af1565b6108bb9190612b3f565b11156108c657600080fd5b80600d54101561090b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090290612bbf565b60405180910390fd5b600b54816109199190612bdf565b34101561095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612c6d565b60405180910390fd5b610965338261150f565b50565b60006109738261152d565b6109a9576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610ae2576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401610a5f929190612c8d565b602060405180830381865afa158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa09190612ccb565b610ae157806040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610ad89190612575565b60405180910390fd5b5b610aec838361158c565b505050565b6000610afb6116d0565b6001546000540303905090565b60096020528060005260406000206000915054906101000a900460ff1681565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610c66573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b9a57610b958484846116d9565b610c72565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610be3929190612c8d565b602060405180830381865afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190612ccb565b610c6557336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610c5c9190612575565b60405180910390fd5b5b610c718484846116d9565b5b50505050565b610c806119fb565b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610cc6573d6000803e3d6000fd5b50565b600e60009054906101000a900460ff1681565b600f6020528060005260406000206000915090505481565b6daaeb6d7670e522a718067333cd4e81565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610e44573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d7857610d73848484611a79565b610e50565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610dc1929190612c8d565b602060405180830381865afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190612ccb565b610e4357336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610e3a9190612575565b60405180910390fd5b5b610e4f848484611a79565b5b50505050565b610e5e6119fb565b80600a9081610e6d9190612e9a565b5050565b6000610e7c82611a99565b9050919050565b600a8054610e9090612a73565b80601f0160208091040260200160405190810160405280929190818152602001828054610ebc90612a73565b8015610f095780601f10610ede57610100808354040283529160200191610f09565b820191906000526020600020905b815481529060010190602001808311610eec57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f78576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610fd16119fb565b610fdb6000611b65565b565b610fe56119fb565b80600d8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110216119fb565b80600b8190555050565b60606003805461103a90612a73565b80601f016020809104026020016040519081016040528092919081815260200182805461106690612a73565b80156110b35780601f10611088576101008083540402835291602001916110b3565b820191906000526020600020905b81548152906001019060200180831161109657829003601f168201915b5050505050905090565b600b5481565b8160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156111be576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b815260040161113b929190612c8d565b602060405180830381865afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117c9190612ccb565b6111bd57806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016111b49190612575565b60405180910390fd5b5b6111c88383611c2b565b505050565b8360006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b111561130c573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112405761123b85858585611d36565b611319565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401611289929190612c8d565b602060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ca9190612ccb565b61130b57336040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016113029190612575565b60405180910390fd5b5b61131885858585611d36565b5b5050505050565b606061132b8261152d565b611361576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061136b611da9565b9050600081510361138b57604051806020016040528060008152506113b6565b8061139584611e3b565b6040516020016113a6929190612fa8565b6040516020818303038152906040525b915050919050565b600c5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6114606119fb565b600e60009054906101000a900460ff1615600e60006101000a81548160ff021916908315150217905550565b6114946119fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fa9061303e565b60405180910390fd5b61150c81611b65565b50565b611529828260405180602001604052806000815250611e8b565b5050565b6000816115386116d0565b11158015611547575060005482105b8015611585575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600061159782610e71565b90508073ffffffffffffffffffffffffffffffffffffffff166115b8611f28565b73ffffffffffffffffffffffffffffffffffffffff161461161b576115e4816115df611f28565b6113c4565b61161a576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b60006116e482611a99565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461174b576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061175784611f30565b9150915061176d8187611768611f28565b611f57565b6117b9576117828661177d611f28565b6113c4565b6117b8576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361181f576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182c8686866001611f9b565b801561183757600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550611905856118e1888887611fa1565b7c020000000000000000000000000000000000000000000000000000000017611fc9565b600460008681526020019081526020016000208190555060007c020000000000000000000000000000000000000000000000000000000084160361198b5760006001850190506000600460008381526020019081526020016000205403611989576000548114611988578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119f38686866001611ff4565b505050505050565b611a03611ffa565b73ffffffffffffffffffffffffffffffffffffffff16611a21610fef565b73ffffffffffffffffffffffffffffffffffffffff1614611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e906130aa565b60405180910390fd5b565b611a94838383604051806020016040528060008152506111cd565b505050565b60008082905080611aa86116d0565b11611b2e57600054811015611b2d5760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611b2b575b60008103611b21576004600083600190039350838152602001908152602001600020549050611af7565b8092505050611b60565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060076000611c38611f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611ce5611f28565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611d2a91906123da565b60405180910390a35050565b611d41848484610b28565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611da357611d6c84848484612002565b611da2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b6060600a8054611db890612a73565b80601f0160208091040260200160405190810160405280929190818152602001828054611de490612a73565b8015611e315780601f10611e0657610100808354040283529160200191611e31565b820191906000526020600020905b815481529060010190602001808311611e1457829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611e7657600184039350600a81066030018453600a8104905080611e54575b50828103602084039350808452505050919050565b611e958383612152565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611f2357600080549050600083820390505b611ed56000868380600101945086612002565b611f0b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110611ec2578160005414611f2057600080fd5b50505b505050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611fb886868461230d565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b600033905090565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612028611f28565b8786866040518563ffffffff1660e01b815260040161204a949392919061311f565b6020604051808303816000875af192505050801561208657506040513d601f19601f820116820180604052508101906120839190613180565b60015b6120ff573d80600081146120b6576040519150601f19603f3d011682016040523d82523d6000602084013e6120bb565b606091505b5060008151036120f7576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60008054905060008203612192576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61219f6000848385611f9b565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612216836122076000866000611fa1565b61221085612316565b17611fc9565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146122b757808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460018101905061227c565b50600082036122f2576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506123086000848385611ff4565b505050565b60009392505050565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61236f8161233a565b811461237a57600080fd5b50565b60008135905061238c81612366565b92915050565b6000602082840312156123a8576123a7612330565b5b60006123b68482850161237d565b91505092915050565b60008115159050919050565b6123d4816123bf565b82525050565b60006020820190506123ef60008301846123cb565b92915050565b6000819050919050565b612408816123f5565b82525050565b600060208201905061242360008301846123ff565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612463578082015181840152602081019050612448565b60008484015250505050565b6000601f19601f8301169050919050565b600061248b82612429565b6124958185612434565b93506124a5818560208601612445565b6124ae8161246f565b840191505092915050565b600060208201905081810360008301526124d38184612480565b905092915050565b6124e4816123f5565b81146124ef57600080fd5b50565b600081359050612501816124db565b92915050565b60006020828403121561251d5761251c612330565b5b600061252b848285016124f2565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061255f82612534565b9050919050565b61256f81612554565b82525050565b600060208201905061258a6000830184612566565b92915050565b61259981612554565b81146125a457600080fd5b50565b6000813590506125b681612590565b92915050565b600080604083850312156125d3576125d2612330565b5b60006125e1858286016125a7565b92505060206125f2858286016124f2565b9150509250929050565b60006020828403121561261257612611612330565b5b6000612620848285016125a7565b91505092915050565b60008060006060848603121561264257612641612330565b5b6000612650868287016125a7565b9350506020612661868287016125a7565b9250506040612672868287016124f2565b9150509250925092565b6000819050919050565b60006126a161269c61269784612534565b61267c565b612534565b9050919050565b60006126b382612686565b9050919050565b60006126c5826126a8565b9050919050565b6126d5816126ba565b82525050565b60006020820190506126f060008301846126cc565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127388261246f565b810181811067ffffffffffffffff8211171561275757612756612700565b5b80604052505050565b600061276a612326565b9050612776828261272f565b919050565b600067ffffffffffffffff82111561279657612795612700565b5b61279f8261246f565b9050602081019050919050565b82818337600083830152505050565b60006127ce6127c98461277b565b612760565b9050828152602081018484840111156127ea576127e96126fb565b5b6127f58482856127ac565b509392505050565b600082601f830112612812576128116126f6565b5b81356128228482602086016127bb565b91505092915050565b60006020828403121561284157612840612330565b5b600082013567ffffffffffffffff81111561285f5761285e612335565b5b61286b848285016127fd565b91505092915050565b61287d816123bf565b811461288857600080fd5b50565b60008135905061289a81612874565b92915050565b600080604083850312156128b7576128b6612330565b5b60006128c5858286016125a7565b92505060206128d68582860161288b565b9150509250929050565b600067ffffffffffffffff8211156128fb576128fa612700565b5b6129048261246f565b9050602081019050919050565b600061292461291f846128e0565b612760565b9050828152602081018484840111156129405761293f6126fb565b5b61294b8482856127ac565b509392505050565b600082601f830112612968576129676126f6565b5b8135612978848260208601612911565b91505092915050565b6000806000806080858703121561299b5761299a612330565b5b60006129a9878288016125a7565b94505060206129ba878288016125a7565b93505060406129cb878288016124f2565b925050606085013567ffffffffffffffff8111156129ec576129eb612335565b5b6129f887828801612953565b91505092959194509250565b60008060408385031215612a1b57612a1a612330565b5b6000612a29858286016125a7565b9250506020612a3a858286016125a7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a8b57607f821691505b602082108103612a9e57612a9d612a44565b5b50919050565b7f4d696e74206973206e6f74206163746976652e00000000000000000000000000600082015250565b6000612ada601383612434565b9150612ae582612aa4565b602082019050919050565b60006020820190508181036000830152612b0981612acd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b4a826123f5565b9150612b55836123f5565b9250828201905080821115612b6d57612b6c612b10565b5b92915050565b7f537572706173736564204d696e74204c696d69742e0000000000000000000000600082015250565b6000612ba9601583612434565b9150612bb482612b73565b602082019050919050565b60006020820190508181036000830152612bd881612b9c565b9050919050565b6000612bea826123f5565b9150612bf5836123f5565b9250828202612c03816123f5565b91508282048414831517612c1a57612c19612b10565b5b5092915050565b7f496e76616c69642066756e64732070726f766964656400000000000000000000600082015250565b6000612c57601683612434565b9150612c6282612c21565b602082019050919050565b60006020820190508181036000830152612c8681612c4a565b9050919050565b6000604082019050612ca26000830185612566565b612caf6020830184612566565b9392505050565b600081519050612cc581612874565b92915050565b600060208284031215612ce157612ce0612330565b5b6000612cef84828501612cb6565b91505092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612d5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612d1d565b612d648683612d1d565b95508019841693508086168417925050509392505050565b6000612d97612d92612d8d846123f5565b61267c565b6123f5565b9050919050565b6000819050919050565b612db183612d7c565b612dc5612dbd82612d9e565b848454612d2a565b825550505050565b600090565b612dda612dcd565b612de5818484612da8565b505050565b5b81811015612e0957612dfe600082612dd2565b600181019050612deb565b5050565b601f821115612e4e57612e1f81612cf8565b612e2884612d0d565b81016020851015612e37578190505b612e4b612e4385612d0d565b830182612dea565b50505b505050565b600082821c905092915050565b6000612e7160001984600802612e53565b1980831691505092915050565b6000612e8a8383612e60565b9150826002028217905092915050565b612ea382612429565b67ffffffffffffffff811115612ebc57612ebb612700565b5b612ec68254612a73565b612ed1828285612e0d565b600060209050601f831160018114612f045760008415612ef2578287015190505b612efc8582612e7e565b865550612f64565b601f198416612f1286612cf8565b60005b82811015612f3a57848901518255600182019150602085019450602081019050612f15565b86831015612f575784890151612f53601f891682612e60565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b6000612f8282612429565b612f8c8185612f6c565b9350612f9c818560208601612445565b80840191505092915050565b6000612fb48285612f77565b9150612fc08284612f77565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613028602683612434565b915061303382612fcc565b604082019050919050565b600060208201905081810360008301526130578161301b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613094602083612434565b915061309f8261305e565b602082019050919050565b600060208201905081810360008301526130c381613087565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006130f1826130ca565b6130fb81856130d5565b935061310b818560208601612445565b6131148161246f565b840191505092915050565b60006080820190506131346000830187612566565b6131416020830186612566565b61314e60408301856123ff565b818103606083015261316081846130e6565b905095945050505050565b60008151905061317a81612366565b92915050565b60006020828403121561319657613195612330565b5b60006131a48482850161316b565b9150509291505056fea2646970667358221220d0c30dd048c27a7c54bf6bc1da1654e74dc648b70b8284e03d88cab82359426864736f6c63430008110033