Re: warnings generated by FixFlow skin

Piotr DybczyƄski <[email protected]> Sun, 14 Sep 2025 09:09:54 +0000
Newsgroups gmane.comp.web.wiki.pmwiki.user
Message-ID <[email protected]>
--b1=_v8LNQTYLsO2eWdPBRIrgpNQHpR16zeDRvTN8SfxStc
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

I use the latest PmWiki 2.5.1 under Debian 12 with PHP 8.2

I downloaded the latest Triad skin but found some problems, discussed on=20
the pmwiki list in the beginning of July 2023 with Gregor Klari=C4=8D.

In his mail dated 3.07.2023 12:39 Gregor proposed the corrected Triad=20
skin script which I successfully use now (see the attached file).

It would be fantastic if someone could update the whole Triad skin to=20
the PHP 8.2

Thanks,
Piotr
--=20
/***********************************************************************
                            dr Piotr A. Dybczy=C5=84ski
                   homepage: https://www.dybczynski.pl/Piotr
                          e-mail: [email protected]
*****************************************************************PAD***/
W dniu 14.09.2025 o=C2=A010:35, Petko Yotov pisze:
> Do you have the latest version of the skin? If not, please update it and
> report if you still see the warning.
>=20
> What is your PHP version? What is your PmWiki version?
>=20
> Petko
>=20
>=20
>=20
> On 14/09/2025 09:55, Piotr Dybczy=C5=84ski wrote:
>> No, this does not help. The same warning.
>>
>> I suspect that referring $opt['target'] without 'target' definition is
>> the reason, but I am not sure and do not know how to fix it.
>>
>> Piotr
>> W dniu 12.09.2025 o=C2=A019:20, Gregor Klari=C4=8D pisze:
>>> You can try and change this line
>>>
>>>   =C2=A0if(isset($opt['target'])) $target =3D MakePageName($pagename,
>>> $opt['target']);
>>>
>>> to
>>>
>>> if (!empty($opt['target'])) $target =3D MakePageName($pagename,
>>> $opt['target']);
>>>
>>> and see if this gets rid of the warning.


--b1=_v8LNQTYLsO2eWdPBRIrgpNQHpR16zeDRvTN8SfxStc
Content-Type: application/x-php; name=triad_skin.php
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=triad_skin.php

PD9waHAgaWYgKCFkZWZpbmVkKCdQbVdpa2knKSkgZXhpdCgpOwovKiAgQ29weXJpZ2h0IDIwMTQg
SGFucyBCcmFja2VyLgogICAgVGhpcyBmaWxlIGlzIHNraW4ucGhwOyBwYXJ0IG9mIHRoZSBUcmlh
ZCBza2luIGZvciBwbXdpa2kgMi4yLjU2KwogICAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKICAgIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgoqLwpnbG9iYWwgJEZtdFBWLCAkU2tpbk5hbWUsICRTa2lu
VmVyc2lvbkRhdGUsICRTa2luVmVyc2lvbk51bSwgJFNraW5WZXJzaW9uLCAkU2tpblJlY2lwZU5h
bWUsCiAgICAgICAkU2tpblNvdXJjZVVSTCwgJFJlY2lwZUluZm87CgokUmVjaXBlSW5mb1snVHJp
YWRTa2luJ11bJ1ZlcnNpb24nXSA9ICcyMDIzLTA3LTAzJzsKJFNraW5OYW1lID0gJ3RyaWFkJzsK
JFNraW5WZXJzaW9uID0gJFJlY2lwZUluZm9bJ1RyaWFkU2tpbiddWydWZXJzaW9uJ107CiRGbXRQ
VlsnJFNraW5OYW1lJ10gPSAnJEdMT0JBTFNbIlNraW5OYW1lIl0nOwokRm10UFZbJyRTa2luVmVy
c2lvbiddID0gJyRHTE9CQUxTWyJTa2luVmVyc2lvbiJdJzsKCiMgZm9yIHVzZSBpbiBjb25kaXRp
b25hbCBtYXJrdXAgICg6aWYgZW5hYmxlZCBUcmlhZFNraW46KQpnbG9iYWwgJFRyaWFkU2tpbjsg
JFRyaWFkU2tpbiA9IDE7CgpnbG9iYWwgJERlZmF1bHRDb2xvciwgJERlZmF1bHRGb250LCAkRGVm
YXVsdFBhZ2VXaWR0aCwKICAgICAgICRFbmFibGVTdHlsZU9wdGlvbnMsICRFbmFibGVUaGVtZXMs
CiAgICAgICAkRW5hYmxlQ29sb3JPcHRpb25zLCAkRW5hYmxlRm9udE9wdGlvbnMsICRFbmFibGVQ
YWdlV2lkdGhPcHRpb25zLAogICAgICAgJEVuYWJsZUdyb3VwVGl0bGUsICRFbmFibGVSaWdodEJh
ciwgJEVuYWJsZU1hcmt1cFNob3dSaWdodCwKICAgICAgICRFbmFibGVFbXB0eVJpZ2h0QmFyLCAk
RW5hYmxlUmlnaHRCYXJUb2dnbGUsICRFbmFibGVMZWZ0QmFyVG9nZ2xlLAogICAgICAgJEVuYWJs
ZVRvZ2dsZUNvb2tpZXMsICRFbmFibGVWaWV3U3dpdGNoZXIsICRFbmFibGVGb250U2l6ZXIsJEVu
YWJsZVBvcHVwRWRpdEZvcm0sCiAgICAgICAkRW5hYmxlUG1XaWtpQ29yZUNzcywgJFJpZ2h0V2lk
dGgsICRMZWZ0V2lkdGgsICRQYWdlQm9yZGVyLAogICAgICAgJEJhY2tncm91bmRJbWdVcmxGbXQs
ICRCYWNrZ3JvdW5kQ29sb3I7CiAgICAgICAKIyBTZXQgZGVmYXVsdCBjb2xvciBhbmQgZm9udCBz
Y2hlbWUsIGFuZCBkZWZhdWx0IHBhZ2Ugd2lkdGggc3R5bGUKIyBWYXJpYWJsZXMgY2FuIGFsc28g
YmUgc2V0IGluIGNvbmZpZy5waHAKU0RWKCREZWZhdWx0Q29sb3IsJ2xpZ2h0Ymx1ZScpOyAjIGxp
Z2h0Ymx1ZSwgc2lsdmVyYmx1ZSwgc2VhZ3JlZW4sIGdyZWVuLCBnb2xkLCBjaG9jLCB3aGl0ZSwg
bmlnaHQsIHRyYW5zClNEVigkRGVmYXVsdEZvbnQsICd2ZXJkYW5hJyk7ICMgdmVyZGFuYSBvciBn
ZW9yZ2lhClNEVigkRGVmYXVsdFBhZ2VXaWR0aCwgJ3dpZGUnKTsgICMgd2lkZSwgODAwLCAxMDAw
LCAxMzAwIG9yIGJvcmRlcgoKIyBEZWZhdWx0IGxlZnQgYW5kIHJpZ2h0IGJhciB3aWR0aApTRFYo
JFJpZ2h0V2lkdGgsICcxNzBweCcpOwpTRFYoJExlZnRXaWR0aCwgJzE3MHB4Jyk7ClNEVigkUGFn
ZUJvcmRlciwgJzIwcHgnKTsKCiMgQnkgZGVmYXVsdCBzdHlsZSBvcHRpb25zIGFyZSBlbmFibGVk
LAojIERpc2FibGUgdXNlciBvcHRpb25zIGJ5IHNldHRpbmcgJEVuYWJsZVN0eWxlT3B0aW9ucyA9
IDA7ClNEVigkRW5hYmxlU3R5bGVPcHRpb25zLCAxKTsKIyBJbmlkaXZpZHVhbCBvcHRpb24gc3dp
dGNoaW5nIGNhbiBiZSBkaXNhYmxlZCBieSB0eXBlIHNldHRpbmcgYW55IG9mIHRoZSBmb2xsb3dp
bmcgdG8gemVybwojIEFuIGFkbWluIG1heSBwcmVmZXIgdG8gaGF2ZSB0aGUgcGFnZSB3aWR0aCBv
cHRpb24gbm90IGNoYW5nZWFibGUKU0RWKCRFbmFibGVDb2xvck9wdGlvbnMsIDEpOwpTRFYoJEVu
YWJsZUZvbnRPcHRpb25zLCAxKTsKU0RWKCRFbmFibGVQYWdlV2lkdGhPcHRpb25zLCAxKTsKCiMg
QnkgZGVmYXVsdCBtYXJrdXAgKDp0aGVtZSBjb2xvcm5hbWUgZm9udG5hbWU6KWlzIGVuYWJsZWQs
CiMgU0RWKCRFbmFibGVUaGVtZXMsIDApOyAjZGlzYWJsZXMgdGhlbWUgZGlzcGxheS4KU0RWKCRF
bmFibGVUaGVtZXMsIDEpOwoKIyMgYmFja2dyb3VuZCBpbWFnZSAmIGJvZHkgYmctY29sb3IgKGZv
ciB3aWR0aCBvdGhlciB0aGFuIHdpZGUpIGZvciB0cmFuc3BhcmVudCBjb2xvciBzY2hlbWUKU0RW
KCRCYWNrZ3JvdW5kSW1nVXJsRm10LCAnJFNraW5EaXJVcmwvaW1hZ2VzL2JlYWNoLmpwZycpOwpT
RFYoJEJhY2tncm91bmRDb2xvciwgJyNiOWM3ZDQnKTsKCiMgRW5hYmxlcyBncm91cGxpbmsgaW4g
dGl0bGViYXI7IHNldCB0byAwIGZvciBubyBncm91cGxpbmsgaW4gdGl0bGViYXIuCiMgVGhlIGdy
b3VwIG5hbWUgY2FuIGFsc28gYmUgaGlkZGVuIG9uIHBhZ2VzIHdpdGggbWFya3VwICg6bm9ncm91
cDopClNEVigkRW5hYmxlR3JvdXBUaXRsZSwgMSk7CgojIEVuYWJsZXMgZGVmYXVsdCByaWdodGJh
ciwgc2V0IHRvIDAgaWYgbm8gcmlnaHQgY29sdW1uIGlzIG5lZWRlZCBzaXRld2lkZQpTRFYoJEVu
YWJsZVJpZ2h0QmFyLCAxKTsKCiMgZW5hYmxlIG1hcmt1cCAoOnNob3dyaWdodDopLCB3aGljaCBj
YW4gc2hvdyBSaWdodEJhciBmb3IgaW5kaXZpZHVhbCBwYWdlcywKIyBpZiBzaG93aW5nIG9mIFJp
Z2h0QmFyIGlzIHNpdGV3aWRlIGRpc2FibGVkIHdpdGggc3dpdGNoICRFbmFibGVSaWdodEJhciA9
IDA7IGFib3ZlLgpTRFYoJEVuYWJsZU1hcmt1cFNob3dSaWdodCwgMSk7CgojIERvIG5vdCBzaG93
IGVtcHR5IHJpZ2h0IGJhciBjb2x1bW4uIE9ubHkgc2hvdyBSaWdodEJhciBjb2x1bW4gaWYgUmln
aHRCYXIgZXhpc3RzLgojIFNldCB0byAxIHRvIHNob3cgZW1wdHkgY29sdW1uIHdoZW4gdGhlcmUg
aXMgbm8gUmlnaHRCYXIgcGFnZS4KU0RWKCRFbmFibGVFbXB0eVJpZ2h0QmFyLCAwKTsKCiMgYWRk
cyByaWdodGJhciB0b2dnbGUgc3dpdGNoIHRvIHRvcG1lbnViYXIgdG8gc2hvdy9oaWRlIHJpZ2h0
YmFyClNEVigkRW5hYmxlUmlnaHRCYXJUb2dnbGUsIDEpOwojIGFkZHMgbGVmdCBzaWRlYmFyIHRv
Z2dsZSBzd2l0Y2ggdG8gdG9wbWVudWJhciB0byBzaG93L2hpZGUgbGVmdCBzaWRlYmFyClNEVigk
RW5hYmxlTGVmdEJhclRvZ2dsZSwgMSk7CiMgZW5hYmxlIHBlcnNpc3RlbnQgdG9nZ2xlIHN0YXRl
IHNldHRpbmcgdmlhIGNvb2tpZXMKU0RWKCRFbmFibGVUb2dnbGVDb29raWVzLCAxKTsKCiMgYWRk
IGJpZyB2aWV3ICAtIG5vcm1hbCB2aWV3IHN3aXRjaGVyClNEVigkRW5hYmxlVmlld1N3aXRjaGVy
LCAxKTsKCiMgYWRkIGZvbnQgc2l6ZXIsIHVzZSAoOmZvbnRzaXplcjopIG1hcmt1cCBpbiBoZWFk
ZXIgb3Igc2lkZWJhciBvciB3aGVyZSBuZWVkZWQKU0RWKCRFbmFibGVGb250U2l6ZXIsIDEpOwoK
IyMgYWRkaW5nICBwcmV2aWV3IHBvcHVwIGZvciBlZGl0IHdpbmRvdwpTRFYoJEVuYWJsZVBvcHVw
RWRpdEZvcm0sIDEpOwoKIyBsb2FkIHBtd2lraS1jb3JlLmNzcyBpbnN0ZWFkIG9mIGRlZmF1bHQg
c3R5bGVzIGluIHBhZ2UgaGVhZApTRFYoJEVuYWJsZVBtV2lraUNvcmVDc3MsIDEpOwoKIyBhcnJh
eSBsaXN0cyBvZiBhdmFpbGFibGUgc3R5bGUgb3B0aW9ucwpnbG9iYWwgJFBhZ2VDb2xvckxpc3Qs
ICRQYWdlRm9udExpc3QsICRQYWdlV2lkdGhMaXN0OwpTRFZBKCRQYWdlQ29sb3JMaXN0LCBhcnJh
eSAoCiAgICAgICAgJ2xpZ2h0Ymx1ZScgPT4gJ2MtbGlnaHRibHVlLmNzcycsCiAgICAgICAgJ3Np
bHZlcmJsdWUnID0+ICdjLXNpbHZlcmJsdWUuY3NzJywKICAgICAgICAnc2VhZ3JlZW4nID0+ICdj
LXNlYWdyZWVuLmNzcycsCiAgICAgICAgJ2dyZWVuJyA9PiAnYy1ncmVlbi5jc3MnLAogICAgICAg
ICdnb2xkJyA9PiAnYy1nb2xkLmNzcycsCiAgICAgICAgJ2Nob2MnID0+ICdjLWNob2MuY3NzJywK
ICAgICAgICAnd2hpdGUnID0+ICdjLXdoaXRlLmNzcycsCiAgICAgICAgJ3RyYW5zJyA9PiAnYy10
cmFuc3BhcmVudC5jc3MnLAogICAgICAgICduaWdodCcgPT4gJ2MtbmlnaHQtYmx1ZS5jc3MnLAog
ICAgICAgICkpOwpTRFZBKCRQYWdlRm9udExpc3QsIGFycmF5ICgKICAgICAgICAndmVyZGFuYScg
PT4gJ2ZvbnQtdmVyZGFuYS5jc3MnLAogICAgICAgICdnZW9yZ2lhJyA9PiAnZm9udC1nZW9yZ2lh
LmNzcycsCiAgICAgICAgKSk7ClNEVkEoJFBhZ2VXaWR0aExpc3QsIGFycmF5ICgKICAgICAgICAn
d2lkZScgPT4gJ3dpZGUnLAogICAgICAgICc4MDAnID0+ICc3NzgnLAogICAgICAgICcxMDAwJyA9
PiAnMTAyNCcsCiAgICAgICAgJzEwMjQnID0+ICcxMDI0JywKICAgICAgICAnMTI4MCcgPT4gJzEy
ODAnLAogICAgICAgICcxMzAwJyA9PiAnMTI4MCcsCiAgICAgICAgJ2JvcmRlcicgPT4gJ2JvcmRl
cicsCiAgICAgICAgKSk7CgojID09PT09PT09PT09IGVuZCBvZiBjb25maWd1cmF0aW9uIHNlY3Rp
b24gb2Ygc2tpbi5waHAgPT09PT09PT09PT09PT09PT0gIwoKIyBjb21wYXRpYmlsaXR5IGNoZWNr
IHdpdGggcG13aWtpIHZlcnNpb24gbnVtYmVyCmdsb2JhbCAkVmVyc2lvbk51bSwgJENvbXBhdGli
aWxpdHlOb3RpY2U7CmlmKCRWZXJzaW9uTnVtIDwgJzIwMDEwMTYnKQogICAkQ29tcGF0aWJpbGl0
eU5vdGljZSA9ICI8cCBzdHlsZT0nY29sb3I6eWVsbG93Jz5Db21wYXRpYmlsaXR5IHByb2JsZW06
IFBsZWFzZSB1cGdyYWRlIHRvIHRoZSBsYXRlc3QgcG13aWtpIHZlcnNpb248L3A+IjsKCmdsb2Jh
bCAkQm9keUF0dHJGbXQ7ClNEVigkQm9keUF0dHJGbXQsICcnKTsKCiMgcG13aWtpIGNvcmUgc3R5
bGVzCiMgZGlzYWJsZSBwbXdpa2kgZGVmYXVsdCBjb3JlIHN0eWxlcywgbG9hZCBmcm9tIGNvcmUu
Y3NzCmdsb2JhbCAkSFRNTFN0eWxlc0ZtdCwgJFBtV2lraUNvcmVTdHlsZXNGbXQ7CmlmKCRFbmFi
bGVQbVdpa2lDb3JlQ3NzPT0xKSB7CiMgYXdhaXRpbmcgcG13aWtpIHN1cG9ydCBmb3IgcG13aWtp
LWNvcmUuY3NzLCAkUG1XaWtpQ29yZUNzcyBtYXkgbmVlZCB1cGRhdGUhCiAgZ2xvYmFsICRQbVdp
a2lDb3JlQ3NzOwogIFNEVigkUG1XaWtpQ29yZUNzcywgInBtd2lraS1jb3JlLmNzcyIpOwogIGlm
KGZpbGVfZXhpc3RzKCIkRmFybUQvcHViL2Nzcy8kUG1XaWtpQ29yZUNzcyIpKSBTRFYoJFBtV2lr
aUNvcmVTdHlsZXNGbXQsICIKICAgIDxsaW5rIGhyZWY9JyRGYXJtUHViRGlyVXJsL2Nzcy8kUG1X
aWtpQ29yZUNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz4iKTsKICBlbHNl
CiAgICBTRFYoJFBtV2lraUNvcmVTdHlsZXNGbXQsICIKICAgIDxsaW5rIGhyZWY9JyRTa2luRGly
VXJsL2Nzcy9wbS1jb3JlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz4i
KTsKIAogICAkSFRNTFN0eWxlc0ZtdFsncG13aWtpJ10gPSAnJzsKICAgJEhUTUxTdHlsZXNGbXRb
J2RpZmYnXSA9ICcnOwogICAkSFRNTFN0eWxlc0ZtdFsnc2ltdWxlZGl0J10gPSAnJzsKICAgJEhU
TUxTdHlsZXNGbXRbJ21hcmt1cCddID0gJyc7CiAgICRIVE1MU3R5bGVzRm10Wyd1cmxhcHByb3Zl
J10gPSAnJzsKICAgJEhUTUxTdHlsZXNGbXRbJ3ZhcmRvYyddID0gJyc7CiAgICRIVE1MU3R5bGVz
Rm10Wyd3aWtpc3R5bGVzJ109ICcnOwp9CgojIGNoZWNrIGZvciBqYXZhc2NyaXB0IGNvb2tpZSwg
c2V0ICRqYXZhc2NyaXB0IHZhciBmb3IgKDppZiBlbmFibGVkIGphdmFzY3JpcHQ6KSBzd2l0Y2gg
IApnbG9iYWwgJGphdmFzY3JpcHQ7CmlmIChpc3NldCgkX0NPT0tJRVsnamF2YXNjcmlwdCddKSkg
JGphdmFzY3JpcHQgPSAkX0NPT0tJRVsnamF2YXNjcmlwdCddOwoKZ2xvYmFsICRDb2xvckNzcywg
JEZvbnRDc3MsICRQYWdlV2lkdGg7CiRzYyA9ICREZWZhdWx0Q29sb3I7CiRzZiA9ICREZWZhdWx0
Rm9udDsKJHN3ID0gJERlZmF1bHRQYWdlV2lkdGg7CiRDb2xvckNzcyA9ICRQYWdlQ29sb3JMaXN0
WyRzY107CiRGb250Q3NzID0gJFBhZ2VGb250TGlzdFskc2ZdOwokUGFnZVdpZHRoID0gJFBhZ2VX
aWR0aExpc3RbJHN3XTsKCiMgYWRkIHN0eWxlY2hhbmdlLnBocCBmb3IgY29va2llIHNldHRpbmcg
Y29kZSBpZiBzZXQuCmlmICgkRW5hYmxlU3R5bGVPcHRpb25zID09IDEpIGluY2x1ZGVfb25jZSgi
JFNraW5EaXIvc3R5bGVjaGFuZ2UucGhwIik7CgojIHNpZGViYXIgYW5kIHJpZ2h0YmFyIHdpZHRo
Cmdsb2JhbCAkSFRNTFN0eWxlc0ZtdDsKJEhUTUxTdHlsZXNGbXRbXSA9ICIKICAjc2lkZWJhciB7
IHdpZHRoOiAkTGVmdFdpZHRoOyB9ICAKICAjcmlnaHRiYXIgeyB3aWR0aDogJFJpZ2h0V2lkdGg7
IH1cbiI7CiAKIyMgYXV0b21hdGljIGxvYWRpbmcgb2Ygc2tpbiBkZWZhdWx0IGNvbmZpZyBwYWdl
cwpnbG9iYWwgJFdpa2lMaWJEaXJzLCAkU2tpbkRpcjsKICAgICR3aGVyZSA9IGNvdW50KCRXaWtp
TGliRGlycyk7CiAgICBpZiAoJHdoZXJlPjEpICR3aGVyZS0tOwogICAgYXJyYXlfc3BsaWNlKCRX
aWtpTGliRGlycywgJHdoZXJlLCAwLAogICAgICAgIGFycmF5KG5ldyBQYWdlU3RvcmUoIiRTa2lu
RGlyL3dpa2lsaWIuZC9cJEZ1bGxOYW1lIikpKTsKICAgICAgIAojIHNldCBkZWZhdWx0IGVkaXQg
Zm9ybSBhbmQgY29uZmlndXJhdGlvbiBwYWdlCmdsb2JhbCAkWExMYW5ncywgJFBhZ2VFZGl0Rm9y
bSwgJFNpdGVHcm91cDsKU0RWKCRQYWdlRWRpdEZvcm0sICRTaXRlR3JvdXAuJy5Qb3B1cC1FZGl0
Rm9ybScpOwpYTFBhZ2UoJ3RyaWFkJywgJ1NpdGUuVHJpYWQtQ29uZmlndXJhdGlvbicgKTsKICAg
YXJyYXlfc3BsaWNlKCRYTExhbmdzLCAtMSwgMCwgYXJyYXlfc2hpZnQoJFhMTGFuZ3MpKTsKICAg
CiMgcG9wdXAgZWRpdGZvcm0gbG9hZCBzd2l0Y2gKZ2xvYmFsICRTaG93SGlkZSwgJFNpdGVHcm91
cCwgJEhUTUxIZWFkZXJGbXQsICRhY3Rpb247CmlmICgkYWN0aW9uPT0nZWRpdCcpIHsKICBpZigk
RW5hYmxlUG9wdXBFZGl0Rm9ybT09MSkgewogICAgaWYgKCEkU2hvd0hpZGUpIGluY2x1ZGVfb25j
ZSgiJFNraW5EaXIvc2hvd2hpZGUucGhwIik7CiAgICAkSFRNTEhlYWRlckZtdFsncG9wdXBlZGl0
J10gPSAiCiAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz48IS0tCiAgICAgICAg
IGRvY3VtZW50LndyaXRlKFwiPGxpbmsgaHJlZj0nJFNraW5EaXJVcmwvY3NzL3BvcHVwMmVkaXQu
Y3NzJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyAvPlwiKTsKICAgICAgLS0+PC9z
Y3JpcHQ+CiAgICAgIDxub3NjcmlwdD4KICAgICAgICAgPGxpbmsgaHJlZj0nJFNraW5EaXJVcmwv
Y3NzL3BvcHVwMmVkaXQtbm9zY3JpcHQuY3NzJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQv
Y3NzJyAvPgogICAgICA8L25vc2NyaXB0PgogICAgICAiOwogIH0KICBlbHNlICRIVE1MSGVhZGVy
Rm10Wydwb3B1cGVkaXQnXSA9ICIKICAgIDxsaW5rIGhyZWY9JyRTa2luRGlyVXJsL2Nzcy9wb3B1
cDJlZGl0LW5vc2NyaXB0LmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz4i
Owp9CgogICAKIyBsb2FkIHZpZXdzIHNjcmlwdCBpZiBlbmFibGVkCmlmKCRFbmFibGVWaWV3U3dp
dGNoZXI9PTEpIHsKICAgICRWaWV3TGlzdFsnYmlnJ10gPSAnYmlnJzsgIyBhZGQgJ2JpZycgdG8g
bGlzdCBvZiB2aWV3IGtleXdvcmRzCiAgICBTRFYoJFZpZXdDb29raWUsICRDb29raWVQcmVmaXgu
JFNraW5OYW1lLidfc2V0dmlldycpOwogICAgaW5jbHVkZV9vbmNlKCIkU2tpbkRpci92aWV3cy5w
aHAiKTsgIyBsb2FkIHZpZXdzIHNjcmlwdAogICMgc2V0IGluaXRzIGZvciAnYmlnJyB2aWV3CiAg
ICBnbG9iYWwgJEZvbnRTaXplRGVmYXVsdCwgJEZvbnRTaXplSW5jcmVtZW50LCAkUlRJbml0LCAk
TFRJbml0OwogICAgaWYoJFZpZXc9PSdiaWcnKSB7CiAgICAgICAgICAgICAkRm9udFNpemVEZWZh
dWx0ID0gJzEyMCc7ICMgYmFzZSBzaXplIHBlcmNlbnRhZ2UKICAgICAgICAgICAgICRGb250U2l6
ZUluY3JlbWVudCA9ICcxMCc7ICAgICAgIyBzaXplIGluY3JlbWVudCBpbiBwZXJjZW50CiAgICAg
ICAgICAgICAkUlNob3cgPSAnMCc7ICAgICAgICAgICAgIyBubyByaWdodCBiYXIgaW5pdGlhbGx5
CiAgICAgICAgICAgICAkTFNob3cgPSAnMSc7ICAgICAgICAgICAgIyAoMD1ubykgbGVmdCBiYXIg
aW5pdGlhbGx5CiAgICB9Owp9OwoKIyMgYWRkcyBmb250c2l6ZXIgaWYgZW5hYmxlZC4KIyBGb250
c2l6ZXIgYWN0aW9uIGxpbmtzIGFyZSBpbnNlcnRlZCBieSBkZWZhdWx0IGluIFNpdGUuUGFnZUhl
YWRlcgojIHVzaW5nIG1hcmt1cCAoOmZvbnRzaXplcjopLiBJdCBjb3VsZCBiZSB1c2VkIGluIG90
aGVyIHBsYWNlcywgbGlrZSB0aGUgU2lkZUJhci4KIyBSZW1vdmUgKDpmb250c2l6ZXI6KSBtYXJr
dXAgaWYgbm90IHdhbnRlZC4KaWYoJEVuYWJsZUZvbnRTaXplcj09MSkgeyBpbmNsdWRlX29uY2Uo
IiRTa2luRGlyL2ZvbnRzaXplci5waHAiKTsKICAgICAgJEhUTUxTdHlsZXNGbXRbJ2ZvbnRzaXpl
ciddID0gIiI7fQoKIyBzZXQgYmFzZSBmb250IHNpemUgZm9yICdiaWcnIHZpZXcgaWYgZm9udHNp
emVyIGRpc2FibGVkCmdsb2JhbCAkSFRNTFN0eWxlc0ZtdDsKaWYoJEVuYWJsZUZvbnRTaXplcj09
MCAmJiAkVmlldz09J2JpZycpIHsKICAgICRIVE1MU3R5bGVzRm10W10gPSAiIGJvZHkge2ZvbnQt
c2l6ZToxNTAlfSAiOyB9CgojIHNldCBUcmlhZFNraW4gYXMgZ2xvYmFsIHZhcmlhYmxlIGZvciAo
OmlmIGVuYWJsZSBUcmlhZFNraW46KSBtYXJrdXAKZ2xvYmFsICRUcmlhZFNraW47CiRUcmlhZFNr
aW4gPSAxOwoKIyBhZGQgeyRQYWdlTG9nb1VybH0gdG8gcGFnZSB2YXJpYWJsZXMgdG8gdXNlIG9u
IGRlZmF1bHQgUGFnZUhlYWRlciBwYWdlCmdsb2JhbCAkRm10UFY7CiRGbXRQVlsnJFBhZ2VMb2dv
VXJsJ10gPSAnJEdMT0JBTFNbIlBhZ2VMb2dvVXJsIl0nOwoKIyBkbyBub3Qgc2hvdyB0b3BtZW51
IGJhciBpZiBQYWdlVG9wTWVudSBpcyBlbXB0eQovKiAgPT09PT0gZGlzYWJsZWQgPT09PT0KJGd0
bSA9IEZtdFBhZ2VOYW1lKCckR3JvdXAuUGFnZVRvcE1lbnUnLCRwYWdlbmFtZSk7CiRzdG0gPSBG
bXRQYWdlTmFtZSgnJFNpdGVHcm91cC5QYWdlVG9wTWVudScsJHBhZ2VuYW1lKTsKaWYgKFBhZ2VF
eGlzdHMoJGd0bSkpICRwYWdlID0gUmVhZFBhZ2UoJGd0bSk7CmlmIChAJHBhZ2VbJ3RleHQnXT09
JycpICRub2d0bSA9IDE7CmlmIChQYWdlRXhpc3RzKCRzdG0pKSAkcGFnZSA9IFJlYWRQYWdlKCRz
dG0pOwppZiAoQCRwYWdlWyd0ZXh0J109PScnKSAkbm9zdG0gPSAxOwppZiAoQCRub2d0bT09MSAm
JiBAJG5vc3RtPT0xKXsKICAgICAgICBTZXRUbXBsRGlzcGxheSgnUGFnZVRvcE1lbnVGbXQnLDAp
OwogICAgICAgfTsKPT09PT09ID09PT09PSAqLwoKIyMgdXNlIGFsdGVybmF0aXZlIHNlYXJjaGJv
eCBtYXJrdXAKaW5jbHVkZV9vbmNlKCIkU2tpbkRpci9zZWFyY2hib3gyLnBocCIpOwogCgojIFBh
Z2VWYXJpYWJsZXMgZm9yIGdyb3VwIGxpbmtzIENsdXN0ZXIgc3VwcG9ydCAoc2VlIENvb2tib29r
LkNsdXN0ZXIpCiMgU3VwcG9ydCBmb3IgQ2x1c3RlciBhbmQgSGcgcmVjaXBlIHRocm91Z2ggJENm
biBuYW1pbmcgdGhlIFBWIGZ1bmN0aW9uIG9mIGVhY2ggcmVjaXBlCiRDZm4gPSBhcnJheSgnQ2x1
c3RlclBhZ2VOYW1lJywnSGllcmFyY2hpY2FsUGFnZW5hbWVzJyk7CmZvcmVhY2goJENmbiBhcyAk
Zm4pIHsKICBpZiAoZnVuY3Rpb25fZXhpc3RzKCRmbikpIHsKICAgICRGbXRQVlsnJFBhZ2VIZWFk
ZXInXSA9ICRmbi4nKCRncm91cCwgIlBhZ2VIZWFkZXIiKSc7CiAgICAkRm10UFZbJyRUaXRsZUJh
ciddID0gJGZuLicoJGdyb3VwLCAiVGl0bGVCYXIiKSc7CiAgICAkRm10UFZbJyRQYWdlVG9wTWVu
dSddID0gJGZuLicoJGdyb3VwLCAiUGFnZVRvcE1lbnUiKSc7CiAgICAkRm10UFZbJyRTaWRlQmFy
J10gPSAkZm4uJygkZ3JvdXAsICJTaWRlQmFyIiknOwogICAgJEZtdFBWWyckUmlnaHRCYXInXSA9
ICRmbi4nKCRncm91cCwgIlJpZ2h0QmFyIiknOwogICAgJEZtdFBWWyckUGFnZUZvb3RNZW51J10g
PSAkZm4uJygkZ3JvdXAsICJQYWdlRm9vdE1lbnUiKSc7CiAgICAkRm10UFZbJyRQYWdlRm9vdGVy
J10gPSAkZm4uJygkZ3JvdXAsICJQYWdlRm9vdGVyIiknOwogICAgJEZtdFBWWyckUGFnZVNpZGVC
YXJGb290ZXInXSA9ICRmbi4nKCRncm91cCwgIlBhZ2VTaWRlQmFyRm9vdGVyIiknOwogICAgfQp9
CiAKIyMgc2V0IHZhciAkUkJFeGlzdHMgaWYgUmlnaHRCYXIgZXhpc3RzCiRSQkV4aXN0cyA9IDA7
IC8vaW5pdAppZiAoJEVuYWJsZVJpZ2h0QmFyPT0xIHx8ICRFbmFibGVNYXJrdXBTaG93UmlnaHQ9
PTEpIHsKICAkcGFnZVJCID0gRm10UGFnZU5hbWUoJyRGdWxsTmFtZS1SaWdodEJhcicsJHBhZ2Vu
YW1lKTsKICBpZiAoUGFnZUV4aXN0cygkcGFnZVJCKSkgICRSQkV4aXN0cyA9IDE7CiAgJGNsdXN0
ZXJSQiA9IEZtdFBhZ2VOYW1lKCd7JFJpZ2h0QmFyfScsJHBhZ2VuYW1lKTsgLy91c2VkIHdpdGgg
Q2x1c3RlciBvciBIZwogIGlmIChQYWdlRXhpc3RzKCRjbHVzdGVyUkIpKSAkUkJFeGlzdHMgPSAx
OwogICRncm91cFJCID0gRm10UGFnZU5hbWUoJyRHcm91cC5SaWdodEJhcicsJHBhZ2VuYW1lKTsK
ICBpZiAoUGFnZUV4aXN0cygkZ3JvdXBSQikpICAkUkJFeGlzdHMgPSAxOwogICRzaXRlUkIgPSBG
bXRQYWdlTmFtZSgnJFNpdGVHcm91cC5SaWdodEJhcicsJHBhZ2VuYW1lKTsKICBpZiAoUGFnZUV4
aXN0cygkc2l0ZVJCKSkgICRSQkV4aXN0cyA9IDE7Cn0KCiMgZW1wdHkgcmlnaHQgY29sdW1uIGxv
Z2ljCmlmICgkRW5hYmxlRW1wdHlSaWdodEJhcj09MCAmJiAkUkJFeGlzdHM9PTApIFNldFRtcGxE
aXNwbGF5KCdQYWdlUmlnaHRGbXQnLDApOwppZiAoJEVuYWJsZUVtcHR5UmlnaHRCYXI9PTEgJiYg
JEVuYWJsZVJpZ2h0QmFyPT0xKSBTZXRUbXBsRGlzcGxheSgnUGFnZVJpZ2h0Rm10JywxKTsKCiMg
ZGlzYWJsZSByaWdodGJhciBsb2dpYwppZiAoISRFbmFibGVSaWdodEJhcj09MSkgU2V0VG1wbERp
c3BsYXkoJ1BhZ2VSaWdodEZtdCcsMCk7CgojIGFkZCBsZWZ0ICYgcmlnaHQgYmFyIHRvZ2dsZSBz
d2l0Y2hlcyBpZiBlbmFibGVkCmlmKCRFbmFibGVSaWdodEJhclRvZ2dsZT09MSB8fCAkRW5hYmxl
TGVmdEJhclRvZ2dsZT09MSkgewogICAgaW5jbHVkZV9vbmNlKCIkU2tpbkRpci90b2dnbGViYXJz
LnBocCIpOyB9CgojIGNoYW5nZXMgdG8gZXh0ZW5kZWQgbWFya3VwIHJlY2lwZSBmb3Igc2VsZmxp
bmsgZGVmaW5pdGlvbjoKZ2xvYmFsICRMaW5rUGFnZVNlbGZGbXQ7CiMkTGlua1BhZ2VTZWxmRm10
ID0gIjxhIGNsYXNzPSdzZWxmbGluayc+XCRMaW5rVGV4dDwvYT4iOwoKIyBzZXQgSFRNTCB0aXRs
ZQpnbG9iYWwgJEhUTUxUaXRsZUZtdCwgJFdpa2lUaXRsZTsKJHRpdGxlID0gUGFnZVZhcigkcGFn
ZW5hbWUsJyRUaXRsZScpOwokZ3JvdXAgPSBQYWdlVmFyKCRwYWdlbmFtZSwnJEdyb3VwJyk7ClNE
VigkSFRNTFRpdGxlRm10LCAiJFdpa2lUaXRsZSAtICRncm91cCAtICR0aXRsZSIpOwoKLy8gYWRk
aW5nIHN3aXRjaCBmb3IgJ1BhZ2VuYW1lLVRpdGxlQmFyJyBzdWJwYWdlIGZvciBmYW5jeSBmb250
IHRpdGxlYmFycwokZnRiID0gRm10UGFnZU5hbWUoJyRGdWxsTmFtZS1UaXRsZUJhcicsJHBhZ2Vu
YW1lKTsKaWYoUGFnZUV4aXN0cygkZnRiKSkgICRIVE1MU3R5bGVzRm10W10gPSAiIC50aXRsZWxp
bmsgeyBkaXNwbGF5Om5vbmUgfSBcbiAiOwoKIyM9PT09PT09PT09IFNwZWNpYWwgTWFya3VwcyA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PSMjCgojIyBtYXJrdXAgKDpub2xlZnQ6KQpmdW5j
dGlvbiBOb0xlZnQyKCkgewogICAgZ2xvYmFsICRMZWZ0VG9nZ2xlRm10OwogICAgJExlZnRUb2dn
bGVGbXQgPSAiIjsKICAgIFNldFRtcGxEaXNwbGF5KCdQYWdlTGVmdEZtdCcsMCk7CiAgICByZXR1
cm4gJyc7IH0KTWFya3VwKCdub2xlZnQnLCdkaXJlY3RpdmVzJywnL1xcKDpub2xlZnQ6XFwpLycs
CiAgICAiTm9MZWZ0MiIpOwoKIyMgbWFya3VwICg6bm9yaWdodDopCmZ1bmN0aW9uIE5vUmlnaHQy
KCkgewogICAgZ2xvYmFsICRSaWdodFRvZ2dsZUZtdDsKICAgICRSaWdodFRvZ2dsZUZtdCA9ICIi
OwogICAgU2V0VG1wbERpc3BsYXkoJ1BhZ2VSaWdodEZtdCcsMCk7CiAgICByZXR1cm4gJyc7IH0K
TWFya3VwKCdub3JpZ2h0JywnZGlyZWN0aXZlcycsJy9cXCg6bm9yaWdodDpcXCkvJywKICAgICJO
b1JpZ2h0MiIpOwoKIyMgTWFya3VwICg6c2hvd3JpZ2h0OikKaWYgKCRFbmFibGVNYXJrdXBTaG93
UmlnaHQ9PTEpIHsKICAgIE1hcmt1cCgnc2hvd3JpZ2h0JywnZGlyZWN0aXZlcycsJy9cXCg6c2hv
d3JpZ2h0OlxcKS8nLCAgCiAgICAgICAgIlRyaWFkUGFnZVJpZ2h0Rm10Iik7Cn07CmZ1bmN0aW9u
IFRyaWFkUGFnZVJpZ2h0Rm10KCkgeyBTZXRUbXBsRGlzcGxheSgnUGFnZVJpZ2h0Rm10JywgMSk7
IH0KCgoKIyMgTWFya3VwICg6bm90b3BtZW51OikKZnVuY3Rpb24gTm9Ub3BNZW51MigpIHsKICAg
IGdsb2JhbCAkSFRNTFN0eWxlc0ZtdDsKICAgIFNldFRtcGxEaXNwbGF5KCdQYWdlVG9wTWVudUZt
dCcsMCk7CiAgICAkSFRNTFN0eWxlc0ZtdFtdID0gIgogICAgICAgICAjaGVhZGVyIHtib3JkZXIt
Ym90dG9tOjFweCBzb2xpZCAjMDAzNDY2fVxuICI7ICAKICAgIHJldHVybiAnJzsgfQpNYXJrdXAo
J25vdG9wbWVudScsJ2RpcmVjdGl2ZXMnLCcvXFwoOm5vdG9wbWVudTpcXCkvJywKICAgIk5vVG9w
TWVudTIiKTsKCiMjIE1hcmt1cCAoOm5vZm9vdG1lbnU6KQpNYXJrdXAoJ25vZm9vdG1lbnUnLCdk
aXJlY3RpdmVzJywnL1xcKDpub2Zvb3RtZW51OlxcKS8nLAogICJUcmlhZFBhZ2VGb290TWVudUZt
dCIpOwpmdW5jdGlvbiBUcmlhZFBhZ2VGb290TWVudUZtdCgpIHsgU2V0VG1wbERpc3BsYXkoJ1Bh
Z2VGb290TWVudUZtdCcsIDApOyB9CiAKIAojIyBNYXJrdXAgKDpub2FjdGlvbjopCmZ1bmN0aW9u
IE5vQWN0aW9uMigpIHsKICAgIGdsb2JhbCAkSFRNTFN0eWxlc0ZtdDsKICAgIFNldFRtcGxEaXNw
bGF5KCdQYWdlRm9vdE1lbnVGbXQnLCAwKTsKICAgIFNldFRtcGxEaXNwbGF5KCdQYWdlVG9wTWVu
dUZtdCcsMCk7CiAgICAkSFRNTFN0eWxlc0ZtdFsnbm9hY3Rpb24nXSA9ICIKICAgICAgICAgI2hl
YWRlciB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMzQ2Nn1cbiAiOyAgCiAgICByZXR1cm4g
Jyc7IH0KTWFya3VwKCdub2FjdGlvbicsJ2RpcmVjdGl2ZXMnLCcvXFwoOm5vYWN0aW9uOlxcKS8n
LAogICJOb0FjdGlvbjIiKTsKIAojIyBNYXJrdXAgKDpub2hlYWRlcjopCk1hcmt1cCgnbm9oZWFk
ZXInLCAnZGlyZWN0aXZlcycsICcvXFwoOm5vaGVhZGVyOlxcKS8nLAogICAgIk1hcmt1cFRtcGxE
aXNwbGF5Iik7CiAgIAojIyBNYXJrdXAgKDpub3RpdGxlOikKTWFya3VwKCdub3RpdGxlJywgICdk
aXJlY3RpdmVzJywgJy9cXCg6bm90aXRsZTpcXCkvJywgIAogICAgIk1hcmt1cFRtcGxEaXNwbGF5
Iik7CiAgIAojIyBNYXJrdXAgKDpub2dyb3VwOikKTWFya3VwKCdub2dyb3VwJywnZGlyZWN0aXZl
cycsJy9cXCg6bm9ncm91cDpcXCkvJywKICAgICJOb0dyb3VwVGl0bGUiKTsKZnVuY3Rpb24gTm9H
cm91cFRpdGxlKCkgewogICAgZ2xvYmFsICRIVE1MU3R5bGVzRm10OwogICAgJEhUTUxTdHlsZXNG
bXRbJ25vZ3JvdXB0aXRsZSddID0KIiAgLnBhZ2Vncm91cCB7ZGlzcGxheTpub25lO30gXG4gIjsK
fQojIGRpc3BsYXkgb3IgaGlkZSBncm91cC1saW5rIGluIHRpdGxlYmFyLgppZigkRW5hYmxlR3Jv
dXBUaXRsZT09MCkgTm9Hcm91cFRpdGxlKCk7CgoKIyMgTWFya3VwICg6ZnVsbHBhZ2U6KQpmdW5j
dGlvbiBGdWxsUGFnZSgpIHsKICAgICBTZXRUbXBsRGlzcGxheSgnUGFnZUhlYWRlckZtdCcsIDAp
OyAgICAgICAgCiAgICAgU2V0VG1wbERpc3BsYXkoJ1BhZ2VUb3BNZW51Rm10JywwKTsKICAgICBT
ZXRUbXBsRGlzcGxheSgnUGFnZUZvb3RNZW51Rm10JywgMCk7CiAgICAgU2V0VG1wbERpc3BsYXko
J1BhZ2VGb290ZXJGbXQnLCAwKTsgICAgCiAgICAgU2V0VG1wbERpc3BsYXkoJ1BhZ2VMZWZ0Rm10
JywwKTsKICAgICBTZXRUbXBsRGlzcGxheSgnUGFnZVJpZ2h0Rm10JywwKTsgIAogICAgIHJldHVy
biAnJzsKfQpNYXJrdXAoJ2Z1bGxwYWdlJywnZGlyZWN0aXZlcycsJy9cXCg6ZnVsbHBhZ2U6XFwp
LycsCiAgIkZ1bGxQYWdlIik7CiAKIyMgTWFya3VwICg6dGhlbWUgY29sb3JuYW1lIGZvbnRuYW1l
OikKZnVuY3Rpb24gU2V0VGhlbWUoJG0pIHsKICAgZ2xvYmFsICRDb2xvckNzcywgJFBhZ2VDb2xv
ckxpc3QsICRGb250Q3NzLCAkUGFnZUZvbnRMaXN0LCAkUGFnZVdpZHRoLCAkUGFnZVdpZHRoTGlz
dCwKICAgJEhUTUxIZWFkZXJGbXQsICRIVE1MU3R5bGVzRm10LAogICAkU2tpbkRpclVybCwgJEVu
YWJsZVRoZW1lcywgJEJhY2tncm91bmRJbWdVcmxGbXQsICRCYWNrZ3JvdW5kQ29sb3I7CiAgICRv
cHQgPSBQYXJzZUFyZ3MoJG1bMV0pOwogICAkb3B0WycnXSA9IChhcnJheSlAJG9wdFsnJ107CiAg
ICRzYyA9IChpc3NldCgkb3B0Wydjb2xvciddKSkgPyAkb3B0Wydjb2xvciddIDogYXJyYXlfc2hp
ZnQoJG9wdFsnJ10pOwogICAkc2YgPSAoaXNzZXQoJG9wdFsnZm9udCddKSkgID8gJG9wdFsnZm9u
dCddICA6IGFycmF5X3NoaWZ0KCRvcHRbJyddKTsKICAgJHN3ID0gKGlzc2V0KCRvcHRbJ3dpZHRo
J10pKSAgPyAkb3B0Wyd3aWR0aCddICA6IGFycmF5X3NoaWZ0KCRvcHRbJyddKTsKICAgaWYgKEAk
UGFnZUNvbG9yTGlzdFskc2NdKSB7CiAgICAgICRDb2xvckNzcyA9ICRQYWdlQ29sb3JMaXN0WyRz
Y107CiAgICAgICRIVE1MSGVhZGVyRm10Wydza2luLWNvbG9yJ10gPSAiICAKICAgPGxpbmsgaHJl
Zj0nJFNraW5EaXJVcmwvY3NzLyRDb2xvckNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0
L2NzcycgbWVkaWE9J3NjcmVlbicgLz4iOwogICB9CiAgIGlmKCRzZikgewogICAgIGlmIChAJFBh
Z2VGb250TGlzdFskc2ZdKSB7CiAgICAgICAkRm9udENzcyA9ICRQYWdlRm9udExpc3RbJHNmXTt9
OwogICAgICAgJEhUTUxIZWFkZXJGbXRbJ3NraW4tZm9udCddID0gIiAgCiAgIDxsaW5rIGhyZWY9
JyRTa2luRGlyVXJsL2Nzcy8kRm9udENzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nz
cycgbWVkaWE9J3NjcmVlbicgLz4iOwogICB9CiAgIGlmICgkc3cpIHsKVHJpYWRTZXRQYWdlV2lk
dGgoJHN3KTsKfQogICBpZihpc3NldCgkb3B0WydiYWNrZ3JvdW5kJ10pKSB7CiAgICAgICRDb2xv
ckNzcyA9ICRQYWdlQ29sb3JMaXN0Wyd0cmFucyddOwogICAgICAkSFRNTEhlYWRlckZtdFsnc2tp
bi1jb2xvciddID0gIiAgCiAgIDxsaW5rIGhyZWY9JyRTa2luRGlyVXJsL2Nzcy8kQ29sb3JDc3Mn
IHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdzY3JlZW4nIC8+IjsKICAg
ICRCYWNrZ3JvdW5kSW1nVXJsRm10ID0gJG9wdFsnYmFja2dyb3VuZCddOwogICAgaWYgKGlzc2V0
KCRvcHRbJ2JnY29sb3InXSkpICRCYWNrZ3JvdW5kQ29sb3IgPSAkb3B0WydiZ2NvbG9yJ107CiAg
ICAkSFRNTEhlYWRlckZtdFsndHJhbnMtYmFja2dyb3VuZCddID0gIAoiXG4gIDxzdHlsZSB0eXBl
PSd0ZXh0L2Nzcyc+PCEtLSIuCiJcbiAjb3V0ZXItYm94IHsgYmFja2dyb3VuZDp1cmwoeyRCYWNr
Z3JvdW5kSW1nVXJsRm10fSkgZml4ZWQ7IH0iLgoiXG4gYm9keSB7IGJhY2tncm91bmQtY29sb3I6
eyRCYWNrZ3JvdW5kQ29sb3J9OyB9Ii4KIlxuICAtLT48L3N0eWxlPiI7Cn0KfTsKaWYoJEVuYWJs
ZVRoZW1lcyA9PSAxKSB7CiAgICBNYXJrdXAoJ3RoZW1lJywgJ2Z1bGx0ZXh0JywKICAgICAgJy9c
XCg6dGhlbWVcXHMrKC4qPylcXHMqOlxcKS8nLAogICAgICAiU2V0VGhlbWUiKTsKfQplbHNlIHsK
ICAgIE1hcmt1cCgndGhlbWUnLCAnZnVsbHRleHQnLAogICAgICAnL1xcKDp0aGVtZVxccysoLio/
KVxccyo6XFwpLycsCiAgICAgICIiKTsKfTsKIAojIyBhZGQgZG91YmxlIGxpbmUgaG9yaXogcnVs
ZSBtYXJrdXAgPT09PQpNYXJrdXAoJ149PT09JywnPl4tPicsJy9ePT09PSsvJywnPDpibG9jaywx
PgogIDxociBjbGFzcz0iaHItZG91YmxlIiAvPicpOwogCiMjIHJlbW92aW5nIGhlYWRlciwgdGl0
bGUgZm9yIGhpc3RvcnkgYW5kIHVwbG9hZHMgd2luZG93cwpnbG9iYWwgJGFjdGlvbjsKaWYgKCRh
Y3Rpb249PSdkaWZmJyB8fCAkYWN0aW9uPT0ndXBsb2FkJykgewpTZXRUbXBsRGlzcGxheSgnUGFn
ZUhlYWRlckZtdCcsIDApOwpTZXRUbXBsRGlzcGxheSgnUGFnZVRpdGxlRm10JywgMCk7Cn0KCiMj
IGFsdGVybmF0aXZlIERpZmYgKEhpc3RvcnkpIGZvcm0gd2l0aCBsaW5rIGluIHRpdGxlCmdsb2Jh
bCAkUGFnZURpZmZGbXQsICRQYWdlVXBsb2FkRm10OwokUGFnZURpZmZGbXQgPSAiPGgzIGNsYXNz
PSd3aWtpYWN0aW9uJz4KICA8YSBocmVmPSdcJFBhZ2VVcmwnPiBcJEZ1bGxOYW1lPC9hPiAkW0hp
c3RvcnldPC9oMz4KICA8cD5cJERpZmZNaW5vckZtdCAtIFwkRGlmZlNvdXJjZUZtdCAtIDxhIGhy
ZWY9J1wkUGFnZVVybCc+ICRbQ2FuY2VsXTwvYT48L3A+IjsKCiMjIGFsdGVybmF0aXZlIFVwbG9h
ZHMgZm9ybSB3aXRoIGxpbmsgaW4gdGl0bGUKJFBhZ2VVcGxvYWRGbXQgPSBhcnJheSgiCiAgPGRp
diBpZD0nd2lraXVwbG9hZCc+CiAgPGgzIGNsYXNzPSd3aWtpYWN0aW9uJz4kW0F0dGFjaG1lbnRz
IGZvcl0KICA8YSBocmVmPSdcJFBhZ2VVcmwnPiB7XCRGdWxsTmFtZX08L2E+PC9oMz4KICA8aDM+
XCRVcGxvYWRSZXN1bHQ8L2gzPgogIDxmb3JtIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEn
IGFjdGlvbj0ne1wkUGFnZVVybH0nIG1ldGhvZD0ncG9zdCc+CiAgPGlucHV0IHR5cGU9J2hpZGRl
bicgbmFtZT0nbicgdmFsdWU9J3tcJEZ1bGxOYW1lfScgLz4KICA8aW5wdXQgdHlwZT0naGlkZGVu
JyBuYW1lPSdhY3Rpb24nIHZhbHVlPSdwb3N0dXBsb2FkJyAvPgogICAgPHAgYWxpZ249J3JpZ2h0
JyBzdHlsZT0nZmxvYXQ6bGVmdCc+JFtGaWxlIHRvIHVwbG9hZDpdCiAgICA8aW5wdXQgbmFtZT0n
dXBsb2FkZmlsZScgdHlwZT0nZmlsZScgc2l6ZT01MCAvPjwvcD4KICAgIDxwIGFsaWduPSdyaWdo
dCcgc3R5bGU9J2Zsb2F0OmxlZnQnIC8+JFtOYW1lIGF0dGFjaG1lbnQgYXM6XQogICAgPGlucHV0
IHR5cGU9J3RleHQnIG5hbWU9J3VwbmFtZScgdmFsdWU9J1wkVXBsb2FkTmFtZScgc2l6ZT0yNSAv
PgogICAgPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAkW1VwbG9hZF0gJyAvPjwvcD4KICAg
IDwvZm9ybT48L2Rpdj48YnIgY2xlYXI9YWxsIC8+IiwKICAnd2lraTokW3skU2l0ZUdyb3VwfS9V
cGxvYWRRdWlja1JlZmVyZW5jZV0nKTsKIAoKIyMgcHJvdmlkZSBiYWNrd2FyZCBjb21wYXRpYmls
aXR5IGZvciBub24tcmVsYXRpdmUgdXJscwppZiAoJFZlcnNpb25OdW0gPCAyMDAxOTAwKQogICAg
ICBNYXJrdXAoJ3sqJHZhcn0nLCAnPHskdmFyfScsICcvXFx7XFwqXFwkLycsICd7JCcpOwojIyMj
IyMKCiMgYWRkIHNraW4gc3R5bGUgY3NzIHRvIHRlbXBsYXRlCmdsb2JhbCAkSFRNTEhlYWRlckZt
dDsKJEhUTUxIZWFkZXJGbXRbJ3NraW4tbGF5b3V0J10gPSAiCiAgIDxsaW5rIGhyZWY9JyRTa2lu
RGlyVXJsL2Nzcy9sYXlvdXQtdHJpYWQuY3NzJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQv
Y3NzJyAvPgogICA8bGluayBocmVmPSckU2tpbkRpclVybC9jc3MvbGF5b3V0LW1haW4uY3NzJyBy
ZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyAvPgogICA8bGluayBocmVmPSckU2tpbkRp
clVybC9jc3MvbGF5b3V0LXByaW50LmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nz
cycgbWVkaWE9J3ByaW50JyAvPiI7ICAKJEhUTUxIZWFkZXJGbXRbJ3NraW4tZm9udCddID0gIiAg
CiAgIDxsaW5rIGhyZWY9JyRTa2luRGlyVXJsL2Nzcy8kRm9udENzcycgcmVsPSdzdHlsZXNoZWV0
JyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J3NjcmVlbicgLz4iOwokSFRNTEhlYWRlckZtdFsnc2tp
bi1jb2xvciddID0gIiAgCiAgIDxsaW5rIGhyZWY9JyRTa2luRGlyVXJsL2Nzcy8kQ29sb3JDc3Mn
IHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdzY3JlZW4nIC8+CiAgICI7
CgppZiAoJHNjPT0ndHJhbnMnKSB7CiRIVE1MSGVhZGVyRm10Wyd0cmFucy1iYWNrZ3JvdW5kJ10g
PSAiCjxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+PCEtLQojb3V0ZXItYm94IHsgYmFja2dyb3VuZDp1
cmwoeyRCYWNrZ3JvdW5kSW1nVXJsRm10fSkgZml4ZWQ7IH0KYm9keSB7IGJhY2tncm91bmQtY29s
b3I6eyRCYWNrZ3JvdW5kQ29sb3J9OyB9IFxuCi0tPjwvc3R5bGU+CiI7Cn0KVHJpYWRTZXRQYWdl
V2lkdGgoJHN3KTsKCmZ1bmN0aW9uIFRyaWFkU2V0UGFnZVdpZHRoKCRzdykgewpnbG9iYWwgJEhU
TUxIZWFkZXJGbXQsICRQYWdlQm9yZGVyOwojIHBhZ2Ugd2lkdGggbGF5b3V0CmlmICgkc3c9PSc4
MDAnKSB7CnJldHVybiAkSFRNTEhlYWRlckZtdFsncGFnZXdpZHRoJ10gPSAiCjxzdHlsZSB0eXBl
PSd0ZXh0L2Nzcyc+CmJvZHkge3BhZGRpbmc6MTBweCAwO30KI291dGVyLWJveCB7d2lkdGg6Nzc4
cHg7IGhlaWdodDo5MCU7fQo8L3N0eWxlPgoiOwp9CmlmICgkc3c9PScxMDAwJ3x8JHN3PT0nMTAy
NCcpIHsKcmV0dXJuICRIVE1MSGVhZGVyRm10WydwYWdld2lkdGgnXSA9ICIKPHN0eWxlIHR5cGU9
J3RleHQvY3NzJz4KYm9keSB7cGFkZGluZzoxMHB4IDA7fQojb3V0ZXItYm94IHt3aWR0aDoxMDA0
cHg7IGhlaWdodDoxMDAlO30KPC9zdHlsZT4KIjsKfQppZiAoJHN3PT0nMTMwMCd8fCRzdz09JzEy
ODAnKSB7CnJldHVybiAkSFRNTEhlYWRlckZtdFsncGFnZXdpZHRoJ10gPSAiCjxzdHlsZSB0eXBl
PSd0ZXh0L2Nzcyc+CiNvdXRlci1ib3gge3dpZHRoOjEyNjBweDsgaGVpZ2h0OjEwMCU7fQo8L3N0
eWxlPgoiOwp9CmlmICgkc3c9PSdib3JkZXInKSB7CnJldHVybiAkSFRNTEhlYWRlckZtdFsncGFn
ZXdpZHRoJ10gPSAiCjxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+CmJvZHkge3BhZGRpbmc6JFBhZ2VC
b3JkZXI7fQo8L3N0eWxlPgoiOwp9Cn0KCmdsb2JhbCAkRW5hYmxlUHJlV3JhcDsKU0RWKCRFbmFi
bGVQcmVXcmFwLCAxKTsKIyBwcmVzZXJ2ZSBzcGFjZXMgYW5kIHdyYXAgbGluZXMgaW4gcHJlZm9y
bWF0dGVkIHRleHQKaWYoJEVuYWJsZVByZVdyYXA9PTEpIHsKICAkSFRNTEhlYWRlckZtdFsncHJl
d3JhcCddID0gIgogIDxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+CiAgcHJlIHsgd2hpdGUtc3BhY2U6
IHByZS13cmFwOyAvKiBjc3MtMyAqLwp3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgLyogTW96
aWxsYSwgc2luY2UgMTk5OSAqLwp3aGl0ZS1zcGFjZTogLXByZS13cmFwOyAvKiBPcGVyYSA0LTYg
Ki8Kd2hpdGUtc3BhY2U6IC1vLXByZS13cmFwOyAvKiBPcGVyYSA3ICovCipicmVhay13b3JkOiBi
cmVhay1hbGw7IC8qIEludGVybmV0IEV4cGxvcmVyIDcgKi8KKndoaXRlLXNwYWNlOiBwcmU7Ciog
aHRtbCBwcmUgeyB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiBvbGQgSUUgKi8gfQo8L3N0eWxlPgog
ICI7Cn0KCgo=

--b1=_v8LNQTYLsO2eWdPBRIrgpNQHpR16zeDRvTN8SfxStc
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

--b1=_v8LNQTYLsO2eWdPBRIrgpNQHpR16zeDRvTN8SfxStc--