Subject: FW: Remarks by the Vice President to Generation Progress Make Progress National Summit
From: "Schultz, Gregory C. EOP" <[email-masked]>
To: <[email-masked]>
Date: Fri, 17 Jul 2015 13:10:04 +0000

SGV5IEh1bnRlciAtLSBJIGtub3cgeW91IHdlcmUgaW52b2x2ZWQgb24gdGhpcyBhIGxpdHRsZSBiaXQgLS0gc28gd2FudGVkIHRvIHBhc3MgYWxvbmcgZnJvbSBWaW5heSAoc3BlZWNoIHdyaXRlcikuICAgIFRoZSBmaXJzdCAxNSBtaW51dGVzIHdlbnQgZ3JlYXQuLi4uLi5hbmQgdGhlbiBoZSBqdXN0IGNvdWxkbid0IGVuZCB0aGUgc3BlZWNoDQoNCg0KLS0NCkdyZWcgU2NodWx0eg0KU2VuaW9yIEFkdmlzb3IgdG8gdGhlIFZpY2UgUHJlc2lkZW50DQpTcGVjaWFsIEFzc2lzdGFudCB0byB0aGUgUHJlc2lkZW50DQoyMDItNDU2LTM2MzkNCg0KDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJlZGR5LCBWaW5heSBbbWFpbHRvOlZpbmF5X0NfUmVkZHlAb3ZwLmVvcC5nb3ZdIA0KU2VudDogVGh1cnNkYXksIEp1bHkgMTYsIDIwMTUgNzozNCBQTQ0KVG86IFJpY2NoZXR0aSwgU3RldmVuIEouIEVPUDsgS2F1Zm1hbiwgRWR3YXJkIEUuIEVPUDsgRG9uaWxvbiwgTWljaGFlbCBDLiBFT1A7IEdyYXZlcywgRG9uZXQgRC4gSnIuIEVPUDsgU2NodWx0eiwgR3JlZ29yeSBDLiBFT1ANClN1YmplY3Q6IFJlOiBSZW1hcmtzIGJ5IHRoZSBWaWNlIFByZXNpZGVudCB0byBHZW5lcmF0aW9uIFByb2dyZXNzIE1ha2UgUHJvZ3Jlc3MgTmF0aW9uYWwgU3VtbWl0DQoNCkhlIHdlbnQgb2ZmIHNjcmlwdCBhbG1vc3QgZXZlcnkgMiB0byAzIHBhcmFncmFwaHMgYW5kIGRpZCBhbGwgdGhlIHNlbGYtcmVmZXJlbnRpYWwgc3R1ZmYgd2UgY3V0IG91dC4gVGhpcyBzcGVlY2ggd2FzIHByZXR0eSBtdWNoIGV2ZXJ5d2hlcmUsIGluY2x1ZGluZyB3aHkgdGhlIERlbW9jcmF0aWMgUGFydHkgc2hvdWxkIGxvb2sgdG8gaXRzZWxmIGluIGN1cmJpbmcgZGFyayBtb25leSAibm90IHRoYXQgSSBhbSB0YWxraW5nIGFib3V0IGFueSBwYXJ0aWN1bGFyIHBlcnNvbi4iDQogDQoNCkZyb206IE1jQ29ybWljaywgTWlrZSANClNlbnQ6IFRodXJzZGF5LCBKdWx5IDE2LCAyMDE1IDA3OjI5IFBNDQpUbzogQmFrb3RpYywgS3Jpc3RlbjsgQmFya29mZiwgS2VuZHJhIEEuOyBCZW5haW0sIERhbmllbDsgQmVybmVyLCBLYXRlOyBCcmFkbGV5LCBBbGV4YW5kZXIgKEludGVybik7IENodW5nLCBLYXRoeTsgRGFuc2t5IEJhcmksIERvbWluaXF1ZTsgREwtT1ZQLVNwZWVjaHdyaXRpbmc7IEZlbGRtYW4sIFN0ZWZhbmllIEcuOyBHb29kbWFuLCBNZWdoYW47IEdyYXZlcywgRG9uOyBIYXJyaXMsIEJlbjsgS2F1Zm1hbiwgRWR3YXJkOyBMdXJpZSwgRGFuaWVsOyBNYWNrbGVyLCBBbGV4YW5kZXI7IE1jQ29ybWljaywgTWlrZTsgTWlrZSdzIGlQaG9uZSA8bWlrZUBoZXJpdGFnZXRyZWVwdWJzLmNvbT47IE11bGRvb24sIEFubmUgTWFyaWU7IE8nQnJpZW4sIFNlYW47IFBlZ2d5IFN1bnR1bSAocGVnZ3N1bkBjb21jYXN0Lm5ldCkgPHBlZ2dzdW5AY29tY2FzdC5uZXQ+OyBQaWV0cmFudG9uLCBLZWxzZXk7IFJhbmdlbCwgQW50b2luZXR0ZSBOLjsgUmVkZHksIFZpbmF5OyBSaWNjaGV0dGksIFN0ZXZlbjsgU2NocnVtLCBNaWNoYWVsOyBTY2h1bHR6LCBHcmVnOyBTaGV0aCwgVHVzaGFyOyBTcGVjdG9yLCBTdGVwaGVuOyBTdW50dW0sIFBlZ2d5IA0KU3ViamVjdDogUmVtYXJrcyBieSB0aGUgVmljZSBQcmVzaWRlbnQgdG8gR2VuZXJhdGlvbiBQcm9ncmVzcyBNYWtlIFByb2dyZXNzIE5hdGlvbmFsIFN1bW1pdCANCiANCg0KDQpUSEUgV0hJVEUgSE9VU0UNCg0KIA0KDQpPZmZpY2Ugb2YgdGhlIFZpY2UgUHJlc2lkZW50IA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQpGb3IgSW1tZWRpYXRlIFJlbGVhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgMTYsIDIwMTUNCg0KIA0KDQogDQoNCiAgICAgUkVNQVJLUyBCWSBWSUNFIFBSRVNJREVOVCBKT0UgQklERU4gQVQgVEhFDQoNCkdFTkVSQVRJT04gUFJPR1JFU1PigJlTIDEwVEggQU5OVUFMDQoNCuKAnE1BS0UgUFJPR1JFU1PigJ0gTkFUSU9OQUwgU1VNTUlUDQoNCiANCg0KV2FzaGluZ3RvbiBDb252ZW50aW9uIENlbnRlcg0KDQpXYXNoaW5ndG9uLCBELkMuIA0KDQogDQoNCjQ6NTggUC5NLiBFRFQNCg0KIA0KDQogICAgIFRIRSBWSUNFIFBSRVNJREVOVDogIChBcHBsYXVzZS4pICBZb3Uga2VlcCB0aGF0IHVwLCBJ4oCZbGwgc3RhcnQgdG8gaW5oYWxlLiAgKExhdWdodGVyLikgIEZsYXR0ZXJ5IGlzIHNvbWV0aGluZyB5b3Ugc2hvdWxkIG5ldmVyIGluaGFsZS4gIChMYXVnaHRlci4pIA0KDQogDQoNCiAgICAgRm9sa3MsIGJlZm9yZSBJIGJlZ2luLCB0aGUgcmVhc29uIEnigJltIGEgZmV3IG1pbnV0ZXMgbGF0ZSwgYXMgeW91J3ZlIGFsbCBwcm9iYWJseSBoZWFyZCwgdGhlcmXigJlzIGJlZW4gYSB0ZXJyaWJsZSB0cmFnZWR5IHRoYXQgaGFzIHRha2VuIHBsYWNlLCBvY2N1cnJlZCBlYXJsaWVyIHRvZGF5IGF0IHR3byBtaWxpdGFyeSBjZW50ZXJzIGluIENoYXR0YW5vb2dhLCBUZW5uZXNzZWUuICBXZSBkb27igJl0IGhhdmUgYWxsIG9mIHRoZSBkZXRhaWxzLCBvciB0aGF0IG1hbnkgZGV0YWlscy4gIEFzIEnigJltIHNwZWFraW5nLCBJIHdhcyBzdXBwb3NlZCB0byBiZSBpbiBhIG1lZXRpbmcgd2l0aCB0aGUgUHJlc2lkZW50IG9mIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCBGQkkgRGlyZWN0b3IgQ29tZXksIHdoaWNoIEnigJlsbCBiZSBicmllZmVkIG9uIGFzIEkgZ2V0IGJhY2suICBCdXQgd2hhdCB3ZSBkbyBrbm93IGlzIGZvdXIgTWFyaW5lcyB3ZXJlIGtpbGxlZCBhbmQgb3RoZXJzIHdlcmUgaW5qdXJlZC4gIEFuZCBJIGRvbid0IGhhdmUgbXVjaCBtb3JlIGluZm9ybWF0aW9uIGF0IHRoaXMgcG9pbnQuICBCdXQgbXkgaGVhcnQgZ29lcyBvdXQgdG8gdGhlaXIgZmFtaWxpZXMgYW5kIHRoZXNlIHlvdW5nIE1hcmluZXMgd2VyZSBwYXJ0IG9mIHlvdXIgZ2VuZXJhdGlvbiB0aGF0IGlzIHByb2JhYmx5IHRoZSBtb3N0IGluY3JlZGlibGUgZ2VuZXJhdGlvbiB0aGF0IHRoaXMgY291bnRyeSBoYXMgc2Vlbi4gIE92ZXIgNC4zIG1pbGxpb24gc2luY2UgOS8xMSBzaWduZWQgdXAgYW5kIHNhaWQsIHNlbmQgbWUuICBBbG1vc3QgY2VydGFpbiB0aGV54oCZZCBiZSBwdXQgaW4gaGFybeKAmXMgd2F5LiANCg0KIA0KDQogICAgIEFuZCBzbyB0aGVpciBmYW1pbGllcyBoYXZlIGFscmVhZHkgZ2l2ZW4gYSBsb3QgdG8gdGhlIGNvdW50cnkuICBBbmQgbm93IHRoaXMgLS0gYnV0IHdlIHdpbGwgZ2V0IHRvIHRoZSBib3R0b20gb2YgaXQuICBBbmQgSSBhc2sgeW91IHRvIGtlZXAgdGhlaXIgZmFtaWxpZXMgaW4geW91ciBwcmF5ZXJzLiAgDQoNCiANCg0KICAgICBXZWxsLCB0aGF0IHdhcyBhIGdyZWF0IGludHJvZHVjdGlvbi4gIEkgYXBwcmVjaWF0ZSBpdCB2ZXJ5IG11Y2guICBBbmQsIEtpc2gtbGEsIHlvdSBhcmUgd29ya2luZyBvbiBzb21ldGhpbmcgdGhhdCBoYXMgYmVlbiBhIHByb2plY3Qgb2YgbWluZSBhbmQgbmVhciBhbmQgZGVhciB0byBteSBoZWFydCBzaW5jZSBJIHdhcyBpbiB1bmRlcmdyYWR1YXRlIHNjaG9vbCBiZWZvcmUgdGhlcmUgd2FzIGEgdGhpbmcgY2FsbGVkIEl04oCZcyBPbiBVcywgYW5kIGJlZm9yZSB0aGVyZSB3YXMgYW4gaXNzdWUgb2YgcGVvcGxlIHdobyB3ZXJlIHdpbGxpbmcgdG8gZmFjZSB0aGUgcmVhbGl0eSB0aGF0IC0tIG9mIHRoZSBtaWxsaW9ucyBvZiB3b21lbiB3aG8gd2VyZSBiZWluZyB2aWN0aW1pemVkIGJ5IHNvY2lhbCBzdGFuZGFyZHMgYW5kIGN1bHR1cmFsIHN0YW5kYXJkcyB0aGF0IGFyZSBhbnRpcXVhdGVkIGFuZCBoYWQgdG8gYmUgY2hhbmdlZC4gIA0KDQogDQoNCiAgICAgQW5kIEkgd2FudCB0byB0aGFuayBOZWVyYSBmb3IgaGVyIGxlYWRlcnNoaXAgb2YgdGhpcyBlbnRpcmUgb3JnYW5pemF0aW9uOyBhbmQgQW5uZSBKb2huc29uIGZvciBoZXIgbGVhZGVyc2hpcCBvZiBHZW5lcmF0aW9uIFByb2dyZXNzIG9uIGV2ZXJ5dGhpbmcgZnJvbSBzdHVkZW50IGxvYW4gcmVmb3JtIHRvIEl04oCZcyBvbiBVcy4gIEl04oCZcyByZWFsbHkgZ3JlYXQgdG8gYmUgYmFjayBoZXJlLg0KDQogDQoNCiAgICAgQW5kIGluIGEgc2Vuc2UsIGlmIHlvdSBleGN1c2UsIGFzIHdlIHVzZWQgdG8gc2F5IGluIHRoZSBTZW5hdGUsIGEgcG9pbnQgb2YgcGVyc29uYWwgcHJpdmlsZWdlLCB5b3UgdGFrZSBtZSBiYWNrLiAgWW91IHJlbWluZCBtZSBvZiB3aHkgSSBnb3QgaW52b2x2ZWQgaW4gdGhlIGZpcnN0IHBsYWNlLiAgSSB3YXMgZ29pbmcgdG8gc2F5IGl0IHdhc27igJl0IHRvbyBtYW55IHllYXJzIGFnbywgYnV0IGl0IHdhcyAyMDAgeWVhcnMgYWdvLCBJIHNhdCB3aGVyZSB5b3UgYXJlLiAgKExhdWdodGVyLikgIA0KDQogDQoNCiAgICAgQW5kIEkga25vdyB5b3UndmUgaGFkIGEgZnVsbCBkYXkuICBZb3UndmUgaGVhcmQgZnJvbSBhIGxvdCBvZiBncmVhdCBBbWVyaWNhbiBsZWFkZXJzIHRvZGF5LCBhbmQgeW91J3ZlIGdvdHRlbiBhIGNoYW5jZSB0byBzcGVhayB0byBlYWNoIG90aGVyIGluIGJyZWFrb3V0IHNlc3Npb25zLiAgDQoNCiANCg0KICAgICBBbmQgSSBiYXNpY2FsbHkgY2FtZSB0byBzYXkgdGhhbmsgeW91LiAgWW91J3ZlIHNob3duIHlvdXIgcGFzc2lvbiBvbiBpc3N1ZXMgdGhhdCBhcmUgdGhlIHNhbWUgaXNzdWVzIHRoYXQgYW5pbWF0ZWQgbXkgcGFzc2lvbiBhbmQgbXkgY29uY2VybiB3aGVuIEkgd2FzIGEga2lkIGluIFdpbG1pbmd0b24sIERlbGF3YXJlLCBnZXR0aW5nIGludm9sdmVkIGluIHB1YmxpYyBpc3N1ZXMuDQoNCiANCg0KICAgICBGb3IgbWUgaXQgc3RhcnRlZCB3aXRoIHRoZSBDaXZpbCBSaWdodHMgTW92ZW1lbnQuICBCdXQgaXQgbW92ZWQgb24gZnJvbSB0aGVyZS4gIEFuZCB3aGVuIEkgZ290IHRvIHRoZSBTZW5hdGUgYXMgYSAyOS15ZWFyLW9sZCBraWQgLS0gb3IgSSBqdXN0IGhhZCB0dXJuZWQgMzAgYnkgdGhlIHRpbWUgSSBnb3Qgc3dvcm4gaW4sIHRoZSBmaXJzdCBiaWxsIEkgZXZlciBpbnRyb2R1Y2VkIGluIHRoZSBTZW5hdGUgd2FzIGEgYmlsbCB0byAtLSBmb3IgdGhlIHN0dWRlbnQgbG9hbiBwcm9ncmFtIGZvciBtaWRkbGUtY2xhc3MgZ3V5cyBsaWtlIG1lIGFuZCBteSBzaXN0ZXIgYmVjYXVzZSBJIHJlbWVtYmVyIHdoZW4gd2UgdGFsayBhYm91dCBzdHVkZW50IGxvYW5zIGFuZCBhY2Nlc3MgdG8gY29sbGVnZSwgd2UgdGhpbmsgb2YgaXQgb25seSBpbiB0ZXJtcyBvZiB0aGUgcXVhbGlmaWVkIHN0dWRlbnQgd2lsbCBiZSBkZW5pZWQgYW4gb3Bwb3J0dW5pdHkuICBCdXQgbGlrZSBhIGxvdCBvZiB5b3UsIEkgdGhpbmsgb2YgaXQgaW4gdGVybXMgb2YgdGhlIG1vdGhlciBhbmQgZmF0aGVyIHdobyBkcmVhbSBvZiBvcHBvcnR1bml0aWVzIGZvciB0aGVpciBraWRzIGJ1dCBmZWVsIGluY3JlZGlibHkgaW5hZGVxdWF0ZSBiZWNhdXNlIHNvbWVob3cgdGhleSBjYW4ndCBmaW5kIHRoZSByZXNvdXJjZXMgdG8gZ2V0IHRoZWlyIGNoaWxkIHRvIHNjaG9vbC4NCg0KIA0KDQogICAgIEkgcmVtZW1iZXIgd2hlbiBteSBmYXRoZXIgd2VudCB0byBnZXQgYSBsb2FuIGZvciBtZSB0byBnZXQgdG8gY29sbGVnZSwgSSB3YXMgYSBwcmV0dHkgZ29vZCBhdGhsZXRlIGFuZCBoYWQgc29tZSBvcHBvcnR1bml0aWVzLiAgQnV0IEkgc3RpbGwgbmVlZGVkIG1vbmV5LiAgQW5kIG15IGRhZCAtLSBJIHdlbnQgZG93biB0byB3aGVyZSBoZSB3b3JrZWQgYW5kIHdhbGtlZCBpbiBhbmQgYXNrZWQgaGlzIHNlY3JldGFyeSB3aGVyZSBoZSB3YXMuICBBbmQgc2hlIHNhaWQsIGhl4oCZcyBvdXRzaWRlLCBob25leSwgb24gdGhlIHNpZGUgb2YgdGhlIGJ1aWxkaW5nLiAgQW5kIEkgd2Fsa2VkIGFyb3VuZCB0byBzZWUgaGltLCBhbmQgbXkgZGFkIHdhcyBwYWNpbmcgYmFjayBhbmQgZm9ydGguICBUaGlzIGlzIGFuIGFic29sdXRlbHkgdHJ1ZSBzdG9yeS4NCg0KIA0KDQogICAgIEFuZCBoZSBzYXcgbWUgYW5kIGxvb2tlZCB1cC4gIEhlIHNhaWQsIEpvZXksIEpvZXksIEnigJltIHNvIHNvcnJ5LiAgQW5kIEkgdGhvdWdodCwgR29kLCB3aGF0IGhhcHBlbmVkIHRvIG15IHNpc3RlciwgbXkgbW90aGVyPyAgVGhhdCB3YXMgdGhlIGRheSBiZWZvcmUgY2VsbCBwaG9uZXMuICBEaWQgc29tZXRoaW5nIGhhcHBlbj8gIEkgc2FpZCwgd2hhdOKAmXMgdGhlIG1hdHRlciwgRGFkPw0KDQogDQoNCiAgICAgSGUgc2F5cywgaG9uZXksIEkgd2VudCB0byBiYW5rIHRvIHRyeSB0byBib3Jyb3cgbW9uZXkgdG8gZ2V0IHlvdSB0byBzY2hvb2wuICBUaGV5IHdvdWxkbuKAmXQgbGVuZCBtZSB0aGUgbW9uZXksIGhvbmV5LiAgSeKAmW0gc28gYXNoYW1lZC4gIEnigJltIHNvIGFzaGFtZWQuICBJ4oCZbSBzbyBzb3JyeS4gIA0KDQogDQoNCiAgICAgV2hlbiB3ZSBkb24ndCBnaXZlIGEgY2hpbGQgd2hvIGlzIHF1YWxpZmllZCBhbiBvcHBvcnR1bml0eSwgaXQgbm90IG9ubHkgZGVwcml2ZXMgdGhhdCBjaGlsZCBvZiBhbiBvcHBvcnR1bml0eSwgaXQgZGVwcml2ZXMgdGhlIHBhcmVudCBvZiB0aGUgZGlnbml0eSB0aGF0IHRoZXkncmUgZW50aXRsZWQgdG8gYmUgYWNjb3JkZWQuICBCZWNhdXNlIHRoZXJlIGlzIG5vdGhpbmcgd29yc2UgZm9yIGEgcGFyZW50IHRoYW4gbG9va2luZyBhdCB0aGVpciBjaGlsZCB3aGVuIHRoZXkncmUgaW4gbmVlZCBvciB0aGV5J3JlIHNpY2sgb3Igb3RoZXJ3aXNlIGFuZCBrbm93IHRoZXJl4oCZcyBub3RoaW5nIHRoZXkgY2FuIGRvIHRvIGhlbHAuICANCg0KIA0KDQogICAgIFNvIHRoYXQncyB0aGUgZmlyc3QgYmlsbCBJIGV2ZXIgaW50cm9kdWNlZCwgYWxsIHRoZSB3YXkgdG8gSXTigJlzIE9uIFVzLCBhbmQgd2hlbiBJIHdyb3RlIHRoZSBWaW9sZW5jZSBBZ2FpbnN0IFdvbWVuIEFjdC4gIChBcHBsYXVzZS4pICBObywgbm8sIEkgZG9uJ3Qgc2F5IC0tIEnigJltIG5vdCBzYXlpbmcgdGhhdCBmb3IgLS0gSSBob3BlIGl0IGRvZXNuJ3QgY29tZSBvdXQgdGhlIHdyb25nIHdheS4gIEnigJltIG5vdCBzYXlpbmcgdGhhdCBmb3IgY3JlZGl0LCBidXQgSSB3YW50IHRvIHJlbWluZCB5b3Ugb2Ygd2h5IHdoYXQgeW91J3JlIGRvaW5nIGlzIHNvIGltcG9ydGFudC4NCg0KIA0KDQogICAgIFdoZW4gSSB3cm90ZSB0aGF0IGFjdCBubyBvbmUgd2FzIGZvciBpdC4gIEV2ZXJ5IHdvbWVu4oCZcyBvcmdhbml6YXRpb24gb3Bwb3NlZCBpdCAtLSBvciBpbml0aWFsbHkgYmVjYXVzZSB0aGV5IHRob3VnaHQgaXQgd291bGQgdGFrZSB0aGUgZm9jdXMgb2ZmIG9mIG90aGVyIGlzc3VlcyBmcm9tIGdlbmRlciBlcXVhbGl0eSB0byB3b21lbuKAmXMgcmlnaHRzIHJlbGF0ZWQgdG8gcmVwcm9kdWN0aW9uLiAgDQoNCiANCg0KICAgICBBbmQgSSB3YXMgdG9sZCB0aGVyZSB3YXMgbm90aGluZyB3ZSBjb3VsZCBkbyBhYm91dCBpdC4gIEJ1dCBJIGRpZG4ndCBiZWxpZXZlIHRoYXQsIGxpa2UgeW91IGRvbid0IGJlbGlldmUgaXQuICBBbmQgd2UgcGVyc2lzdGVkLiAgQ3JpbWluYWwganVzdGljZSByZWZvcm0gLS0gZm9yIDE3IHllYXJzIEkgd2FzIENoYWlybWFuIGFuZCBSYW5raW5nIE1lbWJlciBvZiB0aGUgSnVkaWNpYXJ5IENvbW1pdHRlZS4gIEFuZCB3aGF0IHlvdSdyZSBmb2N1c2luZyBvbiB3YXMgbXkgcGFzc2lvbiBmb3IgYWxsIHRob3NlIHllYXJzIGZyb20gcmVmb3JtIHRvIGRlYWxpbmcgd2l0aCBndW4gdmlvbGVuY2UsIHdoaWNoIEnigJl2ZSBiZWVuIGluIHNvbWUgY2FzZXMgZXh0cmVtZWx5IHN1Y2Nlc3NmdWwgb24gLS0gaW4gdGhlIEJpZGVuIGNyaW1lIGJpbGwgLS0gd2hpY2ggZXhwaXJlZCB1bmRlciBHZW9yZ2UgQnVzaCwgdG8gdGhlIGVmZm9ydHMgdG8gcmV3cml0ZSBsZWdpc2xhdGlvbiB3aGljaCB3ZeKAmXZlIG5vdCBiZWVuIGFibGUgdG8gZ2V0IHBhc3NlZCBpbiB0aGlzIGFkbWluaXN0cmF0aW9uLiANCg0KIA0KDQogICAgIEltbWlncmF0aW9uIHJlZm9ybSwgd2hpY2ggaXMgYW4gaXNzdWUgb2YgbXkgZmlyc3QgY2FtcGFpZ24gYmVjYXVzZSBDaGF2ZXogd2FzIHRyeWluZyB0byBvcmdhbml6ZSBmYXJtZXJzIGludG8gbXkgYWdyaWN1bHR1cmFsIHN0YXRlIG9mIERlbGF3YXJlLiAgQW5kIHRoZSB3YXkgLS0gKGFwcGxhdXNlKSAtLSB0aGUgd2F5IG1pZ3JhbnQgd29ya2VycyB3ZXJlIHRyZWF0ZWQgd2FzIGFuIGFib21pbmF0aW9uOyB0byBMR0JUIHJpZ2h0cywgd2hpY2ggZm9yIG1lIGZvciB0aGUgcGFzdCB0aHJlZSBkZWNhZGVzIGhhcyBiZWVuIHRoZSBjaXZpbCByaWdodHMgaXNzdWUgb2Ygb3VyIGdlbmVyYXRpb24uICANCg0KIA0KDQogICAgIEFuZCBsb29rLCB1bHRpbWF0ZWx5IGFsbCB0aGlzIGlzIGFib3V0IG1ha2luZyBzdXJlIHRoYXQgcGVvcGxlIGFyZSBhZmZvcmRlZCB0aGUgZGlnbml0eSB0aGV5IGRlc2VydmUgYW5kIHRoZSBtaWRkbGUgY2xhc3MgaGFzIGFuIGV2ZW4gc2hvdCwgYSBsZXZlbCBwbGF5aW5nIGZpZWxkIC0tIHdoaWNoIHRoZXkgZG9uJ3QgaGF2ZSBhbnl3aGVyZSBuZWFyIG5vdy4gIFRoZSBkZWNrIGlzIHN0YWNrZWQgYWdhaW5zdCB0aGVtLg0KDQogDQoNCiAgICAgSSBrbm93IEnigJltIHJlZmVycmVkIHRvIC0tIGFuZCBpdOKAmXMgYWxtb3N0IGEgam9rZSBpbiBXYXNoaW5ndG9uIC0tIEnigJltIE1pZGRsZSBDbGFzcyBKb2UuICBJbiBXYXNoaW5ndG9uIHRoYXQncyBub3QgYSBjb21wbGltZW50LiAgSXQgbWVhbnMgeW91J3JlIG5vdCBzb3BoaXN0aWNhdGVkLiAgQnV0IEkgYW0gbWlkZGxlIGNsYXNzLiAgVGhlIHJlYXNvbiBJIGFsd2F5cyB0YWxrIGFib3V0IHRoZSBtaWRkbGUgY2xhc3MgYW5kIGhhdmUgbXkgd2hvbGUgY2FyZWVyIGlzIHNpbXBsZTogIFdoZW4gdGhlIG1pZGRsZSBjbGFzcyBkb2VzIHdlbGwsIHRoZSB3ZWFsdGh5IGRvIHZlcnkgd2VsbCwgYW5kIHRoZSBwb29yIGhhdmUgYSB3YXkgdXAuICBUaGF0J3Mgd2hhdCBpdOKAmXMgYWJvdXQuICANCg0KIA0KDQogICAgIEFuZCB0aGVyZSBhcmUgYWxsIHRoZSB0aGluZ3MgdGhhdCBhcmUgYW5pbWF0aW5nIHlvdXIgcGFzc2lvbnMuICBJdOKAmXMgYSB2ZXJ5IHNpbXBsZSBwcm9wb3NpdGlvbi4gIE15IGZhdGhlciB1c2VkIHRvIHNheSBldmVyeSBzaW5nbGUgcGVyc29uIGlzIGVudGl0bGVkIHRvIGJlIHRyZWF0ZWQgd2l0aCBkaWduaXR5LiAgQW5kIHRoZSBhYnNlbmNlIG9mIGVjb25vbWljIG9wcG9ydHVuaXR5IC0tIGFic2VudCBlY29ub21pYyBvcHBvcnR1bml0eSB0aGVyZSBpcyBubyB3YXkgdG8gYmUgYWZmb3JkZWQgdGhlIGRpZ25pdHkgcGVvcGxlIGRlc2VydmUuICBTbyBJIGFwcGxhdWQgeW91ciBwYXNzaW9uLiAgSSByZWFsbHkgbWVhbiB0aGlzLiAgSSBhcHBsYXVkIHlvdXIgcGFzc2lvbi4gIEFuZCBJIHVyZ2UgeW91IHRvIG5ldmVyLCBldmVyLCBldmVyIGFwb2xvZ2l6ZSBmb3IgaXQuICBOZXZlciwgbmV2ZXIsIG5ldmVyIHRyeSB0byBleHBsYWluIGl0IGF3YXkuICBCZWNhdXNlIHBhc3Npb24gaXMgd2hhdCB1bHRpbWF0ZWx5IGNoYW5nZXMgY2lyY3Vtc3RhbmNlcyBpbiB0aGlzIGNvdW50cnkuDQoNCiANCg0KICAgICBBbmQgd2hhdCBJ4oCZZCBsaWtlIHRvIHRhbGsgdG8geW91IGFib3V0IHRvZGF5IGlzIGhvdyB5b3UgdHJhbnNsYXRlIHRoYXQgcGFzc2lvbiBpbnRvIHJlYWwgbWVhbmluZ2Z1bCBwcm9ncmVzcyBmb3IgdGhlIGNvdW50cnkuICBJdOKAmXMgdGhlIG9ubHkgdGhpbmcgSSBwcm9iYWJseSBrbm93IG1vcmUgYWJvdXQgdGhhbiB5b3UgYmVjYXVzZSBJ4oCZdmUgYmVlbiBoYW5naW5nIGFyb3VuZCBhIGxvbmcgdGltZS4gIChMYXVnaHRlci4pICANCg0KIA0KDQogICAgIEl0IHRha2VzIGEgbG90IG9mIG1vcmFsIGFuZCBwb2xpdGljYWwgY291cmFnZS4gIEl04oCZcyBhYm91dCBhc2tpbmcgd2hhdCB5b3UgYXJlIHdpbGxpbmcgdG8gbG9zZSBvdmVyIGFzIG11Y2ggYXMgd2hhdCB5b3UncmUgd2lsbGluZyB0byBmaWdodCBmb3IuICBCZWNhdXNlIEkgZ290IGVsZWN0ZWQgd2hlbiBJIHdhcyBhIDI5LXllYXItb2xkIGtpZCBub3Qgb2xkIGVub3VnaCB0byBiZSBzd29ybiBpbnRvIHRoZSBTZW5hdGUsIHNpbmNlIHRoYXQgZGF5LCBldmVyeWJvZHkgd2hvIHJhbiBmb3Igb2ZmaWNlIGluIERlbGF3YXJlIHdvdWxkIGNvbWUgdG8gbWUgYW5kIHNheSwgd2hhdOKAmXMgdGhlIHNlY3JldD8gIEJlY2F1c2Ugb2J2aW91c2x5IGlmIEkgd29uLCB0aGVyZSBoYWQgdG8gYmUgYSBzZWNyZXQgdGhhdCBJIGZvdW5kIG91dC4gIChMYXVnaHRlci4pICBObywgSeKAmW0gc2VyaW91cy4gIEnigJltIHNlcmlvdXMuICBXaGF0IGRvIEkgaGF2ZSB0byBrbm93IG1vc3Q/DQoNCiANCg0KICAgICBJIHNhaWQsIHlvdSBoYXZlIHRvIGxvb2sgYXQgb25lIHRoaW5nIC0tIGFuZCBJIHVyZ2UgeW91IGFsbCB0byB0aGluayBhYm91dCB0aGlzIC0tIHdoZXRoZXIgeW91IGV2ZXIgcnVuIGZvciBvZmZpY2Ugb3Igbm90LCB3aGF0IGFyZSB5b3Ugd2lsbGluZyB0byBsb3NlIG92ZXI/ICBXaGF0IGlzIHNvIGltcG9ydGFudCB0byB5b3UgdGhhdCB5b3XigJlkIHJhdGhlciBsb3NlIHRoYW4gY2FwaXR1bGF0ZT8gIA0KDQogDQoNCiAgICAgQmVjYXVzZSBpZiB5b3UgY2FuJ3QgYW5zd2VyIHRoYXQgcXVlc3Rpb24sIHlvdSdyZSBhbGwgaW4gdGhlIHdyb25nIGVuZGVhdm9yLiAgWW91IHdvbuKAmXQgYmUgaGFwcHkgaWYgeW91IGhhdmUgdG8gY29uc3RhbnRseSBjb21wcm9taXNlIHdoYXQgeW91IGJlbGlldmUgYmVjYXVzZSBvZiBwcmVzc3VyZSBhbmQgaW50ZXJlc3QgZ3JvdXBzIGFuZCBtb25leS4NCg0KIA0KDQogICAgIEJlY2F1c2UgaGVyZeKAmXMgdGhlIHRydXRoLCBubyBtYWpvciBpc3N1ZSBvZiB0aGUgZGF5LCBubyBtYWpvciBpc3N1ZSBvZiB0aGUgZGF5IGRvIHRoZSBBbWVyaWNhbiBwZW9wbGUgZGlzYWdyZWUgd2l0aCBhbnkgb2YgdGhlIHRoaW5ncyB3ZSdyZSBmaWdodGluZyBmb3IgeW91IGFuZCBtZS4gIE1hcnJpYWdlIGVxdWFsaXR5LCBpbW1pZ3JhdGlvbiByZWZvcm0sIHJhaXNpbmcgdGhlIG1pbmltdW0gd2FnZSwgZWFybHkgY2hpbGRob29kIGVkdWNhdGlvbiwgZ3VuIHZpb2xlbmNlIHByZXZlbnRpb24gLS0gSSBjb3VsZCBnbyBvbiBhbmQgb24uICANCg0KIA0KDQogICAgIFNvbWV3aGVyZSBiZXR3ZWVuIDU1IHBlcmNlbnQgYW5kIDkwIHBlcmNlbnQgb2YgdGhlIEFtZXJpY2FuIHBlb3BsZSBhZ3JlZSB3aXRoIHdoYXQgeW91J3JlIGZpZ2h0aW5nIGZvciwgd2hhdCB3ZSBhcmUgZm9yIG9uIGV2ZXJ5IG9uZSBvZiB0aG9zZSBpc3N1ZXMuIA0KDQogDQoNClNvIGl04oCZcyBub3QgYSBxdWVzdGlvbiBvZiBjb252aW5jaW5nIHRoZSBBbWVyaWNhbiBwZW9wbGUgd2XigJlyZSByaWdodCBvbiB0aGUgaXNzdWVzIHdl4oCZcmUgZm9yLiAgSXTigJlzIGEgcXVlc3Rpb24gb2YgZGVtYW5kaW5nIHBvbGl0aWNhbCBjb3VyYWdlIGZyb20gZWxlY3RlZCBvZmZpY2lhbHMgdG8gbWVldCB0aGUgZXhwZWN0YXRpb25zIG9mIHRoZSBBbWVyaWNhbiBwZW9wbGUgLS0gY291cmFnZSB0aGV54oCZbGwgb25seSBmaW5kIGlmIHRoZSBwZW9wbGUgLS0geW91IC0tIGRlbWFuZCB0aGVtIHRvIGRlbW9uc3RyYXRlIGl0Lg0KDQogDQoNCkFuZCB5b3Ugc2hvdWxkIGJlIHByb3VkIG9mIGhvdyB5b3XigJl2ZSBhbHJlYWR5IG1vdmVkIHRoaXMgY291bnRyeS4gIFlvdSBwYXJ0aWN1bGFybHkgaW4gdGhpcyByb29tLCBidXQgeW91ciBnZW5lcmF0aW9uLiAgV2UgaGFkIGEgaHVnZSB2aWN0b3J5IG9uIG1hcnJpYWdlIGVxdWFsaXR5IGxhc3QgbW9udGguICBJdCB3YXMgYSBob3JyaWZpYyBiYXR0bGUgd2FnZWQgZm9yIGRlY2FkZXMgYW5kIGRlY2FkZXMgYnkgaGVyb2ljIHdvbWVuIGFuZCBtZW4gb2YgdGhlIExHQlQgY29tbXVuaXR5LCBhcyB3ZWxsIGFzIHN0cmFpZ2h0IHBlb3BsZS4gIFNvbWUgb2YgdGhlbSByaXNrZWQgdGhlaXIgLS0gbGl0ZXJhbGx5IHJpc2tlZCB0aGVpciBsaXZlcyBmb3IgdGhlIGZpZ2h0IGJ5IGNvbWluZyBvdXQuIA0KDQogDQoNCkJ1dCB5b3VyIGdlbmVyYXRpb24gLS0geW91IHdlcmUgdGhlIGN1bHR1cmFsIHRpcHBpbmcgcG9pbnQuICBZb3UgY2hhbmdlZCB0aGUgbmF0dXJlIG9mIHRoZSBkaXNjdXNzaW9uIGluIEFtZXJpY2EuICBZb3UgYWx0ZXJlZCBpdC4gIE5vdyB0aGVyZeKAmXMgZnVsbC1mbGVkZ2UgYWNjZXB0YW5jZS4gIEl04oCZcyBiZWNhdXNlIG9mIHlvdSBndXlzLg0KDQogDQoNCkJ1dCB3ZSBzdGlsbCBuZWVkIHlvdSwgYmVjYXVzZSB0b2RheSwgd2hpbGUgdGhlcmXigJlzIGZyZWVkb20gdG8gbWFycnkgaW4gNTAgc3RhdGVzLCBvciBtYXJyaWFnZSB0byBiZSByZWNvZ25pemVkLCBpbiBtb3JlIHRoYW4gaGFsZiB0aG9zZSBzdGF0ZXMsIG1hcnJpYWdlIGNhbiBiZSByZWNvZ25pemVkIGJ1dCB0aGF0IHZlcnkgc2FtZSBkYXksIHlvdSBjb3VsZCBiZSBmaXJlZCBmcm9tIHlvdXIgam9iIGp1c3QgYmVjYXVzZSB5b3UgYXJlIExHQlQsIGp1c3QgYmVjYXVzZSB5b3XigJlyZSBhbnkgb25lIC0tIHlvdeKAmXJlIGEgbGVzYmlhbiBvciB5b3XigJlyZSBnYXksIHlvdeKAmXJlIHRyYW5zZ2VuZGVyLiAgTm8gZXhwbGFuYXRpb24gaXMgcmVxdWlyZWQgaW4gMzIgc3RhdGVzIC0tIHlvdeKAmXJlIGZpcmVkLiAgSXTigJlzIG91dHJhZ2VvdXMuDQoNCiANCg0KVGhlIHJlYXNvbiB3aHkgaXQgcGVyc2lzdHMsIGluIG15IHZpZXcsIGlzIGJlY2F1c2UgdGhlIEFtZXJpY2FuIHBlb3BsZSBkb27igJl0IGtub3cgaXQgY2FuIGJlIGRvbmUsIGV2ZW4gaW4gdGhvc2Ugc3RhdGVzLiAgVGhhdOKAmXMgd2hlcmUgeW91IGd1eXMgY29tZSBpbi4gIFlvdSBoYXZlIHRoZSBwYXNzaW9uIGFuZCB0aGUgZW5lcmd5IHRvIGJyaW5nIHRvIHRoZSBwZW9wbGUgb2YgdGhvc2Ugc3RhdGVzIHRoZSBrbm93bGVkZ2UgdGhhdCB0aGlzIGNhbiBoYXBwZW4uDQoNCiANCg0KSSBnb3Qgcm91bmRseSBjcml0aWNpemVkIGZvciBjb21pbmcgb3V0IHdoZW4gb3RoZXJzIGRpZG7igJl0IC0tIGFueXdheSAtLSBjb21pbmcgb3V0IC0tIChsYXVnaHRlcikgLS0gb24gdGVsZXZpc2lvbiBmb3IgbWFycmlhZ2UgZXF1YWxpdHkuICBObywgbm8sIG5vIC0tIGhlcmXigJlzIHRoZSBwb2ludCBJIHdhbnQgdG8gbWFrZS4gIChMYXVnaHRlci4pICBUaGFuayB5b3UsIGJ1dCBJIGRvbuKAmXQgLS0gSSByZWFsaXplIEnigJltIGFuIHVudXN1YWwgcG9saXRpY2lhbiB0cnlpbmcgdG8gZGFtcGVuIGFwcGxhdXNlLCBidXQgLS0gKGxhdWdodGVyKSAtLSBidXQgYWxsIGtpZGRpbmcgYXNpZGUsIGd1eXMsIEkgd2FzIGFic29sdXRlbHkgY2VydGFpbi4gIEkgd2FzIHRha2luZyBubyBjaGFuY2UuICBBcyBhIG1hdHRlciBvZiBmYWN0LCBJIG1hZGUgYSBiZXQgd2l0aCBzb21lIHZlcnkgcHJvbWluZW50IHBlb3BsZSB5b3Ugd291bGQga25vdyBpZiBJIG1lbnRpb25lZCB0aGVpciBuYW1lcyB0aGF0LCBvdmVyd2hlbG1pbmdseSwgdGhlIEFtZXJpY2FuIHBlb3BsZSBhZ3JlZWQgd2l0aCBtZS4gIEFuZCB0aGV5IGRpZCwgYmVjYXVzZSB0aGV54oCZcmUgZGVjZW50Lg0KDQogDQoNClNvIG9uZSBvZiB0aGUgdGhpbmdzIHlvdSBjYW4gZG8gYmV0dGVyIHRoYW4gYW55b25lIGVsc2UgaXMgZ2l2ZSB2b2ljZSB0byB3aGF04oCZcyBoYXBwZW5pbmcuICBCZWNhdXNlIHRoZSBBbWVyaWNhbiBwZW9wbGUgYXQgdGhlaXIgY29yZSBhcmUgYmFzaWNhbGx5IGRlY2VudC4gIEFuZCBvbmNlIHlvdSBnaXZlIHZvaWNlIHRvIGl0LCBjb25zaXN0ZW50bHkgZW5vdWdoLCB1bnJlbGVudGluZ2x5IGVub3VnaCwgdGhlIHB1YmxpYyB3aWxsIGRlbWFuZCBvZiB0aGVpciBsZWFkZXJzIHRoYXQgdGhleSByZXNwb25kLg0KDQogDQoNCkZpZ2h0aW5nIHVuZW1wbG95bWVudCBkaXNjcmltaW5hdGlvbiBpcyB0aGUgbmV4dCBiaWcgZmlnaHQuICBCdXQganVzdCBhcyB5b3UgbWFkZSBtYXJyaWFnZSBlcXVhbGl0eSB0aGUgY2FzZSBvZiB5b3VyIGdlbmVyYXRpb24sIHlvdSBjYW4gbWFrZSBndW4tdmlvbGVuY2UgcHJldmVudGlvbiB0aGUgY2FzZSBvZiB5b3VyIGdlbmVyYXRpb24gbm93LiAgKEFwcGxhdXNlLikgIE5vLCB5b3UgY2FuLiAgDQoNCiANCg0KVGhlIHNvLWNhbGxlZCBCaWRlbiBjcmltZSBiaWxsIHRoYXQgcGFzc2VkIGluIHRoZSBlYXJseSDigJg5MHMsIHdlIGhhZCBleHRlbnNpdmUgLS0gd2UgbWFkZSBncmVhdCBwcm9ncmVzcy4gIFdlIGVsaW1pbmF0ZWQgYXNzYXVsdCB3ZWFwb25zLiAgV2UgaGFkIGV4dGVuc2l2ZSBiYWNrZ3JvdW5kIGNoZWNrcywgYW5kIHNvIG9uIGFuZCBzbyBmb3J0aC4gIEJ1dCBpbiBvcmRlciB0byBnZXQgaXQgZG9uZSAtLSBhbmQsIGJ5IHRoZSB3YXksIGNyaW1lIGRyYW1hdGljYWxseSBkcm9wcGVkIGR1cmluZyB0aGF0IHBlcmlvZC4gIEJ1dCB3aGF0IGhhcHBlbmVkPyAgSW4gb3JkZXIgZm9yIG1lIHRvIGdldCBpdCBkb25lLCBJIGhhZCB0byBhZ3JlZSB0aGF0IGl0IGhhZCB0byBiZSByZWF1dGhvcml6ZWQgaW4gMTAgeWVhcnMgb3IgSSBjb3VsZG7igJl0IGhhdmUgZ290dGVuIGl0IHBhc3NlZC4gIFRlbiB5ZWFycyBjYW1lIGFyb3VuZCBhbmQgaXQgaGFwcGVuZWQgb24gYSBSZXB1YmxpY2FuIHdhdGNoLiAgVGhlIHRyYWdlZHkgb2YgQWwgR29yZSBoYXZpbmcgbG9zdCB0aGF0IGVsZWN0aW9uIHRvIHRoZSBTdXByZW1lIENvdXJ0IHdhcyB0cmFnaWMsIGJlY2F1c2UgaXQgd291bGQgaGF2ZSBiZWVuIHZlcnkgZGlmZmVyZW50IHRoZSBwcmV2aW91cyBlaWdodCB5ZWFycy4NCg0KIA0KDQpCdXQgaXQgYWxsIGdvdCB3aXBlZCBvdXQuICBBbmQgdGhlbiBsb29rIC0tIGFzIHRoZSBQcmVzaWRlbnQgc2FpZCwgaW4gdGhpcyBncmVhdCBjb3VudHJ5IG9mIG91cnMsIHdoeSBhcmUgd2UgdGhlIG9ubHkgZ3JlYXQgY2l2aWxpemVkIGNvdW50cnkgd2hlcmUgdGhlcmUgaXMgY2FybmFnZSBhZnRlciBjYXJuYWdlIGFuZCBubyByZXNwb25zZT8gIEFmdGVyIDIwIGNoaWxkcmVuIGFuZCBzaXggYWR1bHRzIHdlcmUgbWFzc2FjcmVkIGluIE5ld3Rvd24sIHRoZSBQcmVzaWRlbnQgYXNrZWQgbWUsIGJhc2VkIG9uIG15IHdvcmsgYmFjayBpbiB0aGUg4oCYOTBzLCB0byBwdXQgdG9nZXRoZXIgYSBsZWdpc2xhdGl2ZSBhZ2VuZGEgb2Ygc2Vuc2libGUgZ3VuIGNvbnRyb2wgdGhhdCB3ZSBiZWxpZXZlZCB0aGUgQW1lcmljYW4gcGVvcGxlIHdvdWxkIGFjY2VwdCAtLSBmcm9tIGJhbm5pbmcgbWlsaXRhcnktc3R5bGUgYXNzYXVsdCB3ZWFwb25zIHRvIHN0cmVuZ3RoZW5pbmcgYmFja2dyb3VuZCBjaGVja3MgdG8gbWFraW5nIHNjaG9vbHMgc2FmZXIsIG1lbnRhbCBoZWFsdGggc2VydmljZXMsIGFuZCBzbyBvbi4NCg0KIA0KDQpTbyB3aXRoIGEgbG90IG9mIGhlbHAgZnJvbSBhIHJlYWxseSBicmlsbGlhbnQgc3RhZmYsIEkgcHV0IHRvZ2V0aGVyIGEgcGFja2FnZS4gIFdlIGFubm91bmNlZCBpdCB0byB0aGUgQW1lcmljYW4gcGVvcGxlIGFuZCB3ZSB3ZW50IG9uIHRoZSByb2FkIHRvIHNlbGwgaXQuICBBbmQgd2Ugc29sZCBpdCwgb3ZlcndoZWxtaW5nbHkgdG8gdGhlIEFtZXJpY2FuIHBlb3BsZS4gIEJ1dCBDb25ncmVzcyAtLSB3ZSBjYWxsZWQgb24gQ29uZ3Jlc3MgdG8gcGFzcyBpdCwgaXQgZGlkbuKAmXQgbW92ZSBpdCBhbGwuICBJdCBkaWRu4oCZdCBtb3ZlIGF0IGFsbC4NCg0KIA0KDQpXZeKAmXJlIHdhZ2luZyBhZ2dyZXNzaXZlIGVmZm9ydCB0byBtYWtlIHRoZSBjYXNlIHRvIHRoZSBwZW9wbGUsIGFuZCBjb2xsZWN0aXZlbHksIHdlIHN1Y2NlZWRlZC4gIE5pbmV0eSBwZXJjZW50IG9mIHRoZSBBbWVyaWNhbiBwZW9wbGUsIDg1IHBlcmNlbnQgb2YgaG91c2Vob2xkcyB3aXRoIG1lbWJlcnMgb2YgdGhlIE5SQSBzdXBwb3J0ZWQgb3VyIGJhY2tncm91bmQgY2hlY2sgbGVnaXNsYXRpb24gLS0gbGV0IG1lIHNheSB0aGF0IGFnYWluLiAgTmluZXR5IHBlcmNlbnQgb2YgdGhlIEFtZXJpY2FuIHBlb3BsZSBpbiByZWQtcmVkIHN0YXRlcywgODUgcGVyY2VudCBvZiB0aGUgaG91c2Vob2xkcyB3aXRoIGFuIE5SQSBtZW1iZXIgaW4gaXQgc3VwcG9ydGVkIHJhdGlvbmFsIHByb3Bvc2FsIHdlIHB1dCBmb3J3YXJkIG9uIGJhY2tncm91bmQgY2hlY2tzLg0KDQogDQoNCkJ1dCB0aG9zZSBwdWJsaWMgb2ZmaWNpYWxzIHdobyB3ZXJlIGFza2VkIHRvIHN0ZXAgdXAsIGZvciB0aGUgZmlyc3QgdGltZSB0aGV5IGRpZG7igJl0IGhhdmUgdG8gd29ycnkgYWJvdXQgYmVpbmcgb3V0LXNwZW50LCBiZWNhdXNlIG9mIGEgZ3V5IEkgbGlrZSBhIGxvdCAtLSBoZeKAmXMgYSBSZXB1YmxpY2FuLCBidXQgaGXigJlzIGZpcnN0LXJhdGUgLS0gTWljaGFlbCBCbG9vbWJlcmcsIGFuZCBiZWNhdXNlIG9mIHR3byByZWFsbHkgZmluZSBwZW9wbGUsIENvbmdyZXNzd29tYW4gR2FiYnkgR2lmZm9yZHMgYW5kIE1hcmsgS2VsbHkuICAoQXBwbGF1c2UuKSAgDQoNCiANCg0KQnV0IGNvbWJpbmVkLCBpdCB3YXMgdGhlIGZpcnN0IHRpbWUgaW4gYSBsZWdpc2xhdGl2ZSBzaG9vdG91dCB0aGF0IHRoZSBOUkEgd2FzIG91dC1zcGVudC4gIEFuZCB3ZSBzdGlsbCBmYWlsZWQuICBXaHk/ICBXZWxsLCBpbiBteSBvcGluaW9uLCBiZWNhdXNlIG9mIHRoZSBwb2xpdGljYWwgaW5mbHVlbmNlIG9mIGV4dHJlbWVseSBwb3dlcmZ1bCBncm91cHMgLS0gbm90IGp1c3QgTlJBLCBidXQgdGhlIGd1biBsb2JieSwgdGhlIG1hbnVmYWN0dXJlcnMuICBFbm91Z2ggZWxlY3RlZCBvZmZpY2lhbHMgd2VyZSB1bndpbGxpbmcgdG8gcmlzayB0aGVpciBzZWF0cyBiYXNlZCBvbiBwYXN0IGV4YW1wbGVzLCByYXRoZXIgdGhhbiBkbyB3aGF0IHRoZXkga25ldyB3YXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBhbmQgZXZlbiB3aGF0IHRoZWlyIHBlb3BsZSB3YW50ZWQgdG8gZG8uDQoNCiANCg0KRm9sa3MsIEnigJl2ZSBvYnNlcnZlZCB0aGF0IHRoZXJl4oCZcyBhIGNvbnNpc3RlbnQgYXR0cmlidXRlIG9mIGh1bWFuIG5hdHVyZSB0aGF0IGFmZmVjdHMgdGhlIGRlY2lzaW9ucyBub3Qgb25seSBvZiBlbGVjdGVkIG9mZmljaWFscyBidXQgYWxsIG9mIHVzLiAgSXTigJlzIGNhbGxlZCByYXRpb25hbGl6YXRpb24uICBOZXZlciB1bmRlcmVzdGltYXRlIHRoZSBhYmlsaXR5IG9mIHRoZSBodW1hbiBtaW5kIHRvIHJhdGlvbmFsaXplLiAgSSBkb27igJl0IGtub3cgaG93IG1hbnkgbWVtYmVycyB0b2xkIG1lLCBKb2UsIEkgY2Fu4oCZdCB0YWtlIHRoZSByaXNrLCBiZWNhdXNlIGlmIEkgbG9zZSB5b3Ugd29u4oCZdCBoYXZlIG1lIGhlcmUgdG8gaGVscCBvbiBmb29kIHN0YW1wcywgeW91IHdvbuKAmXQgaGF2ZSBtZSBoZXJlIHRvIGhlbHAgb24gLS0gYmVjYXVzZSB0aGV5IGRpZCBvdGhlciBnb29kIHRoaW5ncy4gIEl04oCZcyBjYWxsZWQgcmF0aW9uYWxpemF0aW9uLiAgQW5kIHlvdeKAmXJlIGFsbCBzdXNjZXB0aWJsZSB0byBpdCAtLSBldmVyeWJvZHkgaXMuDQoNCiANCg0KU28gc29tZXRoaW5nIEkgdXJnZSB5b3UgdG8gZG8gaXMsIGZpcnN0LCB1bmRlcnN0YW5kIGFuZCBleHBvc2UgdGhvc2UgZWxlY3RlZCBvZmZpY2lhbHMgd2hvIGFyZSBvdGhlcndpc2UgcHJldHR5IGdvb2QgcGVvcGxlLCBzb21lIG9mIHRoZW07IHdobyBhcmUgLS0gbm8sIHRoZXkgYXJlLCBieSB0aGUgd2F5IC0tIHdobyBlbmdhZ2UgaW4gdGhpcyByYXRpb25hbGl6YXRpb24uICBBbmQgdGhleeKAmWxsIGRvIGl0IHdpdGggeW91LiAg4oCcSSBjYW7igJl0IGRvIGl0IGluIG15IHN0YXRlIGJlY2F1c2Ugb2bigJ0gdGhleSB0b2xkIG1lIC0tIHdoZW4gSSBpbnRyb2R1Y2VkIHRoZSBndW4gbGVnaXNsYXRpb24sIG15IHN0YXRlLCBpZiBJ4oCZbSBub3QgbWlzdGFrZW4sIGhhZCB0aGUgdGhpcmQtaGlnaGVzdCBwZXJjZW50YWdlIG9mIGd1biBvd25lcnNoaXAgb2YgYW55IHN0YXRlIGluIHRoZSBuYXRpb24uICBUaGUgTlJBIHdlbnQgYXQgbWUgaGFtbWVyIGFuZCB0b25nIGFuZCBuYWlsOyB0b2xkIGFsbCB0aGUgaHVudGVycyBpbiBteSBzdGF0ZSBhbmQgdGhlIGR1Y2sgaHVudGVycyB0aGF0IEkgd2FzIGdvaW5nIHRvIHRha2UgYXdheSB0aGVpciBzaG90Z3Vucy4NCg0KIA0KDQpCdXQgSeKAmW0gbGl2aW5nIHByb29mIHRvIHRlbGwgeW91IHRoZXJl4oCZcyBub3RoaW5nIHNwZWNpYWwgYWJvdXQgbWUuICBJZiB5b3UgZ28gb3V0IGFuZCB5b3UgbWFrZSB0aGUgY2FzZSwgYW5kIGl04oCZcyBjb21tb24gc2Vuc2UsIGFuZCB5b3Ugc3RhbmQgYnkgeW91ciBjb252aWN0aW9ucywgd2UgY2FuIHdpbi4gIEFuZCBpZiB5b3Ugbm93IGhlbHAgdXMgbWFrZSB0aGUgY2FzZSBvbiByYXRpb25hbCBndW4gcG9saWN5IC0tIHdoYXQgaXQgc2hvdWxkIGJlLCBpdCBtYWtlcyBzbyBtdWNoIC0tIGl0IG1ha2VzIGl0IHNvIG11Y2ggbW9yZSBkaWZmaWN1bHQgZm9yIGVsZWN0ZWQgb2ZmaWNpYWxzIHdobyBkb27igJl0IGhhdmUgZW5vdWdoIGNvdXJhZ2Ugc29tZXRpbWVzIHRvIG5vdCByYXRpb25hbGl6ZS4gDQoNCiANCg0KVGhlIHNhbWUgZ29lcyB3aXRoIGNsaW1hdGUgY2hhbmdlLiAgRW52aXJvbm1lbnRhbCBhd2FyZW5lc3MgaXMgd2hhdCBnb3QgbXkgZ2VuZXJhdGlvbiBpbnZvbHZlZCBpbiBwdWJsaWMgbGlmZSwgYWxvbmcgd2l0aCB0aGUgQ2l2aWwgUmlnaHRzIE1vdmVtZW50LCBiYWNrIGluIHRoZSDigJg3MHMuICBJdCB3YXMgb25lIG9mIHRoZSB0aHJlZSBpc3N1ZXMgSSByYW4gb24gLS0gY2l2aWwgcmlnaHRzLCBlbmRpbmcgdGhlIHdhciBpbiBWaWV0bmFtIGFuZCB0aGUgZW52aXJvbm1lbnQgLS0gYmVjYXVzZSBJIGNvbWUgZnJvbSBhIGNvcnBvcmF0ZSBzdGF0ZSB3aXRoIGEgbG90IG9mIHNtb2tlc3RhY2tzLg0KDQogDQoNCkJ1dCBhcyBpbXBvcnRhbnQgYXMgaXQgd2FzIGZvciBteSBnZW5lcmF0aW9uLCBpdCdzIHNvIG11Y2ggbW9yZSBpbXBvcnRhbnQgbm93IGZvciB5b3UsIHlvdXIgY2hpbGRyZW4sIHlvdXIgZ3JhbmRjaGlsZHJlbiwgeW91ciBncmVhdC1ncmFuZGNoaWxkcmVuLiAgQ2xpbWF0ZSBjaGFuZ2UgaXMgcmVhbC4gIEl0J3MgYXMgcmVhbCBhcyBncmF2aXR5LiAgKEFwcGxhdXNlLikgIEl0J3MgcmVhbC4gIA0KDQogDQoNCkJ1dCB3aHkgZG8gbW9zdCBSZXB1YmxpY2Fucywgd2hvIGtub3cgdGhhdCBhbmQgdW5kZXJzdGFuZCB0aGUgZGFuZ2VyLCB3aHkgZG8gdGhleSBjb250aW51ZSB0byBwZXJzaXN0IGluIHRoaXMgZmljdGlvbj8gIFNpbmNlIGRheSBvbmUgb2YgdGhpcyBhZG1pbmlzdHJhdGlvbiwgd2l0aCB5b3VyIGluc2lzdGVuY2UsIHRoZSBQcmVzaWRlbnQgaGFzIGNhcnJpZWQgb3V0IHRoZSBtb3N0IGNvbnNlcXVlbnRpYWwgZWZmb3J0cyBpbiBoaXN0b3J5IHRvIGN1cmIgY2FyYm9uIHBvbGx1dGlvbiBhbmQgbWFrZSBvdXIgY29tbXVuaXRpZXMgbW9yZSByZXNpbGllbnQgdG8gZXh0cmVtZSB3ZWF0aGVyLCB0byBkZXZlbG9wIHJlbmV3YWJsZSBlbmVyZ3kgaGVyZSBhdCBob21lLiAgQnV0IGFnYWluLCBJIHRoaW5rIHRoZSBjb29yZGluYXRlZCwgY2l0eS1ieS1jaXR5LCBzdGF0ZS1ieS1zdGF0ZSwgbmF0aW9uYWwgYXR0YWNrcyBvbiBjb21tb24gc2Vuc2UgcHJvdmlkZWQgYnkgYmlsbGlvbmFpcmVzIGFuZCBtdWx0aW1pbGxpb25haXJlcyBhbmQgaW50ZXJlc3QgZ3JvdXBzIGhhcyBiZWVuIGV4dHJlbWVseSBlZmZlY3RpdmUuDQoNCiANCg0KQW5kIHdoYXQgaGFwcGVucyBhZ2Fpbj8gIFdoYXTigJlzIHRoZSByYXRpb25hbGUgd2hlbiB5b3Ugc3BlYWsgdG8gYSBjb25ncmVzc21hbiBvciBhIHNlbmF0b3IgeW91IGtub3cga25vd3MgYmV0dGVyIC0tIHlvdSBrbm93IGtub3dzIGJldHRlcj8gIFdlbGwsIHRoZXnigJlsbCBzYXksIHlvdSBrbm93LCB3ZSBjYW4ndCBkbyB0aGF0IGV4dHJlbWUgY2xpbWF0ZSBsZWdpc2xhdGlvbiBiZWNhdXNlIHdlJ2xsIGxvc2Ugam9icyBoZXJlIGF0IGhvbWUsIGl04oCZcyBnb2luZyB0byBodXJ0IG91ciBlY29ub215LiAgVGhleSBzYXkgaXQgd291bGQgY29zdCBvcmRpbmFyeSBwZW9wbGUgb3Bwb3J0dW5pdHkgLS0gd2hpY2ggeW91IGtub3cgbm9uZSBvZiB3aGljaCBpcyB0cnVlLiAgTm9uZSBvZiB3aGljaCBpcyB0cnVlLiAgDQoNCiANCg0KU28geW91IGFuZCBJLCBhbGwgb2YgdXMgLS0gcGFydGljdWxhcmx5IHlvdSAtLSB3ZSBoYXZlIHRvIGNoYW5nZSB0aGUgY2FsY3VsdXMuICBXZSBoYXZlIHRvIG1ha2UgaXQgaW1wb3NzaWJsZSBmb3IgYW4gZW50aXJlIHBvbGl0aWNhbCBwYXJ0eSB0byBkZW55IGNsaW1hdGUgY2hhbmdlIGFzIGl0IHJhdmFnZXMgb3VyIGNpdGllcywgb3VyIGhlYXJ0bGFuZHMsIG91ciBjb2FzdHMuICBXZSdsbCB3aW4gdGhpcyBmaWdodCwgYnV0IHdlIG5lZWQgdG8gd2luIGl0IHNvb25lciB0aGFuIGxhdGVyLCBiZWNhdXNlIGV2ZXJ5IG1vbnRoLCBldmVyeSB5ZWFyIG1ha2VzIGEgZGlmZmVyZW5jZS4gDQoNCiANCg0KVGhhdCdzIHdoeSB3ZSBuZWVkIHlvdSBzbyBiYWRseS4gIFdlIG5lZWQgeW91IHRvIGtlZXAgbWFraW5nIHRoZSBjYXNlIGFuZCBkZW1hbmQgZWxlY3RlZCBvZmZpY2lhbHMgY29uZnJvbnQgdGhlIHRydXRoLiAgVGFrZSBhd2F5IHRoZWlyIGFiaWxpdHkgdG8gcmF0aW9uYWxpemUuICBQb2ludCBvdXQgdG8gdGhlbSB0aGF0IG1vcmUgam9icyB3aWxsIGJlIGNyZWF0ZWQgaW4gZWxpbWluYXRpbmcgdGhlIGRhbWFnZXMgb2YgY2xpbWF0ZSBjaGFuZ2UgYW5kIG1pdGlnYXRpbmcgdGhlbSB0aGFuIHdpbGwgYmUga2VwdCBieSBub3QgZG9pbmcgYW55dGhpbmcgYWJvdXQgaXQuICANCg0KIA0KDQpTYW1lIHRoaW5nIG9uIGltbWlncmF0aW9uLiAgV2UsIGFzIGEgbmF0aW9uLCB3ZSBhcmUgdGhlIG5hdGlvbiB3ZSBhcmUgYmVjYXVzZSB3ZSdyZSBpbW1pZ3JhbnRzLiAgSSBrbm93IHRoYXQgc291bmRzIGxpa2UgdGhlIHVzdWFsIHN0dWZmLiAgSSByZWNlbnRseSBoYWQgdGhlIG9wcG9ydHVuaXR5IHRvIG1lZXQgd2l0aCBMZWUgS3VhbiBZZXcgYmVmb3JlIGhlIGRpZWQuICBJZiB5b3Uga25vdyBhbnl0aGluZyBhYm91dCBoaW0sIGhlIHdhcyByZWZlcnJlZCB0byBhcyB0aGUgSGVucnkgS2lzc2luZ2VyIG9mIHRoZSBFYXN0LiAgSGUgd2FzIHRoZSBQcmVzaWRlbnQgb2YgU2luZ2Fwb3JlLCBicmlsbGlhbnQgZ3V5LiAgSGUgd3JvdGUgZXh0ZW5zaXZlbHkgb24gdGhlIGZ1dHVyZSBvZiBJbmRpYSwgQ2hpbmEsIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCBSdXNzaWEuICBJIHVyZ2UgeW91IHRvIHJlYWQgc29tZSBvZiBoaXMgc3R1ZmYuICBIZSByZWNlbnRseSBwYXNzZWQgYXdheS4gIEkgd2FzIGNvbWluZyBmcm9tIE11bWJhaSwgSW5kaWEsIGhlYWRpbmcgdG8gSmFwYW4gdG8gbWVldCB3aXRoIEFiZS4gIEFuZCBJIGdvdCBhIGNhbGwsIHdvdWxkIEkgc3RvcCBpbiBTaW5nYXBvcmUgYW5kIHNpdCBkb3duIGFuZCBtZWV0IHdpdGggTGVlIEt1YW4gWWV3LiAgDQoNCiANCg0KQW5kIEkgd2FzIGhvbm9yZWQgdG8gZG8gaXQuICBBbmQgd2Ugd2VyZSB0YWxraW5nIGFib3V0IGhvdyByYXBpZGx5IFhpIGhhcyBjb25zb2xpZGF0ZWQgcG93ZXIgaW4gQ2hpbmEuICBBbmQgaGUga25vd3MgSSBrbm93IFhpIGJldHRlciB0aGFuIGFueWJvZHksIG9ubHkgYmVjYXVzZSBJIHNwZW50IG1vcmUgdGltZSB3aXRoIGhpbSB0aGFuIGFueWJvZHkgd2hlbiBoZSB3YXMgVmljZSBQcmVzaWRlbnQuICBBbmQgc28gd2Ugd2VyZSB0YWxraW5nIGFib3V0IGhvdyBxdWlja2x5IGhlIGNvbnNvbGlkYXRlZCBwb3dlci4gIEFuZCBJIHNhaWQgdG8gaGltLCBhYm91dCBmaXZlIG1pbnV0ZXMgaW50byB3aGF0IGVuZGVkIHVwIGFuIGhvdXItYW5kLWEtaGFsZiBjb252ZXJzYXRpb24gLS0gSSBzYWlkLCBNci4gUHJlc2lkZW50IC0tIEkgc2FpZCwgd2hhdCBhcmUgdGhlIENoaW5lc2UgZG9pbmcgbm93IC0tIG1lYW5pbmcsIHdoYXQgYXJlIHRoZXkgY29udGVtcGxhdGluZyBuZXh0PyAgSGUgc2FpZCwgdGhleeKAmXJlIGluIHRoZSBVbml0ZWQgU3RhdGVzLCB0aGV54oCZcmUgbG9va2luZyBmb3IgdGhlIGJ1cmllZCBibGFjayBib3guICBUcnVlIHN0b3J5Lg0KDQogDQoNCkkgbG9va2VkIGF0IGhpbSBsaWtlIHlvdSdyZSBwcm9iYWJseSBsb29raW5nIGF0IG1lIGJ1dCBJIGNhbid0IHNlZSB3aXRoIHRoZSBsaWdodHMuICAoTGF1Z2h0ZXIuKSAgQW5kIEkgc21pbGVkIGFuZCBJIHNhaWQgLS0gdGhpcyB3YXMgdGhlIHRpbWUgdGhhdCBhaXJjcmFmdCB3ZW50IGRvd24gaW4gdGhlIG9jZWFuIHRoZXJlLCB0aGV5IGNvdWxkbid0IGZpbmQgdGhlIGJsYWNrIGJveC4gIEFuZCBJIHNhaWQsIE1yLiBQcmVzaWRlbnQsIEknbSBzb3JyeSwgSSdtIGNvbmZ1c2VkLiAgSGUgc2FpZCwgdGhleeKAmXJlIGxvb2tpbmcgZm9yIHRoYXQgYm94IHRoYXQncyBidXJpZWQgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgdGhhdCBjb250YWlucyB0aGUgc2VjcmV0IHRoYXQgYWxsb3dzIEFtZXJpY2EgdG8gYmUgdGhlIG9ubHkgY291bnRyeSBpbiBoaXN0b3J5IHRvIGJlIGFibGUgdG8gY29uc3RhbnRseSBiZSBhYmxlIHRvIHJlbWFrZSBpdHNlbGYuICANCg0KIA0KDQpBbmQgSSBzYWlkLCB3ZWxsLCBNci4gUHJlc2lkZW50LCBJJ20gb2xkIGVub3VnaCB0byBwcmVzdW1lIHRvIGdpdmUgeW91IGFuIGFuc3dlci4gIFRoZXnigJlsbCBmaW5kIHR3byB0aGluZ3MgaW4gdGhhdCBibGFjayBib3guICBPbmUgaXM6ICBTdGFtcGVkIGluIHRoZSBETkEgb2YgZXZlcnkgbmF0dXJhbGl6ZWQgYW5kIG5hdGl2ZS1ib3JuIEFtZXJpY2FuIGlzIHRoZSBhYnNvbHV0ZSBza2VwdGljaXNtIGZvciBvcnRob2RveHkuICBBcyBiYWQgYXMgb3VyIGVsZW1lbnRhcnkgc2Nob29sIGVkdWNhdGlvbiBvciBhbnkgb3RoZXIgZWR1Y2F0aW9uIGxldmVsIG1heSBiZSwgYSBjaGlsZCBpcyBuZXZlciBjcml0aWNpemVkIGZvciBjaGFsbGVuZ2luZyBvcnRob2RveHkgaW4gQW1lcmljYS4gIFRoaW5rIGFib3V0IHRoYXQuICBVbmxpa2UgYW55IG90aGVyIGNvdW50cnkgaW4gdGhlIHdvcmxkLCBpbmNsdWRpbmcgQnJpdGFpbiwgRnJhbmNlIC0tIGFueXdoZXJlIGVsc2UuICBUaGF0J3MgaG93IHdlIG1ha2UgbmV3IHRoaW5ncyAtLSB5b3UgYnJlYWsgb2xkIHRoaW5ncy4gIFlvdSBjaGFsbGVuZ2Ugb3J0aG9kb3h5Lg0KDQogDQoNCkFuZCBJIHNhaWQgdGhlIHNlY29uZCB0aGluZyB0aGV54oCZbGwgZmluZCBpcyB0aGV54oCZbGwgZmluZCBiZWdpbm5pbmcgYmVmb3JlIHRoZSBEZWNsYXJhdGlvbiwgYW4gdW5yZWxlbnRpbmcgc3RyZWFtIG9mIGltbWlncmF0aW9uLCBub3QgaW4gdHJpY2tsZXMgYnV0IGluIGdyZWF0IHdhdmVzLCB0aHJvdWdob3V0IHRoZSBoaXN0b3J5IG9mIG91ciBjb3VudHJ5LiAgQW5kIHdoeSB0aGF0J3MgaW1wb3J0YW50LCBNci4gUHJlc2lkZW50LCBpcyB3ZSBhcmUgYWJsZSB0byBiYXNpY2FsbHkgY2hlcnJ5LXBpY2sgdGhlIGJlc3QgdGFsZW50IGZyb20gZXZlcnkgY3VsdHVyZS4gIA0KDQogDQoNCkFuZCBJIHJlYWxseSBtZWFuIHRoaXMuICBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhhdCBwZW9wbGUgc2l0IGFyb3VuZCAtLSBhIGJ1bmNoIG9mIHBvb3IgZm9sa3MgZnJvbSBHdWFkYWxhamFyYSwgc2l0dGluZyBhcm91bmQgYSBoYW5kLWhld24gdGFibGUgaW4gdGhlaXIga2l0Y2hlbiwgc2F5aW5nLCBJIGdvdCBhIGdyZWF0IGlkZWEuICBMZXTigJlzIHNlbGwgZXZlcnl0aGluZyB3ZSBoYXZlLCBnbyB0byBhIGNvdW50cnkgdGhhdCBkb2VzbuKAmXQgd2FudCB1cyB3aGVyZSB3ZSBkb24ndCBzcGVhayB0aGUgbGFuZ3VhZ2UuICBXb24ndCB0aGF0IGJlIGZ1bj8gIChMYXVnaHRlci4pICBUaGUgcGVvcGxlIHdobyBsZWF2ZSB0byBjb21lIGhlcmUgYXJlIHRoZSBwZW9wbGUgd2l0aCB0aGUgYmVzdCBpbWFnaW5hdGlvbnMsIHRoZSBncmVhdGVzdCBhbW91bnQgb2YgY291cmFnZSwgdGhlIGJlc3QgaW5pdGlhdGl2ZXMuICAoQXBwbGF1c2UuKSAgVGhhdCdzIGEgZmFjdC4gIFRoYXQncyB3aG8gd2UgYXJlLiAgDQoNCiANCg0KU28gd2hhdCB3ZSdyZSBkb2luZyBpcyByb2JiaW5nIG91cnNlbHZlcyBvZiB0aGUgbGlmZWJsb29kIG9mIGlubm92YXRpb24sIGluZ2VudWl0eSwgcHJvZ3Jlc3MuICBCbG9ja2luZyBpbW1pZ3JhdGlvbiByZWZvcm0gaWdub3JlcyAtLSBvdmVyIDcwIHBlcmNlbnQgb2YgdGhlIEFtZXJpY2FuIHBlb3BsZSBhbHJlYWR5IGFncmVlIHdpdGggdXMuICBTbyB3aHkgaXNuJ3QgaXQgYmVpbmcgZG9uZT8gIFdlbGwsIGhlcmUsIHRoZXJl4oCZcyByZXNpc3RhbmNlIHRoYXQncyBtb3JlIHRoYW4gb25lIHJlYXNvbi4gIEl0J3Mgbm90IGp1c3QgaW50ZXJlc3QgZ3JvdXBzLiAgVGhlcmXigJlzIGEgZGVlcC1zZWF0ZWQgYW50aXBhdGh5LCBzb21lIG9mIGl0IGJvcmRlcmluZyBvbiBoYXRlIGFuZCByYWNpc20sIHRoYXQgY3JlYXRlcyBzdGVyZW90eXBpY2FsIGltYWdlcyBhYm91dCBpbW1pZ3JhbnRzLiAgQWxsIHlvdSBoYXZlIHRvIGlzIGxpc3RlbiB0byB0aGUgUmVwdWJsaWNhbiBub21pbmF0aW5nIGZpZ2h0IHJpZ2h0IG5vdy4gIEkgbWVhbiBpdCBzaW5jZXJlbHkuICBUaGluayBhYm91dCBpdC4gIChBcHBsYXVzZS4pICANCg0KIA0KDQpCdXQsIGZvbGtzLCBhdCB0aGUgZW5kIG9mIHRoZSBkYXksIHdoYXTigJlzIHRod2FydGluZyBvdXIgYWJpbGl0eSB0byBsZWdpc2xhdGUgYmFzZWQgb24gdGhlIGNsZWFyIGNvbnNlbnN1cyBpcyB0aGUgaW5jcmVhc2VkIHBvd2VyIGFuZCBpbmZsdWVuY2Ugb2Ygc3BlY2lhbCBpbnRlcmVzdCBncm91cHMsIHBhcnRpY3VsYXJseSBmb2N1c2VkIG9uIHN0YXRlIGxlZ2lzbGF0aXZlIGJvZGllcy4NCg0KIA0KDQpJZiB3ZSBEZW1vY3JhdHMgaGF2ZSBtYWRlIGFueSBtaXN0YWtlLCB3ZSBmb2N1cyBvbiBvbmx5IHRoZSBtYWtldXAgb2YgdGhlIENvbmdyZXNzLCBtYWtldXAgb2YgdGhlIFNlbmF0ZS4gIEJ1dCB0aGUgS29jaCBCcm90aGVycyBjYW4gZ28gaW50byBJbGxpbm9pcyBhbmQgcGljayBlaWdodCwgMTAgU2VuYXRlIHNlYXRzLCBzcGVuZCAyNTAsMDAwIGJ1Y2tzIGEgc2VhdCwgd2hpY2ggaXMgbW9yZSB0aGFuIGFueWJvZHkgdXN1YWxseSByYWlzZXMsIHNwZW5kIGxlc3MgdGhhbiAkNCBtaWxsaW9uIG9yICQ1IG1pbGxpb24gYW5kIGNoYW5nZSB0aGUgZHluYW1pYyBpbiB0aGUgc3RhdGVzLg0KDQogDQoNCldl4oCZdmUgZ290IHRvIGdldCBzbWFydGVyLiAgQWxsIHRoZSBhY3Rpb24gaXNu4oCZdCBvbmx5IGhlcmUgaW4gQ29uZ3Jlc3MgYW5kIGZlZGVyYWxseS4gIEkgY291bGQgZ28gb24sIGJ1dCBJIHdvbuKAmXQuICBMZXQgbWUgYXNrIHlvdSBhIHJoZXRvcmljYWwgcXVlc3Rpb24uICBJZiB5b3UgY291bGQgZG8gb25seSBvbmUgc2luZ2xlIHRoaW5nIC0tIG9ubHkgb25lIC0tIHRvIGluY3JlYXNlIGZhaXJuZXNzLCBlcXVpdHksIG9wcG9ydHVuaXR5IHRvIHRoZSBtaWRkbGUgY2xhc3MsIHBhc3MgcmF0aW9uYWwgZ3VuIGNvbnRyb2wsIGRlYWwgd2l0aCBpbW1pZ3JhdGlvbiwgZXQgY2V0ZXJhLCB3aGF0IHdvdWxkIGl0IGJlPyAgSSBjYW4gdGVsbCB5b3Ugd2hhdCBvbmUgdGhpbmcgSSB3b3VsZCBkby4gIEl0IHdvdWxkIGJlIGdldCBwcml2YXRlIG1vbmV5IG91dCBvZiB0aGUgcG9saXRpY2FsIHByb2Nlc3MuICAoQXBwbGF1c2UuKSANCg0KIA0KDQpUaGUgZmlyc3QgYmlsbCBldmVyIGludHJvZHVjZWQgdGhhdCBJ4oCZbSBhd2FyZSBvZiAtLSBhdCBsZWFzdCBpbiB0aGUgZ2VuZXJhdGlvbiBhdCB0aGUgdGltZSAtLSB3YXMgYSBiaWxsIEkgaW50cm9kdWNlZCBpbiAxOTczIGNhbGxpbmcgZm9yIGEgbGltaXRhdGlvbiBvbiBob3cgbXVjaCBjb3VsZCBiZSBzcGVudCBpbiBhIGNvbmdyZXNzaW9uYWwgZWxlY3Rpb24sIGluIGEgU2VuYXRlIGVsZWN0aW9uLCBndWFyYW50ZWVpbmcgdGhhdCBjaGFsbGVuZ2VycyB3b3VsZCBoYXZlIGFzIG11Y2ggbW9uZXkgYXMgdGhlIGluY3VtYmVudCwgYW5kIGNhcHBpbmcgaXQuICANCg0KIA0KDQpJIHJhbiBpbiAxOTcyIGFzIGEgbWlkZGxlLWNsYXNzIGtpZCB3aG8gaGFkIGp1c3QgcGFpZCBvZmYgaGlzIGNvbGxlZ2UgYW5kIGxhdyBzY2hvb2wgbG9hbnMgd2l0aCBhIGxhdyBmaXJtIHRoYXQgd2FzIGp1c3QgZ2V0dGluZyBvbnRvIGl0cyBmZWV0LiAgQW5kIEkgd2FzIGFibGUgdG8gcnVuIGEgY2FtcGFpZ24gYmVjYXVzZSBJIGNvdWxkIG9yZ2FuaXplIHBlb3BsZSB3aXRoICQzMDAsMDAwIC0tIGFuZCBJIHdvbiBpbiBhIHllYXIgd2hlbiBOaXhvbiB3YXMgcnVubmluZywgd2hlbiBteSBvcHBvbmVudCB3YXMgYXQgbGVhc3QgdHdpY2UgYXMgd2VsbC1mdW5kZWQgYXMgSSB3YXMsIGFuZCB3YXMgYSA0MC15ZWFyIGluY3VtYmVudCB3aG8gaGFkIGFuIDgxLXBlcmNlbnQgZmF2b3JhYmxlIHJhdGluZy4NCg0KIA0KDQpUb2RheSwgSSBhc2tlZCBteXNlbGYgaWYgSSB3ZXJlIGluIHRoZSBzYW1lIGV4YWN0IHBvc2l0aW9uIC0tIDI5IHllYXJzIG9sZCBpbiB0aGUgc3RhdGUgb2YgRGVsYXdhcmUsIGxpdHRsZSBzdGF0ZSAtLSBhbmQgSSB3YW50ZWQgdG8gcnVuIGZvciB0aGUgVW5pdGVkIFN0YXRlcyBTZW5hdGUgd2l0aCB0aGUgc2FtZSBpZGVhcyBhbmQgdGhlIHNhbWUgYWJpbGl0eSB0byBvcmdhbml6ZSwgY291bGQgSSBwb3NzaWJseSBkbyBpdD8gIEkgd291bGQgaGF2ZSB0byByYWlzZSBtdWx0aXBsZXMgb2YgJDMwMCwwMDAuICBBbmQgcGVyIGNhcGl0YSwgRGVsYXdhcmUgaXMgb25lIG9mIHRoZSBtb3N0IGV4cGVuc2l2ZSBjYW1wYWlnbnMgaW4gdGhlIG5hdGlvbiBiZWNhdXNlIGl04oCZcyB0aGUgb25seSBwbGFjZSB3aGVyZSB0aGVyZeKAmXMgbm8gdGVsZXZpc2lvbiwgYW5kIHlvdSBoYXZlIHRvIHBheSBmb3IgMTAgbWlsbGlvbiBwZW9wbGUgLS0gOSBtaWxsaW9uIG9mIHdob20sIGlmIHRoZXkgdm90ZWQgZm9yIHlvdSwgd291bGQgYmUgaW5kaWN0ZWQsIGJlY2F1c2UgaXTigJlzIFBoaWxhZGVscGhpYSB0ZWxldmlzaW9uLg0KDQogDQoNClNvLCBmb2xrcywgd2hhdCBhcmUgd2UgZG9pbmc/ICBXaGF0IGFyZSB3ZSBkb2luZz8gIFdl4oCZcmUgY3V0dGluZyBvZmYgYWNjZXNzIGZvciBzbyBtYW55IG9mIHlvdSwgZm9yIHNvIG1hbnkgYnJpZ2h0LCB5b3VuZyBtaW5kcywgd2hvIHRoZSBvbmx5IHdheSB0aGV5IGNhbiBnZXQgZW5nYWdlZCBpcyB5b3UgaGF2ZSB0byBnbyB3aGVyZSB0aGUgbW9uZXkgaXMuICBBbmQgd2hlcmUgdGhlIG1vbmV5IGlzLCB0aGVyZeKAmXMgYWxtb3N0IGFsd2F5cywgaW1wbGljaXRseSwgc29tZSBzdHJpbmcgYXR0YWNoZWQuICBObyBvbmUgYnV5cyBhbnlib2R5IGRpcmVjdGx5LiAgVGhhdCBkb2VzbuKAmXQgaGFwcGVuOyBpZiBpdCBkb2VzLCBpdOKAmXMgcmFyZS4gIEJ1dCBpdOKAmXMgYXdmdWwgaGFyZCB0byB0YWtlIGEgd2hvbGUgbG90IG9mIG1vbmV5IGZyb20gYSBncm91cCB0aGF0IHlvdSBrbm93IGhhcyBhIHBhcnRpY3VsYXIgcG9zaXRpb24sIGFuZCB0aGVuIGlmIHlvdSBjb25jbHVkZSB0aGV54oCZcmUgd3JvbmcsIHZvdGUgbm8uDQoNCiANCg0KU28sIGxhZGllcyBhbmQgZ2VudGxlbWVuLCBJIHByZWRpY3Qgb25lIGRheSB0aGUgQW1lcmljYW4gcGVvcGxlIGFyZSBnb2luZyB0byB3YWtlIHVwIGFuZCB0aGV54oCZcmUgZ29pbmcgdG8gZGVtYW5kIGNoYW5nZS4gIFRvZGF5LCBpdOKAmXMgZ29pbmcgdG8gcmVxdWlyZSBhIGNvbnN0aXR1dGlvbmFsIGFtZW5kbWVudC4gIEkgaW50cm9kdWNlZCB0aGUgZmlyc3QgY29uc3RpdHV0aW9uYWwgYW1lbmRtZW50IG9uIHRoaXMsIGxpbWl0aW5nIGRvbGxhcnMsIHdpdGggYSBndXkgbmFtZWQgRnJpdHogSG9sbGluZ3MgZnJvbSBTb3V0aCBDYXJvbGluYS4gIFNvIGV2ZXJ5Ym9keSwgd2hlbiBJIHJhaXNlIGl0IHRoZXNlIGRheXMsIHRoZXkgc2F5LCBubywgbm8sIG5vIHdlIGNhbuKAmXQgZG8gdGhhdC4gIA0KDQogDQoNClNvIHdoYXQgZG8gd2UgaGF2ZSB0byBkbz8gIFdoZXRoZXIgdGhleeKAmXJlIHJ1bm5pbmcgZm9yIHRoZSBTZW5hdGUgb3IgQ29uZ3Jlc3Mgb3IgUHJlc2lkZW50IC0tIHdlbGwsIEkgY2Fu4oCZdCBkaXNhcm0sIEnigJl2ZSBnb3QgdG8gZG8gdGhlIHNhbWUgdGhpbmcuICBOb3csIHdlIGNhbiBhcmd1ZSBvdXIgaW50ZXJlc3QgZ3JvdXBzIGFyZSBiZXR0ZXIgdGhhbiB0aGVpciBpbnRlcmVzdCBncm91cHMuICBXZSBjYW4gYXJndWUgdGhleeKAmXJlIGxlc3Mgc2VsZi1zZXJ2aW5nIHRoYW4gdGhlIG90aGVyIHRlYW3igJlzIC0tIHRoYXQgbWF5IGJlIC0tIGl04oCZcyBhbGwgdHJ1ZS4gIA0KDQogDQoNCkJ1dCwgZ3V5cywgd2h5IGRvIHlvdSB0aGluayB0aGUgbWlkZGxlIGNsYXNzIHRoaW5rcyB0aGluZ3MgYXJlbuKAmXQgb24gdGhlIGxldmVsPyAgV2hhdCBjaGFuY2UgZG8geW91IHRoaW5rIHdlIGhhdmUgdG8gZ2V0IHRoZSBraW5kIG9mIGluY29tZSB0YXggc3lzdGVtIHRoYXQgSeKAmXZlIGJlZW4gZmlnaHRpbmcgZm9yIG15IHdob2xlIGxpZmU/ICBXaGF0IGRvIHlvdSB0aGluayB0aGUgY2hhbmNlcyBvZiBnZXR0aW5nIHRoYXQgYXJlPyAgUGVvcGxlIGFyZW7igJl0IGdvaW5nIHRvIHN1cHBseSBtb25leSBhZ2FpbnN0IHRoZWlyIG93biBpbnRlcmVzdHMuICBUaGV54oCZcmUgbm90IGJhZCBwZW9wbGUuDQoNCiANCg0KQnV0IEnigJl2ZSBiZWVuIHB1c2hpbmcgdG8gY2hhbmdlIGZvciBteSBlbnRpcmUgY2FyZWVyIC0tIHRoZSB3YXkgd2UgdHJlYXQgdW5lYXJuZWQgaW5jb21lLiAgSXTigJlzIG91dHJhZ2VvdXMuICBJdOKAmXMgb3V0cmFnZW91cy4gIEJ1dCB0aGUgcGVvcGxlIHdpdGggYSB3aG9sZSBsb3Qgb2YgbW9uZXkgYXJlIHRoZSBwZW9wbGUgd2l0aCBhIGxvdCBvZiB1bmVhcm5lZCBpbmNvbWUsIGFzIGlzIGRlZmluZWQgaW4gdGhlIGNvZGUuICBXaHkgYXJlIHRoZXkgZ29pbmcgdG8gZ2l2ZSB5b3UgdGhlIG1vbmV5Pw0KDQogDQoNCkFuZCwgZm9sa3MsIHdlIG91Z2h0IHRvIHN0YXJ0IGluIG91ciBvd24gcGFydHkuICBZb3Ugb3VnaHQgdG8gYmUgZGVtYW5kaW5nIG9mIGFsbCBvZiB1cyAtLSBhbGwgb2YgdXMgLS0gYmVjYXVzZSBhdCBsZWFzdCBpbiBvdXIgb3duIHBhcnR5IGZpZ2h0cyBhbW9uZyBvdXJzZWx2ZXMgaW4gcHJpbWFyaWVzLCB0aGF0IHdlIGFkaGVyZSB0byBhIHBvbGljeSB0aGF0IGRvZXNu4oCZdCByZXN0IG9uIG1pbGxpb25haXJlcyBhbmQgYmlsbGlvbmFpcmVzLiAgVGhleeKAmXJlIGdvb2QgcGVvcGxlLiAgVGhleeKAmXJlIG5vdCBiYWQsIHBlciBzZSAtLSBubywgSSByZWFsbHkgbWVhbiBpdC4gIEJ1dCBpdOKAmXMgYSBoZWxsIG9mIGEgd2F5IHRvIHJ1biBhIGRlbW9jcmFjeS4NCg0KIA0KDQpBbmQgc28gdGhlIGZpcnN0IHBsYWNlIHlvdeKAmXZlIGdvdCB0byBzdGFydCBpcyBpbiB0aGUgRGVtb2NyYXRpYyBQYXJ0eS4gIE5vIG1hdHRlciBob3cgbXVjaCB5b3UgbG92ZSBtZSBvciBzb21lYm9keSBlbHNlLCB5b3UgaGF2ZSB0byBkZW1hbmQgb2YgdXMgdGhhdCB3ZSBkZW1vbnN0cmF0ZSB3ZSB1bmRlcnN0YW5kLiAgV2UgY2FuIGRvIHNvbWV0aGluZyBhYm91dCB0aGUgY29ycm9zaXZlIGltcGFjdCBvZiBtYXNzaXZlIGFtb3VudHMgb2YgbW9uZXkuICBXZSBjYW4gZGVtYW5kIHRoYXQgcGVvcGxlIHdobyB3ZSBzdXBwb3J0IGRvbuKAmXQgeWllbGQgdG8gbWlsbGlvbmFpcmVzIGFuZCBiaWxsaW9uYWlyZXMuICBUYWtlIHRoZWlyIG1vbmV5IGluIGxpbWl0ZWQgYW1vdW50cy4gIEJ1dCB3aGF0IGFyZSB3ZSBkb2luZz8NCg0KIA0KDQpJIGtub3cgYSBsb3Qgb2YgcGVvcGxlIGFyZSBnb2luZyB0byByZWFkIGludG8gdGhpcyBwYXJ0IG9mIHdoYXQgSeKAmW0gc2F5aW5nIHNvbWV0aGluZyBJ4oCZbSBub3QgaW50ZW5kaW5nLiAgSeKAmW0gbm90IHRhbGtpbmcgYWJvdXQgYW55IGluZGl2aWR1YWwuICBJIHJlYWxseSBhbSBub3QuICBCdXQgaWYgd2UgY2Fu4oCZdCBldmVuIHN0YXJ0IGluIG91ciBvd24gcGFydHksIEnigJltIHdpbGxpbmcgdG8gc3RhcnQgaW4gLS0gaGF2ZSBwZW9wbGUgc3RhcnRpbmcgdGhlaXIgb3duIHBhcnR5IGFuZCBzYXksIG9rYXksIHRoZSBnZW5lcmFsIGVsZWN0aW9uLCBkb27igJl0IGRpc2FybSBhbmQgZG8gaXQgdGhlcmUgLS0gYnV0IGluIG91ciBvd24gcGFydHkuICANCg0KIA0KDQpMb29rLCB3ZSBjYW4gZ2V0IHN1cHBvcnQgZXZlbiB3aGVuIHdl4oCZcmUgb3V0c3BlbnQgc2lnbmlmaWNhbnRseSAtLSBhbmQgdGhpcyBpcyBub3QgaHlwZXJib2xlIC0tIGlmIHdlIGhhdmUgeW91OyB3ZSwgdGhlIHBhcnR5LCBoYXZlIHlvdTsgeW91LCB0aGUgeW91bmcsIHBhc3Npb25hdGUgYWR2b2NhdGVzLiAgSWYgSSBnZXQgYSBjaGFuY2UgdG8gZ28gb24gdGVsZXZpc2lvbiB3aXRoIG1pbGxpb25zIG9mIGRvbGxhcnMsIG9yIEnigJltIGFibGUgdG8gcHV0IDIsMDAwIHZvbHVudGVlcnMgb24gdGhlIHN0cmVldCwgSSB0YWtlIDIsMDAwIHZvbHVudGVlcnMgLS0gZm9yIHJlYWwuICANCg0KIA0KDQpBbmQgc28sIGZvbGtzLCBkb24ndCB1bmRlcmVzdGltYXRlIHlvdXIgYWJpbGl0eSB0byBpbmZsdWVuY2UgYWxsIG9mIHVzIHdobyBhcmUgdGVtcHRlZCB0byB5aWVsZCB0byB0aGUgdGVtcHRhdGlvbiB0byBnbyBhaGVhZCBhbmQgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIGFnYWluLCByYXRpb25hbGl6ZS4gIFJhdGlvbmFsaXplLiAgSWYgSSBkb24ndCwgSeKAmW0gbm90IGdvaW5nIHRvIGJlIGFibGUgdG8gd2luLCBhbmQgYWxsIHRoZSBnb29kIEkgY2FuIGRvIHdpbGwgYmUgZ29uZSwgZXZlbiB0aG91Z2ggdGhlIHdheSBJIGhhdmUgdG8gZG8gaXQgaXMgZ29pbmcgdG8gLS0gZXZlbiBpZiBpdCBkb2Vzbid0IGNvbXByb21pc2UgbWUgLS0gY29udmluY2UgYXZlcmFnZSBtaWRkbGUtY2xhc3MgcGVvcGxlIHRoYXQgSSBkb24ndCBjYXJlIGFib3V0IHRoZW0sIGFuZCB0aGV5IHRoZXJlZm9yZSB3aWxsIG5vdCB0cnVzdCBtZS4NCg0KIA0KDQpXZSBoYXZlIHRvIHNwZWFrIHVwLiAgV2UgaGF2ZSB0byBzcGVhayB1cC4gIEkga25vdyBhIGxvdCBvZiB3aGF0IEkganVzdCBzYWlkIHByb2JhYmx5IHNvdW5kcyBQb2xseWFubmEtaXNoIHRvIHlvdS4gIEJ1dCBJ4oCZdmUgYmVlbiBhcm91bmQgbG9uZ2VyIHRoYW4gYWxsIHRoZXNlIG90aGVyIGd1eXMuICBJ4oCZbSB0ZWxsaW5nIHlvdSBpdCBjYW4gYmUgZG9uZS4gIEl0IGFsd2F5cyBpcyBkb25lIGJ5IGdlbmVyYXRpb25zIGxpa2UgeW91cnMuICANCg0KIA0KDQpJ4oCZbGwgZW5kIGJ5IHRha2luZyB5b3UgYmFjay4gIEluIDE5NzIsIGFzIGEgMjkteWVhci1vbGQga2lkLCB0aGUgd2FyIGluIFZpZXRuYW0gd2FzIHJhZ2luZy4gIFRoZSB3b21lbuKAmXMgbW92ZW1lbnQgd2FzIC0tIHlvdSB3ZXJlIGNyaXRpY2l6ZWQgaWYgeW91IHJhaXNlZCB0aGUgaXNzdWUuICBUaGUgZW52aXJvbm1lbnRhbCBtb3ZlbWVudCB3YXMsIGFuZCBldmVyeWJvZHkgLS0gdGhlIGNoYW50IGluIHRoZSBsYXRlIOKAmDYwcyB3aGVuIEkgd2FzIGluIGxhdyBzY2hvb2wgaXMg4oCcZHJvcCBvdXQu4oCdICBQb2xpdGljcyB3YXMgdmlld2VkIGFzIGRpcnR5IGFuZCBjb3JydXB0IC0tIGFuZCBjb3JydXB0aW5nLiAgDQoNCiANCg0KU28gdGhlIHRlbXB0YXRpb24gb2YgdGhhdCBnZW5lcmF0aW9uIHRvIGRyb3Agb3V0IHdhcyBubyBsZXNzIHRoYW4gdGhlIHRlbXB0YXRpb24gb2YgeW91ciBnZW5lcmF0aW9uIHRvIHNheSwgYmUgZGFtbmVkIHdpdGggaXQsIGl04oCZcyBub3Qgd29ydGggaXQuICBJdCBjYW4ndCBoYXBwZW4uICBCdXQgYSB3aG9sZSBidW5jaCBvZiB1cyBkaXNhZ3JlZWQsIGFuZCB3ZSBjaGFuZ2VkIHRoaW5ncy4NCg0KIA0KDQpXZSBlbmRlZCBhIHdhci4gIFdlIGNvbXBsZXRlZCB0aGUgQ2l2aWwgUmlnaHRzIE1vdmVtZW50IGFzIGl0IHdhcyBwaWN0dXJlZCBhdCB0aGUgdGltZS4gIFdlIGdlbmVyYXRlZCB0aGUgZ2VudWluZSBiZWdpbm5pbmcgb2YgdGhlIHdvbWVu4oCZcyBtb3ZlbWVudCBhbmQgdGhlIGVudmlyb25tZW50YWwgbW92ZW1lbnQgLS0gbm90IG1lLCBteSBnZW5lcmF0aW9uLiAgDQoNCiANCg0KQnV0IGlmIHlvdSBnbyBiYWNrIGFuZCBsb29rIGF0IHdoYXQgdGhlIG9kZHMgd2VyZSwgdGhleSB3ZXJlIHNsaW0gdG8gbm9uZS4gIFNvIHRoZSBvbmx5IG1lc3NhZ2UgSSB3YW50IHRvIGxlYXZlIHlvdSB3aXRoIGlzIHlvdSBoYXZlIHRoZSB0YWxlbnQsIHRoZSBpbnRlbGxlY3QsIHRoZSBwYXNzaW9uLCBhbmQgdGhlIGNvbW1pdG1lbnQuICBJIGRvbid0IHdhbnQgeW91IHRvIGdldCBkaXNjb3VyYWdlZC4gIEkgZG9uJ3Qgd2FudCB5b3UgdG8gZ2V0IGRpc2NvdXJhZ2VkLiAgSSBwcm9taXNlIHlvdSBpZiB5b3Uga2VlcCBkb2luZyB3aGF0IHlvdSdyZSBkb2luZywgaWYgeW91IGdlbmVyYXRlIGFuZCBpbmNyZWFzZSB5b3VyIG51bWJlcnMsIGlmIHlvdSBuZXZlciBhcG9sb2dpemUgZm9yIHlvdXIgcGFzc2lvbiwgaWYgeW91IGFsd2F5cyBnaXJkIHlvdXJzZWxmIGFnYWluc3QgdGhlIHRlbXB0YXRpb24gdG8gcmF0aW9uYWxpemUsIGlmIHlvdSdyZSBhY3R1YWxseSB3aWxsaW5nIHRvIGxpc3RlbiB0byB0aGUgb3RoZXIgc2lkZSB0byBnZW5lcmF0ZSBhIGNvbnNlbnN1cywgdGhpcyBjb3VsZCBhbGwgZ2V0IGRvbmUuICANCg0KIA0KDQpVbHRpbWF0ZWx5IHRoYXQncyB0aGUgb25seSB3YXkgd2UgY2FuIG1ha2UgcHJvZ3Jlc3MgaW4gdGhpcyBjb3VudHJ5LiAgSG93IGNhbiB3ZSBnb3Zlcm4gdGhlIG1vc3QgaGV0ZXJvZ2VuZW91cyBkZW1vY3JhY3kgaW4gdGhlIHdvcmxkLCB0aGUgaGlzdG9yeSBvZiB0aGUgd29ybGQgd2l0aG91dCBnZW5lcmF0aW5nIGNvbnNlbnN1cz8gDQoNCiANCg0KWW91J3ZlIGFscmVhZHkgbWFkZSBhIGdyZWF0IGRlYWwgb2YgZGlmZmVyZW5jZSBpbiB0aGUgbGl2ZXMgb2YgdGhlIEFtZXJpY2FuIHBlb3BsZSwgYW5kIHRoYXQncyBub3QgaHlwZXJib2xlLiAgWW91IGFscmVhZHkgaGF2ZS4gIFlvdSAtLSBwZW9wbGUgaW4gdGhpcyByb29tIGFscmVhZHkgaGF2ZS4gIFRoZXJl4oCZcyBldmVuIG1vcmUgcmVhc29uIG5vdyB0byBiZSBpZGVhbGlzdCBhbmQgb3B0aW1pc3RpYyBhbmQgdGVuYWNpb3VzIGFuZCBwYXNzaW9uYXRlIGFuZCBwcmluY2lwbGVkIHRoYW4gYW55IHRpbWUuICANCg0KIA0KDQpUaGluayBvZiBpdCB0aGlzIHdheSwgZm9sa3MsIGFuZCBJ4oCZbGwgZ2V0IG91dCBvZiB5b3VyIGhhaXIuICBJZiB5b3UncmUgZXZlciBnb2luZyB0byBiZSBpbnZvbHZlZCBpbiBwdWJsaWMgYWZmYWlycyBpbiB3aGF0ZXZlciBmb3JhLCB0aGlzIGlzIHRoZSB0aW1lIHRvIGRvIGl0LiAgQmVjYXVzZSB0aGluZ3MgYXJlIGNoYW5naW5nLiAgVGhleSdyZSBjaGFuZ2luZy4gIFRoZXkncmUgZ29pbmcgdG8gY2hhbmdlIG5vIG1hdHRlciB3aGF0IHlvdSBkby4gIFRoZSBxdWVzdGlvbiBpcyBob3cgdGhleSBjaGFuZ2UuIA0KDQogDQoNClRoZXJl4oCZcyB2ZXJ5IGZldyBwZXJpb2RzIGluIEFtZXJpY2FuIGhpc3RvcnkgLS0gSSBjYWxsIHRoZW0gaW5mbGVjdGlvbiBwb2ludHMgLS0gSSByZW1lbWJlciBteSBwaHlzaWNzIHByb2Zlc3NvciBkZWZpbmluZyB3aGF0IGFuIGluZmxlY3Rpb24gcG9pbnQgd2FzLiAgSGUgZ2F2ZSB1cyB0aGUgbWV0YXBob3IuICBIZSBzYWlkLCBpdOKAmXMgbGlrZSBkcml2aW5nIGRvd24gdGhlIGhpZ2h3YXkgYXQgNjAgbWlsZXMgYW4gaG91ciwgYm90aCBoYW5kcyBvbiB0aGUgd2hlZWwgYW5kIHlvdSBhYnJ1cHRseSB0dXJuIGl0IDEwIGRlZ3JlZXMgdG8gdGhlIHJpZ2h0IG9yIGxlZnQuICBZb3UgY2FuIG5ldmVyIGdldCBiYWNrIG9uIHRoZSBwYXRoIHlvdSB3ZXJlIG9uLiAgV2VsbCwgdGhhdCdzIHdoYXTigJlzIGhhcHBlbmVkLiAgTm90IGJlY2F1c2Ugb2YgQmFyYWNrIE9iYW1hIGFuZCBKb2UgQmlkZW4gb3IgYW55b25lIGVsc2UsIGJlY2F1c2UgdGhlc2UgYXJlIG1vbWVudHMgb2YgZ3JlYXQgY2hhbmdlLg0KDQogDQoNCldpbGxpYW0gQnV0bGVyIFllYXRzIGluIGEgcG9lbSBoZSB3cm90ZSBjYWxsZWQgRWFzdGVyIFN1bmRheSAxOTE2IHRhbGtzIGFib3V0IHRoZSBGaXJzdCBSaXNpbmcgaW4gSXJlbGFuZCBpbiB0aGUgMjB0aCBjZW50dXJ5LiAgQW5kIGhlIHdyb3RlIGEgbGluZS4gIEhlIHNhaWQsIOKAnGFsbOKAmXMgY2hhbmdlZCAtLSBjaGFuZ2VkIHV0dGVybHkuICBBIHRlcnJpYmxlIGJlYXV0eSBoYXMgYmVlbiBib3JuLuKAnSAgDQoNCiANCg0KV2VsbCwgdGhhdCBkZXNjcmlwdGlvbiBpcyBtb3JlIGFwdCB0byB0b2RheSBpbiB3b3JsZCBhbmQgbmF0aW9uYWwgcG9saXRpY3MgdGhhbiBpdCB3YXMgdGhlbi4gIEFsbCBoYXMgY2hhbmdlZCBpbiB0aGUgbGFzdCAxNSB5ZWFycy4gIEJ1dCBpZiB3ZSBoYXZlIG91ciBoYW5kcyBvbiB0aGUgd2hlZWwsIHdlIGhhdmUgLS0gdW5saWtlIGluIHBlcmlvZHMgb2Ygc3RhdHVzIHF1byAtLSB3ZSBoYXZlIGEgY2hhbmNlIHRvIGJlbmQgaGlzdG9yeSBqdXN0IGEgbGl0dGxlIGJpdCwganVzdCBhIGxpdHRsZSBiaXQuICBCdXQgaXTigJlzIG9ubHkgZ29pbmcgdG8gYmUgZG9uZSBieSB5b3UuICBJIG1lYW4gdGhpcyBzaW5jZXJlbHkuICBJdOKAmXMgb25seSBnb2luZyB0byBiZSBkb25lIGJ5IHlvdW5nLCBkZWNlbnQsIHBhc3Npb25hdGUgcGVvcGxlIG9mIHByaW5jaXBsZS4gIFRoYXQncyBob3cgYWxsIGNoYW5nZSBoYXMgdGFrZW4gcGxhY2UgaW4gQW1lcmljYS4gIA0KDQogDQoNClNvIGxldCBtZSBjb25jbHVkZSBieSBzYXlpbmcgSSBjYW1lIHRvIHRoYW5rIHlvdSBhbmQgdGVsbCB5b3Ugd2UgYmFkbHksIGJhZGx5LCBiYWRseSBuZWVkIHlvdS4gIFNvIGRvbid0IGdldCBkZXNwb25kZW50LiAgRG9uJ3QgZGlzZW5nYWdlLiAgRGlzcnVwdCB0aGUgc3RhdHVzIHF1by4gIE1ha2Ugbm9pc2UuICAoQXBwbGF1c2UuKSAgVGFrZSBldmVyeWJvZHkgb24uICBBbmQgZG9uJ3QgZXZlciBzZXR0bGUgZm9yIGl0IGNhbid0IGJlIGRvbmUuICAoQXBwbGF1c2UuKSANCg0KIA0KDQpHb2QgYmxlc3MgeW91IGFsbCBhbmQgbWF5IEdvZCBwcm90ZWN0IG91ciB0cm9vcHMuICBUaGFua3MuDQoNCiANCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkQgICAgICAgICAgICAgICAgICAgICAgNTo0MCBQLk0uIEVEVA0KDQogDQoNCiANCg0K<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>	<key>conversation-id</key>	<integer>13715</integer>	<key>date-last-viewed</key>	<integer>1633883153</integer>	<key>date-received</key>	<integer>1437138648</integer>	<key>flags</key>	<integer>8590195729</integer>	<key>remote-id</key>	<string>360</string></dict></plist>