Re: [patch] python support configuration for FreeBSD64 broken, other BSDs not supported
Emmanuel Briot <[email protected]> Tue, 11 Oct 2011 14:49:31 +0200
| Newsgroups | gmane.comp.ide.gps.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------000007000103090806090601 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > Thanks Emmanuel, > I'll consider this a "5.0.1" issue only then. > I have a couple of other patches on a different topic that I'll send > along soon. I forgot to send you the current aclocal.m4, if you want to test on FreeBSD. I have used it successfully on our own FreeBSD machines, but that's not a system we use a lot, so there might be differences on your own machine. Eagerly waiting for the next patches :-) Emmanuel --------------000007000103090806090601 Content-Type: application/x-m4; name="aclocal.m4" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="aclocal.m4" IyMgVGhpcyBmaWxlIGNvbnRhaW5zIHZhcmlvdXMgbTQgbWFjcm9zIHRoYXQgY2FuIGJlIGlu Y2x1ZGVkIGluIHlvdXIKIyMgb3duIHByb2plY3RzIHRvIGVuYWJsZSBwcm9wZXIgZGV0ZWN0 aW9uIG9mIHRoZSBzY3JpcHRpbmcgbGFuZ3VhZ2VzCiMjIEluIHlvdXIgb3duIGFjbG9jYWwu bTQgZmlsZSwgeW91IGNhbiB1c2Ugc3ludGF4IGxpa2UKIyMgICBpbmNsdWRlKGduYXRjb2xs L2FjbG9jYWwubTQpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHkgYSBmaWxlLCBhcyBwYXJ0IG9mIGNvbmZp Zy5zdGF0dXMKIyAgQU1fTElOS19GSUxFKFNPVVJDRSxERVNUKQojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKQUNfREVG VU4oQU1fTElOS19GSUxFLApbCiAgIEFDX0NPTkZJR19DT01NQU5EUyhbJDJdLAogICAgICAg ICAgICAgICAgICAgICAgW3JtIC1mICQyCiAgICAgICAgICAgICAgICAgICAgICAgY3AgLWYg JDEgJDJdLCBbJDNdKQpdKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDaGVja2luZyBmb3IgYnVpbGQgdHlwZQoj IFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgaXMgZXhwb3J0ZWQgYnkgY29uZmlndXJlOgojICAg QEJVSUxEX1RZUEVAOiBlaXRoZXIgIlByb2R1Y3Rpb24iIG9yICJEZWJ1ZyIKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CkFDX0RFRlVOKENIRUNLX0JVSUxEX1RZUEUsClsKICBBQ19BUkdfRU5BQkxFKGJ1aWxkLAog ICAgW0FDX0hFTFBfU1RSSU5HKAogICAgICAgWy0tZW5hYmxlLWJ1aWxkPTx0eXBlPl0sCiAg ICAgICBbRGVmYXVsdCBidWlsZCB0eXBlIGZvciB0aGUgbGlicmFyeSAoRGVidWcsIFByb2R1 Y3Rpb24pXSldLAogICAgQlVJTERfVFlQRT0kZW5hYmxldmFsLAogICAgQlVJTERfVFlQRT1Q cm9kdWN0aW9uKQogIEFDX1NVQlNUKEJVSUxEX1RZUEUpCl0pCgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQ2hlY2sg d2hldGhlciBnbmF0bWFrZSBjYW4gY29tcGlsZSwgYmluZCBhbmQgbGluayBhbiBBZGEgcHJv Z3JhbQojICAgIEFNX1RSWV9BREEoZ25hdG1ha2UsZmlsZW5hbWUsY29udGVudCxzdWNjZXNz LGZhaWx1cmUpCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCkFDX0RFRlVOKEFNX1RSWV9BREEsClsKICAgbWtkaXIgY29u ZnRlc3QKICAgY2F0ID4gY29uZnRlc3Qvc3JjLmFkYSA8PEVPRgpbJDNdCkVPRgogICBpZiBB Q19UUllfQ09NTUFORChbY2QgY29uZnRlc3QgJiYgZ25hdGNob3AgLXEgc3JjLmFkYSAmJiAk MSAkMiA+L2Rldi9udWxsIDI+Li4vY29uZnRlc3Qub3V0XSkKICAgdGhlbgogICAgICA6IFN1 Y2Nlc3MKICAgICAgJDQKICAgZWxzZQogICAgICA6IEZhaWx1cmUKICAgICAgJDUKICAgZmkK ICAgcm0gLXJmIGNvbmZ0ZXN0KgpdKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENoZWNrIHdoZXRoZXIgcGxhdGZv cm0vR05BVCBzdXBwb3J0cyBhdG9taWMgaW5jcmVtZW50L2RlY3JlbWVudAojIG9wZXJhdGlv bnMuCiMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBpcyB0aGVuIHNldDoKIyAgICAgU1lOQ19D T1VOVEVSU19JTVBMCiMgdG8gZWl0aGVyICJpbnRyaW5zaWMiIG9yICJtdXRleCIKIyBDb2Rl IGNvbWVzIGZyb20gdGhlIHBvbHlvcmIgY29uZmlndXJlLmFjCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkFDX0RFRlVO KEFNX0hBU19JTlRSSU5TSUNfU1lOQ19DT1VOVEVSUywKWwogIEFDX01TR19DSEVDS0lORyhb d2hldGhlciBwbGF0Zm9ybSBzdXBwb3J0cyBhdG9taWMgaW5jL2RlY10pCiAgQU1fVFJZX0FE QShbZ25hdG1ha2VdLCBbY2hlY2suYWRiXSwKWwp3aXRoIEludGVyZmFjZXM7IHVzZSBJbnRl cmZhY2VzOwpwcm9jZWR1cmUgQ2hlY2sgaXMKICAgZnVuY3Rpb24gU3luY19BZGRfQW5kX0Zl dGNoCiAgICAgKFB0ciAgIDogYWNjZXNzIEludGVyZmFjZXMuSW50ZWdlcl8zMjsKICAgICAg VmFsdWUgOiBJbnRlcmZhY2VzLkludGVnZXJfMzIpIHJldHVybiBJbnRlcmZhY2VzLkludGVn ZXJfMzI7CiAgIHByYWdtYSBJbXBvcnQgKEludHJpbnNpYywgU3luY19BZGRfQW5kX0ZldGNo LCAiX19zeW5jX2FkZF9hbmRfZmV0Y2hfNCIpOwogICBYIDogYWxpYXNlZCBJbnRlcmZhY2Vz LkludGVnZXJfMzI7CiAgIFkgOiBJbnRlcmZhY2VzLkludGVnZXJfMzIgOj0gMDsKICAgcHJh Z21hIFZvbGF0aWxlIChZKTsKICAgLS0gIE9uIHNvbWUgcGxhdGZvcm1zIChlLmcuIGkzODYp LCBHQ0MgaGFzIGxpbWl0ZWQgc3VwcG9ydCBmb3IKICAgLS0gIF9fc3luY19hZGRfYW5kX2Zl dGNoXzQgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSByZXN1bHQgaXMgbm90IHVzZWQuCiAgIC0t ICBIZXJlIHdlIHdhbnQgdG8gdGVzdCBmb3IgZ2VuZXJhbCBhdmFpbGFiaWxpdHksIHNvIG1h a2UgWSB2b2xhdGlsZSB0bwogICAtLSAgcHJldmVudCB0aGUgc3RvcmUgb3BlcmF0aW9uIGZy b20gYmVpbmcgZGlzY2FyZGVkLgpiZWdpbgogICBZIDo9IFN5bmNfQWRkX0FuZF9GZXRjaCAo WCdBY2Nlc3MsIDEpOwplbmQgQ2hlY2s7Cl0sClsKICAgQUNfTVNHX1JFU1VMVCh5ZXMpCiAg IFNZTkNfQ09VTlRFUlNfSU1QTD0iaW50cmluc2ljIgpdLFsKICAgQUNfTVNHX1JFU1VMVChu bykKICAgU1lOQ19DT1VOVEVSU19JTVBMPSJtdXRleCIKXSkKCiAgIEFDX1NVQlNUKFNZTkNf Q09VTlRFUlNfSU1QTCkKXSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDaGVjayB3aGV0aGVyIHdlIGhhdmUgdGhl IEdOQVQgc291cmNlcyBhdmFpbGFibGUKIyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUg ZXhwb3J0ZWQgYnkgY29uZmlndXJlOgojICAgQFdJVEhfUFJPSkVDVFNAOiAieWVzIiBvciAi bm8iCiMgICBHTkFUX1NPVVJDRVM6ICJnbmF0X3V0aWwiLCAiY29weSIsICJubyIKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwoKQUNfREVGVU4oQU1fR05BVF9TT1VSQ0VTLApbCiAgQUNfTVNHX0NIRUNLSU5HKHdoZXRo ZXIgZ25hdCBzb3VyY2VzIGFyZSBmb3VuZCkKICBpZiB0ZXN0IC1kIGduYXRfc3JjOyB0aGVu CiAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCiAgICAgSEFTX0dOQVRfU09VUkNFUz15ZXMKICAg ICBHTkFUX1NPVVJDRVM9Y29weQogIGVsc2UKICAgICBBQ19NU0dfUkVTVUxUKG5vKQoKICAg ICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBnbmF0X3V0aWwgZXhpc3RzKQogICAgIEFNX1BB VEhfUFJPSkVDVChnbmF0X3V0aWwsIEhBVkVfR05BVF9VVElMKQogICAgIGlmIHRlc3QgIiRI QVZFX0dOQVRfVVRJTCIgPSAieWVzIjsgdGhlbgogICAgICAgIEFDX01TR19SRVNVTFQoeWVz KTsKICAgICAgICBIQVNfR05BVF9TT1VSQ0VTPXllcwogICAgICAgIEdOQVRfU09VUkNFUz1n bmF0X3V0aWwKICAgICBlbHNlCiAgICAgICAgQUNfTVNHX1JFU1VMVChubykKICAgICAgICBI QVNfR05BVF9TT1VSQ0VTPW5vCiAgICAgICAgR05BVF9TT1VSQ0VTPWNvcHkKICAgICBmaQog IGZpCgogIEFDX1NVQlNUKEdOQVRfU09VUkNFUykKXSkKCkFDX0RFRlVOKEFNX1BST0pFQ1RT LApbCiAgIyBBbGxvdyB0aGUgdXNlciB0byBkaXNhYmxlIHByb2plY3RzIHN1cHBvcnQgc28g dGhhdCBnbmF0Y29sbCBkb2VzIG5vdCBkZXBlbmQKICAjIG9uIHRoZSBpbnN0YWxsZWQgZ25h dCBjb21waWxlciAoZ25hdF91dGlscyBwcm9qZWN0KQogIEFDX0FSR19FTkFCTEUocHJvamVj dHMsCiAgICBBQ19IRUxQX1NUUklORygKICAgICAgWy0tZGlzYWJsZS1wcm9qZWN0c10sCiAg ICAgIFtEaXNhYmxlIHN1cHBvcnQgZm9yIEdOQVQgUHJvamVjdHMgW1tkZWZhdWx0PWVuYWJs ZWRdXV0pLAogICAgW1dJVEhfUFJPSkVDVFM9JGVuYWJsZXZhbF0sCiAgICBbV0lUSF9QUk9K RUNUUz0kSEFTX0dOQVRfU09VUkNFU10pCgogIEFDX1NVQlNUKFdJVEhfUFJPSkVDVFMpCl0p CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMgQ2hlY2sgd2hldGhlciBHTkFUIG9uIHRoYXQgdGFyZ2V0IHN1cHBvcnRz IGJ1aWxkaW5nIHNoYXJlZAojIGxpYnJhcmllcwojIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVz IGFyZSBleHBvcnRlZCBieSBjb25maWd1cmU6CiMgICBAR05BVF9CVUlMRFNfU0hBUkVEQDog ZWl0aGVyICJ5ZXMiIG9yICJubyIKIyAgIEBERUZBVUxUX0xJQlJBUllfVFlQRUA6IGVpdGhl ciAic3RhdGljIiBvciAicmVsb2NhdGFibGUiCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkFDX0RFRlVOKEFNX0dOQVRf QlVJTERTX1NIQVJFRCwKWwogICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBnbmF0IGNhbiBi dWlsZCBzaGFyZWQgbGlicykKCiAgIERFRkFVTFRfTElCUkFSWV9UWVBFPXN0YXRpYwoKICAg QUNfQVJHX0VOQUJMRShzaGFyZWQsCiAgICAgW0FDX0hFTFBfU1RSSU5HKAogICAgICAgIFst LWRpc2FibGUtc2hhcmVkXSwKICAgICAgICBbRGlzYWJsZSBidWlsZGluZyBvZiBzaGFyZWQg bGlicmFyaWVzXSkKQUNfSEVMUF9TVFJJTkcoCiAgICAgICAgWy0tZW5hYmxlLXNoYXJlZF0s CiAgICAgICAgW0J1aWxkIHNoYXJlZCBsaWJyYXJpZXMgaWYgc3VwcG9ydGVkIG9uIHRoZSB0 YXJnZXQKTWFrZSB0aGVtIHRoZSBpbnN0YWxsYXRpb24gZGVmYXVsdF0pXSwKICAgICBbR05B VF9CVUlMRFNfU0hBUkVEPSRlbmFibGV2YWwKICAgICAgaWYgdGVzdCAkZW5hYmxldmFsID0g eWVzOyB0aGVuCiAgICAgICAgIERFRkFVTFRfTElCUkFSWV9UWVBFPXJlbG9jYXRhYmxlCiAg ICAgIGZpXSwKICAgICBbR05BVF9CVUlMRFNfU0hBUkVEPXllc10pCgogICBpZiB0ZXN0IHgk R05BVF9CVUlMRFNfU0hBUkVEID0geHllczsgdGhlbgogICAgICAjIENyZWF0ZSBhIHRlbXBv cmFyeSBkaXJlY3RvcnkgKGZyb20gImluZm8gYXV0b2NvbmYiKQogICAgICA6ICR7VE1QRElS PS90bXB9CiAgICAgIHsKICAgICAgICB0bXA9YCh1bWFzayAwNzcgJiYgbWt0ZW1wIC1kICIk VE1QRElSL2Zvb1hYWFhYWCIpIDI+L2Rldi9udWxsYCBcCiAgICAgICAgICAgJiYgdGVzdCAt biAiJHRtcCIgJiYgdGVzdCAtZCAiJHRtcCIKICAgICAgfSB8fCB7CiAgICAgICAgdG1wPSRU TVBESVIvZm9vJCQtJFJBTkRPTQogICAgICAgICh1bWFzayAwNzcgJiYgbWtkaXIgLXAgIiR0 bXAiKQogICAgICB9IHx8IGV4aXQgJD8KCiAgICAgIG1rZGlyICR0bXAvbGliCiAgICAgIGVj aG8gInBhY2thZ2UgRm9vIGlzIGVuZCBGb287IiA+ICR0bXAvZm9vLmFkcwogICAgICBjYXQg PiAkdG1wL2xpYi5ncHIgPDxFT0YKcHJvamVjdCBMaWIgaXMKICAgZm9yIFNvdXJjZV9EaXJz IHVzZSAoIi4iKTsKICAgZm9yIExpYnJhcnlfRGlyIHVzZSAibGliIjsKICAgZm9yIExpYnJh cnlfTmFtZSB1c2UgImxpYiI7CiAgIGZvciBMaWJyYXJ5X0tpbmQgdXNlICJyZWxvY2F0YWJs ZSI7CmVuZCBMaWI7CkVPRgoKICAgICAgZ25hdG1ha2UgLWMgLXEgLVAkdG1wL2xpYiAyPi9k ZXYvbnVsbAogICAgICBpZiB0ZXN0ICQ/ID0gMCA7IHRoZW4KICAgICAgICAgR05BVF9CVUlM RFNfU0hBUkVEPXllcwogICAgICBlbHNlCiAgICAgICAgIEdOQVRfQlVJTERTX1NIQVJFRD1u bwogICAgICAgICBERUZBVUxUX0xJQlJBUllfVFlQRT1zdGF0aWMKICAgICAgZmkKICAgICAg cm0gLXJmICR0bXAKICAgICAgQUNfTVNHX1JFU1VMVCgkR05BVF9CVUlMRFNfU0hBUkVEKQog ICBlbHNlCiAgICAgIEFDX01TR19SRVNVTFQoW25vICgtLWRpc2FibGVkLXNoYXJlZCldKQog ICBmaQoKICAgQUNfU1VCU1QoR05BVF9CVUlMRFNfU0hBUkVEKQogICBBQ19TVUJTVChERUZB VUxUX0xJQlJBUllfVFlQRSkKXSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDaGVja2luZyBmb3Igc3lzbG9nCiMg VGhpcyBjaGVja3Mgd2hldGhlciBzeXNsb2cgZXhpc3RzIG9uIHRoaXMgc3lzdGVtLgojIFRo aXMgbW9kdWxlIGNhbiBiZSBkaXNhYmxlZCB3aXRoCiMgICAgLS1kaXNhYmxlLXN5c2xvZwoj IFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBleHBvcnRlZCBieSBjb25maWd1cmU6CiMg ICAgQFdJVEhfU1lTTE9HQDogZWl0aGVyICJ5ZXMiIG9yICJubyIKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBQ19ERUZV TihBTV9QQVRIX1NZU0xPRywKWwogICBBQ19BUkdfRU5BQkxFKHN5c2xvZywKICAgICBBQ19I RUxQX1NUUklORygKICAgICAgICBbLS1kaXNhYmxlLXN5c2xvZ10sCiAgICAgICAgW0Rpc2Fi bGUgc3VwcG9ydCBmb3Igc3lzbG9nIFtbZGVmYXVsdD1lbmFibGVkXV1dKSwKICAgICBbV0lU SF9TWVNMT0c9JGVuYWJsZXZhbF0sCiAgICAgW1dJVEhfU1lTTE9HPXllc10pCgogICBpZiB0 ZXN0IHgkV0lUSF9TWVNMT0cgPSB4eWVzIDsgdGhlbgogICAgIEFDX0NIRUNLX0hFQURFUihb c3lzbG9nLmhdLAogICAgICAgICAgICAgICAgICAgICBbV0lUSF9TWVNMT0c9eWVzXSwKICAg ICAgICAgICAgICAgICAgICAgW1dJVEhfU1lTTE9HPW5vXSkKICAgZmkKCiAgIEFDX1NVQlNU KFdJVEhfU1lTTE9HKQpdKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNlYXJjaCBmb3IgYSBsaWJyYXJ5IGFueXdo ZXJlIG9uIExEX0xJQlJBUllfUEFUSAojIFRoaXMgd2lsbCByZXR1cm4gdGhlIGVtcHR5IHN0 cmluZyBpZiBub3QgZm91bmQsIGFuZCB0aGUgZGlyZWN0b3J5CiMgb3RoZXJ3aXNlLgojIFRo aXMgY2FuIGJlIHVzZWQgdG8gYWRkIC1MZGlyIHBhcmFtZXRlcnMgb24gdGhlIGNvbW1hbmQg bGluZTogaWYKIyB0aGUgbGlicmFyeSB3YXMgZm91bmQgd2l0aCBBQ19DSEVDS19MSUIgYnV0 IG5vdCB0aGlzIG1hY3JvLCB0aGlzCiMgbWVhbnMgaXQgaXMgaW4gdGhlIHN0YW5kYXJkIHNl YXJjaCBwYXRoIGFuZCBubyBjb21tYW5kIGxpbmUgc3dpdGNoCiMgaXMgcmVxdWlyZWQuCiMg ICAgQU1fTElCX1BBVEgobGlibmFtZSkKIyBTZXRzIGFtX3BhdGhfPGxpYm5hbWU+IHRvIHRo ZSBwYXRoCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKCkFDX0RFRlVOKEFNX0xJQl9QQVRILApbCiAgIGFtX3BhdGhfJDE9 IiIKICAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogICBmb3IgbGli X2RpciBpbiAkTERfTElCUkFSWV9QQVRICiAgIGRvCiAgICAgIElGUz0kYXNfc2F2ZV9JRlMK ICAgICAgaWYgdGVzdCAtZiAiJGxpYl9kaXIvbGliJDEuc28iOyB0aGVuCiAgICAgICAgIGFt X3BhdGhfJDE9JGxpYl9kaXIKICAgICAgICAgYnJlYWsKICAgICAgZWxpZiB0ZXN0IC1mICIk bGliX2Rpci9saWIkMS5kbGwiOyB0aGVuCiAgICAgICAgIGFtX3BhdGhfJDE9JGxpYl9kaXIK ICAgICAgICAgYnJlYWsKICAgICAgZWxpZiB0ZXN0IC1mICIkbGliX2Rpci9saWIkMS5keWxp YiI7IHRoZW4KICAgICAgICAgYW1fcGF0aF8kMT0kbGliX2RpcgogICAgICAgICBicmVhawog ICAgICBmaQogICBkb25lCiAgIElGUz0kYXNfc2F2ZV9JRlMKXSkKCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDaGVj a2luZyBmb3IgcG9zdGdyZVNRTAojIFRoaXMgY2hlY2tzIHdoZXRoZXIgdGhlIGxpYnBxIGV4 aXN0cyBvbiB0aGlzIHN5c3RlbQojIFRoaXMgbW9kdWxlIGNhbiBiZSBkaXNhYmxlZCB3aXRo CiMgICAgLS13aXRoLXBvc3RncmVzcWw9cGF0aAojIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVz IGFyZSBleHBvcnRlZCBieSBjb25maWd1cmU6CiMgICBAV0lUSF9QT1NUR1JFU0A6IHdoZXRo ZXIgcG9zdGdyZXMgd2FzIGRldGVjdGVkCiMgICBAUEFUSF9MSUJQUUA6IHBhdGggdG8gbGli cHEsIG9yICIiIGlmIG5vdCBmb3VuZAojICAgQEhBU19QUVBSRVBBUkVAOiB3aGV0aGVyIHRo ZSB2ZXJzaW9uIG9mIHBvc3RncmVTUUwgaGFzIFBRcHJlcGFyZSAoKQojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBQ19E RUZVTihBTV9QQVRIX1BPU1RHUkVTLApbCiAgIE5FRURfUFNRTD1ubwogICBBQ19BUkdfV0lU SChwb3N0Z3Jlc3FsLAogICAgIFtBQ19IRUxQX1NUUklORygKICAgICAgIFstLXdpdGgtcG9z dGdyZXNxbD08cGF0aD5dLAogICAgICAgW1NwZWNpZnkgdGhlIGZ1bGwgcGF0aCB0byB0aGUg UG9zdGdyZVNRTCBpbnN0YWxsYXRpb25dKQpBQ19IRUxQX1NUUklORygKICAgICAgIFstLXdp dGhvdXQtcG9zdGdyZXNxbF0sCiAgICAgICBbRGlzYWJsZSBQb3N0Z3JlU1FMIHN1cHBvcnRd KV0sCiAgICAgW1BPU1RHUkVTUUxfUEFUSF9XSVRIPSR3aXRodmFsOyBORUVEX1BTUUw9eWVz XSwKICAgICBQT1NUR1JFU1FMX1BBVEhfV0lUSD15ZXMpCgogICBQQVRIX0xJQlBRPSIiCiAg IGlmIHRlc3QgeCIkUE9TVEdSRVNRTF9QQVRIX1dJVEgiID0geG5vIDsgdGhlbgogICAgICBB Q19NU0dfQ0hFQ0tJTkcoZm9yIFBvc3RncmVTUUwpCiAgICAgIEFDX01TR19SRVNVTFQobm8s IHVzZSAtLXdpdGgtcG9zdGdyZXNxbCBpZiBuZWVkZWQpCiAgICAgIFdJVEhfUE9TVEdSRVM9 bm8KCiAgIGVsc2UKICAgICBpZiB0ZXN0IHgiJFBPU1RHUkVTUUxfUEFUSF9XSVRIIiA9IHh5 ZXMgOyB0aGVuCiAgICAgICBBTV9MSUJfUEFUSChwcSkKICAgICAgIGlmIHRlc3QgeCIkYW1f cGF0aF9wcSIgIT0geCA7IHRoZW4KICAgICAgICAgIFBBVEhfTElCUFE9Ii1MJGFtX3BhdGhf cHEiCiAgICAgICBmaQogICAgICAgQUNfQ0hFQ0tfTElCKHBxLFBRcmVzZXQsV0lUSF9QT1NU R1JFUz15ZXMsV0lUSF9QT1NUR1JFUz1ubyxbJFBBVEhfTElCUFFdKQogICAgIGVsc2UKICAg ICAgIFdJVEhfUE9TVEdSRVM9eWVzCiAgICAgICBpZiB0ZXN0IC1mICIkUE9TVEdSRVNRTF9Q QVRIX1dJVEgvbGlicHEuc28iIC1vIC1mICIkUE9TVEdSRVNRTF9QQVRIX1dJVEgvbGlicHEu ZGxsIiAtbyAtZiAiJFBPU1RHUkVTUUxfUEFUSF9XSVRIL2xpYnBxLmR5bGliIiA7IHRoZW4K ICAgICAgICAgIFBBVEhfTElCUFE9Ii1MJFBPU1RHUkVTUUxfUEFUSF9XSVRIIgogICAgICAg ZWxpZiB0ZXN0IC1mICIkUE9TVEdSRVNRTF9QQVRIX1dJVEgvbGliL2xpYnBxLnNvIiAtbyAt ZiAiJFBPU1RHUkVTUUxfUEFUSF9XSVRIL2xpYi9saWJwcS5kbGwiIC1vIC1mICIkUE9TVEdS RVNRTF9QQVRIX1dJVEgvbGliL2xpYnBxLmR5bGliIiA7IHRoZW4KICAgICAgICAgIFBBVEhf TElCUFE9Ii1MJFBPU1RHUkVTUUxfUEFUSF9XSVRIL2xpYiIKICAgICAgIGVsc2UKICAgICAg ICAgIEFDX01TR19DSEVDS0lORyhmb3IgUG9zdGdyZVNRTCkKICAgICAgICAgIEFDX01TR19S RVNVTFQobm90IGZvdW5kIGluICRQT1NUR1JFU1FMX1BBVEhfV0lUSCkKICAgICAgICAgIFdJ VEhfUE9TVEdSRVM9bm8KICAgICAgIGZpCiAgICAgZmkKCiAgICAgaWYgdGVzdCB4IiRXSVRI X1BPU1RHUkVTIiA9IHhubyAtYSB4IiRORUVEX1BTUUwiID0geHllcyA7IHRoZW4KICAgICAg IEFDX01TR19FUlJPUihbUG9zdGdyZVNRTCBub3QgZm91bmRdKQogICAgIGZpCiAgIGZpCgog ICBpZiB0ZXN0IHgiJFdJVEhfUE9TVEdSRVMiID0geHllcyA7IHRoZW4KICAgICBBQ19DSEVD S19MSUIocHEsUFFwcmVwYXJlLEhBU19QUVBSRVBBUkU9eWVzLEhBU19QUVBSRVBBUkU9bm8s WyRQQVRIX0xJQlBRXSkKICAgZWxzZQogICAgIEhBU19QUVBSRVBBUkU9bm8KICAgZmkKCiAg IEFDX1NVQlNUKFdJVEhfUE9TVEdSRVMpCiAgIEFDX1NVQlNUKFBBVEhfTElCUFEpCiAgIEFD X1NVQlNUKEhBU19QUVBSRVBBUkUpCl0pCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQ2hlY2tpbmcgZm9yIHNxbGl0 ZQojIFRoaXMgY2hlY2tzIHdoZXRoZXIgc3FsaXRlIGlzIGluc3RhbGxlZCBvbiB0aGUgc3lz dGVtLiBJdCBjYW4KIyBiZSBkaXNhYmxlZCB3aXRoCiMgICAgLXdpdGgtc3FsaXRlPW5vCiMg VGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIGJ5IGNvbmZpZ3VyZToKIyAg ICBAV0lUSF9TUUxJVEVAOiB3aGV0aGVyIHNxbGl0ZSBpcyBkZXRlY3RlZAojICAgIEBQQVRI X0xJQlNRTElURUA6IHBhdGggdG8gbGlic3FsaXRlMwojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBQ19ERUZVTihBTV9Q QVRIX1NRTElURSwKWwogICBORUVEX1NRTElURT1ubwogICBBQ19BUkdfV0lUSChzcWxpdGUs CiAgICAgW0FDX0hFTFBfU1RSSU5HKAogICAgICAgIFstLXdpdGgtc3FsaXRlPTxwYXRoPl0s CiAgICAgICAgW1NwZWNpZnkgdGhlIGZ1bGwgcGF0aCB0byB0aGUgc3FsaXRlIGluc3RhbGxh dGlvbiwgb3IgImVtYmVkZGVkIl0pCkFDX0hFTFBfU1RSSU5HKAogICAgICAgIFstLXdpdGhv dXQtc3FsaXRlXSwKICAgICAgICBbRGlzYWJsZSBzcWxpdGUgc3VwcG9ydF0pXSwKICAgICBb U1FMSVRFX1BBVEhfV0lUSD0kd2l0aHZhbDsgTkVFRF9TUUxJVEU9eWVzXSwKICAgICBTUUxJ VEVfUEFUSF9XSVRIPXllcykKCiAgIFBBVEhfTElCU1FMSVRFPSIiCiAgIGlmIHRlc3QgeCIk U1FMSVRFX1BBVEhfV0lUSCIgPSB4ZW1iZWRkZWQgOyB0aGVuCiAgICAgIEFDX01TR19DSEVD S0lORyhmb3Igc3FsaXRlKQogICAgICBBQ19NU0dfUkVTVUxUKGVtYmVkZGVkLCB1c2UgLS13 aXRoLXNxbGl0ZSB0byB1c2UgYSBkeW5hbWljIGxpYikKICAgICAgV0lUSF9TUUxJVEU9ZW1i ZWRkZWQKCiAgIGVsc2UKICAgICAgaWYgdGVzdCB4IiRTUUxJVEVfUEFUSF9XSVRIIiA9IHhu byA7IHRoZW4KICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHNxbGl0ZSkKICAgICAgICBB Q19NU0dfUkVTVUxUKG5vLCB1c2UgLS13aXRoLXNxbGl0ZSB0byB1c2UgYSBkeW5hbWljIGxp YikKICAgICAgICBXSVRIX1NRTElURT1ubwogICAgICBlbHNlCiAgICAgICAgIGlmIHRlc3Qg eCIkU1FMSVRFX1BBVEhfV0lUSCIgIT0geHllcyA7IHRoZW4KICAgICAgICAgICBQQVRIX0xJ QlNRTElURT0iLUwkU1FMSVRFX1BBVEhfV0lUSC9saWIiCiAgICAgICAgIGZpCiAgICAgICAK ICAgICAgICAgQUNfQ0hFQ0tfTElCKHNxbGl0ZTMsIHNxbGl0ZTNfb3BlbiwKICAgICAgICAg ICAgICAgICAgICAgIFtXSVRIX1NRTElURT15ZXNdLAogICAgICAgICAgICAgICAgICAgICAg W1dJVEhfU1FMSVRFPW5vXSwKICAgICAgICAgICAgICAgICAgICAgICRTUUxJVEVfQ0ZMQUdT ICRQQVRIX0xJQlNRTElURSkKICAgICAgIAogICAgICAgICBpZiB0ZXN0IHgiJFdJVEhfU1FM SVRFIiA9IHhubyA7IHRoZW4KICAgICAgICAgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBzcWxp dGUpCiAgICAgICAgICAgIEFDX01TR19SRVNVTFQoZW1iZWRkZWQsIHVzZSAtLXdpdGgtc3Fs aXRlIHRvIHVzZSBhIGR5bmFtaWMgbGliKQogICAgICAgICAgICBXSVRIX1NRTElURT1lbWJl ZGRlZAogICAgICAgICBmaQogICAgICBmaQogICBmaQogICAKICAgQUNfU1VCU1QoV0lUSF9T UUxJVEUpCiAgIEFDX1NVQlNUKFBBVEhfTElCU1FMSVRFKQoKXSkKCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDaGVj a2luZyBmb3IgZ21wCiMgVGhpcyBjaGVja3Mgd2hldGhlciB0aGUgZ251IG11bHRpcHJlY2lz aW9uIGxpYnJhcnkgaXMgYXZhaWxhYmxlLgojIFRoZSByZXN1bHQgY2FuIGJlIGZvcmNlZCBi eSB1c2luZyB0aGUKIyAgICAtLXdpdGgtZ21wPXBhdGgKIyBUaGUgZm9sbG93aW5nIHZhcmlh YmxlcyBhcmUgZXhwb3J0ZWQgb24gZXhpdDoKIyAgIEBHTVBfQ0ZMQUdTQDogIENvbXBpbGVy IGZsYWdzCiMgICBAR01QX0xJQlNAOiAgICBFeHRyYSBjb21tYW5kIGxpbmUgc3dpdGNoZXMg Zm9yIHRoZSBsaW5rZXIKIyAgIEBXSVRIX0dNUEA6ICAgICJ5ZXMiIG9yICJubyIgZGVwZW5k aW5nIG9uIHdoZXRoZXIgZ21wIGlzIGF2YWlsYWJsZQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBQ19ERUZVTihBTV9Q QVRIX0dNUCwKWwogICBBQ19BUkdfV0lUSChnbXAsCiAgICAgW0FDX0hFTFBfU1RSSU5HKAog ICAgICAgWy0td2l0aC1nbXA9PHBhdGg+XSwKICAgICAgIFtTcGVjaWZ5IHRoZSBmdWxsIHBh dGggb2YgdGhlIGdtcCBpbnN0YWxsYXRpb25dKQpBQ19IRUxQX1NUUklORygKICAgICAgIFst LXdpdGhvdXQtZ21wXSwKICAgICAgIFtEaXNhYmxlIHN1cHBvcnQgZm9yIGdtcF0pXSwKICAg ICBHTVBfUEFUSF9XSVRIPSR3aXRodmFsLAogICAgIEdNUF9QQVRIX1dJVEg9eWVzKQoKICAg R01QX0NGTEFHUz0iIgogICBHTVBfTElCUz0iIgogICBpZiB0ZXN0IHgiJEdNUF9QQVRIX1dJ VEgiID0geG5vIDsgdGhlbgogICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGdtcCkKICAgICAg QUNfTVNHX1JFU1VMVChubywgdXNlIC0td2l0aC1nbXAgaWYgbmVlZGVkKQogICAgICBXSVRI X0dNUD1ubwoKICAgZWxzZQogICAgIGlmIHRlc3QgeCIkR01QX1BBVEhfV0lUSCIgPSB4eWVz IDsgdGhlbgogICAgICAgQUNfQ0hFQ0tfTElCKGdtcCxfX2dtcHpfaW5pdCxXSVRIX0dNUD15 ZXMsV0lUSF9HTVA9bm8pCiAgICAgICBBQ19DSEVDS19IRUFERVIoZ21wLmgpCiAgICAgICBH TVBfTElCUz0iLWxnbXAiCiAgICAgZWxzZQogICAgICAgR01QX0xJQlM9Ii1MJEdNUF9QQVRI X1dJVEgvbGliIC1sZ21wIgogICAgICAgR01QX0NGTEFHUz0iLUkkR01QX1BBVEhfV0lUSC9p bmNsdWRlIgogICAgICAgV0lUSF9HTVA9eWVzCiAgICAgZmkKICAgZmkKCiAgIEFDX1NVQlNU KFdJVEhfR01QKQogICBBQ19TVUJTVChHTVBfQ0ZMQUdTKQogICBBQ19TVUJTVChHTVBfTElC UykKXSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIyBDaGVja2luZyBmb3IgcHl0aG9uCiMgVGhpcyBjaGVja3Mgd2hl dGhlciBweXRob24gaXMgYXZhaWxhYmxlIG9uIHRoZSBzeXN0ZW0sIGFuZCBpZiB5ZXMKIyB3 aGF0IHRoZSBwYXRocyBhcmUuIFRoZSByZXN1bHQgY2FuIGJlIGZvcmNlZCBieSB1c2luZyB0 aGUKIyAgICAtLXdpdGgtcHl0aG9uPXBhdGgKIyBjb21tYW5kIGxpbmUgc3dpdGNoCiMgVGhl IGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIGJ5IGNvbmZpZ3VyZSBvbiBleGl0 OgojICAgIEBQWVRIT05fQkFTRUA6ICAgIEVpdGhlciAibm8iIG9yIHRoZSBkaXJlY3Rvcnkg dGhhdCBjb250YWlucyBweXRob24KIyAgICBAUFlUSE9OX1ZFUlNJT05AOiBWZXJzaW9uIG9m IHB5dGhvbiBkZXRlY3RlZAojICAgIEBQWVRIT05fQ0ZMQUdTQDogIENvbXBpbGVyIGZsYWdz IHRvIHVzZSBmb3IgcHl0aG9uIGNvZGUKIyAgICBAUFlUSE9OX0RJUkA6ICAgICBEaXJlY3Rv cnkgZm9yIGxpYnB5dGhvbi5zbwojICAgIEBQWVRIT05fTElCU0A6ICAgIGV4dHJhIGNvbW1h bmQgbGluZSBzd2l0Y2hlcyB0byBwYXNzIHRvIHRoZSBsaW5rZXIuCiMgICAgQFdJVEhfUFlU SE9OQDogZWl0aGVyICJ5ZXMiIG9yICJubyIgZGVwZW5kaW5nIG9uIHdoZXRoZXIKIyAgICAg ICAgICAgICAgICAgICAgICBweXRob24gc3VwcG9ydCBpcyBhdmFpbGFibGUuCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CkFDX0RFRlVOKEFNX1BBVEhfUFlUSE9OLApbCiAgIE5FRURfUFlUSE9OPW5vCgogICBBQ19B UkdfV0lUSChweXRob24sCiAgICAgW0FDX0hFTFBfU1RSSU5HKAogICAgICAgWy0td2l0aC1w eXRob249PHBhdGg+XSwKICAgICAgIFtTcGVjaWZ5IHRoZSBmdWxsIHBhdGggdG8gdGhlIFB5 dGhvbiBpbnN0YWxsYXRpb25dKQpBQ19IRUxQX1NUUklORygKICAgICAgIFstLXdpdGhvdXQt cHl0aG9uXSwKICAgICAgIFtEaXNhYmxlIHB5dGhvbiBzdXBwb3J0XSldLAogICAgIFtQWVRI T05fUEFUSF9XSVRIPSR3aXRodmFsOyBORUVEX1BZVEhPTj0kUFlUSE9OX1BBVEhfV0lUSF0s CiAgICAgUFlUSE9OX1BBVEhfV0lUSD15ZXMpCiAgIEFDX0FSR19FTkFCTEUoc2hhcmVkLXB5 dGhvbiwKICAgICBBQ19IRUxQX1NUUklORygKICAgICAgIFstLWVuYWJsZS1zaGFyZWQtcHl0 aG9uXSwKICAgICAgIFtMaW5rIHdpdGggc2hhcmVkIHB5dGhvbiBsaWJyYXJ5IGluc3RlYWQg b2Ygc3RhdGljXSksCiAgICAgUFlUSE9OX1NIQVJFRD0kZW5hYmxldmFsLAogICAgIFBZVEhP Tl9TSEFSRUQ9bm8pCgogICBXSVRIX1BZVEhPTj15ZXMKICAgaWYgdGVzdCB4IiRQWVRIT05f UEFUSF9XSVRIIiA9IHhubyA7IHRoZW4KICAgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBweXRo b24pCiAgICAgIEFDX01TR19SRVNVTFQobm8sIHVzZSAtLXdpdGgtcHl0aG9uIGlmIG5lZWRl ZCkKICAgICAgUFlUSE9OX0JBU0U9bm8KICAgICAgV0lUSF9QWVRIT049bm8KCiAgIGVsc2UK ICAgICAgQUNfUEFUSF9QUk9HKFBZVEhPTiwgcHl0aG9uLCBubywgJFBZVEhPTl9QQVRIX1dJ VEgvYmluOiRQWVRIT05fUEFUSF9XSVRIOiRQQVRIKQogICAgICBpZiB0ZXN0IHgiJFBZVEhP TiIgPSB4bm8gOyB0aGVuCiAgICAgICAgIFBZVEhPTl9CQVNFPW5vCiAgICAgICAgIFdJVEhf UFlUSE9OPW5vCiAgICAgIGVsc2UKICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHB5dGhv biA+PSAyLjApCiAgICAgICAgaWYgdGVzdCB4IiRQWVRIT05fUEFUSF9XSVRIIiAhPSB4eWVz IDsgdGhlbgogICAgICAgICAgIFBZVEhPTl9CQVNFPSRQWVRIT05fUEFUSF9XSVRICiAgICAg ICAgZWxzZQogICAgICAgICAgIFBZVEhPTl9CQVNFPWAkUFlUSE9OIC1jICdpbXBvcnQgc3lz OyBwcmludCBzeXMucHJlZml4JyBgCiAgICAgICAgZmkKCiAgICAgICAgUFlUSE9OX01BSk9S X1ZFUlNJT049YCRQWVRIT04gLWMgJ2ltcG9ydCBzeXM7IHByaW50IHN5cy52ZXJzaW9uX2lu Zm9bWzBdXScgMj4vZGV2L251bGxgCiAgICAgICAgUFlUSE9OX01JTk9SX1ZFUlNJT049YCRQ WVRIT04gLWMgJ2ltcG9ydCBzeXM7IHByaW50IHN5cy52ZXJzaW9uX2luZm9bWzFdXScgMj4v ZGV2L251bGxgCiAgICAgICAgaWYgdGVzdCB4JFBZVEhPTl9NQUpPUl9WRVJTSU9OICE9IHgy IDsgdGhlbgogICAgICAgICAgIEFDX01TR19SRVNVTFQobm8sIG5lZWQgYXQgbGVhc3QgdmVy c2lvbiAyLjApCiAgICAgICAgICAgUFlUSE9OX0JBU0U9bm8KICAgICAgICAgICBXSVRIX1BZ VEhPTj1ubwogICAgICAgIGVsc2UKICAgICAgICAgICBjYXNlICIke2hvc3R9IiBpbgogICAg ICAgICAgICAgIyBPbiB3aW5kb3dzLCB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlIHR5cGVzIG9m IGluc3RhbGxhdGlvbiBmb3IKICAgICAgICAgICAgICMgcHl0aG9uLCB3aGVyZSB0aGUgbGF5 b3V0IG9mIGRpcmVjdG9yaWVzIGFyZSBkaWZmZXJlbnQuIEV2ZW4gd2hlbgogICAgICAgICAg ICAgIyBydW5uaW5nIGN5Z3dpbiwgd2UgbWlnaHQgd2FudCB0byBsaW5rIHdpdGggYSBtaW5n d2luIHZlcnNpb24gb2YKICAgICAgICAgICAgICMgcHl0aG9uIGZvciBlYXNpZXIgcmVkaXN0 cmlidXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uLgoKICAgICAgICAgICAgICotKm1pbmd3MzIq IHwgKmN5Z3dpbiogKQogICAgICAgICAgICAgICBpZiB0ZXN0IC1kICR7UFlUSE9OX0JBU0V9 L2xpYi9weXRob24ke1BZVEhPTl9NQUpPUl9WRVJTSU9OfS4ke1BZVEhPTl9NSU5PUl9WRVJT SU9OfS9jb25maWc7IHRoZW4KICAgICAgICAgICAgICAgICBQWVRIT05fV0lOMzI9bm8KICAg ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFBZVEhPTl9XSU4zMj15ZXMKICAg ICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICopCiAgICAg ICAgICAgICAgIFBZVEhPTl9XSU4zMj1ubwogICAgICAgICAgICAgICA7OwogICAgICAgICAg IGVzYWMKCiAgICAgICAgICAgaWYgdGVzdCB4JFBZVEhPTl9XSU4zMiA9PSB4eWVzOyB0aGVu CiAgICAgICAgICAgICBQWVRIT05fVkVSU0lPTj0kUFlUSE9OX01BSk9SX1ZFUlNJT04kUFlU SE9OX01JTk9SX1ZFUlNJT04KICAgICAgICAgICAgIFBZVEhPTl9ESVI9JHtQWVRIT05fQkFT RX0vbGlicwogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFBZVEhPTl9WRVJTSU9OPSRQ WVRIT05fTUFKT1JfVkVSU0lPTi4kUFlUSE9OX01JTk9SX1ZFUlNJT04KICAgICAgICAgICAg IGlmIHRlc3QgeCRQWVRIT05fU0hBUkVEID0geHllczsgdGhlbgogICAgICAgICAgICAgICAg UFlUSE9OX0RJUj0ke1BZVEhPTl9CQVNFfS9saWIKICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgICAgIFBZVEhPTl9ESVI9JHtQWVRIT05fQkFTRX0vbGliL3B5dGhvbiR7UFlUSE9O X1ZFUlNJT059L2NvbmZpZwogICAgICAgICAgICAgZmkKICAgICAgICAgICBmaQoKICAgICAg ICAgICBBQ19NU0dfUkVTVUxUKHllcyAodmVyc2lvbiAkUFlUSE9OX01BSk9SX1ZFUlNJT04u JFBZVEhPTl9NSU5PUl9WRVJTSU9OKSkKICAgICAgICBmaQogICAgICBmaQogICBmaQoKICAg aWYgdGVzdCB4IiRQWVRIT05fQkFTRSIgIT0geG5vOyB0aGVuCiAgICAgICMgRmluZCB0aGUg bGlicyB0aGF0IGFyZSByZXF1aXJlZCB0byBsaW5rIHdpdGggcHl0aG9uLiBXZSBmaXJzdCB0 cnkKICAgICAgIyB3aXRoIHB5dGhvbi1jb25maWcgLS1saWJzLCBidXQgdGhpcyBtaWdodCBu b3QgZXhpc3Qgb24gdGhlIHBsYXRmb3JtLCBvcgogICAgICAjIG1pZ2h0IGJlIGluY29ycmVj dCwgc28gd2UgYWxzbyBoYXZlIGhhcmQtY29kZWQgZmFsbGJhY2tzLgoKICAgICAgQUNfUEFU SF9QUk9HKFBZVEhPTl9DT05GSUcsIHB5dGhvbi1jb25maWcsIG5vLCAkUFlUSE9OX1BBVEhf V0lUSC9iaW46JFBZVEhPTl9QQVRIX1dJVEg6JFBBVEgpCgogICAgICBBQ19NU0dfQ0hFQ0tJ TkcoaWYgd2UgY2FuIGxpbmsgd2l0aCBweXRob24gKHVzaW5nIHB5dGhvbi1jb25maWcpKQog ICAgICBpZiB0ZXN0IHgiJFBZVEhPTl9DT05GSUciICE9IHhubyA7IHRoZW4KICAgICAgICAg UFlUSE9OX0xJQlM9YCRQWVRIT05fQ09ORklHIC0tbGlic2AKICAgICAgICAgUFlUSE9OX0NG TEFHUz1gJFBZVEhPTl9DT05GSUcgLS1jZmxhZ3NgCiAgICAgIGVsc2UKICAgICAgICAgUFlU SE9OX0xJQlM9IiIKICAgICAgICAgUFlUSE9OX0NGTEFHUz0iIgogICAgICBmaQoKICAgICAg U0FWRV9DRkxBR1M9IiR7Q0ZMQUdTfSIKICAgICAgU0FWRV9MSUJTPSIke0xJQlN9IgogICAg ICBDRkxBR1M9IiR7U0FWRV9DRkxBR1N9ICR7UFlUSE9OX0NGTEFHU30iCiAgICAgIExJQlM9 IiR7U0FWRV9MSUJTfSAke1BZVEhPTl9MSUJTfSIKCgogICAgICBBQ19MSU5LX0lGRUxTRSgK ICAgICAgICBbQUNfTEFOR19QUk9HUkFNKFsKLyogICAgd2lsbCBvbmx5IHdvcmsgd2l0aCBn Y2MsIGJ1dCBuZWVkZWQgdG8gdXNlIGl0IHdpdGggdGhlIG1pbmd3aW4gcHl0aG9uICovCiNk ZWZpbmUgUFlfTE9OR19MT05HIGxvbmcgbG9uZwojaW5jbHVkZSA8UHl0aG9uLmg+Cl0sWyAg IFB5X0luaXRpYWxpemUoKTtdKV0sCiAgICAgICAgW0FDX01TR19SRVNVTFQoeWVzKV0sCgog ICAgICAgIFsKICAgICAgICAgQUNfTVNHX1JFU1VMVChubykKICAgICAgICAgQUNfTVNHX0NI RUNLSU5HKGlmIHdlIGNhbiBsaW5rIHdpdGggcHl0aG9uKQogICAgICAgICAjIGhhcmQtY29k ZSBweXRob24gZGVwZW5kZW5jaWVzCiAgICAgICAgIGlmIHRlc3QgXCggLWYgJHtQWVRIT05f RElSfS9saWJweXRob24ke1BZVEhPTl9WRVJTSU9OfS5hIFwpIC1hIFwoICEgeCRQWVRIT05f U0hBUkVEID0geHllcyBcKSA7IHRoZW4KICAgICAgICAgICAgUFlUSE9OX0xJQlM9IiR7UFlU SE9OX0RJUn0vbGlicHl0aG9uJHtQWVRIT05fVkVSU0lPTn0uYSIKICAgICAgICAgZWxzZQog ICAgICAgICAgICBQWVRIT05fTElCUz0iLUwke1BZVEhPTl9ESVJ9IC1scHl0aG9uJHtQWVRI T05fVkVSU0lPTn0iCiAgICAgICAgIGZpCgogICAgICAgICBjYXNlICIke2hvc3R9IiBpbgog ICAgICAgICAgICBocHBhKi1ocC1ocHV4MSogKQogICAgICAgICAgICAgICBQWVRIT05fTElC Uz0iLVdsLC1FIC1sbSAke1BZVEhPTl9MSUJTfSIKICAgICAgICAgICAgICAgOzsKICAgICAg ICAgICAgcG93ZXJwYy1pYm0tYWl4NS4qIHwgcG93ZXJwYy0qLWRhcndpbiogfCAqLWRhcndp biopCiAgICAgICAgICAgICAgIFBZVEhPTl9MSUJTPSItbGRsIC1sbSAke1BZVEhPTl9MSUJT fSIKICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgKi1zdW5vczUuNSogfCAqLXNvbGFy aXMyLjUqIHwgKi1zdW5vczUqIHwgKi1zb2xhcmlzKiApCiAgICAgICAgICAgICAgIFBZVEhP Tl9MSUJTPSItbHJlc29sdiAtbHNvY2tldCAtbG5zbCAtbGRsIC1sbSAke1BZVEhPTl9MSUJT fSIKICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgaWE2NC0qbGludXgtZ251KiB8IHg4 Nl82NC0qLSogfCBpW1szNDU2XV04Ni0qbGludXgtZ251KiApCiAgICAgICAgICAgICAgIFBZ VEhPTl9MSUJTPSItV2wsLWV4cG9ydC1keW5hbWljIC1sbSAtbGRsICR7UFlUSE9OX0xJQlN9 IgogICAgICAgICAgICAgICA7OwogICAgICAgICAgICBpYTY0LSpocC1ocHV4MTEqICkKICAg ICAgICAgICAgICAgUFlUSE9OX0xJQlM9Ii1sZGxkIC1sZGwgLWxtIC1XbCwtRSAke1BZVEhP Tl9MSUJTfSIKICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgKi1mcmVlYnNkKiApCiAg ICAgICAgICAgICAgIFBZVEhPTl9MSUJTPSItbG0gLWx1dGlsICR7UFlUSE9OX0xJQlN9Igog ICAgICAgICAgICAgICA7OwogICAgICAgICBlc2FjCgogICAgICAgICBpZiB0ZXN0IHgkUFlU SE9OX1dJTjMyID09IHh5ZXM7IHRoZW4KICAgICAgICAgICAgUFlUSE9OX0NGTEFHUz0iLUkk e1BZVEhPTl9CQVNFfS9pbmNsdWRlIgogICAgICAgICBlbHNlCiAgICAgICAgICAgIFBZVEhP Tl9DRkxBR1M9Ii1JJHtQWVRIT05fQkFTRX0vaW5jbHVkZS9weXRob24ke1BZVEhPTl9WRVJT SU9OfSIKICAgICAgICAgZmkKCiAgICAgICAgICMgLWx1dGlsIGlzIGFsbW9zdCBhbHdheXMg bmVlZGVkLCBmb3IgZm9ya3B0eSgpCiAgICAgICAgIENGTEFHUz0iJHtTQVZFX0NGTEFHU30g JHtQWVRIT05fQ0ZMQUdTfSIKICAgICAgICAgTElCUz0iJHtTQVZFX0xJQlN9ICR7UFlUSE9O X0xJQlN9IgoKICAgICAgICAgQUNfTElOS19JRkVMU0UoCiAgICAgICAgICAgW0FDX0xBTkdf UFJPR1JBTShbCi8qIHdpbGwgb25seSB3b3JrIHdpdGggZ2NjLCBidXQgbmVlZGVkIHRvIHVz ZSBpdCB3aXRoIHRoZSBtaW5nd2luIHB5dGhvbiAqLwojZGVmaW5lIFBZX0xPTkdfTE9ORyBs b25nIGxvbmcKI2luY2x1ZGUgPFB5dGhvbi5oPgpdLFtQeV9Jbml0aWFsaXplKCk7XSldLAog ICAgICAgICAgIFtBQ19NU0dfUkVTVUxUKHllcyldLAogICAgICAgICAgIFtMSUJTPSIke0xJ QlN9IC1sdXRpbCIKICAgICAgICAgICAgQUNfTElOS19JRkVMU0UoCiAgICAgICAgICAgICBb QUNfTEFOR19QUk9HUkFNKFsKLyogd2lsbCBvbmx5IHdvcmsgd2l0aCBnY2MsIGJ1dCBuZWVk ZWQgdG8gdXNlIGl0IHdpdGggdGhlIG1pbmd3aW4gcHl0aG9uICovCiNkZWZpbmUgUFlfTE9O R19MT05HIGxvbmcgbG9uZwojaW5jbHVkZSA8UHl0aG9uLmg+Cl0sW1B5X0luaXRpYWxpemUo KTtdKV0sCiAgICAgICAgICAgICBbUFlUSE9OX0xJQlM9IiR7UFlUSE9OX0xJQlN9IC1sdXRp bCIKICAgICAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpXSwKCiAgICAgICAgICAgIFtMSUJT PSIke0xJQlN9IC1scHRocmVhZCAtbHV0aWwgLWx6IgogICAgICAgICAgICAgQUNfTElOS19J RkVMU0UoCiAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oWwovKiB3aWxsIG9ubHkg d29yayB3aXRoIGdjYywgYnV0IG5lZWRlZCB0byB1c2UgaXQgd2l0aCB0aGUgbWluZ3dpbiBw eXRob24gKi8KI2RlZmluZSBQWV9MT05HX0xPTkcgbG9uZyBsb25nCiNpbmNsdWRlIDxQeXRo b24uaD5dLFtQeV9Jbml0aWFsaXplKCk7XSldLAogICAgICAgICAgICAgICBbUFlUSE9OX0xJ QlM9IiR7UFlUSE9OX0xJQlN9IC1scHRocmVhZCAtbHV0aWwgLWx6IgogICAgICAgICAgICAg ICAgQUNfTVNHX1JFU1VMVCh5ZXMpXSwKCiAgICAgICAgICAgICAgIFtMSUJTPSIke0xJQlN9 IC1scHRocmVhZCAtbHNzbCAtbHV0aWwgLWx6IgogICAgICAgICAgICAgICAgQUNfTElOS19J RkVMU0UoCiAgICAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oWwogICAvKiB3aWxs IG9ubHkgd29yayB3aXRoIGdjYywgYnV0IG5lZWRlZCB0byB1c2UgaXQgd2l0aCB0aGUgbWlu Z3dpbiBweXRob24gKi8KICAgI2RlZmluZSBQWV9MT05HX0xPTkcgbG9uZyBsb25nCiAgICNp bmNsdWRlIDxQeXRob24uaD5dLFtQeV9Jbml0aWFsaXplKCk7XSldLAogICAgICAgICAgICAg ICAgICBbUFlUSE9OX0xJQlM9IiR7UFlUSE9OX0xJQlN9IC1scHRocmVhZCAtbHNzbCAtbHV0 aWwgLWx6IgogICAgICAgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpXSwKCiAgICAg ICAgICAgICAgIFtBQ19NU0dfUkVTVUxUKG5vLCBbY2FuJ3QgY29tcGlsZSBhbmQgbGluayBw eXRob24gZXhhbXBsZV0pCiAgICAgICAgICAgICAgICBXSVRIX1BZVEhPTj1ubwogICAgICAg ICAgICAgICAgUFlUSE9OX0JBU0U9W10KICAgICAgICAgICAgICAgIFBZVEhPTl9MSUJTPVtd XSldKV0pCgogICAgICAgIF0pXSkKCiAgICAgIyBSZXN0b3JlIGFuIGVudmlyb25tZW50IHB5 dGhvbi1mcmVlLCBzbyB0aGF0IGZ1cnRoZXIgdGVzdHMgYXJlIG5vdAogICAgICMgaW1wYWN0 ZWQgaW4gY2FzZSB3ZSBkaWQgbm90IGZpbmQgcHl0aG9uCgogICAgIENGTEFHUz0iJHtTQVZF X0NGTEFHU30iCiAgICAgTElCUz0iJHtTQVZFX0xJQlN9IgogICBmaQoKICAgaWYgdGVzdCB4 IiRXSVRIX1BZVEhPTiIgPSB4bm8gLWEgeCIkTkVFRF9QWVRIT04iICE9IHhubyA7IHRoZW4K ICAgICBBQ19NU0dfRVJST1IoW1B5dGhvbiBub3QgZm91bmRdKQogICBmaQoKICAgQUNfU1VC U1QoUFlUSE9OX0JBU0UpCiAgIEFDX1NVQlNUKFBZVEhPTl9WRVJTSU9OKQogICBBQ19TVUJT VChQWVRIT05fRElSKQogICBBQ19TVUJTVChQWVRIT05fTElCUykKICAgQUNfU1VCU1QoUFlU SE9OX0NGTEFHUykKICAgQUNfU1VCU1QoV0lUSF9QWVRIT04pCl0pCgojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyMgQ2hlY2tpbmcgZm9yIHB5Z3RrCiMjICAgJDE9bWluaW11bSBweWd0ayB2 ZXJzaW9uIHJlcXVpcmVkCiMjIFRoaXMgZnVuY3Rpb24gY2hlY2tzIHdoZXRoZXIgcHlndGsg ZXhpc3RzIG9uIHRoZSBzeXN0ZW0sIGFuZCBoYXMgYSByZWNlbnQKIyMgZW5vdWdoIHZlcnNp b24uIEl0IGV4cG9ydHMgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXM6CiMjICAgIEBXSVRIX1BZ R1RLQDogICAgInllcyIgb3IgIm5vIgojIyAgICBAUFlHVEtfUFJFRklYQDogIGluc3RhbGxh dGlvbiBkaXJlY3Rvcnkgb2YgcHlndGsKIyMgICAgQFBZR1RLX0lOQ0xVREVAOiBjZmxhZ3Mg dG8gdXNlIHdoZW4gY29tcGlsaW5nIGEgcHlndGsgYXBwbGljYXRpb24KIyMgVGhpcyBmdW5j dGlvbiBtdXN0IGJlIGNhbGxlZCBhZnRlciB0aGUgdmFyaWFibGUgUEtHX0NPTkZJRyBoYXMg YmVlbiBzZXQsCiMjIGllIHByb2JhYmx5IGFmdGVyIGd0aysgaXRzZWxmIGhhcyBiZWVuIGRl dGVjdGVkLiBQeXRob24gbXVzdCBhbHNvIGhhdmUgYmVlbgojIyBkZXRlY3RlZCBmaXJzdC4K IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKQUNfREVGVU4oQU1fUEFUSF9QWUdUSywKWwogICAg QUNfQVJHX0VOQUJMRShweWd0aywKICAgICAgQUNfSEVMUF9TVFJJTkcoCiAgICAgICAgWy0t ZGlzYWJsZS1weWd0a10sCiAgICAgICAgW0Rpc2FibGUgc3VwcG9ydCBmb3IgUHlHVEsgW1tk ZWZhdWx0PWVuYWJsZWRdXV0pLAogICAgICBbV0lUSF9QWUdUSz0kZW5hYmxldmFsXSwKICAg ICAgW1dJVEhfUFlHVEs9JFdJVEhfUFlUSE9OXSkKCiAgICBpZiB0ZXN0ICIkUEtHX0NPTkZJ RyIgPSAiIiAtbyAiJFBLR19DT05GSUciID0gIm5vIiA7IHRoZW4KICAgICAgIEFDX01TR19D SEVDS0lORyhmb3IgcHlndGspCiAgICAgICBBQ19NU0dfUkVTVUxUKG5vIChwa2ctY29uZmln IG5vdCBmb3VuZCkpCiAgICAgICBXSVRIX1BZR1RLPW5vCiAgICBlbHNlCiAgICAgICBtaW5f cHlndGtfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDIuOCwkMSkKICAgICAgIG1vZHVsZT1weWd0 ay0yLjAKICAgICAgIEFDX01TR19DSEVDS0lORyhmb3IgcHlndGsgLSB2ZXJzaW9uID49ICRt aW5fcHlndGtfdmVyc2lvbikKCiAgICAgICBpZiB0ZXN0IHgiJFdJVEhfUFlHVEsiID0geCAt byB4IiRXSVRIX1BZR1RLIiA9IHhubyA7IHRoZW4KICAgICAgICAgIEFDX01TR19SRVNVTFQo bm8pCiAgICAgICAgICBQWUdUS19QUkVGSVg9IiIKICAgICAgICAgIFBZR1RLX0lOQ0xVREU9 IiIKICAgICAgICAgIFdJVEhfUFlHVEs9bm8KCiAgICAgICBlbGlmIHRlc3QgIiRQWVRIT05f QkFTRSIgIT0gIm5vIiA7IHRoZW4KICAgICAgICAgIHB5Z3RrX3ZlcnNpb249YCRQS0dfQ09O RklHICRtb2R1bGUgLS1tb2R2ZXJzaW9uYAogICAgICAgICAgJFBLR19DT05GSUcgJG1vZHVs ZSAtLWF0bGVhc3QtdmVyc2lvbj0kbWluX3B5Z3RrX3ZlcnNpb24KICAgICAgICAgIGlmIHRl c3QgJD8gPSAwIDsgdGhlbgogICAgICAgICAgICAgUFlHVEtfSU5DTFVERT0iYCRQS0dfQ09O RklHICRtb2R1bGUgLS1jZmxhZ3NgIC1EUFlHVEsiCiAgICAgICAgICAgICBQWUdUS19QUkVG SVg9YCRQS0dfQ09ORklHICRtb2R1bGUgLS12YXJpYWJsZT1wcmVmaXhgCiAgICAgICAgICAg ICBBQ19NU0dfUkVTVUxUKHllcyAodmVyc2lvbiAkcHlndGtfdmVyc2lvbikpCiAgICAgICAg ICAgICBXSVRIX1BZR1RLPXllcwogICAgICAgICAgZWxzZQogICAgICAgICAgICAgQUNfTVNH X1JFU1VMVChubyAoZm91bmQgJHB5Z3RrX3ZlcnNpb24pKQogICAgICAgICAgICAgUFlHVEtf UFJFRklYPSIiCiAgICAgICAgICAgICBQWUdUS19JTkNMVURFPSIiCiAgICAgICAgICAgICBX SVRIX1BZR1RLPW5vCiAgICAgICAgICBmaQoKICAgICAgIGVsc2UKICAgICAgICAgIEFDX01T R19SRVNVTFQobm8gc2luY2UgcHl0aG9uIG5vdCBmb3VuZCkKICAgICAgICAgIFBZR1RLX1BS RUZJWD0iIgogICAgICAgICAgUFlHVEtfSU5DTFVERT0iIgogICAgICAgICAgV0lUSF9QWUdU Sz1ubwogICAgICAgZmkKICAgIGZpCgogICAgQUNfU1VCU1QoUFlHVEtfUFJFRklYKQogICAg QUNfU1VCU1QoUFlHVEtfSU5DTFVERSkKICAgIEFDX1NVQlNUKFdJVEhfUFlHVEspCl0pCgoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwojIyBDb252ZXJ0cyBhIGxpc3Qgb2Ygc3BhY2Utc2VwYXJh dGVkIHdvcmRzIGludG8gYSBsaXN0IHN1aXRhYmxlIGZvcgojIyBpbmNsdXNpb24gaW4gLmdw ciBmaWxlcwojIyAgICQxPXRoZSBsaXN0CiMjICAgJDI9ZXhwb3J0ZWQgbmFtZQojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwoKQUNfREVGVU4oQU1fVE9fR1BSLApbCiAgIHZhbHVlPVskMV0KCiAg ICMgU3BlY2lhbCBoYW5kbGluZyBvbiBkYXJ3aW4KICAgdmFsPWBlY2hvICR2YWx1ZSB8IHNl ZCAtZSAicywtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uLC1mcmFtZXdvcms9Q29yZUZvdW5k YXRpb24sImAKICAgdmFsdWU9JHZhbAoKICAgb3V0cHV0PSQyCiAgIHJlc3VsdD0iIgogICBm b3IgdiBpbiAkdmFsdWU7IGRvCiAgICAgIGlmIHRlc3QgIiRyZXN1bHQiICE9ICIiOyB0aGVu CiAgICAgICAgIHJlc3VsdD0iJHJlc3VsdCwgIgogICAgICBmaQogICAgICByZXN1bHQ9IiRy ZXN1bHRcIiR2XCIiCiAgIGRvbmUKICAgJDI9JHJlc3VsdAogICBBQ19TVUJTVCgkMikKCl0p CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyBDaGVjayB0aGUgYXZhaWxhYmlsaXR5IG9mIGEg cHJvamVjdCBmaWxlCiMjIFRoZSBmaWxlIGlzIHNlYXJjaGVkIG9uIHRoZSBwcmVkZWZpbmVk IFBBVEggYW5kIChBREF8R1BSKV9QUk9KRUNUX1BBVEgKIyMgICAkMT1wcm9qZWN0IHRvIHRl c3QKIyMgICAkMj1leHBvcnRlZCBuYW1lCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBQ19ERUZV TihBTV9QQVRIX1BST0pFQ1QsClsKICAgcHJvamVjdD1bJDFdCiAgIG91dHB1dD0kMgoKICAg IyBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IChmcm9tICJpbmZvIGF1dG9jb25mIikK ICAgOiAke1RNUERJUj0vdG1wfQogICB7CiAgICAgdG1wPWAodW1hc2sgMDc3ICYmIG1rdGVt cCAtZCAiJFRNUERJUi9mb29YWFhYWFgiKSAyPi9kZXYvbnVsbGAgXAogICAgICAgICYmIHRl c3QgLW4gIiR0bXAiICYmIHRlc3QgLWQgIiR0bXAiCiAgIH0gfHwgewogICAgIHRtcD0kVE1Q RElSL2ZvbyQkLSRSQU5ET00KICAgICAodW1hc2sgMDc3ICYmIG1rZGlyIC1wICIkdG1wIikK ICAgfSB8fCBleGl0ICQ/CgogICBta2RpciAkdG1wL2xpYgogICBlY2hvICJ3aXRoIFwiJHBy b2plY3RcIjsgcHJvamVjdCBkZWZhdWx0IGlzIGZvciBTb3VyY2VfRGlycyB1c2UgKCk7IGVu ZCBkZWZhdWx0OyIgPiAkdG1wL2RlZmF1bHQuZ3ByCgogICBnbmF0IG1ha2UgLVAkdG1wL2Rl ZmF1bHQuZ3ByID4vZGV2L251bGwgMj4vZGV2L251bGwKICAgaWYgdGVzdCAkPyA9IDAgOyB0 aGVuCiAgICAgJDI9eWVzCiAgIGVsc2UKICAgICAkMj1ubwogICBmaQogICBBQ19TVUJTVCgk MikKXSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIERldGVjdHMgR1RLIGFuZCBHdGtBZGEK IyMgVGhpcyBleHBvcnRzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzCiMjICAgICBAUEtHX0NP TkZJR0A6IHBhdGggdG8gcGtnLWNvbmZpZywgb3IgIm5vIiBpZiBub3QgZm91bmQKIyMgICAg IEBHVEtfR0NDX0ZMQUdTQDogY2ZsYWdzIHRvIHBhc3MgdG8gdGhlIGNvbXBpbGVyLiBJdCBp c24ndCBjYWxsCiMjICAgICAgICAgICAgICAgICAgICAgIEdUS19DRkxBR1MgZm9yIGNvbXBh dGliaWxpdHkgcmVhc29ucyB3aXRoIEdQUwojIyAgICAgQFdJVEhfR1RLQDogRWl0aGVyICJ5 ZXMiIG9yICJubyIsIGRlcGVuZGluZyBvbiB3aGV0aGVyIGd0aysgd2FzIGZvdW5kCiMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCgpBQ19ERUZVTihBTV9QQVRIX0dUSywKWwogICBBQ19BUkdfRU5B QkxFKGd0aywKICAgICBBQ19IRUxQX1NUUklORygKICAgICAgIFstLWRpc2FibGUtZ3RrXSwK ICAgICAgIFtEaXNhYmxlIHN1cHBvcnQgZm9yIEdUSyBbW2RlZmF1bHQ9ZW5hYmxlZF1dXSks CiAgICAgW1dJVEhfR1RLPSRlbmFibGV2YWxdLAogICAgIFtXSVRIX0dUSz15ZXNdKQoKCiAg IGlmIHRlc3QgJFdJVEhfR1RLID0geWVzOyB0aGVuCiAgICAgQUNfUEFUSF9QUk9HKFBLR19D T05GSUcsIHBrZy1jb25maWcsIG5vKQogICAgIEFDX01TR19DSEVDS0lORyhmb3IgZ3RrKykK ICAgICBpZiB0ZXN0ICIkUEtHX0NPTkZJRyIgPSAibm8iIDsgdGhlbgogICAgICAgIEFDX01T R19SRVNVTFQobm90IGZvdW5kKQogICAgICAgIFdJVEhfR1RLPW5vCiAgICAgZWxzZQogICAg ICAgIEdUS19QUkVGSVg9YCRQS0dfQ09ORklHIGd0aystMi4wIC0tdmFyaWFibGU9cHJlZml4 YAogICAgICAgIEFDX01TR19SRVNVTFQoJEdUS19QUkVGSVgpCiAgICAgICAgR1RLX0dDQ19G TEFHUz1gJFBLR19DT05GSUcgZ3RrKy0yLjAgLS1jZmxhZ3NgCiAgICAgICAgaWYgdGVzdCB4 IiRHVEtfR0NDX0ZMQUdTIiAhPSB4IDsgdGhlbgogICAgICAgICAgIEFDX01TR19DSEVDS0lO Ryhmb3IgZ3RrYWRhKQogICAgICAgICAgIEFNX1BBVEhfUFJPSkVDVChndGthZGEsIEhBVkVf R1RLQURBKQogICAgICAgICAgIGlmIHRlc3QgIiRIQVZFX0dUS0FEQSIgPSAieWVzIjsgdGhl bgogICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoZm91bmQpOwogICAgICAgICAgICAgIFdJ VEhfR1RLPXllcwogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxU KG5vdCBmb3VuZCkKICAgICAgICAgICAgICBXSVRIX0dUSz1ubwogICAgICAgICAgIGZpCiAg ICAgICAgZWxzZQogICAgICAgICAgIFdJVEhfR1RLPW5vCiAgICAgICAgZmkKICAgICBmaQog ICBlbHNlCiAgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBndGsrKQogICAgIEFDX01TR19SRVNV TFQoJFdJVEhfR1RLIChmcm9tIHN3aXRjaCkpCiAgIGZpCgogICBBQ19TVUJTVChQS0dfQ09O RklHKQogICBBQ19TVUJTVChHVEtfR0NDX0ZMQUdTKQogICBBQ19TVUJTVChXSVRIX0dUSykK Cl0pCg== --------------000007000103090806090601 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ gps-devel mailing list [email protected] http://lists.adacore.com/mailman/listinfo/gps-devel --------------000007000103090806090601--