com php-langspec: Specify handling of undefined variables, constants, etc.: spec/07-variables.md
[email protected] (Nikita Popov) Wed, 13 Jul 2016 11:46:09 +0000
| Newsgroups | php.standards.cvs |
|---|---|
| Message-ID | <[email protected]> |
--041ce29325c1081600778350fe19601ce0b080af Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Commit: 48bf751fd190b83cb44d9033b4f56eb8ecf4474b=0AAuthor: Robert Sto= ll <[email protected]> Wed, 13 Jul 2016 13:46:09 +0200=0ACommitter:= Nikita Popov <[email protected]> Wed, 13 Jul 2016 13:46:09 +0200=0AParent= s: 4a0bcfb3c75f08320a05596d3658f6976890c5b9=0ABranches: master=0A=0ALink= : http://git.php.net/?p=3Dphp-langspec.git;a=3Dcommitdiff;h=3D48bf751= fd190b83cb44d9033b4f56eb8ecf4474b=0A=0ALog:=0ASpecify handling of undefined= variables, constants, etc.=0A=0AChanged paths:=0A M spec/07-variables.md= =0A=0A --041ce29325c1081600778350fe19601ce0b080af Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diff_48bf751fd190b83cb44d9033b4f56eb8ecf4474b.txt" ZGlmZiAtLWdpdCBhL3NwZWMvMDctdmFyaWFibGVzLm1kIGIvc3BlYy8wNy12YXJpYWJsZXMubWQK aW5kZXggMDY0YzgyMS4uMGVkNTNkMCAxMDA2NDQKLS0tIGEvc3BlYy8wNy12YXJpYWJsZXMubWQK KysrIGIvc3BlYy8wNy12YXJpYWJsZXMubWQKQEAgLTMsNyArMyw4IEBACiAjI0dlbmVyYWwKIAog QSAqdmFyaWFibGUqIGlzIGEgbmFtZWQgYXJlYSBvZiBkYXRhIHN0b3JhZ2UgdGhhdCBjb250YWlu cyBhIFBIUCB2YWx1ZS4gQSB2YXJpYWJsZSBpcyByZXByZXNlbnRlZCBieSBhIFtWU2xvdF0oMDQt YmFzaWMtY29uY2VwdHMubWQjZ2VuZXJhbCkuIEEgdmFyaWFibGUgaXMgY3JlYXRlZCBieSBbYXNz aWduaW5nIGEgdmFsdWVdKDA0LWJhc2ljLWNvbmNlcHRzLm1kI2Fzc2lnbm1lbnQpIHRvIGl0Lgot QSB2YXJpYWJsZSBpcyBkZXN0cm95ZWQgYnkgKnVuc2V0dGluZyogaXQsIGVpdGhlciBieSBhbiBl eHBsaWNpdCBjYWxsIHRvIHRoZSBpbnRyaW5zaWMgW2B1bnNldGBdKDEwLWV4cHJlc3Npb25zLm1k I3Vuc2V0KSwgb3IgYnkgdGhlIEVuZ2luZS4gVGhlIGludHJpbnNpYyBbYGlzc2V0YF0oMTAtZXhw cmVzc2lvbnMubWQjaXNzZXQpIHRlc3RzIGlmIGEgZ2l2ZW4gdmFyaWFibGUgZXhpc3RzIGFuZCBp cyBub3Qgc2V0IHRvIGBOVUxMYC4gQSB2YXJpYWJsZSB0aGF0IHNvbWVob3cgYmVjb21lcyBkZWZp bmVkLCBidXQgaXMgbm90IGluaXRpYWxpemVkIHN0YXJ0cyBvdXQgd2l0aCB0aGUgdmFsdWUgYE5V TExgLgorQSB2YXJpYWJsZSBpcyBkZXN0cm95ZWQgYnkgKnVuc2V0dGluZyogaXQsIGVpdGhlciBi eSBhbiBleHBsaWNpdCBjYWxsIHRvIHRoZSBpbnRyaW5zaWMgW2B1bnNldGBdKDEwLWV4cHJlc3Np b25zLm1kI3Vuc2V0KSwgb3IgYnkgdGhlIEVuZ2luZS4gVGhlIGludHJpbnNpYyBbYGlzc2V0YF0o MTAtZXhwcmVzc2lvbnMubWQjaXNzZXQpIHRlc3RzIGlmIGEgZ2l2ZW4gdmFyaWFibGUgZXhpc3Rz IGFuZCBpcyBub3Qgc2V0IHRvIGBOVUxMYC4KK0lmIGEgdmFyaWFibGUsIHdoaWNoIGlzIG5vdCBk ZWZpbmVkIHNvIGZhciwgaXMgdXNlZCBpbiBhbiBleHByZXNzaW9uLCB0aGVuIGRpZmZlcmVudCBz dHJhdGVnaWVzIGFyZSBhcHBsaWVkIHdoaWNoIGRldGVybWluZSB3aGV0aGVyIHRoZSB2YXJpYWJs ZSBpcyBkZWZpbmVkIGltcGxpY2l0bHkgb3IgYSBzdWJzdGl0dXRpb24gdmFsdWUgaXMgdXNlZCBp bnN0ZWFkIGFuZCB3aGV0aGVyIGEgbm90aWNlIGlzIGVtaXR0ZWQgb3Igbm90LiBUaGUgc3RyYXRl Z2llcyBkZXBlbmQgb24gdGhlIGtpbmQgb2YgdGhlIHZhcmlhYmxlIGFzIHdlbGwgYXMgb24gdGhl IGNvbnRleHQgd2hlcmUgdGhlIHVuZGVmaW5lZCB2YXJpYWJsZSBpcyBiZWluZyB1c2VkLiBUaGUg c3RyYXRlZ2llcyBhcmUgZWxhYm9yYXRlZCBpbiB0aGUgc3ViLXNlY3Rpb25zIG9mIHRoZSBkaWZm ZXJlbnQgW2tpbmRzIG9mIHZhcmlhYmxlc10oI2tpbmRzLW9mLXZhcmlhYmxlcykgYmVsb3cuCiAK IFZhcmlhYmxlcyBoYXZlIFtuYW1lc10oMDktbGV4aWNhbC1zdHJ1Y3R1cmUubWQjbmFtZXMpLiBE aXN0aW5jdCB2YXJpYWJsZXMgbWF5IGhhdmUKIHRoZSBzYW1lIG5hbWUgcHJvdmlkZWQgdGhleSBh cmUgaW4gZGlmZmVyZW50IFtzY29wZXNdKDA0LWJhc2ljLWNvbmNlcHRzLm1kI3Njb3BlKS4KQEAg LTQ3LDYgKzQ4LDE0IEBAIFNlZSBbY29uc3RhbnRzXSgwNi1jb25zdGFudHMubWQjZ2VuZXJhbCkg YW5kIFtjbGFzcyBjb25zdGFudHNdKDE0LWNsYXNzZXMubWQjY29uCiBBIGNvbnN0YW50IGRlZmlu ZWQgb3V0c2lkZSBvZiBhIGNsYXNzIG9yIGludGVyZmFjZSBpcyBhIFtzdXBlcmdsb2JhbF0oI2dl bmVyYWwpLiBBIGNvbnN0YW50IGhhcyBzdGF0aWMgW3N0b3JhZ2UgZHVyYXRpb25dKDA0LWJhc2lj LWNvbmNlcHRzLm1kI3N0b3JhZ2UtZHVyYXRpb24pCiBhbmQgaXMgYSBub24tbW9kaWZpYWJsZSBs dmFsdWUuCiAKKyoqVW5kZWZpbmVkIENvbnN0YW50cyoqCisKK1VuZGVmaW5lZCBjb25zdGFudHMg YXJlIG5vdCBkZWZpbmVkIGltcGxpY2l0bHkgLS0gZm9yd2FyZCB1c2FnZXMgb2YgY29uc3RhbnRz IGFyZSBhbHNvIGNsYXNzaWZpZWQgYXMgdW5kZWZpbmVkIGNvbnN0YW50cyBoZXJlLiBBIGRpc3Rp bmN0aW9uIGJldHdlZW4gY2xhc3MvaW50ZXJmYWNlIGNvbnN0YW50cyBhbmQgdG9wIGxldmVsIGNv bnN0YW50cyBpcyBtYWRlLgorCitGb3IgdG9wIGxldmVsIGNvbnN0YW50czogdGhlIG5hbWUgb2Yg dGhlIHVuZGVmaW5lZCBjb25zdGFudCAoYXMgc3RyaW5nKSBpcyB1c2VkIGFzIHN1YnN0aXR1dGlv biB2YWx1ZS4gTW9yZW92ZXIsIGEgbm90aWNlIGlzIGVtaXR0ZWQgc3RhdGluZyB0aGF0IHRoZSBj b3JyZXNwb25kaW5nIGNvbnN0YW50IHdhcyB1bmRlZmluZWQuCisKK0ZvciBjbGFzcy9pbnRlcmZh Y2UgY29uc3RhbnRzOiBhIGZhdGFsIGVycm9yIGlzIHByb2R1Y2VkIHN0YXRpbmcgdGhhdCB0aGUg Y29ycmVzcG9uZGluZyBjb25zdGFudCB3YXMgdW5kZWZpbmVkLgorCiAqKkV4YW1wbGVzKioKIAog YGBgUEhQCkBAIC01NCw2ICs2MywyNyBAQCBjb25zdCBNQVhfSEVJR0hUID0gMTAuNTsgICAgICAg IC8vIGRlZmluZSB0d28gYy1jb25zdGFudHMKIGNvbnN0IFVQUEVSX0xJTUlUID0gTUFYX0hFSUdI VDsKIGRlZmluZSgnQ09FRkZJQ0lFTlRfMScsIDIuMzQ1KTsgLy8gZGVmaW5lIHR3byBkLWNvbnN0 YW50cwogZGVmaW5lKCdGQUlMVVJFJywgVFJVRSk7CisKKy8vZXhhbXBsZXMgb2YgdW5kZWZpbmVk IGNvbnN0YW50cworZWNobyBOT05fRVhJU1RJTkdfQ09OU1RBTlQ7ICAgICAvLyB1c2VzICdOT05f RVhJU1RJTkdfQ09OU1RBTlQnIGFzIHN1YnN0aXR1dGlvbgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyB2YWx1ZSBhbmQgZW1pdHMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IHRoZQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdGFudCB3YXMgdW5kZWZpbmVk LgorCitlY2hvIE5PTl9FWElTVElOR19DT05TVEFOVDsgICAgIC8vIHNhbWUgaGVyZSwgdGhlIGNv bnN0YW50IGlzIHN0aWxsIHVuZGVmaW5lZCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gYW5kICdOT05fRVhJU1RJTkdfQ09OU1RBTlQnIGlzIHVzZWQgYXMgCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnN0aXR1dGlvbiB2YWx1ZSBhbmQgYSBub3RpY2Ug aXMgZW1pdHRlZCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWdhaW4uCisK K2VjaG8gTUFYX0xFTkdUSDsgICAgICAgICAgICAgICAgLy8gc2FtZSBoZXJlIGR1ZSB0byBhIGZv cndhcmQgdXNhZ2UgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIChNQVhfTEVO R1RIIGlzIGRlZmluZWQgZnVydGhlciBiZWxvdykuCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vICdNQVhfTEVOR1RIJyBpcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsdWUgYW5kIGFuIG5vdGljZSBpcyBlbWl0dGVk LgorCitjb25zdCBNQVhfTEVOR1RIID0gNy41OworCitlY2hvIEV4Y2VwdGlvbjo6TUVTU0FHRTsg ICAgICAgIC8vIHVuZGVmaW5lZCBjbGFzcyBjb25zdGFudC4gRW1pdHMgYSBmYXRhbCAKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXJyb3IgYW5kIHN0b3BzIGV4ZWN1dGlvbi4K KwogYGBgCiAKICMjI0xvY2FsIFZhcmlhYmxlcwpAQCAtNzEsNiArMTAxLDEwIEBAIHZhcmlhYmxl IGNhbiBiZSBhc3NpZ25lZCB0byBhcyBhIHBhcmFtZXRlciBpbiB0aGUgcGFyYW1ldGVyIGxpc3Qg b2YgYQogaGFzIGZ1bmN0aW9uIFtzY29wZV0oMDQtYmFzaWMtY29uY2VwdHMubWQjc2NvcGUpIGFu ZCBhdXRvbWF0aWMgW3N0b3JhZ2UgZHVyYXRpb25dKDA0LWJhc2ljLWNvbmNlcHRzLm1kI3N0b3Jh Z2UtZHVyYXRpb24pLiBBIGxvY2FsCiB2YXJpYWJsZSBpcyBhIG1vZGlmaWFibGUgbHZhbHVlLgog CisqKlVuZGVmaW5lZCBMb2NhbCBWYXJpYWJsZXMqKgorCitUaGUgc2FtZSBydWxlcyBhcyBmb3Ig W3VuZGVmaW5lZCBnbG9iYWwgdmFyaWFibGVzXSgjdW5kZWZpbmVkLWdsb2JhbC12YXJpYWJsZXMp IGFwcGx5LgorCiAqKkV4YW1wbGVzKioKIAogYGBgUEhQCkBAIC0xMTgsMTEgKzE1MiwzOCBAQCBy ZW1vdmVkIGJ5IGNhbGxpbmcgdGhlIFtgdW5zZXRgIGludHJpbnNpY10oMTAtZXhwcmVzc2lvbnMu bWQjdW5zZXQpLgogVGhlIFtzY29wZV0oMDQtYmFzaWMtY29uY2VwdHMubWQjc2NvcGUpIG9mIGFu IGFycmF5IGVsZW1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIHNjb3BlIG9mIHRoYXQKIGFycmF5J3Mg bmFtZS4gQW4gYXJyYXkgZWxlbWVudCBoYXMgYWxsb2NhdGVkIFtzdG9yYWdlIGR1cmF0aW9uXSgw NC1iYXNpYy1jb25jZXB0cy5tZCNzdG9yYWdlLWR1cmF0aW9uKS4KIAorKipVbmRlZmluZWQgQXJy YXkgRWxlbWVudHMqKgorCitTaW1pbGFyIHRvIFt1bmRlZmluZWQgZ2xvYmFsIHZhcmlhYmxlc10o I3VuZGVmaW5lZC1nbG9iYWwtdmFyaWFibGVzKSwgYSBkaXN0aW5jdGlvbiBpcyBtYWRlIGJhc2Vk IG9uIHRoZSBjb250ZXh0IHdoZXJlIGFuIHVuZGVmaW5lZCBhcnJheSBlbGVtZW50IGlzIHVzZWQu IAorCisqYnlWYWx1ZSBDb250ZXh0KgorCitJZiBvbmUgdHJpZXMgdG8gYWNjZXNzIGFuIHVuZGVm aW5lZCBhcnJheSBlbGVtZW50LCB0aGVuIGBOVUxMYCBpcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2 YWx1ZSBhbmQgYSBub3RpY2UgaXMgZW1pdHRlZCwgc3RhdGluZyB0aGF0IGFuIHVuZGVmaW5lZCBv ZmZzZXQgd2FzIHVzZWQuIFRoZSB1bmRlZmluZWQgb2Zmc2V0IGlzIG5vdCBjcmVhdGVkIGltcGxp Y2l0bHkgYW5kIGEgc3Vic2VxdWVudCBhY2Nlc3MgcmVzdWx0cyBpbiBhbm90aGVyIG5vdGljZS4K KworKmJ5UmVmIENvbnRleHQqCisKK1BIUCBkZWZpbmVzIGltcGxpY2l0bHkgYW4gdW5kZWZpbmVk IGFycmF5IGVsZW1lbnQgd2hlbiBpdCBpcyBhY2Nlc3NlZCBieVJlZiwgYSBWU2xvdCBmb3IgdGhl IGNvcnJlc3BvbmRpbmcgdW5kZWZpbmVkIG9mZnNldCBpcyBjcmVhdGVkIGFuZCBgTlVMTGAgaXMg YXNzaWduZWQgdG8gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQgaW4gdGhpcyBjYXNlLgor CiAqKkV4YW1wbGVzKioKIAogYGBgUEhQCiAkY29sb3JzID0gWyJyZWQiLCAid2hpdGUiLCAiYmx1 ZSJdOyAvLyBjcmVhdGUgYXJyYXkgd2l0aCAzIGVsZW1lbnRzCiAkY29sb3JzW10gPSAiZ3JlZW4i OyAgICAgICAgICAgICAgICAvLyBpbnNlcnQgYSBuZXcgZWxlbWVudAorCitlY2hvICRjb2xvcnNb MTAwXTsgICAgICAvLyBlbGVtZW50IHdpdGggb2Zmc2V0IDEwMCBpcyB1bmRlZmluZWQgYW5kIE5V TEwgaXMgCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2 YWx1ZS4gTW9yZW92ZXIsIGEgbm90aWNlIGlzIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8g ZW1pdHRlZCBzdGF0aW5nIHRoYXQgYW4gdW5kZWZpbmVkIG9mZnNldCB3YXMgdXNlZC4KKworZWNo byAkY29sb3JzWzEwMF07ICAgICAgLy8gZWxlbWVudCB3aXRoIG9mZnNldCAxMDAgaXMgc3RpbGwg dW5kZWZpbmVkIGFuZCBOVUxMIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgdXNlZCBh cyBzdWJzdGl0dXRpb24gdmFsdWUgaW5zdGVhZC4gQW5vdGhlciAKKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vIG5vdGljZSBpcyBlbWl0dGVkLgorCiskYiA9ICZjb2xvcnNbMTAwXTsgICAgICAv LyBhIFZTbG90IGZvciAkYiBpcyBjcmVhdGVkIHdoaWNoIHBvaW50cyB0byB0aGUgYXJyYXkgCisg ICAgICAgICAgICAgICAgICAgICAgICAvLyBlbGVtZW50IHdpdGggdGhlIG9mZnNldCAxMDAuIEFu IGFycmF5IGVsZW1lbnQgd2l0aCAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mZnNldCAx MDAgd2FzIHVuZGVmaW5lZCBidXQgaW1wbGljaXRseSBkZWZpbmVkIAorICAgICAgICAgICAgICAg ICAgICAgICAgLy8gYmVjYXVzZSB0aGUgYXNzaWdubWVudCBpcyBieVJlZi4gVGh1cyBhIFZTbG90 IGZvciAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBhcnJheSBlbGVtZW50IHdpdGgg b2Zmc2V0IDEwMCBpcyBjcmVhdGVkIGFuZCAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5V TEwgaXMgYXNzaWduZWQgdG8gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQuCiBgYGAKIAog IyMjRnVuY3Rpb24gU3RhdGljcwpAQCAtMTY2LDYgKzIyNywxMCBAQCBkZWNsYXJhdGlvbiBpcyBj YWxsZWQsIHRoYXQgZXhlY3V0aW9uIGlzIGRlYWxpbmcgd2l0aCBhbiBbYWxpYXNdKDA0LWJhc2lj LWNvbmNlcAogdG8gdGhhdCBzdGF0aWMgdmFyaWFibGUuIElmIHRoYXQgYWxpYXMgaXMgcGFzc2Vk IHRvIHRoZSBbYHVuc2V0YCBpbnRyaW5zaWNdKDEwLWV4cHJlc3Npb25zLm1kI3Vuc2V0KSwKIG9u bHkgdGhhdCBhbGlhcyBpcyBkZXN0cm95ZWQuIFRoZSBuZXh0IHRpbWUgdGhhdCBmdW5jdGlvbiBp cyBjYWxsZWQsIGEgbmV3IGFsaWFzIGlzIGNyZWF0ZWQuCiAKKyoqVW5kZWZpbmVkIEZ1bmN0aW9u IFN0YXRpY3MqKgorCitGdW5jdGlvbiBzdGF0aWNzIGFyZSBleHBsaWNpdGx5IGRlZmluZWQgYW5k IHRodXMgY2Fubm90IGJlIHVuZGVmaW5lZC4KKwogKipFeGFtcGxlcyoqCiAKIGBgYFBIUApAQCAt MjYxLDYgKzMyNiw4MyBAQCBnbG9iYWwgdmFyaWFibGUuIElmIHRoYXQgYWxpYXMgaXMgcGFzc2Vk IHRvIHRoZSBbYHVuc2V0YCBpbnRyaW5zaWNdKDEwLWV4cHJlc3Npbwogb25seSB0aGF0IGFsaWFz IGlzIGRlc3Ryb3llZC4gVGhlIG5leHQgdGltZSB0aGF0IGZ1bmN0aW9uCiBpcyBjYWxsZWQsIGEg bmV3IGFsaWFzIGlzIGNyZWF0ZWQgd2l0aCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2xvYmFs IHZhcmlhYmxlLgogCis8YSBuYW1lPSJ1bmRlZmluZWQtZ2xvYmFsLXZhcmlhYmxlcyI+PC9hPgor KipVbmRlZmluZWQgR2xvYmFsIFZhcmlhYmxlcyoqCitBIGRpc3RpbmN0aW9uIGlzIG1hZGUgYmFz ZWQgb24gdGhlIGNvbnRleHQgd2hlcmUgYW4gdW5kZWZpbmVkIGdsb2JhbCB2YXJpYWJsZSBpcyB1 c2VkLiAKKworKmJ5VmFsIENvbnRleHQqCisKK1BIUCBkb2VzIG5vdCBpbXBsaWNpdGx5IGRlZmlu ZSBhbiB1bmRlZmluZWQgZ2xvYmFsIHZhcmlhYmxlIGFuZCB1c2VzIGBOVUxMYCBhcyBzdWJzdGl0 dXRpb24gdmFsdWUgaW5zdGVhZC4gRnVydGhlcm1vcmUsIGEgbm90aWNlIGlzIGVtaXR0ZWQsIHN0 YXRpbmcgdGhhdCB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSB3YXMgdW5kZWZpbmVkLCB1bmxl c3MgdGhlIHZhcmlhYmxlIGlzIHVzZWQKKworMS4gYXMgdGhlIHNpbmdsZSBleHByZXNzaW9uIGlu IGEgc3RhdGVtZW50LgorMi4gYXMgYXJndW1lbnQgb2YgW2lzc2V0XSgxMC1leHByZXNzaW9ucy5t ZCNpc3NldCkuCiszLiBhcyBhcmd1bWVudCBvZiBbZW1wdHldKDEwLWV4cHJlc3Npb25zLm1kI2Vt cHR5KS4KKzQuIGFzIHRoZSBsZWZ0IGhhbmQgc2lkZSBvZiB0aGUgW2NvYWxlc2NlIG9wZXJhdG9y IGA/P2BdKDEwLWV4cHJlc3Npb25zLm1kI2NvYWxlc2NlLW9wZXJhdG9yKS4KKworU2luY2UgdW5k ZWZpbmVkIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBkZWZpbmVkIGltcGxpY2l0bHksIHRoZXkg c3RheSB1bmRlZmluZWQuIEluIGdlbmVyYWwsIGEgVlNsb3QgaXMgbm90IGNyZWF0ZWQgZm9yIHVu ZGVmaW5lZCB2YXJpYWJsZXMgdXNlZCBpbiBhIGJ5VmFsdWUgY29udGV4dC4KKworKmJ5UmVmIENv bnRleHQqCisKK0lmIHRoZSB1bmRlZmluZWQgdmFyaWFibGUgaXMgdXNlZCBpbiBhIFtieVJlZiBj b250ZXh0XSgwNC1iYXNpYy1jb25jZXB0cyNieVJlZikgdGhlbiBQSFAgZGVmaW5lcyB0aGUgdmFy aWFibGUgaW1wbGljaXRseS4gSGVuY2UsIGEgVlNsb3QgaXMgY3JlYXRlZCBmb3IgaXQgYW5kIGBO VUxMYCBpcyBzdG9yZWQgaW4gaXQuIEEgbm90aWNlIGlzICpub3QqIGVtaXR0ZWQgaW4gc3VjaCBh IGNhc2UuCisKKypFeGFtcGxlcyBvZiBVbmRlZmluZWQgVmFyaWFibGVzKgorCitGb2xsb3dpbmcg c29tZSBleGFtcGxlcyB3aGljaCBvdXRsaW5lcyB0aGUgYmVoYXZpb3VyIHdpdGggdW5kZWZpbmVk IGdsb2JhbCB2YXJpYWJsZXMuCisKK2BgYFBIUAorLy8gVGhlIGZvbGxvd2luZyA0IGNhc2VzIG91 dGxpbmUgdGhlIGV4Y2VwdGlvbnMgb2YgdW5kZWZpbmVkIHZhcmlhYmxlcworLy8gdXNlZCBpbiBi eVZhbHVlIGNvbnRleHQgd2hlcmUgbm8gbm90aWNlIGlzIGVtaXR0ZWQuCiskYTsgICAgICAgIAor aXNzZXQoJGEpOworZW1wdHkoJGEpOworJGEgPz8gJ2RlZmF1bHQgVmFsdWUnOworCiskYSA9IDE7 ICAgIC8vIGEgVlNsb3QgZm9yICRhIHdhcyBjcmVhdGVkIGFuZCAxIHdhcyBhc3NpZ25lZC4KKwor JGIgPSAkYzsgICAvLyBhIFZTbG90IGZvciAkYiB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVlIG9m ICRjIHdhcyBhc3NpZ25lZCB0bworICAgICAgICAgICAvLyBpdC4gQnV0IGJlY2F1c2UgJGMgaW4g dHVybiB3YXMgdW5kZWZpbmVkLCBOVUxMIHdhcyB1c2VkIGFzIAorICAgICAgICAgICAvLyBzdWJz dGl0dXRpb24gdmFsdWUgaW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyAKKyAgICAg ICAgICAgLy8gZW1pdHRlZCBzdGF0aW5nIHRoYXQgJGMgd2FzIHVuZGVmaW5lZC4gCisKKyRkID0g JGM7ICAgLy8gYSBWU2xvdCBmb3IgJGQgd2FzIGNyZWF0ZWQgYW5kIHRoZSB2YWx1ZSBvZiAkYyB3 YXMgYXNzaWduZWQgdG8gCisgICAgICAgICAgIC8vIGl0LiBCdXQgc2luY2UgJGMgaXMgc3RpbGwg dW5kZWZpbmVkLCBOVUxMIHdhcyB1c2VkIGFzIAorICAgICAgICAgICAvLyBzdWJzdGl0dXRpb24g dmFsdWUgaW5zdGVhZCBhbmQgYW5vdGhlciBub3RpY2Ugd2FzIGVtaXR0ZWQgCisgICAgICAgICAg IC8vIHN0YXRpbmcgJGMgd2FzIHVuZGVmaW5lZC4gCisKKyRkICsgJGU7ICAgLy8gJGUgd2FzIHVu ZGVmaW5lZCBhbmQgYE5VTExgIHdhcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2YWx1ZSAKKyAgICAg ICAgICAgLy8gaW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyBlbWl0dGVkIHN0YXRp bmcgdGhhdCAKKyAgICAgICAgICAgLy8gJGUgd2FzIHVuZGVmaW5lZC4KKworJGYgPSAmJGc7ICAv LyBhIFZTbG90IGZvciAkZiB3YXMgY3JlYXRlZCB3aGljaCBwb2ludHMgdG8gdGhlIFZTbG90IG9m ICRnLgorICAgICAgICAgICAvLyAkZyBpbiB0dXJuIHdhcyB1bmRlZmluZWQgYnV0IHdhcyBkZWZp bmVkIGltcGxpY2l0bHkgYmVjYXVzZSB0aGUgCisgICAgICAgICAgIC8vIGFzc2lnbm1lbnQgd2Fz IGJ5UmVmLiBUaHVzIGEgVlNsb3QgZm9yICRnIHdhcyBjcmVhdGVkIGFuZCBgTlVMTGAKKyAgICAg ICAgICAgLy8gd2FzIGFzc2lnbmVkIHRvIGl0LiBBIG5vdGljZSB3YXMgKm5vdCogZW1pdHRlZC4K KworJGggPSAkZzsgICAvLyBhIFZTbG90IGZvciAkaCB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVl IG9mICRnICh3aGljaCBpcyBOVUxMKSAKKyAgICAgICAgICAgLy8gd2FzIGFzc2lnbmVkIHRvIGl0 LgorCitmdW5jdGlvbiBmb28oJHgpe30KKworZm9vKCRpKTsgICAvLyAkaSB3YXMgdW5kZWZpbmVk IGFuZCBOVUxMIHdhcyB1c2VkIGFzIHN1YnN0aXR1dGlvbiB2YWx1ZSAKKyAgICAgICAgICAgLy8g aW5zdGVhZC4gSW4gYWRkaXRpb24sIGEgbm90aWNlIHdhcyBlbWl0dGVkIHN0YXRpbmcgdGhhdCAk aSAKKyAgICAgICAgICAgLy8gd2FzIHVuZGVmaW5lZC4KKworJGogPSAkaTsgICAvLyBhIFZTbG90 IGZvciAkaiB3YXMgY3JlYXRlZCBhbmQgdGhlIHZhbHVlIG9mICRpIHdhcyBhc3NpZ25lZCB0byAK KyAgICAgICAgICAgLy8gaXQuIEJ1dCBiZWNhdXNlICRpIGluIHR1cm4gd2FzIHN0aWxsIHVuZGVm aW5lZCwgTlVMTCB3YXMgdXNlZCAKKyAgICAgICAgICAgLy8gYXMgc3Vic3RpdHV0aW9uIHZhbHVl IGluc3RlYWQuIEFub3RoZXIgbm90aWNlIHdhcyBlbWl0dGVkIAorICAgICAgICAgICAvLyBzdGF0 aW5nIHRoYXQgJGkgd2FzIHVuZGVmaW5lZC4KKworZnVuY3Rpb24gYmFyKCYkeCl7fQorCitiYXIo JGspOyAgIC8vICRrIHdhcyB1bmRlZmluZWQgYnV0IGltcGxpY2l0bHkgZGVmaW5lZCBiZWNhdXNl IGl0IHdhcyBwYXNzZWQgdG8gCisgICAgICAgICAgIC8vIHRoZSBmdW5jdGlvbiBiYXIgYnlSZWYu IFRodXMgYSBWU2xvdCBmb3IgJGsgd2FzIGNyZWF0ZWQgYW5kIAorICAgICAgICAgICAvLyBOVUxM IHdhcyBhc3NpZ25lZCB0byBpdC4gQSBub3RpY2Ugd2FzICpub3QqIGVtaXR0ZWQuCisKKyRsID0g JGs7ICAgLy8gYSBWU2xvdCBmb3IgJGwgd2FzIGNyZWF0ZWQgYW5kIHRoZSB2YWx1ZSBvZiAkayAo d2hpY2ggaXMgTlVMTCkgCisgICAgICAgICAgIC8vIHdhcyBhc3NpZ25lZCB0byBpdC4KKworYGBg CisKICoqRXhhbXBsZXMqKgogCiBgYGBQSFA= --041ce29325c1081600778350fe19601ce0b080af--