60806040526001600260006101000a81548160ff0219169083151502179055506122b8600855662386f26fc100006009556000600a60146101000a81548160ff02191690831515021790555060405180602001604052806000815250600b90816200006b9190620004bb565b503480156200007957600080fd5b506040518060400160405280601181526020017f4d6f6d6f6775726f204f6666696369616c0000000000000000000000000000008152506040518060400160405280600481526020017f4d4f4d4f000000000000000000000000000000000000000000000000000000008152508160009081620000f79190620004bb565b508060019081620001099190620004bb565b5050506200012c620001206200017360201b60201c565b6200017b60201b60201c565b33600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005a2565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002c357607f821691505b602082108103620002d957620002d86200027b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000304565b6200034f868362000304565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200039c62000396620003908462000367565b62000371565b62000367565b9050919050565b6000819050919050565b620003b8836200037b565b620003d0620003c782620003a3565b84845462000311565b825550505050565b600090565b620003e7620003d8565b620003f4818484620003ad565b505050565b5b818110156200041c5762000410600082620003dd565b600181019050620003fa565b5050565b601f8211156200046b576200043581620002df565b6200044084620002f4565b8101602085101562000450578190505b620004686200045f85620002f4565b830182620003f9565b50505b505050565b600082821c905092915050565b6000620004906000198460080262000470565b1980831691505092915050565b6000620004ab83836200047d565b9150826002028217905092915050565b620004c68262000241565b67ffffffffffffffff811115620004e257620004e16200024c565b5b620004ee8254620002aa565b620004fb82828562000420565b600060209050601f8311600181146200053357600084156200051e578287015190505b6200052a85826200049d565b8655506200059a565b601f1984166200054386620002df565b60005b828110156200056d5784890151825560018201915060208501945060208101905062000546565b868310156200058d578489015162000589601f8916826200047d565b8355505b6001600288020188555050505b505050505050565b61399380620005b26000396000f3fe6080604052600436106101d85760003560e01c806370a0823111610102578063b187bd2611610095578063e8a3d48511610064578063e8a3d4851461069b578063e985e9c5146106c6578063f2fde38b14610703578063fddcb5ea1461072c576101d8565b8063b187bd26146105df578063b88d4fde1461060a578063c87b56dd14610633578063d5abeb0114610670576101d8565b80639e852f75116100d15780639e852f7514610539578063a035b1fe14610562578063a0bcfc7f1461058d578063a22cb465146105b6576101d8565b806370a082311461048f578063715018a6146104cc5780638da5cb5b146104e357806395d89b411461050e576101d8565b80632db115441161017a578063453c231011610149578063453c2310146103c15780634f6ccce7146103ec5780636352211e146104295780636f8b44b014610466576101d8565b80632db11544146103285780632f745c59146103445780633ccfd60b1461038157806342842e0e14610398576101d8565b8063095ea7b3116101b6578063095ea7b31461028257806316c38b3c146102ab57806318160ddd146102d457806323b872dd146102ff576101d8565b806301ffc9a7146101dd57806306fdde031461021a578063081812fc14610245575b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190612486565b610769565b60405161021191906124ce565b60405180910390f35b34801561022657600080fd5b5061022f61082b565b60405161023c9190612579565b60405180910390f35b34801561025157600080fd5b5061026c600480360381019061026791906125d1565b6108b9565b604051610279919061263f565b60405180910390f35b34801561028e57600080fd5b506102a960048036038101906102a49190612686565b610935565b005b3480156102b757600080fd5b506102d260048036038101906102cd91906126f2565b610ad3565b005b3480156102e057600080fd5b506102e9610af8565b6040516102f6919061272e565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612749565b610b05565b005b610342600480360381019061033d91906125d1565b610f08565b005b34801561035057600080fd5b5061036b60048036038101906103669190612686565b61104a565b604051610378919061272e565b60405180910390f35b34801561038d57600080fd5b50610396611138565b005b3480156103a457600080fd5b506103bf60048036038101906103ba9190612749565b6111b9565b005b3480156103cd57600080fd5b506103d66111d9565b6040516103e3919061272e565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e91906125d1565b6111de565b604051610420919061272e565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b91906125d1565b611228565b60405161045d919061263f565b60405180910390f35b34801561047257600080fd5b5061048d600480360381019061048891906125d1565b611334565b005b34801561049b57600080fd5b506104b660048036038101906104b1919061279c565b611346565b6040516104c3919061272e565b60405180910390f35b3480156104d857600080fd5b506104e161141f565b005b3480156104ef57600080fd5b506104f8611433565b604051610505919061263f565b60405180910390f35b34801561051a57600080fd5b5061052361145d565b6040516105309190612579565b60405180910390f35b34801561054557600080fd5b50610560600480360381019061055b919061282e565b6114eb565b005b34801561056e57600080fd5b50610577611676565b604051610584919061272e565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af91906129be565b61167c565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190612a07565b611697565b005b3480156105eb57600080fd5b506105f46117f9565b60405161060191906124ce565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190612ae8565b61180c565b005b34801561063f57600080fd5b5061065a600480360381019061065591906125d1565b61185f565b6040516106679190612579565b60405180910390f35b34801561067c57600080fd5b50610685611907565b604051610692919061272e565b60405180910390f35b3480156106a757600080fd5b506106b061190d565b6040516106bd9190612579565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190612b6b565b611924565b6040516106fa91906124ce565b60405180910390f35b34801561070f57600080fd5b5061072a6004803603810190610725919061279c565b6119b8565b005b34801561073857600080fd5b50610753600480360381019061074e919061279c565b611a3b565b604051610760919061272e565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107c457506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107f4575063780e9d6360e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108245750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000805461083890612bda565b80601f016020809104026020016040519081016040528092919081815260200182805461086490612bda565b80156108b15780601f10610886576101008083540402835291602001916108b1565b820191906000526020600020905b81548152906001019060200180831161089457829003601f168201915b505050505081565b60006108c482611a84565b6108fa576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061094082611228565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a7576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156109ea57506109e88133611924565b155b15610a21576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826005600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610adb611a95565b80600a60146101000a81548160ff02191690831515021790555050565b6000600380549050905090565b600260009054906101000a900460ff16610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90612c57565b60405180910390fd5b610b5d81611a84565b610b93576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16610bb382611228565b73ffffffffffffffffffffffffffffffffffffffff1614610c00576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c66576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cd55750610ca6826108b9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610ce65750610ce58433611924565b5b905080610d1f576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558260038381548110610d6a57610d69612c77565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082118015610e385750600073ffffffffffffffffffffffffffffffffffffffff166003600184610de49190612cd5565b81548110610df557610df4612c77565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610ea757836003600184610e4d9190612cd5565b81548110610e5e57610e5d612c77565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b60085481610f14610af8565b610f1e9190612d09565b1115610f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5690612d89565b60405180910390fd5b600a81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fac9190612d09565b1115610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490612df5565b60405180910390fd5b80600954610ffb9190612e15565b34101561103d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103490612ee1565b60405180910390fd5b6110473382611b13565b50565b600061105583611346565b821061108d576040517f0ddac30e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060038054905090505b80831015611100576110aa83611228565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036110f3578382036110ea575050611132565b81806001019250505b8280600101935050611099565b6040517f7339954700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b611140611a95565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161116690612f32565b60006040518083038185875af1925050503d80600081146111a3576040519150601f19603f3d011682016040523d82523d6000602084013e6111a8565b606091505b50509050806111b657600080fd5b50565b6111d48383836040518060200160405280600081525061180c565b505050565b600a81565b60006111e8610af8565b8210611220576040517fa723001c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b819050919050565b600061123382611a84565b611269576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff166003838154811061129657611295612c77565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132257600382815481106112f0576112ef612c77565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061132f565b818060010192505061126a565b919050565b61133c611a95565b8060088190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ad576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600380549050905060005b81811015611414576113cc81611228565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036114075782806001019350505b80806001019150506113bb565b508192505050919050565b611427611a95565b6114316000611b31565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6001805461146a90612bda565b80601f016020809104026020016040519081016040528092919081815260200182805461149690612bda565b80156114e35780601f106114b8576101008083540402835291602001916114e3565b820191906000526020600020905b8154815290600101906020018083116114c657829003601f168201915b505050505081565b600854836114f7610af8565b6115019190612d09565b1115611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990612d89565b60405180910390fd5b6115d882828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050503373ffffffffffffffffffffffffffffffffffffffff1660001b6040516020016115b49190612fc9565b60405160208183030381529060405280519060200120611bf790919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165e9061303b565b60405180910390fd5b6116713384611b13565b505050565b60095481565b611684611a95565b80600b90816116939190613207565b5050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116fc576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117ed91906124ce565b60405180910390a35050565b600a60149054906101000a900460ff1681565b611817848484610b05565b61182384848484611c1e565b611859576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606061186a82611a84565b6118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a09061334b565b60405180910390fd5b6000600b80546118b890612bda565b9050116118d45760405180602001604052806000815250611900565b600b6118df83611d8f565b6040516020016118f092919061346b565b6040516020818303038152906040525b9050919050565b60085481565b606060405180602001604052806000815250905090565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119c0611a95565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a269061350c565b60405180910390fd5b611a3881611b31565b50565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060038054905082109050919050565b611a9d611eef565b73ffffffffffffffffffffffffffffffffffffffff16611abb611433565b73ffffffffffffffffffffffffffffffffffffffff1614611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890613578565b60405180910390fd5b565b611b2d828260405180602001604052806000815250611ef7565b5050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000806000611c068585611f5a565b91509150611c1381611fab565b819250505092915050565b6000808473ffffffffffffffffffffffffffffffffffffffff163b03611c475760019050611d87565b8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02338786866040518563ffffffff1660e01b8152600401611c8694939291906135ed565b6020604051808303816000875af1925050508015611cc257506040513d601f19601f82011682018060405250810190611cbf919061364e565b60015b611d3b573d8060008114611cf2576040519150601f19603f3d011682016040523d82523d6000602084013e611cf7565b606091505b506000815103611d33576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b606060008203611dd6576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611eea565b600082905060005b60008214611e08578080611df19061367b565b915050600a82611e0191906136f2565b9150611dde565b60008167ffffffffffffffff811115611e2457611e23612893565b5b6040519080825280601f01601f191660200182016040528015611e565781602001600182028036833780820191505090505b5090505b60008514611ee357600182611e6f9190612cd5565b9150600a85611e7e9190613723565b6030611e8a9190612d09565b60f81b818381518110611ea057611e9f612c77565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611edc91906136f2565b9450611e5a565b8093505050505b919050565b600033905090565b611f018383612111565b611f1f6000846001600380549050611f199190612cd5565b84611c1e565b611f55576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000806041835103611f9b5760008060006020860151925060408601519150606086015160001a9050611f8f87828585612338565b94509450505050611fa4565b60006002915091505b9250929050565b60006004811115611fbf57611fbe613754565b5b816004811115611fd257611fd1613754565b5b031561210e5760016004811115611fec57611feb613754565b5b816004811115611fff57611ffe613754565b5b0361203f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612036906137cf565b60405180910390fd5b6002600481111561205357612052613754565b5b81600481111561206657612065613754565b5b036120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d9061383b565b60405180910390fd5b600360048111156120ba576120b9613754565b5b8160048111156120cd576120cc613754565b5b0361210d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612104906138cd565b60405180910390fd5b5b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612177576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081036121b1576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600380549050905060005b6001830381101561225c576003600181600181540180825580915050039060005260206000200160009054906101000a9050508082018473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480806001019150506121be565b506003839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001826122cd9190612cd5565b816122d89190612d09565b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612373576000600391509150612411565b6000600187878787604051600081526020016040526040516123989493929190613918565b6020604051602081039080840390855afa1580156123ba573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361240857600060019250925050612411565b80600092509250505b94509492505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124638161242e565b811461246e57600080fd5b50565b6000813590506124808161245a565b92915050565b60006020828403121561249c5761249b612424565b5b60006124aa84828501612471565b91505092915050565b60008115159050919050565b6124c8816124b3565b82525050565b60006020820190506124e360008301846124bf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612523578082015181840152602081019050612508565b60008484015250505050565b6000601f19601f8301169050919050565b600061254b826124e9565b61255581856124f4565b9350612565818560208601612505565b61256e8161252f565b840191505092915050565b600060208201905081810360008301526125938184612540565b905092915050565b6000819050919050565b6125ae8161259b565b81146125b957600080fd5b50565b6000813590506125cb816125a5565b92915050565b6000602082840312156125e7576125e6612424565b5b60006125f5848285016125bc565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612629826125fe565b9050919050565b6126398161261e565b82525050565b60006020820190506126546000830184612630565b92915050565b6126638161261e565b811461266e57600080fd5b50565b6000813590506126808161265a565b92915050565b6000806040838503121561269d5761269c612424565b5b60006126ab85828601612671565b92505060206126bc858286016125bc565b9150509250929050565b6126cf816124b3565b81146126da57600080fd5b50565b6000813590506126ec816126c6565b92915050565b60006020828403121561270857612707612424565b5b6000612716848285016126dd565b91505092915050565b6127288161259b565b82525050565b6000602082019050612743600083018461271f565b92915050565b60008060006060848603121561276257612761612424565b5b600061277086828701612671565b935050602061278186828701612671565b9250506040612792868287016125bc565b9150509250925092565b6000602082840312156127b2576127b1612424565b5b60006127c084828501612671565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127ee576127ed6127c9565b5b8235905067ffffffffffffffff81111561280b5761280a6127ce565b5b602083019150836001820283011115612827576128266127d3565b5b9250929050565b60008060006040848603121561284757612846612424565b5b6000612855868287016125bc565b935050602084013567ffffffffffffffff81111561287657612875612429565b5b612882868287016127d8565b92509250509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128cb8261252f565b810181811067ffffffffffffffff821117156128ea576128e9612893565b5b80604052505050565b60006128fd61241a565b905061290982826128c2565b919050565b600067ffffffffffffffff82111561292957612928612893565b5b6129328261252f565b9050602081019050919050565b82818337600083830152505050565b600061296161295c8461290e565b6128f3565b90508281526020810184848401111561297d5761297c61288e565b5b61298884828561293f565b509392505050565b600082601f8301126129a5576129a46127c9565b5b81356129b584826020860161294e565b91505092915050565b6000602082840312156129d4576129d3612424565b5b600082013567ffffffffffffffff8111156129f2576129f1612429565b5b6129fe84828501612990565b91505092915050565b60008060408385031215612a1e57612a1d612424565b5b6000612a2c85828601612671565b9250506020612a3d858286016126dd565b9150509250929050565b600067ffffffffffffffff821115612a6257612a61612893565b5b612a6b8261252f565b9050602081019050919050565b6000612a8b612a8684612a47565b6128f3565b905082815260208101848484011115612aa757612aa661288e565b5b612ab284828561293f565b509392505050565b600082601f830112612acf57612ace6127c9565b5b8135612adf848260208601612a78565b91505092915050565b60008060008060808587031215612b0257612b01612424565b5b6000612b1087828801612671565b9450506020612b2187828801612671565b9350506040612b32878288016125bc565b925050606085013567ffffffffffffffff811115612b5357612b52612429565b5b612b5f87828801612aba565b91505092959194509250565b60008060408385031215612b8257612b81612424565b5b6000612b9085828601612671565b9250506020612ba185828601612671565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612bf257607f821691505b602082108103612c0557612c04612bab565b5b50919050565b7f596f75206e656564205472616e7366657220546f6b656e000000000000000000600082015250565b6000612c416017836124f4565b9150612c4c82612c0b565b602082019050919050565b60006020820190508181036000830152612c7081612c34565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ce08261259b565b9150612ceb8361259b565b9250828203905081811115612d0357612d02612ca6565b5b92915050565b6000612d148261259b565b9150612d1f8361259b565b9250828201905080821115612d3757612d36612ca6565b5b92915050565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b6000612d736012836124f4565b9150612d7e82612d3d565b602082019050919050565b60006020820190508181036000830152612da281612d66565b9050919050565b7f457863656564732077616c6c6574206c696d6974000000000000000000000000600082015250565b6000612ddf6014836124f4565b9150612dea82612da9565b602082019050919050565b60006020820190508181036000830152612e0e81612dd2565b9050919050565b6000612e208261259b565b9150612e2b8361259b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e6457612e63612ca6565b5b828202905092915050565b7f4e6f7420656e6f756768204554482073656e742c20636865636b20707269636560008201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecb6021836124f4565b9150612ed682612e6f565b604082019050919050565b60006020820190508181036000830152612efa81612ebe565b9050919050565b600081905092915050565b50565b6000612f1c600083612f01565b9150612f2782612f0c565b600082019050919050565b6000612f3d82612f0f565b9150819050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612f88601c83612f47565b9150612f9382612f52565b601c82019050919050565b6000819050919050565b6000819050919050565b612fc3612fbe82612f9e565b612fa8565b82525050565b6000612fd482612f7b565b9150612fe08284612fb2565b60208201915081905092915050565b7f5369676e65722061646472657373206d69736d617463682e0000000000000000600082015250565b60006130256018836124f4565b915061303082612fef565b602082019050919050565b6000602082019050818103600083015261305481613018565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026130bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613080565b6130c78683613080565b95508019841693508086168417925050509392505050565b6000819050919050565b60006131046130ff6130fa8461259b565b6130df565b61259b565b9050919050565b6000819050919050565b61311e836130e9565b61313261312a8261310b565b84845461308d565b825550505050565b600090565b61314761313a565b613152818484613115565b505050565b5b818110156131765761316b60008261313f565b600181019050613158565b5050565b601f8211156131bb5761318c8161305b565b61319584613070565b810160208510156131a4578190505b6131b86131b085613070565b830182613157565b50505b505050565b600082821c905092915050565b60006131de600019846008026131c0565b1980831691505092915050565b60006131f783836131cd565b9150826002028217905092915050565b613210826124e9565b67ffffffffffffffff81111561322957613228612893565b5b6132338254612bda565b61323e82828561317a565b600060209050601f831160018114613271576000841561325f578287015190505b61326985826131eb565b8655506132d1565b601f19841661327f8661305b565b60005b828110156132a757848901518255600182019150602085019450602081019050613282565b868310156132c457848901516132c0601f8916826131cd565b8355505b6001600288020188555050505b505050505050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613335602f836124f4565b9150613340826132d9565b604082019050919050565b6000602082019050818103600083015261336481613328565b9050919050565b6000815461337881612bda565b6133828186612f47565b9450600182166000811461339d57600181146133b2576133e5565b60ff19831686528115158202860193506133e5565b6133bb8561305b565b60005b838110156133dd578154818901526001820191506020810190506133be565b838801955050505b50505092915050565b60006133f9826124e9565b6134038185612f47565b9350613413818560208601612505565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000613455600583612f47565b91506134608261341f565b600582019050919050565b6000613477828561336b565b915061348382846133ee565b915061348e82613448565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134f66026836124f4565b91506135018261349a565b604082019050919050565b60006020820190508181036000830152613525816134e9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135626020836124f4565b915061356d8261352c565b602082019050919050565b6000602082019050818103600083015261359181613555565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006135bf82613598565b6135c981856135a3565b93506135d9818560208601612505565b6135e28161252f565b840191505092915050565b60006080820190506136026000830187612630565b61360f6020830186612630565b61361c604083018561271f565b818103606083015261362e81846135b4565b905095945050505050565b6000815190506136488161245a565b92915050565b60006020828403121561366457613663612424565b5b600061367284828501613639565b91505092915050565b60006136868261259b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136b8576136b7612ca6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136fd8261259b565b91506137088361259b565b925082613718576137176136c3565b5b828204905092915050565b600061372e8261259b565b91506137398361259b565b925082613749576137486136c3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006137b96018836124f4565b91506137c482613783565b602082019050919050565b600060208201905081810360008301526137e8816137ac565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000613825601f836124f4565b9150613830826137ef565b602082019050919050565b6000602082019050818103600083015261385481613818565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006138b76022836124f4565b91506138c28261385b565b604082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b6138f681612f9e565b82525050565b600060ff82169050919050565b613912816138fc565b82525050565b600060808201905061392d60008301876138ed565b61393a6020830186613909565b61394760408301856138ed565b61395460608301846138ed565b9594505050505056fea2646970667358221220fd210dedd81e0f428adf259ed20093388ef4fb1fdac981976731ffa12ee372b664736f6c63430008100033