From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17788 invoked from network); 15 Feb 2022 22:57:20 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 15 Feb 2022 22:57:20 -0000 Received: (qmail 5962 invoked by uid 550); 15 Feb 2022 22:57:18 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 5929 invoked from network); 15 Feb 2022 22:57:17 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=y5uBmJfga3Ej5YG83hVodWUZ9mkoeV9aRhCo/wfK1NU=; b=c4azmADBlHDba5ZPfF8rBVNt9S5pZgAqdtZrKhkXPPHH8Iaf1LXw8A4KS9jGiD7Sg4 joWgHQ0/HjmK+441zSvcFYSM57ETcS1CMPvWxLMaf4TyEdDL59rrG0/VGabzsC5M1Czt zqZuCXydHMi3T9uc1ZWYxDklznGUHS+IegTcSrh73ikreu0YG36k593ddE8kd6nDpQ14 FwSqZzHV1TRpDke2xO44tr38x/kYAYbG8Pqq8nL4DF/dfV2k/Fv/6PyWBiAyjx9pFl7x L40McFF6iDBUrt9Ow1ko4stzVrk2hNlImpOGF6PwSIXAG8+NY75xiEwiZCsZF9fGMtv4 T/8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=y5uBmJfga3Ej5YG83hVodWUZ9mkoeV9aRhCo/wfK1NU=; b=k/BoLL4dLC/fTu9JDhl3/iBDwH5RCLFTEQO5Gjly8o9OhuBnHN7RIrHlkvhjTGom/x HmRewxI9/vMnSgmVPvZ0o0SdGQow1yLL66VD3UesjlXzicRtRwsD66kH9ja5DDJcGu68 GGYIgwEEjYoo1bbUrSkQBCkfu1VA/vuVTdAgJ6/geXUGTQQHTZc/yYYNltfw6r3zS3xt uCiRcm617i9gQw8A5m9L9Wcz/xFLSMUER+pkvZ0cCWg4NBt6QICMBAXTsJRt2Ux3Bqom +SQDxRbmROdbb5kdrZFaknTeQcW9SVPfvTYZ38+WayGAXEc2qE0KzpNyREdPn8CDojp6 yWpw== X-Gm-Message-State: AOAM533qlmgWT+U47FVQIiMfUMcrpTTqPVbH00iZh91XfFEfb6lYpVkr gQDtcYtd17DOelZpyp3svKc8pGy2nqHTo1+Ztxf9kUazCYI= X-Google-Smtp-Source: ABdhPJz3mHnOCWxgXmYz0PF7sf0r426tRES3VsFQIOLJub3P/OEaPAuxlHzVA9qrLSs05325F1sELjeYD+PZ4j2pa48= X-Received: by 2002:a05:6512:2620:: with SMTP id bt32mr953029lfb.311.1644965825845; Tue, 15 Feb 2022 14:57:05 -0800 (PST) MIME-Version: 1.0 References: <20220206234405.GW7074@brightrain.aerifal.cx> <20220207024056.GY7074@brightrain.aerifal.cx> <20220207210223.GZ7074@brightrain.aerifal.cx> <20220214182952.GI7074@brightrain.aerifal.cx> <20220214220043.GK7074@brightrain.aerifal.cx> <20220215174420.GL7074@brightrain.aerifal.cx> In-Reply-To: <20220215174420.GL7074@brightrain.aerifal.cx> From: Satadru Pramanik Date: Tue, 15 Feb 2022 17:56:53 -0500 Message-ID: To: Rich Felker Cc: musl@lists.openwall.com Content-Type: multipart/mixed; boundary="000000000000b7d18105d8167311" Subject: Re: [musl] Re: musl getaddr info breakage on older kernels --000000000000b7d18105d8167311 Content-Type: multipart/alternative; boundary="000000000000b7d17f05d816730f" --000000000000b7d17f05d816730f Content-Type: text/plain; charset="UTF-8" > > > > OK, then in that case it's surely Docker's seccomp filters that are > the problem. I think --security-opt seccomp=unconfined is the part you > need to work around it. That's the command line I was using, which leads to the application NOT breaking, and thus doesn't allow me to replicate the problem: docker run --security-opt seccomp=unconfined --platform linux/386 --cap-add SYS_PTRACE --rm -v $(pwd)/pkg_cache:/usr/local/tmp/packages -v $(pwd):/output -h $(hostname)-i686 -it satmandu/crewbuild:alex-i686.m58 /usr/local/bin/setarch i686 sudo -i -u chronos /usr/local/bin/bash -i The goal with docker was to try to replicate the breakage on the actual hardware, which is the place we are having this problem. I ran the process through gdb on the hardware, and stepped through it with the timeit function from here: https://stackoverflow.com/a/48412363 Of note perhaps is the very long time it takes for some of these calls to return in gdb? (The program does run in gdb when stepping through the function, but not when run without the break point) my commands were in essence the following in gdb: add symbol table from file "/usr/local/share/musl/lib/libc.so" break main run google.com 2>>gdb.out.txt ti (repeated until the program exited) (I ran this twice, and both runs succeed with long delays) Then I ran (this, which fails): clear main run google.com 2>>gdb.out.txt Any other suggestions on how to track down this issue? Regards, Satadru --000000000000b7d17f05d816730f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


OK, then in that case it's surely Docker's seccomp filters that are=
the problem. I think --security-opt seccomp=3Dunconfined is the part you need to work around it.
=C2=A0That's the command line = I was using, which leads to the application NOT breaking, and thus doesn= 9;t allow me to replicate the problem:=C2=A0
=C2=A0docker run --s= ecurity-opt seccomp=3Dunconfined =C2=A0--platform linux/386 --cap-add SYS_P= TRACE --rm -v $(pwd)/pkg_cache:/usr/local/tmp/packages -v $(pwd):/output -h= $(hostname)-i686 -it satmandu/crewbuild:alex-i686.m58 /usr/local/bin/setar= ch i686 sudo -i -u chronos /usr/local/bin/bash -i
=C2=A0
The goal with docker was to try to replicate the breakage on the actual h= ardware, which is the place we are having this problem.

I ran the=C2=A0process through gdb on the hardware, and stepped throu= gh it with the timeit function from here:=C2=A0https://stackoverflow.com/a/48412363
Of note perhaps is the very long time it takes for some of thes= e calls to return in gdb? (The program does run in gdb when stepping throug= h the function, but not when run without the break point)
my comm= ands were in essence the following in gdb:
add symbol table from = file "/usr/local/share/musl/lib/libc.so"
break main=
run google.com 2>>gdb.ou= t.txt
ti (repeated until the program exited)
(I ran thi= s twice, and both runs succeed with long delays)
Then I ran (this= , which fails):
clear main
run google.com 2>>gdb.out.txt

Any = other suggestions on how to track down this issue?

Regards,

Satadru

--000000000000b7d17f05d816730f-- --000000000000b7d18105d8167311 Content-Type: text/plain; charset="US-ASCII"; name="gdb.out.txt" Content-Disposition: attachment; filename="gdb.out.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kzoq4lht0 UmVhZGluZyBzeW1ib2xzIGZyb20gLi9tdXNsX2dldGFkZHJpbmZvX3Rlc3QuLi4KYWRkIHN5bWJv bCB0YWJsZSBmcm9tIGZpbGUgIi91c3IvbG9jYWwvc2hhcmUvbXVzbC9saWIvbGliYy5zbyIKUmVh ZGluZyBzeW1ib2xzIGZyb20gL3Vzci9sb2NhbC9zaGFyZS9tdXNsL2xpYi9saWJjLnNvLi4uCkJy ZWFrcG9pbnQgMSBhdCAweDdiZTogZmlsZSBtdXNsX2dldGFkZHJpbmZvX3Rlc3QuYywgbGluZSAx NS4KU3RhcnRpbmcgcHJvZ3JhbTogL3Vzci9sb2NhbC90bXAvY3Jldy9tdXNsX2dldGFkZHJpbmZv X3Rlc3QuMjAyMjAyMTUyMjExMzMuZGlyL211c2xfZ2V0YWRkcmluZm9fdGVzdCBnb29nbGUuY29t IDI+PiBnZGIub3V0Cndhcm5pbmc6IFVuYWJsZSB0byBmaW5kIGxpYnRocmVhZF9kYiBtYXRjaGlu ZyBpbmZlcmlvcidzIHRocmVhZCBsaWJyYXJ5LCB0aHJlYWQgZGVidWdnaW5nIHdpbGwgbm90IGJl IGF2YWlsYWJsZS4KCkJyZWFrcG9pbnQgMSwgbWFpbiAoYXJnYz0yLCBhcmd2PTB4N2ZmZmVjYjQp IGF0IG11c2xfZ2V0YWRkcmluZm9fdGVzdC5jOjE1Cndhcm5pbmc6IFNvdXJjZSBmaWxlIGlzIG1v cmUgcmVjZW50IHRoYW4gZXhlY3V0YWJsZS4KMTUJICAgICAgICBtZW1zZXQoJmhpbnRzLCAwLCBz aXplb2YoaGludHMpKTsKMTYJICAgICAgICBpZiAoYXJnYyA+IDIpCkNhbGwgdG9vayAwLjAzNDIg bXMKMTgJICAgICAgICBoaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfREdSQU07CkNhbGwgdG9vayAw LjAwNzQgbXMKMjAJICAgICAgICByID0gZ2V0YWRkcmluZm8oYXJndlsxXSwgTlVMTCwgJmhpbnRz LCAmcmVzdWx0KTsKQ2FsbCB0b29rIDAuMDA1MCBtcwoweDc3ZjY2NDE0IGluIF9fa2VybmVsX3Zz eXNjYWxsICgpCkNhbGwgdG9vayAwLjQwMDIgbXMKU2luZ2xlIHN0ZXBwaW5nIHVudGlsIGV4aXQg ZnJvbSBmdW5jdGlvbiBfX2tlcm5lbF92c3lzY2FsbCwKd2hpY2ggaGFzIG5vIGxpbmUgbnVtYmVy IGluZm9ybWF0aW9uLgptYWluIChhcmdjPTIsIGFyZ3Y9MHg3ZmZmZWNiNCkgYXQgbXVzbF9nZXRh ZGRyaW5mb190ZXN0LmM6MjEKMjEJICAgICAgICBpZiAociAhPSAwKSB7CkNhbGwgdG9vayAxMS44 NzUxIG1zCjI2CSAgICAgICAgZm9yIChycCA9IHJlc3VsdDsgcnAgIT0gTlVMTDsgcnAgPSBycC0+ YWlfbmV4dCkgewpDYWxsIHRvb2sgMC4wMDcwIG1zCjI3CSAgICAgICAgICAgIHN3aXRjaCAocnAt PmFpX2ZhbWlseSkgewpDYWxsIHRvb2sgMC4wMDczIG1zCjM1CSopcnAtPmFpX2FkZHIpLT5zaW42 X2FkZHIsIHMsIElORVQ2X0FERFJTVFJMRU4pOwpDYWxsIHRvb2sgMC4wMDg1IG1zCjM0CSAgICAg ICAgICAgICAgICBpbmV0X250b3AoQUZfSU5FVDYsICYoKHN0cnVjdCBzb2NrYWRkcl9pbjYKQ2Fs bCB0b29rIDAuMDA1NyBtcwozNgkgICAgICAgICAgICAgICAgcHJpbnRmKCJBRl9JTkVUNjogJXNc biIsIHMpOwpDYWxsIHRvb2sgMy4xMzAwIG1zCjB4NzdmNjY0MTQgaW4gX19rZXJuZWxfdnN5c2Nh bGwgKCkKQ2FsbCB0b29rIDAuNjc3OCBtcwpTaW5nbGUgc3RlcHBpbmcgdW50aWwgZXhpdCBmcm9t IGZ1bmN0aW9uIF9fa2VybmVsX3ZzeXNjYWxsLAp3aGljaCBoYXMgbm8gbGluZSBudW1iZXIgaW5m b3JtYXRpb24uCm1haW4gKGFyZ2M9MiwgYXJndj0weDdmZmZlY2I0KSBhdCBtdXNsX2dldGFkZHJp bmZvX3Rlc3QuYzozNwozNwkgICAgICAgICAgICAgICAgYnJlYWs7CkNhbGwgdG9vayAwLjEyNDYg bXMKMjYJICAgICAgICBmb3IgKHJwID0gcmVzdWx0OyBycCAhPSBOVUxMOyBycCA9IHJwLT5haV9u ZXh0KSB7CkNhbGwgdG9vayAwLjAwNDYgbXMKMjcJICAgICAgICAgICAgc3dpdGNoIChycC0+YWlf ZmFtaWx5KSB7CkNhbGwgdG9vayAwLjAwNzYgbXMKMzAJKilycC0+YWlfYWRkciktPnNpbl9hZGRy LCBzLCBJTkVUNl9BRERSU1RSTEVOKTsKQ2FsbCB0b29rIDAuMDA0OSBtcwoyOQkgICAgICAgICAg ICAgICAgaW5ldF9udG9wKEFGX0lORVQsICYoKHN0cnVjdCBzb2NrYWRkcl9pbgpDYWxsIHRvb2sg MC4wMDU0IG1zCjMxCSAgICAgICAgICAgICAgICBwcmludGYoIkFGX0lORVQ6ICVzXG4iLCBzKTsK Q2FsbCB0b29rIDEuMzM2NyBtcwoweDc3ZjY2NDE0IGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCkNh bGwgdG9vayAwLjYyMTcgbXMKU2luZ2xlIHN0ZXBwaW5nIHVudGlsIGV4aXQgZnJvbSBmdW5jdGlv biBfX2tlcm5lbF92c3lzY2FsbCwKd2hpY2ggaGFzIG5vIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9u LgptYWluIChhcmdjPTIsIGFyZ3Y9MHg3ZmZmZWNiNCkgYXQgbXVzbF9nZXRhZGRyaW5mb190ZXN0 LmM6MzIKMzIJICAgICAgICAgICAgICAgIGJyZWFrOwpDYWxsIHRvb2sgMC4xMTUwIG1zCjI2CSAg ICAgICAgZm9yIChycCA9IHJlc3VsdDsgcnAgIT0gTlVMTDsgcnAgPSBycC0+YWlfbmV4dCkgewpD YWxsIHRvb2sgMC4wMDMxIG1zCjQxCSAgICAgICAgZnJlZWFkZHJpbmZvKHJlc3VsdCk7CkNhbGwg dG9vayAwLjAwNjcgbXMKNDIJICAgIH0KQ2FsbCB0b29rIDAuMjc1NSBtcwoweDU1NTU1NmUwIGlu IF9fZG9fZ2xvYmFsX2R0b3JzX2F1eCAoKQpDYWxsIHRvb2sgMC4zMTY2IG1zClNpbmdsZSBzdGVw cGluZyB1bnRpbCBleGl0IGZyb20gZnVuY3Rpb24gX19kb19nbG9iYWxfZHRvcnNfYXV4LAp3aGlj aCBoYXMgbm8gbGluZSBudW1iZXIgaW5mb3JtYXRpb24uCltJbmZlcmlvciAxIChwcm9jZXNzIDIz MzI1KSBleGl0ZWQgbm9ybWFsbHldCkNhbGwgdG9vayAwLjAzNzQgbXMKU3RhcnRpbmcgcHJvZ3Jh bTogL3Vzci9sb2NhbC90bXAvY3Jldy9tdXNsX2dldGFkZHJpbmZvX3Rlc3QuMjAyMjAyMTUyMjEx MzMuZGlyL211c2xfZ2V0YWRkcmluZm9fdGVzdCBnb29nbGUuY29tIDI+PiBnZGIub3V0Cndhcm5p bmc6IFVuYWJsZSB0byBmaW5kIGxpYnRocmVhZF9kYiBtYXRjaGluZyBpbmZlcmlvcidzIHRocmVh ZCBsaWJyYXJ5LCB0aHJlYWQgZGVidWdnaW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZS4KCkJyZWFr cG9pbnQgMSwgbWFpbiAoYXJnYz0yLCBhcmd2PTB4N2ZmZmVjYjQpIGF0IG11c2xfZ2V0YWRkcmlu Zm9fdGVzdC5jOjE1CjE1CSAgICAgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7 CjE2CSAgICAgICAgaWYgKGFyZ2MgPiAyKQpDYWxsIHRvb2sgMC4wMzg3IG1zCjE4CSAgICAgICAg aGludHMuYWlfc29ja3R5cGUgPSBTT0NLX0RHUkFNOwpDYWxsIHRvb2sgMC4wMDYzIG1zCjIwCSAg ICAgICAgciA9IGdldGFkZHJpbmZvKGFyZ3ZbMV0sIE5VTEwsICZoaW50cywgJnJlc3VsdCk7CkNh bGwgdG9vayAwLjAwNTEgbXMKMHg3N2Y2NjQxNCBpbiBfX2tlcm5lbF92c3lzY2FsbCAoKQpDYWxs IHRvb2sgMC40MjE1IG1zClNpbmdsZSBzdGVwcGluZyB1bnRpbCBleGl0IGZyb20gZnVuY3Rpb24g X19rZXJuZWxfdnN5c2NhbGwsCndoaWNoIGhhcyBubyBsaW5lIG51bWJlciBpbmZvcm1hdGlvbi4K bWFpbiAoYXJnYz0yLCBhcmd2PTB4N2ZmZmVjYjQpIGF0IG11c2xfZ2V0YWRkcmluZm9fdGVzdC5j OjIxCjIxCSAgICAgICAgaWYgKHIgIT0gMCkgewpDYWxsIHRvb2sgMTIuMDA5MCBtcwoyNgkgICAg ICAgIGZvciAocnAgPSByZXN1bHQ7IHJwICE9IE5VTEw7IHJwID0gcnAtPmFpX25leHQpIHsKQ2Fs bCB0b29rIDAuMDA3MCBtcwoyNwkgICAgICAgICAgICBzd2l0Y2ggKHJwLT5haV9mYW1pbHkpIHsK Q2FsbCB0b29rIDAuMDExMiBtcwozNQkqKXJwLT5haV9hZGRyKS0+c2luNl9hZGRyLCBzLCBJTkVU Nl9BRERSU1RSTEVOKTsKQ2FsbCB0b29rIDAuMDA3MSBtcwozNAkgICAgICAgICAgICAgICAgaW5l dF9udG9wKEFGX0lORVQ2LCAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42CkNhbGwgdG9vayAwLjAwNzUg bXMKMzYJICAgICAgICAgICAgICAgIHByaW50ZigiQUZfSU5FVDY6ICVzXG4iLCBzKTsKQ2FsbCB0 b29rIDMuMjE1NSBtcwoweDc3ZjY2NDE0IGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCkNhbGwgdG9v ayAwLjY4NDcgbXMKU2luZ2xlIHN0ZXBwaW5nIHVudGlsIGV4aXQgZnJvbSBmdW5jdGlvbiBfX2tl cm5lbF92c3lzY2FsbCwKd2hpY2ggaGFzIG5vIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uLgptYWlu IChhcmdjPTIsIGFyZ3Y9MHg3ZmZmZWNiNCkgYXQgbXVzbF9nZXRhZGRyaW5mb190ZXN0LmM6MzcK MzcJICAgICAgICAgICAgICAgIGJyZWFrOwpDYWxsIHRvb2sgMC4xMzgwIG1zCjI2CSAgICAgICAg Zm9yIChycCA9IHJlc3VsdDsgcnAgIT0gTlVMTDsgcnAgPSBycC0+YWlfbmV4dCkgewpDYWxsIHRv b2sgMC4wMDU1IG1zCjI3CSAgICAgICAgICAgIHN3aXRjaCAocnAtPmFpX2ZhbWlseSkgewpDYWxs IHRvb2sgMC4wMTA5IG1zCjMwCSopcnAtPmFpX2FkZHIpLT5zaW5fYWRkciwgcywgSU5FVDZfQURE UlNUUkxFTik7CkNhbGwgdG9vayAwLjAxMTUgbXMKMjkJICAgICAgICAgICAgICAgIGluZXRfbnRv cChBRl9JTkVULCAmKChzdHJ1Y3Qgc29ja2FkZHJfaW4KQ2FsbCB0b29rIDAuMDA3OCBtcwozMQkg ICAgICAgICAgICAgICAgcHJpbnRmKCJBRl9JTkVUOiAlc1xuIiwgcyk7CkNhbGwgdG9vayAxLjM0 MDMgbXMKMHg3N2Y2NjQxNCBpbiBfX2tlcm5lbF92c3lzY2FsbCAoKQpDYWxsIHRvb2sgMC42Mzc4 IG1zClNpbmdsZSBzdGVwcGluZyB1bnRpbCBleGl0IGZyb20gZnVuY3Rpb24gX19rZXJuZWxfdnN5 c2NhbGwsCndoaWNoIGhhcyBubyBsaW5lIG51bWJlciBpbmZvcm1hdGlvbi4KbWFpbiAoYXJnYz0y LCBhcmd2PTB4N2ZmZmVjYjQpIGF0IG11c2xfZ2V0YWRkcmluZm9fdGVzdC5jOjMyCjMyCSAgICAg ICAgICAgICAgICBicmVhazsKQ2FsbCB0b29rIDAuMDg5NyBtcwoyNgkgICAgICAgIGZvciAocnAg PSByZXN1bHQ7IHJwICE9IE5VTEw7IHJwID0gcnAtPmFpX25leHQpIHsKQ2FsbCB0b29rIDAuMDA0 NyBtcwo0MQkgICAgICAgIGZyZWVhZGRyaW5mbyhyZXN1bHQpOwpDYWxsIHRvb2sgMC4wMDg1IG1z CjQyCSAgICB9CkNhbGwgdG9vayAwLjI5OTQgbXMKMHg1NTU1NTZlMCBpbiBfX2RvX2dsb2JhbF9k dG9yc19hdXggKCkKQ2FsbCB0b29rIDAuMzE3OSBtcwpTaW5nbGUgc3RlcHBpbmcgdW50aWwgZXhp dCBmcm9tIGZ1bmN0aW9uIF9fZG9fZ2xvYmFsX2R0b3JzX2F1eCwKd2hpY2ggaGFzIG5vIGxpbmUg bnVtYmVyIGluZm9ybWF0aW9uLgpbSW5mZXJpb3IgMSAocHJvY2VzcyAyMzQyMikgZXhpdGVkIG5v cm1hbGx5XQpDYWxsIHRvb2sgMC4wNDE0IG1zCkRlbGV0ZWQgYnJlYWtwb2ludCAxIApTdGFydGlu ZyBwcm9ncmFtOiAvdXNyL2xvY2FsL3RtcC9jcmV3L211c2xfZ2V0YWRkcmluZm9fdGVzdC4yMDIy MDIxNTIyMTEzMy5kaXIvbXVzbF9nZXRhZGRyaW5mb190ZXN0IGdvb2dsZS5jb20gMj4+IGdkYi5v dXQKd2FybmluZzogVW5hYmxlIHRvIGZpbmQgbGlidGhyZWFkX2RiIG1hdGNoaW5nIGluZmVyaW9y J3MgdGhyZWFkIGxpYnJhcnksIHRocmVhZCBkZWJ1Z2dpbmcgd2lsbCBub3QgYmUgYXZhaWxhYmxl LgpnZXRhZGRyaW5mbzogVHJ5IGFnYWluCltJbmZlcmlvciAxIChwcm9jZXNzIDIzNTExKSBleGl0 ZWQgd2l0aCBjb2RlIDAxXQo= --000000000000b7d18105d8167311--