From mboxrd@z Thu Jan 1 00:00:00 1970 X-Received: by 2002:a19:6b15:: with SMTP id d21-v6mr353416lfa.26.1527149488332; Thu, 24 May 2018 01:11:28 -0700 (PDT) X-BeenThere: homotopytypetheory@googlegroups.com Received: by 2002:a2e:7005:: with SMTP id l5-v6ls2402330ljc.14.gmail; Thu, 24 May 2018 01:11:26 -0700 (PDT) X-Received: by 2002:a2e:9010:: with SMTP id h16-v6mr331592ljg.41.1527149486720; Thu, 24 May 2018 01:11:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527149486; cv=none; d=google.com; s=arc-20160816; b=vuEGBsI7tQsXOH38l3jwgRi11IXAiMRYmTu6uVgH7ZcNNSI9vRlhOj1AyFrMT6IV8Y uYiakVHUk2FfftAbuE5kkQOpfEbsq6xGX0EOwJagqNbVZ/EybXKcjA2tooxrjk/8vazh Bbv7QTE638QOEdgbxhP9W2HToddTrKZuvtW6lNGLQe271d2Zw3fWR0h3W6tZCoamhCiM s4KoXxtrYALO4611tvZ5X94DFfqNjrPEOKtDVBbzolbaJ2mVKChP5QWGLOWgAaB43Tsb RPFm0yy5oYbwj7xIkwZtOMHmK6mv72PlA8eKyJpYKkUk1vlcOlBL6wCJn8YCvEMKFtoC Jy0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-id :spamdiagnosticmetadata:spamdiagnosticoutput:user-agent :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=5t3HpIhDQmVdtnYpfwYWou7QxJIaypzCl8oH1k5aTnE=; b=sktSHZb6r/M7fPezaotY58TUdtIYjkb2IEKTPflM2nI9vwdJq5BZaVSjGCQuEP5/3T 4jpvEcm5var8P7pU4tFITqXdM2hLpl2RqPSYDBgI5kC7Nd6jfzQC1rgg5BJlBdmnDb2X y8k8e/Kgo+EV0wlVDvhP80IrqlE2Ilvln3Sz/xv2nYXX3MokudUArOC+pDoA07v6wb0w HjnfQZJg2TusJMADbbLYFT374imdL1KO1wq+eK/V9Ksf48OoYaLF/Y8WkkNUTnjMXlFz 1xrtalpeLas7EZtm/pPspmz1UlGWzp7qaVy87kSplZNaOABlfEsOT1NN+/LdsppALaAo CURw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of thorsten....@nottingham.ac.uk designates 128.243.43.124 as permitted sender) smtp.mailfrom=Thorsten....@nottingham.ac.uk Return-Path: Received: from uidappmx01.nottingham.ac.uk (uidappmx01.nottingham.ac.uk. [128.243.43.124]) by gmr-mx.google.com with ESMTP id j8-v6si914693ljh.3.2018.05.24.01.11.26 for ; Thu, 24 May 2018 01:11:26 -0700 (PDT) Received-SPF: pass (google.com: domain of thorsten....@nottingham.ac.uk designates 128.243.43.124 as permitted sender) client-ip=128.243.43.124; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of thorsten....@nottingham.ac.uk designates 128.243.43.124 as permitted sender) smtp.mailfrom=Thorsten....@nottingham.ac.uk Received: from uidappmx01.nottingham.ac.uk (localhost.localdomain [127.0.0.1]) by localhost (Email Security Appliance) with SMTP id 29E003D570B_B0673AEB for ; Thu, 24 May 2018 08:11:26 +0000 (GMT) Received: from smtp4.nottingham.ac.uk (smtp4.nottingham.ac.uk [128.243.220.65]) by uidappmx01.nottingham.ac.uk (Sophos Email Appliance) with ESMTP id 7A2703D176C_B0673ADF for ; Thu, 24 May 2018 08:11:25 +0000 (GMT) Received: from uiwexhub03.is.nottingham.ac.uk ([128.243.15.146] helo=UIWEXHUB03.ad.nottingham.ac.uk) by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128) (Exim 4.85) (envelope-from ) id 1fLlLJ-0002bG-FB; Thu, 24 May 2018 09:11:25 +0100 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (213.199.154.176) by mail.nottingham.ac.uk (128.243.15.146) with Microsoft SMTP Server (TLS) id 14.3.389.1; Thu, 24 May 2018 09:11:25 +0100 Received: from DB6PR0601MB2037.eurprd06.prod.outlook.com (10.168.56.142) by DB6PR0601MB2295.eurprd06.prod.outlook.com (10.169.212.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.11; Thu, 24 May 2018 08:11:24 +0000 Received: from DB6PR0601MB2037.eurprd06.prod.outlook.com ([fe80::9063:47f:22af:258]) by DB6PR0601MB2037.eurprd06.prod.outlook.com ([fe80::9063:47f:22af:258%13]) with mapi id 15.20.0776.015; Thu, 24 May 2018 08:11:24 +0000 From: Thorsten Altenkirch To: Michael Shulman CC: "homotopyt...@googlegroups.com" Subject: Re: [HoTT] Where is the problem with initiality? Thread-Topic: [HoTT] Where is the problem with initiality? Thread-Index: AQHT8ZBBi0BewTravkOfd813FgitW6Q9kz6AgADQgACAADdvgA== Date: Thu, 24 May 2018 08:11:23 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.5.7.151005 x-originating-ip: [87.84.29.20] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB6PR0601MB2295;7:HLpMT6KVvtbU6pZSUxclCioQQce5+axqAqvSdqbTlzXIKYFhF1oEvrhqohnVo7lPS+zjJ4/6X56KROtuG4mcfe7hB7lhIly4nWMKT+L3L7tKt4X2hbZhScecn13dpR6rTG/XYctgfHoaqr8lS/1ilMb4fbUtrv8FCus5HNRqCH0w8I3fZmn2wEVNF2zfQRvLZ35CTLAUoyX6AyOv8j95afLHXo+GhjzhfPLogXjvgHf2M2kW9sfGXVgdi1S8qdw5 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-microsoft-antispam: UriScan:(215639381216008);BCL:0;PCL:0;RULEID:(7020095)(4652020)(8989080)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(8990040)(2017052603328)(7153060)(7193020);SRVR:DB6PR0601MB2295; x-ms-traffictypediagnostic: DB6PR0601MB2295: authentication-results: spf=none (sender IP is ) smtp.mailfrom=psz...@exmail.nottingham.ac.uk; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(215639381216008)(228788266533470)(211936372134217)(21532816269658); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016);SRVR:DB6PR0601MB2295;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0601MB2295; x-forefront-prvs: 0682FC00E8 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(366004)(396003)(39380400002)(346002)(39860400002)(199004)(189003)(6116002)(3846002)(66066001)(5890100001)(2171002)(486006)(2616005)(5250100002)(316002)(6512007)(58126008)(81166006)(81156014)(6306002)(53936002)(106356001)(786003)(8676002)(6246003)(76176011)(6436002)(25786009)(476003)(2900100001)(97736004)(86362001)(102836004)(59450400001)(305945005)(6486002)(5660300001)(186003)(26005)(8936002)(6916009)(7736002)(446003)(74482002)(11346002)(14454004)(3280700002)(3660700001)(2906002)(4326008)(105586002)(99286004)(229853002)(68736007)(966005)(478600001)(53546011)(561944003)(6506007)(42522002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0601MB2295;H:DB6PR0601MB2037.eurprd06.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: exmail.nottingham.ac.uk does not designate permitted sender hosts) x-microsoft-antispam-message-info: ZkLSI9Rz1EENx1k9T2LALBIyYImUpyGQI3m4a4RofMjFYrQ9FgMJ/ThDNfIolxIXSAPG3z0a2rZKsPFjiAAYQd46pX/48scr4lNOjiTAXNQ+Q2P/Og8a2TBVbQ/gHt9eyFFl/CFy82AKRBnzTir5DU2EaKkC2qFXcIHQX6tlBPmou20JBxQvlk9a6j1VtB/p spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 00d82db1-8382-4f3f-53af-08d5c14df0eb X-MS-Exchange-CrossTenant-Network-Message-Id: 00d82db1-8382-4f3f-53af-08d5c14df0eb X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2018 08:11:24.0028 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 67bda7ee-fd80-41ef-ac91-358418290a1e X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0601MB2295 X-OriginatorOrg: exmail.nottingham.ac.uk X-Spam-Note: SpamAssassin run bypassed due to message size X-SASI-RCODE: 200 Pg0KPlRoYW5rcyBmb3IgeW91ciByZXNwb25zZSBUaG9yc3RlbiEgIEkgZGlkIG5vdCBpbnRlbmQg bXkgb3JpZ2luYWwgZW1haWwNCj5hcyBhIGNyaXRpY2lzbSBvciBhbHRlcm5hdGl2ZSBwcm9wb3Nh bCB0byB5b3VyIHdvcmssIG9ubHkgYW4NCj5pbmZvcm1hdGlvbmFsIHF1ZXN0aW9uIGFzIHRvIHdo ZXJlIHRoZSBkaWZmaWN1bHR5IGlzIGluIGdldHRpbmcgZnJvbQ0KPnRoZSAidGF1dG9sb2dpY2Fs IiBpbml0aWFsaXR5IHRoZW9yZW0gaW4geW91ciB3b3JrIHRvIHRoZSAiaGFyZCINCj5pbml0aWFs aXR5IHRoZW9yZW0gdGhhdCB2YXJpb3VzIG90aGVyIHBlb3BsZSBhcmUgd29ya2luZyBvbiBwcm92 aW5nDQo+KHdoYXRldmVyIG9uZSdzIG9waW5pb24gbWF5IGJlIGFib3V0IHdoaWNoIG9mIHRoZW0g aXMgbW9yZSBpbXBvcnRhbnQpLg0KDQpJIGRpZG4ndCB2aWV3IGl0IGFzIGNyaXRpY2lzbSAtIEkg d2FzIGp1c3QgY29tbWVudGluZyBvbiB5b3VyIGVtYWlsLg0KDQo+DQo+VGhhdCBzYWlkLCBJIHN1 cHBvc2UgSSBtYXkgYXMgd2VsbCBwaWNrIHVwIHRoYXQgZ2F1bnRsZXQgeW91IGxlZnQgb24NCj50 aGUgZmxvb3IuLi4gICgtOk8NCg0KQWggZ29vZC4gOi0pDQoNCj4+KDUpIGFuZCAoNykgaW50cm9k dWNlIHByZXRlcm1zIHdoaWNoIEkgdGhpbmsgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQNCj4+IGZ1 bmRhbWVudGFsIGluIHRoZSBkZWZpbml0aW9uIG9mIHR5cGUgdGhlb3J5Lg0KPg0KPkkgaGF2ZSB0 byBkaXNhZ3JlZSBoZXJlLiAgSW4gbXkgdmlldywgd2UgaGF2ZSB0byBldmVudHVhbGx5IGNvbm5l Y3QNCj50aGluZ3MgYmFjayB0byB1bnR5cGVkIHN5bnRheCwgYmVjYXVzZSB1bnR5cGVkIHN5bnRh eCBpcyB3aGF0IHdlIHdyaXRlDQo+b24gdGhlIHBhZ2UsIGFuZCB3aGF0IHdlIGVudGVyIGludG8g YSBwcm9vZiBhc3Npc3RhbnQuICAoV2UgZG9uJ3QgbmVlZA0KPnRvIGdvIGFsbCB0aGUgd2F5IGJh Y2sgdG8gY2hhcmFjdGVyIHN0cmluZ3MgLS0gcGFyc2luZyBhbmQgbGV4aW5nIGFyZQ0KPmVzc2Vu dGlhbGx5IHNvbHZlZCBwcm9ibGVtcyBpbiBhbnkgbGFuZ3VhZ2UgLS0gYnV0IHdlIGRvIG5lZWQg dG8gZ2V0DQo+YmFjayB0byBzb21lIGtpbmQgb2YgdW50eXBlZCAqYWJzdHJhY3QqIHN5bnRheCBz dWNoIGFzIGluICg1KS4pICBUaGUNCj52YXJpb3VzIGtpbmRzIG9mIHR5cGVkIHN5bnRheCBhcmUg dXNlZnVsIGFuZCBpbXBvcnRhbnQgaW50ZXJtZWRpYXRlDQo+b2JqZWN0cywgYnV0IGF0IHNvbWUg cG9pbnQgdGhlcmUgaGFzIHRvIGJlIGEgc3RlcCB0aGF0IGZvcm1hbGx5DQo+ZXhwbGFpbnMgaG93 IHRvIHByb2R1Y2UgInR5cGVkIHN5bnRheCIgZnJvbSB1bnR5cGVkIHN5bnRheC4NCg0KSW5kZWVk IGJ1dCBhbHNvIHR5cGUgY2hlY2tpbmcgYW5kIHNjb3BpbmcgYXJlIHNvbHZlZCBwcm9ibGVtcy4N Cg0KV2UgbWF5IGFzIHdlbGwgc2F5IHRoYXQgcGFyc2luZywgdGhhdCBpcyByZWxhdGluZyBzdHJp bmdzIGFuZCB0cmVlcyBpcyBhDQpmdW5kYW1lbnRhbCBpc3N1ZSBpbiBhbGdlYnJhLiBJdCBpc24n dC4gQnkgdGhlIHdheSB0aGF0IGlzbid0IHNvIGZhcg0KZmV0Y2hlZCBhcyBpdCBzb3VuZHMsIGlu IChvbGRlcj8pIHRleHQgYm9va3Mgb24gcmVndWxhciBleHByZXNzaW9ucyB5b3UNCmZpbmQgdGhl IHJ1bGUgdGhhdCBpZiBFIGlzIGEgcmVndWxhciBleHByZXNzaW9uIHRoZW4gc28gaXMgKEUpLiBB Y3R1YWxseSwNCnlvdSBtYXkgZmluZCB0aGUgc2FtZSBvbiBsYW1iZGEgY2FsY3VsdXMuDQoNCj4N Cj5JIHN1cHBvc2UgeW91IGNvdWxkIHBsYXkgd29yZCBnYW1lcyBhbmQgY2FsbCB0aGUgdHlwZWQg c3ludGF4IHRoZQ0KPiJkZWZpbml0aW9uIG9mIHR5cGUgdGhlb3J5IiBhbmQgdGhlIHVudHlwZWQg c3ludGF4IGEgInRlY2huaWNhbCB0b29sDQo+Zm9yIHByZXNlbnRpbmcgdGVybXMgaW4gdHlwZSB0 aGVvcnkiIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGJ1dCB0aGUNCj5wb2ludCBpcyB0aGF0IHRo ZSB1bnR5cGVkIHN5bnRheCBoYXMgdG8gYmUgdGhlcmUgYXQgc29tZSBwb2ludCwgb3INCj5lbHNl IG91ciBtZXRhdGhlb3J5IGlzIGluY29tcGxldGUuDQoNCkFzIHdpdGggdGhlIHN0cmluZ3MuLi4N Cg0KPiBBbmQgdGhlIGZhY3QgdGhhdCB0aGUgaW5pdGlhbGl0eQ0KPnRoZW9yZW0gZm9yIHlvdXIg dHlwZWQgc3ludGF4IGlzIHRyaXZpYWwgd2hpbGUgdGhlIGluaXRpYWxpdHkgdGhlb3JlbQ0KPmZv ciB1bnR5cGVkIHN5bnRheCBpcyBoYXJkIG1lYW5zIHRoYXQgdGhpcyBnYXAgaGFzIHJlYWwgbWF0 aGVtYXRpY2FsDQo+Y29udGVudCBhbmQgY2FuJ3QgYmUgZGlzbWlzc2VkIGFzIG9idmlvdXMgb3Ig bm90IHdvcnRoIHdvcnJ5aW5nIGFib3V0Lg0KDQpOZWl0aGVyIGNhbiBwYXJzaW5nLg0KDQo+DQo+ PiBTdWJzdGl0dXRpb24gaXMgYSBkZWZpbmVkIG1ldGF0aGVvcmV0aWMgb3BlcmF0aW9uLiBPbmNl IHlvdSB0YWtlIHRoZXNlDQo+PiBjaG9pY2VzIHlvdSBzcGVuZCBhIGxvdCBvZiB0aW1lIHByb3Zp bmcgdGhpbmdzIHdoaWNoIHNob3VsZCBiZSBvYnZpb3VzLg0KPj4gTm93LCBvYnZpb3VzbHkgdGhl cmUgaXMgbm90IG9uZSAiYmVzdCIgd2F5IHRvIGRlZmluZSB0eXBlIHRoZW9yeSBidXQgSQ0KPj4g dGhpbmsgd2UgaGF2ZSBtYWRlIGEgbG90IG9mIHByb2dyZXNzLiBUaGUgYmFzaWMgaW5ncmVkaWVu dHMgb2YgdGhpcw0KPj4gcHJvZ3Jlc3MgYXJlOg0KPj4NCj4+IDEuIFN1YnN0aXR1dGlvbiBpcyBh IHRlcm0gY29uc3RydWN0b3INCj4NCj5JIGhhdmUgdG8gZGlzYWdyZWUgaGVyZSB0b28uICBTdWJz dGl0dXRpb24gc2hvdWxkICpub3QqIGJlIGEgdGVybQ0KPmNvbnN0cnVjdG9yIChhdCBsZWFzdCwg bm90IGluIHRoZSBmdW5kYW1lbnRhbCBkZWZpbml0aW9uIG9mIHR5cGUNCj50aGVvcnkpLCBiZWNh dXNlICppbiBwcmFjdGljZSogdGhlIHRlcm1zIHdlIHdyaXRlIGRvIG5vdCBjb250YWluDQo+ZXhw bGljaXQgc3Vic3RpdHV0aW9ucy4gIFdoZW4gSSB0ZWxsIG15IGNhbGN1bHVzIHN0dWRlbnRzIHRv DQo+c3Vic3RpdHV0ZSBnKHgpIGZvciB5IGluIGYnKHkpIGluIHRoZSBjaGFpbiBydWxlLCBJIGV4 cGVjdCB0aGVtIHRvDQo+d3JpdGUgZicoZyh4KSksIG5vdCBmJyh5KVtnKHgpL3ldLiAgVXNpbmcg ZXhwbGljaXQgc3Vic3RpdHV0aW9ucyBpbg0KPnRoZSBzeW50YXggbWFrZXMgdGhlIHNlbWFudGlj cyBlYXNpZXIsIGJ1dCBhdCB0aGUgZXhwZW5zZSBvZiAiY2hhbmdpbmcNCj50aGUgcXVlc3Rpb24i IGF3YXkgZnJvbSB0aGUgb25lIHdlIHdhbnRlZCB0byBhc2sgaW4gdGhlIGZpcnN0IHBsYWNlLg0K PkluIHRoZSBlbmQgd2Ugd2FudCB0byBpbnRlcnByZXQgdGhlICphY3R1YWwqIHN5bnRheCB3ZSB3 cml0ZSBkb3duIG9uDQo+dGhlIHBhZ2UuDQoNCkJ1dCBkb2Vzbid0IHRoZSBzYW1lIGFwcGx5IHRv IGJldGEtcmVkZWNlcz8gV2UgZG9uJ3Qgd3JpdGUgcHJvZ3JhbXMNCmNvbnRhaW5pbmcgYmV0YS1y ZWRlY2VzLCB0aGV5IG9ubHkgc2hvdyB1cCB3aGVuIHdlIGV4cGFuZCBkZWZpbml0aW9ucy4gVGhl DQpzYW1lIHdpdGggc3Vic3RpdHV0aW9uczogd2UgZG9uJ3Qgd3JpdGUgdGhlbSBidXQgdGhleSBz aG93IHVwIGZvciBleGFtcGxlDQp3aGVuIHdlIHJlZHVjZWQgYmV0YSByZWRlY2VzLg0KDQo+T2Yg Y291cnNlLCBpbiBhbiBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlIFFJSVQgdHlwZWQgc3ludGF4LCB3 ZSBhcmUgZnJlZQ0KPnRvIGNob29zZSB0byBtYWtlIHN1YnN0aXR1dGlvbiBleHBsaWNpdDsgYnV0 IGV2ZW50dWFsbHkgd2UgbmVlZCB0bw0KPm1ha2UgdGhlIGNvbm5lY3Rpb24gYmFjayB0byBhIHN5 bnRheCBpbiB3aGljaCBzdWJzdGl0dXRpb24gaXMNCj5pbXBsaWNpdC4NCg0KV2Ugb25seSB3cml0 ZSBzdWJzdGl0dXRpb24gbm9ybWFsIGZvcm1zIGFzIHdlIG9ubHkgd3JpdGUgYmV0YSBub3JtYWwg dGVybXMuDQoNCj4NCj4+IEp1c3QgdG8gY29tbWVudCBvbiB0aGUgaC1sZXZlbCBwcm9ibGVtIHlv dSBkb24ndCB3YW50IHRvIGRpc2N1c3MgeWV0OiBpdA0KPj4gc2VlbXMgdG8gbWUgdGhhdCBpZiB3 ZSB3YW50IHRvIHVzZSBzb21ldGhpbmcgYWxvbmcgdGhlIGxpbmUgb2YgKDYpIHRvDQo+PiBkZWZp bmUgbm9ybWFsIGZvcm1zIGZvciBkZXBlbmRlbnQgdHlwZXMgd2UgZmFjZSB0aGUgcHJvYmxlbSB0 aGF0IHdlIG5lZWQNCj4+IHRvIGRlZmluZSBub3JtYWxpc2F0aW9uIGF0IHRoZSBzYW1lIHRpbWUg YXMgdGhlIHRlcm1zLiBUaGlzIGlzDQo+PiBpbmR1Y3Rpb24tcmVjdXJzaW9uIHdoaWNoIG9uIGl0 J3Mgb3duIHNob3VsZG4ndCBiZSBhIHByb2JsZW0uDQo+DQo+SSBhY3R1YWxseSB0aGluayBpdCdz IGJldHRlciB0byBkZWZpbmUgdGhlIGdyYXBoIG9mIGhlcmVkaXRhcnkNCj5zdWJzdGl0dXRpb24g aW5kdWN0aXZlLWluZHVjdGl2ZWx5IGFsb25nIHdpdGggdGhlIHRlcm1zLCBidXQgdGhhdCBtYXkN Cj5iZSBsYXJnZWx5IGFlc3RoZXRpYzsgaW4gZ2VuZXJhbCBJIHByZWZlciBpbmR1Y3Rpb24taW5k dWN0aW9uIG92ZXINCj5pbmR1Y3Rpb24tcmVjdXJzaW9uLg0KPg0KPj4gSG93ZXZlciwgaXQNCj4+ IHNlZW1zIHRvIG1lIHRoYXQgd2UgaGF2ZSB0byBwcm92ZSBwcm9wZXJ0aWVzIG9mIG5vcm1hbGlz YXRpb24gKGUuZy4NCj4+IHN1YnN0aXR1dGlvbiBsYXdzKSBhdCB0aGUgc2FtZSB0aW1lIHdoaWNo IGFnYWluIGdpdmUgcmlzZSB0byBjb2hlcmVuY2UNCj4+IHByb2JsZW1zLg0KPg0KPkkgYWdyZWUs IGJvdGggYXBwcm9hY2hlcyB3aWxsIGhhdmUgdG8gZGVhbCB3aXRoIGNvaGVyZW5jZSwgc2luY2Ug dGhleQ0KPmFyZSBlc3NlbnRpYWxseSBwcm92aW5nIHRoZSBzYW1lIHRoZW9yZW0gaW4gdHdvIGRp ZmZlcmVudCB3YXlzLiAgVGhlDQo+YWR2YW50YWdlIEkgZW52aXNpb24gZm9yICg2KSBpcyB0aGF0 IHRoZSBjb2hlcmVuY2UgaXMgYWxsIGVuY2Fwc3VsYXRlZA0KPmluIHRoZSAqb3BlcmF0aW9uKiBv ZiBoZXJlZGl0YXJ5IHN1YnN0aXR1dGlvbiBhbmQgY29ycmVzcG9uZGluZw0KPiJoaWdoZXIgb3Bl cmF0aW9ucyI6IHRoZSBhY3R1YWwgKmVxdWFsaXR5KiBvbiBub3JtYWwgZm9ybXMgY29pbmNpZGVz DQo+d2l0aCB0aGUgbWV0YXRoZW9yZXRpYyBlcXVhbGl0eSAqd2l0aG91dCogdGhlIG5lZWQgdG8g aW1wb3NlDQo+ZXF1YWxpdHktY29uc3RydWN0b3JzLiAgSXQgc2VlbXMgdG8gbWUgdGhhdCB0aGlz IG1heSBiZSB1c2VmdWwgd2hlbiB3ZQ0KPmNvbWUgdG8gaW50ZXJwcmV0IHRoZSB1bnR5cGVkIHN5 bnRheCBpbnRvIHRoZSB0eXBlZCBzeW50YXgsIGJlY2F1c2UgaXQNCj5tZWFucyB0aGVyZSBpcyBu byAiY29lcmNpb24gcnVsZSIgaW4gdGhlIHR5cGVkIHN5bnRheCB0byB3b3JyeSBhYm91dA0KPmhh dmluZyB0byBhcHBseS4NCj4NCj5JIGFncmVlIHRoYXQgbm9uLW5vcm1hbCBmb3JtcyBhcmUgaW1w b3J0YW50LCBmb3IgdGhlIHNhbWUgcmVhc29uIHRoYXQNCj51bnR5cGVkIHN5bnRheCBpcyBpbXBv cnRhbnQsIG5hbWVseSB0aGF0IHdlIGFjdHVhbGx5IHdyaXRlIHRoZW0gb24gdGhlDQo+cGFnZS4g IEJ1dCBzaW5jZSB0aGUgdHlwZWQgc3ludGF4IGlzIGp1c3QgYW4gaW50ZXJtZWRpYXRlIHN0ZXAg YmV0d2Vlbg0KPndoYXQgd2Ugd3JpdGUgb24gdGhlIHBhZ2UgYW5kIGl0cyBzZW1hbnRpYyBpbnRl cnByZXRhdGlvbiwgSSBkb24ndCBzZWUNCj5hIHByb2JsZW0gd2l0aCBwZXJmb3JtaW5nIHRoZSBu b3JtYWxpemF0aW9uIGluIHRoZSBzYW1lIHN0ZXAgdGhhdA0KPmludGVycHJldHMgdW50eXBlZCBz eW50YXggaW50byB0eXBlZCBzeW50YXguDQo+DQo+PiBJdCB3b3VsZCBiZSBpbnRlcmVzdGluZyB0 byBzZWUgYSB3YXkgdG8gYXZvaWQgdGhlc2UgaXNzdWVzLCBidXQNCj4+IHRoZW4gd291bGRuJ3Qg d2UgYmUgYWJsZSB0byBzb2x2ZSB0aGUgcHJvYmxlbSB0byBkZWZpbmUgc2VtaS1zaW1saWNpYWwN Cj4+IHNldHMgKG9yIG1vcmUgZ2VuZXJhbCByZWVkeSBsaW1pdHMpIGluIHBsYWluIEhvVFQ/DQo+ Pg0KPj4NCj4+IFRob3JzdGVuDQo+Pg0KPj4gT24gMjIvMDUvMjAxOCwgMDY6NDYsICJob21vdG9w eXQuLi5AZ29vZ2xlZ3JvdXBzLmNvbSBvbiBiZWhhbGYgb2YNCj4+IE1pY2hhZWwgU2h1bG1hbiIg PGhvbW90b3B5dC4uLkBnb29nbGVncm91cHMuY29tIG9uIGJlaGFsZiBvZg0KPj4gc2h1Li4uQHNh bmRpZWdvLmVkdT4gd3JvdGU6DQo+Pg0KPj4+VGhvcnN0ZW4gZ2F2ZSBhIHZlcnkgbmljZSBIb1RU RVNUIHRhbGsgYSBjb3VwbGUgd2Vla3MgYWdvIGFib3V0IGhpcw0KPj4+d29yayB3aXRoIGhpcyBj b2xsYWJvcmF0b3JzIG9uIGludHJpbnNpYyBzeW50YXggYXMgYSBRdW90aWVudA0KPj4+SW5kdWN0 aXZlLUluZHVjdGl2ZSBUeXBlLiAgU2luY2UgdGhlbiBJIGhhdmUgYmVlbiB0cnlpbmcgdG8gZml0 DQo+Pj50b2dldGhlciBhIG1lbnRhbCBwaWN0dXJlIG9mIGV4YWN0bHkgaG93IGFsbCB0aGUgZGlm ZmVyZW50IGFwcHJvYWNoZXMNCj4+PnRvIHN5bnRheCBhcmUgcmVsYXRlZCwgYnV0IEkgYW0gc3Rp bGwga2luZCBvZiBjb25mdXNlZC4NCj4+Pg0KPj4+SW4gYW4gYXR0ZW1wdCB0byBjbGFyaWZ5IHdo YXQgSSBtZWFuIGJ5ICJhbGwgdGhlIGRpZmZlcmVudA0KPj4+YXBwcm9hY2hlcyIsIGxldCBtZSBk ZXNjcmliZSBhbGwgdGhlIGFwcHJvYWNoZXMgSSBjYW4gdGhpbmsgb2YgaW4gdGhlDQo+Pj5jYXNl IG9mIGEgdmVyeSBzaW1wbGUgdHlwZSB0aGVvcnk6IG5vbi1kZXBlbmRlbnQgdW5hcnkgdHlwZSB0 aGVvcnkNCj4+PndpdGggcHJvZHVjdCB0eXBlcy4gIFVuYXJ5IG1lYW5zIHRoYXQgdGhlIGp1ZGdt ZW50cyBoYXZlIGV4YWN0bHkgb25lDQo+Pj50eXBlIGluIHRoZSBjb250ZXh0LCB4OkEgfC0gdDpC LCBhbmQgdGhlIG9ubHkgdHlwZSBjb25zdHJ1Y3RvciBpcyBhDQo+Pj5wcm9kdWN0IHR5cGUgQSB4 IEIsIHdpdGggcGFpcmluZyBmb3IgYW4gaW50cm9kdWN0aW9uIHJ1bGUgYW5kDQo+Pj5wcm9qZWN0 aW9ucyBmb3IgZWxpbWluYXRpb24uICBUaGUgc2VtYW50aWNzIHNob3VsZCBiZSBhIGNhdGVnb3J5 IHdpdGgNCj4+PmZpbml0ZSBwcm9kdWN0cy4gIEhlcmUgYXJlIGFsbCB0aGUgd2F5cyBJIGNhbiB0 aGluayBvZiB0byBkZXNjcmliZQ0KPj4+c3VjaCBhIHR5cGUgdGhlb3J5Og0KPj4+DQo+Pj4NCj4+ PjEuIEEgUUlJVCB0aGF0IG1pcnJvcnMgdGhlIHNlbWFudGljcywgd2l0aCBhbGwgdGhlIGNhdGVn b3JpY2FsDQo+Pj5vcGVyYXRpb25zIGFzIHBvaW50LWNvbnN0cnVjdG9ycyBhbmQgdGhlaXIgYXhp b21zIGFzDQo+Pj5lcXVhbGl0eS1jb25zdHJ1Y3RvcnMuDQo+Pj4NCj4+PmRhdGEgVHkgOiBTZXQg d2hlcmUNCj4+PiBfeF8gOiBUeSAtPiBUeSAtPiBUeQ0KPj4+W1RoaXMgd2lsbCBiZSB0aGUgc2Ft ZSBpbiBhbGwgY2FzZXMsIHNvIEkgaGVuY2Vmb3J0aCBvbWl0IGl0Ll0NCj4+Pg0KPj4+ZGF0YSBU bSA6IFR5IC0+IFR5IC0+IFNldCB3aGVyZQ0KPj4+ICBpZCA6IHtBfSAtPiBUbSBBIEENCj4+PiAg X29fIDogVG0gQSBCIC0+IFRtIEIgQyAtPiBUbSBBIEMNCj4+PiAgYXNzb2MgOiBoIG8gKGcgbyBm KSA9IChoIG8gZykgbyBmDQo+Pj4gIGxpZCA6IGlkIG8gZiA9IGYNCj4+PiAgcmlkIDogZiBvIGlk ID0gZg0KPj4+ICAoXyxfKSA6IFRtIEEgQiAtPiBUbSBBIEMgLT4gVG0gQSAoQiB4IEMpDQo+Pj4g IHByMSA6IFRtIChBIHggQikgQQ0KPj4+ICBwcjIgOiBUbSAoQSB4IEIpIEINCj4+PiAgYmV0YTEg OiBwcjEgbyAoZiAsIGcpID0gZg0KPj4+ICBiZXRhMiA6IHByMiBvIChmICwgZykgPSBnDQo+Pj4g IGV0YSA6IHAgPSAocHIxIG8gcCAsIHByMiBvIHApDQo+Pj4NCj4+Pg0KPj4+Mi4gQW4gSW5kdWN0 aXZlLUluZHVjdGl2ZSBmYW1pbHkgb2Ygc2V0b2lkcyB0aGF0IHNpbWlsYXJseSBtaXJyb3JzIHRo ZQ0KPj4+Y2F0ZWdvcmljYWwgc2VtYW50aWNzLCB3aXRoIGp1ZGdtZW50YWwgZXF1YWxpdHkgYW4g aW5kdWN0aXZlIHR5cGUNCj4+PmZhbWlseSByYXRoZXIgdGhhbiBjb2luY2lkaW5nIHdpdGggdGhl IG1ldGF0aGVvcmV0aWMgZXF1YWxpdHkuDQo+Pj4NCj4+PmRhdGEgVG0gOiBUeSAtPiBUeSAtPiBT ZXQgd2hlcmUNCj4+PiAgaWQgOiB7QX0gLT4gVG0gQSBBDQo+Pj4gIF9vXyA6IFRtIEEgQiAtPiBU bSBCIEMgLT4gVG0gQSBDDQo+Pj4gIChfLF8pIDogVG0gQSBCIC0+IFRtIEEgQyAtPiBUbSBBIChC IHggQykNCj4+PiAgcHIxIDogVG0gKEEgeCBCKSBBDQo+Pj4gIHByMiA6IFRtIChBIHggQikgQg0K Pj4+DQo+Pj5kYXRhIEVxIDogVG0gQSBCIC0+IFRtIEEgQiAtPiBTZXQgd2hlcmUNCj4+PiAgYXNz b2MgOiBFcSAoaCBvIChnIG8gZikpICgoaCBvIGcpIG8gZikNCj4+PiAgbGlkIDogRXEgKGlkIG8g ZikgZg0KPj4+ICByaWQgOiBFcSA5ZiBvIGlkKSBmDQo+Pj4gIGJldGExIDogRXEgKHByMSBvIChm ICwgZykpIGYNCj4+PiAgYmV0YTIgOiBFcSAocHIyIG8gKGYgLCBnKSkgZw0KPj4+ICBldGEgOiBF cSBwIChwcjEgbyBwICwgcHIyIG8gcCkNCj4+Pg0KPj4+DQo+Pj4zLiBBIFFJSVQgdGhhdCBpbnN0 ZWFkIG1pcnJvcnMgdGhlIHVzdWFsIHR5cGUtdGhlb3JldGljIHN5bnRheCwgd2l0aA0KPj4+b3Bl cmF0aW9ucyBsaWtlIGNvbXBvc2l0aW9uIGJlaW5nIGFkbWlzc2libGUgcmF0aGVyIHRoYW4gcHJp bWl0aXZlLg0KPj4+SW4gb3VyIHNpbXBsZSBjYXNlIGl0IGxvb2tzIGxpa2UgdGhpczoNCj4+Pg0K Pj4+ZGF0YSBUbSA6IFR5IC0+IFR5IC0+IFNldCB3aGVyZQ0KPj4+ICBpZCA6IHtBfSAtPiBUbSBB IEENCj4+PiAgKF8sXykgOiBUbSBBIEIgLT4gVG0gQSBDIC0+IFRtIEEgKEIgeCBDKQ0KPj4+ICBw cjEgOiBUbSBBIChCIHggQykgLT4gVG0gQSBCDQo+Pj4gIHByMiA6IFRtIEEgKEIgeCBDKSAtPiBU bSBBIEMNCj4+PiAgYmV0YTEgOiBwcjEgKGYgLCBnKSA9IGYNCj4+PiAgYmV0YTIgOiBwcjIgKGYg LCBnKSA9IGcNCj4+PiAgZXRhIDogcCA9IChwcjEgcCAsIHByMiBwKQ0KPj4+DQo+Pj4NCj4+PjQu IENvbWJpbmluZyAyIGFuZCAzLCBhbiBJSSBmYW1pbHkgb2Ygc2V0b2lkcyB0aGF0IG1pcnJvcnMN Cj4+PnR5cGUtdGhlb3JldGljIHN5bnRheC4NCj4+Pg0KPj4+ZGF0YSBUbSA6IFR5IC0+IFR5IC0+ IFNldCB3aGVyZQ0KPj4+ICBpZCA6IHtBfSAtPiBUbSBBIEENCj4+PiAgKF8sXykgOiBUbSBBIEIg LT4gVG0gQSBDIC0+IFRtIEEgKEIgeCBDKQ0KPj4+ICBwcjEgOiBUbSBBIChCIHggQykgLT4gVG0g QSBCDQo+Pj4gIHByMiA6IFRtIEEgKEIgeCBDKSAtPiBUbSBBIEMNCj4+Pg0KPj4+ZGF0YSBFcSA6 IFRtIEEgQiAtPiBUbSBBIEIgLT4gU2V0IHdoZXJlDQo+Pj4gIGJldGExIDogRXEgKHByMSAoZiAs IGcpKSBmDQo+Pj4gIGJldGEyIDogRXEgKHByMiAoZiAsIGcpKSBnDQo+Pj4gIGV0YSA6IEVxIHAg KHByMSBwICwgcHIyIHApDQo+Pj4NCj4+Pg0KPj4+NS4gQSBzaW5nbGUgaW5kdWN0aXZlIHR5cGUg b2YgcmF3IHRlcm1zLCB0b2dldGhlciB3aXRoIGluZHVjdGl2ZQ0KPj4+cHJlZGljYXRlcyBvdmVy IGl0IGZvciB0aGUgdHlwaW5nIGp1ZGdtZW50IGFuZCBlcXVhbGl0eSBqdWRnbWVudHMuDQo+Pj4N Cj4+PmRhdGEgVG0gOiBTZXQgd2hlcmUNCj4+PiAgdmFyIDogVG0NCj4+PiAgKF8sXykgOiBUbSAt PiBUbSAtPiBUbQ0KPj4+ICBwcjEgOiBUbSAtPiBUbQ0KPj4+ICBwcjIgOiBUbSAtPiBUbQ0KPj4+ DQo+Pj5kYXRhIE9mIDogVHkgLT4gVG0gLT4gVHkgLT4gU2V0IHdoZXJlDQo+Pj4gIG9mLXZhciA6 IE9mIEEgdmFyIEENCj4+PiAgb2YtcGFpciA6IE9mIEEgdCBCIC0+IE9mIEEgcyBDIC0+IE9mIEEg KHQgLCBzKSAoQiB4IEMpDQo+Pj4gIG9mLXByMSA6IE9mIEEgdCAoQiB4IEMpIC0+IE9mIEEgKHBy MSB0KSBCDQo+Pj4gIG9mLXByMiA6IE9mIEEgdCAoQiB4IEMpIC0+IE9mIEEgKHByMiB0KSBDDQo+ Pj4NCj4+PmRhdGEgRXEgOiBUeSAtPiBUbSAtPiBUbSAtPiBUeSAtPiBTZXQgd2hlcmUNCj4+PiAg YmV0YTEgOiBPZiBBIHQgQiAtPiBPZiBBIHMgQyAtPiBFcSBBIChwcjEgKHQgLCBzKSkgdCBCDQo+ Pj4gIGJldGEyIDogT2YgQSB0IEIgLT4gT2YgQSBzIEMgLT4gRXEgQSAocHIyICh0ICwgcykpIHQg Qw0KPj4+ICBldGEgOiBPZiBBIHQgKEIgeCBDKSAtPiBFcSBBIChwcjEgdCAsIHByMiB0KSB0IChC IHggQykNCj4+Pg0KPj4+DQo+Pj42LiBBbiBJSSBmYW1pbHkgdGhhdCBkZWZpbmVzIG9ubHkgdGhl IG5vcm1hbCBmb3JtcywgdmlhIGEgc2VwYXJhdGUNCj4+Pmp1ZGdtZW50IGZvciAiYXRvbWljIiB0 ZXJtcyB0aGF0IHByZXZlbnRzIHVzIGZyb20gd3JpdGluZyBkb3duIGFueQ0KPj4+YmV0YS1yZWRl eGVzLCB0aGVyZWJ5IGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciBhbnkgZXF1YWxpdHkganVkZ21l bnQNCj4+Pih0aG91Z2ggc3Vic3RpdHV0aW9uIHRoZW4gYmVjb21lcyBtb3JlIGNvbXBsaWNhdGVk LCBhcyBpdCBtdXN0DQo+Pj5lc3NlbnRpYWxseSBpbmNvcnBvcmF0ZSBiZXRhLXJlZHVjdGlvbiku DQo+Pj4NCj4+PmRhdGEgQXRvbSA6IFR5IC0+IFR5IC0+IFNldCB3aGVyZQ0KPj4+ICBpZCA6IHtB fSAtPiBBdG9tIEEgQQ0KPj4+ICBwcjEgOiBBdG9tIEEgKEIgeCBDKSAtPiBBdG9tIEEgQg0KPj4+ ICBwcjIgOiBBdG9tIEEgKEIgeCBDKSAtPiBBdG9tIEEgQw0KPj4+DQo+Pj5kYXRhIFRtIDogVHkg LT4gVHkgLT4gU2V0IHdoZXJlDQo+Pj4gIGF0b20gOiBBdG9tIEEgQiAtPiBUbSBBIEINCj4+PiAg KF8sXykgOiBUbSBBIEIgLT4gVG0gQSBDIC0+IFRtIEEgKEIgeCBDKQ0KPj4+DQo+Pj4NCj4+Pjcu IENvbWJpbmluZyA1IGFuZCA2LCBhbiBpbmR1Y3RpdmUgdHlwZSBvZiByYXcgdGVybXMgYW5kIHBy ZWRpY2F0ZXMNCj4+Pm92ZXIgaXQgdGhhdCB0eXBlIG9ubHkgdGhlIG5vcm1hbCBmb3Jtcy4NCj4+ Pg0KPj4+ZGF0YSBUbSA6IFNldCB3aGVyZQ0KPj4+ICB2YXIgOiBUbQ0KPj4+ICAoXyxfKSA6IFRt IC0+IFRtIC0+IFRtDQo+Pj4gIHByMSA6IFRtIC0+IFRtDQo+Pj4gIHByMiA6IFRtIC0+IFRtDQo+ Pj4NCj4+PmRhdGEgQXRvbSA6IFR5IC0+IFRtIC0+IFR5IC0+IFNldCB3aGVyZQ0KPj4+ICBhdG9t LXZhciA6IEF0b20gQSB2YXIgQQ0KPj4+ICBhdG9tLXByMSA6IEF0b20gQSB0IChCIHggQykgLT4g QXRvbSBBIChwcjEgdCkgQg0KPj4+ICBhdG9tLXByMiA6IEF0b20gQSB0IChCIHggQykgLT4gQXRv bSBBIChwcjIgdCkgQw0KPj4+DQo+Pj5kYXRhIE9mIDogVHkgLT4gVG0gLT4gVHkgLT4gU2V0IHdo ZXJlDQo+Pj4gIG9mLWF0b20gOiBBdG9tIEEgdCBCIC0+IE9mIEEgdCBCDQo+Pj4gIG9mLXBhaXIg OiBPZiBBIHQgQiAtPiBPZiBBIHMgQyAtPiBPZiBBICh0ICwgcykgKEIgeCBDKQ0KPj4+DQo+Pj4N Cj4+PlRoaXMgaXMgYWxsIEkgY2FuIHRoaW5rIG9mIHJpZ2h0IG5vdy4gIEFyZSB0aGVyZSBvdGhl cnM/ICBBcmUgdGhlcmUNCj4+Pm90aGVyIGNob2ljZXMgd2UgY2FuIG1ha2UgaW4gdGhlIGNhc2Ug b2YgZGVwZW5kZW50IHR5cGUgdGhlb3J5IHRoYXQNCj4+PmFyZSBub3QgdmlzaWJsZSBpbiB0aGlz IHNpbXBsZSBjYXNlPw0KPj4+DQo+Pj5JbiB0aGUgYWJvdmUgc2ltcGxlIGNhc2Ugb2YgdW5hcnkg dHlwZSB0aGVvcnkgd2l0aCBwcm9kdWN0cywgaXQgc2hvdWxkDQo+Pj5iZSBlYXN5IHRvIHNob3cg dGhhdCBhbGwgdGhlc2UgZGVmaW5pdGlvbnMgY29uc3RydWN0IHRoZSBpbml0aWFsDQo+Pj5jYXRl Z29yeSB3aXRoIHByb2R1Y3RzLiAgKFRoZXJlIHNob3VsZCBiZSBzb21lIGdlbmVyYXRpbmcvYXhp b21hdGljDQo+Pj50eXBlcyBhbmQgdGVybXMgdG9vLCB0byBtYWtlIHRoZSByZXN1bHQgbm9udHJp dmlhbCwgYnV0IEkndmUgbGVmdCB0aGVtDQo+Pj5vdXQgZm9yIGJyZXZpdHkuKSAgTXkgbWFpbiBx dWVzdGlvbiBpcywgd2hlcmUgZG8gdGhpbmdzIGJlY29tZSBoYXJkIGluDQo+Pj50aGUgY2FzZSBv ZiBkZXBlbmRlbnQgdHlwZSB0aGVvcnk/DQo+Pj4NCj4+Pkl0IHNlZW1zIHRvIG1lIHRoYXQgdGhl IG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuICgxKSBhbmQgKDIpLCBhbmQNCj4+PmJldHdlZW4gKDMp IGFuZCAoNCksIGlzIGNvbnZlbmllbmNlOyBpcyB0aGF0IHJpZ2h0PyAgVHlwZSB0aGVvcnkgaGFz DQo+Pj5ubyBpbmZpbml0YXJ5IGNvbnN0cnVjdG9ycywgc28gdGhlcmUgc2hvdWxkbid0IGJlIGF4 aW9tLW9mLWNob2ljZQ0KPj4+aXNzdWVzIHdpdGggZGVzY2VuZGluZyBhbGdlYnJhaWMgb3BlcmF0 aW9ucyB0byBhIHF1b3RpZW50OyBpdCdzIGp1c3QNCj4+PnRoYXQgdGhlIGJvb2trZWVwaW5nIGlu dm9sdmVkIGluIGRlYWxpbmcgd2l0aCBzZXRvaWRzIGV2ZXJ5d2hlcmUNCj4+PmJlY29tZXMgdW5t YW5hZ2VhYmxlIGluIHRoZSBjYXNlIG9mIERUVC4gIFJpZ2h0Pw0KPj4+DQo+Pj5UaG9yc3RlbiBz YWlkIHRoYXQgKDEpIGluIHRoZSBjYXNlIG9mIGRlcGVuZGVudCB0eXBlIHRoZW9yeSBpcw0KPj4+ dGF1dG9sb2dpY2FsbHkgdGhlIGluaXRpYWwgQ3dGLCB3aGljaCBzZWVtcyBlbWluZW50bHkgcGxh dXNpYmxlLiAgSQ0KPj4+ZG9uJ3QgdGhpbmsgdGhpcyBzb2x2ZXMgdGhlICJpbml0aWFsaXR5IGNv bmplY3R1cmUiLCBidXQgd2hlcmUgaXMgdGhlDQo+Pj5zdGlja2luZyBwb2ludD8gIElzIGl0IGJl dHdlZW4gKDEpIGFuZCAoMyksIG9yIGJldHdlZW4gKDMpIGFuZCAoNSk/DQo+Pj4NCj4+PihOb3Rl IHRoYXQgSSdtIG5vdCB0YWxraW5nIGF0IGFsbCBhYm91dCB0aGUgImgtbGV2ZWwgcHJvYmxlbSIg dGhhdA0KPj4+dGhlc2UgUUlJVHMgYXJlIGJ5IGRlZmluaXRpb24gc2V0cyBidXQgdGhhdCBmb3Ig SG9UVCB0byAiZWF0IGl0c2VsZiINCj4+PndlIHdvdWxkIHdhbnQgdG8gZWxpbWluYXRlIG91dCBv ZiB0aGVtIGludG8gdGhlIHVuaXZlcnNlIHdoaWNoIGlzIG5vdA0KPj4+YSBzZXQuICBJJ20gb25s eSB0YWxraW5nIGFib3V0IGluaXRpYWxpdHkgb2Ygc3ludGF4IGFtb25nICpzdHJpY3QqDQo+Pj5D d0ZzOyBjb2hlcmVuY2Uvc3RyaWN0aWZpY2F0aW9uIHRoZW9yZW1zIGNhbiB3YWl0LiAgUGVyc29u YWxseSwNCj4+PnRob3VnaCwgSSBsaWtlICg2KS0oNykgYXMgcG90ZW50aWFsIGFwcHJvYWNoZXMg dG8gY29oZXJlbmNlLikNCj4+Pg0KPj4+LS0NCj4+PllvdSByZWNlaXZlZCB0aGlzIG1lc3NhZ2Ug YmVjYXVzZSB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIEdvb2dsZQ0KPj4+R3JvdXBzDQo+Pj4i SG9tb3RvcHkgVHlwZSBUaGVvcnkiIGdyb3VwLg0KPj4+VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlz IGdyb3VwIGFuZCBzdG9wIHJlY2VpdmluZyBlbWFpbHMgZnJvbSBpdCwgc2VuZA0KPj4+YW4NCj4+ PmVtYWlsIHRvIEhvbW90b3B5VHlwZVRoZS4uLkBnb29nbGVncm91cHMuY29tLg0KPj4+Rm9yIG1v cmUgb3B0aW9ucywgdmlzaXQgaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL29wdG91dC4NCj4+ DQo+Pg0KPj4NCj4+DQo+PiBUaGlzIG1lc3NhZ2UgYW5kIGFueSBhdHRhY2htZW50IGFyZSBpbnRl bmRlZCBzb2xlbHkgZm9yIHRoZSBhZGRyZXNzZWUNCj4+IGFuZCBtYXkgY29udGFpbiBjb25maWRl bnRpYWwgaW5mb3JtYXRpb24uIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMNCj4+IG1lc3NhZ2Ug aW4gZXJyb3IsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSB0aGUgZW1haWwg YW5kDQo+PiBhdHRhY2htZW50Lg0KPj4NCj4+IEFueSB2aWV3cyBvciBvcGluaW9ucyBleHByZXNz ZWQgYnkgdGhlIGF1dGhvciBvZiB0aGlzIGVtYWlsIGRvIG5vdA0KPj4gbmVjZXNzYXJpbHkgcmVm bGVjdCB0aGUgdmlld3Mgb2YgdGhlIFVuaXZlcnNpdHkgb2YgTm90dGluZ2hhbS4gRW1haWwNCj4+ IGNvbW11bmljYXRpb25zIHdpdGggdGhlIFVuaXZlcnNpdHkgb2YgTm90dGluZ2hhbSBtYXkgYmUg bW9uaXRvcmVkDQo+PiB3aGVyZSBwZXJtaXR0ZWQgYnkgbGF3Lg0KPj4NCj4+DQo+Pg0KPj4NCj4+ IC0tDQo+PiBZb3UgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91IGFyZSBzdWJzY3Jp YmVkIHRvIHRoZSBHb29nbGUNCj4+R3JvdXBzICJIb21vdG9weSBUeXBlIFRoZW9yeSIgZ3JvdXAu DQo+PiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgZ3JvdXAgYW5kIHN0b3AgcmVjZWl2aW5nIGVt YWlscyBmcm9tIGl0LCBzZW5kDQo+PmFuIGVtYWlsIHRvIEhvbW90b3B5VHlwZVRoZS4uLkBnb29n bGVncm91cHMuY29tLg0KPj4gRm9yIG1vcmUgb3B0aW9ucywgdmlzaXQgaHR0cHM6Ly9ncm91cHMu Z29vZ2xlLmNvbS9kL29wdG91dC4NCg0KCgoKVGhpcyBtZXNzYWdlIGFuZCBhbnkgYXR0YWNobWVu dCBhcmUgaW50ZW5kZWQgc29sZWx5IGZvciB0aGUgYWRkcmVzc2VlCmFuZCBtYXkgY29udGFpbiBj b25maWRlbnRpYWwgaW5mb3JtYXRpb24uIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMKbWVzc2Fn ZSBpbiBlcnJvciwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIHRoZSBlbWFp bCBhbmQKYXR0YWNobWVudC4gCgpBbnkgdmlld3Mgb3Igb3BpbmlvbnMgZXhwcmVzc2VkIGJ5IHRo ZSBhdXRob3Igb2YgdGhpcyBlbWFpbCBkbyBub3QKbmVjZXNzYXJpbHkgcmVmbGVjdCB0aGUgdmll d3Mgb2YgdGhlIFVuaXZlcnNpdHkgb2YgTm90dGluZ2hhbS4gRW1haWwKY29tbXVuaWNhdGlvbnMg d2l0aCB0aGUgVW5pdmVyc2l0eSBvZiBOb3R0aW5naGFtIG1heSBiZSBtb25pdG9yZWQgCndoZXJl IHBlcm1pdHRlZCBieSBsYXcuCgoKCgo=