From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=connectivitycap.com; dkim=pass header.d=connectivitycap.com; arc=none (Message is not ARC signed); dmarc=none Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by mail.toke.dk (Postfix) with ESMTPS id 5A4B0833F3D for ; Sun, 26 Oct 2025 18:38:37 +0100 (CET) Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-7930132f59aso5032983b3a.0 for ; Sun, 26 Oct 2025 10:38:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=connectivitycap.com; s=google; t=1761500315; x=1762105115; darn=lists.bufferbloat.net; h=message-id:to:cc:references:date:subject:mime-version:from:from:to :cc:subject:date:message-id:reply-to; bh=RigGf6eRSKgQDwFTfA4Jhyt2sxLWKg3P3O6e2WxP1dg=; b=lRgqc4jJeglvkhdpl9evnBcNiU5burpLwKWULTF0czCthhNISFhuGbQ8K+3Wds+1N6 GFAV2ZmpTJ9/fsbI8l1MMqC+8BAaDLN4LG0u/IxfeEHjim3YCSNq+iyWoZVGi5G+fNIw SzX9+tW85mbJ29TzXdadVNulgpP/fIgMBUPpiYzI4iwvpkzcDlbwwTlr1z/CTdPg/EQU oYe7eak6HwqKBdwgdLuDbp3L3MOlwSg5OJZWE1feOwPlaRmVxlDGn6FlqVrEdPJ+PZHI QPUozmmKjy5gk2xHKW8ekSogT7clUoPbHgjH+JClOnp54yfZqmLfvJnEs4GuJCdd3o0D FNGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761500315; x=1762105115; h=message-id:to:cc:references:date:subject:mime-version:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RigGf6eRSKgQDwFTfA4Jhyt2sxLWKg3P3O6e2WxP1dg=; b=bmM/XsQkdAq28SfOEkg1DWQf/wNrsXxbTCBba7C6fGXo5ky6GLRzUSMO1s/QBB1YX/ kqouvv7R/LgeN4TY+JFjncjgXqWTs5h5VhPkt0ptVLRN/nL5EaZ2qultDZhj31LdVL1U /hkiTKg2xGtX8PqhAvUDIp3IN8J7qsBFXBE3pJkgrklQl6z93PMnnNOXsHASN26lmzJ7 wXPwlT8ddS2+dfNjLaMeLPYTjn810xBFNdYa7dI0o4T/a9HD+el5tuI2L69AIMSMhmE5 FCqIONiw3H3Swa2yKB77exq1ha6AuBZvsdqYVtq8IJeazEiWKy8db8UCb1+OTUpWNnaI 7oHg== X-Gm-Message-State: AOJu0YzcjWHDv9xU/qOTPieF37i9CUWG2wyVdAvbeITozr9yamY1LftE Hl1owDRESdH4WjAOvT+q2A/tnJ+ZH4ymxBBBgZlrLMIIUbHvDd/8ya2hN6OIOATTpxK9fher1p5 pwGeO X-Gm-Gg: ASbGncv1gdJ9042NFYRqMXrwuxS0ciZDZRuoscfF4NMuZa95WJXiENiT9Crt3+6RCjp cB3yCw70U0o4ijlotXRgp3M0VfkMCdNWPEHWltKvxgaXIRkED3pMvLCS5cgmMX+lVPklacK5EiN DHeIhaVY9MIe8mrNR7r6EEYUIWtn1kCRFTUpAfzk2OPZd3dkaBHsJQPqpOYYTl42+8XrA1Ca+LK bQmCK/IjRLa7Z1JwHbk5j4w5ho7+KTd9Meqq/UuSRoX/vbY5Ceoja3NHWAuGWN92633YSMnd8Cq zEzaw8fYSV2Lq96Nsst40brmbbbGJP783RWZ8yCARed8Wm0uTZPdDlAi7kWNiG3dXayV99eh5UP 4F9ZhXkZeWdiBLSCtTB4MhlWnEerXJV4KCNAho/t6TAC3okODWW8OJ80JDBPimU7If5M97E8SKn IlpvjQ9+yZg+tRt4sdu9MvNZyffsC0E1gaV5B4/q5IFXKvEk1rjYUdAmm+mleCQPoq1pciF6ZO X-Google-Smtp-Source: AGHT+IEQGoiwcsqEm/pA0B0q+Cu6O6KB0HSKeWVfvMOVVJB86fhNcwrzrFg2OgO1NyFzQy47HWCEaw== X-Received: by 2002:a05:6a00:3926:b0:781:18dd:31de with SMTP id d2e1a72fcca58-7a28677250cmr11444920b3a.12.1761500315068; Sun, 26 Oct 2025 10:38:35 -0700 (PDT) Received: from smtpclient.apple (cust-74-123-251-127.static.razzolink.com. [74.123.251.127]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a414049c01sm5382927b3a.37.2025.10.26.10.38.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Oct 2025 10:38:34 -0700 (PDT) From: Jim Forster Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.200.81.1.5\)) Date: Sun, 26 Oct 2025 10:38:23 -0700 References: <1761260598241938943.1.8313504844276585981@localhost.localdomain> Cc: Anurag Bhatia To: starlink@lists.bufferbloat.net Message-Id: <96D2DC08-7B20-4291-B324-489E4529F65B@connectivitycap.com> X-Mailer: Apple Mail (2.3864.200.81.1.5) Message-ID-Hash: JH7LUXSQKC5HUBKHLVMFDXY6RQFB2N6G X-Message-ID-Hash: JH7LUXSQKC5HUBKHLVMFDXY6RQFB2N6G X-MailFrom: jim@connectivitycap.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=utf-8 X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Starlink] Fwd: Mapping Starlink's global IP transit providers List-Id: "Starlink has bufferbloat. Bad." Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: U2VlbXMgcmVsZXZhbnQgdG8gc29tZSByZWNlbnQgcG9zdGluZ3MsIHNvIEkgYW0gZm9yd2FyZGlu ZywNCg0KICDigJQgSmltDQoNCj4gQmVnaW4gZm9yd2FyZGVkIG1lc3NhZ2U6DQo+IA0KPiBGcm9t OiAiYW51cmFnYmhhdGlhLmNvbSBuZXdzbGV0dGVyIiA8bmV3c2xldHRlckBhbnVyYWdiaGF0aWEu Y29tPg0KPiBTdWJqZWN0OiBNYXBwaW5nIFN0YXJsaW5rJ3MgZ2xvYmFsIElQIHRyYW5zaXQgcHJv dmlkZXJzDQo+IERhdGU6IE9jdG9iZXIgMjMsIDIwMjUgYXQgNDowMzoxOOKAr1BNIFBEVA0KPiBU bzogPGppbUBhaXJqYWxkaS5uZXQ+DQo+IA0KPiAgDQo+IEEgbmV3IHBvc3QgaXMgcHVibGlzaGVk IG9uIG15IGJsb2csIFlvdSBjYW4gcmVhZCB0aGUgcG9zdCBjb250ZW50IGluIHRoaXMgZW1haWwg b3Igc2ltcGx5IGNsaWNrIGhlcmUgPGh0dHBzOi8vYW51cmFnYmhhdGlhLmNvbS9wb3N0LzIwMjUv MTAvc3RhcmxpbmstZ2xvYmFsLWludGVyY29ubmVjdGlvbi8+IHRvIHJlYWQgcG9zdCBvbmxpbmUg aW5jYXNlIHlvdSBzZWUgYW55IGZvcm1hdHRpbmcgaXNzdWVzIHdpdGggdGhpcyBtYWlsLiANCj4g DQo+ICANCj4gQSB3aGlsZSBiYWNrLCBJIHBvc3RlZCBhYm91dCBTdGFybGlua+KAmXMgSW5kaWFu IHVwc3RyZWFtIDxodHRwczovL2FudXJhZ2JoYXRpYS5jb20vcG9zdC8yMDI1LzA4L3N0YXJsaW5r LXVwc3RyZWFtcy1pbi1pbmRpYS8+LiBJdOKAmXMgaW50ZXJlc3RpbmcgdGhhdCBub3cgdGhlaXIg cHJlZml4ZXMgYXJlIG5vdCB2aXNpYmxlIGJlaGluZCByb3V0ZWQgdmlhIFRlbHN0cmEgLSBBUzQ2 MzcgYW55bW9yZSwgYnV0IGl0IHNlZW1zIGxpa2UgdGhleSBhcmUgdGVzdGluZyBNdW1iYWktYmFz ZWQgTWljcm9zY2FuIC0gQVM1NTM1Mi4NCj4gDQo+IEkgaGF2ZSBhbHdheXMgYmVlbiBjdXJpb3Vz IGFib3V0IGhvdyB0aGV5IGludGVyY29ubmVjdCBnbG9iYWxseSwgcGFydGljdWxhcmx5IHdpdGgg d2hpY2ggSVAgdHJhbnNpdCBwcm92aWRlcnMuIFRvIGZpbmQgb3V0LCBJIGhhdmUgdG8gZXN0YWJs aXNoIGEgcmVsYXRpb24gYmV0d2VlbiB0aGVpciBHZW9JUCBkYXRhIGFuZCB0aGVpciBCR1AgYW5u b3VuY2VtZW50cyBnbG9iYWxseS4gVGhleSBoYXZlIDIxNjEgSVAgcG9vbHMgaW4gdGhlIEdlb0lQ IHNoZWV0IHdoaWxlIG9yaWdpbmF0aW5nIGFuIGFnZ3JlZ2F0ZSBvZiAxMTA5IHByZWZpeGVzIGZy b20gU3RhcmxpbmsgLSBBUzE0NTkzLg0KPiANCj4gSHVycmljYW5lIEVsZWN0cmlj4oCZcyBHcmFw aF92NCBmb3IgQVMxNDU5MyA8aHR0cHM6Ly9iZ3AuaGUubmV0L0FTMTQ1OTMjX2dyYXBoND4gc2hv d3MgYSByYXRoZXIgY29tcGxpY2F0ZWQgZ3JhcGggYmVjYXVzZSB0aGV5IGhhdmUgZGlmZmVyZW50 IHVwc3RyZWFtcyBhdCBkaWZmZXJlbnQgbG9jYXRpb25zLg0KPiANCj4gDQo+IEhlcmXigJlzIHRo ZSBsb2dpYyBJIGNhbiBmb2xsb3cgdG8gbWFwOg0KPiANCj4gVGhlaXIgR2VvSVAgaXMgZWl0aGVy IC8yNCBvciBzbWFsbGVyIHRoYW4gLzI0LiBJIGNyZWF0ZWQgYSB1bmlxdWUgcGFpciBmb3IgdGhl IGFnZ3JlZ2F0ZSAvMjQtY2l0eSBwYWlyIGFuZCBkaWQgYSBsb29rdXAgb25seSBmb3IgdGhhdC4g RS5nIGZvciBMdXhlbWJvdXJnIHRoZXkgaGF2ZSA0IHggLzI3ICg4Ny4yNTEuMjQuMC8yNywgODcu MjUxLjI0LjMyLzI3LCA4Ny4yNTEuMjQuMTkyLzI3IGFuZCA4Ny4yNTEuMjQuMjI0LzI3KSBjb21p bmcgZnJvbSBzYW1lIC8yNCAoODcuMjUxLjI0LjAvMjQpLiBUaGF0IHdheSwgSSBtYXRjaCB0aGlz IHdpdGggdGhlIEJHUCB0YWJsZSBvbmx5IG9uY2UgYW5kIG5vdCA0IHRpbWVzIHRvIGdldCB0aGUg c2FtZSByZXN1bHQuDQo+IEV4dHJhY3QgYWxsIHJvdXRlcyBmcm9tIHRoZSBnbG9iYWwgcm91dGlu ZyB0YWJsZSBkdW1wIEkgY2FycnkgaW4gbXkgQ2xpY2tIb3VzZSB0YWJsZSBmb3IgQVMxNDU5My4N Cj4gR2V0IGEgc3Vic2V0IG9mIHJvdXRlcyB3aGljaCBhcmUgdmlzaWJsZSBiZWhpbmQga25vd24g dHJhbnNpdC1mcmVlIHRpZXIgMSBuZXR3b3JrcyAodG8gZmlsdGVyIG91dCBhbm5vdW5jZW1lbnRz IHZpYSBwZWVyaW5nKQ0KPiBCcmVhayBCR1AgdGFibGUgcHJlZml4LGFzX3BhdGggbWFwcGluZ3Mg dG8gLzI0IEFTTnMgLSBBU19QQVRIIG1hcHBpbmdzIHRvIGVhc2lseSBtYXAgdGhlIGRhdGEuDQo+ IExvb2sgZm9yIEFTTiBvbiB0aGUgbGVmdCBzaWRlIG9mIEFTX1BBVEggYXMgdmlzaWJsZSBmcm9t IHZhcmlvdXMgdHJhbnNpdC1mcmVlIHRpZXIgMSBuZXR3b3Jrcy4gRS5nLiBhIGZldyBsaW5lcyBv ZiBvdXRwdXQgZm9yIDg3LjI1MS4yNC4wLzI0LCBJIGdldDoNCj4gIjg3LjI1MS4yNC4wLzI0Iiwi WzI4NjI0LDYxNTY4LDI5MTQsMTQ1OTNdIg0KPiAiODcuMjUxLjI0LjAvMjQiLCJbMjYyNDYyLDEy OTU2LDEyOTksMTQ1OTNdIg0KPiAiODcuMjUxLjI0LjAvMjQiLCJbMjAyNTMsNjc2MiwyOTE0LDE0 NTkzXSINCj4gIjg3LjI1MS4yNC4wLzI0IiwiWzU0MzA5LDEyOTksMTQ1OTNdIg0KPiAiODcuMjUx LjI0LjAvMjQiLCJbMzk4NDY1LDMyNTcsMTI5OSwxNDU5M10iDQo+ICI4Ny4yNTEuMjQuMC8yNCIs Ils0OTU0NCwyOTE0LDE0NTkzXSINCj4gIjg3LjI1MS4yNC4wLzI0IiwiWzEzNzg2LDI5MTQsMTQ1 OTNdIg0KPiAiODcuMjUxLjI0LjAvMjQiLCJbMTk5NTI0LDMzNTYsMjkxNCwxNDU5M10iDQo+IFRo aXMgbWVhbnMgQVMyOTE0IGFuZCBBUzEyOTkgYXJlIHRoZSB1cHN0cmVhbXMgaGVyZS4gVGhpcyBp cyBqdXN0IGFuIGV4YW1wbGUuIEFjdHVhbCBvdXRwdXQgaGFzIDEwMDUgcm91dGVzLCBhbmQgSSBj YW5ub3QgcG9zdCB0aGF0IGxvbmcgbGlzdCBoZXJlLg0KPiANCj4gDQo+IA0KPiANCj4gUmVzdWx0 DQo+IA0KPiAgDQo+IFNpbmNlIHRoZSBudW1iZXIgb2YgdHJhbnNpdHMgaXMgc21hbGxlciB0aGFu IHRoZSBudW1iZXIgb2YgbG9jYXRpb25zLCBJIG1hcHBlZCBlYWNoIGxvY2F0aW9uIHRvIGEgZ2l2 ZW4gdHJhbnNpdCBwcm92aWRlci4gSGVyZeKAmXMgd2hhdCBpdCBsb29rcyBsaWtlOg0KPiANCj4g QVNOCUFTIE5hbWUJVXBzdHJlYW0gZm9yIGZvbGxvd2luZyBsb2NhdGlvbnMNCj4gQVMxMDA3NQlG aWJlckBIb21lIEdsb2JhbCBMaW1pdGVkCURoYWthIChCYW5nbGFkZXNoKQ0KPiBBUzEyOTU2CVRF TFhJVVMgQ2FibGUJQnVlbm9zIEFpcmVzIChBcmdlbnRpbmEpLCBDaGljYWdvIChVUyksIERhbGxh cyAoVVMpLCBEb2hhIChRYXRhciksIEd1YXRlbWFsYSBDaXR5IChHdWF0ZW1hbGEpLCBLdXVqanVh cSAoQ2FuYWRhKSwgTGltYSAoUGVydSksIE1hbmFndWEgKE5pY2FyYWd1YSksIE1leGljbyBDaXR5 IChNZXhpY28pLCBNb250ZXZpZGVvIChVcnVndWF5KSwgUGFuYW1hIENpdHkgKFBhbmFtYSksIFBh cmlzIChGcmFuY2UpLCBRdWl0byAoRWN1YWRvciksIFNhbiBKb3NlIChDb3N0YSBSaWNhKSwgU2Fu IFNhbHZhZG9yIChFbCBTYWx2YWRvciksIFNhbnRpYWdvIChDaGlsZSksIFNhbyBQYXVsbyAoQnJh emlsKSwgU2VhdHRsZSAoVVMpLCBTdGFubGV5IChGYWxrbGFuZCBJc2xhbmRzKSwgVGVndWNpZ2Fs cGEgKEhvbmR1cmFzKQ0KPiBBUzEyOTkJQXJlbGlvbi9UZWxpYSBDYXJyaWVyCUFkZW4gKFllbWVu KSwgQW1zdGVyZGFtIChOZXRoZXJsYW5kcyksIEFuY2hvcmFnZSAoVVMpLCBBbmRvcnJhIGxhIFZl bGxhIChBbmRvcnJhKSwgQXNoYnVybiAoVVMpLCBBc3RhbmEgKEthemFraHN0YW4pLCBBdGhlbnMg KEdyZWVjZSksIEF0bGFudGEgKFVTKSwgQmFrdSAoQXplcmJhaWphbiksIEJhbWFrbyAoTWFsaSks IEJhc3NlLVRlcnJlIChHdWFkZWxvdXBlKSwgQmVpcnV0IChMZWJhbm9uKSwgQmVsZ3JhZGUgKFNl cmJpYSksIEJlcmxpbiAoR2VybWFueSksIEJyYXRpc2xhdmEgKFNsb3Zha2lhKSwgQnJ1Y2VqYWNr IChDYW5hZGEpLCBCcnVzc2VscyAoQmVsZ2l1bSksIEJ1Y2hhcmVzdCAoUm9tYW5pYSksIEJ1ZGFw ZXN0IChIdW5nYXJ5KSwgQ2FsZ2FyeSAoQ2FuYWRhKSwgQ2FwZSBDYW5hdmVyYWwgKFVTKSwgQ2hh cmxvdHRlIEFtYWxpZSAoVS5TLiBWaXJnaW4gSXNsYW5kcyksIENoaWNhZ28gKFVTKSwgQ2hpc2lu YXUgKE1vbGRvdmEpLCBDb2xvbWJvIChTcmkgTGFua2EpLCBDb3BlbmhhZ2VuIChEZW5tYXJrKSwg RGFsbGFzIChVUyksIERlbnZlciAoVVMpLCBEaGFrYSAoQmFuZ2xhZGVzaCksIERvaGEgKFFhdGFy KSwgRHVibGluIChJcmVsYW5kKSwgRHVzaGFuYmUgKFRhamlraXN0YW4pLCBEdXRjaCBIYXJib3Ig KFVTKSwgRm9ydC1kZS1GcmFuY2UgKE1hcnRpbmlxdWUpLCBHdWF0ZW1hbGEgQ2l0eSAoR3VhdGVt YWxhKSwgR3VzdGF2aWEgKFNhaW50IEJhcnRow6lsZW15KSwgSGVsc2lua2kgKEZpbmxhbmQpLCBK ZXJ1c2FsZW0gKElzcmFlbCksIEthbnNhcyBDaXR5IChVUyksIEtoYXJ0b3VtIChTdWRhbiksIEtp bmdzdG9uIChKYW1haWNhKSwgS3VhbGEgTHVtcHVyIChNYWxheXNpYSksIEt1a2VzIChBbGJhbmlh KSwgS3V1amp1YXEgKENhbmFkYSksIEt5aXYgKFVrcmFpbmUpLCBMaXNib24gKFBvcnR1Z2FsKSwg TGp1YmxqYW5hIChTbG92ZW5pYSksIExvbmRvbiAoVW5pdGVkIEtpbmdkb20pLCBMb25neWVhcmJl biAoU3ZhbGJhcmQsIE5vcndheSksIEx1eGVtYm91cmcgKEx1eGVtYm91cmcpLCBNYWRyaWQgKFNw YWluKSwgTWFsw6kgKE1hbGRpdmVzKSwgTWFuYWd1YSAoTmljYXJhZ3VhKSwgTWFuaWxhIChQaGls aXBwaW5lcyksIE1hcmllaGFtbiAow4VsYW5kIElzbGFuZHMsIEZpbmxhbmQpLCBNYXJpZ290IChT YWludCBNYXJ0aW4pLCBNZXhpY28gQ2l0eSAoTWV4aWNvKSwgTWlhbWkgKFVTKSwgTWlubmVhcG9s aXMgKFVTKSwgTuKAmURqYW1lbmEgKENoYWQpLCBOYXNzYXUgKEJhaGFtYXMpLCBOaWNvc2lhIChD eXBydXMpLCBOb21lIChVUyksIE9zbG8gKE5vcndheSksIFBhbmFtYSBDaXR5IChQYW5hbWEpLCBQ YXJpcyAoRnJhbmNlKSwgUGhpbGlwc2J1cmcgKFNpbnQgTWFhcnRlbiksIFBob2VuaXggKFVTKSwg UG9kZ29yaWNhIChNb250ZW5lZ3JvKSwgUG9ydC1hdS1QcmluY2UgKEhhaXRpKSwgUHJhZ3VlIChD emVjaCBSZXB1YmxpYyksIFByYWlhIChDYXBlIFZlcmRlKSwgUmVnaW5hIChDYW5hZGEpLCBSZXlr amF2aWsgKEljZWxhbmQpLCBSaWdhIChMYXR2aWEpLCBSb21lIChJdGFseSksIFJvc2VhdSAoRG9t aW5pY2EpLCBTYWludCBKb2hu4oCZcyAoQW50aWd1YSBhbmQgQmFyYnVkYSksIFNhaW50IFBldGVy IFBvcnQgKEd1ZXJuc2V5KSwgU2FsdCBMYWtlIENpdHkgKFVTKSwgU2FuIEpvc2UgKENvc3RhIFJp Y2EpLCBTYW4gSnVhbiAoUHVlcnRvIFJpY28pLCBTYW4gU2FsdmFkb3IgKEVsIFNhbHZhZG9yKSwg U2FudG8gRG9taW5nbyAoRG9taW5pY2FuIFJlcHVibGljKSwgU2FyYWpldm8gKEJvc25pYSBhbmQg SGVyemVnb3ZpbmEpLCBTZWF0dGxlIChVUyksIFNpbmdhcG9yZSAoU2luZ2Fwb3JlKSwgU2tvcGpl IChOb3J0aCBNYWNlZG9uaWEpLCBTb2ZpYSAoQnVsZ2FyaWEpLCBTdG9ja2hvbG0gKFN3ZWRlbiks IFRhbGxpbm4gKEVzdG9uaWEpLCBUYmlsaXNpIChHZW9yZ2lhKSwgVGVndWNpZ2FscGEgKEhvbmR1 cmFzKSwgVGVtcGUgKFVTKSwgVGhpbXBodSAoQmh1dGFuKSwgVGlyYW5hIChBbGJhbmlhKSwgVG9y b250byAoQ2FuYWRhKSwgVmFsbGV0dGEgKE1hbHRhKSwgVmFuY291dmVyIChDYW5hZGEpLCBWaWVu bmEgKEF1c3RyaWEpLCBWaWxuaXVzIChMaXRodWFuaWEpLCBXYXJzYXcgKFBvbGFuZCksIFdpbm5p cGVnIChDYW5hZGEpLCBZYW5nb24gKE15YW5tYXIpLCBZZXJldmFuIChBcm1lbmlhKSwgWmFncmVi IChDcm9hdGlhKSwgWnVyaWNoIChTd2l0emVybGFuZCkNCj4gQVMxMzc0MDkJR1NMIE5ldHdvcmtz IFB0eSBMVEQJQWRhbXN0b3duIChQaXRjYWlybiBJc2xhbmRzKSwgQXBpYSAoU2Ftb2EpLCBBdWNr bGFuZCAoTmV3IFplYWxhbmQpLCBBdmFydWEgRGlzdHJpY3QgKENvb2sgSXNsYW5kcyksIEJyaXNi YW5lIChBdXN0cmFsaWEpLCBDaGljYWdvIChVUyksIENocmlzdGNodXJjaCAoTmV3IFplYWxhbmQp LCBDb2xvbWJvIChTcmkgTGFua2EpLCBEYWxsYXMgKFVTKSwgRGhha2EgKEJhbmdsYWRlc2gpLCBE aWxpIChUaW1vci1MZXN0ZSksIERvaGEgKFFhdGFyKSwgRnVuYWZ1dGkgKFR1dmFsdSksIEhvYmFy dCAoQXVzdHJhbGlhKSwgSG9uaWFyYSAoU29sb21vbiBJc2xhbmRzKSwgSG9ub2x1bHUgKFVTKSwg S3VhbGEgTHVtcHVyIChNYWxheXNpYSksIE1hbMOpIChNYWxkaXZlcyksIE1lbGJvdXJuZSAoQXVz dHJhbGlhKSwgTnVrdeKAmWFsb2ZhIChUb25nYSksIFBhZ28gUGFnbyAoQW1lcmljYW4gU2Ftb2Ep LCBQYXJpcyAoRnJhbmNlKSwgUGVydGggKEF1c3RyYWxpYSksIFBvcnQtVmlsYSAoVmFudWF0dSks IFNlYXR0bGUgKFVTKSwgU2luZ2Fwb3JlIChTaW5nYXBvcmUpLCBTdXZhIChGaWppKSwgU3lkbmV5 IChBdXN0cmFsaWEpLCBUYXJhd2EgKEtpcmliYXRpKSwgVGhpbXBodSAoQmh1dGFuKSwgWWFuZ29u IChNeWFubWFyKSwgWWFyZW4gKE5hdXJ1KQ0KPiBBUzEzNzg2CVNFQUJPUk4sIFVTCUFzdW5jaW9u IChQYXJhZ3VheSksIEJ1ZW5vcyBBaXJlcyAoQXJnZW50aW5hKSwgQ2F5ZW5uZSAoRnJlbmNoIEd1 aWFuYSksIEZvcnRhbGV6YSAoQnJhemlsKSwgR2VvcmdldG93biAoR3V5YW5hKSwgUGFyYW1hcmli byAoU3VyaW5hbWUpLCBTYW50aWFnbyAoQ2hpbGUpLCBTYW8gUGF1bG8gKEJyYXppbCkNCj4gQVMy MTg1OQlaRU4tRUNOLCBVUwlCYW5kYXIgU2VyaSBCZWdhd2FuIChCcnVuZWkpLCBIYWdhdG5hIChH dWFtKSwgS3VhbGEgTHVtcHVyIChNYWxheXNpYSksIE1hbmlsYSAoUGhpbGlwcGluZXMpLCBQYWxp a2lyIChGZWRlcmF0ZWQgU3RhdGVzIG9mIE1pY3JvbmVzaWEpLCBTYWlwYW4gKE5vcnRoZXJuIE1h cmlhbmEgSXNsYW5kcykNCj4gQVMyNTE2CUtEREkJQ2hpY2FnbyAoVVMpLCBEYWxsYXMgKFVTKSwg RG9oYSAoUWF0YXIpLCBIb25vbHVsdSAoVVMpLCBNYWp1cm8gKE1hcnNoYWxsIElzbGFuZHMpLCBQ YXJpcyAoRnJhbmNlKSwgU2VhdHRsZSAoVVMpLCBTZW91bCAoU291dGggS29yZWEpLCBUb2t5byAo SmFwYW4pLCBVbGFhbmJhYXRhciAoTW9uZ29saWEpLCBZYW5nb24gKE15YW5tYXIpDQo+IEFTMjY3 NjEzCUVMRVRST05FVCBTLkEuLCBCUglCcmFzaWxpYSAoQnJhemlsKSwgS3VhbGEgTHVtcHVyIChN YWxheXNpYSkNCj4gQVMyOTE0CU5UVAlMb25kb24gKFVuaXRlZCBLaW5nZG9tKSwgTG9uZ3llYXJi ZW4gKFN2YWxiYXJkLCBOb3J3YXkpLCBMdXhlbWJvdXJnIChMdXhlbWJvdXJnKSwgTWFkcmlkIChT cGFpbiksIE1hcmllaGFtbiAow4VsYW5kIElzbGFuZHMsIEZpbmxhbmQpLCBNb250cmVhbCAoQ2Fu YWRhKSwgTmV3IFlvcmsgKFVTKSwgT3NsbyAoTm9yd2F5KSwgUGFyaXMgKEZyYW5jZSksIFByYWd1 ZSAoQ3plY2ggUmVwdWJsaWMpLCBQcmFpYSAoQ2FwZSBWZXJkZSksIFJleWtqYXZpayAoSWNlbGFu ZCksIFNhaW50IFBldGVyIFBvcnQgKEd1ZXJuc2V5KSwgU2FpbnQtUGllcnJlIChTYWludCBQaWVy cmUgYW5kIE1pcXVlbG9uKSwgU2VhdHRsZSAoVVMpLCBTdG9ja2hvbG0gKFN3ZWRlbiksIFRvcm9u dG8gKENhbmFkYSksIFZpZW5uYSAoQXVzdHJpYSksIFdhcnNhdyAoUG9sYW5kKSwgWnVyaWNoIChT d2l0emVybGFuZCkNCj4gQVMzMDg0NAlMSVFVSUQtQVMsIEdCCUFkZW4gKFllbWVuKSwgQW50YW5h bmFyaXZvIChNYWRhZ2FzY2FyKSwgQ2hpY2FnbyAoVVMpLCBEYWxsYXMgKFVTKSwgRG9oYSAoUWF0 YXIpLCBHYWJvcm9uZSAoQm90c3dhbmEpLCBHaXRlZ2EgKEJ1cnVuZGkpLCBIYXJhcmUgKFppbWJh YndlKSwgSm9oYW5uZXNidXJnIChTb3V0aCBBZnJpY2EpLCBKdWJhIChTb3V0aCBTdWRhbiksIEto YXJ0b3VtIChTdWRhbiksIEtpZ2FsaSAoUndhbmRhKSwgS2luc2hhc2EgKERlbW9jcmF0aWMgUmVw dWJsaWMgb2YgdGhlIENvbmdvKSwgTGlsb25nd2UgKE1hbGF3aSksIEx1c2FrYSAoWmFtYmlhKSwg TWFwdXRvIChNb3phbWJpcXVlKSwgTWF5b3R0ZSAoRnJhbmNlKSwgTWJhYmFuZSAoRXN3YXRpbmkp LCBNb2dhZGlzaHUgKFNvbWFsaWEpLCBOYWlyb2JpIChLZW55YSksIFBhcmlzIChGcmFuY2UpLCBS ZXVuaW9uIChGcmFuY2UpLCBTZWF0dGxlIChVUykNCj4gQVMzMjU3CUdUVAlBc2hidXJuIChVUyks IEFzdGFuYSAoS2F6YWtoc3RhbiksIEF0aGVucyAoR3JlZWNlKSwgQmFrdSAoQXplcmJhaWphbiks IEJhc3NlLVRlcnJlIChHdWFkZWxvdXBlKSwgQmVpcnV0IChMZWJhbm9uKSwgQmVsZ3JhZGUgKFNl cmJpYSksIEJlcmxpbiAoR2VybWFueSksIEJyYXRpc2xhdmEgKFNsb3Zha2lhKSwgQnVjaGFyZXN0 IChSb21hbmlhKSwgQnVkYXBlc3QgKEh1bmdhcnkpLCBDaGFybG90dGUgQW1hbGllIChVLlMuIFZp cmdpbiBJc2xhbmRzKSwgQ2hpY2FnbyAoVVMpLCBDaGlzaW5hdSAoTW9sZG92YSksIERhbGxhcyAo VVMpLCBEb2hhIChRYXRhciksIER1c2hhbmJlIChUYWppa2lzdGFuKSwgRm9ydC1kZS1GcmFuY2Ug KE1hcnRpbmlxdWUpLCBGcmVkZXJpY3RvbiAoQ2FuYWRhKSwgR3VzdGF2aWEgKFNhaW50IEJhcnRo w6lsZW15KSwgSGFsaWZheCAoQ2FuYWRhKSwgSGF3dGhvcm5lIChVUyksIEhvbm9sdWx1IChVUyks IElxYWx1aXQgKENhbmFkYSksIEthbnNhcyBDaXR5IChVUyksIEtoYXJ0b3VtIChTdWRhbiksIEtp bmdzdG9uIChKYW1haWNhKSwgS3VrZXMgKEFsYmFuaWEpLCBLdXVqanVhcSAoQ2FuYWRhKSwgS3lp diAoVWtyYWluZSksIExqdWJsamFuYSAoU2xvdmVuaWEpLCBMb3MgQW5nZWxlcyAoVVMpLCBNYW5p bGEgKFBoaWxpcHBpbmVzKSwgTWFyaWdvdCAoU2FpbnQgTWFydGluKSwgTWV4aWNvIENpdHkgKE1l eGljbyksIE1pYW1pIChVUyksIE1pbGFuIChJdGFseSksIE1pbm5lYXBvbGlzIChVUyksIE1vbnRy ZWFsIChDYW5hZGEpLCBO4oCZRGphbWVuYSAoQ2hhZCksIE5hc3NhdSAoQmFoYW1hcyksIE5ldyBZ b3JrIChVUyksIE5pY29zaWEgKEN5cHJ1cyksIFBhcmlzIChGcmFuY2UpLCBQaGlsaXBzYnVyZyAo U2ludCBNYWFydGVuKSwgUG9kZ29yaWNhIChNb250ZW5lZ3JvKSwgUG9ydC1hdS1QcmluY2UgKEhh aXRpKSwgUG9ydGxhbmQgKFVTKSwgUHJhZ3VlIChDemVjaCBSZXB1YmxpYyksIFJlZ2luYSAoQ2Fu YWRhKSwgUmlnYSAoTGF0dmlhKSwgUm9tZSAoSXRhbHkpLCBSb3NlYXUgKERvbWluaWNhKSwgU2Fp Z29uIChWaWV0bmFtKSwgU2FpbnQgSm9obuKAmXMgKEFudGlndWEgYW5kIEJhcmJ1ZGEpLCBTYWlu dC1QaWVycmUgKFNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24pLCBTYW4gSm9zZSAoQ29zdGEgUmlj YSksIFNhbiBKdWFuIChQdWVydG8gUmljbyksIFNhbnRvIERvbWluZ28gKERvbWluaWNhbiBSZXB1 YmxpYyksIFNhcmFqZXZvIChCb3NuaWEgYW5kIEhlcnplZ292aW5hKSwgU2VhdHRsZSAoVVMpLCBT a29wamUgKE5vcnRoIE1hY2Vkb25pYSksIFNvZmlhIChCdWxnYXJpYSksIFRhbGxpbm4gKEVzdG9u aWEpLCBUYmlsaXNpIChHZW9yZ2lhKSwgVGlyYW5hIChBbGJhbmlhKSwgVG9yb250byAoQ2FuYWRh KSwgVmFkdXogKExpZWNodGVuc3RlaW4pLCBWYWxsZXR0YSAoTWFsdGEpLCBWaWVubmEgKEF1c3Ry aWEpLCBWaWxuaXVzIChMaXRodWFuaWEpLCBXYXJzYXcgKFBvbGFuZCksIFdpbm5pcGVnIChDYW5h ZGEpLCBZZXJldmFuIChBcm1lbmlhKSwgWmFncmViIChDcm9hdGlhKSwgWnVyaWNoIChTd2l0emVy bGFuZCkNCj4gQVMzMzU2CUx1bWVuL0NvbHQvTGV2ZWwzCUFuY2hvcmFnZSAoVVMpLCBBc3VuY2lv biAoUGFyYWd1YXkpLCBBdGxhbnRhIChVUyksIEJvZ290YSAoQ29sb21iaWEpLCBCcmFzaWxpYSAo QnJhemlsKSwgQnJhc8OtbGlhIChCcmF6aWwpLCBCcmlkZ2V0b3duIChCYXJiYWRvcyksIEJydWNl amFjayAoQ2FuYWRhKSwgQnVlbm9zIEFpcmVzIChBcmdlbnRpbmEpLCBDYWxnYXJ5IChDYW5hZGEp LCBDYXJhY2FzIChWZW5lenVlbGEpLCBDYXN0cmllcyAoU2FpbnQgTHVjaWEpLCBDaGljYWdvIChV UyksIERhbGxhcyAoVVMpLCBEZW52ZXIgKFVTKSwgRG9oYSAoUWF0YXIpLCBIYXd0aG9ybmUgKFVT KSwgSG9ub2x1bHUgKFVTKSwgS2luZ3N0b3duIChTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFk aW5lcyksIEtyYWxlbmRpamsgKEJvbmFpcmUpLCBLdWFsYSBMdW1wdXIgKE1hbGF5c2lhKSwgTGlt YSAoUGVydSksIExvcyBBbmdlbGVzIChVUyksIE1leGljbyBDaXR5IChNZXhpY28pLCBNb250ZXZp ZGVvIChVcnVndWF5KSwgTm9tZSAoVVMpLCBQYW5hbWEgQ2l0eSAoUGFuYW1hKSwgUGFyaXMgKEZy YW5jZSksIFBvcnQgb2YgU3BhaW4gKFRyaW5pZGFkIGFuZCBUb2JhZ28pLCBRdWl0byAoRWN1YWRv ciksIFNhaW50IEdlb3JnZeKAmXMgKEdyZW5hZGEpLCBTYW4gSm9zZSAoQ29zdGEgUmljYSksIFNh bnRpYWdvIChDaGlsZSksIFNhbyBQYXVsbyAoQnJhemlsKSwgU2VhdHRsZSAoVVMpLCBTdGFubGV5 IChGYWxrbGFuZCBJc2xhbmRzKSwgVmFuY291dmVyIChDYW5hZGEpDQo+IEFTMzcyODIJTUFJTk9O RSwgTkcJQWJkaWphbiAoQ8O0dGUgZOKAmUl2b2lyZSksIEFjY3JhIChHaGFuYSksIEJpc3NhdSAo R3VpbmVhLUJpc3NhdSksIEZyZWV0b3duIChTaWVycmEgTGVvbmUpLCBMYWdvcyAoTmlnZXJpYSks IE1vbnJvdmlhIChMaWJlcmlhKSwgTuKAmURqYW1lbmEgKENoYWQpLCBOaWFtZXkgKE5pZ2VyKSwg UG9ydG8tTm92byAoQmVuaW4pLCBZYW91bmTDqSAoQ2FtZXJvb24pDQo+IEFTMzc2NjIJV0lPQ0Mt QVMsIE1VCUFiZGlqYW4gKEPDtHRlIGTigJlJdm9pcmUpLCBBY2NyYSAoR2hhbmEpLCBCaXNzYXUg KEd1aW5lYS1CaXNzYXUpLCBEYWthciAoU2VuZWdhbCksIEZyZWV0b3duIChTaWVycmEgTGVvbmUp LCBIYXJhcmUgKFppbWJhYndlKSwgSnViYSAoU291dGggU3VkYW4pLCBLaW5zaGFzYSAoRGVtb2Ny YXRpYyBSZXB1YmxpYyBvZiB0aGUgQ29uZ28pLCBMYWdvcyAoTmlnZXJpYSksIE1hcHV0byAoTW96 YW1iaXF1ZSksIE1hc2VydSAoTGVzb3RobyksIE1vbnJvdmlhIChMaWJlcmlhKSwgTuKAmURqYW1l bmEgKENoYWQpLCBOaWFtZXkgKE5pZ2VyKSwgT3VhZ2Fkb3Vnb3UgKEJ1cmtpbmEgRmFzbyksIFBv cnRvLU5vdm8gKEJlbmluKSwgU2FvIFRvbWUgKFPDo28gVG9tw6kgYW5kIFByw61uY2lwZSksIFlh b3VuZMOpIChDYW1lcm9vbikNCj4gQVM0ODI2CVZvY3VzIENvbm5lY3QJQnJpc2JhbmUgKEF1c3Ry YWxpYSksIERpbGkgKFRpbW9yLUxlc3RlKSwgSG9iYXJ0IChBdXN0cmFsaWEpLCBIb25pYXJhIChT b2xvbW9uIElzbGFuZHMpLCBIb25vbHVsdSAoVVMpLCBNZWxib3VybmUgKEF1c3RyYWxpYSksIE51 a3XigJlhbG9mYSAoVG9uZ2EpLCBQZXJ0aCAoQXVzdHJhbGlhKSwgU3V2YSAoRmlqaSksIFN5ZG5l eSAoQXVzdHJhbGlhKSwgWWFyZW4gKE5hdXJ1KQ0KPiBBUzQ4NzI4CVZPREFGT05FUUFUQVIsIFFB CU5vIG1hcHBpbmcgdG8gUG9QIGJ1dCB2aXNpYmxlIHVwc3RyZWFtIGZvciBub24tR2VvSVAgdGFn Z2VkIHByZWZpeGVzIC8gbWlnaHQgYmUgdXAgZm9yIHRlc3RpbmcNCj4gQVM1MjQ2OAlVRklORVQg UEFOQU1BIFMuQS4sIFBBCUd1YXRlbWFsYSBDaXR5IChHdWF0ZW1hbGEpLCBLdXVqanVhcSAoQ2Fu YWRhKSwgTWV4aWNvIENpdHkgKE1leGljbyksIFBhbmFtYSBDaXR5IChQYW5hbWEpLCBTYW4gSm9z ZSAoQ29zdGEgUmljYSksIFNhbiBTYWx2YWRvciAoRWwgU2FsdmFkb3IpLCBUZWd1Y2lnYWxwYSAo SG9uZHVyYXMpDQo+IEFTNTQwNQlJTlRFUkRPVExJTksgcG93ZXJlZCBieSBJbnRlci5saW5rIDxo dHRwOi8vaW50ZXIubGluay8+LCBERQlCZXJsaW4gKEdlcm1hbnkpLCBDaGljYWdvIChVUyksIERh bGxhcyAoVVMpLCBEb2hhIChRYXRhciksIExqdWJsamFuYSAoU2xvdmVuaWEpLCBNaWxhbiAoSXRh bHkpLCBQYXJpcyAoRnJhbmNlKSwgU2VhdHRsZSAoVVMpLCBWYWR1eiAoTGllY2h0ZW5zdGVpbiks IFZpZW5uYSAoQXVzdHJpYSksIFphZ3JlYiAoQ3JvYXRpYSksIFp1cmljaCAoU3dpdHplcmxhbmQp DQo+IEFTNTQxNglCZXlvbglNYW5hbWEgKEJhaHJhaW4pDQo+IEFTNTUzNTIJTWljcm9zY2FuCU5v IG1hcHBpbmcgdG8gUG9QIGJ1dCB2aXNpYmxlIHVwc3RyZWFtIGZvciBub24tR2VvSVAgdGFnZ2Vk IHByZWZpeGVzIC8gbWlnaHQgYmUgdXAgZm9yIHRlc3RpbmcNCj4gQVM1NTgzNglSZWxpYW5jZSBK aW8JTXVtYmFpIChJbmRpYSkNCj4gQVM1NTg1MAlNZXJjdXJ5IE5aIExpbWl0ZWQJQWRhbXN0b3du IChQaXRjYWlybiBJc2xhbmRzKSwgQXBpYSAoU2Ftb2EpLCBBdWNrbGFuZCAoTmV3IFplYWxhbmQp LCBBdmFydWEgRGlzdHJpY3QgKENvb2sgSXNsYW5kcyksIENocmlzdGNodXJjaCAoTmV3IFplYWxh bmQpLCBGdW5hZnV0aSAoVHV2YWx1KSwgSG9ub2x1bHUgKFVTKSwgUGFnbyBQYWdvIChBbWVyaWNh biBTYW1vYSksIFBvcnQtVmlsYSAoVmFudWF0dSksIFRhcmF3YSAoS2lyaWJhdGkpDQo+IEFTNTg3 MTcJU3VtbWl0IENvbW11bmljYXRpb25zCURoYWthIChCYW5nbGFkZXNoKQ0KPiBBUzYwODQ5CUlM RVZBTlQtQVMJQW1tYW4gKEpvcmRhbikNCj4gQVM2MzI3CVNIQVcJQmlsbGluZ3MgKFVTKSwgQ2Fs Z2FyeSAoQ2FuYWRhKSwgUmVnaW5hIChDYW5hZGEpLCBWYW5jb3V2ZXIgKENhbmFkYSkNCj4gQVM2 MzkyNwlSSVNFLUhLIFJJU0UsIEhLCUhhZ2F0bmEgKEd1YW0pLCBLdWFsYSBMdW1wdXIgKE1hbGF5 c2lhKSwgTWFuaWxhIChQaGlsaXBwaW5lcyksIFBhbGlraXIgKEZlZGVyYXRlZCBTdGF0ZXMgb2Yg TWljcm9uZXNpYSksIFNhaXBhbiAoTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzKQ0KPiBBUzY0NTMJ VGF0YSBDb21tCU5vIG1hcHBpbmcgdG8gUG9QIGJ1dCB2aXNpYmxlIHVwc3RyZWFtIGZvciBub24t R2VvSVAgdGFnZ2VkIHByZWZpeGVzDQo+IEFTNjQ2MQlaYXlvCUNoaWNhZ28gKFVTKSwgRGFsbGFz IChVUyksIERvaGEgKFFhdGFyKSwgRnJlZGVyaWN0b24gKENhbmFkYSksIEhhbGlmYXggKENhbmFk YSksIElxYWx1aXQgKENhbmFkYSksIEthbnNhcyBDaXR5IChVUyksIEt1dWpqdWFxIChDYW5hZGEp LCBNZXhpY28gQ2l0eSAoTWV4aWNvKSwgTW9udHJlYWwgKENhbmFkYSksIFBhcmlzIChGcmFuY2Up LCBQaG9lbml4IChVUyksIFBvcnRsYW5kIChVUyksIFJlZ2luYSAoQ2FuYWRhKSwgU2FpbnQgSm9o buKAmXMgKENhbmFkYSksIFNhbHQgTGFrZSBDaXR5IChVUyksIFNlYXR0bGUgKFVTKSwgVGVtcGUg KFVTKSwgVG9yb250byAoQ2FuYWRhKSwgVmFuY291dmVyIChDYW5hZGEpDQo+IEFTNjc2MglURUxF Q09NIElUQUxJQSBTUEFSS0xFCUFzdW5jaW9uIChQYXJhZ3VheSksIEJ1ZW5vcyBBaXJlcyAoQXJn ZW50aW5hKSwgQ2F5ZW5uZSAoRnJlbmNoIEd1aWFuYSksIENoaWNhZ28gKFVTKSwgRGFsbGFzIChV UyksIERvaGEgKFFhdGFyKSwgRm9ydGFsZXphIChCcmF6aWwpLCBHZW9yZ2V0b3duIChHdXlhbmEp LCBQYXJhbWFyaWJvIChTdXJpbmFtZSksIFBhcmlzIChGcmFuY2UpLCBTYW50aWFnbyAoQ2hpbGUp LCBTYW8gUGF1bG8gKEJyYXppbCksIFNlYXR0bGUgKFVTKQ0KPiBBUzcxOTUJRURHRVVOTwlCb2dv dGEgKENvbG9tYmlhKSwgQnJpZGdldG93biAoQmFyYmFkb3MpLCBDYXJhY2FzIChWZW5lenVlbGEp LCBDYXN0cmllcyAoU2FpbnQgTHVjaWEpLCBLaW5nc3Rvd24gKFNhaW50IFZpbmNlbnQgYW5kIHRo ZSBHcmVuYWRpbmVzKSwgS3JhbGVuZGlqayAoQm9uYWlyZSksIEt1dWpqdWFxIChDYW5hZGEpLCBN ZXhpY28gQ2l0eSAoTWV4aWNvKSwgUGFuYW1hIENpdHkgKFBhbmFtYSksIFBvcnQgb2YgU3BhaW4g KFRyaW5pZGFkIGFuZCBUb2JhZ28pLCBRdWl0byAoRWN1YWRvciksIFNhaW50IEdlb3JnZeKAmXMg KEdyZW5hZGEpLCBTYW4gSm9zZSAoQ29zdGEgUmljYSksIFNhbyBQYXVsbyAoQnJhemlsKQ0KPiBB Uzg1MjkJWmFpbiBPbWFudGVsIEludGVybmF0aW9uYWwJTXVzY2F0IChPbWFuKQ0KPiBBUzg1NTEJ QmV6ZXFpbnQgSW50ZXJuZXQgQmFja2JvbmUJSmVydXNhbGVtIChJc3JhZWwpLCBSYW1hbGxhaCAo UGFsZXN0aW5lKQ0KPiBBUzg3ODEJT29yZWRvbwlDaGljYWdvIChVUyksIERhbGxhcyAoVVMpLCBE b2hhIChRYXRhciksIER1YmFpIChVbml0ZWQgQXJhYiBFbWlyYXRlcyksIFBhcmlzIChGcmFuY2Up LCBTZWF0dGxlIChVUykNCj4gIA0KPiBUaGUgYWJvdmUgZGF0YSBoYXMgYmVlbiBtYXBwZWQgZnJv bSByYXcgZGF0YSB3aGljaCBpcyBwb3N0ZWQgaGVyZSA8aHR0cHM6Ly9jZG4uYW51cmFnYmhhdGlh LmNvbS93ZWIvcG9zdC8yMDI1LzEwL3N0YXJsaW5rLWdsb2JhbC1pbnRlcmNvbm5lY3Rpb24vUG9Q LXdpc2UtcmVzdWx0LnR4dD4NCj4gIA0KPiBNaXNjIG5vdGVzOg0KPiANCj4gU29tZSBwcm92aWRl cnMgYXJlIHZpc2libGUgaW4gdGhlIGxpc3QgYXMgdHJhbnNpdCBwbGF5ZXJzIGxpa2UgVGF0YSBD b21tIChBUzY0NTMpLCBWb2RhZm9uZSBRYXRhciAoQVM0ODcyOCkgYW5kIE1pY3Jvc2NhbiAoQVM1 NTM1MiksIGJ1dCBubyBQb1AgaXMgbWFwcGVkIHRvIHRoZW0uIFRoaXMgaXMgZWl0aGVyIGJlY2F1 c2UgdGhleSBhcmUganVzdCB0ZXN0aW5nIGFuZCB0aGVzZSBhcmUgaW5kZWVkIHRoZWlyIHVwc3Ry ZWFtcywgYnV0IG5vIG1hcHBpbmcgZm91bmQgaW4gR2VvSVAgZGF0YSwgT1IgdGhleSBhcmUgdXBz dHJlYW0gZm9yIGEgbGFyZ2UgbnVtYmVyIG9mIHByZWZpeGVzIGFzIHdlbGwgYXMgZG93bnN0cmVh bXMsIHdoaWNoIGFyZSBhZ2FpbiBub3QgaW4gdGhlIEdlb0lQIG1hcHBpbmcuDQo+IFRoaXMgdGFi bGUgYWJvdmUgaXMgc2ltcGx5IHNob3dpbmcgdXBzdHJlYW0gZm9yIGEgUG9QLiBJbiBtYW55IGNh c2VzLCB0aGUgZHJvcCBpcyBsb2NhbCwgd2hpbGUgaW4gbWFueSBjYXNlcywgdGhlIGRyb3AgaXMg bm90IGxvY2FsLiBFLmcuIEFyZWxpb24gKEFTMTI5OSkgc2VlbXMgdG8gYmUgdXBzdHJlYW0gaW4g U3RhcmxpbmsgU3JpIExhbmthIElQcywgd2hpbGUgYWN0dWFsbHkgdGhhdOKAmXMgYSBkcm9wIGZv ciBBcmVsaW9uIGluIFNpbmdhcG9yZS4NCj4gVGhpcyBwb3N0IGlzIGdvaW5nIGxpdmUgb24gMjQg T2N0IDIwMjUsIHdoaWxlIEkgd29ya2VkIG9uIG1vc3Qgb2YgdGhpcyBkYXRhIG9uIDE0IE9jdCAy MDI1LiBSb3V0aW5nIG1pZ2h0IGhhdmUgY2hhbmdlZCBhIGxpdHRsZSBiaXQgaW4gdGhlIGxhc3Qg MTAgZGF5cy4NCj4gIA0KPiBEaXNjbGFpbWVyOiBUaGlzIGlzIG15IHBlcnNvbmFsIGJsb2csIGFu ZCBoZW5jZSwgcG9zdHMgbWFkZSBoZXJlIGFyZSBpbiBteSBwZXJzb25hbCBjYXBhY2l0eS4gVGhl c2UgZG8gbm90IHJlcHJlc2VudCB0aGUgdmlld3Mgb2YgbXkgZW1wbG95ZXIuIA0KPiANCj4gVW5z dWJzY3JpYmUgPGh0dHBzOi8vbmV3c2xldHRlci5hbnVyYWdiaGF0aWEuY29tL3N1YnNjcmlwdGlv bi84Nzk4ZWUzNS1iNjQ0LTQ4NjQtOTJhOC1lNTFlYjE3NjkxM2UvOThkNzk5NjMtZmVjZi00MTY3 LWEzN2QtMTFmZWQxYjFlZjRkPiAgICBWaWV3IGluIGJyb3dzZXIgPGh0dHBzOi8vbmV3c2xldHRl ci5hbnVyYWdiaGF0aWEuY29tL2NhbXBhaWduLzg3OThlZTM1LWI2NDQtNDg2NC05MmE4LWU1MWVi MTc2OTEzZS85OGQ3OTk2My1mZWNmLTQxNjctYTM3ZC0xMWZlZDFiMWVmNGQ+DQo+ICANCj4gW0Nh dXRpb25dIFRoaXMgZW1haWwgb3JpZ2luYXRlZCBmcm9tIG91dHNpZGUgb2YgQWlySmFsZGkuIERv IG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgcmVjb2duaXpl IHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCj4gDQoNCg==