<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>217163</bug_id>
          
          <creation_ts>2020-09-30 19:50:57 -0700</creation_ts>
          <short_desc>REGRESSION(r267763) [SOUP] Some tests flaky crashing in NetworkSessionSoup::soupSession()</short_desc>
          <delta_ts>2020-10-05 13:25:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=217267</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1693632</commentid>
    <comment_count>0</comment_count>
      <attachid>410196</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-09-30 19:50:57 -0700</bug_when>
    <thetext>Created attachment 410196
webrtc/missing-exception-checks-RTCPeerConnection-generateCertificate.html Crash log

Some tests affected after r267763

fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html
fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html
webrtc/missing-exception-checks-RTCPeerConnection-generateCertificate.html
fast/mediastream/RTCPeerConnection-overloaded-operations.html

Regarding this last one, I could not reproduce it locally and the bots aren&apos;t generating the crash dump like the others.

Snippet of the trace (full one attached):

Thread 1 (Thread 0x7fc97a6f79c0 (LWP 2953)):
#0  0x00007fc9837868d0 in WebKit::NetworkSessionSoup::soupSession() const () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007fc98540b3d6 in WebCore::DNSResolveQueueSoup::resolve(WTF::String const&amp;, unsigned long, WTF::CompletionHandler&lt;void (std::experimental::fundamentals_v3::expected&lt;WTF::Vector&lt;WebCore::IPAddress, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;, WebCore::DNSError&gt;&amp;&amp;)&gt;&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007fc9837a571b in WebKit::NetworkRTCProvider::createResolver(WTF::ObjectIdentifier&lt;WebKit::LibWebRTCResolverIdentifierType&gt;, WTF::String&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007fc981128778 in WTF::RunLoop::performWork() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#4  0x00007fc98118ae99 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#5  0x00007fc98118b84f in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#6  0x00007fc97ca7e04f in g_main_dispatch (context=0x562a17a350e0) at ../glib/gmain.c:3325
#7  g_main_context_dispatch (context=0x562a17a350e0) at ../glib/gmain.c:4016
#8  0x00007fc97ca7e3f8 in g_main_context_iterate (context=0x562a17a350e0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4092
#9  0x00007fc97ca7e713 in g_main_loop_run (loop=0x562a17a36200) at ../glib/gmain.c:4290
#10 0x00007fc98118b998 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#11 0x00007fc98378996c in WebKit::NetworkProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#12 0x00007fc97b610022 in __libc_start_main (main=0x562a15f0ebe0 &lt;main&gt;, argc=3, argv=0x7ffe586a4338, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffe586a4328) at ../csu/libc-start.c:308
#13 0x0000562a15f0ec5e in _start () at ../sysdeps/x86_64/start.S:120</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693659</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-01 00:15:44 -0700</bug_when>
    <thetext>I have to fix the DNS resolver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694143</commentid>
    <comment_count>2</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-10-02 10:44:57 -0700</bug_when>
    <thetext>For completeness, the test below is also flaky crashing with the same trace (had to check locally, the bot was not generating trace for it).

fast/mediastream/RTCPeerConnection-onnegotiationneeded.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694650</commentid>
    <comment_count>3</comment_count>
      <attachid>410508</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-05 01:36:31 -0700</bug_when>
    <thetext>Created attachment 410508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694651</commentid>
    <comment_count>4</comment_count>
      <attachid>410509</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-05 01:44:41 -0700</bug_when>
    <thetext>Created attachment 410509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694824</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-05 13:24:25 -0700</bug_when>
    <thetext>Committed r267999: &lt;https://trac.webkit.org/changeset/267999&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410509.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694826</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-05 13:25:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/69968509&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>410196</attachid>
            <date>2020-09-30 19:50:57 -0700</date>
            <delta_ts>2020-09-30 19:50:57 -0700</delta_ts>
            <desc>webrtc/missing-exception-checks-RTCPeerConnection-generateCertificate.html Crash log</desc>
            <filename>missing-exception-checks-RTCPeerConnection-generateCertificate-crash-log.txt</filename>
            <type>text/plain</type>
            <size>23569</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">Y3Jhc2ggbG9nIGZvciBXZWJLaXROZXR3b3JrUHJvY2VzcyAocGlkIDI5NTMpOgoKW05ldyBMV1Ag
Mjk1M10KW05ldyBMV1AgMjk2MF0KW05ldyBMV1AgMjk2MV0KW05ldyBMV1AgMjk1N10KW05ldyBM
V1AgMjk2Ml0KW05ldyBMV1AgMjk3OF0KW05ldyBMV1AgMjk1OV0KW05ldyBMV1AgMjk2Nl0KW05l
dyBMV1AgMjk1Nl0KW05ldyBMV1AgMjk2NV0KW05ldyBMV1AgMjk5MF0KW05ldyBMV1AgMjk1OF0K
W05ldyBMV1AgMjk4NF0KW05ldyBMV1AgMjk2M10KW05ldyBMV1AgMjk4NV0KW05ldyBMV1AgMjk2
OF0KW05ldyBMV1AgMjk2NF0KW05ldyBMV1AgMjk2N10KW1RocmVhZCBkZWJ1Z2dpbmcgdXNpbmcg
bGlidGhyZWFkX2RiIGVuYWJsZWRdClVzaW5nIGhvc3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi91
c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGlidGhyZWFkX2RiLnNvLjEiLgpDb3JlIHdhcyBnZW5l
cmF0ZWQgYnkgYC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvYmluL1dlYktpdE5ldHdv
cmtQcm9jZXNzIDUgMTMnLgpQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgU0lHU0VHViwg
U2VnbWVudGF0aW9uIGZhdWx0LgojMCAgMHgwMDAwN2ZjOTgzNzg2OGQwIGluIFdlYktpdDo6TmV0
d29ya1Nlc3Npb25Tb3VwOjpzb3VwU2Vzc2lvbigpIGNvbnN0ICgpIGZyb20gL2FwcC93ZWJraXQv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKW0N1cnJlbnQg
dGhyZWFkIGlzIDEgKFRocmVhZCAweDdmYzk3YTZmNzljMCAoTFdQIDI5NTMpKV0KClRocmVhZCAx
OCAoVGhyZWFkIDB4N2ZjOTBiZmZmNzAwIChMV1AgMjk2NykpOgojMCAgMHgwMDAwN2ZjOTdiNmRm
NmVmIGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmM5MDQwMDMyZTAsIG5mZHM9MSwgdGltZW91dD0t
MSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmM5
N2NhN2UzOGUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+
LCBuX2Zkcz0xLCBmZHM9MHg3ZmM5MDQwMDMyZTAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBj
b250ZXh0PTB4N2ZjOTA0MDAwYjYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDM5NQojMiAgZ19tYWlu
X2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmYzkwNDAwMGI2MCwgYmxvY2s9YmxvY2tAZW50
cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0
IC4uL2dsaWIvZ21haW4uYzo0MDg3CiMzICAweDAwMDA3ZmM5N2NhN2U3MTMgaW4gZ19tYWluX2xv
b3BfcnVuIChsb29wPTB4N2ZjOTA0MDAzMjAwKSBhdCAuLi9nbGliL2dtYWluLmM6NDI5MAojNCAg
MHgwMDAwN2ZjOTgxMThiOTk4IGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgL2FwcC93ZWJr
aXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4
CiM1ICAweDAwMDA3ZmM5ODExMmE0NzkgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpU
aHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9S
ZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmYzk4
MTE4ZGFhOSBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGF0IC9hcHAvd2Vi
a2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4x
OAojNyAgMHgwMDAwN2ZjOTdkYjcyNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQg
b3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzggIDB4MDAwMDdmYzk3YjZlYTRkMyBpbiBj
bG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoK
VGhyZWFkIDE3IChUaHJlYWQgMHg3ZmM5MjlmZmI3MDAgKExXUCAyOTY0KSk6CiMwICBzeXNjYWxs
ICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxsLlM6MzgKIzEg
IDB4MDAwMDdmYzk3Y2FkMDQ3NiBpbiBnX2NvbmRfd2FpdF91bnRpbCAoY29uZD1jb25kQGVudHJ5
PTB4NTYyYTE3YTNlMTQ4LCBtdXRleD1tdXRleEBlbnRyeT0weDU2MmExN2EzZTE0MCwgZW5kX3Rp
bWU9ZW5kX3RpbWVAZW50cnk9MzY4NjQ5MjEyMTgpIGF0IC4uL2dsaWIvZ3RocmVhZC1wb3NpeC5j
OjE1ODgKIzIgIDB4MDAwMDdmYzk3Y2E0ZDRmMSBpbiBnX2FzeW5jX3F1ZXVlX3BvcF9pbnRlcm5f
dW5sb2NrZWQgKHF1ZXVlPTB4NTYyYTE3YTNlMTQwLCB3YWl0PTEsIGVuZF90aW1lPTM2ODY0OTIx
MjE4KSBhdCAuLi9nbGliL2dhc3luY3F1ZXVlLmM6NDIyCiMzICAweDAwMDA3ZmM5N2NhYTg4ZGEg
aW4gZ190aHJlYWRfcG9vbF93YWl0X2Zvcl9uZXdfdGFzayAocG9vbD08b3B0aW1pemVkIG91dD4p
IGF0IC4uL2dsaWIvZ3RocmVhZHBvb2wuYzoyNzgKIzQgIGdfdGhyZWFkX3Bvb2xfdGhyZWFkX3By
b3h5IChkYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9ndGhyZWFkcG9vbC5jOjM0Mwoj
NSAgMHgwMDAwN2ZjOTdjYWE3ZTgxIGluIGdfdGhyZWFkX3Byb3h5IChkYXRhPTB4N2ZjOTE0MDAy
MTIwKSBhdCAuLi9nbGliL2d0aHJlYWQuYzo4MTkKIzYgIDB4MDAwMDdmYzk3ZGI3MjRkMiBpbiBz
dGFydF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3
CiM3ICAweDAwMDA3ZmM5N2I2ZWE0ZDMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAxNiAoVGhyZWFkIDB4N2ZjOTBiN2Zl
NzAwIChMV1AgMjk2OCkpOgojMCAgMHgwMDAwN2ZjOTdiNmRmNmVmIGluIF9fR0lfX19wb2xsIChm
ZHM9MHg3ZmM4ZmMwMDNkMTAsIG5mZHM9MSwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmM5N2NhN2UzOGUgaW4gZ19tYWluX2Nv
bnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBmZHM9MHg3ZmM4
ZmMwMDNkMTAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZjOGZjMDAwYjYw
KSBhdCAuLi9nbGliL2dtYWluLmM6NDM5NQojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29u
dGV4dD0weDdmYzhmYzAwMGI2MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0
Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0MDg3
CiMzICAweDAwMDA3ZmM5N2NhN2U3MTMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZjOGZj
MDAzYzMwKSBhdCAuLi9nbGliL2dtYWluLmM6NDI5MAojNCAgMHgwMDAwN2ZjOTgxMThiOTk4IGlu
IFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM1ICAweDAwMDA3ZmM5ODExMmE0
NzkgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRl
eHQqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2Ny
aXB0Y29yZWd0ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmYzk4MTE4ZGFhOSBpbiBXVEY6Ond0ZlRo
cmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVh
c2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZjOTdkYjcy
NGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVh
dGUuYzo0NzcKIzggIDB4MDAwMDdmYzk3YjZlYTRkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDE1IChUaHJlYWQgMHg3
ZmM5MDlmZmI3MDAgKExXUCAyOTg1KSk6CiMwICBzeXNjYWxsICgpIGF0IC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxsLlM6MzgKIzEgIDB4MDAwMDdmYzk3Y2FkMDQ3NiBp
biBnX2NvbmRfd2FpdF91bnRpbCAoY29uZD1jb25kQGVudHJ5PTB4NTYyYTE3YTNlMTQ4LCBtdXRl
eD1tdXRleEBlbnRyeT0weDU2MmExN2EzZTE0MCwgZW5kX3RpbWU9ZW5kX3RpbWVAZW50cnk9MzY4
NjQ5MjEyNTUpIGF0IC4uL2dsaWIvZ3RocmVhZC1wb3NpeC5jOjE1ODgKIzIgIDB4MDAwMDdmYzk3
Y2E0ZDRmMSBpbiBnX2FzeW5jX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQgKHF1ZXVlPTB4NTYy
YTE3YTNlMTQwLCB3YWl0PTEsIGVuZF90aW1lPTM2ODY0OTIxMjU1KSBhdCAuLi9nbGliL2dhc3lu
Y3F1ZXVlLmM6NDIyCiMzICAweDAwMDA3ZmM5N2NhYTg4ZGEgaW4gZ190aHJlYWRfcG9vbF93YWl0
X2Zvcl9uZXdfdGFzayAocG9vbD08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ3RocmVhZHBv
b2wuYzoyNzgKIzQgIGdfdGhyZWFkX3Bvb2xfdGhyZWFkX3Byb3h5IChkYXRhPTxvcHRpbWl6ZWQg
b3V0PikgYXQgLi4vZ2xpYi9ndGhyZWFkcG9vbC5jOjM0MwojNSAgMHgwMDAwN2ZjOTdjYWE3ZTgx
IGluIGdfdGhyZWFkX3Byb3h5IChkYXRhPTB4NTYyYTE3YTcwNzAwKSBhdCAuLi9nbGliL2d0aHJl
YWQuYzo4MTkKIzYgIDB4MDAwMDdmYzk3ZGI3MjRkMiBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0
aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiM3ICAweDAwMDA3ZmM5N2I2ZWE0
ZDMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25l
LlM6OTUKClRocmVhZCAxNCAoVGhyZWFkIDB4N2ZjOTJhN2ZjNzAwIChMV1AgMjk2MykpOgojMCAg
MHgwMDAwN2ZjOTdiNmRmNmVmIGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmM5MTQwMDUwMDAsIG5m
ZHM9MSwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5
CiMxICAweDAwMDA3ZmM5N2NhN2UzOGUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9
PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBmZHM9MHg3ZmM5MTQwMDUwMDAsIHRpbWVvdXQ9PG9w
dGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZjOTE0MDAwYjYwKSBhdCAuLi9nbGliL2dtYWluLmM6
NDM5NQojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmYzkxNDAwMGI2MCwg
YmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0
aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0MDg3CiMzICAweDAwMDA3ZmM5N2NhN2U3
MTMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZjOTE0MDAzZTYwKSBhdCAuLi9nbGliL2dt
YWluLmM6NDI5MAojNCAgMHgwMDAwN2ZjOTgxMThiOTk4IGluIFdURjo6UnVuTG9vcDo6cnVuKCkg
KCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNv
cmVndGstNC4wLnNvLjE4CiM1ICAweDAwMDA3ZmM5ODExMmE0NzkgaW4gV1RGOjpUaHJlYWQ6OmVu
dHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAoKSBhdCAvYXBwL3dlYmtp
dC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgK
IzYgIDB4MDAwMDdmYzk4MTE4ZGFhOSBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCop
ICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRj
b3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZjOTdkYjcyNGQyIGluIHN0YXJ0X3RocmVhZCAo
YXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzggIDB4MDAwMDdm
Yzk3YjZlYTRkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvY2xvbmUuUzo5NQoKVGhyZWFkIDEzIChUaHJlYWQgMHg3ZmM5MGE3ZmM3MDAgKExXUCAyOTg0
KSk6CiMwICBzeXNjYWxsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNjYWxsLlM6MzgKIzEgIDB4MDAwMDdmYzk3Y2FkMDQ3NiBpbiBnX2NvbmRfd2FpdF91bnRpbCAo
Y29uZD1jb25kQGVudHJ5PTB4NTYyYTE3YTNlMTQ4LCBtdXRleD1tdXRleEBlbnRyeT0weDU2MmEx
N2EzZTE0MCwgZW5kX3RpbWU9ZW5kX3RpbWVAZW50cnk9MzY4NjQ5MjEyMzMpIGF0IC4uL2dsaWIv
Z3RocmVhZC1wb3NpeC5jOjE1ODgKIzIgIDB4MDAwMDdmYzk3Y2E0ZDRmMSBpbiBnX2FzeW5jX3F1
ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQgKHF1ZXVlPTB4NTYyYTE3YTNlMTQwLCB3YWl0PTEsIGVu
ZF90aW1lPTM2ODY0OTIxMjMzKSBhdCAuLi9nbGliL2dhc3luY3F1ZXVlLmM6NDIyCiMzICAweDAw
MDA3ZmM5N2NhYTg4ZGEgaW4gZ190aHJlYWRfcG9vbF93YWl0X2Zvcl9uZXdfdGFzayAocG9vbD08
b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ3RocmVhZHBvb2wuYzoyNzgKIzQgIGdfdGhyZWFk
X3Bvb2xfdGhyZWFkX3Byb3h5IChkYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9ndGhy
ZWFkcG9vbC5jOjM0MwojNSAgMHgwMDAwN2ZjOTdjYWE3ZTgxIGluIGdfdGhyZWFkX3Byb3h5IChk
YXRhPTB4NTYyYTE3YTcwNmEwKSBhdCAuLi9nbGliL2d0aHJlYWQuYzo4MTkKIzYgIDB4MDAwMDdm
Yzk3ZGI3MjRkMiBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJl
YWRfY3JlYXRlLmM6NDc3CiM3ICAweDAwMDA3ZmM5N2I2ZWE0ZDMgaW4gY2xvbmUgKCkgYXQgLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAxMiAoVGhy
ZWFkIDB4N2ZjOTM5MmZmNzAwIChMV1AgMjk1OCkpOgojMCAgMHgwMDAwN2ZjOTdiNmRmNmVmIGlu
IF9fR0lfX19wb2xsIChmZHM9MHg1NjJhMTdhNDMyYTAsIG5mZHM9MiwgdGltZW91dD0tMSkgYXQg
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmM5N2NhN2Uz
OGUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zk
cz0yLCBmZHM9MHg1NjJhMTdhNDMyYTAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0
PTB4NTYyYTE3YTQ1NWQwKSBhdCAuLi9nbGliL2dtYWluLmM6NDM5NQojMiAgZ19tYWluX2NvbnRl
eHRfaXRlcmF0ZSAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4NTYyYTE3YTQ1NWQwLCBibG9jaz1i
bG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQg
b3V0PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjQwODcKIzMgIDB4MDAwMDdmYzk3Y2E3ZTRjMyBpbiBn
X21haW5fY29udGV4dF9pdGVyYXRpb24gKGNvbnRleHQ9MHg1NjJhMTdhNDU1ZDAsIG1heV9ibG9j
az1tYXlfYmxvY2tAZW50cnk9MSkgYXQgLi4vZ2xpYi9nbWFpbi5jOjQxNTcKIzQgIDB4MDAwMDdm
Yzk3Y2E3ZTUxMSBpbiBnbGliX3dvcmtlcl9tYWluIChkYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQg
Li4vZ2xpYi9nbWFpbi5jOjYwNDkKIzUgIDB4MDAwMDdmYzk3Y2FhN2U4MSBpbiBnX3RocmVhZF9w
cm94eSAoZGF0YT0weDU2MmExN2EzZDA2MCkgYXQgLi4vZ2xpYi9ndGhyZWFkLmM6ODE5CiM2ICAw
eDAwMDA3ZmM5N2RiNzI0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojNyAgMHgwMDAwN2ZjOTdiNmVhNGQzIGluIGNsb25lICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQg
MTEgKFRocmVhZCAweDdmYzkwOTdmYTcwMCAoTFdQIDI5OTApKToKIzAgIF9pbnRfbWFsbG9jIChh
dj1hdkBlbnRyeT0weDdmYzhmMDAwMDAyMCwgYnl0ZXM9Ynl0ZXNAZW50cnk9MTg0OCkgYXQgbWFs
bG9jLmM6NDA2MgojMSAgMHgwMDAwN2ZjOTdiNjc1ZWU1IGluIF9fbGliY19jYWxsb2MgKG49bkBl
bnRyeT0xLCBlbGVtX3NpemU9ZWxlbV9zaXplQGVudHJ5PTE4NDgpIGF0IG1hbGxvYy5jOjM0MjgK
IzIgIDB4MDAwMDdmYzk3YjcwNGRkMyBpbiBnZXRpZmFkZHJzX2ludGVybmFsIChpZmFwPTB4N2Zj
OTA5N2Y5YTA4KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZmFkZHJzLmM6NDE4CiMz
ICAweDAwMDA3ZmM5N2I3MDU4ZDggaW4gX19HSV9fX2dldGlmYWRkcnMgKGlmYXA9MHg3ZmM5MDk3
ZjlhMDgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmYWRkcnMuYzo4MzgKIzQgIDB4
MDAwMDdmYzk4M2MzYzI1YyBpbiBydGM6OkJhc2ljTmV0d29ya01hbmFnZXI6OkNyZWF0ZU5ldHdv
cmtzKGJvb2wsIHN0ZDo6dmVjdG9yPHJ0Yzo6TmV0d29yayosIHN0ZDo6YWxsb2NhdG9yPHJ0Yzo6
TmV0d29yayo+ID4qKSBjb25zdCAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNl
L2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojNSAgMHgwMDAwN2ZjOTgzYzNkNGE0IGluIHJ0
Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcjo6VXBkYXRlTmV0d29ya3NPbmNlKCkgKCkgYXQgL2FwcC93
ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzYg
IDB4MDAwMDdmYzk4M2MzZDVlZCBpbiBydGM6OkJhc2ljTmV0d29ya01hbmFnZXI6OlVwZGF0ZU5l
dHdvcmtzQ29udGludWFsbHkoKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNl
L2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojNyAgMHgwMDAwN2ZjOTgzYzQ3Y2RjIGluIHJ0
Yzo6VGhyZWFkOjpEaXNwYXRjaChydGM6Ok1lc3NhZ2UqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJL
aXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojOCAgMHgwMDAwN2Zj
OTgzYzQ5YzBjIGluIHJ0Yzo6VGhyZWFkOjpQcm9jZXNzTWVzc2FnZXMoaW50KSAoKSBhdCAvYXBw
L3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwoj
OSAgMHgwMDAwN2ZjOTgzYzQ5ZTU4IGluIHJ0Yzo6VGhyZWFkOjpQcmVSdW4odm9pZCopICgpIGF0
IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNv
LjM3CiMxMCAweDAwMDA3ZmM5N2RiNzI0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXpl
ZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEgMHgwMDAwN2ZjOTdiNmVhNGQzIGlu
IGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1
CgpUaHJlYWQgMTAgKFRocmVhZCAweDdmYzkyOTNmZjcwMCAoTFdQIDI5NjUpKToKIzAgIDB4MDAw
MDdmYzk3YjZkZjZlZiBpbiBfX0dJX19fcG9sbCAoZmRzPTB4N2ZjOTBjMDA1MDAwLCBuZmRzPTEs
IHRpbWVvdXQ9NDQwNykgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMx
ICAweDAwMDA3ZmM5N2NhN2UzOGUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9w
dGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBmZHM9MHg3ZmM5MGMwMDUwMDAsIHRpbWVvdXQ9PG9wdGlt
aXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZjOTBjMDAwYjYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDM5
NQojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmYzkwYzAwMGI2MCwgYmxv
Y2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1p
emVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0MDg3CiMzICAweDAwMDA3ZmM5N2NhN2U3MTMg
aW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZjOTBjMDAzZTYwKSBhdCAuLi9nbGliL2dtYWlu
LmM6NDI5MAojNCAgMHgwMDAwN2ZjOTgxMThiOTk4IGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkg
YXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVn
dGstNC4wLnNvLjE4CiM1ICAweDAwMDA3ZmM5ODExMmE0NzkgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5
UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAoKSBhdCAvYXBwL3dlYmtpdC9X
ZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzYg
IDB4MDAwMDdmYzk4MTE4ZGFhOSBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICgp
IGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZjOTdkYjcyNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJn
PTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzggIDB4MDAwMDdmYzk3
YjZlYTRkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
Y2xvbmUuUzo5NQoKVGhyZWFkIDkgKFRocmVhZCAweDdmYzk3YTZiMTcwMCAoTFdQIDI5NTYpKToK
IzAgIGZ1dGV4X2Fic3RpbWVkX3dhaXRfY2FuY2VsYWJsZSAocHJpdmF0ZT0wLCBhYnN0aW1lPTB4
N2ZjOTdhNmIwYmYwLCBjbG9ja2lkPTIwNTM4MzU1NjgsIGV4cGVjdGVkPTAsIGZ1dGV4X3dvcmQ9
MHg3ZmM5ODE0ZWJhZTggPGJtYWxsb2M6OlN0YXRpY1BlclByb2Nlc3NTdG9yYWdlVHJhaXRzPGJt
YWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5KzcyPikgYXQgLi4vc3lzZGVwcy9u
cHRsL2Z1dGV4LWludGVybmFsLmg6MzIwCiMxICBfX3B0aHJlYWRfY29uZF93YWl0X2NvbW1vbiAo
YWJzdGltZT0weDdmYzk3YTZiMGJmMCwgY2xvY2tpZD0yMDUzODM1NTY4LCBtdXRleD0weDU2MmEx
N2EzNDhlMCwgY29uZD0weDdmYzk4MTRlYmFjMCA8Ym1hbGxvYzo6U3RhdGljUGVyUHJvY2Vzc1N0
b3JhZ2VUcmFpdHM8Ym1hbGxvYzo6U2NhdmVuZ2VyPjo6U3RvcmFnZTo6c19tZW1vcnkrMzI+KSBh
dCBwdGhyZWFkX2NvbmRfd2FpdC5jOjUyMAojMiAgX19wdGhyZWFkX2NvbmRfY2xvY2t3YWl0IChh
YnN0aW1lPTB4N2ZjOTdhNmIwYmYwLCBjbG9ja2lkPTIwNTM4MzU1NjgsIG11dGV4PTB4NTYyYTE3
YTM0OGUwLCBjb25kPTB4N2ZjOTgxNGViYWMwIDxibWFsbG9jOjpTdGF0aWNQZXJQcm9jZXNzU3Rv
cmFnZVRyYWl0czxibWFsbG9jOjpTY2F2ZW5nZXI+OjpTdG9yYWdlOjpzX21lbW9yeSszMj4pIGF0
IHB0aHJlYWRfY29uZF93YWl0LmM6Njc3CiMzICBfX3B0aHJlYWRfY29uZF9jbG9ja3dhaXQgKGNv
bmQ9MHg3ZmM5ODE0ZWJhYzAgPGJtYWxsb2M6OlN0YXRpY1BlclByb2Nlc3NTdG9yYWdlVHJhaXRz
PGJtYWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5KzMyPiwgbXV0ZXg9MHg1NjJh
MTdhMzQ4ZTAsIGNsb2NraWQ9MjA1MzgzNTU2OCwgYWJzdGltZT0weDdmYzk3YTZiMGJmMCkgYXQg
cHRocmVhZF9jb25kX3dhaXQuYzo2NjUKIzQgIDB4MDAwMDdmYzk4MTE5Yzc3YyBpbiBibWFsbG9j
OjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWls
ZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzUgIDB4MDAwMDdm
Yzk4MTE5YzhlOSBpbiAgKCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIv
bGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM2ICAweDAwMDA3ZmM5N2I5ZmVhNzQgaW4g
c3RkOjpleGVjdXRlX25hdGl2ZV90aHJlYWRfcm91dGluZSh2b2lkKikgKF9fcD0weDU2MmExN2Ez
NDkxMCkgYXQgLi4vLi4vLi4vLi4vLi4vbGlic3RkYysrLXYzL3NyYy9jKysxMS90aHJlYWQuY2M6
ODAKIzcgIDB4MDAwMDdmYzk3ZGI3MjRkMiBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0aW1pemVk
IG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiM4ICAweDAwMDA3ZmM5N2I2ZWE0ZDMgaW4g
Y2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUK
ClRocmVhZCA4IChUaHJlYWQgMHg3ZmM5MjhiZmU3MDAgKExXUCAyOTY2KSk6CiMwICBmdXRleF93
YWl0X2NhbmNlbGFibGUgKHByaXZhdGU9MCwgZXhwZWN0ZWQ9MCwgZnV0ZXhfd29yZD0weDdmYzk3
OWRhZTA2MCkgYXQgLi4vc3lzZGVwcy9ucHRsL2Z1dGV4LWludGVybmFsLmg6MTgzCiMxICBfX3B0
aHJlYWRfY29uZF93YWl0X2NvbW1vbiAoYWJzdGltZT0weDAsIGNsb2NraWQ9MCwgbXV0ZXg9MHg3
ZmM5NzlkYWUwMTAsIGNvbmQ9MHg3ZmM5NzlkYWUwMzgpIGF0IHB0aHJlYWRfY29uZF93YWl0LmM6
NTA4CiMyICBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4N2ZjOTc5ZGFlMDM4LCBtdXRleD0w
eDdmYzk3OWRhZTAxMCkgYXQgcHRocmVhZF9jb25kX3dhaXQuYzo2MzgKIzMgIDB4MDAwMDdmYzk4
MTE4ZTJkYiBpbiBXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KFdURjo6TXV0ZXgmLCBX
VEY6OldhbGxUaW1lKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9s
aWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzQgIDB4MDAwMDdmYzk4MTEyNWFhMyBpbiBX
VEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpT
Y29wZWRMYW1iZGE8Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBj
b25zdCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKCkgYXQgL2FwcC93
ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNv
LjE4CiM1ICAweDAwMDA3ZmM5ODYyNmM4YjAgaW4gV1RGOjpDcm9zc1RocmVhZFF1ZXVlPFdURjo6
Q3Jvc3NUaHJlYWRUYXNrPjo6d2FpdEZvck1lc3NhZ2UoKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJL
aXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojNiAgMHgwMDAwN2Zj
OTg2MjZjMmFhIGluIFdURjo6Q3Jvc3NUaHJlYWRUYXNrSGFuZGxlcjo6dGFza1J1bkxvb3AoKSAo
KSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQu
MC5zby4zNwojNyAgMHgwMDAwN2ZjOTg2MjZjMzVkIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdy
YXBwZXI8V1RGOjpDcm9zc1RocmVhZFRhc2tIYW5kbGVyOjpDcm9zc1RocmVhZFRhc2tIYW5kbGVy
KGNoYXIgY29uc3QqLCBXVEY6OkNyb3NzVGhyZWFkVGFza0hhbmRsZXI6OkF1dG9kcmFpbmVkUG9v
bEZvclJ1bkxvb3ApOjp7bGFtYmRhKCkjMX0sIHZvaWQ+OjpjYWxsKCkgKCkgYXQgL2FwcC93ZWJr
aXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzggIDB4
MDAwMDdmYzk4MTEyYTQ3OSBpbiBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6
TmV3VGhyZWFkQ29udGV4dCopICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojOSAgMHgwMDAwN2ZjOTgxMThkYWE5
IGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgYXQgL2FwcC93ZWJraXQvV2Vi
S2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiMxMCAw
eDAwMDA3ZmM5N2RiNzI0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEgMHgwMDAwN2ZjOTdiNmVhNGQzIGluIGNsb25lICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQg
NyAoVGhyZWFkIDB4N2ZjOTM4YWZlNzAwIChMV1AgMjk1OSkpOgojMCAgMHgwMDAwN2ZjOTdiNmRm
NmVmIGluIF9fR0lfX19wb2xsIChmZHM9MHg1NjJhMTdhNTdlNTAsIG5mZHM9MywgdGltZW91dD0t
MSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmM5
N2NhN2UzOGUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+
LCBuX2Zkcz0zLCBmZHM9MHg1NjJhMTdhNTdlNTAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBj
b250ZXh0PTB4NTYyYTE3YTU2NjQwKSBhdCAuLi9nbGliL2dtYWluLmM6NDM5NQojMiAgZ19tYWlu
X2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDU2MmExN2E1NjY0MCwgYmxvY2s9YmxvY2tAZW50
cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0
IC4uL2dsaWIvZ21haW4uYzo0MDg3CiMzICAweDAwMDA3ZmM5N2NhN2U3MTMgaW4gZ19tYWluX2xv
b3BfcnVuIChsb29wPTB4NTYyYTE3YTU2NzMwKSBhdCAuLi9nbGliL2dtYWluLmM6NDI5MAojNCAg
MHgwMDAwN2ZjOTdjY2UyM2RhIGluIGdkYnVzX3NoYXJlZF90aHJlYWRfZnVuYyAodXNlcl9kYXRh
PTB4NTYyYTE3YTU2NjEwKSBhdCAuLi9naW8vZ2RidXNwcml2YXRlLmM6MjgwCiM1ICAweDAwMDA3
ZmM5N2NhYTdlODEgaW4gZ190aHJlYWRfcHJveHkgKGRhdGE9MHg1NjJhMTdhM2Q4NjApIGF0IC4u
L2dsaWIvZ3RocmVhZC5jOjgxOQojNiAgMHgwMDAwN2ZjOTdkYjcyNGQyIGluIHN0YXJ0X3RocmVh
ZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzcgIDB4MDAw
MDdmYzk3YjZlYTRkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDYgKFRocmVhZCAweDdmYzkwYWZmZDcwMCAoTFdQIDI5
NzgpKToKIzAgIDB4MDAwMDdmYzk3YjZkZjZlZiBpbiBfX0dJX19fcG9sbCAoZmRzPTB4N2ZjOTAw
MDAzYjEwLCBuZmRzPTIsIHRpbWVvdXQ9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3BvbGwuYzoyOQojMSAgMHgwMDAwN2ZjOTdjYTdlMzhlIGluIGdfbWFpbl9jb250ZXh0X3BvbGwg
KHByaW9yaXR5PTxvcHRpbWl6ZWQgb3V0Piwgbl9mZHM9MiwgZmRzPTB4N2ZjOTAwMDAzYjEwLCB0
aW1lb3V0PTxvcHRpbWl6ZWQgb3V0PiwgY29udGV4dD0weDdmYzkwMDAwMGI2MCkgYXQgLi4vZ2xp
Yi9nbWFpbi5jOjQzOTUKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmM5
MDAwMDBiNjAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEs
IHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi9nbGliL2dtYWluLmM6NDA4NwojMyAgMHgwMDAw
N2ZjOTdjYTdlNzEzIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weDdmYzkwMDAwM2EzMCkgYXQg
Li4vZ2xpYi9nbWFpbi5jOjQyOTAKIzQgIDB4MDAwMDdmYzk4MTE4Yjk5OCBpbiBXVEY6OlJ1bkxv
b3A6OnJ1bigpICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmph
dmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgwMDAwN2ZjOTgxMTJhNDc5IGluIFdURjo6
VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKCkgYXQg
L2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGst
NC4wLnNvLjE4CiM2ICAweDAwMDA3ZmM5ODExOGRhYTkgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBv
aW50KHZvaWQqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJq
YXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzcgIDB4MDAwMDdmYzk3ZGI3MjRkMiBpbiBzdGFy
dF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiM4
ICAweDAwMDA3ZmM5N2I2ZWE0ZDMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCA1IChUaHJlYWQgMHg3ZmM5MmFmZmQ3MDAg
KExXUCAyOTYyKSk6CiMwICAweDAwMDA3ZmM5N2I2ZGY2ZWYgaW4gX19HSV9fX3BvbGwgKGZkcz0w
eDdmYzkyMDAwNTAwMCwgbmZkcz0xLCB0aW1lb3V0PS0xKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC9wb2xsLmM6MjkKIzEgIDB4MDAwMDdmYzk3Y2E3ZTM4ZSBpbiBnX21haW5fY29udGV4
dF9wb2xsIChwcmlvcml0eT08b3B0aW1pemVkIG91dD4sIG5fZmRzPTEsIGZkcz0weDdmYzkyMDAw
NTAwMCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNvbnRleHQ9MHg3ZmM5MjAwMDBiNjApIGF0
IC4uL2dsaWIvZ21haW4uYzo0Mzk1CiMyICBnX21haW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0
PTB4N2ZjOTIwMDAwYjYwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBl
bnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjQwODcKIzMg
IDB4MDAwMDdmYzk3Y2E3ZTcxMyBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmM5MjAwMDNl
NjApIGF0IC4uL2dsaWIvZ21haW4uYzo0MjkwCiM0ICAweDAwMDA3ZmM5ODExOGI5OTggaW4gV1RG
OjpSdW5Mb29wOjpydW4oKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzUgIDB4MDAwMDdmYzk4MTEyYTQ3OSBp
biBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCop
ICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRj
b3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2ZjOTgxMThkYWE5IGluIFdURjo6d3RmVGhyZWFk
RW50cnlQb2ludCh2b2lkKikgKCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9s
aWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3ICAweDAwMDA3ZmM5N2RiNzI0ZDIg
aW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5j
OjQ3NwojOCAgMHgwMDAwN2ZjOTdiNmVhNGQzIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQgNCAoVGhyZWFkIDB4N2ZjOTM5
Y2ZkNzAwIChMV1AgMjk1NykpOgojMCAgMHgwMDAwN2ZjOTdiNmRmNmVmIGluIF9fR0lfX19wb2xs
IChmZHM9MHg3ZmM5MzQwMDUwMjAsIG5mZHM9MSwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmM5N2NhN2UzOGUgaW4gZ19tYWlu
X2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBmZHM9MHg3
ZmM5MzQwMDUwMjAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZjOTM0MDAw
YjYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDM5NQojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAo
Y29udGV4dD0weDdmYzkzNDAwMGI2MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlz
cGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0
MDg3CiMzICAweDAwMDA3ZmM5N2NhN2U3MTMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2Zj
OTM0MDAzZTYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDI5MAojNCAgMHgwMDAwN2ZjOTgxMThiOTk4
IGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVs
ZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM1ICAweDAwMDA3ZmM5ODEx
MmE0NzkgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENv
bnRleHQqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZh
c2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmYzk4MTE4ZGFhOSBpbiBXVEY6Ond0
ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1Jl
bGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZjOTdk
YjcyNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9j
cmVhdGUuYzo0NzcKIzggIDB4MDAwMDdmYzk3YjZlYTRkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDMgKFRocmVhZCAw
eDdmYzkyYjdmZTcwMCAoTFdQIDI5NjEpKToKIzAgIDB4MDAwMDdmYzk3YjZkZjZlZiBpbiBfX0dJ
X19fcG9sbCAoZmRzPTB4N2ZjOTFjMDAzMmUwLCBuZmRzPTEsIHRpbWVvdXQ9LTEpIGF0IC4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQojMSAgMHgwMDAwN2ZjOTdjYTdlMzhlIGlu
IGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTxvcHRpbWl6ZWQgb3V0Piwgbl9mZHM9MSwg
ZmRzPTB4N2ZjOTFjMDAzMmUwLCB0aW1lb3V0PTxvcHRpbWl6ZWQgb3V0PiwgY29udGV4dD0weDdm
YzkxYzAwMGI2MCkgYXQgLi4vZ2xpYi9nbWFpbi5jOjQzOTUKIzIgIGdfbWFpbl9jb250ZXh0X2l0
ZXJhdGUgKGNvbnRleHQ9MHg3ZmM5MWMwMDBiNjAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3Bh
dGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi9nbGliL2dt
YWluLmM6NDA4NwojMyAgMHgwMDAwN2ZjOTdjYTdlNzEzIGluIGdfbWFpbl9sb29wX3J1biAobG9v
cD0weDdmYzkxYzAwMzIwMCkgYXQgLi4vZ2xpYi9nbWFpbi5jOjQyOTAKIzQgIDB4MDAwMDdmYzk4
MTE4Yjk5OCBpbiBXVEY6OlJ1bkxvb3A6OnJ1bigpICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1
aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgwMDAw
N2ZjOTgxMTJhNDc5IGluIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdU
aHJlYWRDb250ZXh0KikgKCkgYXQgL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIv
bGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM2ICAweDAwMDA3ZmM5ODExOGRhYTkgaW4g
V1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRC
dWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzcgIDB4MDAw
MDdmYzk3ZGI3MjRkMiBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0
aHJlYWRfY3JlYXRlLmM6NDc3CiM4ICAweDAwMDA3ZmM5N2I2ZWE0ZDMgaW4gY2xvbmUgKCkgYXQg
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAyIChU
aHJlYWQgMHg3ZmM5MmJmZmY3MDAgKExXUCAyOTYwKSk6CiMwICAweDAwMDA3ZmM5N2I2ZGY2ZWYg
aW4gX19HSV9fX3BvbGwgKGZkcz0weDdmYzkyNDAwM2Y0MCwgbmZkcz0yLCB0aW1lb3V0PS0xKSBh
dCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKIzEgIDB4MDAwMDdmYzk3Y2E3
ZTM4ZSBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT08b3B0aW1pemVkIG91dD4sIG5f
ZmRzPTIsIGZkcz0weDdmYzkyNDAwM2Y0MCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNvbnRl
eHQ9MHg3ZmM5MjQwMDBiNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0Mzk1CiMyICBnX21haW5fY29u
dGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZjOTI0MDAwYjYwLCBibG9jaz1ibG9ja0BlbnRyeT0x
LCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4v
Z2xpYi9nbWFpbi5jOjQwODcKIzMgIDB4MDAwMDdmYzk3Y2E3ZTcxMyBpbiBnX21haW5fbG9vcF9y
dW4gKGxvb3A9MHg3ZmM5MjQwMDNlNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0MjkwCiM0ICAweDAw
MDA3ZmM5ODExOGI5OTggaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBhdCAvYXBwL3dlYmtpdC9X
ZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzUg
IDB4MDAwMDdmYzk4MTEyYTQ3OSBpbiBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVh
ZDo6TmV3VGhyZWFkQ29udGV4dCopICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVh
c2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2ZjOTgxMThk
YWE5IGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgYXQgL2FwcC93ZWJraXQv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3
ICAweDAwMDA3ZmM5N2RiNzI0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+
KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojOCAgMHgwMDAwN2ZjOTdiNmVhNGQzIGluIGNsb25l
ICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJl
YWQgMSAoVGhyZWFkIDB4N2ZjOTdhNmY3OWMwIChMV1AgMjk1MykpOgojMCAgMHgwMDAwN2ZjOTgz
Nzg2OGQwIGluIFdlYktpdDo6TmV0d29ya1Nlc3Npb25Tb3VwOjpzb3VwU2Vzc2lvbigpIGNvbnN0
ICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGst
NC4wLnNvLjM3CiMxICAweDAwMDA3ZmM5ODU0MGIzZDYgaW4gV2ViQ29yZTo6RE5TUmVzb2x2ZVF1
ZXVlU291cDo6cmVzb2x2ZShXVEY6OlN0cmluZyBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIFdURjo6
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCAoc3RkOjpleHBlcmltZW50YWw6OmZ1bmRhbWVudGFsc192
Mzo6ZXhwZWN0ZWQ8V1RGOjpWZWN0b3I8V2ViQ29yZTo6SVBBZGRyZXNzLCAwdWwsIFdURjo6Q3Jh
c2hPbk92ZXJmbG93LCAxNnVsLCBXVEY6OkZhc3RNYWxsb2M+LCBXZWJDb3JlOjpETlNFcnJvcj4m
Jik+JiYpICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtp
dDJndGstNC4wLnNvLjM3CiMyICAweDAwMDA3ZmM5ODM3YTU3MWIgaW4gV2ViS2l0OjpOZXR3b3Jr
UlRDUHJvdmlkZXI6OmNyZWF0ZVJlc29sdmVyKFdURjo6T2JqZWN0SWRlbnRpZmllcjxXZWJLaXQ6
OkxpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllclR5cGU+LCBXVEY6OlN0cmluZyYmKSAoKSBhdCAv
YXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4z
NwojMyAgMHgwMDAwN2ZjOTgxMTI4Nzc4IGluIFdURjo6UnVuTG9vcDo6cGVyZm9ybVdvcmsoKSAo
KSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTgKIzQgIDB4MDAwMDdmYzk4MTE4YWU5OSBpbiBXVEY6OlJ1bkxvb3A6OlJ1
bkxvb3AoKTo6e2xhbWJkYSh2b2lkKikjMX06Ol9GVU4odm9pZCopICgpIGF0IC9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAoj
NSAgMHgwMDAwN2ZjOTgxMThiODRmIGluIFdURjo6UnVuTG9vcDo6e2xhbWJkYShfR1NvdXJjZSos
IGludCAoKikodm9pZCopLCB2b2lkKikjMX06Ol9GVU4oX0dTb3VyY2UqLCBpbnQgKCopKHZvaWQq
KSwgdm9pZCopICgpIGF0IC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmph
dmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2ZjOTdjYTdlMDRmIGluIGdfbWFp
bl9kaXNwYXRjaCAoY29udGV4dD0weDU2MmExN2EzNTBlMCkgYXQgLi4vZ2xpYi9nbWFpbi5jOjMz
MjUKIzcgIGdfbWFpbl9jb250ZXh0X2Rpc3BhdGNoIChjb250ZXh0PTB4NTYyYTE3YTM1MGUwKSBh
dCAuLi9nbGliL2dtYWluLmM6NDAxNgojOCAgMHgwMDAwN2ZjOTdjYTdlM2Y4IGluIGdfbWFpbl9j
b250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg1NjJhMTdhMzUwZTAsIGJsb2NrPWJsb2NrQGVudHJ5
PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCAu
Li9nbGliL2dtYWluLmM6NDA5MgojOSAgMHgwMDAwN2ZjOTdjYTdlNzEzIGluIGdfbWFpbl9sb29w
X3J1biAobG9vcD0weDU2MmExN2EzNjIwMCkgYXQgLi4vZ2xpYi9nbWFpbi5jOjQyOTAKIzEwIDB4
MDAwMDdmYzk4MTE4Yjk5OCBpbiBXVEY6OlJ1bkxvb3A6OnJ1bigpICgpIGF0IC9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAoj
MTEgMHgwMDAwN2ZjOTgzNzg5OTZjIGluIFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluKGludCwg
Y2hhcioqKSAoKSBhdCAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJr
aXQyZ3RrLTQuMC5zby4zNwojMTIgMHgwMDAwN2ZjOTdiNjEwMDIyIGluIF9fbGliY19zdGFydF9t
YWluIChtYWluPTB4NTYyYTE1ZjBlYmUwIDxtYWluPiwgYXJnYz0zLCBhcmd2PTB4N2ZmZTU4NmE0
MzM4LCBpbml0PTxvcHRpbWl6ZWQgb3V0PiwgZmluaT08b3B0aW1pemVkIG91dD4sIHJ0bGRfZmlu
aT08b3B0aW1pemVkIG91dD4sIHN0YWNrX2VuZD0weDdmZmU1ODZhNDMyOCkgYXQgLi4vY3N1L2xp
YmMtc3RhcnQuYzozMDgKIzEzIDB4MDAwMDU2MmExNWYwZWM1ZSBpbiBfc3RhcnQgKCkgYXQgLi4v
c3lzZGVwcy94ODZfNjQvc3RhcnQuUzoxMjAKClNUREVSUjogClNUREVSUjogd2FybmluZzogdGhl
IGRlYnVnIGluZm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94ODZf
NjQtbGludXgtZ251L2xpYmljdWRhdGEuc28uNjcuMS5kZWJ1ZyIgZG9lcyBub3QgbWF0Y2ggIi91
c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGliaWN1ZGF0YS5zby42NyIgKENSQyBtaXNtYXRjaCku
ClNUREVSUjogClNUREVSUjogClNUREVSUjogd2FybmluZzogdGhlIGRlYnVnIGluZm9ybWF0aW9u
IGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmlj
dWRhdGEuc28uNjcuMS5kZWJ1ZyIgZG9lcyBub3QgbWF0Y2ggIi91c3IvbGliL3g4Nl82NC1saW51
eC1nbnUvbGliaWN1ZGF0YS5zby42NyIgKENSQyBtaXNtYXRjaCkuClNUREVSUjogClNUREVSUjog
ClNUREVSUjogd2FybmluZzogdGhlIGRlYnVnIGluZm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xp
Yi9kZWJ1Zy8vdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMS4wLjAuZGVi
dWciIGRvZXMgbm90IG1hdGNoICIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iu
c28uMSIgKENSQyBtaXNtYXRjaCkuClNUREVSUjogClNUREVSUjogClNUREVSUjogd2FybmluZzog
dGhlIGRlYnVnIGluZm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94
ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMS4wLjAuZGVidWciIGRvZXMgbm90IG1hdGNo
ICIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMSIgKENSQyBtaXNtYXRj
aCkuClNUREVSUjogClNUREVSUjogPGVtcHR5Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410508</attachid>
            <date>2020-10-05 01:36:31 -0700</date>
            <delta_ts>2020-10-05 01:44:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-dns-resolver-glib.diff</filename>
            <type>text/plain</type>
            <size>27617</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZDUyMTk2M2Y0YmYuLjc5N2Y2ZDg3YjRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTEwLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBSRUdSRVNTSU9OKHIyNjc3NjMpIFtTT1VQXSBTb21lIHRlc3RzIGZsYWt5IGNy
YXNoaW5nIGluIE5ldHdvcmtTZXNzaW9uU291cDo6c291cFNlc3Npb24oKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MTYzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGV4cGVjdGF0aW9ucyBm
b3IgdGVzdHMgdGhhdCBzaG91bGQgcGFzcyBub3cuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMDIgIExhdXJvIE1vdXJhICA8bG1vdXJhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIEdhcmRlbmluZyBzb21lIGZhaWx1cmVzIGFuZCBm
bGFraWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YzdjZWMzZTgwYTM4Li5lYzMzZmY0ZGRkNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MSw3ICsyNDEsNyBAQCB3ZWJraXQub3JnL2IvOTg5Mzcg
aHR0cC90ZXN0cy9taXNjL2dhbWVwYWRzLWluc2VjdXJlLmh0bWwgWyBTa2lwIF0KICMvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNoYW5nZS1ldmVudC5o
dG1sIFsgRmFpbHVyZSBUaW1lb3V0IFBhc3MgXQotd2Via2l0Lm9yZy9iLzc5MjAzIHdlYmtpdC5v
cmcvYi8yMTcxNjMgZmFzdC9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLmh0
bWwgWyBGYWlsdXJlIENyYXNoIF0KK3dlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQogd2Via2l0
Lm9yZy9iLzE4NzYwMyBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS10cmFjay1zb3VyY2Ut
ZmFpbHVyZS5odG1sIFsgVGltZW91dCBGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE5MTg4
NiB3ZWJraXQub3JnL2IvMjEwODAwIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8t
ZWxlbWVudC1yZW1vdmUtdHJhY2suaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQogd2Via2l0Lm9yZy9i
LzE5MTg4NiB3ZWJraXQub3JnL2IvMjEwODAwIFsgUmVsZWFzZSBdIGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tcmVtb3ZlVHJhY2std2hpbGUtcGxheWluZy5odG1sIFsgUGFzcyBDcmFzaCBd
CkBAIC00OTMsMTIgKzQ5Myw2IEBAIHdlYmtpdC5vcmcvYi8yMTM5MjEgZmFzdC92aXN1YWwtdmll
d3BvcnQvc2Nyb2xsLWV2ZW50LWZpcmVkLWR1cmluZy1zY3JvbGwtYWxvbmUuCiB3ZWJraXQub3Jn
L2IvMjE1NjM4IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaW52YWxpZC1jb250aW51
YXRpb24uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNTYzOCBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3N0b3Atb24tcmVzdW1lLWluLWVycm9yLWhhbmRsZXIuaHRtbCBb
IEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24tbWVkaWEtc2V0dXAtc2luZ2xlLWRpYWxvZy5odG1sIFsgUGFzcyBDcmFzaCBd
Ci13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
bWVkaWEtc2V0dXAtdHdvLWRpYWxvZ3MuaHRtbCBbIFBhc3MgQ3Jhc2ggXQotd2Via2l0Lm9yZy9i
LzIxNzE2MyB3ZWJydGMvbWlzc2luZy1leGNlcHRpb24tY2hlY2tzLVJUQ1BlZXJDb25uZWN0aW9u
LWdlbmVyYXRlQ2VydGlmaWNhdGUuaHRtbCBbIFBhc3MgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzIx
NzE2MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0
aW9ucy5odG1sIFsgUGFzcyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb25uZWdvdGlhdGlvbm5lZWRlZC5odG1sIFsgUGFzcyBD
cmFzaCBdCi0KIHdlYmtpdC5vcmcvYi8yMTcyNjcgaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLWFjdGl2YXRlLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxNzI2NyBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXItc3Bpbm5pbmctZmV0Y2guaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjE3MjY3IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlu
bmluZy1pbnN0YWxsLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQx
Yjc1MTEzMjc1Zi4uZTAzYTA2MDFlYmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIw
MjAtMTAtMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04ocjI2Nzc2MykgW1NPVVBdIFNvbWUgdGVzdHMgZmxha3kgY3Jhc2hp
bmcgaW4gTmV0d29ya1Nlc3Npb25Tb3VwOjpzb3VwU2Vzc2lvbigpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcxNjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIGxpYnNvdXAgZm9yIERO
UyByZXNvbHZlci4gVGhlIGxpYnNvdXAgQVBJcyBhcmUgYWN0dWFsbHkgdXNpbmcgdGhlIEdMaWIg
bmV0d29ya2luZyBBUElzLCBhbmQgdGhlIGRvbid0CisgICAgICAgIHJlYWxseSB1c2UgdGhlIFNv
dXBTZXNzaW9uLiBSZW5hbWUgRE5TUmVzb2x2ZVF1ZXVlU291cCBhcyBETlNSZXNvbHZlUXVldWVH
TGliIGFuZCB1c2UgdGhlIEdMaWIgQVBJIGluc3RlYWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdU
Sy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZToKKyAgICAgICAgKiBwbGF0Zm9y
bS9Tb3VwLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL1NvdXJjZXNHTGliLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Tb3VyY2VzU291cC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvZ2xpYi9E
TlNSZXNvbHZlUXVldWVHTGliLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpkaWRSZXNv
bHZlUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6cHJveHlSZXNvbHZlZEZvckh0dHBVcmlDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWVHTGliOjp1cGRhdGVJc1VzaW5n
UHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cGxhdGZvcm1S
ZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZUdMaWI6OnJlc29sdmUp
OgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6c3RvcFJlc29sdmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvZ2xpYi9ETlNSZXNvbHZlUXVldWVHTGliLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TUmVzb2x2
ZVF1ZXVlU291cC5oLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZl
UXVldWVTb3VwLmNwcDogUmVtb3ZlZC4KKwogMjAyMC0xMC0wMiAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIHN0ZDo6b25jZV9mbGFnIG11c3QgYmUgYWxsb2Nh
dGVkIGluIHN0YXRpYyBzdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGQ4MWEy
MjE5ODBjMS4uNjViOTZmODk2Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMzMs
NyArMzMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9ndGsiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lciIKICAgICAiJHtXRUJD
T1JFX0RJUn0vcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZSIKLSAgICAiJHtXRUJDT1JFX0RJUn0v
cGxhdGZvcm0vbmV0d29yay9ndGsiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdv
cmsvZ2xpYiIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4dC9ndGsiCiApCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggZTc1ZWNlZjE0MGFiLi43OWM1MTgyOGQxOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIGxpc3QoQVBQRU5EIFdl
YkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9nc3RyZWFtZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvZ2xpYiIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4dC9pY3UiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L3BsYXRmb3JtL3dwZSIKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NvdXAuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VwLmNtYWtlCmluZGV4IDkx
NzViOWVjMGJmNi4uZDdkODkyYmRiMDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Tb3VwLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXAuY21ha2UK
QEAgLTksNyArOSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9G
SUxFUwogbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKLSAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvRE5TUmVzb2x2ZVF1ZXVlU291cC5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0dS
ZWZQdHJTb3VwLmgKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR1VuaXF1ZVB0clNvdXAuaAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NvdXJjZXNHTGliLnR4dAppbmRleCBlMjRkY2NhYzkxY2YuLmRmMjczZTU4YWRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dApAQCAtMzAsNCArMzAsNSBA
QCBwbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAKIHBsYXRmb3JtL2ds
aWIvU2hhcmVkQnVmZmVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5jcHAK
IAorcGxhdGZvcm0vbmV0d29yay9nbGliL0ROU1Jlc29sdmVRdWV1ZUdMaWIuY3BwCiBwbGF0Zm9y
bS9uZXR3b3JrL2dsaWIvTmV0d29ya1N0YXRlTm90aWZpZXJHTGliLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc1NvdXAudHh0IGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU291cmNlc1NvdXAudHh0CmluZGV4IDhlMTY3YzIwZTMyNS4uMGM4NTVjM2M5Zjhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzU291cC50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc1NvdXAudHh0CkBAIC0yNiw3ICsyNiw2
IEBAIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcAogcGxhdGZv
cm0vbmV0d29yay9zb3VwL0Nvb2tpZVNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llU3RvcmFnZVNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3Jh
Z2VTb3VwLmNwcAotcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1Jlc29sdmVRdWV1ZVNvdXAuY3Bw
CiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR1JlZlB0clNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKIHBsYXRmb3JtL25ldHdvcmsvc291
cC9Qcm94eVNlcnZlclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggODg1MDcwNDg1NTU5Li5lYTNlZjUyODRh
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2
ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHAKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJETlNSZXNvbHZlUXVldWUuaCIKIAotI2lmIFVTRShTT1VQKQotI2luY2x1ZGUgIkROU1Jl
c29sdmVRdWV1ZVNvdXAuaCIKKyNpZiBVU0UoR0xJQikKKyNpbmNsdWRlICJETlNSZXNvbHZlUXVl
dWVHTGliLmgiCiAjZWxpZiBVU0UoQ1VSTCkKICNpbmNsdWRlICJETlNSZXNvbHZlUXVldWVDdXJs
LmgiCiAjZWxpZiBVU0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xpYi5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43ODgwNjJjNDRjNTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xp
Yi5jcHAKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiwg
MjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJETlNSZXNv
bHZlUXVldWVHTGliLmgiCisKKyNpZiBVU0UoR0xJQikKKworI2luY2x1ZGUgPGdpby9naW8uaD4K
KyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rp
b24uaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dV
bmlxdWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworLy8gSW5pdGlhbGx5IHRydWUgdG8gZW5zdXJlIHByZWZldGNoIHN0YXlzIGRp
c2FibGVkIHVudGlsIHdlIGhhdmUgcHJveHkgc2V0dGluZ3MuCitzdGF0aWMgYm9vbCBpc1VzaW5n
SHR0cFByb3h5ID0gdHJ1ZTsKK3N0YXRpYyBib29sIGlzVXNpbmdIdHRwc1Byb3h5ID0gdHJ1ZTsK
Kworc3RhdGljIGJvb2wgZGlkUmVzb2x2ZVByb3h5KGNoYXIqKiB1cmlzKQoreworICAgIC8vIFdl
IGhhdmUgYSBsaXN0IG9mIHBvc3NpYmxlIHByb3hpZXMgdG8gdXNlIGZvciB0aGUgVVJJLiBJZiB0
aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCBpcworICAgIC8vIGRpcmVjdDovLyAodGhlIHVzdWFs
IGNhc2UpLCB0aGVuIHRoZSB1c2VyIHByZWZlcnMgbm90IHRvIHVzZSBhIHByb3h5LiBUaGlzIGlz
IHNpbWlsYXIgdG8KKyAgICAvLyByZXNvbHZpbmcgaG9zdG5hbWVzOiB0aGVyZSBjb3VsZCBiZSBt
YW55IHBvc3NpYmlsaXRpZXMgcmV0dXJuZWQgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZSwgYW5kCisg
ICAgLy8gaWYgd2UncmUgdHJ5aW5nIHRvIGNvbm5lY3Qgd2Ugc2hvdWxkIGF0dGVtcHQgZWFjaCBv
bmUgaW4gb3JkZXIsIGJ1dCBoZXJlIHdlIGFyZSBub3QgdHJ5aW5nCisgICAgLy8gdG8gY29ubmVj
dCwgbWVyZWx5IHRvIGRlY2lkZSB3aGV0aGVyIGEgcHJveHkgInNob3VsZCIgYmUgdXNlZC4KKyAg
ICByZXR1cm4gdXJpcyAmJiAqdXJpcyAmJiBzdHJjbXAoKnVyaXMsICJkaXJlY3Q6Ly8iKTsKK30K
Kworc3RhdGljIHZvaWQgZGlkUmVzb2x2ZVByb3h5KEdQcm94eVJlc29sdmVyKiByZXNvbHZlciwg
R0FzeW5jUmVzdWx0KiByZXN1bHQsIGJvb2wqIGlzVXNpbmdQcm94eVR5cGUsIGJvb2wqIGlzVXNp
bmdQcm94eSkKK3sKKyAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7CisgICAgR1VuaXF1
ZVB0cjxjaGFyKj4gdXJpcyhnX3Byb3h5X3Jlc29sdmVyX2xvb2t1cF9maW5pc2gocmVzb2x2ZXIs
IHJlc3VsdCwgJmVycm9yLm91dFB0cigpKSk7CisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIFdU
RkxvZ0Fsd2F5cygiRXJyb3IgZGV0ZXJtaW5pbmcgc3lzdGVtIHByb3h5IHNldHRpbmdzOiAlcyIs
IGVycm9yLT5tZXNzYWdlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgICppc1VzaW5n
UHJveHlUeXBlID0gZGlkUmVzb2x2ZVByb3h5KHVyaXMuZ2V0KCkpOworICAgICppc1VzaW5nUHJv
eHkgPSBpc1VzaW5nSHR0cFByb3h5IHx8IGlzVXNpbmdIdHRwc1Byb3h5OworfQorCitzdGF0aWMg
dm9pZCBwcm94eVJlc29sdmVkRm9ySHR0cFVyaUNhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0Fz
eW5jUmVzdWx0KiByZXN1bHQsIHZvaWQqIHVzZXJEYXRhKQoreworICAgIGRpZFJlc29sdmVQcm94
eShHX1BST1hZX1JFU09MVkVSKHNvdXJjZSksIHJlc3VsdCwgJmlzVXNpbmdIdHRwUHJveHksIHN0
YXRpY19jYXN0PGJvb2wqPih1c2VyRGF0YSkpOworfQorCitzdGF0aWMgdm9pZCBwcm94eVJlc29s
dmVkRm9ySHR0cHNVcmlDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVz
dWx0LCB2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBkaWRSZXNvbHZlUHJveHkoR19QUk9YWV9SRVNP
TFZFUihzb3VyY2UpLCByZXN1bHQsICZpc1VzaW5nSHR0cHNQcm94eSwgc3RhdGljX2Nhc3Q8Ym9v
bCo+KHVzZXJEYXRhKSk7Cit9CisKK3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6dXBkYXRlSXNV
c2luZ1Byb3h5KCkKK3sKKyAgICBHUHJveHlSZXNvbHZlciogcmVzb2x2ZXIgPSBnX3Byb3h5X3Jl
c29sdmVyX2dldF9kZWZhdWx0KCk7CisgICAgZ19wcm94eV9yZXNvbHZlcl9sb29rdXBfYXN5bmMo
cmVzb2x2ZXIsICJodHRwOi8vZXhhbXBsZS5jb20vIiwgbnVsbHB0ciwgcHJveHlSZXNvbHZlZEZv
ckh0dHBVcmlDYWxsYmFjaywgJm1faXNVc2luZ1Byb3h5KTsKKyAgICBnX3Byb3h5X3Jlc29sdmVy
X2xvb2t1cF9hc3luYyhyZXNvbHZlciwgImh0dHBzOi8vZXhhbXBsZS5jb20vIiwgbnVsbHB0ciwg
cHJveHlSZXNvbHZlZEZvckh0dHBzVXJpQ2FsbGJhY2ssICZtX2lzVXNpbmdQcm94eSk7Cit9CisK
K3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cGxhdGZvcm1SZXNvbHZlKGNvbnN0IFN0cmluZyYg
aG9zdG5hbWUpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIEdSZWZQdHI8
R1Jlc29sdmVyPiByZXNvbHZlciA9IGFkb3B0R1JlZihnX3Jlc29sdmVyX2dldF9kZWZhdWx0KCkp
OworICAgIGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfYXN5bmMocmVzb2x2ZXIuZ2V0KCksIGhv
c3RuYW1lLnV0ZjgoKS5kYXRhKCksIG51bGxwdHIsIFtdKEdPYmplY3QqIHJlc29sdmVyLCBHQXN5
bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIpIHsKKyAgICAgICAgR0xpc3QqIGFkZHJlc3NlcyA9
IGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfZmluaXNoKEdfUkVTT0xWRVIocmVzb2x2ZXIpLCBy
ZXN1bHQsIG51bGxwdHIpOworICAgICAgICBnX2NsZWFyX3BvaW50ZXIoJmFkZHJlc3NlcywgZ19y
ZXNvbHZlcl9mcmVlX2FkZHJlc3Nlcyk7CisgICAgICAgIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xl
dG9uKCkuZGVjcmVtZW50UmVxdWVzdENvdW50KCk7CisgICAgfSwgbnVsbHB0cik7Cit9CisKK3Zv
aWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cmVzb2x2ZShjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1
aW50NjRfdCBpZGVudGlmaWVyLCBETlNDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5k
bGVyKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBHUmVmUHRyPEdSZXNv
bHZlcj4gcmVzb2x2ZXIgPSBhZG9wdEdSZWYoZ19yZXNvbHZlcl9nZXRfZGVmYXVsdCgpKTsKKyAg
ICBhdXRvIHJlcXVlc3QgPSBtYWtlVW5pcXVlPEROU1Jlc29sdmVRdWV1ZUdMaWI6OlJlcXVlc3Q+
KGlkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBHUmVmUHRyPEdD
YW5jZWxsYWJsZT4gY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7
CisgICAgZ19yZXNvbHZlcl9sb29rdXBfYnlfbmFtZV9hc3luYyhyZXNvbHZlci5nZXQoKSwgaG9z
dG5hbWUudXRmOCgpLmRhdGEoKSwgY2FuY2VsbGFibGUuZ2V0KCksIFtdKEdPYmplY3QqIHJlc29s
dmVyLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKKyAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPEROU1Jlc29sdmVRdWV1ZUdMaWI6OlJlcXVlc3Q+IHJlcXVlc3Qoc3Rh
dGljX2Nhc3Q8RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6UmVxdWVzdCo+KHVzZXJEYXRhKSk7CisgICAg
ICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKKyAgICAgICAgR0xpc3QqIGFkZHJlc3Nl
cyA9IGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfZmluaXNoKEdfUkVTT0xWRVIocmVzb2x2ZXIp
LCByZXN1bHQsICZlcnJvci5vdXRQdHIoKSk7CisgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMo
ZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfQ0FOQ0VMTEVEKSkgeworICAgICAg
ICAgICAgcmVxdWVzdC0+Y29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoRE5TRXJyb3I6
OkNhbmNlbGxlZCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
c3RhdGljX2Nhc3Q8RE5TUmVzb2x2ZVF1ZXVlR0xpYiY+KEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xl
dG9uKCkpLm1fcmVxdWVzdENhbmNlbGxhYmxlcy5yZW1vdmUocmVxdWVzdC0+aWRlbnRpZmllcik7
CisgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgcmVxdWVzdC0+Y29tcGxldGlvbkhh
bmRsZXIobWFrZVVuZXhwZWN0ZWQoRE5TRXJyb3I6OkNhbm5vdFJlc29sdmUpKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFZlY3RvcjxXZWJDb3JlOjpJUEFkZHJl
c3M+IGFkZHJlc3NMaXN0OworICAgICAgICBmb3IgKGF1dG8qIGl0ZXIgPSBhZGRyZXNzZXM7IGl0
ZXI7IGl0ZXIgPSBnX2xpc3RfbmV4dChpdGVyKSkgeworICAgICAgICAgICAgYXV0byogYWRkcmVz
cyA9IEdfSU5FVF9BRERSRVNTKGl0ZXItPmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChnX2lu
ZXRfYWRkcmVzc19nZXRfZmFtaWx5KGFkZHJlc3MpKSB7CisgICAgICAgICAgICBjYXNlIEdfU09D
S0VUX0ZBTUlMWV9JUFY0OiB7CisgICAgICAgICAgICAgICAgc3RydWN0IGluX2FkZHIgaXB2NEFk
ZHJlc3M7CisgICAgICAgICAgICAgICAgbWVtY3B5KCZpcHY0QWRkcmVzcywgZ19pbmV0X2FkZHJl
c3NfdG9fYnl0ZXMoYWRkcmVzcyksIGdfaW5ldF9hZGRyZXNzX2dldF9uYXRpdmVfc2l6ZShhZGRy
ZXNzKSk7CisgICAgICAgICAgICAgICAgYWRkcmVzc0xpc3QuYXBwZW5kKElQQWRkcmVzcyhpcHY0
QWRkcmVzcykpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgY2FzZSBHX1NPQ0tFVF9GQU1JTFlfSVBWNjogeworICAgICAgICAgICAgICAgIHN0cnVj
dCBpbjZfYWRkciBpcHY2QWRkcmVzczsKKyAgICAgICAgICAgICAgICBtZW1jcHkoJmlwdjZBZGRy
ZXNzLCBnX2luZXRfYWRkcmVzc190b19ieXRlcyhhZGRyZXNzKSwgZ19pbmV0X2FkZHJlc3NfZ2V0
X25hdGl2ZV9zaXplKGFkZHJlc3MpKTsKKyAgICAgICAgICAgICAgICBhZGRyZXNzTGlzdC5hcHBl
bmQoSVBBZGRyZXNzKGlwdjZBZGRyZXNzKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBjYXNlIEdfU09DS0VUX0ZBTUlMWV9JTlZBTElEOgorICAg
ICAgICAgICAgY2FzZSBHX1NPQ0tFVF9GQU1JTFlfVU5JWDoKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChhZGRyZXNzTGlzdC5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QtPmNvbXBsZXRpb25IYW5kbGVyKG1ha2VV
bmV4cGVjdGVkKFdlYkNvcmU6OkROU0Vycm9yOjpDYW5ub3RSZXNvbHZlKSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByZXF1ZXN0LT5jb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGFkZHJlc3NMaXN0KSk7CisgICAgfSwgcmVxdWVzdC5yZWxlYXNlKCkpOworCisg
ICAgbV9yZXF1ZXN0Q2FuY2VsbGFibGVzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbmNlbGxh
YmxlKSk7Cit9CisKK3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6c3RvcFJlc29sdmUodWludDY0
X3QgaWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgaWYg
KGF1dG8gY2FuY2VsbGFibGUgPSBtX3JlcXVlc3RDYW5jZWxsYWJsZXMudGFrZShpZGVudGlmaWVy
KSkKKyAgICAgICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwoY2FuY2VsbGFibGUuZ2V0KCkpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR0xJQikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVT
b3VwLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1
ZXVlR0xpYi5oCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmgKcmVuYW1lIHRvIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvZ2xpYi9ETlNSZXNvbHZlUXVldWVHTGliLmgK
aW5kZXggY2VlNzlmOTMzMzEwLi42YTlmOGM0Njg3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9nbGliL0ROU1Jlc29sdmVRdWV1ZUdMaWIuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyAq
IENvcHlyaWdodCAoQykgMjAxOCwgMjAyMCBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNywzNSArMjcsNDIgQEAKIAogI2luY2x1ZGUgIkROU1Jlc29sdmVR
dWV1ZS5oIgogCisjaWYgVVNFKEdMSUIpCisKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgX1NvdXBTZXNzaW9u
IFNvdXBTZXNzaW9uOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5ldHdvcmtTdG9y
YWdlU2Vzc2lvbjsKLQotY2xhc3MgRE5TUmVzb2x2ZVF1ZXVlU291cCBmaW5hbCA6IHB1YmxpYyBE
TlNSZXNvbHZlUXVldWUgeworY2xhc3MgRE5TUmVzb2x2ZVF1ZXVlR0xpYiBmaW5hbCA6IHB1Ymxp
YyBETlNSZXNvbHZlUXVldWUgewogcHVibGljOgotICAgIHVzaW5nIENvbXBsZXRpb25BbmRDYW5j
ZWxIYW5kbGVycyA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpETlNDb21wbGV0aW9uSGFuZGxlciwgR1Jl
ZlB0cjxHQ2FuY2VsbGFibGU+PjsKKyAgICBETlNSZXNvbHZlUXVldWVHTGliKCkgPSBkZWZhdWx0
OwogCi0gICAgRE5TUmVzb2x2ZVF1ZXVlU291cCgpID0gZGVmYXVsdDsKLSAgICBzdGF0aWMgdm9p
ZCBzZXRHbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3NvcihGdW5jdGlvbjxTb3VwU2Vzc2lv
biooKT4mJik7CiAgICAgdm9pZCByZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQ2
NF90IGlkZW50aWZpZXIsIEROU0NvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQg
c3RvcFJlc29sdmUodWludDY0X3QgaWRlbnRpZmllcikgZmluYWw7CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q29tcGxldGlvbkFuZENhbmNlbEhhbmRsZXJzPiB0YWtlQ29tcGxldGlvbkFuZENhbmNl
bEhhbmRsZXJzKHVpbnQ2NF90IGlkZW50aWZpZXIpOwotICAgIHZvaWQgcmVtb3ZlQ2FuY2VsQW5k
Q29tcGxldGlvbkhhbmRsZXIodWludDY0X3QgaWRlbnRpZmllcik7Ci0KIHByaXZhdGU6Ci0gICAg
dm9pZCB1cGRhdGVJc1VzaW5nUHJveHkoKSBmaW5hbDsKKyAgICBzdHJ1Y3QgUmVxdWVzdCB7Cisg
ICAgICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKIAotICAgIEhhc2hNYXA8dWlu
dDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxDb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnM+PiBtX2Nv
bXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyczsKKyAgICAgICAgUmVxdWVzdCh1aW50NjRfdCBpZGVu
dGlmaWVyLCBETlNDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAg
ICAgICAgOiBpZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgICAgICAgICAsIGNvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQorICAgICAgICB7CisgICAgICAgIH0K
IAorICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyIHsgMCB9OworICAgICAgICBETlNDb21wbGV0
aW9uSGFuZGxlciBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICB9OworCisgICAgdm9pZCB1cGRhdGVJ
c1VzaW5nUHJveHkoKSBmaW5hbDsKICAgICB2b2lkIHBsYXRmb3JtUmVzb2x2ZShjb25zdCBTdHJp
bmcmKSBmaW5hbDsKKworICAgIEhhc2hNYXA8dWludDY0X3QsIEdSZWZQdHI8R0NhbmNlbGxhYmxl
Pj4gbV9yZXF1ZXN0Q2FuY2VsbGFibGVzOwogfTsKIAotdXNpbmcgRE5TUmVzb2x2ZVF1ZXVlUGxh
dGZvcm0gPSBETlNSZXNvbHZlUXVldWVTb3VwOwordXNpbmcgRE5TUmVzb2x2ZVF1ZXVlUGxhdGZv
cm0gPSBETlNSZXNvbHZlUXVldWVHTGliOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0K
KyNlbmRpZiAvLyBVU0UoR0xJQikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWY2OTZlNzM0ZDMwLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1Jlc29sdmVRdWV1ZVNvdXAuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMjExICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRE5TUmVz
b2x2ZVF1ZXVlU291cC5oIgotCi0jaWYgVVNFKFNPVVApCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3Nv
dXAuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KLSNpbmNsdWRlIDx3dGYv
RnVuY3Rpb24uaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KLSNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gSW5p
dGlhbGx5IHRydWUgdG8gZW5zdXJlIHByZWZldGNoIHN0YXlzIGRpc2FibGVkIHVudGlsIHdlIGhh
dmUgcHJveHkgc2V0dGluZ3MuCi1zdGF0aWMgYm9vbCBpc1VzaW5nSHR0cFByb3h5ID0gdHJ1ZTsK
LXN0YXRpYyBib29sIGlzVXNpbmdIdHRwc1Byb3h5ID0gdHJ1ZTsKLQotc3RhdGljIGJvb2wgZGlk
UmVzb2x2ZVByb3h5KGNoYXIqKiB1cmlzKQotewotICAgIC8vIFdlIGhhdmUgYSBsaXN0IG9mIHBv
c3NpYmxlIHByb3hpZXMgdG8gdXNlIGZvciB0aGUgVVJJLiBJZiB0aGUgZmlyc3QgaXRlbSBpbiB0
aGUgbGlzdCBpcwotICAgIC8vIGRpcmVjdDovLyAodGhlIHVzdWFsIGNhc2UpLCB0aGVuIHRoZSB1
c2VyIHByZWZlcnMgbm90IHRvIHVzZSBhIHByb3h5LiBUaGlzIGlzIHNpbWlsYXIgdG8KLSAgICAv
LyByZXNvbHZpbmcgaG9zdG5hbWVzOiB0aGVyZSBjb3VsZCBiZSBtYW55IHBvc3NpYmlsaXRpZXMg
cmV0dXJuZWQgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZSwgYW5kCi0gICAgLy8gaWYgd2UncmUgdHJ5
aW5nIHRvIGNvbm5lY3Qgd2Ugc2hvdWxkIGF0dGVtcHQgZWFjaCBvbmUgaW4gb3JkZXIsIGJ1dCBo
ZXJlIHdlIGFyZSBub3QgdHJ5aW5nCi0gICAgLy8gdG8gY29ubmVjdCwgbWVyZWx5IHRvIGRlY2lk
ZSB3aGV0aGVyIGEgcHJveHkgInNob3VsZCIgYmUgdXNlZC4KLSAgICByZXR1cm4gdXJpcyAmJiAq
dXJpcyAmJiBzdHJjbXAoKnVyaXMsICJkaXJlY3Q6Ly8iKTsKLX0KLQotc3RhdGljIHZvaWQgZGlk
UmVzb2x2ZVByb3h5KEdQcm94eVJlc29sdmVyKiByZXNvbHZlciwgR0FzeW5jUmVzdWx0KiByZXN1
bHQsIGJvb2wqIGlzVXNpbmdQcm94eVR5cGUsIGJvb2wqIGlzVXNpbmdQcm94eSkKLXsKLSAgICBH
VW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyKj4gdXJpcyhn
X3Byb3h5X3Jlc29sdmVyX2xvb2t1cF9maW5pc2gocmVzb2x2ZXIsIHJlc3VsdCwgJmVycm9yLm91
dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiRXJyb3Ig
ZGV0ZXJtaW5pbmcgc3lzdGVtIHByb3h5IHNldHRpbmdzOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgICppc1VzaW5nUHJveHlUeXBlID0gZGlkUmVz
b2x2ZVByb3h5KHVyaXMuZ2V0KCkpOwotICAgICppc1VzaW5nUHJveHkgPSBpc1VzaW5nSHR0cFBy
b3h5IHx8IGlzVXNpbmdIdHRwc1Byb3h5OwotfQotCi1zdGF0aWMgdm9pZCBwcm94eVJlc29sdmVk
Rm9ySHR0cFVyaUNhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXN1bHQs
IHZvaWQqIHVzZXJEYXRhKQotewotICAgIGRpZFJlc29sdmVQcm94eShHX1BST1hZX1JFU09MVkVS
KHNvdXJjZSksIHJlc3VsdCwgJmlzVXNpbmdIdHRwUHJveHksIHN0YXRpY19jYXN0PGJvb2wqPih1
c2VyRGF0YSkpOwotfQotCi1zdGF0aWMgdm9pZCBwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxs
YmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzdWx0LCB2b2lkKiB1c2VyRGF0
YSkKLXsKLSAgICBkaWRSZXNvbHZlUHJveHkoR19QUk9YWV9SRVNPTFZFUihzb3VyY2UpLCByZXN1
bHQsICZpc1VzaW5nSHR0cHNQcm94eSwgc3RhdGljX2Nhc3Q8Ym9vbCo+KHVzZXJEYXRhKSk7Ci19
Ci0KLUZ1bmN0aW9uPFNvdXBTZXNzaW9uKigpPiYgZ2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNj
ZXNzb3IoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGdW5jdGlvbjxTb3VwU2Vzc2lv
biooKT4+IGFjY2Vzc29yOwotICAgIHJldHVybiBhY2Nlc3Nvci5nZXQoKTsKLX0KLQotdm9pZCBE
TlNSZXNvbHZlUXVldWVTb3VwOjpzZXRHbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3NvcihG
dW5jdGlvbjxTb3VwU2Vzc2lvbiooKT4mJiBhY2Nlc3NvcikKLXsKLSAgICBnbG9iYWxEZWZhdWx0
U291cFNlc3Npb25BY2Nlc3NvcigpID0gV1RGTW92ZShhY2Nlc3Nvcik7Ci19Ci0KLXZvaWQgRE5T
UmVzb2x2ZVF1ZXVlU291cDo6dXBkYXRlSXNVc2luZ1Byb3h5KCkKLXsKLSAgICBHUmVmUHRyPEdQ
cm94eVJlc29sdmVyPiByZXNvbHZlcjsKLSAgICBnX29iamVjdF9nZXQoZ2xvYmFsRGVmYXVsdFNv
dXBTZXNzaW9uQWNjZXNzb3IoKSgpLCAicHJveHktcmVzb2x2ZXIiLCAmcmVzb2x2ZXIub3V0UHRy
KCksIG51bGxwdHIpOwotICAgIEFTU0VSVChyZXNvbHZlcik7Ci0KLSAgICBnX3Byb3h5X3Jlc29s
dmVyX2xvb2t1cF9hc3luYyhyZXNvbHZlci5nZXQoKSwgImh0dHA6Ly9leGFtcGxlLmNvbS8iLCBu
dWxscHRyLCBwcm94eVJlc29sdmVkRm9ySHR0cFVyaUNhbGxiYWNrLCAmbV9pc1VzaW5nUHJveHkp
OwotICAgIGdfcHJveHlfcmVzb2x2ZXJfbG9va3VwX2FzeW5jKHJlc29sdmVyLmdldCgpLCAiaHR0
cHM6Ly9leGFtcGxlLmNvbS8iLCBudWxscHRyLCBwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxs
YmFjaywgJm1faXNVc2luZ1Byb3h5KTsKLX0KLQotc3RhdGljIHZvaWQgcmVzb2x2ZWRDYWxsYmFj
ayhTb3VwQWRkcmVzcyosIGd1aW50LCB2b2lkKikKLXsKLSAgICBETlNSZXNvbHZlUXVldWU6OnNp
bmdsZXRvbigpLmRlY3JlbWVudFJlcXVlc3RDb3VudCgpOwotfQotCi1zdGF0aWMgdm9pZCByZXNv
bHZlZFdpdGhPYnNlcnZlckNhbGxiYWNrKFNvdXBBZGRyZXNzKiBhZGRyZXNzLCBndWludCBzdGF0
dXMsIHZvaWQqIGRhdGEpCi17Ci0gICAgQVNTRVJUKGRhdGEpOwotICAgIGF1dG8qIHJlc29sdmVR
dWV1ZSA9IHN0YXRpY19jYXN0PEROU1Jlc29sdmVRdWV1ZVNvdXAqPihkYXRhKTsKLQotICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIgPSBHUE9JTlRFUl9UT19VSU5UKGdfb2JqZWN0X2dldF9kYXRhKEdf
T0JKRUNUKGFkZHJlc3MpLCAiaWRlbnRpZmllciIpKTsKLQotICAgIGF1dG8gY29tcGxldGlvbkFu
ZENhbmNlbEhhbmRsZXJzID0gcmVzb2x2ZVF1ZXVlLT50YWtlQ29tcGxldGlvbkFuZENhbmNlbEhh
bmRsZXJzKGlkZW50aWZpZXIpOwotCi0gICAgaWYgKCFjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxl
cnMpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy5nZXQoKS0+Zmlyc3QpOwotCi0gICAgaWYg
KHN0YXR1cyAhPSBTT1VQX1NUQVRVU19PSykgewotICAgICAgICBETlNFcnJvciBlcnJvciA9IERO
U0Vycm9yOjpVbmtub3duOwotCi0gICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7Ci0gICAgICAgIGNh
c2UgU09VUF9TVEFUVVNfQ0FOVF9SRVNPTFZFOgotICAgICAgICAgICAgZXJyb3IgPSBETlNFcnJv
cjo6Q2Fubm90UmVzb2x2ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNPVVBf
U1RBVFVTX0NBTkNFTExFRDoKLSAgICAgICAgICAgIGVycm9yID0gRE5TRXJyb3I6OkNhbmNlbGxl
ZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNPVVBfU1RBVFVTX09LOgotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IH07Ci0KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc291cF9hZGRyZXNzX2lzX3Jlc29s
dmVkKGFkZHJlc3MpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVk
KEROU0Vycm9yOjpVbmtub3duKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWZWN0
b3I8V2ViQ29yZTo6SVBBZGRyZXNzPiBhZGRyZXNzZXM7Ci0gICAgYWRkcmVzc2VzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoMSk7Ci0gICAgaW50IGxlbjsKLSAgICAvLyBGSVhNRTogU3VwcG9ydCBt
dWx0aXBsZSBhZGRyZXNzZXMsIElQdjYgYW5kIElQdjQuCi0gICAgYXV0byogaXBBZGRyZXNzID0g
c291cF9hZGRyZXNzX2dldF9zb2NrYWRkcihhZGRyZXNzLCAmbGVuKTsKLSAgICBpZiAoaXBBZGRy
ZXNzKSB7Ci0gICAgICAgIGlmIChhdXRvIGFkZHJlc3MgPSBJUEFkZHJlc3M6OmZyb21Tb2NrQWRk
ckluNihyZWludGVycHJldF9jYXN0PGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbjYmPigqaXBBZGRy
ZXNzKSkpCi0gICAgICAgICAgICBhZGRyZXNzZXMudW5jaGVja2VkQXBwZW5kKCphZGRyZXNzKTsK
LSAgICB9Ci0gICAgaWYgKGFkZHJlc3Nlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoV2ViQ29yZTo6RE5TRXJyb3I6OkNhbm5vdFJlc29sdmUp
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNvbXBsZXRpb25IYW5kbGVyKGFkZHJl
c3Nlcyk7Ci19Ci0KLXN0ZDo6dW5pcXVlX3B0cjxETlNSZXNvbHZlUXVldWVTb3VwOjpDb21wbGV0
aW9uQW5kQ2FuY2VsSGFuZGxlcnM+IEROU1Jlc29sdmVRdWV1ZVNvdXA6OnRha2VDb21wbGV0aW9u
QW5kQ2FuY2VsSGFuZGxlcnModWludDY0X3QgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwotCi0gICAgYXV0byBjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnMgPSBt
X2NvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy50YWtlKGlkZW50aWZpZXIpOwotCi0gICAgaWYg
KCFjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgcmV0dXJuIGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyczsKLX0KLQotdm9pZCBETlNS
ZXNvbHZlUXVldWVTb3VwOjpyZW1vdmVDYW5jZWxBbmRDb21wbGV0aW9uSGFuZGxlcih1aW50NjRf
dCBpZGVudGlmaWVyKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBtX2Nv
bXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy5yZW1vdmUoaWRlbnRpZmllcik7Ci19Ci0KLXZvaWQg
RE5TUmVzb2x2ZVF1ZXVlU291cDo6cGxhdGZvcm1SZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIHNvdXBfc2Vzc2lvbl9w
cmVmZXRjaF9kbnMoZ2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNjZXNzb3IoKSgpLCBob3N0bmFt
ZS51dGY4KCkuZGF0YSgpLCBudWxscHRyLCByZXNvbHZlZENhbGxiYWNrLCBudWxscHRyKTsKLX0K
LQotdm9pZCBETlNSZXNvbHZlUXVldWVTb3VwOjpyZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIEROU0NvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIGF1dG8gYWRk
cmVzcyA9IGFkb3B0R1JlZihzb3VwX2FkZHJlc3NfbmV3KGhvc3RuYW1lLnV0ZjgoKS5kYXRhKCks
IDApKTsKLSAgICBhdXRvIGNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3
KCkpOwotICAgIHNvdXBfYWRkcmVzc19yZXNvbHZlX2FzeW5jKGFkZHJlc3MuZ2V0KCksIHNvdXBf
c2Vzc2lvbl9nZXRfYXN5bmNfY29udGV4dChnbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3Nv
cigpKCkpLCBjYW5jZWxsYWJsZS5nZXQoKSwgcmVzb2x2ZWRXaXRoT2JzZXJ2ZXJDYWxsYmFjaywg
dGhpcyk7Ci0KLSAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChhZGRyZXNzLmdldCgpKSwg
ImlkZW50aWZpZXIiLCBHVUlOVF9UT19QT0lOVEVSKGlkZW50aWZpZXIpKTsKLQotICAgIG1fY29t
cGxldGlvbkFuZENhbmNlbEhhbmRsZXJzLmFkZChpZGVudGlmaWVyLCBtYWtlVW5pcXVlV2l0aG91
dEZhc3RNYWxsb2NDaGVjazxETlNSZXNvbHZlUXVldWVTb3VwOjpDb21wbGV0aW9uQW5kQ2FuY2Vs
SGFuZGxlcnM+KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBXVEZNb3ZlKGNhbmNlbGxhYmxl
KSkpOwotfQotCi12b2lkIEROU1Jlc29sdmVRdWV1ZVNvdXA6OnN0b3BSZXNvbHZlKHVpbnQ2NF90
IGlkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIGlmIChh
dXRvIGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyID0gbV9jb21wbGV0aW9uQW5kQ2FuY2VsSGFu
ZGxlcnMudGFrZShpZGVudGlmaWVyKSkgewotICAgICAgICBnX2NhbmNlbGxhYmxlX2NhbmNlbChj
b21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlci5nZXQoKS0+c2Vjb25kLmdldCgpKTsKLSAgICAgICAg
Y29tcGxldGlvbkFuZENhbmNlbEhhbmRsZXIuZ2V0KCktPmZpcnN0KG1ha2VVbmV4cGVjdGVkKERO
U0Vycm9yOjpDYW5jZWxsZWQpKTsKLSAgICB9Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDkwMjRlN2Q0YzQ0Zi4uYmE4ZGRhNWY2MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIwLTEwLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OKHIyNjc3NjMpIFtTT1VQXSBTb21lIHRlc3RzIGZsYWt5IGNyYXNo
aW5nIGluIE5ldHdvcmtTZXNzaW9uU291cDo6c291cFNlc3Npb24oKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MTYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNvZGUgdG8gc2V0IHRoZSBT
b3VwU2Vzc2lvbiBvbiBETlNSZXNvbHZlUXVldWUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisKIDIwMjAtMTAtMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogYWRkIHN1cHBvcnQg
Zm9yIHNhbWUgc2l0ZSBjb29raWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDMzZjI5NTIxMDQyOS4uZDUxZWNjMDY4NDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAt
MTA0LDcgKzEwNCw2IEBACiAKICNpZiBVU0UoU09VUCkKICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lv
blNvdXAuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ROU1Jlc29sdmVRdWV1ZVNvdXAuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NvdXBOZXR3b3JrU2Vzc2lvbi5oPgogI2VuZGlmCiAKQEAgLTE3MiwxMyAr
MTcxLDYgQEAgTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWUKICAgICBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXI6Om5ldHdvcmtQcm9jZXNzQ3JlYXRlZCgqdGhpcyk7CiAjZW5kaWYKIAotI2lmIFVT
RShTT1VQKQotICAgIC8vIEZJWE1FOiBEbyBub3QgdXNlIHRoZSBkZWZhdWx0IHNlc3Npb24gSUQu
Ci0gICAgRE5TUmVzb2x2ZVF1ZXVlU291cDo6c2V0R2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNj
ZXNzb3IoW3RoaXNdKCkgLT4gU291cFNlc3Npb24qIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PE5ldHdvcmtTZXNzaW9uU291cCY+KCpuZXR3b3JrU2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6
ZGVmYXVsdFNlc3Npb25JRCgpKSkuc291cFNlc3Npb24oKTsKLSAgICB9KTsKLSNlbmRpZgotCiAg
ICAgTmV0d29ya1N0YXRlTm90aWZpZXI6OnNpbmdsZXRvbigpLmFkZExpc3RlbmVyKFt3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYm9vbCBpc09uTGluZSkgewogICAgICAgICBpZiAoIXdl
YWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwo=
</data>
<flag name="commit-queue"
          id="426467"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410509</attachid>
            <date>2020-10-05 01:44:41 -0700</date>
            <delta_ts>2020-10-05 13:24:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-dns-resolver-glib.diff</filename>
            <type>text/plain</type>
            <size>27617</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZDUyMTk2M2Y0YmYuLjc5N2Y2ZDg3YjRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTEwLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBSRUdSRVNTSU9OKHIyNjc3NjMpIFtTT1VQXSBTb21lIHRlc3RzIGZsYWt5IGNy
YXNoaW5nIGluIE5ldHdvcmtTZXNzaW9uU291cDo6c291cFNlc3Npb24oKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MTYzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGV4cGVjdGF0aW9ucyBm
b3IgdGVzdHMgdGhhdCBzaG91bGQgcGFzcyBub3cuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMDIgIExhdXJvIE1vdXJhICA8bG1vdXJhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIEdhcmRlbmluZyBzb21lIGZhaWx1cmVzIGFuZCBm
bGFraWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YzdjZWMzZTgwYTM4Li5lYzMzZmY0ZGRkNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MSw3ICsyNDEsNyBAQCB3ZWJraXQub3JnL2IvOTg5Mzcg
aHR0cC90ZXN0cy9taXNjL2dhbWVwYWRzLWluc2VjdXJlLmh0bWwgWyBTa2lwIF0KICMvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNoYW5nZS1ldmVudC5o
dG1sIFsgRmFpbHVyZSBUaW1lb3V0IFBhc3MgXQotd2Via2l0Lm9yZy9iLzc5MjAzIHdlYmtpdC5v
cmcvYi8yMTcxNjMgZmFzdC9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLmh0
bWwgWyBGYWlsdXJlIENyYXNoIF0KK3dlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQogd2Via2l0
Lm9yZy9iLzE4NzYwMyBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS10cmFjay1zb3VyY2Ut
ZmFpbHVyZS5odG1sIFsgVGltZW91dCBGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE5MTg4
NiB3ZWJraXQub3JnL2IvMjEwODAwIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8t
ZWxlbWVudC1yZW1vdmUtdHJhY2suaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQogd2Via2l0Lm9yZy9i
LzE5MTg4NiB3ZWJraXQub3JnL2IvMjEwODAwIFsgUmVsZWFzZSBdIGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tcmVtb3ZlVHJhY2std2hpbGUtcGxheWluZy5odG1sIFsgUGFzcyBDcmFzaCBd
CkBAIC00OTMsMTIgKzQ5Myw2IEBAIHdlYmtpdC5vcmcvYi8yMTM5MjEgZmFzdC92aXN1YWwtdmll
d3BvcnQvc2Nyb2xsLWV2ZW50LWZpcmVkLWR1cmluZy1zY3JvbGwtYWxvbmUuCiB3ZWJraXQub3Jn
L2IvMjE1NjM4IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaW52YWxpZC1jb250aW51
YXRpb24uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNTYzOCBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3N0b3Atb24tcmVzdW1lLWluLWVycm9yLWhhbmRsZXIuaHRtbCBb
IEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24tbWVkaWEtc2V0dXAtc2luZ2xlLWRpYWxvZy5odG1sIFsgUGFzcyBDcmFzaCBd
Ci13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
bWVkaWEtc2V0dXAtdHdvLWRpYWxvZ3MuaHRtbCBbIFBhc3MgQ3Jhc2ggXQotd2Via2l0Lm9yZy9i
LzIxNzE2MyB3ZWJydGMvbWlzc2luZy1leGNlcHRpb24tY2hlY2tzLVJUQ1BlZXJDb25uZWN0aW9u
LWdlbmVyYXRlQ2VydGlmaWNhdGUuaHRtbCBbIFBhc3MgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzIx
NzE2MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0
aW9ucy5odG1sIFsgUGFzcyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMjE3MTYzIGZhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb25uZWdvdGlhdGlvbm5lZWRlZC5odG1sIFsgUGFzcyBD
cmFzaCBdCi0KIHdlYmtpdC5vcmcvYi8yMTcyNjcgaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLWFjdGl2YXRlLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxNzI2NyBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXItc3Bpbm5pbmctZmV0Y2guaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjE3MjY3IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlu
bmluZy1pbnN0YWxsLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQx
Yjc1MTEzMjc1Zi4uZTAzYTA2MDFlYmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIw
MjAtMTAtMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04ocjI2Nzc2MykgW1NPVVBdIFNvbWUgdGVzdHMgZmxha3kgY3Jhc2hp
bmcgaW4gTmV0d29ya1Nlc3Npb25Tb3VwOjpzb3VwU2Vzc2lvbigpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcxNjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIGxpYnNvdXAgZm9yIERO
UyByZXNvbHZlci4gVGhlIGxpYnNvdXAgQVBJcyBhcmUgYWN0dWFsbHkgdXNpbmcgdGhlIEdMaWIg
bmV0d29ya2luZyBBUElzLCBhbmQgdGhlIGRvbid0CisgICAgICAgIHJlYWxseSB1c2UgdGhlIFNv
dXBTZXNzaW9uLiBSZW5hbWUgRE5TUmVzb2x2ZVF1ZXVlU291cCBhcyBETlNSZXNvbHZlUXVldWVH
TGliIGFuZCB1c2UgdGhlIEdMaWIgQVBJIGluc3RlYWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdU
Sy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZToKKyAgICAgICAgKiBwbGF0Zm9y
bS9Tb3VwLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL1NvdXJjZXNHTGliLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Tb3VyY2VzU291cC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvZ2xpYi9E
TlNSZXNvbHZlUXVldWVHTGliLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpkaWRSZXNv
bHZlUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6cHJveHlSZXNvbHZlZEZvckh0dHBVcmlDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWVHTGliOjp1cGRhdGVJc1VzaW5n
UHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cGxhdGZvcm1S
ZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZUdMaWI6OnJlc29sdmUp
OgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6c3RvcFJlc29sdmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvZ2xpYi9ETlNSZXNvbHZlUXVldWVHTGliLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TUmVzb2x2
ZVF1ZXVlU291cC5oLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZl
UXVldWVTb3VwLmNwcDogUmVtb3ZlZC4KKwogMjAyMC0xMC0wMiAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIHN0ZDo6b25jZV9mbGFnIG11c3QgYmUgYWxsb2Nh
dGVkIGluIHN0YXRpYyBzdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGQ4MWEy
MjE5ODBjMS4uNjViOTZmODk2Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMzMs
NyArMzMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9ndGsiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lciIKICAgICAiJHtXRUJD
T1JFX0RJUn0vcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZSIKLSAgICAiJHtXRUJDT1JFX0RJUn0v
cGxhdGZvcm0vbmV0d29yay9ndGsiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdv
cmsvZ2xpYiIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4dC9ndGsiCiApCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggZTc1ZWNlZjE0MGFiLi43OWM1MTgyOGQxOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0zMCw2ICszMCw3IEBAIGxpc3QoQVBQRU5EIFdl
YkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9nc3RyZWFtZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvZ2xpYiIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4dC9pY3UiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L3BsYXRmb3JtL3dwZSIKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NvdXAuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VwLmNtYWtlCmluZGV4IDkx
NzViOWVjMGJmNi4uZDdkODkyYmRiMDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Tb3VwLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXAuY21ha2UK
QEAgLTksNyArOSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9G
SUxFUwogbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKLSAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvRE5TUmVzb2x2ZVF1ZXVlU291cC5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0dS
ZWZQdHJTb3VwLmgKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR1VuaXF1ZVB0clNvdXAuaAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NvdXJjZXNHTGliLnR4dAppbmRleCBlMjRkY2NhYzkxY2YuLmRmMjczZTU4YWRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dApAQCAtMzAsNCArMzAsNSBA
QCBwbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAKIHBsYXRmb3JtL2ds
aWIvU2hhcmVkQnVmZmVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5jcHAK
IAorcGxhdGZvcm0vbmV0d29yay9nbGliL0ROU1Jlc29sdmVRdWV1ZUdMaWIuY3BwCiBwbGF0Zm9y
bS9uZXR3b3JrL2dsaWIvTmV0d29ya1N0YXRlTm90aWZpZXJHTGliLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc1NvdXAudHh0IGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU291cmNlc1NvdXAudHh0CmluZGV4IDhlMTY3YzIwZTMyNS4uMGM4NTVjM2M5Zjhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzU291cC50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc1NvdXAudHh0CkBAIC0yNiw3ICsyNiw2
IEBAIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcAogcGxhdGZv
cm0vbmV0d29yay9zb3VwL0Nvb2tpZVNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llU3RvcmFnZVNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3Jh
Z2VTb3VwLmNwcAotcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1Jlc29sdmVRdWV1ZVNvdXAuY3Bw
CiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR1JlZlB0clNvdXAuY3BwCiBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKIHBsYXRmb3JtL25ldHdvcmsvc291
cC9Qcm94eVNlcnZlclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggODg1MDcwNDg1NTU5Li5lYTNlZjUyODRh
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2
ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHAKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJETlNSZXNvbHZlUXVldWUuaCIKIAotI2lmIFVTRShTT1VQKQotI2luY2x1ZGUgIkROU1Jl
c29sdmVRdWV1ZVNvdXAuaCIKKyNpZiBVU0UoR0xJQikKKyNpbmNsdWRlICJETlNSZXNvbHZlUXVl
dWVHTGliLmgiCiAjZWxpZiBVU0UoQ1VSTCkKICNpbmNsdWRlICJETlNSZXNvbHZlUXVldWVDdXJs
LmgiCiAjZWxpZiBVU0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xpYi5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMmZlMzZiZDdiOTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xp
Yi5jcHAKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiwg
MjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJETlNSZXNv
bHZlUXVldWVHTGliLmgiCisKKyNpZiBVU0UoR0xJQikKKworI2luY2x1ZGUgPGdpby9naW8uaD4K
KyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgor
I2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSW5pdGlhbGx5IHRydWUgdG8gZW5z
dXJlIHByZWZldGNoIHN0YXlzIGRpc2FibGVkIHVudGlsIHdlIGhhdmUgcHJveHkgc2V0dGluZ3Mu
CitzdGF0aWMgYm9vbCBpc1VzaW5nSHR0cFByb3h5ID0gdHJ1ZTsKK3N0YXRpYyBib29sIGlzVXNp
bmdIdHRwc1Byb3h5ID0gdHJ1ZTsKKworc3RhdGljIGJvb2wgZGlkUmVzb2x2ZVByb3h5KGNoYXIq
KiB1cmlzKQoreworICAgIC8vIFdlIGhhdmUgYSBsaXN0IG9mIHBvc3NpYmxlIHByb3hpZXMgdG8g
dXNlIGZvciB0aGUgVVJJLiBJZiB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCBpcworICAgIC8v
IGRpcmVjdDovLyAodGhlIHVzdWFsIGNhc2UpLCB0aGVuIHRoZSB1c2VyIHByZWZlcnMgbm90IHRv
IHVzZSBhIHByb3h5LiBUaGlzIGlzIHNpbWlsYXIgdG8KKyAgICAvLyByZXNvbHZpbmcgaG9zdG5h
bWVzOiB0aGVyZSBjb3VsZCBiZSBtYW55IHBvc3NpYmlsaXRpZXMgcmV0dXJuZWQgaW4gb3JkZXIg
b2YgcHJlZmVyZW5jZSwgYW5kCisgICAgLy8gaWYgd2UncmUgdHJ5aW5nIHRvIGNvbm5lY3Qgd2Ug
c2hvdWxkIGF0dGVtcHQgZWFjaCBvbmUgaW4gb3JkZXIsIGJ1dCBoZXJlIHdlIGFyZSBub3QgdHJ5
aW5nCisgICAgLy8gdG8gY29ubmVjdCwgbWVyZWx5IHRvIGRlY2lkZSB3aGV0aGVyIGEgcHJveHkg
InNob3VsZCIgYmUgdXNlZC4KKyAgICByZXR1cm4gdXJpcyAmJiAqdXJpcyAmJiBzdHJjbXAoKnVy
aXMsICJkaXJlY3Q6Ly8iKTsKK30KKworc3RhdGljIHZvaWQgZGlkUmVzb2x2ZVByb3h5KEdQcm94
eVJlc29sdmVyKiByZXNvbHZlciwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIGJvb2wqIGlzVXNpbmdQ
cm94eVR5cGUsIGJvb2wqIGlzVXNpbmdQcm94eSkKK3sKKyAgICBHVW5pcXVlT3V0UHRyPEdFcnJv
cj4gZXJyb3I7CisgICAgR1VuaXF1ZVB0cjxjaGFyKj4gdXJpcyhnX3Byb3h5X3Jlc29sdmVyX2xv
b2t1cF9maW5pc2gocmVzb2x2ZXIsIHJlc3VsdCwgJmVycm9yLm91dFB0cigpKSk7CisgICAgaWYg
KGVycm9yKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiRXJyb3IgZGV0ZXJtaW5pbmcgc3lzdGVt
IHByb3h5IHNldHRpbmdzOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgICppc1VzaW5nUHJveHlUeXBlID0gZGlkUmVzb2x2ZVByb3h5KHVyaXMuZ2V0
KCkpOworICAgICppc1VzaW5nUHJveHkgPSBpc1VzaW5nSHR0cFByb3h5IHx8IGlzVXNpbmdIdHRw
c1Byb3h5OworfQorCitzdGF0aWMgdm9pZCBwcm94eVJlc29sdmVkRm9ySHR0cFVyaUNhbGxiYWNr
KEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIHZvaWQqIHVzZXJEYXRhKQor
eworICAgIGRpZFJlc29sdmVQcm94eShHX1BST1hZX1JFU09MVkVSKHNvdXJjZSksIHJlc3VsdCwg
JmlzVXNpbmdIdHRwUHJveHksIHN0YXRpY19jYXN0PGJvb2wqPih1c2VyRGF0YSkpOworfQorCitz
dGF0aWMgdm9pZCBwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxsYmFjayhHT2JqZWN0KiBzb3Vy
Y2UsIEdBc3luY1Jlc3VsdCogcmVzdWx0LCB2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBkaWRSZXNv
bHZlUHJveHkoR19QUk9YWV9SRVNPTFZFUihzb3VyY2UpLCByZXN1bHQsICZpc1VzaW5nSHR0cHNQ
cm94eSwgc3RhdGljX2Nhc3Q8Ym9vbCo+KHVzZXJEYXRhKSk7Cit9CisKK3ZvaWQgRE5TUmVzb2x2
ZVF1ZXVlR0xpYjo6dXBkYXRlSXNVc2luZ1Byb3h5KCkKK3sKKyAgICBHUHJveHlSZXNvbHZlciog
cmVzb2x2ZXIgPSBnX3Byb3h5X3Jlc29sdmVyX2dldF9kZWZhdWx0KCk7CisgICAgZ19wcm94eV9y
ZXNvbHZlcl9sb29rdXBfYXN5bmMocmVzb2x2ZXIsICJodHRwOi8vZXhhbXBsZS5jb20vIiwgbnVs
bHB0ciwgcHJveHlSZXNvbHZlZEZvckh0dHBVcmlDYWxsYmFjaywgJm1faXNVc2luZ1Byb3h5KTsK
KyAgICBnX3Byb3h5X3Jlc29sdmVyX2xvb2t1cF9hc3luYyhyZXNvbHZlciwgImh0dHBzOi8vZXhh
bXBsZS5jb20vIiwgbnVsbHB0ciwgcHJveHlSZXNvbHZlZEZvckh0dHBzVXJpQ2FsbGJhY2ssICZt
X2lzVXNpbmdQcm94eSk7Cit9CisKK3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cGxhdGZvcm1S
ZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKworICAgIEdSZWZQdHI8R1Jlc29sdmVyPiByZXNvbHZlciA9IGFkb3B0R1JlZihnX3Jl
c29sdmVyX2dldF9kZWZhdWx0KCkpOworICAgIGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfYXN5
bmMocmVzb2x2ZXIuZ2V0KCksIGhvc3RuYW1lLnV0ZjgoKS5kYXRhKCksIG51bGxwdHIsIFtdKEdP
YmplY3QqIHJlc29sdmVyLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIpIHsKKyAgICAg
ICAgR0xpc3QqIGFkZHJlc3NlcyA9IGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfZmluaXNoKEdf
UkVTT0xWRVIocmVzb2x2ZXIpLCByZXN1bHQsIG51bGxwdHIpOworICAgICAgICBnX2NsZWFyX3Bv
aW50ZXIoJmFkZHJlc3NlcywgZ19yZXNvbHZlcl9mcmVlX2FkZHJlc3Nlcyk7CisgICAgICAgIERO
U1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkuZGVjcmVtZW50UmVxdWVzdENvdW50KCk7CisgICAg
fSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xpYjo6cmVzb2x2ZShjb25z
dCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBETlNDb21wbGV0aW9uSGFu
ZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisKKyAgICBHUmVmUHRyPEdSZXNvbHZlcj4gcmVzb2x2ZXIgPSBhZG9wdEdSZWYoZ19yZXNvbHZl
cl9nZXRfZGVmYXVsdCgpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBtYWtlVW5pcXVlPEROU1Jlc29s
dmVRdWV1ZUdMaWI6OlJlcXVlc3Q+KGlkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKKyAgICBHUmVmUHRyPEdDYW5jZWxsYWJsZT4gY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYo
Z19jYW5jZWxsYWJsZV9uZXcoKSk7CisgICAgZ19yZXNvbHZlcl9sb29rdXBfYnlfbmFtZV9hc3lu
YyhyZXNvbHZlci5nZXQoKSwgaG9zdG5hbWUudXRmOCgpLmRhdGEoKSwgY2FuY2VsbGFibGUuZ2V0
KCksIFtdKEdPYmplY3QqIHJlc29sdmVyLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIg
dXNlckRhdGEpIHsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEROU1Jlc29sdmVRdWV1ZUdMaWI6
OlJlcXVlc3Q+IHJlcXVlc3Qoc3RhdGljX2Nhc3Q8RE5TUmVzb2x2ZVF1ZXVlR0xpYjo6UmVxdWVz
dCo+KHVzZXJEYXRhKSk7CisgICAgICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKKyAg
ICAgICAgR0xpc3QqIGFkZHJlc3NlcyA9IGdfcmVzb2x2ZXJfbG9va3VwX2J5X25hbWVfZmluaXNo
KEdfUkVTT0xWRVIocmVzb2x2ZXIpLCByZXN1bHQsICZlcnJvci5vdXRQdHIoKSk7CisgICAgICAg
IGlmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1Jf
Q0FOQ0VMTEVEKSkgeworICAgICAgICAgICAgcmVxdWVzdC0+Y29tcGxldGlvbkhhbmRsZXIobWFr
ZVVuZXhwZWN0ZWQoRE5TRXJyb3I6OkNhbmNlbGxlZCkpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgc3RhdGljX2Nhc3Q8RE5TUmVzb2x2ZVF1ZXVlR0xpYiY+KERO
U1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkpLm1fcmVxdWVzdENhbmNlbGxhYmxlcy5yZW1vdmUo
cmVxdWVzdC0+aWRlbnRpZmllcik7CisgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAg
cmVxdWVzdC0+Y29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoRE5TRXJyb3I6OkNhbm5v
dFJlc29sdmUpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFZl
Y3RvcjxXZWJDb3JlOjpJUEFkZHJlc3M+IGFkZHJlc3NMaXN0OworICAgICAgICBmb3IgKGF1dG8q
IGl0ZXIgPSBhZGRyZXNzZXM7IGl0ZXI7IGl0ZXIgPSBnX2xpc3RfbmV4dChpdGVyKSkgeworICAg
ICAgICAgICAgYXV0byogYWRkcmVzcyA9IEdfSU5FVF9BRERSRVNTKGl0ZXItPmRhdGEpOworICAg
ICAgICAgICAgc3dpdGNoIChnX2luZXRfYWRkcmVzc19nZXRfZmFtaWx5KGFkZHJlc3MpKSB7Cisg
ICAgICAgICAgICBjYXNlIEdfU09DS0VUX0ZBTUlMWV9JUFY0OiB7CisgICAgICAgICAgICAgICAg
c3RydWN0IGluX2FkZHIgaXB2NEFkZHJlc3M7CisgICAgICAgICAgICAgICAgbWVtY3B5KCZpcHY0
QWRkcmVzcywgZ19pbmV0X2FkZHJlc3NfdG9fYnl0ZXMoYWRkcmVzcyksIGdfaW5ldF9hZGRyZXNz
X2dldF9uYXRpdmVfc2l6ZShhZGRyZXNzKSk7CisgICAgICAgICAgICAgICAgYWRkcmVzc0xpc3Qu
YXBwZW5kKElQQWRkcmVzcyhpcHY0QWRkcmVzcykpOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBHX1NPQ0tFVF9GQU1JTFlfSVBWNjogewor
ICAgICAgICAgICAgICAgIHN0cnVjdCBpbjZfYWRkciBpcHY2QWRkcmVzczsKKyAgICAgICAgICAg
ICAgICBtZW1jcHkoJmlwdjZBZGRyZXNzLCBnX2luZXRfYWRkcmVzc190b19ieXRlcyhhZGRyZXNz
KSwgZ19pbmV0X2FkZHJlc3NfZ2V0X25hdGl2ZV9zaXplKGFkZHJlc3MpKTsKKyAgICAgICAgICAg
ICAgICBhZGRyZXNzTGlzdC5hcHBlbmQoSVBBZGRyZXNzKGlwdjZBZGRyZXNzKSk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlIEdfU09DS0VU
X0ZBTUlMWV9JTlZBTElEOgorICAgICAgICAgICAgY2FzZSBHX1NPQ0tFVF9GQU1JTFlfVU5JWDoK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgIGlmIChhZGRyZXNzTGlzdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QtPmNv
bXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVkKFdlYkNvcmU6OkROU0Vycm9yOjpDYW5ub3RS
ZXNvbHZlKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByZXF1
ZXN0LT5jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGFkZHJlc3NMaXN0KSk7CisgICAgfSwgcmVx
dWVzdC5yZWxlYXNlKCkpOworCisgICAgbV9yZXF1ZXN0Q2FuY2VsbGFibGVzLmFkZChpZGVudGlm
aWVyLCBXVEZNb3ZlKGNhbmNlbGxhYmxlKSk7Cit9CisKK3ZvaWQgRE5TUmVzb2x2ZVF1ZXVlR0xp
Yjo6c3RvcFJlc29sdmUodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOworCisgICAgaWYgKGF1dG8gY2FuY2VsbGFibGUgPSBtX3JlcXVlc3RDYW5jZWxs
YWJsZXMudGFrZShpZGVudGlmaWVyKSkKKyAgICAgICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwoY2Fu
Y2VsbGFibGUuZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBVU0UoR0xJQikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2dsaWIvRE5TUmVzb2x2ZVF1ZXVlR0xpYi5oCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVl
dWVTb3VwLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvZ2xpYi9E
TlNSZXNvbHZlUXVldWVHTGliLmgKaW5kZXggY2VlNzlmOTMzMzEwLi4yMmJiNDY2MTQ4YTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZl
UXVldWVTb3VwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9nbGliL0RO
U1Jlc29sdmVRdWV1ZUdMaWIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTggSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCwgMjAyMCBJZ2FsaWEgUy5M
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywzNSArMjcsNDMgQEAKIAog
I2luY2x1ZGUgIkROU1Jlc29sdmVRdWV1ZS5oIgogCisjaWYgVVNFKEdMSUIpCisKKyNpbmNsdWRl
IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgX1NvdXBTZXNzaW9u
IFNvdXBTZXNzaW9uOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5ldHdvcmtTdG9y
YWdlU2Vzc2lvbjsKLQotY2xhc3MgRE5TUmVzb2x2ZVF1ZXVlU291cCBmaW5hbCA6IHB1YmxpYyBE
TlNSZXNvbHZlUXVldWUgeworY2xhc3MgRE5TUmVzb2x2ZVF1ZXVlR0xpYiBmaW5hbCA6IHB1Ymxp
YyBETlNSZXNvbHZlUXVldWUgewogcHVibGljOgotICAgIHVzaW5nIENvbXBsZXRpb25BbmRDYW5j
ZWxIYW5kbGVycyA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpETlNDb21wbGV0aW9uSGFuZGxlciwgR1Jl
ZlB0cjxHQ2FuY2VsbGFibGU+PjsKKyAgICBETlNSZXNvbHZlUXVldWVHTGliKCkgPSBkZWZhdWx0
OwogCi0gICAgRE5TUmVzb2x2ZVF1ZXVlU291cCgpID0gZGVmYXVsdDsKLSAgICBzdGF0aWMgdm9p
ZCBzZXRHbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3NvcihGdW5jdGlvbjxTb3VwU2Vzc2lv
biooKT4mJik7CiAgICAgdm9pZCByZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQ2
NF90IGlkZW50aWZpZXIsIEROU0NvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQg
c3RvcFJlc29sdmUodWludDY0X3QgaWRlbnRpZmllcikgZmluYWw7CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q29tcGxldGlvbkFuZENhbmNlbEhhbmRsZXJzPiB0YWtlQ29tcGxldGlvbkFuZENhbmNl
bEhhbmRsZXJzKHVpbnQ2NF90IGlkZW50aWZpZXIpOwotICAgIHZvaWQgcmVtb3ZlQ2FuY2VsQW5k
Q29tcGxldGlvbkhhbmRsZXIodWludDY0X3QgaWRlbnRpZmllcik7Ci0KIHByaXZhdGU6Ci0gICAg
dm9pZCB1cGRhdGVJc1VzaW5nUHJveHkoKSBmaW5hbDsKKyAgICBzdHJ1Y3QgUmVxdWVzdCB7Cisg
ICAgICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKIAotICAgIEhhc2hNYXA8dWlu
dDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxDb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnM+PiBtX2Nv
bXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyczsKKyAgICAgICAgUmVxdWVzdCh1aW50NjRfdCBpZGVu
dGlmaWVyLCBETlNDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAg
ICAgICAgOiBpZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgICAgICAgICAsIGNvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQorICAgICAgICB7CisgICAgICAgIH0K
IAorICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyIHsgMCB9OworICAgICAgICBETlNDb21wbGV0
aW9uSGFuZGxlciBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICB9OworCisgICAgdm9pZCB1cGRhdGVJ
c1VzaW5nUHJveHkoKSBmaW5hbDsKICAgICB2b2lkIHBsYXRmb3JtUmVzb2x2ZShjb25zdCBTdHJp
bmcmKSBmaW5hbDsKKworICAgIEhhc2hNYXA8dWludDY0X3QsIEdSZWZQdHI8R0NhbmNlbGxhYmxl
Pj4gbV9yZXF1ZXN0Q2FuY2VsbGFibGVzOwogfTsKIAotdXNpbmcgRE5TUmVzb2x2ZVF1ZXVlUGxh
dGZvcm0gPSBETlNSZXNvbHZlUXVldWVTb3VwOwordXNpbmcgRE5TUmVzb2x2ZVF1ZXVlUGxhdGZv
cm0gPSBETlNSZXNvbHZlUXVldWVHTGliOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0K
KyNlbmRpZiAvLyBVU0UoR0xJQikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9ETlNSZXNvbHZlUXVldWVTb3VwLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWY2OTZlNzM0ZDMwLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1Jlc29sdmVRdWV1ZVNvdXAuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMjExICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRE5TUmVz
b2x2ZVF1ZXVlU291cC5oIgotCi0jaWYgVVNFKFNPVVApCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3Nv
dXAuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KLSNpbmNsdWRlIDx3dGYv
RnVuY3Rpb24uaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KLSNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gSW5p
dGlhbGx5IHRydWUgdG8gZW5zdXJlIHByZWZldGNoIHN0YXlzIGRpc2FibGVkIHVudGlsIHdlIGhh
dmUgcHJveHkgc2V0dGluZ3MuCi1zdGF0aWMgYm9vbCBpc1VzaW5nSHR0cFByb3h5ID0gdHJ1ZTsK
LXN0YXRpYyBib29sIGlzVXNpbmdIdHRwc1Byb3h5ID0gdHJ1ZTsKLQotc3RhdGljIGJvb2wgZGlk
UmVzb2x2ZVByb3h5KGNoYXIqKiB1cmlzKQotewotICAgIC8vIFdlIGhhdmUgYSBsaXN0IG9mIHBv
c3NpYmxlIHByb3hpZXMgdG8gdXNlIGZvciB0aGUgVVJJLiBJZiB0aGUgZmlyc3QgaXRlbSBpbiB0
aGUgbGlzdCBpcwotICAgIC8vIGRpcmVjdDovLyAodGhlIHVzdWFsIGNhc2UpLCB0aGVuIHRoZSB1
c2VyIHByZWZlcnMgbm90IHRvIHVzZSBhIHByb3h5LiBUaGlzIGlzIHNpbWlsYXIgdG8KLSAgICAv
LyByZXNvbHZpbmcgaG9zdG5hbWVzOiB0aGVyZSBjb3VsZCBiZSBtYW55IHBvc3NpYmlsaXRpZXMg
cmV0dXJuZWQgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZSwgYW5kCi0gICAgLy8gaWYgd2UncmUgdHJ5
aW5nIHRvIGNvbm5lY3Qgd2Ugc2hvdWxkIGF0dGVtcHQgZWFjaCBvbmUgaW4gb3JkZXIsIGJ1dCBo
ZXJlIHdlIGFyZSBub3QgdHJ5aW5nCi0gICAgLy8gdG8gY29ubmVjdCwgbWVyZWx5IHRvIGRlY2lk
ZSB3aGV0aGVyIGEgcHJveHkgInNob3VsZCIgYmUgdXNlZC4KLSAgICByZXR1cm4gdXJpcyAmJiAq
dXJpcyAmJiBzdHJjbXAoKnVyaXMsICJkaXJlY3Q6Ly8iKTsKLX0KLQotc3RhdGljIHZvaWQgZGlk
UmVzb2x2ZVByb3h5KEdQcm94eVJlc29sdmVyKiByZXNvbHZlciwgR0FzeW5jUmVzdWx0KiByZXN1
bHQsIGJvb2wqIGlzVXNpbmdQcm94eVR5cGUsIGJvb2wqIGlzVXNpbmdQcm94eSkKLXsKLSAgICBH
VW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyKj4gdXJpcyhn
X3Byb3h5X3Jlc29sdmVyX2xvb2t1cF9maW5pc2gocmVzb2x2ZXIsIHJlc3VsdCwgJmVycm9yLm91
dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiRXJyb3Ig
ZGV0ZXJtaW5pbmcgc3lzdGVtIHByb3h5IHNldHRpbmdzOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgICppc1VzaW5nUHJveHlUeXBlID0gZGlkUmVz
b2x2ZVByb3h5KHVyaXMuZ2V0KCkpOwotICAgICppc1VzaW5nUHJveHkgPSBpc1VzaW5nSHR0cFBy
b3h5IHx8IGlzVXNpbmdIdHRwc1Byb3h5OwotfQotCi1zdGF0aWMgdm9pZCBwcm94eVJlc29sdmVk
Rm9ySHR0cFVyaUNhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXN1bHQs
IHZvaWQqIHVzZXJEYXRhKQotewotICAgIGRpZFJlc29sdmVQcm94eShHX1BST1hZX1JFU09MVkVS
KHNvdXJjZSksIHJlc3VsdCwgJmlzVXNpbmdIdHRwUHJveHksIHN0YXRpY19jYXN0PGJvb2wqPih1
c2VyRGF0YSkpOwotfQotCi1zdGF0aWMgdm9pZCBwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxs
YmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzdWx0LCB2b2lkKiB1c2VyRGF0
YSkKLXsKLSAgICBkaWRSZXNvbHZlUHJveHkoR19QUk9YWV9SRVNPTFZFUihzb3VyY2UpLCByZXN1
bHQsICZpc1VzaW5nSHR0cHNQcm94eSwgc3RhdGljX2Nhc3Q8Ym9vbCo+KHVzZXJEYXRhKSk7Ci19
Ci0KLUZ1bmN0aW9uPFNvdXBTZXNzaW9uKigpPiYgZ2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNj
ZXNzb3IoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGdW5jdGlvbjxTb3VwU2Vzc2lv
biooKT4+IGFjY2Vzc29yOwotICAgIHJldHVybiBhY2Nlc3Nvci5nZXQoKTsKLX0KLQotdm9pZCBE
TlNSZXNvbHZlUXVldWVTb3VwOjpzZXRHbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3NvcihG
dW5jdGlvbjxTb3VwU2Vzc2lvbiooKT4mJiBhY2Nlc3NvcikKLXsKLSAgICBnbG9iYWxEZWZhdWx0
U291cFNlc3Npb25BY2Nlc3NvcigpID0gV1RGTW92ZShhY2Nlc3Nvcik7Ci19Ci0KLXZvaWQgRE5T
UmVzb2x2ZVF1ZXVlU291cDo6dXBkYXRlSXNVc2luZ1Byb3h5KCkKLXsKLSAgICBHUmVmUHRyPEdQ
cm94eVJlc29sdmVyPiByZXNvbHZlcjsKLSAgICBnX29iamVjdF9nZXQoZ2xvYmFsRGVmYXVsdFNv
dXBTZXNzaW9uQWNjZXNzb3IoKSgpLCAicHJveHktcmVzb2x2ZXIiLCAmcmVzb2x2ZXIub3V0UHRy
KCksIG51bGxwdHIpOwotICAgIEFTU0VSVChyZXNvbHZlcik7Ci0KLSAgICBnX3Byb3h5X3Jlc29s
dmVyX2xvb2t1cF9hc3luYyhyZXNvbHZlci5nZXQoKSwgImh0dHA6Ly9leGFtcGxlLmNvbS8iLCBu
dWxscHRyLCBwcm94eVJlc29sdmVkRm9ySHR0cFVyaUNhbGxiYWNrLCAmbV9pc1VzaW5nUHJveHkp
OwotICAgIGdfcHJveHlfcmVzb2x2ZXJfbG9va3VwX2FzeW5jKHJlc29sdmVyLmdldCgpLCAiaHR0
cHM6Ly9leGFtcGxlLmNvbS8iLCBudWxscHRyLCBwcm94eVJlc29sdmVkRm9ySHR0cHNVcmlDYWxs
YmFjaywgJm1faXNVc2luZ1Byb3h5KTsKLX0KLQotc3RhdGljIHZvaWQgcmVzb2x2ZWRDYWxsYmFj
ayhTb3VwQWRkcmVzcyosIGd1aW50LCB2b2lkKikKLXsKLSAgICBETlNSZXNvbHZlUXVldWU6OnNp
bmdsZXRvbigpLmRlY3JlbWVudFJlcXVlc3RDb3VudCgpOwotfQotCi1zdGF0aWMgdm9pZCByZXNv
bHZlZFdpdGhPYnNlcnZlckNhbGxiYWNrKFNvdXBBZGRyZXNzKiBhZGRyZXNzLCBndWludCBzdGF0
dXMsIHZvaWQqIGRhdGEpCi17Ci0gICAgQVNTRVJUKGRhdGEpOwotICAgIGF1dG8qIHJlc29sdmVR
dWV1ZSA9IHN0YXRpY19jYXN0PEROU1Jlc29sdmVRdWV1ZVNvdXAqPihkYXRhKTsKLQotICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIgPSBHUE9JTlRFUl9UT19VSU5UKGdfb2JqZWN0X2dldF9kYXRhKEdf
T0JKRUNUKGFkZHJlc3MpLCAiaWRlbnRpZmllciIpKTsKLQotICAgIGF1dG8gY29tcGxldGlvbkFu
ZENhbmNlbEhhbmRsZXJzID0gcmVzb2x2ZVF1ZXVlLT50YWtlQ29tcGxldGlvbkFuZENhbmNlbEhh
bmRsZXJzKGlkZW50aWZpZXIpOwotCi0gICAgaWYgKCFjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxl
cnMpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy5nZXQoKS0+Zmlyc3QpOwotCi0gICAgaWYg
KHN0YXR1cyAhPSBTT1VQX1NUQVRVU19PSykgewotICAgICAgICBETlNFcnJvciBlcnJvciA9IERO
U0Vycm9yOjpVbmtub3duOwotCi0gICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7Ci0gICAgICAgIGNh
c2UgU09VUF9TVEFUVVNfQ0FOVF9SRVNPTFZFOgotICAgICAgICAgICAgZXJyb3IgPSBETlNFcnJv
cjo6Q2Fubm90UmVzb2x2ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNPVVBf
U1RBVFVTX0NBTkNFTExFRDoKLSAgICAgICAgICAgIGVycm9yID0gRE5TRXJyb3I6OkNhbmNlbGxl
ZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNPVVBfU1RBVFVTX09LOgotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IH07Ci0KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc291cF9hZGRyZXNzX2lzX3Jlc29s
dmVkKGFkZHJlc3MpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVk
KEROU0Vycm9yOjpVbmtub3duKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWZWN0
b3I8V2ViQ29yZTo6SVBBZGRyZXNzPiBhZGRyZXNzZXM7Ci0gICAgYWRkcmVzc2VzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoMSk7Ci0gICAgaW50IGxlbjsKLSAgICAvLyBGSVhNRTogU3VwcG9ydCBt
dWx0aXBsZSBhZGRyZXNzZXMsIElQdjYgYW5kIElQdjQuCi0gICAgYXV0byogaXBBZGRyZXNzID0g
c291cF9hZGRyZXNzX2dldF9zb2NrYWRkcihhZGRyZXNzLCAmbGVuKTsKLSAgICBpZiAoaXBBZGRy
ZXNzKSB7Ci0gICAgICAgIGlmIChhdXRvIGFkZHJlc3MgPSBJUEFkZHJlc3M6OmZyb21Tb2NrQWRk
ckluNihyZWludGVycHJldF9jYXN0PGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbjYmPigqaXBBZGRy
ZXNzKSkpCi0gICAgICAgICAgICBhZGRyZXNzZXMudW5jaGVja2VkQXBwZW5kKCphZGRyZXNzKTsK
LSAgICB9Ci0gICAgaWYgKGFkZHJlc3Nlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoV2ViQ29yZTo6RE5TRXJyb3I6OkNhbm5vdFJlc29sdmUp
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNvbXBsZXRpb25IYW5kbGVyKGFkZHJl
c3Nlcyk7Ci19Ci0KLXN0ZDo6dW5pcXVlX3B0cjxETlNSZXNvbHZlUXVldWVTb3VwOjpDb21wbGV0
aW9uQW5kQ2FuY2VsSGFuZGxlcnM+IEROU1Jlc29sdmVRdWV1ZVNvdXA6OnRha2VDb21wbGV0aW9u
QW5kQ2FuY2VsSGFuZGxlcnModWludDY0X3QgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwotCi0gICAgYXV0byBjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnMgPSBt
X2NvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy50YWtlKGlkZW50aWZpZXIpOwotCi0gICAgaWYg
KCFjb21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlcnMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgcmV0dXJuIGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyczsKLX0KLQotdm9pZCBETlNS
ZXNvbHZlUXVldWVTb3VwOjpyZW1vdmVDYW5jZWxBbmRDb21wbGV0aW9uSGFuZGxlcih1aW50NjRf
dCBpZGVudGlmaWVyKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBtX2Nv
bXBsZXRpb25BbmRDYW5jZWxIYW5kbGVycy5yZW1vdmUoaWRlbnRpZmllcik7Ci19Ci0KLXZvaWQg
RE5TUmVzb2x2ZVF1ZXVlU291cDo6cGxhdGZvcm1SZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIHNvdXBfc2Vzc2lvbl9w
cmVmZXRjaF9kbnMoZ2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNjZXNzb3IoKSgpLCBob3N0bmFt
ZS51dGY4KCkuZGF0YSgpLCBudWxscHRyLCByZXNvbHZlZENhbGxiYWNrLCBudWxscHRyKTsKLX0K
LQotdm9pZCBETlNSZXNvbHZlUXVldWVTb3VwOjpyZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIEROU0NvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIGF1dG8gYWRk
cmVzcyA9IGFkb3B0R1JlZihzb3VwX2FkZHJlc3NfbmV3KGhvc3RuYW1lLnV0ZjgoKS5kYXRhKCks
IDApKTsKLSAgICBhdXRvIGNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3
KCkpOwotICAgIHNvdXBfYWRkcmVzc19yZXNvbHZlX2FzeW5jKGFkZHJlc3MuZ2V0KCksIHNvdXBf
c2Vzc2lvbl9nZXRfYXN5bmNfY29udGV4dChnbG9iYWxEZWZhdWx0U291cFNlc3Npb25BY2Nlc3Nv
cigpKCkpLCBjYW5jZWxsYWJsZS5nZXQoKSwgcmVzb2x2ZWRXaXRoT2JzZXJ2ZXJDYWxsYmFjaywg
dGhpcyk7Ci0KLSAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChhZGRyZXNzLmdldCgpKSwg
ImlkZW50aWZpZXIiLCBHVUlOVF9UT19QT0lOVEVSKGlkZW50aWZpZXIpKTsKLQotICAgIG1fY29t
cGxldGlvbkFuZENhbmNlbEhhbmRsZXJzLmFkZChpZGVudGlmaWVyLCBtYWtlVW5pcXVlV2l0aG91
dEZhc3RNYWxsb2NDaGVjazxETlNSZXNvbHZlUXVldWVTb3VwOjpDb21wbGV0aW9uQW5kQ2FuY2Vs
SGFuZGxlcnM+KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBXVEZNb3ZlKGNhbmNlbGxhYmxl
KSkpOwotfQotCi12b2lkIEROU1Jlc29sdmVRdWV1ZVNvdXA6OnN0b3BSZXNvbHZlKHVpbnQ2NF90
IGlkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIGlmIChh
dXRvIGNvbXBsZXRpb25BbmRDYW5jZWxIYW5kbGVyID0gbV9jb21wbGV0aW9uQW5kQ2FuY2VsSGFu
ZGxlcnMudGFrZShpZGVudGlmaWVyKSkgewotICAgICAgICBnX2NhbmNlbGxhYmxlX2NhbmNlbChj
b21wbGV0aW9uQW5kQ2FuY2VsSGFuZGxlci5nZXQoKS0+c2Vjb25kLmdldCgpKTsKLSAgICAgICAg
Y29tcGxldGlvbkFuZENhbmNlbEhhbmRsZXIuZ2V0KCktPmZpcnN0KG1ha2VVbmV4cGVjdGVkKERO
U0Vycm9yOjpDYW5jZWxsZWQpKTsKLSAgICB9Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDkwMjRlN2Q0YzQ0Zi4uYmE4ZGRhNWY2MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIwLTEwLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OKHIyNjc3NjMpIFtTT1VQXSBTb21lIHRlc3RzIGZsYWt5IGNyYXNo
aW5nIGluIE5ldHdvcmtTZXNzaW9uU291cDo6c291cFNlc3Npb24oKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MTYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNvZGUgdG8gc2V0IHRoZSBT
b3VwU2Vzc2lvbiBvbiBETlNSZXNvbHZlUXVldWUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisKIDIwMjAtMTAtMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogYWRkIHN1cHBvcnQg
Zm9yIHNhbWUgc2l0ZSBjb29raWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDMzZjI5NTIxMDQyOS4uZDUxZWNjMDY4NDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAt
MTA0LDcgKzEwNCw2IEBACiAKICNpZiBVU0UoU09VUCkKICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lv
blNvdXAuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ROU1Jlc29sdmVRdWV1ZVNvdXAuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NvdXBOZXR3b3JrU2Vzc2lvbi5oPgogI2VuZGlmCiAKQEAgLTE3MiwxMyAr
MTcxLDYgQEAgTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWUKICAgICBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXI6Om5ldHdvcmtQcm9jZXNzQ3JlYXRlZCgqdGhpcyk7CiAjZW5kaWYKIAotI2lmIFVT
RShTT1VQKQotICAgIC8vIEZJWE1FOiBEbyBub3QgdXNlIHRoZSBkZWZhdWx0IHNlc3Npb24gSUQu
Ci0gICAgRE5TUmVzb2x2ZVF1ZXVlU291cDo6c2V0R2xvYmFsRGVmYXVsdFNvdXBTZXNzaW9uQWNj
ZXNzb3IoW3RoaXNdKCkgLT4gU291cFNlc3Npb24qIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PE5ldHdvcmtTZXNzaW9uU291cCY+KCpuZXR3b3JrU2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6
ZGVmYXVsdFNlc3Npb25JRCgpKSkuc291cFNlc3Npb24oKTsKLSAgICB9KTsKLSNlbmRpZgotCiAg
ICAgTmV0d29ya1N0YXRlTm90aWZpZXI6OnNpbmdsZXRvbigpLmFkZExpc3RlbmVyKFt3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYm9vbCBpc09uTGluZSkgewogICAgICAgICBpZiAoIXdl
YWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>