Re: A possible docutils' issue with certain IETF mailarchive URIs ?
Viktor Ransmayr <[email protected]> Mon, 30 Jun 2025 14:12:01 +0200
| Newsgroups | gmane.text.docutils.user |
|---|---|
| Message-ID | <CAAeSrGKbMnfCEu2s2HLMNN3LkXHd83c-v3VmY1xGXH7n-EY3WQ@mail.gmail.com> |
--00000000000020384e0638c8f028 Content-Type: multipart/alternative; boundary="00000000000020384b0638c8f026" --00000000000020384b0638c8f026 Content-Type: text/plain; charset="UTF-8" Hello Docutils Community, Am Mo., 30. Juni 2025 um 13:44 Uhr schrieb Viktor Ransmayr < [email protected]>: > Hello Docutils Community, > > I use 'docutils' to organize my notes as HTML files - and - store links > for later review. > > I noted issues with certain IETF mailarchive URIs already a while ago - > but - only now took the time to follow up & create a simple test file (see > attachment) demonstrating the issue. > > This file contains two IETF mailarchive URI instances. - The first one is > processed without an issue - and - the second one is processed with an > error. - That is, when I create the HTML file I receive the following > 'Docutils System Message': > > ### > > [user@fedora-python-study-vm vransmayr]$ > [user@fedora-python-study-vm vransmayr]$ docutils test-IETF-URI-issue.rst > test-IETF-URI-issue.html > test-IETF-URI-issue.rst:18: (ERROR/3) Unknown target name: "k4-l4mk7qa". > [user@fedora-python-study-vm vransmayr]$ > > ### > > For me it is not clear, if the second mailarchive URI really does > 'violate' the reStructuredText Markup Specification - or - if it is a > 'docutils' issue. > > Looking forward to your feedback ! > > With kind regards, > > Viktor > > PS: This issue occurs in docutils version 0.21.2 as well as 0.22rc5 ... > For easier access: Here's the created HTML file as well. With kind regards, Viktor --00000000000020384b0638c8f026 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"></div><div>Hello Docutils Community,</div= ><div><br></div><div class=3D"gmail_quote gmail_quote_container"><div dir= =3D"ltr" class=3D"gmail_attr">Am Mo., 30. Juni 2025 um 13:44=C2=A0Uhr schri= eb Viktor Ransmayr <<a href=3D"mailto:[email protected]">viktor.= [email protected]</a>>:<br></div><blockquote class=3D"gmail_quote" styl= e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin= g-left:1ex"><div dir=3D"ltr"><div>Hello Docutils Community,</div><div><br><= /div><div>I use 'docutils' to organize my notes as HTML files - and= - store links for later review.</div><div><br></div><div>I noted issues wi= th certain IETF mailarchive URIs already a while ago - but - only now took = the time to follow up & create a simple test file (see attachment) demo= nstrating the issue.</div><div><br></div><div>This file contains two IETF m= ailarchive URI instances. - The first one is processed without an issue - a= nd - the second one is processed with an error. - That is, when I create th= e HTML file I receive the following 'Docutils System Message':=C2= =A0</div><div><br></div><div>###</div><div><br></div><div><span style=3D"fo= nt-family:monospace">[user@fedora-python-study-vm vransmayr]$ <br>[user@fed= ora-python-study-vm vransmayr]$ docutils test-IETF-URI-issue.rst test-IETF-= URI-issue.html<br>test-IETF-URI-issue.rst:18: (ERROR/3) Unknown target name= : "k4-l4mk7qa".<br>[user@fedora-python-study-vm vransmayr]$=C2=A0= <br></span></div><div><br></div><div>###</div><div><br></div><div>For me it= is not clear, if the second mailarchive URI really does 'violate' = the=C2=A0reStructuredText Markup Specification - or - if it is a 'docut= ils' issue.</div><div><br></div><div>Looking forward to your feedback != </div><div><br></div><div>With kind regards,</div><div><br></div><div>Vikto= r</div><div><br></div><div>PS: This issue occurs in docutils version 0.21.2= as well as 0.22rc5 ...</div></div></blockquote><div><br></div><div>For eas= ier access: Here's the created HTML file as well.</div><div><br></div><= div>With kind regards,</div><div><br></div><div>Viktor</div></div></div> --00000000000020384b0638c8f026-- --00000000000020384e0638c8f028 Content-Type: text/html; charset="UTF-8"; name="test-IETF-URI-issue.html" Content-Disposition: attachment; filename="test-IETF-URI-issue.html" Content-Transfer-Encoding: base64 Content-ID: <f_mcj21w7f0> X-Attachment-Id: f_mcj21w7f0 PCFET0NUWVBFIGh0bWw+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s IiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv Pgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY3V0aWxzIDAuMjJyYzU6IGh0dHBz Oi8vZG9jdXRpbHMuc291cmNlZm9yZ2UuaW8vIiAvPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+Cjx0aXRsZT5UZXN0 IGluc3RhbmNlIGZvciBhbiBJRVRGIG1haWxhcmNoaXZlIFVSSSBpc3N1ZSBpbiAnZG9jdXRpbHMn PzwvdGl0bGU+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgovKiBNaW5pbWFsIHN0eWxlIHNoZWV0 IGZvciB0aGUgSFRNTCBvdXRwdXQgb2YgRG9jdXRpbHMuICAgICAgICAgICAgICAgICAgICAqLwov KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqLwovKiA6QXV0aG9yOiBHw7xudGVyIE1pbGRlLCBiYXNlZCBvbiBo dG1sNGNzczEuY3NzIGJ5IERhdmlkIEdvb2RnZXIgICAgICAgICAgKi8KLyogOklkOiAkSWQ6IG1p bmltYWwuY3NzIDEwMDE4IDIwMjUtMDMtMDYgMTY6MTk6MTVaIG1pbGRlICQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiA6 Q29weXJpZ2h0OiDCqSAyMDE1LCAyMDIxIEfDvG50ZXIgTWlsZGUuICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICovCi8qIDpMaWNlbnNlOiBSZWxlYXNlZCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIGAyLUNsYXVzZSBCU0QgbGljZW5zZWBfLCAgICAgICovCi8qICAgIGluIHNob3J0OiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBv ZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sICovCi8qICAgIGFyZSBw ZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHly aWdodCAgICovCi8qICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAg IFRoaXMgZmlsZSBpcyBvZmZlcmVkIGFzLWlzLCB3aXRob3V0IGFueSB3YXJyYW50eS4gICAgICAg ICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIC4uIF8yLUNsYXVzZSBCU0Qg bGljZW5zZTogaHR0cDovL3d3dy5zcGR4Lm9yZy9saWNlbnNlcy9CU0QtMi1DbGF1c2UgICAgICov CgovKiBUaGlzIENTUzMgc3R5bGVzaGVldCBkZWZpbmVzIHJ1bGVzIGZvciBEb2N1dGlscyBlbGVt ZW50cyB3aXRob3V0ICAgICAgICAqLwovKiBIVE1MIGVxdWl2YWxlbnQuIEl0IGlzIHJlcXVpcmVk IHRvIG1ha2UgdGhlIGRvY3VtZW50IHNlbWFudGljcyB2aXNpYmxlLiAqLwovKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLwovKiAuLiBfdmFsaWRhdGVzOiBodHRwOi8vamlnc2F3LnczLm9yZy9jc3MtdmFsaWRh dG9yL3ZhbGlkYXRvciRsaW5rICAgICAgICAqLwoKLyogdGl0bGVzICovCnAudG9waWMtdGl0bGUs CnAuYWRtb25pdGlvbi10aXRsZSwKcC5zeXN0ZW0tbWVzc2FnZS10aXRsZSB7CiAgZm9udC13ZWln aHQ6IGJvbGQ7Cn0KcC5zaWRlYmFyLXRpdGxlLApwLnJ1YnJpYyB7CiAgZm9udC13ZWlnaHQ6IGJv bGQ7CiAgZm9udC1zaXplOiBsYXJnZXI7Cn0KcC5ydWJyaWMgewogIGNvbG9yOiBtYXJvb247Cn0K cC5zdWJ0aXRsZSwKcC5zZWN0aW9uLXN1YnRpdGxlLApwLnNpZGViYXItc3VidGl0bGUgewogIGZv bnQtd2VpZ2h0OiBib2xkOwogIG1hcmdpbi10b3A6IC0wLjVlbTsKfQpoMSArIHAuc3VidGl0bGUg ewogIGZvbnQtc2l6ZTogMS42ZW07Cn0KYS50b2MtYmFja3JlZiB7CiAgY29sb3I6IGluaGVyaXQ7 CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgovKiBXYXJuaW5ncywgRXJyb3JzICovCi5zeXN0 ZW0tbWVzc2FnZXMgaDIsCi5zeXN0ZW0tbWVzc2FnZS10aXRsZSwKcHJlLnByb2JsZW1hdGljLApz cGFuLnByb2JsZW1hdGljIHsKICBjb2xvcjogcmVkOwp9CgovKiBJbmxpbmUgTGl0ZXJhbHMgKi8K LmRvY3V0aWxzLmxpdGVyYWwgewogIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgd2hpdGUtc3Bh Y2U6IHByZS13cmFwOwp9Ci8qIGRvIG5vdCB3cmFwIGF0IGh5cGhlbnMgYW5kIHNpbWlsYXI6ICov Ci5saXRlcmFsID4gc3Bhbi5wcmUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CgovKiBrZWVwIGxp bmUtYnJlYWtzIChcbikgdmlzaWJsZSAqLwoucHJlLXdyYXAgeyB3aGl0ZS1zcGFjZTogcHJlLXdy YXA7IH0KCi8qIExpc3RzICovCgovKiBjb21wYWN0IGFuZCBzaW1wbGUgbGlzdHM6IG5vIG1hcmdp biBiZXR3ZWVuIGl0ZW1zICovCi5zaW1wbGUgIGxpLCAuc2ltcGxlICB1bCwgLnNpbXBsZSAgb2ws IC5zaW1wbGUgID4gbGkgcCwKLmNvbXBhY3QgbGksIC5jb21wYWN0IHVsLCAuY29tcGFjdCBvbCwg LmNvbXBhY3QgPiBsaSBwLApkbC5zaW1wbGUgID4gZGQsIGRsLmNvbXBhY3QgPiBkZCwgZGwuZG9j aW5mbyA+IGRkIHsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLyogTmVz dGVkIFBhcmFncmFwaHMgKi8KcDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH0KcDpsYXN0 LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfQpkZXRhaWxzID4gcDpsYXN0LWNoaWxkIHsgbWFy Z2luLWJvdHRvbTogMWVtOyB9CgovKiBUYWJsZSBvZiBDb250ZW50cyAqLwouY29udGVudHMgdWwu YXV0by10b2MgeyAvKiBzZWN0aW9uIG51bWJlcnMgcHJlc2VudCAqLwogIGxpc3Qtc3R5bGUtdHlw ZTogbm9uZTsKfQoKLyogRW51bWVyYXRlZCBMaXN0cyAqLwpvbC5hcmFiaWMgICAgIHsgbGlzdC1z dHlsZTogZGVjaW1hbCB9Cm9sLmxvd2VyYWxwaGEgeyBsaXN0LXN0eWxlOiBsb3dlci1hbHBoYSB9 Cm9sLnVwcGVyYWxwaGEgeyBsaXN0LXN0eWxlOiB1cHBlci1hbHBoYSB9Cm9sLmxvd2Vycm9tYW4g eyBsaXN0LXN0eWxlOiBsb3dlci1yb21hbiB9Cm9sLnVwcGVycm9tYW4geyBsaXN0LXN0eWxlOiB1 cHBlci1yb21hbiB9CgovKiBEZWZpbml0aW9uIExpc3RzIGFuZCBEZXJpdmF0aXZlcyAqLwpkdCAu Y2xhc3NpZmllciB7IGZvbnQtc3R5bGU6IGl0YWxpYyB9CmR0IC5jbGFzc2lmaWVyOmJlZm9yZSB7 CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIG1hcmdpbjogMC41ZW07CiAgY29udGVudDogIjoiOwp9 Ci8qIEZpZWxkIExpc3RzIGFuZCBzaW1pbGFyICovCi8qIGJvbGQgZmllbGQgbmFtZSwgY29udGVu dCBzdGFydHMgb24gdGhlIHNhbWUgbGluZSAqLwpkbC5maWVsZC1saXN0LApkbC5vcHRpb24tbGlz dCwKZGwuZG9jaW5mbyB7CiAgZGlzcGxheTogZmxvdy1yb290Owp9CmRsLmZpZWxkLWxpc3QgPiBk dCwKZGwub3B0aW9uLWxpc3QgPiBkdCwKZGwuZG9jaW5mbyA+IGR0IHsKICBmb250LXdlaWdodDog Ym9sZDsKICBjbGVhcjogbGVmdDsKICBmbG9hdDogbGVmdDsKICBtYXJnaW46IDA7CiAgcGFkZGlu ZzogMDsKICBwYWRkaW5nLXJpZ2h0OiAwLjI1ZW07Cn0KLyogT2Zmc2V0IGZvciBmaWVsZCBjb250 ZW50IChjb3JyZXNwb25kcyB0byB0aGUgLS1maWVsZC1uYW1lLWxpbWl0IG9wdGlvbikgKi8KZGwu ZmllbGQtbGlzdCA+IGRkLApkbC5vcHRpb24tbGlzdCA+IGRkLApkbC5kb2NpbmZvID4gZGQgewog IG1hcmdpbi1sZWZ0OiAgOWVtOyAvKiBjYS4gMTQgY2hhcnMgaW4gdGhlIHRlc3QgZXhhbXBsZXMs IGZpdCBhbGwgRG9jaW5mbyBmaWVsZHMgKi8KfQovKiBzdGFydCBuZXN0ZWQgbGlzdHMgb24gbmV3 IGxpbmUgKi8KZGQgPiBkbDpmaXJzdC1jaGlsZCwKZGQgPiB1bDpmaXJzdC1jaGlsZCwKZGQgPiBv bDpmaXJzdC1jaGlsZCB7CiAgY2xlYXI6IGxlZnQ7Cn0KLyogc3RhcnQgZmllbGQtYm9keSBvbiBh IG5ldyBsaW5lIGFmdGVyIGxvbmcgZmllbGQgbmFtZXMgKi8KZGwuZmllbGQtbGlzdCA+IGRkID4g KjpmaXJzdC1jaGlsZCwKZGwub3B0aW9uLWxpc3QgPiBkZCA+ICo6Zmlyc3QtY2hpbGQKewogIGRp c3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDA7Cn0KCi8qIEJp Ymxpb2dyYXBoaWMgRmllbGRzIChkb2NpbmZvKSAqLwpkbC5kb2NpbmZvIHByZS5hZGRyZXNzIHsK ICBmb250OiBpbmhlcml0OwogIG1hcmdpbjogMDsKfQpkbC5kb2NpbmZvID4gZGQuYXV0aG9ycyA+ IHAgeyBtYXJnaW46IDA7IH0KCi8qIE9wdGlvbiBMaXN0cyAqLwpkbC5vcHRpb24tbGlzdCA+IGR0 IHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQpzcGFuLm9wdGlvbiB7IHdoaXRlLXNwYWNlOiBub3dy YXA7IH0KCi8qIEZvb3Rub3RlcyBhbmQgQ2l0YXRpb25zICAqLwoKLmZvb3Rub3RlLCAuY2l0YXRp b24geyBtYXJnaW46IDFlbSAwOyB9IC8qIGRlZmF1bHQgcGFyYWdyYXBoIHNraXAgKEZpcmVmb3gp ICovCi8qIGhhbmdpbmcgaW5kZW50ICovCi5jaXRhdGlvbiB7IHBhZGRpbmctbGVmdDogMmVtOyB9 Ci5mb290bm90ZSB7IHBhZGRpbmctbGVmdDogMS43ZW07IH0KLmZvb3Rub3RlLnN1cGVyc2NyaXB0 IHsgcGFkZGluZy1sZWZ0OiAxLjBlbTsgfQouY2l0YXRpb24gPiAubGFiZWwgeyBtYXJnaW4tbGVm dDogLTJlbTsgfQouZm9vdG5vdGUgPiAubGFiZWwgeyBtYXJnaW4tbGVmdDogLTEuN2VtOyB9Ci5m b290bm90ZS5zdXBlcnNjcmlwdCA+IC5sYWJlbCB7IG1hcmdpbi1sZWZ0OiAtMS4wZW07IH0KCi5m b290bm90ZSA+IC5sYWJlbCArICosCi5jaXRhdGlvbiA+IC5sYWJlbCArICogewogIGRpc3BsYXk6 IGlubGluZS1ibG9jazsKICBtYXJnaW4tdG9wOiAwOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0K LmZvb3Rub3RlID4gLmJhY2tyZWZzICsgKiwKLmNpdGF0aW9uID4gLmJhY2tyZWZzICsgKiB7CiAg bWFyZ2luLXRvcDogMDsKfQouZm9vdG5vdGUgPiAubGFiZWwgKyBwLCAuZm9vdG5vdGUgPiAuYmFj a3JlZnMgKyBwLAouY2l0YXRpb24gPiAubGFiZWwgKyBwLCAuY2l0YXRpb24gPiAuYmFja3JlZnMg KyBwIHsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7Cn0KCi5i YWNrcmVmcyB7IHVzZXItc2VsZWN0OiBub25lOyB9Ci5iYWNrcmVmcyA+IGEgeyBmb250LXN0eWxl OiBpdGFsaWM7IH0KCi8qIHN1cGVyc2NyaXB0IGZvb3Rub3RlcyAqLwphW3JvbGU9ImRvYy1ub3Rl cmVmIl0uc3VwZXJzY3JpcHQsCi5mb290bm90ZS5zdXBlcnNjcmlwdCA+IC5sYWJlbCwKLmZvb3Ru b3RlLnN1cGVyc2NyaXB0ID4gLmJhY2tyZWZzIHsKICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7CiAg Zm9udC1zaXplOiBzbWFsbGVyOwogIGxpbmUtaGVpZ2h0OiAxOwp9CmFbcm9sZT0iZG9jLW5vdGVy ZWYiXS5zdXBlcnNjcmlwdCA+IC5mbi1icmFja2V0LAouZm9vdG5vdGUuc3VwZXJzY3JpcHQgPiAu bGFiZWwgPiAuZm4tYnJhY2tldCB7CiAgLyogaGlkZSBicmFja2V0cyBpbiBkaXNwbGF5IGJ1dCBs ZWF2ZSBmb3IgY29weS9wYXN0ZSAqLwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDog MDsKICBvdmVyZmxvdzogaGlkZGVuOwp9Cltyb2xlPSJkb2Mtbm90ZXJlZiJdLnN1cGVyc2NyaXB0 ICsgW3JvbGU9ImRvYy1ub3RlcmVmIl0uc3VwZXJzY3JpcHQgewogIHBhZGRpbmctbGVmdDogMC4x NWVtOyAvKiBzZXBhcmF0ZSBjb25zZWN1dGl2ZSBmb290bm90ZSByZWZlcmVuY2VzICovCiAgLyog VE9ETzogdW5mb3J0dW5hdGVseSwgIisiIGFsc28gc2VsZWN0cyB3aXRoIHRleHQgYmV0d2VlbiB0 aGUgcmVmZXJlbmNlcy4gKi8KfQoKLyogQWxpZ25tZW50ICovCi5hbGlnbi1sZWZ0ICAgewogIHRl eHQtYWxpZ246IGxlZnQ7CiAgbWFyZ2luLXJpZ2h0OiBhdXRvOwp9Ci5hbGlnbi1jZW50ZXIgewog IHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW4tbGVmdDogYXV0bzsKICBtYXJnaW4tcmlnaHQ6 IGF1dG87Cn0KLmFsaWduLXJpZ2h0ICB7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLWxl ZnQ6IGF1dG87Cn0KLmFsaWduLXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH0KLmFsaWdu LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0KLmFsaWduLWJvdHRvbSB7IHZlcnRp Y2FsLWFsaWduOiBib3R0b207IH0KCi8qIHJlc2V0IGlubmVyIGFsaWdubWVudCBpbiBmaWd1cmVz IGFuZCB0YWJsZXMgKi8KZmlndXJlLmFsaWduLWxlZnQsIGZpZ3VyZS5hbGlnbi1yaWdodCwKdGFi bGUuYWxpZ24tbGVmdCwgdGFibGUuYWxpZ24tY2VudGVyLCB0YWJsZS5hbGlnbi1yaWdodCB7CiAg dGV4dC1hbGlnbjogaW5oZXJpdDsKfQoKLyogVGV4dCBCbG9ja3MgKi8KLnRvcGljIHsgbWFyZ2lu OiAxZW0gMmVtOyB9Ci5zaWRlYmFyLAouYWRtb25pdGlvbiwKLnN5c3RlbS1tZXNzYWdlIHsKICBt YXJnaW46IDFlbSAyZW07CiAgYm9yZGVyOiB0aGluIHNvbGlkOwogIHBhZGRpbmc6IDAuNWVtIDFl bTsKfQpkaXYubGluZS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9CmRpdi5saW5lLWJsb2NrIGRp di5saW5lLWJsb2NrLCBwcmUgeyBtYXJnaW4tbGVmdDogMmVtOyB9CgovKiBDb2RlIGxpbmUgbnVt YmVyczogZG9uJ3QgY29weSB3aXRoIGRyYWctYW5kLWRyb3AgKi8KcHJlLmNvZGUgLmxuIHsgZGlz cGxheTogbm9uZTsgfQpwcmUuY29kZSBjb2RlOmJlZm9yZSB7CiAgY29udGVudDogYXR0cihkYXRh LWxpbmVubyk7CiAgZm9udC1zaXplOiBzbWFsbDsKICBjb2xvcjogZ3JheTsKfQoKLyogVGFibGVz ICovCnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwp9CnRkLCB0aCB7CiAgYm9y ZGVyOiB0aGluIHNvbGlkIHNpbHZlcjsKICBwYWRkaW5nOiAwIDFleDsKfQouYm9yZGVybGVzcyB0 ZCwgLmJvcmRlcmxlc3MgdGggewogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIHBhZGRpbmct cmlnaHQ6IDAuNWVtIC8qIHNlcGFyYXRlIHRhYmxlIGNlbGxzICovCn0KCnRhYmxlID4gY2FwdGlv biwgZmlnY2FwdGlvbiB7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBtYXJnaW4tdG9wOiAwLjJlbTsK ICBtYXJnaW4tYm90dG9tOiAwLjJlbTsKfQp0YWJsZS5jYXB0aW9uYmVsb3cgewogIGNhcHRpb24t c2lkZTogYm90dG9tOwp9CgovKiBNYXRoTUwgKHNlZSAibWF0aC5jc3MiIGZvciAtLW1hdGgtb3V0 cHV0PUhUTUwpICovCm1hdGggLmJvbGRzeW1ib2wgeyBmb250LXdlaWdodDogYm9sZDsgfQptYXRo LmJveGVkLCBtYXRoIC5ib3hlZCB7cGFkZGluZzogMC4yNWVtOyBib3JkZXI6IHRoaW4gc29saWQ7 IH0KLyogc3R5bGUgdGFibGUgc2ltaWxhciB0byBBTVMgImFsaWduIiBvciAiYWxpZ25lZCIgZW52 aXJvbm1lbnQ6ICovCm10YWJsZS5jYXNlcyA+IG10ciA+IG10ZCB7IHRleHQtYWxpZ246IGxlZnQ7 IH0KbXRhYmxlLmFtcy1hbGlnbiA+IG10ciA+IG10ZCB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGlu Zy1yaWdodDogMDsgfQptdGFibGUuYW1zLWFsaWduID4gbXRyID4gbXRkOm50aC1jaGlsZCgybikg eyB0ZXh0LWFsaWduOiBsZWZ0OyB9Cm10YWJsZS5hbXMtYWxpZ24gPiBtdHIgPiBtdGQ6bnRoLWNo aWxkKDJuKzEpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH0KbXRhYmxlLmFtcy1hbGlnbiA+IG10ciA+ IG10ZDpudGgtY2hpbGQoMm4rMykgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgfQoubWF0aHNjciBtaSwg bWkubWF0aHNjciB7CiAgZm9udC1mYW1pbHk6IFNUSVgsIFhJVFNNYXRoSmF4X1NjcmlwdCwgcnNm czEwLAogICAgICAgICAgICAgICAiQXNhbmEgTWF0aCIsIEdhcmFtb25kLCBjdXJzaXZlOwp9Cgov KiBEb2N1bWVudCBIZWFkZXIgYW5kIEZvb3RlciAqLwpoZWFkZXIgeyBib3JkZXItYm90dG9tOiAx cHggc29saWQgYmxhY2s7IH0KZm9vdGVyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrOyB9 CgovKiBJbWFnZXMgYXJlIGJsb2NrLWxldmVsIGJ5IGRlZmF1bHQgaW4gRG9jdXRpbHMgKi8KLyog TmV3IEhUTUw1IGJsb2NrIGVsZW1lbnRzOiBzZXQgZGlzcGxheSBmb3Igb2xkZXIgYnJvd3NlcnMg Ki8KaW1nLCBzdmcsIGhlYWRlciwgZm9vdGVyLCBtYWluLCBhc2lkZSwgbmF2LCBzZWN0aW9uLCBm aWd1cmUsIHZpZGVvLCBkZXRhaWxzIHsKICBkaXNwbGF5OiBibG9jazsKfQpzdmcgeyB3aWR0aDog YXV0bzsgaGVpZ2h0OiBhdXRvOyB9ICAvKiBlbmFibGUgc2NhbGluZyBvZiBTVkcgaW1hZ2VzICov Ci8qIGlubGluZSBpbWFnZXMgKi8KCnAgaW1nLCBwIHN2ZywgcCB2aWRlbywKaDEgaW1nLCBoMiBp bWcsIGgzIGltZywgaDQgaW1nLCBoNSBpbWcsIGg2IGltZywKaDEgc3ZnLCBoMiBzdmcsIGgzIHN2 ZywgaDQgc3ZnLCBoNSBzdmcsIGg2IHN2ZyB7CiAgZGlzcGxheTogaW5saW5lOwp9Cgo8L3N0eWxl Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKLyogQ1NTMzFfIHN0eWxlIHNoZWV0IGZvciB0aGUg b3V0cHV0IG9mIERvY3V0aWxzIEhUTUwgd3JpdGVycy4gICAgICAgICAgICAgKi8KLyogUnVsZXMg Zm9yIGVhc3kgcmVhZGluZyBhbmQgcHJlLWRlZmluZWQgc3R5bGUgdmFyaWFudHMuICAgICAgICAg ICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogOkF1dGhvcjogR8O8bnRlciBNaWxk ZSwgYmFzZWQgb24gaHRtbDRjc3MxLmNzcyBieSBEYXZpZCBHb29kZ2VyICAgICAgICAgICovCi8q IDpJZDogJElkOiBwbGFpbi5jc3MgMTAwNzkgMjAyNS0wNC0xMCAxMjowMTo0OFogbWlsZGUgJCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovCi8qIDpDb3B5cmlnaHQ6IMKpIDIwMTUgR8O8bnRlciBNaWxkZS4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogOkxpY2Vuc2U6IFJlbGVhc2VkIHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgYDItQ2xhdXNlIEJTRCBsaWNlbnNlYF8sICAgICAgKi8KLyogICAg aW4gc2hvcnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgQ29weWluZyBhbmQgZGlz dHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgKi8K LyogICAgYXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRl ZCB0aGUgY29weXJpZ2h0ICAgKi8KLyogICAgbm90aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJl c2VydmVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKi8KLyogICAgVGhpcyBmaWxlIGlzIG9mZmVyZWQgYXMtaXMsIHdpdGhvdXQgYW55IHdhcnJh bnR5LiAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogLi4gXzIt Q2xhdXNlIEJTRCBsaWNlbnNlOiBodHRwOi8vd3d3LnNwZHgub3JnL2xpY2Vuc2VzL0JTRC0yLUNs YXVzZSAgICAgKi8KLyogLi4gX0NTUzM6IGh0dHBzOi8vd3d3LnczLm9yZy9TdHlsZS9DU1MvICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KCgovKiBEb2N1bWVudCBTdHJ1Y3R1cmUg Ki8KLyogKioqKioqKioqKioqKioqKioqICovCgovKiAicGFnZSBsYXlvdXQiICovCmJvZHkgewog IG1hcmdpbjogMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiOwogIC0tZmllbGQtaW5kZW50 OiA5ZW07IC8qIGRlZmF1bHQgaW5kZW50IG9mIGZpZWxkcyBpbiBmaWVsZCBsaXN0cyAqLwp9Cm1h aW4sIGZvb3RlciwgaGVhZGVyIHsKICBsaW5lLWhlaWdodDoxLjY7CiAgLyogYXZvaWQgbG9uZyBs aW5lcyAtLT4gYmV0dGVyIHJlYWRpbmcgKi8KICAvKiBvcHRpbXVtIGlzIDQ14oCmNzUgY2hhcmFj dGVycy9saW5lIDxodHRwOi8vd2VidHlwb2dyYXBoeS5uZXQvMi4xLjI+ICovCiAgLyogT1RPSDog bGluZXMgc2hvdWxkIG5vdCBiZSB0b28gc2hvcnQgYmVjYXVzZSBvZiBtaXNzaW5nIGh5cGhlbmF0 aW9uLCAqLwogIG1heC13aWR0aDogNTByZW07CiAgcGFkZGluZzogMXB4IDIlOyAvKiAxcHggb24g dG9wIGF2b2lkcyBncmV5IGJhciBhYm92ZSB0aXRsZSAobW96aWxsYSkgKi8KICBtYXJnaW46IGF1 dG87Cn0KbWFpbiB7CiAgY291bnRlci1yZXNldDogdGFibGUgZmlndXJlOwogIGJhY2tncm91bmQt Y29sb3I6IHdoaXRlOwp9CmZvb3RlciwgaGVhZGVyIHsKICBmb250LXNpemU6IHNtYWxsZXI7CiAg cGFkZGluZzogMC41ZW0gMiU7CiAgYm9yZGVyOiBub25lOwp9CgovKiBUYWJsZSBvZiBDb250ZW50 cyAqLwp1bC5hdXRvLXRvYyA+IGxpID4gcCB7CiAgcGFkZGluZy1sZWZ0OiAxZW07CiAgdGV4dC1p bmRlbnQ6IC0xZW07Cn0KbmF2LmNvbnRlbnRzIHVsIHsKICBwYWRkaW5nLWxlZnQ6IDFlbTsKfQpt YWluID4gbmF2LmNvbnRlbnRzIHVsIHVsIHVsIHVsOm5vdCguYXV0by10b2MpIHsKICBsaXN0LXN0 eWxlLXR5cGU6ICdcMkIyOVwgJzsKfQptYWluID4gbmF2LmNvbnRlbnRzIHVsIHVsIHVsIHVsIHVs Om5vdCguYXV0by10b2MpIHsKICBsaXN0LXN0eWxlLXR5cGU6ICdcMkIxRFwgJzsKfQoKLyogVHJh bnNpdGlvbnMgKi8KaHIuZG9jdXRpbHMgewogIHdpZHRoOiA4MCU7CiAgbWFyZ2luLXRvcDogMWVt OwogIG1hcmdpbi1ib3R0b206IDFlbTsKICBjbGVhcjogYm90aDsKfQoKLyogUGFyYWdyYXBocyAq LwoKLyogdmVydGljYWwgc3BhY2UgKHBhcnNraXApICovCnAsIG9sLCB1bCwgZGwsIGxpLAouZm9v dG5vdGUsIC5jaXRhdGlvbiwKZGl2ID4gbWF0aCwKdGFibGUgewogIG1hcmdpbi10b3A6IDAuNWVt OwogIG1hcmdpbi1ib3R0b206IDAuNWVtOwp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LApkZCwg ZGV0YWlscyA+IHA6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMC41ZW07Cn0KCi8qIExp c3RzICovCi8qID09PT09ICovCgovKiBEZWZpbml0aW9uIExpc3RzICovCi8qIEluZGVudCBsaXN0 cyBuZXN0ZWQgaW4gZGVmaW5pdGlvbiBsaXN0cyAqLwpkZCA+IHVsOm9ubHktY2hpbGQsIGRkID4g b2w6b25seS1jaGlsZCB7IHBhZGRpbmctbGVmdDogMWVtOyB9CgovKiBEZXNjcmlwdGlvbiBMaXN0 cyAqLwovKiBzdHlsZWQgbGlrZSBpbiBtb3N0IGRpY3Rpb25hcmllcywgZW5jeWNsb3BlZGlhcyBl dGMuICovCmRsLmRlc2NyaXB0aW9uIHsKICBkaXNwbGF5OiBmbG93LXJvb3Q7Cn0KZGwuZGVzY3Jp cHRpb24gPiBkdCB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgY2xlYXI6IGxlZnQ7CiAgZmxvYXQ6 IGxlZnQ7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcGFkZGluZy1yaWdodDogMC4zZW07 Cn0KZGwuZGVzY3JpcHRpb24gPiBkZDphZnRlciB7CiAgZGlzcGxheTogdGFibGU7CiAgY29udGVu dDogIiI7CiAgY2xlYXI6IGxlZnQ7IC8qIGNsZWFyZml4IGZvciBlbXB0eSBkZXNjcmlwdGlvbnMg Ki8KfQoKLyogRmllbGQgTGlzdHMgKi8KCmRsLmZpZWxkLWxpc3QgPiBkZCwKZGwuZG9jaW5mbyA+ IGRkIHsKICBtYXJnaW4tbGVmdDogdmFyKC0tZmllbGQtaW5kZW50KTsgLyogYWRhcHRlZCBpbiBt ZWRpYSBxdWVyaWVzIG9yIEhUTUwgKi8KfQoKLyogZXhhbXBsZSBmb3IgY3VzdG9tIGZpZWxkLW5h bWUgd2lkdGggKi8KZGwuZmllbGQtbGlzdC5uYXJyb3cgPiBkZCB7CiAgLS1maWVsZC1pbmRlbnQ6 IDVlbTsKfQovKiBydW4taW46IHN0YXJ0IGZpZWxkLWJvZHkgb24gc2FtZSBsaW5lIGFmdGVyIGxv bmcgZmllbGQgbmFtZXMgKi8KZGwuZmllbGQtbGlzdC5ydW4taW4gPiBkZCBwIHsKICBkaXNwbGF5 OiBibG9jazsKfQoKLyogQmlibGlvZ3JhcGhpYyBGaWVsZHMgKi8KCi8qIGdlbmVyYWxseSwgYmli bGlvZ3JhcGhpYyBmaWVsZHMgdXNlIGRsLmRvY2luZm8gKi8KLyogYnV0IGRlZGljYXRpb24gYW5k IGFic3RyYWN0IGFyZSBwbGFjZWQgaW50byBkaXZzICovCmRpdi5hYnN0cmFjdCBwLnRvcGljLXRp dGxlIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KZGl2LmRlZGljYXRpb24gewogIG1hcmdpbjog MmVtIDVlbTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1zdHlsZTogaXRhbGljOwp9CmRp di5kZWRpY2F0aW9uIHAudG9waWMtdGl0bGUgewogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLyog ZGlzY2xvc3VyZXMgKi8KZGV0YWlscyB7IHBhZGRpbmctbGVmdDogMWVtOyB9CnN1bW1hcnkgeyBt YXJnaW4tbGVmdDogLTFlbTsgfQoKLyogVGV4dCBCbG9ja3MgKi8KLyogPT09PT09PT09PT0gKi8K Ci8qIExpdGVyYWwgQmxvY2tzICovCnByZS5saXRlcmFsLWJsb2NrLCBwcmUuZG9jdGVzdC1ibG9j aywKcHJlLm1hdGgsIHByZS5jb2RlIHsKICBmb250LWZhbWlseTogbW9ub3NwYWNlOwp9CgovKiBC bG9jayBRdW90ZXMgYW5kIFRvcGljcyAqLwpib2NrcXVvdGUgeyBtYXJnaW46IDFlbSAyZW07IH0K YmxvY2txdW90ZSBwLmF0dHJpYnV0aW9uIHsKICB0ZXh0LWFsaWduOiByaWdodDsKICBtYXJnaW4t bGVmdDogMjAlOwp9CgovKiBUYWJsZXMgKi8KLyogPT09PT09ICovCgovKiB0aCB7IHZlcnRpY2Fs LWFsaWduOiBib3R0b207IH0gKi8KCnRhYmxlIHRyIHsgdGV4dC1hbGlnbjogbGVmdDsgfQoKLyog ImJvb2t0YWJzIiBzdHlsZSAobm8gdmVydGljYWwgbGluZXMpICovCnRhYmxlLmJvb2t0YWJzIHsK ICBib3JkZXI6IDA7CiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkOwogIGJvcmRlci1ib3R0b206IDJw eCBzb2xpZDsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwp9CnRhYmxlLmJvb2t0YWJzICog ewogIGJvcmRlcjogMDsKfQp0YWJsZS5ib29rdGFicyB0aCB7CiAgYm9yZGVyLWJvdHRvbTogdGhp biBzb2xpZDsKfQoKLyogbnVtYmVyZWQgdGFibGVzIChjb3VudGVyIGRlZmluZWQgaW4gZGl2LmRv Y3VtZW50KSAqLwp0YWJsZS5udW1iZXJlZCA+IGNhcHRpb246YmVmb3JlIHsKICBjb3VudGVyLWlu Y3JlbWVudDogdGFibGU7CiAgY29udGVudDogIlRhYmxlICIgY291bnRlcih0YWJsZSkgIjogIjsK ICBmb250LXdlaWdodDogYm9sZDsKfQoKLyogRXhwbGljaXQgTWFya3VwIEJsb2NrcyAqLwovKiA9 PT09PT09PT09PT09PT09PT09PT09ICovCgovKiBGb290bm90ZXMgYW5kIENpdGF0aW9ucyAqLwov KiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLyogbGluZSBvbiB0aGUgbGVmdCAqLwouZm9v dG5vdGUtbGlzdCB7CiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRoaW47CiAgcGFkZGluZy1sZWZ0OiAw LjI1ZW07Cn0KCi8qIERpcmVjdGl2ZXMgKi8KLyogLS0tLS0tLS0tLSAqLwoKLyogQm9keSBFbGVt ZW50cyAqLwovKiB+fn5+fn5+fn5+fn5+ICovCgovKiBJbWFnZXMgYW5kIEZpZ3VyZXMgKi8KCi8q IGxldCBjb250ZW50IGZsb3cgdG8gdGhlIHNpZGUgb2YgYWxpZ25lZCBpbWFnZXMgYW5kIGZpZ3Vy ZXMgKi8KZmlndXJlLmFsaWduLWxlZnQsCmltZy5hbGlnbi1sZWZ0LApzdmcuYWxpZ24tbGVmdCwK dmlkZW8uYWxpZ24tbGVmdCwKZGl2LmFsaWduLWxlZnQsCm9iamVjdC5hbGlnbi1sZWZ0IHsKICBj bGVhcjogbGVmdDsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tcmlnaHQ6IDFlbTsKfQpmaWd1cmUu YWxpZ24tcmlnaHQsCmltZy5hbGlnbi1yaWdodCwKc3ZnLmFsaWduLXJpZ2h0LAp2aWRlby5hbGln bi1yaWdodCwKZGl2LmFsaWduLXJpZ2h0LApvYmplY3QuYWxpZ24tcmlnaHQgewogIGNsZWFyOiBy aWdodDsKICBmbG9hdDogcmlnaHQ7CiAgbWFyZ2luLWxlZnQ6IDFlbTsKfQovKiBTdG9wIGZsb2F0 aW5nIHNpZGViYXJzLCBpbWFnZXMgYW5kIGZpZ3VyZXMgKi8KaDEsIGgyLCBoMywgaDQsIGZvb3Rl ciwgaGVhZGVyIHsgY2xlYXI6IGJvdGg7IH0KCi8qIE51bWJlcmVkIGZpZ3VyZXMgKi8KZmlndXJl Lm51bWJlcmVkID4gZmlnY2FwdGlvbiA+IHA6YmVmb3JlIHsKICBjb3VudGVyLWluY3JlbWVudDog ZmlndXJlOwogIGNvbnRlbnQ6ICJGaWd1cmUgIiBjb3VudGVyKGZpZ3VyZSkgIjogIjsKICBmb250 LXdlaWdodDogYm9sZDsKfQoKLyogQWRtb25pdGlvbnMgYW5kIFN5c3RlbSBNZXNzYWdlcyAqLwou Y2F1dGlvbiBwLmFkbW9uaXRpb24tdGl0bGUsCi5hdHRlbnRpb24gcC5hZG1vbml0aW9uLXRpdGxl LAouZGFuZ2VyIHAuYWRtb25pdGlvbi10aXRsZSwKLmVycm9yIHAuYWRtb25pdGlvbi10aXRsZSwK Lndhcm5pbmcgcC5hZG1vbml0aW9uLXRpdGxlLApkaXYuZXJyb3IgewogIGNvbG9yOiByZWQ7Cn0K Ci8qIFNpZGViYXIgKi8KLyogTW92ZSByaWdodC4gSW4gYSBsYXlvdXQgd2l0aCBmaXhlZCBtYXJn aW5zLCAqLwovKiBpdCBjYW4gYmUgbW92ZWQgaW50byB0aGUgbWFyZ2luLiAgICAgICAgICAgICov CmFzaWRlLnNpZGViYXIgewogIHdpZHRoOiAzMCU7CiAgbWF4LXdpZHRoOiAyNmVtOwogIGZsb2F0 OiByaWdodDsKICBjbGVhcjogcmlnaHQ7CiAgbWFyZ2luLWxlZnQ6IDFlbTsKICBtYXJnaW4tcmln aHQ6IC0xJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZhOwp9CgoKLyogQ29kZSAqLwpwcmUu Y29kZSB7IHBhZGRpbmc6IDAuN2V4IH0KcHJlLmNvZGUsIGNvZGUgeyBiYWNrZ3JvdW5kLWNvbG9y OiAjZWVlZWVlIH0KLyogYmFzaWMgaGlnaGxpZ2h0aW5nOiBmb3IgYSBjb21wbGV0ZSBzY2hlbWUs IHNlZSAqLwovKiBodHRwczovL2RvY3V0aWxzLnNvdXJjZWZvcmdlLmlvL3NhbmRib3gvc3R5bGVz aGVldHMvICovCnByZS5jb2RlIC5jb21tZW50LCBjb2RlIC5jb21tZW50IHsgY29sb3I6ICM1QzY1 NzYgfQpwcmUuY29kZSAua2V5d29yZCwgY29kZSAua2V5d29yZCB7IGNvbG9yOiAjM0IwRDA2OyBm b250LXdlaWdodDogYm9sZCB9CnByZS5jb2RlIC5saXRlcmFsLnN0cmluZywgY29kZSAubGl0ZXJh bC5zdHJpbmcgeyBjb2xvcjogIzBDNTQwNCB9CnByZS5jb2RlIC5uYW1lLmJ1aWx0aW4sIGNvZGUg Lm5hbWUuYnVpbHRpbiB7IGNvbG9yOiAjMzUyQjg0IH0KcHJlLmNvZGUgLmRlbGV0ZWQsIGNvZGUg LmRlbGV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREVCMEExfQpwcmUuY29kZSAuaW5zZXJ0ZWQs IGNvZGUgLmluc2VydGVkIHsgYmFja2dyb3VuZC1jb2xvcjogI0EzRDI4OX0KCgovKiBFcGlncmFw aCAgICAgICAgICAgKi8KLyogSGlnaGxpZ2h0cyAgICAgICAgICovCi8qIFB1bGwtUXVvdGUgICAg ICAgICAqLwovKiBDb21wb3VuZCBQYXJhZ3JhcGggKi8KLyogQ29udGFpbmVyICAgICAgICAgICov CgovKiBJbmxpbmUgTWFya3VwICovCi8qID09PT09PT09PT09PT0gKi8KCnN1cCwgc3ViIHsgbGlu ZS1oZWlnaHQ6IDAuODsgfSAvKiBkbyBub3QgYWRkIGxlYWRpbmcgZm9yIGxpbmVzIHdpdGggc3Vw L3N1YiAqLwoKLyogSW5saW5lIExpdGVyYWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8KLyogcG9zc2libGUgdmFsdWVzOiBub3JtYWwsIG5vd3JhcCwgcHJlLCBw cmUtd3JhcCwgcHJlLWxpbmUgKi8KLyogICBzcGFuLmRvY3V0aWxzLmxpdGVyYWwge8Kgd2hpdGUt c3BhY2U6IHByZS13cmFwOyB9ICAgICAgICovCgovKiBIeXBlcmxpbmsgUmVmZXJlbmNlcyAqLwph IHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CgovKiBFeHRlcm5hbCBUYXJnZXRzICAgICAgICov Ci8qICAgc3Bhbi50YXJnZXQuZXh0ZXJuYWwgKi8KLyogSW50ZXJuYWwgVGFyZ2V0cyAgICAgICAq LwovKiAgIHNwYW4udGFyZ2V0LmludGVybmFsICovCi8qIEZvb3Rub3RlIFJlZmVyZW5jZXMgICAg Ki8KLyogICBhW3JvbGU9ImRvYy1ub3RlcmVmIl0gKi8KLyogQ2l0YXRpb24gUmVmZXJlbmNlcyAg ICAqLwovKiAgIGEuY2l0YXRpb24tcmVmZXJlbmNlICovCgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 Pgo8bWFpbiBpZD0idGVzdC1pbnN0YW5jZS1mb3ItYW4taWV0Zi1tYWlsYXJjaGl2ZS11cmktaXNz dWUtaW4tZG9jdXRpbHMiPgo8aDEgY2xhc3M9InRpdGxlIj5UZXN0IGluc3RhbmNlIGZvciBhbiBJ RVRGIG1haWxhcmNoaXZlIFVSSSBpc3N1ZSBpbiAnZG9jdXRpbHMnPzwvaDE+Cgo8cD4jIyMgRXhh bXBsZSBvZiBhbiBVUkkgd2l0aG91dCB0aGUgaXNzdWUgLi4uPC9wPgo8dWwgY2xhc3M9InNpbXBs ZSI+CjxsaT48cD5JLUQgQWN0aW9uOiBkcmFmdC1pZXRmLWlwcG0tYXN5bW1ldHJpY2FsLXBrdHMt MDgudHh0PC9wPjwvbGk+CjxsaT48cD48c3Ryb25nPlBlcmZvcm1hbmNlIE1lYXN1cmVtZW50IHdp dGggQXN5bW1ldHJpY2FsIFRyYWZmaWMgVXNpbmcgU1RBTVA8L3N0cm9uZz48L3A+PC9saT4KPGxp PjxwPlNUQU1QIC0gU2ltcGxlIFR3by13YXkgQWN0aXZlIE1lYXN1cmVtZW50IFByb3RvY29sPC9w PjwvbGk+CjxsaT48cD48YSBjbGFzcz0icmVmZXJlbmNlIGV4dGVybmFsIiBocmVmPSJodHRwczov L21haWxhcmNoaXZlLmlldGYub3JnL2FyY2gvbXNnL2ktZC1hbm5vdW5jZS9UbGpXOVZfc0l6UUox UHBPNGF4a0ttaVdDWkkvIj5odHRwczovL21haWxhcmNoaXZlLmlldGYub3JnL2FyY2gvbXNnL2kt ZC1hbm5vdW5jZS9UbGpXOVZfc0l6UUoxUHBPNGF4a0ttaVdDWkkvPC9hPjwvcD48L2xpPgo8bGk+ PHA+LSZndDsgPGEgY2xhc3M9InJlZmVyZW5jZSBleHRlcm5hbCIgaHJlZj0iaHR0cHM6Ly9kYXRh dHJhY2tlci5pZXRmLm9yZy9kb2MvZHJhZnQtaWV0Zi1pcHBtLWFzeW1tZXRyaWNhbC1wa3RzLyI+ aHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvZHJhZnQtaWV0Zi1pcHBtLWFzeW1tZXRy aWNhbC1wa3RzLzwvYT48L3A+PC9saT4KPGxpPjxwPi0tJmd0OyA8YSBjbGFzcz0icmVmZXJlbmNl IGV4dGVybmFsIiBocmVmPSJodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL2Ry YWZ0LWlldGYtaXBwbS1hc3ltbWV0cmljYWwtcGt0cy0wOCI+aHR0cHM6Ly9kYXRhdHJhY2tlci5p ZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1pZXRmLWlwcG0tYXN5bW1ldHJpY2FsLXBrdHMtMDg8L2E+ PC9wPjwvbGk+CjwvdWw+CjxwPiMjIyBFeGFtcGxlIG9mIGFuIFVSSSB3aXRoIHRoZSBpc3N1ZSAu Li48L3A+Cjx1bCBjbGFzcz0ic2ltcGxlIj4KPGxpPjxwPkktRCBBY3Rpb246IGRyYWZ0LWhvZmZt YW4tbm9uLXJmYy1yZWZzLTAwLnR4dDwvcD48L2xpPgo8bGk+PHA+PHN0cm9uZz5SZWZlcmVuY2Vz IGluIFJGQ3MgYW5kIElBTkEgUmVnaXN0cmllczwvc3Ryb25nPjwvcD48L2xpPgo8bGk+PHA+PGEg Y2xhc3M9InJlZmVyZW5jZSBleHRlcm5hbCIgaHJlZj0iaHR0cHM6Ly9tYWlsYXJjaGl2ZS5pZXRm Lm9yZy9hcmNoL21zZy9pLWQtYW5ub3VuY2UvIj5odHRwczovL21haWxhcmNoaXZlLmlldGYub3Jn L2FyY2gvbXNnL2ktZC1hbm5vdW5jZS88L2E+PGEgaHJlZj0iI3N5c3RlbS1tZXNzYWdlLTEiPjxz cGFuIGNsYXNzPSJwcm9ibGVtYXRpYyIgaWQ9InByb2JsZW1hdGljLTEiPms0LUw0bUs3UWFfPC9z cGFuPjwvYT4tRjNzdm1GNnVGS0tQWjZJLzwvcD48L2xpPgo8bGk+PHA+LSZndDsgPGEgY2xhc3M9 InJlZmVyZW5jZSBleHRlcm5hbCIgaHJlZj0iaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9k b2MvZHJhZnQtaG9mZm1hbi1ub24tcmZjLXJlZnMvIj5odHRwczovL2RhdGF0cmFja2VyLmlldGYu b3JnL2RvYy9kcmFmdC1ob2ZmbWFuLW5vbi1yZmMtcmVmcy88L2E+PC9wPjwvbGk+CjxsaT48cD4t LSZndDsgPGEgY2xhc3M9InJlZmVyZW5jZSBleHRlcm5hbCIgaHJlZj0iaHR0cHM6Ly9kYXRhdHJh Y2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1ob2ZmbWFuLW5vbi1yZmMtcmVmcy0wMCI+aHR0 cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1ob2ZmbWFuLW5vbi1yZmMt cmVmcy0wMDwvYT48L3A+PC9saT4KPC91bD4KPHNlY3Rpb24gY2xhc3M9InN5c3RlbS1tZXNzYWdl cyI+CjxoMj5Eb2N1dGlscyBTeXN0ZW0gTWVzc2FnZXM8L2gyPgo8YXNpZGUgY2xhc3M9InN5c3Rl bS1tZXNzYWdlIiBpZD0ic3lzdGVtLW1lc3NhZ2UtMSI+CjxwIGNsYXNzPSJzeXN0ZW0tbWVzc2Fn ZS10aXRsZSI+U3lzdGVtIE1lc3NhZ2U6IEVSUk9SLzMgKDxzcGFuIGNsYXNzPSJkb2N1dGlscyBs aXRlcmFsIj50ZXN0LUlFVEYtVVJJLWlzc3VlLnJzdDwvc3Bhbj4sIGxpbmUgMTgpOyA8ZW0+PGEg aHJlZj0iI3Byb2JsZW1hdGljLTEiPmJhY2tsaW5rPC9hPjwvZW0+PC9wPgo8cD5Vbmtub3duIHRh cmdldCBuYW1lOiAmcXVvdDtrNC1sNG1rN3FhJnF1b3Q7LjwvcD4KPC9hc2lkZT4KPC9zZWN0aW9u Pgo8L21haW4+CjwvYm9keT4KPC9odG1sPgo= --00000000000020384e0638c8f028 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --00000000000020384e0638c8f028 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline