From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17 via Mailbox Transport; Tue, 14 Feb 2023 08:02:15 +0000 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Tue, 14 Feb 2023 08:02:15 +0000 Received: from exchange.romulus.metastack.com (172.16.0.21) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.2507.17 via Frontend Transport; Tue, 14 Feb 2023 08:02:15 +0000 Received: from romulus.metastack.com ([172.16.0.20]) by exchange.romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 31E81UF5016085 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 14 Feb 2023 08:01:30 GMT Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 31E81MNW016067 for ; Tue, 14 Feb 2023 08:01:22 GMT Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 14 Feb 2023 09:01:18 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 7522FE0241; Tue, 14 Feb 2023 09:01:17 +0100 (CET) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 1462BE00A1 for ; Tue, 14 Feb 2023 09:01:11 +0100 (CET) Received: from mail-pf1-f182.google.com ([209.85.210.182]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Feb 2023 09:01:09 +0100 Received: by mail-pf1-f182.google.com with SMTP id ct17so4046725pfb.12 for ; Tue, 14 Feb 2023 00:01:09 -0800 (PST) From: ICFP Publicity Subject: [Caml-list] ICFP 2023: Last Call for Papers Thread-Topic: [Caml-list] ICFP 2023: Last Call for Papers Thread-Index: AQHZQEqnIQwbN1n7Tkmdla8w21slPA== Sender: "caml-list-request@inria.fr" X-MS-Exchange-MessageSentRepresentingType: 2 Date: Tue, 14 Feb 2023 08:00:56 +0000 Message-ID: Keywords: Sent to dra-news@metastack.com,MetaStack - Lists,MetaStack List-Help: List-Subscribe: List-Unsubscribe: Reply-To: ICFP Publicity Content-Language: en-GB X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: Hermes.metastack.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-Network-Message-Id: 89d2a659-2db5-4a6d-0c30-08db0e61c956 X-MS-TNEF-Correlator: X-MS-Exchange-Organization-RecordReviewCfmType: 0 x-scanned-by: MIMEDefang 2.65 on 62.31.23.242 x-received: by 2002:a63:3c56:0:b0:4fb:bca1:b3bb with SMTP id i22-20020a633c56000000b004fbbca1b3bbmr150652pgn.101.1676361667644; Tue, 14 Feb 2023 00:01:07 -0800 (PST) received-spf: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only x-ironport-av: E=Sophos;i="5.97,296,1669071600"; d="scan'208";a="92562242" x-ironport-anti-spam-filtered: true x-loop: caml-list@inria.fr x-no-archive: yes Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 ICAgICAgICAgICAgIFBBQ01QTCBWb2x1bWUgNywgSXNzdWUgSUNGUCAyMDIzDQogICAgICAgICAg ICAgICAgICAgICAgICAgICBDYWxsIGZvciBQYXBlcnMNCg0KICAgICAgICAgICBBY2NlcHRlZCBw YXBlcnMgdG8gYmUgaW52aXRlZCBmb3IgcHJlc2VudGF0aW9uIGF0DQpUaGUgMjh0aCBBQ00gU0lH UExBTiBJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24gRnVuY3Rpb25hbCBQcm9ncmFtbWluZw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlYXR0bGUsIFVTQQ0KICAgICAgICAgICAgICAg ICAgICAgaHR0cDovL2ljZnAyMy5zaWdwbGFuLm9yZy8NCg0KIyMjIEltcG9ydGFudCBkYXRlcw0K DQooQWxsIGRhdGVzIGFyZSBpbiAyMDIzIGF0IDExLjU5cG0gYW55d2hlcmUgb24gZWFydGguKQ0K DQpTdWJtaXNzaW9uIGRlYWRsaW5lOiAgIDEgTWFyY2ggMjAyMyAoV2VkbmVzZGF5KQ0KICAgICAg ICAgICAgICAgICAgICAgICAoaHR0cHM6Ly9pY2ZwMjMuaG90Y3JwLmNvbSkNCkF1dGhvciByZXNw b25zZTogICAgICAgMSBNYXkgKE1vbmRheSktLTQgTWF5IChUaHVyc2RheSkNClJvdW5kIDEgbm90 aWZpY2F0aW9uOiAgMTggTWF5IChUaHVyc2RheSkNClJvdW5kIDIgbm90aWZpY2F0aW9uOiAgMjkg SnVuZSAoVGh1cnNkYXkpDQpDYW1lcmEtcmVhZHkgZGVhZGxpbmU6IDIwIEp1bHkgKFRodXJzZGF5 KQ0KQ29uZmVyZW5jZTogICAgICAgICAgICA0IFNlcHRlbWJlciAoTW9uZGF5KS0tOSBTZXB0ZW1i ZXIgKFNhdHVyZGF5KQ0KDQojIyMgQWJvdXQgUEFDTVBMDQoNClByb2NlZWRpbmdzIG9mIHRoZSBB Q00gb24gUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIChQQUNNUEwNCjxodHRwczovL3BhY21wbC5hY20u b3JnLz4pIGlzIGEgR29sZCBPcGVuIEFjY2VzcyBqb3VybmFsIHB1Ymxpc2hpbmcNCnJlc2VhcmNo IG9uIGFsbCBhc3BlY3RzIG9mIHByb2dyYW1taW5nIGxhbmd1YWdlcywgZnJvbSBkZXNpZ24gdG8N CmltcGxlbWVudGF0aW9uIGFuZCBmcm9tIG1hdGhlbWF0aWNhbCBmb3JtYWxpc21zIHRvIGVtcGly aWNhbA0Kc3R1ZGllcy4gRWFjaCBpc3N1ZSBvZiB0aGUgam91cm5hbCBpcyBkZXZvdGVkIHRvIGEg cGFydGljdWxhciBzdWJqZWN0DQphcmVhIHdpdGhpbiBwcm9ncmFtbWluZyBsYW5ndWFnZXMgYW5k IHdpbGwgYmUgYW5ub3VuY2VkIHRocm91Z2gNCnB1YmxpY2lzZWQgQ2FsbHMgZm9yIFBhcGVycywg bGlrZSB0aGlzIG9uZS4NCg0KIyMjIFNjb3BlDQoNCltQQUNNUExdKGh0dHBzOi8vcGFjbXBsLmFj bS5vcmcvKSBpc3N1ZSBJQ0ZQIDIwMjMgc2Vla3Mgb3JpZ2luYWwNCnBhcGVycyBvbiB0aGUgYXJ0 IGFuZCBzY2llbmNlIG9mIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuIFN1Ym1pc3Npb25zDQphcmUg aW52aXRlZCBvbiBhbGwgdG9waWNzIGZyb20gcHJpbmNpcGxlcyB0byBwcmFjdGljZSwgZnJvbQ0K Zm91bmRhdGlvbnMgdG8gZmVhdHVyZXMsIGFuZCBmcm9tIGFic3RyYWN0aW9uIHRvIGFwcGxpY2F0 aW9uLiBUaGUNCnNjb3BlIGluY2x1ZGVzIGFsbCBsYW5ndWFnZXMgdGhhdCBlbmNvdXJhZ2UgZnVu Y3Rpb25hbCBwcm9ncmFtbWluZywNCmluY2x1ZGluZyBib3RoIHB1cmVseSBhcHBsaWNhdGl2ZSBh bmQgaW1wZXJhdGl2ZSBsYW5ndWFnZXMsIGFzIHdlbGwgYXMNCmxhbmd1YWdlcyB3aXRoIG9iamVj dHMsIGNvbmN1cnJlbmN5LCBvciBwYXJhbGxlbGlzbS4gVG9waWNzIG9mDQppbnRlcmVzdCBpbmNs dWRlIChidXQgYXJlIG5vdCBsaW1pdGVkIHRvKToNCg0KICAqIExhbmd1YWdlIERlc2lnbjogY29u Y3VycmVuY3ksIHBhcmFsbGVsaXNtLCBhbmQgZGlzdHJpYnV0aW9uOw0KICAgIG1vZHVsYXJpdHk7 IGNvbXBvbmVudHMgYW5kIGNvbXBvc2l0aW9uOyBtZXRhcHJvZ3JhbW1pbmc7IG1hY3JvczsNCiAg ICBwYXR0ZXJuIG1hdGNoaW5nOyB0eXBlIHN5c3RlbXM7IHR5cGUgaW5mZXJlbmNlOyBkZXBlbmRl bnQgdHlwZXM7DQogICAgZWZmZWN0IHR5cGVzOyBncmFkdWFsIHR5cGVzOyByZWZpbmVtZW50IHR5 cGVzOyBzZXNzaW9uIHR5cGVzOw0KICAgIGludGVyb3BlcmFiaWxpdHk7IGRvbWFpbi1zcGVjaWZp YyBsYW5ndWFnZXM7IGltcGVyYXRpdmUNCiAgICBwcm9ncmFtbWluZzsgb2JqZWN0LW9yaWVudGVk IHByb2dyYW1taW5nOyBsb2dpYyBwcm9ncmFtbWluZzsNCiAgICBwcm9iYWJpbGlzdGljIHByb2dy YW1taW5nOyByZWFjdGl2ZSBwcm9ncmFtbWluZzsgZ2VuZXJpYw0KICAgIHByb2dyYW1taW5nOyBi aWRpcmVjdGlvbmFsIHByb2dyYW1taW5nLg0KDQogICogSW1wbGVtZW50YXRpb246IGFic3RyYWN0 IG1hY2hpbmVzOyB2aXJ0dWFsIG1hY2hpbmVzOw0KICAgIGludGVycHJldGF0aW9uOyBjb21waWxh dGlvbjsgY29tcGlsZS10aW1lIGFuZCBydW4tdGltZQ0KICAgIG9wdGltaXNhdGlvbjsgZ2FyYmFn ZSBjb2xsZWN0aW9uIGFuZCBtZW1vcnkgbWFuYWdlbWVudDsgcnVudGltZQ0KICAgIHN5c3RlbXM7 IG11bHRpLXRocmVhZGluZzsgZXhwbG9pdGluZyBwYXJhbGxlbCBoYXJkd2FyZTsgaW50ZXJmYWNl cw0KICAgIHRvIGZvcmVpZ24gZnVuY3Rpb25zLCBzZXJ2aWNlcywgY29tcG9uZW50cywgb3IgbG93 LWxldmVsIG1hY2hpbmUNCiAgICByZXNvdXJjZXMuDQoNCiAgKiBTb2Z0d2FyZS1EZXZlbG9wbWVu dCBUZWNobmlxdWVzOiBhbGdvcml0aG1zIGFuZCBkYXRhIHN0cnVjdHVyZXM7DQogICAgZGVzaWdu IHBhdHRlcm5zOyBzcGVjaWZpY2F0aW9uOyB2ZXJpZmljYXRpb247IHZhbGlkYXRpb247IHByb29m DQogICAgYXNzaXN0YW50czsgZGVidWdnaW5nOyB0ZXN0aW5nOyB0cmFjaW5nOyBwcm9maWxpbmc7 IGJ1aWxkIHN5c3RlbXM7DQogICAgcHJvZ3JhbSBzeW50aGVzaXMuDQoNCiAgKiBGb3VuZGF0aW9u czogZm9ybWFsIHNlbWFudGljczsgbGFtYmRhIGNhbGN1bHVzOyBwcm9ncmFtDQogICAgZXF1aXZh bGVuY2U7IHJld3JpdGluZzsgdHlwZSB0aGVvcnk7IGxvZ2ljOyBjYXRlZ29yeSB0aGVvcnk7DQog ICAgY29tcHV0YXRpb25hbCBlZmZlY3RzOyBjb250aW51YXRpb25zOyBjb250cm9sOyBzdGF0ZTsg bmFtZXMgYW5kDQogICAgYmluZGluZzsgcHJvZ3JhbSB2ZXJpZmljYXRpb24uDQoNCiAgKiBBbmFs eXNpcyBhbmQgVHJhbnNmb3JtYXRpb246IGNvbnRyb2wgZmxvdzsgZGF0YSBmbG93OyBhYnN0cmFj dA0KICAgIGludGVycHJldGF0aW9uOyBwYXJ0aWFsIGV2YWx1YXRpb247IHByb2dyYW0gY2FsY3Vs YXRpb24uDQoNCiAgKiBBcHBsaWNhdGlvbnM6IHN5bWJvbGljIGNvbXB1dGluZzsgZm9ybWFsLW1l dGhvZHMgdG9vbHM7IGFydGlmaWNpYWwNCiAgICBpbnRlbGxpZ2VuY2U7IHN5c3RlbXMgcHJvZ3Jh bW1pbmc7IGRpc3RyaWJ1dGVkIHN5c3RlbXMgYW5kIHdlYg0KICAgIHByb2dyYW1taW5nOyBoYXJk d2FyZSBkZXNpZ247IGRhdGFiYXNlczsgc2NpZW50aWZpYyBhbmQgbnVtZXJpY2FsDQogICAgY29t cHV0aW5nOyBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzOyBncmFwaGljcyBhbmQgbXVsdGltZWRp YTsgR1BVDQogICAgcHJvZ3JhbW1pbmc7IHNjcmlwdGluZzsgc3lzdGVtIGFkbWluaXN0cmF0aW9u OyBzZWN1cml0eS4NCg0KICAqIEVkdWNhdGlvbjogdGVhY2hpbmcgaW50cm9kdWN0b3J5IHByb2dy YW1taW5nOyBtYXRoZW1hdGljYWwgcHJvb2Y7DQogICAgYWxnZWJyYS4NCg0KU3VibWlzc2lvbnMg d2lsbCBiZSBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHJlbGV2YW5jZSwNCmNvcnJlY3Ru ZXNzLCBzaWduaWZpY2FuY2UsIG9yaWdpbmFsaXR5LCBhbmQgY2xhcml0eS4gRWFjaCBzdWJtaXNz aW9uDQpzaG91bGQgZXhwbGFpbiBpdHMgY29udHJpYnV0aW9ucyBpbiBib3RoIGdlbmVyYWwgYW5k IHRlY2huaWNhbCB0ZXJtcywNCmNsZWFybHkgaWRlbnRpZnlpbmcgd2hhdCBoYXMgYmVlbiBhY2Nv bXBsaXNoZWQsIGV4cGxhaW5pbmcgd2h5IGl0IGlzDQpzaWduaWZpY2FudCwgYW5kIGNvbXBhcmlu ZyBpdCB3aXRoIHByZXZpb3VzIHdvcmsuIFRoZSB0ZWNobmljYWwNCmNvbnRlbnQgc2hvdWxkIGJl IGFjY2Vzc2libGUgdG8gYSBicm9hZCBhdWRpZW5jZS4NCg0KUEFDTVBMIGlzc3VlIElDRlAgMjAy MyBhbHNvIHdlbGNvbWVzIHN1Ym1pc3Npb25zIGluIHR3byBzZXBhcmF0ZQ0KY2F0ZWdvcmllcyDi gJQgRnVuY3Rpb25hbCBQZWFybHMgYW5kIEV4cGVyaWVuY2UgUmVwb3J0cyDigJQgdGhhdCBtdXN0 IGJlDQptYXJrZWQgYXMgc3VjaCB3aGVuIHN1Ym1pdHRlZCBhbmQgdGhhdCBuZWVkIG5vdCByZXBv cnQgb3JpZ2luYWwNCnJlc2VhcmNoIHJlc3VsdHMuIERldGFpbGVkIGd1aWRlbGluZXMgb24gYm90 aCBjYXRlZ29yaWVzIGFyZSBnaXZlbiBhdA0KdGhlIGVuZCBvZiB0aGlzIGNhbGwuDQoNClN1Ym1p c3Npb25zIGZyb20gdW5kZXJyZXByZXNlbnRlZCBncm91cHMgYXJlIGVuY291cmFnZWQuIEF1dGhv cnMgd2hvDQpyZXF1aXJlIGZpbmFuY2lhbCBzdXBwb3J0IHRvIGF0dGVuZCB0aGUgY29uZmVyZW5j ZSBjYW4gYXBwbHkgZm9yIFBBQw0KZnVuZGluZyAoaHR0cDovL3d3dy5zaWdwbGFuLm9yZy9QQUMv KS4NCg0KVGhlIEdlbmVyYWwgQ2hhaXIgYW5kIFBDIENoYWlyIG1heSBub3Qgc3VibWl0IHBhcGVy cy4gUEMgbWVtYmVycw0KKG90aGVyIHRoYW4gdGhlIFBDIENoYWlyKSBtYXkgc3VibWl0IHBhcGVy cy4gSG93ZXZlciwgU0lHUExBTg0KZ3VpZGVsaW5lcyBkaWN0YXRlIHRoYXQgdGhleSBiZSBoZWxk IHRvIGEgaGlnaGVyIHN0YW5kYXJkOiBhIFBDIHBhcGVyDQpjYW4gYmUgYWNjZXB0ZWQgaWYgYWZ0 ZXIgdGhlIGRpc2N1c3Npb24gaXQgaGFzIGF0IGxlYXN0IG9uZQ0Kc3Ryb25nbHktc3VwcG9ydGl2 ZSByZXZpZXcgYW5kIG5vIGRldHJhY3RvcnMuIEVhY2ggUEMgbWVtYmVyIG1heSBiZQ0KbGlzdGVk IGFzIGEgY29hdXRob3Igb24gYSBtYXhpbXVtIG9mIHRocmVlIHN1Ym1pc3Npb25zLg0KDQpQbGVh c2UgY29udGFjdCB0aGUgUHJvZ3JhbW1lIENoYWlyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBh cmUNCmNvbmNlcm5lZCBhYm91dCB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIGEgdG9waWMuDQoNCiMj IyBQcmVwYXJhdGlvbiBvZiBzdWJtaXNzaW9ucw0KDQoqRGVhZGxpbmUqOiBUaGUgZGVhZGxpbmUg Zm9yIHN1Ym1pc3Npb25zIGlzICoqV2VkbmVzZGF5LCBNYXJjaCAxLA0KMjAyMyoqLCBBbnl3aGVy ZSBvbiBFYXJ0aA0KKDxodHRwczovL3d3dy50aW1lYW5kZGF0ZS5jb20vdGltZS96b25lcy9hb2U+ KS4gVGhpcyBkZWFkbGluZSB3aWxsIGJlDQpzdHJpY3RseSBlbmZvcmNlZC4NCg0KKkZvcm1hdHRp bmcqOiBTdWJtaXNzaW9ucyBtdXN0IGJlIGluIFBERiBmb3JtYXQsIHByaW50YWJsZSBpbiBibGFj aw0KYW5kIHdoaXRlIG9uIFVTIExldHRlciBzaXplZCBwYXBlciBhbmQgaW50ZXJwcmV0YWJsZSBi eSBjb21tb24gUERGDQp0b29scy4gQWxsIHN1Ym1pc3Npb25zIG11c3QgYWRoZXJlIHRvIHRoZSAi QUNNIFNtYWxsIiB0ZW1wbGF0ZSB0aGF0IGlzDQphdmFpbGFibGUgKGluIGJvdGggTGFUZVggYW5k IFdvcmQgZm9ybWF0cykgZnJvbQ0KPGh0dHBzOi8vd3d3LmFjbS5vcmcvcHVibGljYXRpb25zL2F1 dGhvcnMvc3VibWlzc2lvbnM+Lg0KDQpUaGVyZSBpcyBhIGxpbWl0IG9mICoqMjUgcGFnZXMgZm9y IGEgZnVsbCBwYXBlciBvciBGdW5jdGlvbmFsIFBlYXJsKioNCmFuZCAqKjEyIHBhZ2VzIGZvciBh biBFeHBlcmllbmNlIFJlcG9ydCoqOyBpbiBlaXRoZXIgY2FzZSwgdGhlDQpiaWJsaW9ncmFwaHkg YW5kIGFuIG9wdGlvbmFsIGNsZWFybHkgbWFya2VkIGFwcGVuZGl4IHdpbGwgbm90IGJlDQpjb3Vu dGVkIGFnYWluc3QgdGhlc2UgbGltaXRzLiBTdWJtaXNzaW9ucyB0aGF0IGV4Y2VlZCB0aGUgcGFn ZSBsaW1pdHMNCm9yLCBmb3Igb3RoZXIgcmVhc29ucywgZG8gbm90IG1lZXQgdGhlIHJlcXVpcmVt ZW50cyBmb3IgZm9ybWF0dGluZywNCndpbGwgYmUgc3VtbWFyaWx5IHJlamVjdGVkLg0KDQpTZWUg YWxzbyBQQUNNUEwncyBJbmZvcm1hdGlvbiBhbmQgR3VpZGVsaW5lcyBmb3IgQXV0aG9ycyBhdA0K PGh0dHBzOi8vcGFjbXBsLmFjbS5vcmcvYXV0aG9ycy5jZm0+Lg0KDQoqU3VibWlzc2lvbio6IFN1 Ym1pc3Npb25zIHdpbGwgYmUgYWNjZXB0ZWQgYXQNCiA8aHR0cHM6Ly9pY2ZwMjMuaG90Y3JwLmNv bS8+DQoNCkltcHJvdmVkIHZlcnNpb25zIG9mIGEgcGFwZXIgbWF5IGJlIHN1Ym1pdHRlZCBhdCBh bnkgcG9pbnQgYmVmb3JlIHRoZQ0Kc3VibWlzc2lvbiBkZWFkbGluZSB1c2luZyB0aGUgc2FtZSB3 ZWIgaW50ZXJmYWNlLg0KDQoqQXV0aG9yIFJlc3BvbnNlIFBlcmlvZCo6IEF1dGhvcnMgd2lsbCBo YXZlIGEgNzItaG91ciBwZXJpb2QsIHN0YXJ0aW5nDQphdCAxMnBtIFVUQyBvbiAqTW9uZGF5LCBN YXkgMSwgMjAyMyosIHRvIHJlYWQgcmV2aWV3cyBhbmQgcmVzcG9uZCB0bw0KdGhlbS4NCg0KKkFw cGVuZGl4IGFuZCBTdXBwbGVtZW50YXJ5IE1hdGVyaWFsKjogQXV0aG9ycyBoYXZlIHRoZSBvcHRp b24gdG8NCmluY2x1ZGUgYSBjbGVhcmx5IG1hcmtlZCBhcHBlbmRpeCBhbmQvb3IgdG8gYXR0YWNo IHN1cHBsZW1lbnRhcnkNCm1hdGVyaWFsIHRvIGEgc3VibWlzc2lvbiwgb24gdGhlIHVuZGVyc3Rh bmRpbmcgdGhhdCByZXZpZXdlcnMgbWF5DQpjaG9vc2Ugbm90IHRvIGxvb2sgYXQgc3VjaCBhbiBh cHBlbmRpeCBvciBzdXBwbGVtZW50YXJ5DQptYXRlcmlhbC4gU3VwcGxlbWVudGFyeSBtYXRlcmlh bCBtYXkgYmUgdXBsb2FkZWQgYXMgYSBzZXBhcmF0ZSBQREYNCmRvY3VtZW50IG9yIHRhcmJhbGwu IEFueSBzdXBwbGVtZW50YXJ5IG1hdGVyaWFsICoqbXVzdCoqIGJlIHVwbG9hZGVkDQoqKmF0IHN1 Ym1pc3Npb24gdGltZSoqLCBub3QgYnkgcHJvdmlkaW5nIGEgVVJMIGluIHRoZSBwYXBlciB0aGF0 DQpwb2ludHMgdG8gYW4gZXh0ZXJuYWwgcmVwb3NpdG9yeS4NCg0KQXV0aG9ycyBhcmUgZnJlZSB0 byB1cGxvYWQgYm90aCBhbm9ueW1pc2VkIGFuZCBub24tYW5vbnltaXNlZA0Kc3VwcGxlbWVudGFy eSBtYXRlcmlhbC4gQW5vbnltaXNlZCBzdXBwbGVtZW50YXJ5IG1hdGVyaWFsIHdpbGwgYmUNCnZp c2libGUgdG8gcmV2aWV3ZXJzIGltbWVkaWF0ZWx5OyBub24tYW5vbnltaXNlZCBzdXBwbGVtZW50 YXJ5DQptYXRlcmlhbCAod2hpY2ggbXVzdCBiZSBzdWJtaXR0ZWQgc2VwYXJhdGVseSkgd2lsbCBi ZSByZXZlYWxlZCB0bw0KcmV2aWV3ZXJzIG9ubHkgYWZ0ZXIgdGhleSBoYXZlIHN1Ym1pdHRlZCB0 aGVpciByZXZpZXcgb2YgdGhlIHBhcGVyIGFuZA0KbGVhcm5lZCB0aGUgaWRlbnRpdHkgb2YgdGhl IGF1dGhvcihzKS4NCg0KKkF1dGhvcnNoaXAgUG9saWNpZXMqOiBBbGwgc3VibWlzc2lvbnMgYXJl IGV4cGVjdGVkIHRvIGNvbXBseSB3aXRoIHRoZQ0KQUNNIFBvbGljaWVzIGZvciBBdXRob3JzaGlw IHRoYXQgYXJlIGRldGFpbGVkIGF0DQo8aHR0cHM6Ly93d3cuYWNtLm9yZy9wdWJsaWNhdGlvbnMv YXV0aG9ycy9pbmZvcm1hdGlvbi1mb3ItYXV0aG9ycz4uDQoNCipSZXB1YmxpY2F0aW9uIFBvbGlj aWVzKjogRWFjaCBzdWJtaXNzaW9uIG11c3QgYWRoZXJlIHRvIFNJR1BMQU4ncw0KcmVwdWJsaWNh dGlvbiBwb2xpY3ksIGFzIGV4cGxhaW5lZCBvbiB0aGUgd2ViIGF0DQo8aHR0cDovL3d3dy5zaWdw bGFuLm9yZy9SZXNvdXJjZXMvUG9saWNpZXMvUmVwdWJsaWNhdGlvbj4uDQoNCipPUkNJRCo6IE9S Q0lEIHByb3ZpZGVzIGEgcGVyc2lzdGVudCBkaWdpdGFsIGlkZW50aWZpZXIgKGFuIE9SQ0lEIGlE KQ0KdGhhdCB5b3Ugb3duIGFuZCBjb250cm9sLCBhbmQgdGhhdCBkaXN0aW5ndWlzaGVzIHlvdSBm cm9tIGV2ZXJ5IG90aGVyDQpyZXNlYXJjaGVyOiBodHRwczovL29yY2lkLm9yZy8uIEFDTSBub3cg cmVxdWlyZSBhbiBPUkNJRCBpRCBmb3IgZXZlcnkNCmF1dGhvciBvZiBhIHBhcGVyLCBub3QganVz dCB0aGUgY29ycmVzcG9uZGluZyBhdXRob3IuIFNvLCB0aGUgYXV0aG9yDQp3aG8gaXMgZmlsbGlu ZyBvdXQgdGhlIHBlcm1pc3Npb24gZm9ybSBzaG91bGQgbWFrZSBzdXJlIHRoZXkgaGF2ZSB0aGUN Ck9SQ0lEIGlEcyBmb3IgYWxsIG9mIHRoZWlyIGNvYXV0aG9ycyBiZWZvcmUgZmlsbGluZyBvdXQg dGhlIGZvcm0uIEFueQ0KYXV0aG9ycyB3aG8gZG8gbm90IHlldCBoYXZlIGFuIE9SQ0lEIGlEIGNh biBnbyB0bw0KaHR0cHM6Ly9vcmNpZC5vcmcvcmVnaXN0ZXIgdG8gaGF2ZSBvbmUgYXNzaWduZWQu DQoNCiMjIyBSZXZpZXcgUHJvY2Vzcw0KDQpUaGlzIHNlY3Rpb24gb3V0bGluZXMgdGhlIHR3by1z dGFnZSBwcm9jZXNzIHdpdGggbGlnaHR3ZWlnaHQNCmRvdWJsZS1ibGluZCByZXZpZXdpbmcgdGhh dCB3aWxsIGJlIHVzZWQgdG8gc2VsZWN0IHBhcGVycyBmb3IgUEFDTVBMDQppc3N1ZSBJQ0ZQIDIw MjMuDQoNCioqTmV3IHRoaXMgeWVhcioqOiBJQ0ZQIDIwMjMgd2lsbCBoYXZlIGFuIEFzc29jaWF0 ZSBDaGFpciB3aG8gd2lsbCBoZWxwDQp0aGUgUEMgQ2hhaXIgbW9uaXRvciByZXZpZXdzLCBzb2xp Y2l0IGV4dGVybmFsIGV4cGVydCByZXZpZXdzIGZvcg0Kc3VibWlzc2lvbnMgd2hlbiB0aGVyZSBp cyBub3QgZW5vdWdoIGV4cGVydGlzZSBvbiB0aGUgY29tbWl0dGVlLCBhbmQNCmZhY2lsaXRhdGUg cmV2aWV3ZXIgZGlzY3Vzc2lvbnMuDQoNCipQQUNNUEwgaXNzdWUgSUNGUCAyMDIzIHdpbGwgZW1w bG95IGEgdHdvLXN0YWdlIHJldmlldyBwcm9jZXNzLiogVGhlDQpmaXJzdCBzdGFnZSBpbiB0aGUg cmV2aWV3IHByb2Nlc3Mgd2lsbCBhc3Nlc3Mgc3VibWl0dGVkIHBhcGVycyB1c2luZw0KdGhlIGNy aXRlcmlhIHN0YXRlZCBhYm92ZSBhbmQgd2lsbCBhbGxvdyBmb3IgZmVlZGJhY2sgYW5kIGlucHV0 IG9uDQppbml0aWFsIHJldmlld3MgdGhyb3VnaCB0aGUgYXV0aG9yIHJlc3BvbnNlIHBlcmlvZCBt ZW50aW9uZWQNCnByZXZpb3VzbHkuIEFzIGEgcmVzdWx0IG9mIHRoZSByZXZpZXcgcHJvY2Vzcywg YSBzZXQgb2YgcGFwZXJzIHdpbGwgYmUNCmNvbmRpdGlvbmFsbHkgYWNjZXB0ZWQgYW5kIGFsbCBv dGhlciBwYXBlcnMgd2lsbCBiZSByZWplY3RlZC4gQXV0aG9ycw0Kd2lsbCBiZSBub3RpZmllZCBv ZiB0aGVzZSBkZWNpc2lvbnMgb24gKipNYXkgMTgsIDIwMjMqKi4NCg0KQXV0aG9ycyBvZiBjb25k aXRpb25hbGx5IGFjY2VwdGVkIHBhcGVycyB3aWxsIGJlIHByb3ZpZGVkIHdpdGgNCmNvbW1pdHRl ZSByZXZpZXdzIGFsb25nIHdpdGggYSBzZXQgb2YgbWFuZGF0b3J5IHJldmlzaW9ucy4gQnkgSnVu ZSAxNSwNCjIwMjMsIHRoZSBhdXRob3JzIG1heSBwcm92aWRlIGEgc2Vjb25kIHN1Ym1pc3Npb24u IFRoZSBzZWNvbmQgYW5kDQpmaW5hbCByZXZpZXdpbmcgcGhhc2UgYXNzZXNzZXMgd2hldGhlciB0 aGUgbWFuZGF0b3J5IHJldmlzaW9ucyBoYXZlDQpiZWVuIGFkZXF1YXRlbHkgYWRkcmVzc2VkIGJ5 IHRoZSBhdXRob3JzIGFuZCB0aGVyZWJ5IGRldGVybWluZXMgdGhlDQpmaW5hbCBhY2NlcHQvcmVq ZWN0IHN0YXR1cyBvZiB0aGUgcGFwZXIuIFRoZSBpbnRlbnQgYW5kIGV4cGVjdGF0aW9uIGlzDQp0 aGF0IHRoZSBtYW5kYXRvcnkgcmV2aXNpb25zIGNhbiBmZWFzaWJseSBiZSBhZGRyZXNzZWQgd2l0 aGluIHRocmVlDQp3ZWVrcy4NCg0KVGhlIHNlY29uZCBzdWJtaXNzaW9uIHNob3VsZCBjbGVhcmx5 IGlkZW50aWZ5IGhvdyB0aGUgbWFuZGF0b3J5DQpyZXZpc2lvbnMgd2VyZSBhZGRyZXNzZWQuIFRv IHRoYXQgZW5kLCB0aGUgc2Vjb25kIHN1Ym1pc3Npb24gbXVzdCBiZQ0KYWNjb21wYW5pZWQgYnkg YSBjb3ZlciBsZXR0ZXIgbWFwcGluZyBlYWNoIG1hbmRhdG9yeSByZXZpc2lvbiByZXF1ZXN0DQp0 byBzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgcGFwZXIuIFRoZSBjb3ZlciBsZXR0ZXIgd2lsbCBmYWNp bGl0YXRlIGENCnF1aWNrIHNlY29uZCByZXZpZXcsIGFsbG93aW5nIGZvciBjb25maXJtYXRpb24g b2YgZmluYWwgYWNjZXB0YW5jZQ0Kd2l0aGluIHR3byB3ZWVrcy4gQ29udmVyc2VseSwgdGhlIGFi c2VuY2Ugb2YgYSBjb3ZlciBsZXR0ZXIgd2lsbCBiZQ0KZ3JvdW5kcyBmb3IgdGhlIHBhcGVyJ3Mg cmVqZWN0aW9uLg0KDQoqUEFDTVBMIGlzc3VlIElDRlAgMjAyMyB3aWxsIGVtcGxveSBhIGxpZ2h0 d2VpZ2h0IGRvdWJsZS1ibGluZA0KIHJldmlld2luZyBwcm9jZXNzLioNCg0KVG8gZmFjaWxpdGF0 ZSB0aGlzLCBzdWJtaXR0ZWQgcGFwZXJzIG11c3QgYWRoZXJlIHRvIHR3byBydWxlczoNCg0KICAx LiAqKmF1dGhvciBuYW1lcyBhbmQgaW5zdGl0dXRpb25zIG11c3QgYmUgb21pdHRlZCoqLCBhbmQN Cg0KICAyLiAqKnJlZmVyZW5jZXMgdG8gYXV0aG9ycycgb3duIHJlbGF0ZWQgd29yayBzaG91bGQg YmUgaW4gdGhlIHRoaXJkDQogICAgIHBlcnNvbioqIChlLmcuLCBub3QgIldlIGJ1aWxkIG9uIG91 ciBwcmV2aW91cyB3b3JrIC4uLiIgYnV0DQogICAgIHJhdGhlciAiV2UgYnVpbGQgb24gdGhlIHdv cmsgb2YgLi4uIikuDQoNClRoZSBwdXJwb3NlIG9mIHRoaXMgcHJvY2VzcyBpcyB0byBoZWxwIHRo ZSByZXZpZXdlcnMgY29tZSB0byBhbg0KaW5pdGlhbCBqdWRnZW1lbnQgYWJvdXQgdGhlIHBhcGVy IHdpdGhvdXQgYmlhcywgbm90IHRvIG1ha2UgaXQNCmltcG9zc2libGUgZm9yIHRoZW0gdG8gZGlz Y292ZXIgdGhlIGF1dGhvcnMgaWYgdGhleSB3ZXJlIHRvDQp0cnkuIE5vdGhpbmcgc2hvdWxkIGJl IGRvbmUgaW4gdGhlIG5hbWUgb2YgYW5vbnltaXR5IHRoYXQgd2Vha2VucyB0aGUNCnN1Ym1pc3Np b24gb3IgbWFrZXMgdGhlIGpvYiBvZiByZXZpZXdpbmcgdGhlIHBhcGVyIG1vcmUgZGlmZmljdWx0 DQooZS5nLiwgaW1wb3J0YW50IGJhY2tncm91bmQgcmVmZXJlbmNlcyBzaG91bGQgbm90IGJlIG9t aXR0ZWQgb3INCmFub255bWlzZWQpLiBJbiBhZGRpdGlvbiwgYXV0aG9ycyBzaG91bGQgZmVlbCBm cmVlIHRvIGRpc3NlbWluYXRlDQp0aGVpciBpZGVhcyBvciBkcmFmdCB2ZXJzaW9ucyBvZiB0aGVp ciBwYXBlcnMgYXMgdGhleSBub3JtYWxseQ0Kd291bGQuIEZvciBpbnN0YW5jZSwgYXV0aG9ycyBt YXkgcG9zdCBkcmFmdHMgb2YgdGhlaXIgcGFwZXJzIG9uIHRoZQ0Kd2ViIG9yIGdpdmUgdGFsa3Mg b24gdGhlaXIgcmVzZWFyY2ggaWRlYXMuDQoNCiMjIyBJbmZvcm1hdGlvbiBmb3IgQXV0aG9ycyBv ZiBBY2NlcHRlZCBQYXBlcnMNCg0KICAqIEFzIGEgY29uZGl0aW9uIG9mIGFjY2VwdGFuY2UsIGZp bmFsIHZlcnNpb25zIG9mIGFsbCBwYXBlcnMgbXVzdA0KICAgIGFkaGVyZSB0byB0aGUgQUNNIFNt YWxsIGZvcm1hdC4gVGhlIHBhZ2UgbGltaXQgZm9yIHRoZSBmaW5hbA0KICAgIHZlcnNpb25zIG9m IHBhcGVycyB3aWxsIGJlIGluY3JlYXNlZCBieSB0d28gcGFnZXMgdG8gaGVscCBhdXRob3JzDQog ICAgcmVzcG9uZCB0byByZXZpZXdlciBjb21tZW50cyBhbmQgbWFuZGF0b3J5IHJldmlzaW9uczog KioyNyBwYWdlcw0KICAgIHBsdXMgYmlibGlvZ3JhcGh5IGZvciBhIHJlZ3VsYXIgcGFwZXIgb3Ig RnVuY3Rpb25hbCBQZWFybCwgMTQNCiAgICBwYWdlcyBwbHVzIGJpYmxpb2dyYXBoeSBmb3IgYW4g RXhwZXJpZW5jZSBSZXBvcnQqKi4NCg0KICAqIEF1dGhvcnMgb2YgYWNjZXB0ZWQgc3VibWlzc2lv bnMgd2lsbCBiZSByZXF1aXJlZCB0byBhZ3JlZSB0byBvbmUNCiAgICBvZiB0aGUgdGhyZWUgQUNN IGxpY2Vuc2luZyBvcHRpb25zLCBvbmUgb2Ygd2hpY2ggaXMgQ3JlYXRpdmUNCiAgICBDb21tb25z IENDLUJZIHB1YmxpY2F0aW9uOyB0aGlzIGlzIHRoZSBvcHRpb24gcmVjb21tZW5kZWQgYnkgdGhl DQogICAgUEFDTVBMIGVkaXRvcmlhbCBib2FyZC4gQSByZWFzb25lZCBhcmd1bWVudCBpbiBmYXZv dXIgb2YgdGhpcw0KICAgIG9wdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIGFydGljbGUgW1doeQ0K ICAgIENDLUJZP10oaHR0cHM6Ly9vYXNwYS5vcmcvd2h5LWNjLWJ5LykgcHVibGlzaGVkIGJ5IE9B U1BBLCB0aGUgT3Blbg0KICAgIEFjY2VzcyBTY2hvbGFybHkgUHVibGlzaGVycyBBc3NvY2lhdGlv bi4gVGhlIG90aGVyIG9wdGlvbnMgYXJlDQogICAgY29weXJpZ2h0IHRyYW5zZmVyIHRvIEFDTSBv ciByZXRhaW5pbmcgY29weXJpZ2h0IGJ1dCBncmFudGluZyBBQ00NCiAgICBleGNsdXNpdmUgcHVi bGljYXRpb24gcmlnaHRzLg0KDQogICogUEFDTVBMIGlzIGEgR29sZCBPcGVuIEFjY2VzcyBqb3Vy bmFsLCBhbmQgYXV0aG9ycyBhcmUgZW5jb3VyYWdlZA0KICAgIHRvIHB1Ymxpc2ggdGhlaXIgd29y ayB1bmRlciBhIENDLUJZIGxpY2Vuc2UuIEdvbGQgT3BlbiBBY2Nlc3MNCiAgICBndWFyYW50ZWVz IHBlcm1hbmVudCBmcmVlIG9ubGluZSBhY2Nlc3MgdG8gdGhlIGRlZmluaXRpdmUgdmVyc2lvbg0K ICAgIGluIHRoZSBBQ00gRGlnaXRhbCBMaWJyYXJ5LCBhbmQgdGhlIHJlY29tbWVuZGVkIENDLUJZ IG9wdGlvbiBhbHNvDQogICAgYWxsb3dzIGFueW9uZSB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHRo ZSB3b3JrIHdpdGggYXR0cmlidXRpb24uDQogICAgR29sZCBPcGVuIEFjY2VzcyBoYXMgYmVlbiBt YWRlIHBvc3NpYmxlIGJ5IGdlbmVyb3VzIGZ1bmRpbmcNCiAgICB0aHJvdWdoIEFDTSBTSUdQTEFO LCB3aGljaCB3aWxsIGNvdmVyIGFsbCBvcGVuIGFjY2VzcyBjb3N0cyBpbiB0aGUNCiAgICBldmVu dCBhdXRob3JzIGNhbm5vdC4gQXV0aG9ycyB3aG8gY2FuIGNvdmVyIHRoZSBjb3N0cyBtYXkgZG8g c28gYnkNCiAgICBwYXlpbmcgYW4gQXJ0aWNsZSBQcm9jZXNzaW5nIENoYXJnZSAoQVBDKS4gUEFD TVBMLCBTSUdQTEFOLCBhbmQNCiAgICBBQ00gSGVhZHF1YXJ0ZXJzIGFyZSBjb21taXR0ZWQgdG8g ZXhwbG9yaW5nIHJvdXRlcyB0byBtYWtpbmcgR29sZA0KICAgIE9wZW4gQWNjZXNzIHB1YmxpY2F0 aW9uIGJvdGggYWZmb3JkYWJsZSBhbmQgc3VzdGFpbmFibGUuDQoNCiAgKiBBQ00gQXV0aG9yLUl6 ZXIgaXMgYSB1bmlxdWUgc2VydmljZSB0aGF0IGVuYWJsZXMgQUNNIGF1dGhvcnMgdG8NCiAgICBn ZW5lcmF0ZSBhbmQgcG9zdCBsaW5rcyBvbiBlaXRoZXIgdGhlaXIgaG9tZSBwYWdlIG9yIGluc3Rp dHV0aW9uYWwNCiAgICByZXBvc2l0b3J5IGZvciB2aXNpdG9ycyB0byBkb3dubG9hZCB0aGUgZGVm aW5pdGl2ZSB2ZXJzaW9uIG9mDQogICAgdGhlaXIgYXJ0aWNsZXMgZnJvbSB0aGUgQUNNIERpZ2l0 YWwgTGlicmFyeSBhdCBubw0KICAgIGNoYXJnZS4gRG93bmxvYWRzIHRocm91Z2ggQXV0aG9yLUl6 ZXIgbGlua3MgYXJlIGNhcHR1cmVkIGluDQogICAgb2ZmaWNpYWwgQUNNIHN0YXRpc3RpY3MsIGlt cHJvdmluZyB0aGUgYWNjdXJhY3kgb2YgdXNhZ2UgYW5kDQogICAgaW1wYWN0IG1lYXN1cmVtZW50 cy4gQ29uc2lzdGVudGx5IGxpbmtpbmcgdG8gdGhlIGRlZmluaXRpdmUNCiAgICB2ZXJzaW9uIG9m IGFuIEFDTSBhcnRpY2xlIHNob3VsZCByZWR1Y2UgdXNlciBjb25mdXNpb24gb3Zlcg0KICAgIGFy dGljbGUgdmVyc2lvbmluZy4gQWZ0ZXIgYW4gYXJ0aWNsZSBoYXMgYmVlbiBwdWJsaXNoZWQgYW5k DQogICAgYXNzaWduZWQgdG8gdGhlIGFwcHJvcHJpYXRlIEFDTSBBdXRob3IgUHJvZmlsZSBwYWdl cywgYXV0aG9ycw0KICAgIHNob3VsZCB2aXNpdA0KICAgIDxodHRwOi8vd3d3LmFjbS5vcmcvcHVi bGljYXRpb25zL2FjbS1hdXRob3ItaXplci1zZXJ2aWNlPiB0byBsZWFybg0KICAgIGhvdyB0byBj cmVhdGUgbGlua3MgZm9yIGZyZWUgZG93bmxvYWRzIGZyb20gdGhlIEFDTSBETC4NCg0KICAqIFRo ZSBvZmZpY2lhbCBwdWJsaWNhdGlvbiBkYXRlIGlzIHRoZSBkYXRlIHRoZSBwYXBlcnMgYXJlIG1h ZGUNCiAgICBhdmFpbGFibGUgaW4gdGhlIEFDTSBEaWdpdGFsIExpYnJhcnkuIFRoaXMgZGF0ZSBt YXkgYmUgdXAgdG8gKnR3bw0KICAgIHdlZWtzIHByaW9yKiB0byB0aGUgZmlyc3QgZGF5IG9mIHRo ZSBjb25mZXJlbmNlLiBUaGUgb2ZmaWNpYWwNCiAgICBwdWJsaWNhdGlvbiBkYXRlIGFmZmVjdHMg dGhlIGRlYWRsaW5lIGZvciBhbnkgcGF0ZW50IGZpbGluZ3MNCiAgICByZWxhdGVkIHRvIHB1Ymxp c2hlZCB3b3JrLg0KDQogICogQXV0aG9ycyBvZiBlYWNoIGFjY2VwdGVkIHN1Ym1pc3Npb24gYXJl IGludml0ZWQgdG8gYXR0ZW5kIGFuZCBiZQ0KICAgIGF2YWlsYWJsZSBmb3IgdGhlIHByZXNlbnRh dGlvbiBvZiB0aGF0IHBhcGVyIGF0IHRoZQ0KICAgIGNvbmZlcmVuY2UuIFRoZSBzY2hlZHVsZSBm b3IgcHJlc2VudGF0aW9ucyB3aWxsIGJlIGRldGVybWluZWQgYW5kDQogICAgc2hhcmVkIHdpdGgg YXV0aG9ycyBhZnRlciB0aGUgZnVsbCBwcm9ncmFtIGhhcyBiZWVuIHNlbGVjdGVkLg0KDQojIyMg QXJ0aWZhY3QgRXZhbHVhdGlvbg0KDQpBdXRob3JzIG9mIHBhcGVycyB0aGF0IGFyZSBjb25kaXRp b25hbGx5IGFjY2VwdGVkIGluIHRoZSBmaXJzdCBwaGFzZQ0Kb2YgdGhlIHJldmlldyBwcm9jZXNz IHdpbGwgYmUgZW5jb3VyYWdlZCAoYnV0IG5vdCByZXF1aXJlZCkgdG8gc3VibWl0DQpzdXBwb3J0 aW5nIG1hdGVyaWFscyBmb3IgQXJ0aWZhY3QgRXZhbHVhdGlvbi4gVGhlc2UgaXRlbXMgd2lsbCB0 aGVuIGJlDQpyZXZpZXdlZCBieSBhbiBBcnRpZmFjdCBFdmFsdWF0aW9uIENvbW1pdHRlZSwgc2Vw YXJhdGUgZnJvbSB0aGUgcGFwZXINClJldmlldyBDb21taXR0ZWUsIHdob3NlIHRhc2sgaXMgdG8g YXNzZXNzIGhvdyB0aGUgYXJ0aWZhY3RzIHN1cHBvcnQNCnRoZSB3b3JrIGRlc2NyaWJlZCBpbiB0 aGUgYXNzb2NpYXRlZCBwYXBlci4gUGFwZXJzIHRoYXQgZ28gdGhyb3VnaCB0aGUNCkFydGlmYWN0 IEV2YWx1YXRpb24gcHJvY2VzcyBzdWNjZXNzZnVsbHkgd2lsbCByZWNlaXZlIGEgc2VhbCBvZg0K YXBwcm92YWwgcHJpbnRlZCBvbiB0aGUgcGFwZXJzIHRoZW1zZWx2ZXMuIEF1dGhvcnMgb2YgYWNj ZXB0ZWQgcGFwZXJzDQp3aWxsIGJlIGVuY291cmFnZWQgdG8gbWFrZSB0aGUgc3VwcG9ydGluZyBt YXRlcmlhbHMgcHVibGljbHkgYXZhaWxhYmxlDQp1cG9uIHB1YmxpY2F0aW9uIG9mIHRoZSBwYXBl cnMsIGZvciBleGFtcGxlLCBieSBpbmNsdWRpbmcgdGhlbSBhcw0KInNvdXJjZSBtYXRlcmlhbHMi IGluIHRoZSBBQ00gRGlnaXRhbCBMaWJyYXJ5LiBBbiBhZGRpdGlvbmFsIHNlYWwgd2lsbA0KbWFy ayBwYXBlcnMgd2hvc2UgYXJ0aWZhY3RzIGFyZSBtYWRlIGF2YWlsYWJsZSwgYXMgb3V0bGluZWQg aW4gdGhlIEFDTQ0KZ3VpZGVsaW5lcyBmb3IgYXJ0aWZhY3QgYmFkZ2luZy4NCg0KUGFydGljaXBh dGlvbiBpbiBBcnRpZmFjdCBFdmFsdWF0aW9uIGlzIHZvbHVudGFyeSBhbmQgd2lsbCBub3QNCmlu Zmx1ZW5jZSB0aGUgZmluYWwgZGVjaXNpb24gcmVnYXJkaW5nIHBhcGVyIGFjY2VwdGFuY2UuDQoN CiMjIyBTcGVjaWFsIGNhdGVnb3JpZXMgb2YgcGFwZXJzDQoNCkluIGFkZGl0aW9uIHRvIHJlc2Vh cmNoIHBhcGVycywgUEFDTVBMIGlzc3VlIElDRlAgc29saWNpdHMgdHdvIGtpbmRzDQpvZiBwYXBl cnMgdGhhdCBkbyBub3QgcmVxdWlyZSBvcmlnaW5hbCByZXNlYXJjaCBjb250cmlidXRpb25zOg0K RnVuY3Rpb25hbCBQZWFybHMsIHdoaWNoIGFyZSBmdWxsIHBhcGVycywgYW5kIEV4cGVyaWVuY2Ug UmVwb3J0cywNCndoaWNoIGFyZSBsaW1pdGVkIHRvIGhhbGYgdGhlIGxlbmd0aCBvZiBhIGZ1bGwg cGFwZXIuIEF1dGhvcnMNCnN1Ym1pdHRpbmcgc3VjaCBwYXBlcnMgc2hvdWxkIGNvbnNpZGVyIHRo ZSBmb2xsb3dpbmcgZ3VpZGVsaW5lcy4NCg0KIyMjIyBGdW5jdGlvbmFsIFBlYXJscw0KDQpBIEZ1 bmN0aW9uYWwgUGVhcmwgaXMgYW4gZWxlZ2FudCBlc3NheSBhYm91dCBzb21ldGhpbmcgcmVsYXRl ZCB0bw0KZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4gRXhhbXBsZXMgaW5jbHVkZSwgYnV0IGFyZSBu b3QgbGltaXRlZCB0bzoNCg0KICAqIGEgbmV3IGFuZCB0aG91Z2h0LXByb3Zva2luZyB3YXkgb2Yg bG9va2luZyBhdCBhbiBvbGQgaWRlYQ0KDQogICogYW4gaW5zdHJ1Y3RpdmUgZXhhbXBsZSBvZiBw cm9ncmFtIGNhbGN1bGF0aW9uIG9yIHByb29mDQoNCiAgKiBhIG5pZnR5IHByZXNlbnRhdGlvbiBv ZiBhbiBvbGQgb3IgbmV3IGRhdGEgc3RydWN0dXJlDQoNCiAgKiBhbiBpbnRlcmVzdGluZyBhcHBs aWNhdGlvbiBvZiBmdW5jdGlvbmFsIHByb2dyYW1taW5nIHRlY2huaXF1ZXMNCg0KICAqIGEgbm92 ZWwgdXNlIG9yIGV4cG9zaXRpb24gb2YgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBpbiB0aGUNCiAg ICBjbGFzc3Jvb20NCg0KV2hpbGUgcGVhcmxzIG9mdGVuIGRlbW9uc3RyYXRlIGFuIGlkZWEgdGhy b3VnaCB0aGUgZGV2ZWxvcG1lbnQgb2YgYQ0Kc2hvcnQgcHJvZ3JhbSwgdGhlcmUgaXMgbm8gcmVx dWlyZW1lbnQgb3IgZXhwZWN0YXRpb24gdGhhdCB0aGV5IGRvDQpzby4gVGh1cywgdGhleSBlbmNv bXBhc3MgdGhlIG5vdGlvbnMgb2YgdGhlb3JldGljYWwgYW5kIGVkdWNhdGlvbmFsDQpwZWFybHMu DQoNCkZ1bmN0aW9uYWwgUGVhcmxzIGFyZSB2YWx1ZWQgYXMgaGlnaGx5IGFuZCBqdWRnZWQgYXMg cmlnb3JvdXNseSBhcw0Kb3JkaW5hcnkgcGFwZXJzLCBidXQgdXNpbmcgc29tZXdoYXQgZGlmZmVy ZW50IGNyaXRlcmlhLiBJbiBwYXJ0aWN1bGFyLA0KYSBwZWFybCBpcyBub3QgcmVxdWlyZWQgdG8g cmVwb3J0IG9yaWdpbmFsIHJlc2VhcmNoLCBidXQsIGl0IHNob3VsZCBiZQ0KY29uY2lzZSwgaW5z dHJ1Y3RpdmUsIGFuZCBlbnRlcnRhaW5pbmcuIEEgcGVhcmwgaXMgbGlrZWx5IHRvIGJlDQpyZWpl Y3RlZCBpZiBpdHMgcmVhZGVycyBnZXQgYm9yZWQsIGlmIHRoZSBtYXRlcmlhbCBnZXRzIHRvbw0K Y29tcGxpY2F0ZWQsIGlmIHRvbyBtdWNoLXNwZWNpYWxpc2VkIGtub3dsZWRnZSBpcyBuZWVkZWQs IG9yIGlmIHRoZQ0Kd3JpdGluZyBpcyBpbmVsZWdhbnQuIFRoZSBrZXkgdG8gd3JpdGluZyBhIGdv b2QgcGVhcmwgaXMgcG9saXNoaW5nLg0KDQpBIHN1Ym1pc3Npb24gdGhhdCBpcyBpbnRlbmRlZCB0 byBiZSB0cmVhdGVkIGFzIGEgcGVhcmwgbXVzdCBiZSBtYXJrZWQNCmFzIHN1Y2ggb24gdGhlIHN1 Ym1pc3Npb24gd2ViIHBhZ2UgYW5kIHNob3VsZCBjb250YWluIHRoZSB3b3Jkcw0KIkZ1bmN0aW9u YWwgUGVhcmwiIHNvbWV3aGVyZSBpbiBpdHMgdGl0bGUgb3Igc3VidGl0bGUuIFRoZXNlIHN0ZXBz DQp3aWxsIGFsZXJ0IHJldmlld2VycyB0byB1c2UgdGhlIGFwcHJvcHJpYXRlIGV2YWx1YXRpb24N CmNyaXRlcmlhLiBQZWFybHMgd2lsbCBiZSBjb21iaW5lZCB3aXRoIG9yZGluYXJ5IHBhcGVycywg aG93ZXZlciwgZm9yDQp0aGUgcHVycG9zZSBvZiBjb21wdXRpbmcgdGhlIGNvbmZlcmVuY2UncyBh Y2NlcHRhbmNlIHJhdGUuDQoNCiMjIyMgRXhwZXJpZW5jZSBSZXBvcnRzDQoNClRoZSBwdXJwb3Nl IG9mIGFuIEV4cGVyaWVuY2UgUmVwb3J0IGlzIHRvIGRlc2NyaWJlIHRoZSBleHBlcmllbmNlIG9m DQp1c2luZyBmdW5jdGlvbmFsIHByb2dyYW1taW5nIGluIHByYWN0aWNlLCB3aGV0aGVyIGluIGlu ZHVzdHJpYWwNCmFwcGxpY2F0aW9uLCB0b29sIGRldmVsb3BtZW50LCBwcm9ncmFtbWluZyBlZHVj YXRpb24sIG9yIGFueSBvdGhlcg0KYXJlYS4NCg0KUG9zc2libGUgdG9waWNzIGZvciBhbiBFeHBl cmllbmNlIFJlcG9ydCBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvOg0KDQogICogaW5z aWdodHMgZ2FpbmVkIGZyb20gcmVhbC13b3JsZCBwcm9qZWN0cyB1c2luZyBmdW5jdGlvbmFsDQog ICAgcHJvZ3JhbW1pbmcNCg0KICAqIGNvbXBhcmlzb24gb2YgZnVuY3Rpb25hbCBwcm9ncmFtbWlu ZyB3aXRoIGNvbnZlbnRpb25hbCBwcm9ncmFtbWluZw0KICAgIGluIHRoZSBjb250ZXh0IG9mIGFu IGluZHVzdHJpYWwgcHJvamVjdCBvciBhIHVuaXZlcnNpdHkgY3VycmljdWx1bQ0KDQogICogcHJv amVjdC1tYW5hZ2VtZW50LCBidXNpbmVzcywgb3IgbGVnYWwgaXNzdWVzIGVuY291bnRlcmVkIHdo ZW4NCiAgICB1c2luZyBmdW5jdGlvbmFsIHByb2dyYW1taW5nIGluIGEgcmVhbC13b3JsZCBwcm9q ZWN0DQoNCiAgKiBjdXJyaWN1bGFyIGlzc3VlcyBlbmNvdW50ZXJlZCB3aGVuIHVzaW5nIGZ1bmN0 aW9uYWwgcHJvZ3JhbW1pbmcgaW4NCiAgICBlZHVjYXRpb24NCg0KICAqIHJlYWwtd29ybGQgY29u c3RyYWludHMgdGhhdCBjcmVhdGVkIHNwZWNpYWwgY2hhbGxlbmdlcyBmb3IgYW4NCiAgICBpbXBs ZW1lbnRhdGlvbiBvZiBhIGZ1bmN0aW9uYWwgbGFuZ3VhZ2Ugb3IgZm9yIGZ1bmN0aW9uYWwNCiAg ICBwcm9ncmFtbWluZyBpbiBnZW5lcmFsDQoNCkFuIEV4cGVyaWVuY2UgUmVwb3J0IGlzIGRpc3Rp bmd1aXNoZWQgZnJvbSBhIG5vcm1hbCBQQUNNUEwgaXNzdWUgSUNGUA0KcGFwZXIgYnkgaXRzIHRp dGxlLCBieSBpdHMgbGVuZ3RoLCBhbmQgYnkgdGhlIGNyaXRlcmlhIHVzZWQgdG8NCmV2YWx1YXRl IGl0Lg0KDQogICogQm90aCBpbiB0aGUgcGFwZXJzIGFuZCBpbiBhbnkgY2l0YXRpb25zLCB0aGUg dGl0bGUgb2YgZWFjaA0KICAgIGFjY2VwdGVkIEV4cGVyaWVuY2UgUmVwb3J0IG11c3QgZW5kIHdp dGggdGhlIHdvcmRzICIoRXhwZXJpZW5jZQ0KICAgIFJlcG9ydCkiIGluIHBhcmVudGhlc2VzLiBU aGUgYWNjZXB0YW5jZSByYXRlIGZvciBFeHBlcmllbmNlDQogICAgUmVwb3J0cyB3aWxsIGJlIGNv bXB1dGVkIGFuZCByZXBvcnRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHJhdGUgZm9yDQogICAgb3Jk aW5hcnkgcGFwZXJzLg0KDQogICogRXhwZXJpZW5jZSBSZXBvcnQgc3VibWlzc2lvbnMgY2FuIGJl IGF0IG1vc3QgMTIgcGFnZXMgbG9uZywNCiAgICBleGNsdWRpbmcgYmlibGlvZ3JhcGh5Lg0KDQog ICogRWFjaCBhY2NlcHRlZCBFeHBlcmllbmNlIFJlcG9ydCB3aWxsIGJlIHByZXNlbnRlZCBhdCB0 aGUNCiAgICBjb25mZXJlbmNlLCBidXQgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2YgRXhwZXJp ZW5jZSBSZXBvcnRzIGFuZA0KICAgIHJlZ3VsYXIgcGFwZXJzIGFjY2VwdGVkLCBhdXRob3JzIG9m IEV4cGVyaWVuY2UgUmVwb3J0cyBtYXkgYmUNCiAgICBhc2tlZCB0byBnaXZlIHNob3J0ZXIgdGFs a3MuDQoNCiAgKiBCZWNhdXNlIHRoZSBwdXJwb3NlIG9mIEV4cGVyaWVuY2UgUmVwb3J0cyBpcyB0 byBlbmFibGUgb3VyDQogICAgY29tbXVuaXR5IHRvIHVuZGVyc3RhbmQgdGhlIGFwcGxpY2F0aW9u IG9mIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcsDQogICAgYW4gYWNjZXB0YWJsZSBFeHBlcmllbmNl IFJlcG9ydCBuZWVkIG5vdCBhZGQgdG8gdGhlIGJvZHkgb2YNCiAgICBrbm93bGVkZ2Ugb2YgdGhl IGZ1bmN0aW9uYWwtcHJvZ3JhbW1pbmcgY29tbXVuaXR5IGJ5IHByZXNlbnRpbmcNCiAgICBub3Zl bCByZXN1bHRzIG9yIGNvbmNsdXNpb25zLiBJdCBpcyBzdWZmaWNpZW50IGlmIHRoZSBSZXBvcnQN CiAgICBkZXNjcmliZXMgYW4gaWxsdW1pbmF0aW5nIGV4cGVyaWVuY2Ugd2l0aCBmdW5jdGlvbmFs IHByb2dyYW1taW5nLA0KICAgIG9yIHByb3ZpZGUgZXZpZGVuY2UgZm9yIGEgY2xlYXIgdGhlc2lz IGFib3V0IHRoZSB1c2Ugb2YgZnVuY3Rpb25hbA0KICAgIHByb2dyYW1taW5nLiBUaGUgZXhwZXJp ZW5jZSBvciB0aGVzaXMgbXVzdCBiZSByZWxldmFudCB0byBJQ0ZQLA0KICAgIGJ1dCBpdCBuZWVk IG5vdCBiZSBub3ZlbC4NCg0KVGhlIHJldmlldyBjb21taXR0ZWUgd2lsbCBhY2NlcHQgb3IgcmVq ZWN0IEV4cGVyaWVuY2UgUmVwb3J0cyBiYXNlZCBvbg0Kd2hldGhlciB0aGV5IGp1ZGdlIHRoZSBw YXBlciB0byBpbGx1bWluYXRlIHNvbWUgYXNwZWN0IG9mIHRoZSB1c2Ugb2YNCmZ1bmN0aW9uYWwg cHJvZ3JhbW1pbmcuIEFuZWNkb3RhbCBldmlkZW5jZSB3aWxsIGJlIGFjY2VwdGFibGUgcHJvdmlk ZWQNCml0IGlzIHdlbGwtYXJndWVkIGFuZCB0aGUgYXV0aG9yIGV4cGxhaW5zIHdoYXQgZWZmb3J0 cyB3ZXJlIG1hZGUgdG8NCmdhdGhlciBhcyBtdWNoIGV2aWRlbmNlIGFzIHBvc3NpYmxlLiBUeXBp Y2FsbHksIHBhcGVycyB0aGF0IHNob3cgaG93DQpmdW5jdGlvbmFsIHByb2dyYW1taW5nIHdhcyB1 c2VkIGFyZSBtb3JlIGNvbnZpbmNpbmcgdGhhbiBwYXBlcnMgdGhhdA0Kc2F5IG9ubHkgdGhhdCBm dW5jdGlvbmFsIHByb2dyYW1taW5nIHdhcyB1c2VkLiBJdCBjYW4gYmUNCmVzcGVjaWFsbHkgZWZm ZWN0aXZlIHRvIHByZXNlbnQgY29tcGFyaXNvbnMgb2YgdGhlIHNpdHVhdGlvbnMgYmVmb3JlDQph bmQgYWZ0ZXIgdGhlIGV4cGVyaWVuY2UgZGVzY3JpYmVkIGluIHRoZSBwYXBlciwgYnV0IG90aGVy IGtpbmRzIG9mDQpldmlkZW5jZSB3b3VsZCBhbHNvIG1ha2Ugc2Vuc2UsIGRlcGVuZGluZyBvbiBj b250ZXh0LiBFeHBlcmllbmNlIGRyYXduDQpmcm9tIGEgc2luZ2xlIHBlcnNvbidzIGV4cGVyaWVu Y2UgbWF5IGJlIHN1ZmZpY2llbnQsIGJ1dCBtb3JlIHdlaWdodA0Kd2lsbCBiZSBnaXZlbiB0byBl dmlkZW5jZSBkcmF3biBmcm9tIHRoZSBleHBlcmllbmNlIG9mIGdyb3VwcyBvZg0KcGVvcGxlLg0K DQpBbiBFeHBlcmllbmNlIFJlcG9ydCBzaG91bGQgYmUgc2hvcnQgYW5kIHRvIHRoZSBwb2ludC4g Rm9yIGFuDQppbmR1c3RyaWFsIHByb2plY3QsIGl0IHNob3VsZCBtYWtlIGEgY2xhaW0gYWJvdXQg aG93IHdlbGwgZnVuY3Rpb25hbA0KcHJvZ3JhbW1pbmcgd29ya2VkIGFuZCB3aHk7IGZvciBhIHBl ZGFnb2d5IHBhcGVyLCBpdCBtaWdodCBtYWtlIGENCmNsYWltIGFib3V0IHRoZSBzdWl0YWJpbGl0 eSBvZiBhIHBhcnRpY3VsYXIgdGVhY2hpbmcgc3R5bGUgb3INCmVkdWNhdGlvbmFsIGV4ZXJjaXNl LiBFaXRoZXIgd2F5LCBpdCBzaG91bGQgcHJvZHVjZSBldmlkZW5jZSB0bw0Kc3Vic3RhbnRpYXRl IHRoZSBjbGFpbS4gSWYgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyB3b3JrZWQgaW4gdGhpcyBjYXNl DQppbiB0aGUgc2FtZSB3YXlzIGl0IGhhcyB3b3JrZWQgZm9yIG90aGVycywgdGhlIHBhcGVyIG5l ZWQgb25seQ0Kc3VtbWFyaXNlIHRoZSByZXN1bHRzIOKAlCB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBw YXBlciBzaG91bGQgZGlzY3VzcyBob3cNCndlbGwgaXQgd29ya2VkIGFuZCBpbiB3aGF0IGNvbnRl eHQuIE1vc3QgcmVhZGVycyB3aWxsIG5vdCB3YW50IHRvIGtub3cNCmFsbCB0aGUgZGV0YWlscyBv ZiB0aGUgZXhwZXJpZW5jZSBhbmQgaXRzIGltcGxlbWVudGF0aW9uLCBidXQgdGhlDQpwYXBlciBz aG91bGQgY2hhcmFjdGVyaXNlIGl0IGFuZCBpdHMgY29udGV4dCB3ZWxsIGVub3VnaCBzbyB0aGF0 DQpyZWFkZXJzIGNhbiBqdWRnZSB0byB3aGF0IGRlZ3JlZSB0aGlzIGV4cGVyaWVuY2UgaXMgcmVs ZXZhbnQgdG8gdGhlaXINCm93biBjaXJjdW1zdGFuY2VzLiBUaGUgcGFwZXIgc2hvdWxkIHRha2Ug Y2FyZSB0byBoaWdobGlnaHQgYW55IHVudXN1YWwNCmFzcGVjdHM7IHNwZWNpZmljcyBhYm91dCB0 aGUgZXhwZXJpZW5jZSBhcmUgbW9yZSB2YWx1YWJsZSB0aGFuDQpnZW5lcmFsaXRpZXMgYWJvdXQg ZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4NCg0KSWYgdGhlIHBhcGVyIG5vdCBvbmx5IGRlc2NyaWJl cyBleHBlcmllbmNlIGJ1dCBhbHNvIHByZXNlbnRzIG5ldw0KdGVjaG5pY2FsIHJlc3VsdHMsIG9y IGlmIHRoZSBleHBlcmllbmNlIHJlZnV0ZXMgY2hlcmlzaGVkIGJlbGllZnMgb2YNCnRoZSBmdW5j dGlvbmFsLXByb2dyYW1taW5nIGNvbW11bml0eSwgaXQgbWF5IGJlIGJldHRlciB0byBzdWJtaXQg aXQgYXMNCmEgZnVsbCBwYXBlciwgd2hpY2ggd2lsbCBiZSBqdWRnZWQgYnkgdGhlIHVzdWFsIGNy aXRlcmlhIG9mIG5vdmVsdHksDQpvcmlnaW5hbGl0eSwgYW5kIHJlbGV2YW5jZS4gVGhlIFByb2dy YW0gQ2hhaXIgd2lsbCBiZSBoYXBweSB0byBhZHZpc2UNCm9uIGFueSBjb25jZXJucyBhYm91dCB3 aGljaCBjYXRlZ29yeSB0byBzdWJtaXQgdG8uDQoNCiMjIyBJQ0ZQIE9yZ2FuaXNlcnMNCg0KR2Vu ZXJhbCBDaGFpcjoNCiAgTmlraGlsIFN3YW15IChNaWNyb3NvZnQgUmVzZWFyY2gsIFVTQSkNClBy b2dyYW1tZSBDaGFpcjoNCiAgU2FtIExpbmRsZXkgKFRoZSBVbml2ZXJzaXR5IG9mIEVkaW5idXJn aCwgU2NvdGxhbmQpDQpQdWJsaWNpdHkgQ2hhaXI6DQogIElseWEgU2VyZ2V5IChOYXRpb25hbCBV bml2ZXJzaXR5IG9mIFNpbmdhcG9yZSwgU2luZ2Fwb3JlKQ0KDQpBY2Nlc3NpYmlsaXR5IENvLUNo YWlyczoNCiAgVmFkaW0gWmFsaXZhIChVbml2ZXJzaXR5IG9mIENhbWJyaWRnZSwgVUspDQogIGFu ZCBDYWx2aW4gQmVjayAoVW5pdmVyc2l0eSBvZiBQZW5uc3lsdmFuaWEsIFVTQSkNCkFydGlmYWN0 IEV2YWx1YXRpb24gQ2hhaXI6DQogIEphbm5pcyBMaW1wYmVyZyAoVnJpamUgVW5pdmVyc2l0ZWl0 IEFtc3RlcmRhbSwgTmV0aGVybGFuZHMpDQpEaXZlcnNpdHkgQ2hhaXI6DQogIERhYW4gTGVpamVu IChNaWNyb3NvZnQgUmVzZWFyY2gsIFVTQSkNCkluZHVzdHJpYWwgUmVsYXRpb25zIENvLUNoYWly czoNCiAgQXR6ZSBEaWprc3RyYSAoU3RhbmRhcmQgQ2hhcnRlcmVkIEJhbmssIEVuZ2xhbmQpDQog IGFuZCBNYXRoaWV1IEJvc2VwZmx1ZyAoVHdlYWcgSS9PLCBGcmFuY2UpDQpQcm9ncmFtbWluZyBD b250ZXN0IENvLU9yZ2FuaXNlcnM6DQogIEFscGVyZW4gS2VsZXMgKFVuaXZlcnNpdHkgb2YgTWFy eWxhbmQsIFVTQSkgYW5kDQogIEF5bWVyaWMgRnJvbWhlcnogKElucmlhLCBGcmFuY2UpDQpTdHVk ZW50IFJlc2VhcmNoIENvbXBldGl0aW9uIENoYWlyOg0KICBEYW5pZWwgSGlsbGVyc3Ryw7ZtIChU aGUgVW5pdmVyc2l0eSBvZiBFZGluYnVyZ2gsIFNjb3RsYW5kKQ0KVmlkZW8gQ2hhaXI6DQogIEFw b29ydiBJbmdsZSAoSW93YSwgVVNBKQ0KV29ya3Nob3BzIENvLUNoYWlyczoNCiAgQXJ0aGVyIEF6 ZXZlZG8gZGUgQW1vcmltIChCb3N0b24gVW5pdmVyc2l0eSwgVVNBKQ0KICBhbmQgWWFubmljayBG b3JzdGVyIChJbnJpYSwgRnJhbmNlKQ0KDQojIyMgUEFDTVBMIFZvbHVtZSA3LCBJc3N1ZSBJQ0ZQ IDIwMjMNCg0KQXNzb2NpYXRlIEVkaXRvcjogU2FtIExpbmRsZXkgKFRoZSBVbml2ZXJzaXR5IG9m IEVkaW5idXJnaCwgU2NvdGxhbmQpDQoNClJldmlldyBDb21taXR0ZWU6DQoNCiAgQWdnZWxvcyBC aWJvdWRpcywgT3JhY2xlLCBTd2l0emVybGFuZA0KICBBbGFuIEplZmZyZXksIFJvYmxveCwgVVNB DQogIEFtb3MgUm9iaW5zb24sIFVuYWZmaWxpYXRlZCwgQXVzdHJhbGlhDQogIEFuZHJlZWEgQ29z dGVhLCBOYXRpb25hbCBVbml2ZXJzaXR5IG9mIFNpbmdhcG9yZSwgU2luZ2Fwb3JlDQogIEFuZHJl dyBIaXJzY2gsIFVuaXZlcnNpdHkgb2YgQnVmZmFsbywgVVNBDQogIEFuZHkgR2lsbCwgQ2VyZWJy dXMgU3lzdGVtcywgVVNBDQogIEFybWFuZG8gU29sYXItTGV6YW1hLCBNSVQsIFVTQQ0KICBBcm5h dWQgU3Bpd2FjaywgVHdlYWcsIEZyYW5jZQ0KICBCZW5qYW1pbiBDLiBQaWVyY2UsIFVuaXZlcnNp dHkgb2YgUGVubnN5bHZhbmlhLCBVU0ENCiAgQmV0YSBaaWxpYW5pLCBGQU1BRiwgVU5DIGFuZCBN YW5hcy5UZWNoLCBBcmdlbnRpbmENCiAgQ2h1bmctS2lsIEh1ciwgU2VvdWwgTmF0aW9uYWwgVW5p dmVyc2l0eSwgU291dGggS29yZWENCiAgRGVsaWEgS2VzbmVyLCBVbml2ZXJzaXTDqSBkZSBQYXJp cywgRnJhbmNlDQogIER5bGFuIE1jRGVybW90dCwgUmV5a2phdmlrIFVuaXZlcnNpdHksIEljZWxh bmQNCiAgw4lyaWMgVGFudGVyLCBVbml2ZXJzaXR5IG9mIENoaWxlLCBDaGlsZQ0KICBHYWJyaWVs IFJhZGFubmUsIElucmlhLCBGcmFuY2UNCiAgR2Vyd2luIEtsZWluLCBQcm9vZmNyYWZ0ICYgVU5T VyBTeWRuZXksIEF1c3RyYWxpYQ0KICBIYW5uYWggR29tbWVyc3RhZHQsIFZhc3NlciBDb2xsZWdl LCBVU0ENCiAgSmFtZXMgQ2hhcG1hbiwgSW5wdXQgT3V0cHV0LCBTY290bGFuZA0KICBKYW1lcyBN Y0tpbm5hLCBIZXJpb3QtV2F0dCwgU2NvdGxhbmQNCiAgSmFuIE1pZHRnYWFyZCwgVGFyaWRlcywg RGVubWFyaw0KICBKZXJlbXkgR2liYm9ucywgVW5pdmVyc2l0eSBvZiBPeGZvcmQsIEVuZ2xhbmQN CiAgSm9uYXRoYW4gQnJhY2h0aMOkdXNlciwgVW5pdmVyc2l0eSBvZiBUw7xiaW5nZW4sIEdlcm1h bnkNCiAgSm9uYXRoYW4gU3RlcmxpbmcsIEFhcmh1cyBVbml2ZXJzaXR5LCBEZW5tYXJrDQogIEpv c8OpIFBlZHJvIE1hZ2FsaMOjZXMsIFN0YW5kYXJkIENoYXJ0ZXJlZCBCYW5rLCBFbmdsYW5kDQog IEpvc2ggQmVyZGluZSwgTWV0YSBVSywgRW5nbGFuZA0KICBLYXRocmluIFN0YXJrLCBIZXJpb3Qt V2F0dCwgU2NvdGxhbmQNCiAgTGF1cmEgQm9jY2hpLCBLZW50LCBFbmdsYW5kDQogIExlbm5hcnQg QXVndXN0c3NvbiwgRXBpYyBHYW1lcywgU3dlZGVuDQogIExpYW5nLVRpbmcgQ2hlbiwgQWNhZGVt aWEgU2luaWNhLCBUYWl3YW4sIFRhaXdhbg0KICBMaW9uZWwgUGFycmVhdXgsIEhLVVNULCBIb25n IEtvbmcNCiAgTWFyY29zIFZpZXJhLCBVbml2ZXJzaWRhZCBkZSBsYSBSZXDDumJsaWNhLCBVcnVn dWF5DQogIE1hdHRoZXcgRmxhdHQsIFVuaXZlcnNpdHkgb2YgVXRhaCwgVVNBDQogIE1pY2hhZWwg RC4gQWRhbXMsIE5hdGlvbmFsIFVuaXZlcnNpdHkgb2YgU2luZ2Fwb3JlLCBTaW5nYXBvcmUNCiAg TWljaGFlbCBHcmVlbmJlcmcsIFN0ZXZlbnMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIFVTQQ0K ICBOaWtpIFZhem91LCBJTURFQSwgU3BhaW4NCiAgT2xpdmVyIEJyYcSNZXZhYywgUHVyZHVlIFVu aXZlcnNpdHksIFVTQQ0KICBQYXRyaWsgSmFuc3NvbiwgQ1NFLCBDaGFsbWVycyBhbmQgVUdPVCwg U3dlZGVuLCBTd2VkZW4NCiAgUGF1bCBEb3duZW4sIFVNYXNzIExvd2VsbCwgVVNBDQogIFBldGVy IFRoaWVtYW5uLCBVbml2ZXJzaXR5IG9mIEZyZWlidXJnLCBHZXJtYW55DQogIFNhbSBUb2Jpbi1I b2Noc3RhZHQsIEluZGlhbmEgVW5pdmVyc2l0eSwgVVNBDQogIFNhdG5hbSBTaW5naCwgR3JvcSwg VVNBDQogIFNlYW4gTW9zcywgT3hmb3JkLCBFbmdsYW5kDQogIFNlYmFzdGlhbiBFcmR3ZWcsIEpH VSBNYWlueiwgR2VybWFueQ0KICBTaGluLXlhIEthdHN1bWF0YSwgTmF0aW9uYWwgSW5zdGl0dXRl IG9mIEluZm9ybWF0aWNzLCBKYXBhbg0KICBTaW1vbiBHYXksIFVuaXZlcnNpdHkgb2YgR2xhc2dv dywgU2NvdGxhbmQNCiAgU29uaWEgTWFyaW4sIFVuaXZlcnNpdHkgb2YgQmlybWluZ2hhbSwgRW5n bGFuZA0KICBTdGVwaGVuIERvbGFuLCBKYW5lIFN0cmVldCwgRW5nbGFuZA0KICBTdXNtaXQgU2Fy a2FyLCBVbml2ZXJzaXR5IG9mIFN0IEFuZHJld3MsIFNjb3RsYW5kDQogIFRhaGluYSBSYW1hbmFu YW5kcm8sIE1pY3Jvc29mdCwgVVNBDQogIFRha2VzaGkgVHN1a2FkYSwgQ2hpYmEgVW5pdmVyc2l0 eSwgSmFwYW4NCiAgVGFsaWEgUmluZ2VyLCBVbml2ZXJzaXR5IG9mIElsbGlub2lzIGF0IFVyYmFu YS1DaGFtcGFpZ24sIFVTQQ0KICBZdWtpeW9zaGkgS2FtZXlhbWEsIFVuaXZlcnNpdHkgb2YgVHN1 a3ViYSwgSmFwYW4NCiAgWmhlbmppYW5nIEh1LCBQZWtpbmcgVW5pdmVyc2l0eSwgQ2hpbmENCg==