0x60806040523480156200001157600080fd5b506040518060400160405280601881526020017f68747470733a2f2f5448554e444552545241494e2e636f6d000000000000000081525062000059816200008060201b60201c565b506200007a6200006e6200009560201b60201c565b6200009d60201b60201c565b620004c4565b8060029081620000919190620003dd565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001e557607f821691505b602082108103620001fb57620001fa6200019d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000226565b62000271868362000226565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002be620002b8620002b28462000289565b62000293565b62000289565b9050919050565b6000819050919050565b620002da836200029d565b620002f2620002e982620002c5565b84845462000233565b825550505050565b600090565b62000309620002fa565b62000316818484620002cf565b505050565b5b818110156200033e5762000332600082620002ff565b6001810190506200031c565b5050565b601f8211156200038d57620003578162000201565b620003628462000216565b8101602085101562000372578190505b6200038a620003818562000216565b8301826200031b565b50505b505050565b600082821c905092915050565b6000620003b26000198460080262000392565b1980831691505092915050565b6000620003cd83836200039f565b9150826002028217905092915050565b620003e88262000163565b67ffffffffffffffff8111156200040457620004036200016e565b5b620004108254620001cc565b6200041d82828562000342565b600060209050601f83116001811462000455576000841562000440578287015190505b6200044c8582620003bf565b865550620004bc565b601f198416620004658662000201565b60005b828110156200048f5784890151825560018201915060208501945060208101905062000468565b86831015620004af5784890151620004ab601f8916826200039f565b8355505b6001600288020188555050505b505050505050565b613b4980620004d46000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063715018a611610097578063e985e9c511610066578063e985e9c514610294578063f242432a146102c4578063f2fde38b146102e0578063f5298aca146102fc576100ff565b8063715018a614610234578063731133e91461023e5780638da5cb5b1461025a578063a22cb46514610278576100ff565b80631f7fdffa116100d35780631f7fdffa146101b05780632eb2c2d6146101cc5780634e1273f4146101e85780636b20c45414610218576100ff565b8062fdd58e1461010457806301ffc9a71461013457806302fe5305146101645780630e89341c14610180575b600080fd5b61011e60048036038101906101199190612182565b610318565b60405161012b91906121d1565b60405180910390f35b61014e60048036038101906101499190612244565b6103e0565b60405161015b919061228c565b60405180910390f35b61017e600480360381019061017991906123ed565b6104c2565b005b61019a60048036038101906101959190612436565b6104d6565b6040516101a791906124e2565b60405180910390f35b6101ca60048036038101906101c5919061266d565b61056a565b005b6101e660048036038101906101e19190612728565b610584565b005b61020260048036038101906101fd91906128ba565b610625565b60405161020f91906129f0565b60405180910390f35b610232600480360381019061022d9190612a12565b61073e565b005b61023c6107db565b005b61025860048036038101906102539190612a9d565b6107ef565b005b610262610809565b60405161026f9190612b2f565b60405180910390f35b610292600480360381019061028d9190612b76565b610833565b005b6102ae60048036038101906102a99190612bb6565b610849565b6040516102bb919061228c565b60405180910390f35b6102de60048036038101906102d99190612bf6565b6108dd565b005b6102fa60048036038101906102f59190612c8d565b61097e565b005b61031660048036038101906103119190612cba565b610a01565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037f90612d7f565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104ab57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104bb57506104ba82610a9e565b5b9050919050565b6104ca610b08565b6104d381610b86565b50565b6060600280546104e590612dce565b80601f016020809104026020016040519081016040528092919081815260200182805461051190612dce565b801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b50505050509050919050565b610572610b08565b61057e84848484610b99565b50505050565b61058c610dc5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806105d257506105d1856105cc610dc5565b610849565b5b610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060890612e71565b60405180910390fd5b61061e8585858585610dcd565b5050505050565b6060815183511461066b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066290612f03565b60405180910390fd5b6000835167ffffffffffffffff811115610688576106876122c2565b5b6040519080825280602002602001820160405280156106b65781602001602082028036833780820191505090505b50905060005b8451811015610733576107038582815181106106db576106da612f23565b5b60200260200101518583815181106106f6576106f5612f23565b5b6020026020010151610318565b82828151811061071657610715612f23565b5b6020026020010181815250508061072c90612f81565b90506106bc565b508091505092915050565b610746610dc5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061078c575061078b83610786610dc5565b610849565b5b6107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290612e71565b60405180910390fd5b6107d68383836110ee565b505050565b6107e3610b08565b6107ed60006113bc565b565b6107f7610b08565b61080384848484611482565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61084561083e610dc5565b8383611632565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6108e5610dc5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061092b575061092a85610925610dc5565b610849565b5b61096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096190612e71565b60405180910390fd5b610977858585858561179e565b5050505050565b610986610b08565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec9061303b565b60405180910390fd5b6109fe816113bc565b50565b610a09610dc5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610a4f5750610a4e83610a49610dc5565b610849565b5b610a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8590612e71565b60405180910390fd5b610a99838383611a39565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b10610dc5565b73ffffffffffffffffffffffffffffffffffffffff16610b2e610809565b73ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b906130a7565b60405180910390fd5b565b8060029081610b959190613273565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff906133b7565b60405180910390fd5b8151835114610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4390613449565b60405180910390fd5b6000610c56610dc5565b9050610c6781600087878787611c7f565b60005b8451811015610d2057838181518110610c8657610c85612f23565b5b6020026020010151600080878481518110610ca457610ca3612f23565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d069190613469565b925050819055508080610d1890612f81565b915050610c6a565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610d9892919061349d565b60405180910390a4610daf81600087878787611c87565b610dbe81600087878787611c8f565b5050505050565b600033905090565b8151835114610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890613449565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790613546565b60405180910390fd5b6000610e8a610dc5565b9050610e9a818787878787611c7f565b60005b845181101561104b576000858281518110610ebb57610eba612f23565b5b602002602001015190506000858381518110610eda57610ed9612f23565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f72906135d8565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110309190613469565b925050819055505050508061104490612f81565b9050610e9d565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516110c292919061349d565b60405180910390a46110d8818787878787611c87565b6110e6818787878787611c8f565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111549061366a565b60405180910390fd5b80518251146111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890613449565b60405180910390fd5b60006111ab610dc5565b90506111cb81856000868660405180602001604052806000815250611c7f565b60005b83518110156113185760008482815181106111ec576111eb612f23565b5b60200260200101519050600084838151811061120b5761120a612f23565b5b60200260200101519050600080600084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a3906136fc565b60405180910390fd5b81810360008085815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050808061131090612f81565b9150506111ce565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161139092919061349d565b60405180910390a46113b681856000868660405180602001604052806000815250611c87565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e8906133b7565b60405180910390fd5b60006114fb610dc5565b9050600061150885611e66565b9050600061151585611e66565b905061152683600089858589611c7f565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115859190613469565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161160392919061371c565b60405180910390a461161a83600089858589611c87565b61162983600089898989611ee0565b50505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611697906137b7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611791919061228c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361180d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180490613546565b60405180910390fd5b6000611817610dc5565b9050600061182485611e66565b9050600061183185611e66565b9050611841838989858589611c7f565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050858110156118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf906135d8565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461198d9190613469565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051611a0a92919061371c565b60405180910390a4611a20848a8a86868a611c87565b611a2e848a8a8a8a8a611ee0565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f9061366a565b60405180910390fd5b6000611ab2610dc5565b90506000611abf84611e66565b90506000611acc84611e66565b9050611aec83876000858560405180602001604052806000815250611c7f565b600080600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084811015611b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7a906136fc565b60405180910390fd5b84810360008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051611c5092919061371c565b60405180910390a4611c7684886000868660405180602001604052806000815250611c87565b50505050505050565b505050505050565b505050505050565b611cae8473ffffffffffffffffffffffffffffffffffffffff166120b7565b15611e5e578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611cf495949392919061382c565b6020604051808303816000875af1925050508015611d3057506040513d601f19601f82011682018060405250810190611d2d91906138a9565b60015b611dd557611d3c6138e3565b806308c379a003611d985750611d50613905565b80611d5b5750611d9a565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f91906124e2565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc90613a07565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5390613a99565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff811115611e8557611e846122c2565b5b604051908082528060200260200182016040528015611eb35781602001602082028036833780820191505090505b5090508281600081518110611ecb57611eca612f23565b5b60200260200101818152505080915050919050565b611eff8473ffffffffffffffffffffffffffffffffffffffff166120b7565b156120af578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611f45959493929190613ab9565b6020604051808303816000875af1925050508015611f8157506040513d601f19601f82011682018060405250810190611f7e91906138a9565b60015b61202657611f8d6138e3565b806308c379a003611fe95750611fa1613905565b80611fac5750611feb565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe091906124e2565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d90613a07565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a490613a99565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612119826120ee565b9050919050565b6121298161210e565b811461213457600080fd5b50565b60008135905061214681612120565b92915050565b6000819050919050565b61215f8161214c565b811461216a57600080fd5b50565b60008135905061217c81612156565b92915050565b60008060408385031215612199576121986120e4565b5b60006121a785828601612137565b92505060206121b88582860161216d565b9150509250929050565b6121cb8161214c565b82525050565b60006020820190506121e660008301846121c2565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612221816121ec565b811461222c57600080fd5b50565b60008135905061223e81612218565b92915050565b60006020828403121561225a576122596120e4565b5b60006122688482850161222f565b91505092915050565b60008115159050919050565b61228681612271565b82525050565b60006020820190506122a1600083018461227d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122fa826122b1565b810181811067ffffffffffffffff82111715612319576123186122c2565b5b80604052505050565b600061232c6120da565b905061233882826122f1565b919050565b600067ffffffffffffffff821115612358576123576122c2565b5b612361826122b1565b9050602081019050919050565b82818337600083830152505050565b600061239061238b8461233d565b612322565b9050828152602081018484840111156123ac576123ab6122ac565b5b6123b784828561236e565b509392505050565b600082601f8301126123d4576123d36122a7565b5b81356123e484826020860161237d565b91505092915050565b600060208284031215612403576124026120e4565b5b600082013567ffffffffffffffff811115612421576124206120e9565b5b61242d848285016123bf565b91505092915050565b60006020828403121561244c5761244b6120e4565b5b600061245a8482850161216d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561249d578082015181840152602081019050612482565b60008484015250505050565b60006124b482612463565b6124be818561246e565b93506124ce81856020860161247f565b6124d7816122b1565b840191505092915050565b600060208201905081810360008301526124fc81846124a9565b905092915050565b600067ffffffffffffffff82111561251f5761251e6122c2565b5b602082029050602081019050919050565b600080fd5b600061254861254384612504565b612322565b9050808382526020820190506020840283018581111561256b5761256a612530565b5b835b818110156125945780612580888261216d565b84526020840193505060208101905061256d565b5050509392505050565b600082601f8301126125b3576125b26122a7565b5b81356125c3848260208601612535565b91505092915050565b600067ffffffffffffffff8211156125e7576125e66122c2565b5b6125f0826122b1565b9050602081019050919050565b600061261061260b846125cc565b612322565b90508281526020810184848401111561262c5761262b6122ac565b5b61263784828561236e565b509392505050565b600082601f830112612654576126536122a7565b5b81356126648482602086016125fd565b91505092915050565b60008060008060808587031215612687576126866120e4565b5b600061269587828801612137565b945050602085013567ffffffffffffffff8111156126b6576126b56120e9565b5b6126c28782880161259e565b935050604085013567ffffffffffffffff8111156126e3576126e26120e9565b5b6126ef8782880161259e565b925050606085013567ffffffffffffffff8111156127105761270f6120e9565b5b61271c8782880161263f565b91505092959194509250565b600080600080600060a08688031215612744576127436120e4565b5b600061275288828901612137565b955050602061276388828901612137565b945050604086013567ffffffffffffffff811115612784576127836120e9565b5b6127908882890161259e565b935050606086013567ffffffffffffffff8111156127b1576127b06120e9565b5b6127bd8882890161259e565b925050608086013567ffffffffffffffff8111156127de576127dd6120e9565b5b6127ea8882890161263f565b9150509295509295909350565b600067ffffffffffffffff821115612812576128116122c2565b5b602082029050602081019050919050565b6000612836612831846127f7565b612322565b9050808382526020820190506020840283018581111561285957612858612530565b5b835b81811015612882578061286e8882612137565b84526020840193505060208101905061285b565b5050509392505050565b600082601f8301126128a1576128a06122a7565b5b81356128b1848260208601612823565b91505092915050565b600080604083850312156128d1576128d06120e4565b5b600083013567ffffffffffffffff8111156128ef576128ee6120e9565b5b6128fb8582860161288c565b925050602083013567ffffffffffffffff81111561291c5761291b6120e9565b5b6129288582860161259e565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129678161214c565b82525050565b6000612979838361295e565b60208301905092915050565b6000602082019050919050565b600061299d82612932565b6129a7818561293d565b93506129b28361294e565b8060005b838110156129e35781516129ca888261296d565b97506129d583612985565b9250506001810190506129b6565b5085935050505092915050565b60006020820190508181036000830152612a0a8184612992565b905092915050565b600080600060608486031215612a2b57612a2a6120e4565b5b6000612a3986828701612137565b935050602084013567ffffffffffffffff811115612a5a57612a596120e9565b5b612a668682870161259e565b925050604084013567ffffffffffffffff811115612a8757612a866120e9565b5b612a938682870161259e565b9150509250925092565b60008060008060808587031215612ab757612ab66120e4565b5b6000612ac587828801612137565b9450506020612ad68782880161216d565b9350506040612ae78782880161216d565b925050606085013567ffffffffffffffff811115612b0857612b076120e9565b5b612b148782880161263f565b91505092959194509250565b612b298161210e565b82525050565b6000602082019050612b446000830184612b20565b92915050565b612b5381612271565b8114612b5e57600080fd5b50565b600081359050612b7081612b4a565b92915050565b60008060408385031215612b8d57612b8c6120e4565b5b6000612b9b85828601612137565b9250506020612bac85828601612b61565b9150509250929050565b60008060408385031215612bcd57612bcc6120e4565b5b6000612bdb85828601612137565b9250506020612bec85828601612137565b9150509250929050565b600080600080600060a08688031215612c1257612c116120e4565b5b6000612c2088828901612137565b9550506020612c3188828901612137565b9450506040612c428882890161216d565b9350506060612c538882890161216d565b925050608086013567ffffffffffffffff811115612c7457612c736120e9565b5b612c808882890161263f565b9150509295509295909350565b600060208284031215612ca357612ca26120e4565b5b6000612cb184828501612137565b91505092915050565b600080600060608486031215612cd357612cd26120e4565b5b6000612ce186828701612137565b9350506020612cf28682870161216d565b9250506040612d038682870161216d565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b6000612d69602a8361246e565b9150612d7482612d0d565b604082019050919050565b60006020820190508181036000830152612d9881612d5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612de657607f821691505b602082108103612df957612df8612d9f565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612e5b602e8361246e565b9150612e6682612dff565b604082019050919050565b60006020820190508181036000830152612e8a81612e4e565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000612eed60298361246e565b9150612ef882612e91565b604082019050919050565b60006020820190508181036000830152612f1c81612ee0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f8c8261214c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fbe57612fbd612f52565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061302560268361246e565b915061303082612fc9565b604082019050919050565b6000602082019050818103600083015261305481613018565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061309160208361246e565b915061309c8261305b565b602082019050919050565b600060208201905081810360008301526130c081613084565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026131297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826130ec565b61313386836130ec565b95508019841693508086168417925050509392505050565b6000819050919050565b600061317061316b6131668461214c565b61314b565b61214c565b9050919050565b6000819050919050565b61318a83613155565b61319e61319682613177565b8484546130f9565b825550505050565b600090565b6131b36131a6565b6131be818484613181565b505050565b5b818110156131e2576131d76000826131ab565b6001810190506131c4565b5050565b601f821115613227576131f8816130c7565b613201846130dc565b81016020851015613210578190505b61322461321c856130dc565b8301826131c3565b50505b505050565b600082821c905092915050565b600061324a6000198460080261322c565b1980831691505092915050565b60006132638383613239565b9150826002028217905092915050565b61327c82612463565b67ffffffffffffffff811115613295576132946122c2565b5b61329f8254612dce565b6132aa8282856131e6565b600060209050601f8311600181146132dd57600084156132cb578287015190505b6132d58582613257565b86555061333d565b601f1984166132eb866130c7565b60005b82811015613313578489015182556001820191506020850194506020810190506132ee565b86831015613330578489015161332c601f891682613239565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006133a160218361246e565b91506133ac82613345565b604082019050919050565b600060208201905081810360008301526133d081613394565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b600061343360288361246e565b915061343e826133d7565b604082019050919050565b6000602082019050818103600083015261346281613426565b9050919050565b60006134748261214c565b915061347f8361214c565b925082820190508082111561349757613496612f52565b5b92915050565b600060408201905081810360008301526134b78185612992565b905081810360208301526134cb8184612992565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061353060258361246e565b915061353b826134d4565b604082019050919050565b6000602082019050818103600083015261355f81613523565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006135c2602a8361246e565b91506135cd82613566565b604082019050919050565b600060208201905081810360008301526135f1816135b5565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061365460238361246e565b915061365f826135f8565b604082019050919050565b6000602082019050818103600083015261368381613647565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006136e660248361246e565b91506136f18261368a565b604082019050919050565b60006020820190508181036000830152613715816136d9565b9050919050565b600060408201905061373160008301856121c2565b61373e60208301846121c2565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b60006137a160298361246e565b91506137ac82613745565b604082019050919050565b600060208201905081810360008301526137d081613794565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006137fe826137d7565b61380881856137e2565b935061381881856020860161247f565b613821816122b1565b840191505092915050565b600060a0820190506138416000830188612b20565b61384e6020830187612b20565b81810360408301526138608186612992565b905081810360608301526138748185612992565b9050818103608083015261388881846137f3565b90509695505050505050565b6000815190506138a381612218565b92915050565b6000602082840312156138bf576138be6120e4565b5b60006138cd84828501613894565b91505092915050565b60008160e01c9050919050565b600060033d11156139025760046000803e6138ff6000516138d6565b90505b90565b600060443d10613992576139176120da565b60043d036004823e80513d602482011167ffffffffffffffff8211171561393f575050613992565b808201805167ffffffffffffffff81111561395d5750505050613992565b80602083010160043d03850181111561397a575050505050613992565b613989826020018501866122f1565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b60006139f160348361246e565b91506139fc82613995565b604082019050919050565b60006020820190508181036000830152613a20816139e4565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000613a8360288361246e565b9150613a8e82613a27565b604082019050919050565b60006020820190508181036000830152613ab281613a76565b9050919050565b600060a082019050613ace6000830188612b20565b613adb6020830187612b20565b613ae860408301866121c2565b613af560608301856121c2565b8181036080830152613b0781846137f3565b9050969550505050505056fea26469706673582212206d3fc34b271a7806323003571ed32a90da6f6b578809549e7afce0cc2597af1b64736f6c63430008120033