SDI: Secure Semantic Data Injection
Jessica Mulein <[email protected]> Sun, 17 May 2026 20:03:18 +0000
| Newsgroups | gmane.comp.shells.zsh.user |
|---|---|
| Message-ID | <CH3PR20MB6243CF33C4C80323E534808CF6022@CH3PR20MB6243.namprd20.prod.outlook.com> |
--_004_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_ Content-Type: multipart/alternative; boundary="_000_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_" --_000_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable I=92ve developed a variant of ZSH called BSH (https://bsh.digitaldefiance.o= rg) which uses BrightDates (https://brightdate.org) instead of Julian dates= , and that=92s a whole other thing, but in the process, I developed a thing= called =93SDI=94 or "Secure Semantic Data Injection=94 and added it to BSH= . I am recommending it be added to ZSH as well. Its purpose is for shuttling = temporary credentials from development servers and such to a 1Password like= desktop receiver that can make cut/paste easy.. I=92ve developed a simple version: https://sdiagent.digitaldefiance.org and= it is installable via homebrew. BSH is available via brew too but you=92d have to put up with the BrightDat= es and I don=92t necessarily recommend it for everyone. They=92re handy for= scripting though. That being said I think BSH has its place. I think SDI has its place. Hopefully I have my place and can be of service. Jessica Mulein President Digital Defiance (501c3) --_000_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1= 252"> </head> <body> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 12pt; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr;"><span style=3D"font-size: 16px; color: rgb(0= , 0, 0);">I=92ve developed a variant of ZSH called BSH (<a href=3D"https://= bsh.digitaldefiance.org" data-outlook-id=3D"f05c44d0-6d7d-4b2c-8abe-8869edc= da94a">https://bsh.digitaldefiance.org</a>) which uses BrightDates (<a href=3D"https://brightdate.org" data-outlook-id= =3D"32107904-8b38-4041-9bd5-1188256ce2b1">https://brightdate.org</a>) inste= ad of Julian dates, and that=92s a whole other thing, but in the process, I= developed a thing called </span>=93<span style=3D"font-size: 16px; color: rgb(0, 0, 0);">SDI</span><= span style=3D"font-size: 16px;">=94</span><span style=3D"font-size: 16px; c= olor: rgb(0, 0, 0);"> or "Secure Semantic Data Injection</span>= =94<span style=3D"font-size: 16px; color: rgb(0, 0, 0);"> and added it to BSH.</span></div> <div style=3D"direction: ltr; font-size: 16px; color: rgb(0, 0, 0);"><br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> I am recommending it be added to ZSH as well. Its purpose is for shuttling = temporary credentials from development servers and such to a 1Password like= desktop receiver that can make cut/paste easy..</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> I=92ve developed a simple version: <a href=3D"https://sdiagent.digitaldefia= nce.org" data-outlook-id=3D"c9bc38f1-2727-436b-b28e-30b5e96e3b09"> https://sdiagent.digitaldefiance.org</a> and it is installable via hom= ebrew.</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> BSH is available via brew too but you=92d have to put up with the BrightDat= es and I don=92t necessarily recommend it for everyone. They=92re handy for= scripting though.</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> That being said I think BSH has its place. I think SDI has its place.</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> Hopefully I have my place and can be of service.</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> Jessica Mulein</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> President</div> <div style=3D"direction: ltr; font-family: Aptos, Arial, Helvetica, sans-se= rif; font-size: 16px; color: rgb(0, 0, 0);"> Digital Defiance (501c3)</div> </body> </html> --_000_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_-- --_004_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_ Content-Type: application/octet-stream; name="rfc-sdi-osc7777.md" Content-Description: rfc-sdi-osc7777.md Content-Disposition: attachment; filename="rfc-sdi-osc7777.md"; size=17040; creation-date="Sun, 17 May 2026 20:01:46 GMT"; modification-date="Sun, 17 May 2026 20:01:46 GMT" Content-Transfer-Encoding: base64 IyBSRkM6IFNlY3VyZSBTZW1hbnRpYyBEYXRhIEluamVjdGlvbiAoU0RJKSB2aWEgT1NDIDc3Nzcg RXNjYXBlIFNlcXVlbmNlcwoKKipBdXRob3I6KiogSmVzc2ljYSBNdWxlaW4gIAoqKlJldmlzZWQg Ynk6KiogQ2xhdWRlIChzZWN1cml0eSByZXZpZXcpICAKKipTdGF0dXM6KiogUHJvcG9zYWwgLyBE cmFmdCBTdGFuZGFyZCAgCioqRGF0ZToqKiBNYXkgMjAyNgoKLS0tCgojIyAxLiBBYnN0cmFjdAoK TW9kZXJuIHRlcm1pbmFsIHdvcmtmbG93cyByb3V0aW5lbHkgaW50ZXJhY3Qgd2l0aCwgZ2VuZXJh dGUsIGFuZCBwcm9jZXNzIG11bHRpLWZpZWxkLCBoaWdobHkgc3RydWN0dXJlZCBlcGhlbWVyYWwg ZGF0YeKAlHN1Y2ggYXMgZHluYW1pYyB0ZXN0IGNyZWRlbnRpYWxzLCBjbG91ZCBzZXNzaW9uIGF1 dGhlbnRpY2F0aW9uIGVsZW1lbnRzLCBhbmQgY29tcGxleCBpbmZyYXN0cnVjdHVyZSBjb25uZWN0 aW9uIGNvbnRleHRzLgoKSG93ZXZlciwgdGhlIHByb3RvY29sIGxheWVyIGludGVyZmFjaW5nIHRl cm1pbmFsIGVtdWxhdG9yIHRhc2tzIHdpdGggdGhlIGhvc3Qgb3BlcmF0aW5nIHN5c3RlbSByZW1h aW5zIHJlc3RyaWN0ZWQgdG8gZmxhdCB0ZXh0IHN0cmVhbWluZyBvciB1bnNlY3VyZWQsIHNpbmds ZS12YWx1ZSBzeXN0ZW0gY2xpcGJvYXJkcy4gVGhpcyBkb2N1bWVudCBwcm9wb3NlcyBhbiBvcGVu LCBjcm9zcy1wbGF0Zm9ybSBzdGFuZGFyZCBmb3IgU2VjdXJlIFNlbWFudGljIERhdGEgSW5qZWN0 aW9uIChTREkpIHVzaW5nIGEgbmV3IG9wZXJhdGluZyBzeXN0ZW0gY29tbWFuZCBzZXF1ZW5jZSAo T1NDIDc3NzcpLCBlbmFibGluZyBpc29sYXRlZCwgY3J5cHRvZ3JhcGhpY2FsbHkgdmFsaWRhdGVk IHBpcGVsaW5lIHN0cnVjdHVyZXMgdG8gY29tbXVuaWNhdGUgdHlwZWQgSlNPTiBzdGF0ZXMgbmF0 aXZlbHkgYmV0d2VlbiBzaGVsbHMgYW5kIGJhY2tncm91bmQgY29tcGFuaW9uIGFwcGxpY2F0aW9u cyB3aXRob3V0IHJpc2tpbmcgY2xpcGJvYXJkIGV4cG9zdXJlIG9yIHRleHQtZm9yZ2VyeSBhdHRh Y2tzLgoKLS0tCgojIyAyLiBUaGUgUHJvYmxlbSAmIFRoZSBWdWxuZXJhYmlsaXR5IFZlY3RvcgoK IyMjIDIuMSBMaW1pdGF0aW9ucyBvZiB0aGUgU3lzdGVtIENsaXBib2FyZAoKUGFzc2luZyByaWNo IHN0cnVjdHVyYWwgc2NoZW1hcyAoc3VjaCBhcyBhIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHNl ZWQgcGhyYXNlIHNpbXVsdGFuZW91c2x5KSB2aWEgdGhlIG5hdGl2ZSBPUyBjbGlwYm9hcmQgZm9y Y2VzIGFuIHVuaWRlYWwgZGV2ZWxvcGVyIGNvbXByb21pc2U6IGVpdGhlciBjb25jYXRlbmF0aW5n IHN0cmluZ3MgaW50byBmcmFnaWxlIGZvcm1hdHMsIG1hbnVhbGx5IGNvcHlpbmcgaW5kaXZpZHVh bCBmaWVsZHMgaXRlcmF0aXZlbHksIG9yIGxlYWtpbmcgc2Vuc2l0aXZlIGNyZWRlbnRpYWxzIHRv IGxvY2FsIGJhY2tncm91bmQgY2xpcGJvYXJkIG1hbmFnZXIgaGlzdG9yaWVzLgoKIyMjIDIuMiBU ZXJtaW5hbCBMaW5lIEhpamFja2luZyAmIFJvZ3VlIENvZGUgRXhlY3V0aW9uCgpSZWx5aW5nIG9u IHN0YW5kYXJkIHVuYXV0aGVudGljYXRlZCBPcGVyYXRpbmcgU3lzdGVtIENvbW1hbmRzIChPU0Mp IHRvIGNvbW11bmljYXRlIHdpdGggbmF0aXZlIGRlc2t0b3AgYXBwbGljYXRpb25zIHBvc2VzIGEg c2V2ZXJlIHNlY3VyaXR5IGhhemFyZC4gSWYgYSB0ZXJtaW5hbCBlbnZpcm9ubWVudCBibGluZGx5 IHBhcnNlcyBhbmQgYWN0cyB1cG9uIHBsYWludGV4dCBlc2NhcGUgc2VxdWVuY2VzIGVtYmVkZGVk IHdpdGhpbiBzdGFuZGFyZCBvdXRwdXQsIGFueSB1bnRydXN0ZWQgYXNzZXTigJRzdWNoIGFzIGEg bWFsaWNpb3VzIHJlcG9zaXRvcnkgZmlsZSBldmFsdWF0ZWQgdmlhIGBjYXRgLCBhIGRlY2VwdGl2 ZSBnaXQgY29tbWl0IGxvZywgb3IgYW4gdW52ZXR0ZWQgc2VydmVyIE1lc3NhZ2Ugb2YgdGhlIERh eSAoTU9URCnigJRjYW4gZm9yZ2Ugc2VxdWVuY2VzIHRvIGluamVjdCBzdHJ1Y3R1cmFsIGRhdGEg b3IgdHJpZ2dlciB1bmludGVuZGVkIGRlc2t0b3AtYWdlbnQgc2lkZS1lZmZlY3RzLgoKLS0tCgoj IyAzLiBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbgoKVGhlIFNlY3VyZSBTREkgc3RhbmRhcmQg aW50cm9kdWNlcyBhIGRpc3RpbmN0IGRlY291cGxlZCBzZXBhcmF0aW9uIGJldHdlZW4gdGhlIFRy YW5zcG9ydCBWZWN0b3IgKHRoZSBQVFkgdGV4dCBwaXBlbGluZSkgYW5kIHRoZSBBdXRoZW50aWNh dGlvbiBDb250cm9sIExheWVyIChhbiBvdXQtb2YtYmFuZCBJUEMgaGFuZHNoYWtlKS4KCiMjIyAz LjEgT3V0LW9mLUJhbmQgQ3J5cHRvZ3JhcGhpYyBSZWdpc3RyYXRpb24KCkJlZm9yZSBhbnkgZGF0 YSBpbmplY3Rpb24gdGFrZXMgcGxhY2UsIGFuIGludGVyYWN0aXZlIHNoZWxsIHNlc3Npb24gcmVn aXN0ZXJzIGl0c2VsZiB3aXRoIGEgbG9jYWxpemVkLCB1c2VyLXJlc3RyaWN0ZWQgYmFja2dyb3Vu ZCBEZXNrdG9wIEFnZW50IERhZW1vbiBydW5uaW5nIG9uIHRoZSBob3N0IHN5c3RlbS4KCjEuICoq TG9jYWwgQ2hhbm5lbDoqKiBUaGUgQWdlbnQgaG9zdHMgYSByZXN0cmljdGVkIFVuaXggZG9tYWlu IHNvY2tldCBhY2Nlc3NpYmxlIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBsb2NhbCB1c2VyIGFjY291bnQg KGBjaG1vZCA2MDBgLCBgc3RhdC5zdF91aWQgPT0gZ2V0dWlkKClgKS4gVGhlIHNvY2tldCBwYXRo ICoqbXVzdCoqIGluY2x1ZGUgYSBwZXItYm9vdCBvciBwZXItYWdlbnQgcmFuZG9tIGNvbXBvbmVu dCAoZS5nLiBgL3J1bi91c2VyLzx1aWQ+L3NkaS1hZ2VudC08MTYtcmFuZG9tLWhleD4uc29ja2Ap IHRvIHByZXZlbnQgc29ja2V0LXBhdGggc3F1YXR0aW5nIGJ5IGEgbWFsaWNpb3VzIHByb2Nlc3Mg dGhhdCBzdGFydHMgYmVmb3JlIHRoZSBhZ2VudC4gVGhlIHNvY2tldCBwYXRoIGlzIGNvbW11bmlj YXRlZCB0byBjaGlsZCBzaGVsbHMgdmlhIGEgcHJvdGVjdGVkIGVudmlyb25tZW50IHZhcmlhYmxl IChgU0RJX0FHRU5UX1NPQ0tgKSBzZXQgb25seSBhdCBhZ2VudCBzdGFydHVwLgoKMi4gKipFcGhl bWVyYWwgRXhjaGFuZ2U6KiogVGhlIHNoZWxsIGluc3RhbmNlIGNvbm5lY3RzIHRvIHRoZSBzb2Nr ZXQgZHVyaW5nIGl0cyBpbml0aWFsaXphdGlvbiBwaGFzZSBhbmQgcGVyZm9ybXMgYW4gWDI1NTE5 IEVDREgga2V5IGFncmVlbWVudCBmb2xsb3dlZCBieSBIS0RGLVNIQTI1NiBkZXJpdmF0aW9uIHRv IHByb2R1Y2UgYSB1bmlxdWUgMzItYnl0ZSBzZXNzaW9uIGtleSAoJEtfe3Nlc3Npb259JCkgYWxv bmdzaWRlIGEgdHJhbnNpZW50IFNlc3Npb24tSUQuCgozLiBUaGlzIGtleSByZXNpZGVzIHN0cmlj dGx5IHdpdGhpbiB0aGUgYWN0aXZlIG1lbW9yeSBzcGFjZSBvZiB0aGF0IHNwZWNpZmljIHNoZWxs IHByb2Nlc3MgYW5kIHRoZSBEZXNrdG9wIEFnZW50LgoKNC4gKipTZXNzaW9uIEV4cGlyeToqKiBT ZXNzaW9ucyBoYXZlIGEgbWF4aW11bSBsaWZldGltZSBvZiA4IGhvdXJzIHJlZ2FyZGxlc3Mgb2Yg YWN0aXZpdHkuIFRoZSBhZ2VudCAqKm11c3QqKiByZWZ1c2UgdG8gZGVjcnlwdCBPU0MgNzc3NyBz ZXF1ZW5jZXMgZm9yIGV4cGlyZWQgc2Vzc2lvbnMgYW5kICoqbXVzdCoqIGxvZyB0aGUgYXR0ZW1w dC4gU2hlbGxzIHRoYXQgb3V0bGl2ZSB0aGVpciBzZXNzaW9uIG11c3QgcmUtcmVnaXN0ZXIuCgo1 LiAqKlNxdWF0dGluZyBEZWZlbnNlOioqIE9uIHN0YXJ0dXAgdGhlIGFnZW50ICoqbXVzdCoqIHZl cmlmeSB0aGF0IG5vIGZpbGUgZXhpc3RzIGF0IHRoZSBjaG9zZW4gc29ja2V0IHBhdGggYmVmb3Jl IGJpbmRpbmcuIElmIGEgc29ja2V0IGZpbGUgYWxyZWFkeSBleGlzdHMgYXQgdGhhdCBwYXRoLCB0 aGUgYWdlbnQgKiptdXN0KiogYWJvcnQgd2l0aCBhIGZhdGFsIGVycm9yIHJhdGhlciB0aGFuIG92 ZXJ3cml0aW5nIGl0LgoKIyMjIDMuMiBSZWdpc3RyYXRpb24gV2lyZSBQcm90b2NvbAoKVGhlIHJl Z2lzdHJhdGlvbiBoYW5kc2hha2UgdXNlcyBhIGNvbXBhY3QgYmluYXJ5IGZyYW1pbmcgb3ZlciB0 aGUgVW5peCBkb21haW4gc29ja2V0IOKAlCAqKm5vIEpTT04sIG5vIGxlbmd0aCBwcmVmaXgqKi4K CioqU2hlbGwg4oaSIEFnZW50KiogKDQ4IGJ5dGVzLCBzZW50IGF0b21pY2FsbHkpOgoKfCBPZmZz ZXQgfCBMZW5ndGggfCBDb250ZW50IHwKfCAtLS0gfCAtLS0gfCAtLS0gfAp8IDAgfCAxNiB8IGBz ZXNzaW9uX2lkYCDigJQgMTYgY3J5cHRvZ3JhcGhpY2FsbHkgcmFuZG9tIGJ5dGVzIGdlbmVyYXRl ZCBieSB0aGUgc2hlbGwgfAp8IDE2IHwgMzIgfCBgc2hlbGxfcHViYCDigJQgdGhlIHNoZWxsJ3Mg ZXBoZW1lcmFsIFgyNTUxOSBwdWJsaWMga2V5IChyYXcgMzItYnl0ZSBsaXR0bGUtZW5kaWFuKSB8 CgoqKkFnZW50IOKGkiBTaGVsbCoqICgzMiBieXRlcyk6Cgp8IE9mZnNldCB8IExlbmd0aCB8IENv bnRlbnQgfAp8IC0tLSB8IC0tLSB8IC0tLSB8CnwgMCB8IDMyIHwgYGFnZW50X3B1YmAg4oCUIHRo ZSBhZ2VudCdzIGVwaGVtZXJhbCBYMjU1MTkgcHVibGljIGtleSAocmF3IDMyLWJ5dGUgbGl0dGxl LWVuZGlhbikgfAoKQWZ0ZXIgdGhlIGV4Y2hhbmdlIGJvdGggc2lkZXMgaW5kZXBlbmRlbnRseSBk ZXJpdmUgdGhlIHNlc3Npb24ga2V5OgoKJCRLX3tzZXNzaW9ufSA9IFx0ZXh0e0hLREYtU0hBMjU2 fShcdGV4dHtJS019ID0gWDI1NTE5KFx0ZXh0e3ByaXZ9LCBcdGV4dHtwZWVyXF9wdWJ9KSxcIFx0 ZXh0e3NhbHR9ID0gXHRleHR7c2Vzc2lvblxfaWR9LFwgXHRleHR7aW5mb30gPSBcdGV4dHsic2Rp LXNlc3Npb24ta2V5In0sXCBMID0gMzIpJCQKClRoZSBzb2NrZXQgY29ubmVjdGlvbiBpcyB0aGVu IGNsb3NlZC4gJEtfe3Nlc3Npb259JCBpcyBuZXZlciB0cmFuc21pdHRlZC4KCioqU2Vzc2lvbi1J RCBlbmNvZGluZzoqKiBUaGUgcmF3IDE2LWJ5dGUgYHNlc3Npb25faWRgIGlzIGVuY29kZWQgYXMg MzIgbG93ZXJjYXNlIGhleCBjaGFyYWN0ZXJzIGluIHRoZSBPU0Mgc2VxdWVuY2UgKGUuZy4gYDJh M2YuLi5gKS4KCioqUmF0ZSBsaW1pdGluZzoqKiBUaGUgYWdlbnQgKiptdXN0KiogZW5mb3JjZSBh IHJhdGUgbGltaXQgb2Ygbm8gbW9yZSB0aGFuIDEwIGZhaWxlZCBhdXRoZW50aWNhdGlvbiBhdHRl bXB0cyBwZXIgbWludXRlIHBlciBjb25uZWN0aW5nIFBJRC4gRXhjZWVkaW5nIHRoaXMgdGhyZXNo b2xkIGNhdXNlcyB0aGUgYWdlbnQgdG8gY2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGxvZyBhIHdh cm5pbmcuIFRoaXMgbWl0aWdhdGVzIGxvY2FsIGJydXRlLWZvcmNlIGVudW1lcmF0aW9uIG9mIHNl c3Npb24gSURzLgoKIyMjIDMuMyBUaGUgU2VjdXJlIE9TQyA3Nzc3IFNlcXVlbmNlIFN5bnRheAoK V2hlbiBhIHV0aWxpdHkgb3IgcHJvY2VzcyBpbnNpZGUgdGhlIHNoZWxsIHdhbnRzIHRvIGJyb2Fk Y2FzdCBzdHJ1Y3R1cmVkIHNlbWFudGljIGRhdGEsIGl0IHdyYXBzIHRoZSBwYXlsb2FkIGluc2lk ZSBhbiBlbmNyeXB0ZWQgT1NDIDc3NzcgbWFjcm8gc3RydWN0dXJlOgoKYGBgClxlXTc3Nzc7PHNl c3Npb24taWQtaGV4Pjs8YmFzZTY0LWNvdW50ZXI+Ozx0eXBlPjs8YmFzZTY0LWNvbnRleHQ+Ozxi YXNlNjQtbm9uY2U+OzxiYXNlNjQtY2lwaGVydGV4dD47PGJhc2U2NC1hdXRoLXRhZz5cYQpgYGAK CnwgRmllbGQgfCBFbmNvZGluZyB8IERlc2NyaXB0aW9uIHwKfCAtLS0gfCAtLS0gfCAtLS0gfAp8 IGBzZXNzaW9uLWlkLWhleGAgfCAzMi1jaGFyIGxvd2VyY2FzZSBoZXggfCBNYXBzIHRoZSBzZXF1 ZW5jZSB0byBhIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXkgfAp8IGBiYXNlNjQtY291bnRlcmAgfCBz dGFuZGFyZCBCYXNlNjQgfCA4LWJ5dGUgYmlnLWVuZGlhbiB1bnNpZ25lZCBtb25vdG9uaWMgc2Vx dWVuY2UgY291bnRlciAoc2VlIMKnMy41KSB8CnwgYHR5cGVgIHwgcGxhaW50ZXh0IEFTQ0lJIHwg UGF5bG9hZCBzY2hlbWEgaWRlbnRpZmllciAoZS5nLiBgZXBoZW1lcmFsLWF1dGhgKSB8CnwgYGJh c2U2NC1jb250ZXh0YCB8IHN0YW5kYXJkIEJhc2U2NCB8IFJvdXRpbmcgY29udGV4dCAoZS5nLiBB UEkgVVJMKTsgQmFzZTY0IHRvIGF2b2lkIHNlbWljb2xvbiBjb2xsaXNpb25zIHwKfCBgYmFzZTY0 LW5vbmNlYCB8IHN0YW5kYXJkIEJhc2U2NCB8IDEyLWJ5dGUgQUVTLUdDTSBpbml0aWFsaXphdGlv biB2ZWN0b3IgfAp8IGBiYXNlNjQtY2lwaGVydGV4dGAgfCBzdGFuZGFyZCBCYXNlNjQgfCBBRVMt MjU2LUdDTSBlbmNyeXB0ZWQgSlNPTiBwYXlsb2FkIHwKfCBgYmFzZTY0LWF1dGgtdGFnYCB8IHN0 YW5kYXJkIEJhc2U2NCB8IDE2LWJ5dGUgR0NNIGF1dGhlbnRpY2F0aW9uIHRhZyB8CgpgXGFgIChC RUwsIDB4MDcpIGlzIHRoZSBzZXF1ZW5jZSB0ZXJtaW5hdG9yLgoKPiAqKk5vdGUgb24gYHR5cGVg IGZpZWxkIGNvbmZpZGVudGlhbGl0eToqKiBUaGUgYHR5cGVgIGZpZWxkIGlzIHRyYW5zbWl0dGVk IGluIHBsYWludGV4dCBhbmQgd2lsbCBiZSB2aXNpYmxlIHRvIGFueSBvYnNlcnZlciBvZiB0aGUg UFRZIHN0cmVhbSAoZS5nLiB0ZXJtaW5hbCByZWNvcmRpbmdzLCBsb2cgY2FwdHVyZXMpLiBJbXBs ZW1lbnRhdGlvbnMgdGhhdCBjb25zaWRlciB0aGUgcGF5bG9hZCBzY2hlbWEgaWRlbnRpZmllciBz ZW5zaXRpdmUgKipzaG91bGQqKiB1c2UgYSBnZW5lcmljIGB0eXBlYCB2YWx1ZSAoZS5nLiBgc2Rp LXBheWxvYWRgKSBhbmQgZW5jb2RlIHRoZSB0cnVlIHR5cGUgaW5zaWRlIHRoZSBlbmNyeXB0ZWQg SlNPTiBib2R5LiBTZWUgwqc0IGZvciBzY2hlbWEgY29udmVudGlvbnMuCgojIyMgMy40IEFkZGl0 aW9uYWwgQXV0aGVudGljYXRlZCBEYXRhIChBQUQpCgpUaGUgYGNvdW50ZXJgLCBgdHlwZWAsIGFu ZCBgY29udGV4dGAgdmFsdWVzIGFyZSBib3VuZCBpbnRvIHRoZSBBRVMtMjU2LUdDTSBhdXRoZW50 aWNhdGlvbiB0YWcgYXMgQWRkaXRpb25hbCBBdXRoZW50aWNhdGVkIERhdGEuIFRoZSBBQUQgKipt dXN0KiogYmUgY29uc3RydWN0ZWQgdXNpbmcgbGVuZ3RoLXByZWZpeGVkIGVuY29kaW5nIHRvIHBy ZXZlbnQgYm91bmRhcnkgY29uZnVzaW9uIGF0dGFja3M6CgokJFx0ZXh0e0FBRH0gPSBcdGV4dHtM RTMyfShcdGV4dHtsZW59KFxtYXRoaXR7Y291bnRlclxfYnl0ZXN9KSkgXG1hdGhiaW5cfCBcbWF0 aGl0e2NvdW50ZXJcX2J5dGVzfSBcbWF0aGJpblx8IFx0ZXh0e0xFMzJ9KFx0ZXh0e2xlbn0oXG1h dGhpdHt0eXBlXF9ieXRlc30pKSBcbWF0aGJpblx8IFxtYXRoaXR7dHlwZVxfYnl0ZXN9IFxtYXRo YmluXHwgXHRleHR7TEUzMn0oXHRleHR7bGVufShcbWF0aGl0e2NvbnRleHRcX2J5dGVzfSkpIFxt YXRoYmluXHwgXG1hdGhpdHtjb250ZXh0XF9ieXRlc30kJAoKd2hlcmUgYExFMzIobilgIGlzIGEg NC1ieXRlIGxpdHRsZS1lbmRpYW4gZW5jb2Rpbmcgb2YgYG5gLCBgY291bnRlcl9ieXRlc2AgaXMg dGhlIHJhdyA4LWJ5dGUgYmlnLWVuZGlhbiBjb3VudGVyLCBgdHlwZV9ieXRlc2AgaXMgdGhlIFVU Ri04IGVuY29kaW5nIG9mIHRoZSB0eXBlIHN0cmluZywgYW5kIGBjb250ZXh0X2J5dGVzYCBpcyB0 aGUgcmF3IGRlY29kZWQgYnl0ZXMgb2YgdGhlIEJhc2U2NCBjb250ZXh0IGZpZWxkLgoKVGhlIGFn ZW50ICoqbXVzdCoqIHN1cHBseSBhbGwgdGhyZWUgdmFsdWVzIGR1cmluZyBkZWNyeXB0aW9uLiBJ ZiBhbnkgZmllbGQgaXMgYWJzZW50IGl0cyBsZW5ndGggcHJlZml4IGlzIGBMRTMyKDApYCBhbmQg aXQgY29udHJpYnV0ZXMgemVybyBwYXlsb2FkIGJ5dGVzICh0aGUgbGVuZ3RoIHByZWZpeCBpdHNl bGYgaXMgc3RpbGwgaW5jbHVkZWQpLgoKVGhpcyBjb25zdHJ1Y3Rpb24gZW5zdXJlcyB0aGF0IGEg Y2FwdHVyZWQgY2lwaGVydGV4dCBjYW5ub3QgYmUgcmVwbGF5ZWQgdW5kZXIgYSBkaWZmZXJlbnQg dHlwZSwgY29udGV4dCwgb3IgY291bnRlciB2YWx1ZSBldmVuIGlmIHRoZSBzZXNzaW9uIGtleSB3 ZXJlIHNvbWVob3cgZXh0cmFjdGVkLgoKIyMjIDMuNSBSZXBsYXkgUHJvdGVjdGlvbiB2aWEgTW9u b3RvbmljIENvdW50ZXIKCkVhY2ggc2hlbGwgc2Vzc2lvbiBtYWludGFpbnMgYSBwZXItc2Vzc2lv biBtb25vdG9uaWMgY291bnRlciwgaW5pdGlhbGl6ZWQgdG8gYDBgIGF0IHJlZ2lzdHJhdGlvbiBh bmQgaW5jcmVtZW50ZWQgYnkgMSBmb3IgZXZlcnkgT1NDIDc3Nzcgc2VxdWVuY2UgZW1pdHRlZC4g VGhlIGN1cnJlbnQgY291bnRlciB2YWx1ZSBpcyBlbmNvZGVkIGFzIGFuIDgtYnl0ZSBiaWctZW5k aWFuIHVuc2lnbmVkIGludGVnZXIsIGJhc2U2NC1lbmNvZGVkLCBhbmQgaW5jbHVkZWQgaW4gdGhl IHNlcXVlbmNlIChzZWUgwqczLjMpLgoKVGhlIGFnZW50ICoqbXVzdCoqOgoKLSBUcmFjayB0aGUg aGlnaGVzdCBjb3VudGVyIHZhbHVlIHNlZW4gZm9yIGVhY2ggYWN0aXZlIHNlc3Npb24uCi0gUmVq ZWN0IGFueSBzZXF1ZW5jZSB3aG9zZSBjb3VudGVyIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVh bCB0byB0aGUgbGFzdCBhY2NlcHRlZCBjb3VudGVyIGZvciB0aGF0IHNlc3Npb24uCi0gQWNjZXB0 IGNvdW50ZXIgdmFsdWVzIHVwIHRvIGBsYXN0X2FjY2VwdGVkICsgMTAwMGAgdG8gdG9sZXJhdGUg b3V0LW9mLW9yZGVyIGRlbGl2ZXJ5IGluIHBpcGVsaW5lcywgYnV0IHJlamVjdCB2YWx1ZXMgYmV5 b25kIHRoYXQgd2luZG93LgotIExvZyBhbGwgcmVwbGF5ZWQgb3Igb3V0LW9mLXdpbmRvdyBjb3Vu dGVyIHZhbHVlcyBhcyBzZWN1cml0eSBldmVudHMuCgpUaGlzIHByZXZlbnRzIHJlcGxheSBvZiBh bnkgY2FwdHVyZWQgT1NDIDc3Nzcgc2VxdWVuY2UsIGV2ZW4gd2l0aGluIGFuIGFjdGl2ZSBzZXNz aW9uLgoKIyMjIDMuNiBJbmplY3Rpb24gSW50ZXJmYWNlCgpUaGUgcmVmZXJlbmNlIHNoZWxsIChg YnNoYCkgZXhwb3NlcyBhIGJ1aWx0aW4gYGJzaC1pbmplY3RgIHRoYXQgaW1wbGVtZW50cyB0aGUg ZnVsbCBlbmNyeXB0LWFuZC1lbWl0IHBpcGVsaW5lOgoKYGBgCmJzaC1pbmplY3QgLS10eXBlIDx0 eXBlPiAtLWNvbnRleHQgPHVybD4KYGBgCgpUaGUgSlNPTiBwYXlsb2FkIGlzIHJlYWQgZnJvbSAq KnN0ZGluKiouIFRoZSBidWlsdGluIHBlcmZvcm1zIGxhenkgc2Vzc2lvbiBpbml0aWFsaXNhdGlv biAoaWYgbm90IGFscmVhZHkgcmVnaXN0ZXJlZCksIGluY3JlbWVudHMgdGhlIHNlc3Npb24gY291 bnRlciwgZW5jcnlwdHMgd2l0aCAkS197c2Vzc2lvbn0kLCBhbmQgd3JpdGVzIHRoZSBPU0MgNzc3 NyBzZXF1ZW5jZSAqKmRpcmVjdGx5IHRvIGAvZGV2L3R0eWAqKiByYXRoZXIgdGhhbiBzdGRvdXQu IFRoaXMgZW5zdXJlcyB0aGUgc2VxdWVuY2UgcmVhY2hlcyB0aGUgdGVybWluYWwgZW11bGF0b3Ig cmVnYXJkbGVzcyBvZiBob3cgdGhlIGNhbGxlciBoYXMgcmVkaXJlY3RlZCBzdGRvdXQsIGFuZCBw cmV2ZW50cyB0aGUgY2lwaGVydGV4dCBmcm9tIGJlaW5nIGFjY2lkZW50YWxseSB3cml0dGVuIHRv IGZpbGVzLCBwaXBlcywgb3IgbG9ncy4KCklmIHN0ZG91dCBlbWlzc2lvbiBpcyBleHBsaWNpdGx5 IHJlcXVpcmVkIChlLmcuIGZvciB0ZXN0aW5nIG9yIHBpcGluZyB0byBhIGN1c3RvbSB0ZXJtaW5h bCksIHRoZSBmbGFnIGAtLWVtaXQtc3Rkb3V0YCBtYXkgYmUgcGFzc2VkIHRvIG92ZXJyaWRlIHRo aXMgYmVoYXZpb3IuIENhbGxlcnMgdXNpbmcgYC0tZW1pdC1zdGRvdXRgIGFyZSByZXNwb25zaWJs ZSBmb3IgZW5zdXJpbmcgdGhlIHNlcXVlbmNlIHJlYWNoZXMgYSB0ZXJtaW5hbCBlbXVsYXRvciBh bmQgbm90IGEgbG9nIHNpbmsuCgoqKkFnZW50IGZhaWx1cmUgYmVoYXZpb3I6KiogSWYgdGhlIGFn ZW50IGlzIHVuYXZhaWxhYmxlIG9yIHRoZSBzZXNzaW9uIGhhcyBub3QgYmVlbiByZWdpc3RlcmVk LCBgYnNoLWluamVjdGAgKiptdXN0KiogZmFpbCBjbG9zZWQg4oCUIGl0IHByaW50cyBhbiBlcnJv ciB0byBzdGRlcnIgYW5kIGV4aXRzIG5vbi16ZXJvLiBJdCAqKm11c3Qgbm90KiogZmFsbCBiYWNr IHRvIGVtaXR0aW5nIHBsYWludGV4dCBvciB1bmVuY3J5cHRlZCBPU0Mgc2VxdWVuY2VzLgoKLS0t CgojIyA0LiBTdGFuZGFyZGl6ZWQgUGF5bG9hZCBTY2hlbWFzCgpUbyBtYWludGFpbiB1bml2ZXJz YWwgY29tcGF0aWJpbGl0eSBhY3Jvc3MgYnJvd3NlciBleHRlbnNpb25zLCBmb3JtIGZpbGxlcnMs IGFuZCBkZXNrdG9wIGFwcGxpY2F0aW9uIG1hbmFnZW1lbnQgcGFuZWxzLCBwYXlsb2FkcyBtdXN0 IGFkaGVyZSB0byBwcmVkaWN0YWJsZSwgc3Ryb25nbHktdHlwZWQgc2VtYW50aWMgSlNPTiBzcGVj aWZpY2F0aW9ucy4KCiMjIyA0LjEgZXBoZW1lcmFsLWF1dGgKClRhcmdldGVkIGF0IHNlZWRpbmcg c2hvcnQtbGl2ZWQgYWNjb3VudHMsIGhvdHNlYXQgbXVsdGlwbGF5ZXIgdGVzdGluZyBtYXRyaWNl cywgYW5kIHdlYiBlbnZpcm9ubWVudCBsb2dpbiBmbG93cy4KCmBgYGpzb24KewogICJ0eXBlIjog ImVwaGVtZXJhbC1hdXRoIiwKICAiY29udGV4dCI6ICJodHRwOi8vbG9jYWxob3N0OjMwMDUiLAog ICJ0dGwiOiAzMDAsCiAgImlzc3VlZF9hdCI6IDE3NDgwMDAwMDAsCiAgImRhdGEiOiB7CiAgICAi dXNlcm5hbWUiOiAicGxheWVyMSIsCiAgICAicGFzc3dvcmQiOiAiVGVtcG9yYXJ5U2VjdXJlUGFz c3dvcmQxMjMhIiwKICAgICJlbWFpbCI6ICJwbGF5ZXIxQGxvY2FsaG9zdC5sb2NhbGRvbWFpbiIs CiAgICAiYWRkaXRpb25hbF9maWVsZHMiOiB7CiAgICAgICJtbmVtb25pYyI6ICJmdXJ5IGFwcGVh ciBiYXJnYWluIGdvb2QgY29pbiBsb2FkIHRhdHRvbyBvYmplY3QgY29udmluY2UgcmVuZGVyIHNv ZnQgaW5zaWRlLi4uIgogICAgfQogIH0KfQpgYGAKCiMjIyA0LjIgZGItY29ubmVjdGlvbgoKVGFy Z2V0ZWQgYXQgZHluYW1pY2FsbHkgZm9jdXNpbmcgb3IgcHJlLWNvbmZpZ3VyaW5nIG5hdGl2ZSBk ZXNrdG9wIGdyYXBoaWMgZGF0YWJhc2Ugdmlld2VycyBzdHJhaWdodCBmcm9tIGFuIGFjdGl2ZSB0 ZXJtaW5hbCB3b3Jrc3BhY2UgY29udGV4dC4KCmBgYGpzb24KewogICJ0eXBlIjogImRiLWNvbm5l Y3Rpb24iLAogICJjb250ZXh0IjogImRldmVsb3BtZW50LWNsdXN0ZXItYWxwaGEiLAogICJ0dGwi OiA2MCwKICAiaXNzdWVkX2F0IjogMTc0ODAwMDAwMCwKICAiZGF0YSI6IHsKICAgICJlbmdpbmUi OiAicG9zdGdyZXNxbCIsCiAgICAiaG9zdCI6ICIxMjcuMC4wLjEiLAogICAgInBvcnQiOiA1NDMy LAogICAgInVzZXIiOiAiZGJfYWRtaW4iLAogICAgInBhc3MiOiAiZXBoZW1lcmFsX3Rva2VuX3N0 cmluZyIKICB9Cn0KYGBgCgoqKlNjaGVtYSBub3RlczoqKgoKLSBUaGUgYGlzc3VlZF9hdGAgZmll bGQgKFVuaXggdGltZXN0YW1wLCBzZWNvbmRzKSBpcyAqKnJlcXVpcmVkKiogaW4gYWxsIHBheWxv YWQgc2NoZW1hcy4gQWdlbnRzICoqc2hvdWxkKiogcmVqZWN0IHBheWxvYWRzIHdob3NlIGBpc3N1 ZWRfYXRgIGlzIG1vcmUgdGhhbiBgdHRsYCBzZWNvbmRzIGluIHRoZSBwYXN0LCBvciBtb3JlIHRo YW4gNjAgc2Vjb25kcyBpbiB0aGUgZnV0dXJlLCBhcyBhbiBhZGRpdGlvbmFsIGRlZmVuc2UtaW4t ZGVwdGggbGF5ZXIgYWdhaW5zdCByZXBsYXllZCBwYXlsb2FkcyB0aGF0IGJ5cGFzcyBjb3VudGVy IHZhbGlkYXRpb24uCi0gVGhlIGB0dGxgIGZpZWxkIHNwZWNpZmllcyB0aGUgbWF4aW11bSBsaWZl dGltZSBvZiB0aGUgZGVjcnlwdGVkIHN0YXRlIGluIHRoZSBhZ2VudCdzIG1lbW9yeS4gQWdlbnRz ICoqbXVzdCoqIHB1cmdlIGRlY3J5cHRlZCBzdGF0ZSBhZnRlciBgdHRsYCBzZWNvbmRzIHJlZ2Fy ZGxlc3Mgb2Ygb3RoZXIgY29uZGl0aW9ucy4KCi0tLQoKIyMgNS4gU2VjdXJpdHkgJiBUaHJlYXQg TWl0aWdhdGlvbiBQcm9maWxpbmcKCi0gKipSb2d1ZSBJbmplY3Rpb24gRGVmZW5zZToqKiBJZiBh biBleHRlcm5hbCBtYWxpY2lvdXMgc291cmNlIG91dHB1dHMgYW4gdW5hdXRob3JpemVkIE9TQyA3 Nzc3IGJsb2NrIHRvIHN0ZG91dCwgdGhlIERlc2t0b3AgQWdlbnQgaW50ZXJjZXB0cyB0aGUgc2Vx dWVuY2UsIGF0dGVtcHRzIHZhbGlkYXRpb24gdmlhIHRoZSBtYXBwZWQgc2Vzc2lvbiBrZXksIGFu ZCBmYWlscyBpbW1lZGlhdGVseSBhdCB0aGUgQUVTLUdDTSBBdXRoZW50aWNhdGlvbiBUYWcgdmVy aWZpY2F0aW9uIHBoYXNlLiBUaGUgcGFja2V0IGlzIGRyb3BwZWQgaW5zdGFudGx5IHdpdGggemVy byB1c2VyIGltcGFjdC4KCi0gKipSZXBsYXkgRGVmZW5zZToqKiBUaGUgbW9ub3RvbmljIGNvdW50 ZXIgKMKnMy41KSBhbmQgYGlzc3VlZF9hdGAgdGltZXN0YW1wICjCpzQpIHRvZ2V0aGVyIGVuc3Vy ZSB0aGF0IGEgY2FwdHVyZWQgT1NDIDc3Nzcgc2VxdWVuY2UgY2Fubm90IGJlIHJlLXN1Ym1pdHRl ZCB0byB0aGUgYWdlbnQsIGV2ZW4gd2l0aGluIGFuIGFjdGl2ZSBzZXNzaW9uLiBDb3VudGVyIHJl cGxheSBhdHRlbXB0cyBhcmUgbG9nZ2VkIGFzIHNlY3VyaXR5IGV2ZW50cy4KCi0gKipBQUQgQm91 bmRhcnkgQ29uZnVzaW9uIERlZmVuc2U6KiogTGVuZ3RoLXByZWZpeGVkIEFBRCBlbmNvZGluZyAo wqczLjQpIHByZXZlbnRzIGFueSB0d28gZGlzdGluY3QgYCh0eXBlLCBjb250ZXh0KWAgcGFpcnMg ZnJvbSBwcm9kdWNpbmcgaWRlbnRpY2FsIEFBRCBieXRlcywgY2xvc2luZyB0aGUgYm91bmRhcnkg Y29uZnVzaW9uIGF0dGFjayBzdXJmYWNlIHByZXNlbnQgaW4gbmFpdmUgY29uY2F0ZW5hdGlvbi4K Ci0gKipTb2NrZXQgU3F1YXR0aW5nIERlZmVuc2U6KiogUmFuZG9taXplZCBzb2NrZXQgcGF0aHMg YW5kIHByZS1iaW5kIGV4aXN0ZW5jZSBjaGVja3MgKMKnMy4xKSBwcmV2ZW50IGEgbWFsaWNpb3Vz IHByb2Nlc3MgZnJvbSBwcmUtb2NjdXB5aW5nIHRoZSBzb2NrZXQgcGF0aCBiZWZvcmUgdGhlIGFn ZW50IHN0YXJ0cy4KCi0gKipQcm9jZXNzIFJpbmctRmVuY2luZzoqKiBCZWNhdXNlIHNlc3Npb24g ZW5jcnlwdGlvbiBrZXlzIGFyZSBpc29sYXRlZCBwZXIgdGVybWluYWwgd2luZG93IG9yIHRhYiBp bnN0YW5jZSwgYmFja2dyb3VuZCBjb21tYW5kcyBydW5uaW5nIGNvbmN1cnJlbnRseSBpbiBvdGhl ciB3b3Jrc3BhY2VzIGNhbm5vdCBpbnRlcmNlcHQsIG1hbmlwdWxhdGUsIG9yIGV4dHJhY3Qgc3Rh dGUgZGF0YSBjcm9zc2luZyBhZGphY2VudCBhY3RpdmUgc3RyZWFtcy4KCi0gKipNZW1vcnktQm91 bmQgUGVyc2lzdGVuY2UgKFplcm8gTGVha3MpOioqIERlY3J5cHRlZCBzdGF0ZXMgYXJlIHN0b3Jl ZCBleGNsdXNpdmVseSB3aXRoaW4gdGhlIHZvbGF0aWxlIG1lbW9yeSBzcGFjZSBvZiB0aGUgYmFj a2dyb3VuZCBjb21wYW5pb24gZGFlbW9uLiBQYXlsb2FkcyBhdXRvbWF0aWNhbGx5IGRyb3Agd2hl biB0aGVpciBzcGVjaWZpZWQgVGltZS1Uby1MaXZlIG1ldHJpYyBleHBpcmVzIG9yIHdoZW4gdGhl IHRlcm1pbmFsIHNlc3Npb24gcmVnaXN0ZXJzIGEgY2xlYW4gZXhpdCBzZXF1ZW5jZSwgYXZvaWRp bmcgbG9uZy10ZXJtIHN0b3JhZ2UgZm9vdHByaW50cy4KCi0gKipGYWlsLUNsb3NlZCBJbmplY3Rp b246KiogYGJzaC1pbmplY3RgIHdyaXRlcyBkaXJlY3RseSB0byBgL2Rldi90dHlgIGFuZCByZWZ1 c2VzIHRvIG9wZXJhdGUgaWYgdGhlIGFnZW50IGlzIHVuYXZhaWxhYmxlLCBwcmV2ZW50aW5nIGFj Y2lkZW50YWwgY2lwaGVydGV4dCBwZXJzaXN0ZW5jZSBvciBzaWxlbnQgZmFsbGJhY2sgdG8gdW5w cm90ZWN0ZWQgY2hhbm5lbHMuCgotICoqVHlwZSBGaWVsZCBWaXNpYmlsaXR5OioqIEltcGxlbWVu dG9ycyBhcmUgYWR2aXNlZCB0aGF0IHRoZSBgdHlwZWAgZmllbGQgaXMgdmlzaWJsZSBpbiBwbGFp bnRleHQgb24gdGhlIFBUWSBzdHJlYW0uIFNlbnNpdGl2ZSBzY2hlbWEgY2xhc3NpZmljYXRpb24g c2hvdWxkIGJlIGVuY29kZWQgd2l0aGluIHRoZSBlbmNyeXB0ZWQgcGF5bG9hZCBib2R5ICjCpzMu MykuCgotLS0KCiMjIDYuIEltcGxlbWVudGF0aW9uIEVjb3N5c3RlbSAmIEZ1dHVyZSBEaXJlY3Rp b25zCgpUaGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgcHJvdG9jb2wgaXMgYWN0 aXZlbHkgZGVwbG95ZWQgYW5kIHZhbGlkYXRlZCBpbnNpZGUgdGhlIEJTSCBzaGVsbCBlbmdpbmUg ZWNvc3lzdGVtIChgYnNoYCksIHBhaXJlZCB3aXRoIGEgU3dpZnQtYmFzZWQgbWFjT1MgRGVza3Rv cCBBZ2VudCAoYFNESUFnZW50YCkgdGhhdCBydW5zIGFzIGEgbWVudS1iYXIgYmFja2dyb3VuZCBw cm9jZXNzLCBob3N0cyB0aGUgVW5peCBkb21haW4gc29ja2V0LCBhbmQgcm91dGVzIGRlY3J5cHRl ZCBwYXlsb2FkcyB0byByZWdpc3RlcmVkIGFwcGxpY2F0aW9uIGhhbmRsZXJzLgoKQnkgc3RhbmRh cmRpemluZyBzdHJ1Y3R1cmVkIHNlbWFudGljIHBpcGVsaW5lcywgd2UgcGF2ZSB0aGUgd2F5IGZv ciBkb3duc3RyZWFtIGludGVncmF0aW9uc+KAlHN1Y2ggYXMgc2VjdXJlIGJyb3dzZXIgcGx1Zy1p bnMgdGhhdCBhdXRvLXBvcHVsYXRlIGFjdGl2ZSB3ZWIgdGVzdGluZyBmaWVsZHMgYmFzZWQgb24g bG9jYWxpemVkIHRlcm1pbmFsIGhpc3RvcnkgY29udGV4dCwgYW5kIHVuaWZpZWQgc3lzdGVtIHRy YXkgdXRpbGl0aWVzIHRoYXQgYnJpZGdlIENMSSBkZXZlbG9wbWVudCBzcGVlZCB3aXRoIHRoZSBh Y2Nlc3NpYmlsaXR5IG9mIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSB0b29saW5nLgoKIyMjIDYu MSBCcm93c2VyIEV4dGVuc2lvbiBJbnRlZ3JhdGlvbiDigJQgU2VjdXJpdHkgQ29uc2lkZXJhdGlv bnMKCkJyb3dzZXIgZXh0ZW5zaW9uIGludGVncmF0aW9ucyAqKm11c3QqKiBiZSB0cmVhdGVkIGFz IGEgZGlzdGluY3QsIGhpZ2gtcmlzayB0cnVzdCBib3VuZGFyeS4gQnJvd3NlciBleHRlbnNpb25z IG9wZXJhdGUgdW5kZXIgYSBzaWduaWZpY2FudGx5IHdlYWtlciBzZWN1cml0eSBtb2RlbCB0aGFu IG5hdGl2ZSBkYWVtb25zOiBjb250ZW50IHNjcmlwdHMsIGV4dGVuc2lvbiBtZXNzYWdpbmcgQVBJ cywgYW5kIGJyb3dzZXItY29udHJvbGxlZCBzYW5kYm94IHBvbGljaWVzIGludHJvZHVjZSBhdHRh Y2sgc3VyZmFjZXMgbm90IHByZXNlbnQgaW4gdGhlIG5hdGl2ZSBJUEMgbGF5ZXIgZGVmaW5lZCBp biB0aGlzIFJGQy4gQW55IGRvd25zdHJlYW0gaW50ZWdyYXRpb24gdGhhdCByb3V0ZXMgZGVjcnlw dGVkIHBheWxvYWRzIHRvIGEgYnJvd3NlciBleHRlbnNpb24gKiptdXN0KiogZGVmaW5lIGl0cyBv d24gc2VjdXJpdHkgcHJvdG9jb2wsIGluY2x1ZGluZzoKCi0gQSBzZXBhcmF0ZSBhdXRoZW50aWNh dGVkIGNoYW5uZWwgYmV0d2VlbiB0aGUgRGVza3RvcCBBZ2VudCBhbmQgdGhlIGV4dGVuc2lvbiAo ZS5nLiBuYXRpdmUgbWVzc2FnaW5nIHdpdGggZXhwbGljaXQgaG9zdCBtYW5pZmVzdCBhbGxvd2xp c3RpbmcpLgotIFN0cmljdCBzY29waW5nIG9mIHdoaWNoIHBheWxvYWQgdHlwZXMgYXJlIHBlcm1p dHRlZCB0byBmbG93IHRvIHRoZSBicm93c2VyIGxheWVyLgotIEFuIGV4cGxpY2l0IHRocmVhdCBt b2RlbCBhZGRyZXNzaW5nIGV4dGVuc2lvbiBjb21wcm9taXNlLCBtYWxpY2lvdXMgY29udGVudCBz Y3JpcHRzLCBhbmQgY3Jvc3Mtb3JpZ2luIG1lc3NhZ2UgaW50ZXJjZXB0aW9uLgoKVHJlYXRpbmcg YnJvd3NlciBleHRlbnNpb24gZGVsaXZlcnkgYXMgYSB0cmFuc3BhcmVudCBleHRlbnNpb24gb2Yg dGhlIG5hdGl2ZSBTREkgcGlwZWxpbmUgaXMgZXhwbGljaXRseSBvdXQgb2Ygc2NvcGUgZm9yIHRo aXMgUkZDIGFuZCAqKm11c3Qgbm90KiogYmUgYXNzdW1lZCBieSBpbXBsZW1lbnRvcnMuCgotLS0K CiMjIEFwcGVuZGl4IEE6IFN1bW1hcnkgb2YgU2VjdXJpdHkgQ2hhbmdlcyBmcm9tIEluaXRpYWwg RHJhZnQKCnwgSXNzdWUgfCBSZXNvbHV0aW9uIHwKfCAtLS0gfCAtLS0gfAp8IE5vIHJlcGxheSBw cm90ZWN0aW9uIHwgTW9ub3RvbmljIGNvdW50ZXIgYWRkZWQgdG8gT1NDIHNlcXVlbmNlIGFuZCBB QUQgKMKnMy4zLCDCpzMuNSkgfAp8IEFBRCBib3VuZGFyeSBjb25mdXNpb24gdmlhIG5haXZlIGNv bmNhdGVuYXRpb24gfCBMZW5ndGgtcHJlZml4ZWQgQUFEIGVuY29kaW5nIHJlcXVpcmVkICjCpzMu NCkgfAp8IFByZWRpY3RhYmxlIHNvY2tldCBwYXRoIGVuYWJsZXMgc3F1YXR0aW5nIHwgUmFuZG9t aXplZCBzb2NrZXQgcGF0aCArIHByZS1iaW5kIGV4aXN0ZW5jZSBjaGVjayByZXF1aXJlZCAowqcz LjEpIHwKfCBgYnNoLWluamVjdGAgd3JpdGVzIHRvIHN0ZG91dCAocmlza3MgbG9nL3BpcGUgbGVh a2FnZSkgfCBXcml0ZXMgdG8gYC9kZXYvdHR5YCBieSBkZWZhdWx0OyBgLS1lbWl0LXN0ZG91dGAg aXMgb3B0LWluICjCpzMuNikgfAp8IE5vIHNlc3Npb24gZXhwaXJ5IHwgOC1ob3VyIG1heGltdW0g c2Vzc2lvbiBsaWZldGltZSBkZWZpbmVkICjCpzMuMSkgfAp8IE5vIHJhdGUgbGltaXRpbmcgb24g c29ja2V0IHwgMTAgZmFpbGVkIGF0dGVtcHRzL21pbi9QSUQgbGltaXQgcmVxdWlyZWQgKMKnMy4y KSB8CnwgYHR5cGVgIGZpZWxkIGNvbmZpZGVudGlhbGl0eSBub3QgYWRkcmVzc2VkIHwgQWR2aXNv cnkgbm90ZSBhZGRlZDsgc2Vuc2l0aXZlIHR5cGUgc2hvdWxkIGJlIGluc2lkZSBlbmNyeXB0ZWQg Ym9keSAowqczLjMpIHwKfCBCcm93c2VyIGV4dGVuc2lvbiBzdXJmYWNlIHVuYWRkcmVzc2VkIHwg RXhwbGljaXQgaGlnaC1yaXNrIGJvdW5kYXJ5IGNhbGxvdXQgd2l0aCByZXF1aXJlZCBzZXBhcmF0 ZSBwcm90b2NvbCAowqc2LjEpIHwKfCBObyBhZ2VudCBmYWlsdXJlIGhhbmRsaW5nIHwgRmFpbC1j bG9zZWQgYmVoYXZpb3IgZGVmaW5lZDsgbm8gc2lsZW50IHBsYWludGV4dCBmYWxsYmFjayAowqcz LjYpIHwKfCBgaXNzdWVkX2F0YCBhYnNlbnQgZnJvbSBzY2hlbWFzIHwgUmVxdWlyZWQgaW4gYWxs IHBheWxvYWQgc2NoZW1hczsgYWdlbnQgc2hvdWxkIHZhbGlkYXRlIGFnYWluc3QgYHR0bGAgKMKn NCkgfAp8IFdpcmUgcHJvdG9jb2wgc2F5cyAiVENQIGNvbm5lY3Rpb24iIGZvciBhIFVuaXggc29j a2V0IHwgQ29ycmVjdGVkIHRvICJzb2NrZXQgY29ubmVjdGlvbiIgdGhyb3VnaG91dCB8Cg== --_004_CH3PR20MB6243CF33C4C80323E534808CF6022CH3PR20MB6243namp_--