<?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>201859</bug_id>
          
          <creation_ts>2019-09-16 21:15:53 -0700</creation_ts>
          <short_desc>REGRESSION (r249923): ASSERTION FAILED: sessionID == WebProcess::singleton().sessionID() in WebCore::SWClientConnection *WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession(PAL::SessionID)</short_desc>
          <delta_ts>2019-09-17 10:12:12 -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>New Bugs</component>
          <version>Other</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=201830</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="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1571415</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-09-16 21:15:53 -0700</bug_when>
    <thetext>The following API test is timing out / failing an assertion added with https://trac.webkit.org/changeset/249923/webkit

TestWebKitAPI.WebKit.PrivateBrowsingPushStateNoHistoryCallback
        _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
        ASSERTION FAILED: sessionID == WebProcess::singleton().sessionID()
        /Volumes/Data/slave/mojave-debug/build/Source/WebKit/WebProcess/Storage/WebServiceWorkerProvider.cpp(65) : virtual WebCore::SWClientConnection *WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession(PAL::SessionID)
        1   0x319c51089 WTFCrash
        2   0x10658296b WTFCrashWithInfo(int, char const*, char const*, int)
        3   0x10772003c WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession(PAL::SessionID)
        4   0x1079aca22 WebKit::WebPage::updateThrottleState()::$_4::operator()() const
        5   0x1079ac9c9 WTF::Detail::CallableWrapper&lt;WebKit::WebPage::updateThrottleState()::$_4, void&gt;::call()
        6   0x319c7db9a WTF::Function&lt;void ()&gt;::operator()() const
        7   0x319ceecf5 WTF::RunLoop::performWork()
        8   0x319cf009e WTF::RunLoop::performWork(void*)
        9   0x7fff3787c683 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
        10  0x7fff3787c629 __CFRunLoopDoSource0
        11  0x7fff3785ffeb __CFRunLoopDoSources0
        12  0x7fff3785f5b5 __CFRunLoopRun
        13  0x7fff3785eebe CFRunLoopRunSpecific
        14  0x7fff39ac37df -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
        15  0x7fff39ac36b4 -[NSRunLoop(NSRunLoop) run]
        16  0x7fff639ee077 _xpc_objc_main
        17  0x7fff639edb79 _xpc_copy_xpcservice_dictionary
        18  0x106cd73e5 WebKit::XPCServiceMain(int, char const**)
        19  0x107cb0bfb WKXPCServiceMain
        20  0x106576ea2 main
        21  0x7fff637b53d5 start

https://build.webkit.org/builders/Apple%20Mojave%20Debug%20WK2%20%28Tests%29/builds/4712/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571416</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-16 21:17:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/55426742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571417</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 21:17:53 -0700</bug_when>
    <thetext>Looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571420</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 21:25:55 -0700</bug_when>
    <thetext>There is a WKPreferencesSetPrivateBrowsingEnabled() C SPI which still allows the view to change session without navigating :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571427</commentid>
    <comment_count>4</comment_count>
      <attachid>378937</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 22:02:49 -0700</bug_when>
    <thetext>Created attachment 378937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571538</commentid>
    <comment_count>5</comment_count>
      <attachid>378964</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 08:18:08 -0700</bug_when>
    <thetext>Created attachment 378964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571539</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-09-17 08:18:40 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571552</commentid>
    <comment_count>7</comment_count>
      <attachid>378967</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 09:02:46 -0700</bug_when>
    <thetext>Created attachment 378967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571579</commentid>
    <comment_count>8</comment_count>
      <attachid>378967</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 10:12:11 -0700</bug_when>
    <thetext>Comment on attachment 378967
Patch

Clearing flags on attachment: 378967

Committed r249962: &lt;https://trac.webkit.org/changeset/249962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571580</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 10:12:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378937</attachid>
            <date>2019-09-16 22:02:49 -0700</date>
            <delta_ts>2019-09-17 08:18:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201859-20190916220223.patch</filename>
            <type>text/plain</type>
            <size>19314</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5OTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVlZDUxOWY3YjAxMzllZWQ0
MzhjMTk3ZmI0MGUzOGU3NzhmMWY5YzIuLmExN2EwOTA1M2JmN2UxNWUxY2M1NDA2MDBlMGUxNmM1
MmU2NzYxNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ5OTIzKTog
QVNTRVJUSU9OIEZBSUxFRDogc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNl
c3Npb25JRCgpIGluIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2ViS2l0OjpXZWJTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxODU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQyNjc0Mj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHN1cHBv
cnQgZm9yIHRoZSBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpIEMgQVBJ
IChNYXJrIGFzIGRlcHJlY2F0ZWQgYW5kIG1ha2UgaXQgYSBuby1vcCkgYXMgaXQKKyAgICAgICAg
d2FzIGNoYW5naW5nIGEgV2ViQ29udGVudCBwcm9jZXNzJ3Mgc2Vzc2lvbklELCB3aGljaCBpcyBu
byBsb25nZXIgc3VwcG9ydGVkLiBUaGlzIHdhcyBhbHNvIHVzaW5nIHRoZSBsZWdhY3kgcHJpdmF0
ZQorICAgICAgICBicm93c2luZyBzZXNzaW9uLCB3aGljaCB3ZSdyZSB0cnlpbmcgdG8gZ2V0IHJp
ZCBvZi4gVGhlcmUgaXMgc3VpdGFibGUgQyBBUEkgdG8gZG8gcHJpdmF0ZSBicm93c2luZyAoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9t
YWMvV0tQYWdlUHJpdmF0ZU1hYy5tbToKKyAgICAgICAgKFdLUGFnZUlzVVJMS25vd25IU1RTSG9z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppc1VSTEtub3duSFNUU0hvc3QgY29uc3Qp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByZWZlcmVuY2VzOjphZGRQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXM6OnJlbW92ZVBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6dXBk
YXRlQm9vbFZhbHVlRm9yS2V5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMp
OgorCiAyMDE5LTA5LTE2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OOiBpUGFkOiBTYWZhcmkgYmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXIgY29u
dGV4dCBtZW51IG9uIDEtODAwLU1ZLUFQUExFIHBob25lIG51bWJlciwgdGFwcGluZyAnQWRkIHRv
IENvbnRhY3RzJwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXgg
YzgxMGNlNDJjNmEyYjlkNzI0NTU4YmJkMmJkNjE3MzIwMTI2MGYyNS4uNjVmOWRlNzFiZWZmMTQ4
MjBiOTgwOGY4YTVjODNlMjZlYjE3NDk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCkBAIC05MiwxMSArOTIsNiBAQCBTYWZlQnJvd3NpbmdFbmFibGVkOgogICBk
ZWZhdWx0VmFsdWU6IHRydWUKICAgd2ViY29yZUJpbmRpbmc6IG5vbmUKIAotUHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIHdlYmNv
cmVCaW5kaW5nOiBub25lCi0KIFRleHRBcmVhc0FyZVJlc2l6YWJsZToKICAgdHlwZTogYm9vbAog
ICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfVEVYVF9BUkVBU19BUkVfUkVTSVpBQkxFCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGQ4ZDli
YTgxYWE3MzhkNTI5ZThkM2QxMGU2YmQ5ZGI1MTJkMzg3MTguLjVlN2Y1MjMyOGFlZDk2NzJlYTNk
ZWU0ZWIzMjQ4YjBlYjYwMWM0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0zNTEsMTIgKzM1MSwxMSBAQCBXS1N0cmluZ1JlZiBX
S1ByZWZlcmVuY2VzQ29weURlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGVuYWJsZWQp
OwogfQogCiBib29sIFdLUHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJuIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9
CiAKIHZvaWQgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCmluZGV4IGNhODcxZmY2OTJiN2Zm
ZTMwYzljMzhkMDZhOGNhMWRjYzFhOThkYTQuLjI3NTUzZjk0Yzc1ZDY0NzI1ZDU1MmNlOTljOTA3
ODNiNDU2NmJjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzUmVmLmgKQEAgLTE0OSw4ICsxNDksOCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0RGVmYXVsdFRleHRFbmNvZGluZ05hbWUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bgogV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLUHJlZmVyZW5jZXNDb3B5RGVmYXVsdFRleHRFbmNv
ZGluZ05hbWUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRz
IHRvIGZhbHNlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsK
LVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKSBXS19DX0FQSV9ERVBSRUNBVEVEOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZikgV0tfQ19BUElfREVQUkVDQVRFRDsKIAogLy8gRGVmYXVsdHMgdG8gZmFs
c2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5t
bQppbmRleCAzNWVmOTIyMTU0ZTE5NjMwMGU0YjZlZTc1ZDRjOTgxNzg1YmMzZTI1Li4xNzM5OGVj
ZTgyMmVjZmRiZDAxZmMyMTMxNjA1ZTUzM2E3ODc3M2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQpAQCAtMTMyLDkg
KzEzMiw4IEBAIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpXS1BhZ2VHZXRPYmplY3RSZWdpc3Ry
eShXS1BhZ2VSZWYgcGFnZVJlZikKIGJvb2wgV0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFn
ZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmwpCiB7CiAgICAgV2ViS2l0OjpXZWJQYWdlUHJveHkqIHdl
YlBhZ2VQcm94eSA9IFdlYktpdDo6dG9JbXBsKHBhZ2UpOwotICAgIGJvb2wgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCA9IHdlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCkucHJlZmVyZW5jZXMoKS5wcml2
YXRlQnJvd3NpbmdFbmFibGVkKCk7CiAKLSAgICByZXR1cm4gd2ViUGFnZVByb3h5LT5wcm9jZXNz
KCkucHJvY2Vzc1Bvb2woKS5pc1VSTEtub3duSFNUU0hvc3QoV2ViS2l0Ojp0b0ltcGwodXJsKS0+
c3RyaW5nKCksIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpOworICAgIHJldHVybiB3ZWJQYWdlUHJv
eHktPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmlzVVJMS25vd25IU1RTSG9zdChXZWJLaXQ6OnRv
SW1wbCh1cmwpLT5zdHJpbmcoKSk7CiB9CiAKIFdLTmF2aWdhdGlvbiAqV0tQYWdlTG9hZFVSTFJl
cXVlc3RSZXR1cm5pbmdOYXZpZ2F0aW9uKFdLUGFnZVJlZiBwYWdlUmVmLCBXS1VSTFJlcXVlc3RS
ZWYgdXJsUmVxdWVzdFJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDRmYzUwOTJhNzFlMzJlM2ViNGQyYzdlOTQx
OWM3ZDIwMGJmZjJlYmYuLjUxMGVjYjA3NDBiNTBjMDBkM2RhMDkxODJiMzY0YjQ5MTNkOGE3OTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQpAQCAtNDg5LDExICs0ODksMTEgQEAgc3RhdGljIENGVVJMU3RvcmFnZVNlc3Np
b25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb247CiB9CiAK
LWJvb2wgV2ViUHJvY2Vzc1Bvb2w6OmlzVVJMS25vd25IU1RTSG9zdChjb25zdCBTdHJpbmcmIHVy
bFN0cmluZywgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKSBjb25zdAorYm9vbCBXZWJQcm9j
ZXNzUG9vbDo6aXNVUkxLbm93bkhTVFNIb3N0KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKSBjb25z
dAogewogICAgIFJldGFpblB0cjxDRlVSTFJlZj4gdXJsID0gVVJMKFVSTCgpLCB1cmxTdHJpbmcp
LmNyZWF0ZUNGVVJMKCk7CiAKLSAgICByZXR1cm4gX0NGTmV0d29ya0lzS25vd25IU1RTSG9zdFdp
dGhTZXNzaW9uKHVybC5nZXQoKSwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IHByaXZhdGVCcm93
c2luZ1Nlc3Npb24oKSA6IG51bGxwdHIpOworICAgIHJldHVybiBfQ0ZOZXR3b3JrSXNLbm93bkhT
VFNIb3N0V2l0aFNlc3Npb24odXJsLmdldCgpLCBudWxscHRyKTsKIH0KIAogdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6cmVzZXRIU1RTSG9zdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IDI2NjRiYTBiNzZkOWM3MGE5ZmY4YmVlZDYyNDZjZDhkNjU2ZmIy
NGEuLjVkODEwNDcyZWIxM2Y5MWFkYzNjYzFiMjU3NjY1NTc3NzExYmQ4ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTM2LDEwICszNiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi0vLyBGSVhNRTogTWFuaXB1bGF0aW5nIHRoaXMgdmFyaWFi
bGUgaXMgbm90IHRocmVhZCBzYWZlLgotLy8gSW5zdGVhZCBvZiB0cmFja2luZyBwcml2YXRlIGJy
b3dzaW5nIHN0YXRlIGFzIGEgYm9vbGVhbiBwcmVmZXJlbmNlLCB3ZSBzaG91bGQgbGV0IHRoZSBj
bGllbnQgcHJvdmlkZSBzdG9yYWdlIHNlc3Npb25zIGV4cGxpY2l0bHkuCi1zdGF0aWMgdW5zaWdu
ZWQgcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50OwotCiBSZWY8V2ViUHJlZmVyZW5jZXM+IFdlYlBy
ZWZlcmVuY2VzOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGtleVByZWZpeCwgY29uc3QgU3RyaW5nJiBnbG9iYWxEZWJ1Z0tleVByZWZpeCkKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJQcmVmZXJlbmNlcyhpZGVudGlmaWVyLCBrZXlQcmVmaXgs
IGdsb2JhbERlYnVnS2V5UHJlZml4KSk7CkBAIC04OCwyNSArODQsMTIgQEAgdm9pZCBXZWJQcmVm
ZXJlbmNlczo6YWRkUGFnZShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKIHsKICAgICBBU1NF
UlQoIW1fcGFnZXMuY29udGFpbnMoJndlYlBhZ2VQcm94eSkpOwogICAgIG1fcGFnZXMuYWRkKCZ3
ZWJQYWdlUHJveHkpOwotCi0gICAgaWYgKHByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkgewotICAg
ICAgICBpZiAoIXByaXZhdGVCcm93c2luZ1BhZ2VDb3VudCkKLSAgICAgICAgICAgIFdlYlByb2Nl
c3NQb29sOjp3aWxsU3RhcnRVc2luZ1ByaXZhdGVCcm93c2luZygpOwotCi0gICAgICAgICsrcHJp
dmF0ZUJyb3dzaW5nUGFnZUNvdW50OwotICAgIH0KIH0KIAogdm9pZCBXZWJQcmVmZXJlbmNlczo6
cmVtb3ZlUGFnZShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKIHsKICAgICBBU1NFUlQobV9w
YWdlcy5jb250YWlucygmd2ViUGFnZVByb3h5KSk7CiAgICAgbV9wYWdlcy5yZW1vdmUoJndlYlBh
Z2VQcm94eSk7Ci0KLSAgICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAg
IC0tcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50OwotICAgICAgICBpZiAoIXByaXZhdGVCcm93c2lu
Z1BhZ2VDb3VudCkKLSAgICAgICAgICAgIFdlYlByb2Nlc3NQb29sOjp3aWxsU3RvcFVzaW5nUHJp
dmF0ZUJyb3dzaW5nKCk7Ci0gICAgfQogfQogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGUo
KQpAQCAtMTIzLDExICsxMDYsNiBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVTdHJpbmdW
YWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YQogCiB2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJv
b2wgdmFsdWUpCiB7Ci0gICAgaWYgKGtleSA9PSBXZWJQcmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZEtleSgpKSB7Ci0gICAgICAgIHVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVl
KHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIHBsYXRmb3JtVXBkYXRlQm9v
bFZhbHVlRm9yS2V5KGtleSwgdmFsdWUpOwogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBz
ZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KQEAgLTE4NiwzMCArMTY0LDYg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6ZGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KQogICAg
IHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2
YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFs
dWUoYm9vbCB2YWx1ZSkKLXsKLSAgICBwbGF0Zm9ybVVwZGF0ZUJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEtleSgpLCB2YWx1ZSk7Ci0KLSAg
ICB1bnNpZ25lZCBwYWdlc0NoYW5nZWQgPSBtX3BhZ2VzLnNpemUoKTsKLSAgICBpZiAoIXBhZ2Vz
Q2hhbmdlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHZhbHVlKSB7Ci0gICAgICAgIGlm
ICghcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50KQotICAgICAgICAgICAgV2ViUHJvY2Vzc1Bvb2w6
OndpbGxTdGFydFVzaW5nUHJpdmF0ZUJyb3dzaW5nKCk7Ci0gICAgICAgIHByaXZhdGVCcm93c2lu
Z1BhZ2VDb3VudCArPSBwYWdlc0NoYW5nZWQ7Ci0gICAgfQotCi0gICAgdXBkYXRlKCk7IC8vIEZJ
WE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgotCi0gICAgaWYg
KCF2YWx1ZSkgewotICAgICAgICBBU1NFUlQocHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50ID49IHBh
Z2VzQ2hhbmdlZCk7Ci0gICAgICAgIHByaXZhdGVCcm93c2luZ1BhZ2VDb3VudCAtPSBwYWdlc0No
YW5nZWQ7Ci0gICAgICAgIGlmICghcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50KQotICAgICAgICAg
ICAgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdG9wVXNpbmdQcml2YXRlQnJvd3NpbmcoKTsKLSAgICB9
Ci19Ci0KICNkZWZpbmUgREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVw
cGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJs
ZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAogICAgIHZvaWQgV2ViUHJlZmVyZW5j
ZXM6OnNldCMjS2V5VXBwZXIoY29uc3QgVHlwZSYgdmFsdWUpIFwKICAgICB7IFwKQEAgLTIzNCwx
MSArMTg4LDYgQEAgRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVGSU5FX1BSRUZF
UkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQogI3VuZGVmIERFRklORV9QUkVGRVJFTkNFX0dFVFRF
Ul9BTkRfU0VUVEVSUwogCiAKLWJvb2wgV2ViUHJlZmVyZW5jZXM6OmFueVBhZ2VzQXJlVXNpbmdQ
cml2YXRlQnJvd3NpbmcoKQotewotICAgIHJldHVybiBwcml2YXRlQnJvd3NpbmdQYWdlQ291bnQ7
Ci19Ci0KIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnJlZ2lzdGVyRGVmYXVsdEJvb2xWYWx1ZUZvcktl
eShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkKIHsKICAgICBtX3N0b3JlLnNldE92ZXJy
aWRlRGVmYXVsdHNCb29sVmFsdWVGb3JLZXkoa2V5LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAppbmRleCAxMjA2MWY2MmExZDAxMjYxOWM2YzIyMmQ4YmZk
MzkwOWQ1NDI0NzUzLi5lZmZjNjkxOWZiODAxZmQ5ZTQ3NWVlMDJlZmQxMzZlM2U0MTc3NTE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTc5LDggKzc5LDYg
QEAgcHVibGljOgogICAgIC8vIEV4cG9zZWQgZm9yIFdlYktpdFRlc3RSdW5uZXIgdXNlIG9ubHku
CiAgICAgdm9pZCBmb3JjZVVwZGF0ZSgpIHsgdXBkYXRlKCk7IH0KIAotICAgIHN0YXRpYyBib29s
IGFueVBhZ2VzQXJlVXNpbmdQcml2YXRlQnJvd3NpbmcoKTsKLQogcHJpdmF0ZToKICAgICB2b2lk
IHBsYXRmb3JtSW5pdGlhbGl6ZVN0b3JlKCk7CiAKQEAgLTEwMiw4ICsxMDAsNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgZGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KTsKICAgICB2b2lkIHBsYXRm
b3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KTsKIAotICAgIHZvaWQgdXBkYXRlUHJpdmF0
ZUJyb3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSk7Ci0KICAgICB2b2lkIHJlZ2lzdGVyRGVmYXVsdEJv
b2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBib29sKTsKICAgICB2b2lkIHJlZ2lzdGVyRGVm
YXVsdFVJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIHVpbnQzMl90KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDgwZTVmOTk5YmRlZDQ4
M2ZjM2RjZWY2NjViMWFmMWRmNWY4NThlYzAuLjc4ZThjNzljM2VhZmViNDk1YWNjNWM3ODNiNDM3
NjM5ZGZkZDhmNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKQEAgLTYyNiw5ICs2MjYsNiBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9v
bDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2l0aAogICAgIC8vIElu
aXRpYWxpemUgdGhlIG5ldHdvcmsgcHJvY2Vzcy4KICAgICBuZXR3b3JrUHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhwYXJhbWV0
ZXJzKSwgMCk7CiAKLSAgICBpZiAoV2ViUHJlZmVyZW5jZXM6OmFueVBhZ2VzQXJlVXNpbmdQcml2
YXRlQnJvd3NpbmcoKSkKLSAgICAgICAgbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtQcm9jZXNzOjpBZGRXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0
ZXJzOjpsZWdhY3lQcml2YXRlU2Vzc2lvblBhcmFtZXRlcnMoKSksIDApOwotCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9j
ZXNzOjpTZXRRT1MobmV0d29ya1Byb2Nlc3NMYXRlbmN5UU9TKCksIG5ldHdvcmtQcm9jZXNzVGhy
b3VnaHB1dFFPUygpKSwgMCk7CiAjZW5kaWYKQEAgLTczNSwxOCArNzMyLDYgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6ZGlzYWJsZVNlcnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSgp
CiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6d2lsbFN0YXJ0VXNpbmdQcml2YXRl
QnJvd3NpbmcoKQotewotICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBhbGxQcm9jZXNzUG9v
bHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPnNldEFueVBhZ2VHcm91cE1pZ2h0SGF2ZVByaXZh
dGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci19Ci0KLXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OndpbGxT
dG9wVXNpbmdQcml2YXRlQnJvd3NpbmcoKQotewotICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wg
OiBhbGxQcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPnNldEFueVBhZ2VHcm91
cE1pZ2h0SGF2ZVByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwotfQotCiB2b2lkIFdlYlBy
b2Nlc3NQb29sOjp3aW5kb3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBz
aXplX3QgcHJvY2Vzc0NvdW50ID0gbV9wcm9jZXNzZXMuc2l6ZSgpOwpAQCAtNzU0LDE2ICs3Mzks
NiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp3aW5kb3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFu
Z2VkKCkKICAgICAgICAgbV9wcm9jZXNzZXNbaV0tPndpbmRvd1NlcnZlckNvbm5lY3Rpb25TdGF0
ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0QW55UGFnZUdyb3VwTWln
aHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQp
Ci17Ci0gICAgaWYgKHByaXZhdGVCcm93c2luZ0VuYWJsZWQpIHsKLSAgICAgICAgZW5zdXJlTmV0
d29ya1Byb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWRkV2Vic2l0ZURh
dGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczo6bGVnYWN5UHJpdmF0ZVNlc3Npb25Q
YXJhbWV0ZXJzKCkpLCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoYXV0byogbmV0d29y
a1Byb2Nlc3MgPSB0aGlzLT5uZXR3b3JrUHJvY2VzcygpKQotICAgICAgICAgICAgbmV0d29ya1By
b2Nlc3MtPnJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9u
SUQoKSk7Ci0gICAgfQotfQotCiB2b2lkICgqc19pbnZhbGlkTWVzc2FnZUNhbGxiYWNrKShXS1N0
cmluZ1JlZiBtZXNzYWdlTmFtZSk7CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldEludmFsaWRN
ZXNzYWdlQ2FsbGJhY2sodm9pZCAoKmludmFsaWRNZXNzYWdlQ2FsbGJhY2spKFdLU3RyaW5nUmVm
IG1lc3NhZ2VOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmlu
ZGV4IDY0M2M0MGQ2MmVjYzc4Y2E1NTA5YmNkZjE4MTAyNWU5ZDAzNzI1N2IuLjZiN2M3NjExM2Fk
OTZmOTQ2ZTFlMjhmMmFkZmQ5MTk0ZThiYjkzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaApAQCAtMzk1LDkgKzM5NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
d2luZG93U2VydmVyQ29ubmVjdGlvblN0YXRlQ2hhbmdlZCgpOwogCi0gICAgc3RhdGljIHZvaWQg
d2lsbFN0YXJ0VXNpbmdQcml2YXRlQnJvd3NpbmcoKTsKLSAgICBzdGF0aWMgdm9pZCB3aWxsU3Rv
cFVzaW5nUHJpdmF0ZUJyb3dzaW5nKCk7Ci0KICNpZiBVU0UoU09VUCkKICAgICB2b2lkIHNldEln
bm9yZVRMU0Vycm9ycyhib29sKTsKICAgICBib29sIGlnbm9yZVRMU0Vycm9ycygpIGNvbnN0IHsg
cmV0dXJuIG1faWdub3JlVExTRXJyb3JzOyB9CkBAIC00MDgsNyArNDA1LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBwcm9jZXNzRGlkQ2FjaGVQYWdlKFdlYlByb2Nlc3NQcm94eSopOwogCi0gICAg
Ym9vbCBpc1VSTEtub3duSFNUU0hvc3QoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGJvb2wgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCkgY29uc3Q7CisgICAgYm9vbCBpc1VSTEtub3duSFNUU0hvc3Qo
Y29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0OwogICAgIHZvaWQgcmVzZXRIU1RTSG9zdHMo
KTsKICAgICB2b2lkIHJlc2V0SFNUU0hvc3RzQWRkZWRBZnRlckRhdGUoZG91YmxlIHN0YXJ0RGF0
ZUludGVydmFsU2luY2UxOTcwKTsKIApAQCAtNTk0LDggKzU5MSw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdp
biwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCwgUEFMOjpTZXNzaW9uSUQpOwogICAgIHZvaWQg
cGx1Z0luRGlkUmVjZWl2ZVVzZXJJbnRlcmFjdGlvbih1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNo
LCBQQUw6OlNlc3Npb25JRCk7CiAKLSAgICB2b2lkIHNldEFueVBhZ2VHcm91cE1pZ2h0SGF2ZVBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCk7Ci0KICAgICB2b2lkIHJlc29sdmVQYXRoc0ZvclNh
bmRib3hFeHRlbnNpb25zKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVJlc29sdmVQYXRoc0ZvclNhbmRi
b3hFeHRlbnNpb25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggYTkzYTU4MGM0MzMzMDhmNTdmMWM3NmEzNGVhMzIzZGJjMTUzZjc0OC4u
ZjQxYzM4YThkYmRhNTQ4ZTYzYzNkOWU2OTMxYjE1N2Q4NTFmYzEyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM1NDUsMTEgKzM1NDUsNiBA
QCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmIHN0b3JlKQogICAgIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA9IHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2Nyb2xsaW5nUGVyZm9y
bWFuY2VMb2dnaW5nRW5hYmxlZEtleSgpKTsKICAgICBzZXR0aW5ncy5zZXRTY3JvbGxpbmdQZXJm
b3JtYW5jZUxvZ2dpbmdFbmFibGVkKG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxl
ZCk7CiAKLSAgICBpZiAoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
Ojpwcml2YXRlQnJvd3NpbmdFbmFibGVkS2V5KCkpICYmICF1c2VzRXBoZW1lcmFsU2Vzc2lvbigp
KQotICAgICAgICBzZXRTZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNz
aW9uSUQoKSk7Ci0gICAgZWxzZSBpZiAoIXN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEtleSgpKSAmJiBzZXNzaW9uSUQoKSA9
PSBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpKQotICAgICAgICBzZXRT
ZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7Ci0KICAgICBib29s
IGlzQXBwTmFwRW5hYmxlZCA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6cGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSk7
CiAgICAgaWYgKG1faXNBcHBOYXBFbmFibGVkICE9IGlzQXBwTmFwRW5hYmxlZCkgewogICAgICAg
ICBtX2lzQXBwTmFwRW5hYmxlZCA9IGlzQXBwTmFwRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlNzlmOWYwMGMzNTc0ZjQ2NDBjZjM4
ZTQ3ZjFjM2MyMjJmMjE0Yjk0Li5mMTg5MGRkYjAzZTNiY2Y2NGNiNmY3ZmQ3OGNhY2Q3ZDA5Y2Mz
ZTQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTktMDktMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ5OTIzKTogQVNTRVJUSU9OIEZBSUxFRDogc2Vz
c2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpIGluIFdlYkNvcmU6
OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmV4
aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxODU5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQyNjc0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgQVBJIHRlc3QgdG8gdXNlIFdLV2Vic2l0
ZURhdGFTdG9yZVJlZiBDIEFQSSB0byBkbyBwcml2YXRlIGJyb3dzaW5nIGluc3RlYWQgb2YgdXNp
bmcKKyAgICAgICAgdGhlIGxlZ2FjeSBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCgpIEMgQVBJLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJp
dmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTktMDktMTYgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRh
cmRAYXBwbGUuY29tPgogCiAgICAgICAgIHJlc3VsdHMud2Via2l0Lm9yZzogU2hhcmQgcmVzdWx0
IGFyY2hpdmVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Q
cml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlD
YWxsYmFjay5jcHAKaW5kZXggYmZiMDhmZGUwODgxYjcyZWNlZjE0OWZmNjZkMzg1ZjM0YzFjZmM4
ZC4uNjM1MjUzZTBhNjZlZjgwZjZlZDM5NjVlNzdkMDY5Y2RiOTI0ODY3NiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRl
Tm9IaXN0b3J5Q2FsbGJhY2suY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcApAQCAtMzIs
NiArMzIsNyBAQAogI2luY2x1ZGUgIlRlc3QuaCIKICNpbmNsdWRlIDxXZWJLaXQvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tSZXRhaW5QdHIuaD4KKyNpbmNs
dWRlIDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg+CiAKIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKIApAQCAtNTIsNiArNTMsMTIgQEAgc3RhdGljIHZvaWQgZGlkTmF2aWdhdGVXaXRo
TmF2aWdhdGlvbkRhdGEoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLUGFnZVJlZiBwYWdlLAogVEVT
VChXZWJLaXQsIFByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrKQogewog
ICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0
Q3JlYXRlV2l0aENvbmZpZ3VyYXRpb24obnVsbHB0cikpOworICAgIAorICAgIGF1dG8gcGFnZUNv
bmZpZ3VyYXRpb24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUoKSk7CisgICAg
V0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRpb24uZ2V0KCksIGNv
bnRleHQuZ2V0KCkpOworICAgIAorICAgIGF1dG8gZXBoZW1lcmFsU3RvcmUgPSBhZG9wdFdLKFdL
V2Vic2l0ZURhdGFTdG9yZUNyZWF0ZU5vblBlcnNpc3RlbnREYXRhU3RvcmUoKSk7CisgICAgV0tQ
YWdlQ29uZmlndXJhdGlvblNldFdlYnNpdGVEYXRhU3RvcmUocGFnZUNvbmZpZ3VyYXRpb24uZ2V0
KCksIGVwaGVtZXJhbFN0b3JlLmdldCgpKTsKIAogICAgIFdLQ29udGV4dEhpc3RvcnlDbGllbnRW
MCBoaXN0b3J5Q2xpZW50OwogICAgIG1lbXNldCgmaGlzdG9yeUNsaWVudCwgMCwgc2l6ZW9mKGhp
c3RvcnlDbGllbnQpKTsKQEAgLTYxLDcgKzY4LDcgQEAgVEVTVChXZWJLaXQsIFByaXZhdGVCcm93
c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrKQogCiAgICAgV0tDb250ZXh0U2V0SGlzdG9y
eUNsaWVudChjb250ZXh0LmdldCgpLCAmaGlzdG9yeUNsaWVudC5iYXNlKTsKIAotICAgIFBsYXRm
b3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOworICAgIFBsYXRmb3JtV2ViVmlldyB3
ZWJWaWV3KHBhZ2VDb25maWd1cmF0aW9uLmdldCgpKTsKIAogICAgIFdLUGFnZU5hdmlnYXRpb25D
bGllbnRWMCBwYWdlTG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmcGFnZUxvYWRlckNsaWVudCwg
MCwgc2l6ZW9mKHBhZ2VMb2FkZXJDbGllbnQpKTsKQEAgLTc0LDcgKzgxLDYgQEAgVEVTVChXZWJL
aXQsIFByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrKQogICAgIFdLUGFn
ZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcGFnZUxvYWRlckNsaWVu
dC5iYXNlKTsKIAogICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+IHByZWZlcmVuY2Vz
ID0gYWRvcHRXSyhXS1ByZWZlcmVuY2VzQ3JlYXRlKCkpOwotICAgIFdLUHJlZmVyZW5jZXNTZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKHByZWZlcmVuY2VzLmdldCgpLCB0cnVlKTsKICAgICBXS1By
ZWZlcmVuY2VzU2V0VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQWxsb3dlZChwcmVmZXJlbmNl
cy5nZXQoKSwgdHJ1ZSk7CiAKICAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXAgPSBXS1BhZ2VH
ZXRQYWdlR3JvdXAod2ViVmlldy5wYWdlKCkpOwpAQCAtODUsMTIgKzkxLDEzIEBAIFRFU1QoV2Vi
S2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjaykKIAogICAgIFV0
aWw6OnJ1bigmZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbik7CiAKLSAgICBXS1ByZWZlcmVuY2Vz
U2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5nZXQoKSwgZmFsc2UpOworICAg
IFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRlRGF0YVN0b3JlKHBhZ2VDb25maWd1cmF0aW9u
LmdldCgpLCBXS1dlYnNpdGVEYXRhU3RvcmVHZXREZWZhdWx0RGF0YVN0b3JlKCkpOworICAgIFBs
YXRmb3JtV2ViVmlldyB3ZWJWaWV3MihwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSk7CiAKICAgICBo
aXN0b3J5Q2xpZW50LmRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhID0gZGlkTmF2aWdhdGVX
aXRoTmF2aWdhdGlvbkRhdGE7CiAgICAgV0tDb250ZXh0U2V0SGlzdG9yeUNsaWVudChjb250ZXh0
LmdldCgpLCAmaGlzdG9yeUNsaWVudC5iYXNlKTsKIAotICAgIFdLUGFnZUxvYWRVUkwod2ViVmll
dy5wYWdlKCksIHVybC5nZXQoKSk7CisgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3Mi5wYWdlKCks
IHVybC5nZXQoKSk7CiAKICAgICBVdGlsOjpydW4oJmRpZE5hdmlnYXRlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378964</attachid>
            <date>2019-09-17 08:18:08 -0700</date>
            <delta_ts>2019-09-17 09:02:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201859-20190917081741.patch</filename>
            <type>text/plain</type>
            <size>20198</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5OTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVlZDUxOWY3YjAxMzllZWQ0
MzhjMTk3ZmI0MGUzOGU3NzhmMWY5YzIuLmM3ZDYyYmMwYzc5MGI1M2YyZTNiODFjMThiMzY1OTU2
NTZmZjZiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDktMTcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ5OTIzKTog
QVNTRVJUSU9OIEZBSUxFRDogc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNl
c3Npb25JRCgpIGluIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2ViS2l0OjpXZWJTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxODU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQyNjc0Mj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIERyb3Agc3Vw
cG9ydCBmb3IgdGhlIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgQyBB
UEkgKE1hcmsgYXMgZGVwcmVjYXRlZCBhbmQgbWFrZSBpdCBhIG5vLW9wKSBhcyBpdAorICAgICAg
ICB3YXMgY2hhbmdpbmcgYSBXZWJDb250ZW50IHByb2Nlc3MncyBzZXNzaW9uSUQsIHdoaWNoIGlz
IG5vIGxvbmdlciBzdXBwb3J0ZWQuIFRoaXMgd2FzIGFsc28gdXNpbmcgdGhlIGxlZ2FjeSBwcml2
YXRlCisgICAgICAgIGJyb3dzaW5nIHNlc3Npb24sIHdoaWNoIHdlJ3JlIHRyeWluZyB0byBnZXQg
cmlkIG9mLiBUaGVyZSBpcyBzdWl0YWJsZSBDIEFQSSB0byBkbyBwcml2YXRlIGJyb3dzaW5nIChX
S1dlYnNpdGVEYXRhU3RvcmVSZWYpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorICAgICAgICAo
V0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tOgorICAgICAgICAoV0tQYWdlSXNVUkxLbm93bkhTVFNI
b3N0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmlzVVJMS25vd25IU1RTSG9zdCBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJlZmVyZW5jZXM6OmFkZFBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6cmVtb3ZlUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjp1
cGRhdGVCb29sVmFsdWVGb3JLZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNl
cyk6CisKIDIwMTktMDktMTYgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT046IGlQYWQ6IFNhZmFyaSBiZWNvbWVzIHVucmVzcG9uc2l2ZSBhZnRlciBj
b250ZXh0IG1lbnUgb24gMS04MDAtTVktQVBQTEUgcGhvbmUgbnVtYmVyLCB0YXBwaW5nICdBZGQg
dG8gQ29udGFjdHMnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRl
eCBjODEwY2U0MmM2YTJiOWQ3MjQ1NThiYmQyYmQ2MTczMjAxMjYwZjI1Li42NWY5ZGU3MWJlZmYx
NDgyMGI5ODA4ZjhhNWM4M2UyNmViMTc0OThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwKQEAgLTkyLDExICs5Miw2IEBAIFNhZmVCcm93c2luZ0VuYWJsZWQ6CiAg
IGRlZmF1bHRWYWx1ZTogdHJ1ZQogICB3ZWJjb3JlQmluZGluZzogbm9uZQogCi1Qcml2YXRlQnJv
d3NpbmdFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgd2Vi
Y29yZUJpbmRpbmc6IG5vbmUKLQogVGV4dEFyZWFzQXJlUmVzaXphYmxlOgogICB0eXBlOiBib29s
CiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9URVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggZDhk
OWJhODFhYTczOGQ1MjllOGQzZDEwZTZiZDlkYjUxMmQzODcxOC4uNWU3ZjUyMzI4YWVkOTY3MmVh
M2RlZTRlYjMyNDhiMGViNjAxYzQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTM1MSwxMiArMzUxLDExIEBAIFdLU3RyaW5nUmVm
IFdLUHJlZmVyZW5jZXNDb3B5RGVmYXVsdFRleHRFbmNvZGluZ05hbWUoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlCiAKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewotICAg
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZW5hYmxl
ZCk7CiB9CiAKIGJvb2wgV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpOworICAgIHJldHVybiBmYWxzZTsK
IH0KIAogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKaW5kZXggY2E4NzFmZjY5MmI3
ZmZlMzBjOWMzOGQwNmE4Y2ExZGNjMWE5OGRhNC4uMjc1NTNmOTRjNzVkNjQ3MjVkNTUyY2U5OWM5
MDc4M2I0NTY2YmNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1JlZi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWYuaApAQCAtMTQ5LDggKzE0OSw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJl
ZmVyZW5jZXNTZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQcmVmZXJlbmNlc0NvcHlEZWZhdWx0VGV4dEVu
Y29kaW5nTmFtZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVs
dHMgdG8gZmFsc2UuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQp
OwotV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGVuYWJsZWQpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9ERVBSRUNBVEVEOwogCiAvLyBEZWZhdWx0cyB0byBm
YWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFj
Lm1tCmluZGV4IDM1ZWY5MjIxNTRlMTk2MzAwZTRiNmVlNzVkNGM5ODE3ODViYzNlMjUuLjE3Mzk4
ZWNlODIyZWNmZGJkMDFmYzIxMzE2MDVlNTMzYTc4NzczZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCkBAIC0xMzIs
OSArMTMyLDggQEAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKldLUGFnZUdldE9iamVjdFJlZ2lz
dHJ5KFdLUGFnZVJlZiBwYWdlUmVmKQogYm9vbCBXS1BhZ2VJc1VSTEtub3duSFNUU0hvc3QoV0tQ
YWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHVybCkKIHsKICAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSog
d2ViUGFnZVByb3h5ID0gV2ViS2l0Ojp0b0ltcGwocGFnZSk7Ci0gICAgYm9vbCBwcml2YXRlQnJv
d3NpbmdFbmFibGVkID0gd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS5wcmVmZXJlbmNlcygpLnBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKIAotICAgIHJldHVybiB3ZWJQYWdlUHJveHktPnByb2Nl
c3MoKS5wcm9jZXNzUG9vbCgpLmlzVVJMS25vd25IU1RTSG9zdChXZWJLaXQ6OnRvSW1wbCh1cmwp
LT5zdHJpbmcoKSwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7CisgICAgcmV0dXJuIHdlYlBhZ2VQ
cm94eS0+cHJvY2VzcygpLnByb2Nlc3NQb29sKCkuaXNVUkxLbm93bkhTVFNIb3N0KFdlYktpdDo6
dG9JbXBsKHVybCktPnN0cmluZygpKTsKIH0KIAogV0tOYXZpZ2F0aW9uICpXS1BhZ2VMb2FkVVJM
UmVxdWVzdFJldHVybmluZ05hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2VSZWYsIFdLVVJMUmVxdWVz
dFJlZiB1cmxSZXF1ZXN0UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0RmF2aWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdEZhdmljb25EYXRhYmFzZS5jcHAKaW5kZXggOWI1ODE4YTk4MzZm
Mzc2MmQ4OTYyMmUzNjJjM2ZjOGIyZDNlYmZkMS4uMjhlNjYyMDY2N2I2N2E0NmRlZGUxY2I0NDI3
NGIxMjg3MjkxYzc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0RmF2aWNvbkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRGYXZpY29uRGF0YWJhc2UuY3BwCkBAIC0yNzEsNyArMjcxLDYgQEAg
dm9pZCB3ZWJraXRGYXZpY29uRGF0YWJhc2VPcGVuKFdlYktpdEZhdmljb25EYXRhYmFzZSogZGF0
YWJhc2UsIGNvbnN0IFN0cmluZyYgcGEKICAgICBwcml2LT5pY29uRGF0YWJhc2UtPnNldENsaWVu
dChtYWtlVW5pcXVlPFdlYktpdEljb25EYXRhYmFzZUNsaWVudD4oZGF0YWJhc2UpKTsKICAgICBJ
Y29uRGF0YWJhc2U6OmRlbGF5RGF0YWJhc2VDbGVhbnVwKCk7CiAgICAgcHJpdi0+aWNvbkRhdGFi
YXNlLT5zZXRFbmFibGVkKHRydWUpOwotICAgIHByaXYtPmljb25EYXRhYmFzZS0+c2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChXZWJQcmVmZXJlbmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVC
cm93c2luZygpKTsKIAogICAgIGlmICghcHJpdi0+aWNvbkRhdGFiYXNlLT5vcGVuKEZpbGVTeXN0
ZW06OmRpcmVjdG9yeU5hbWUocGF0aCksIEZpbGVTeXN0ZW06OnBhdGhHZXRGaWxlTmFtZShwYXRo
KSkpIHsKICAgICAgICAgcHJpdi0+aWNvbkRhdGFiYXNlID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4
IDRmYzUwOTJhNzFlMzJlM2ViNGQyYzdlOTQxOWM3ZDIwMGJmZjJlYmYuLjUxMGVjYjA3NDBiNTBj
MDBkM2RhMDkxODJiMzY0YjQ5MTNkOGE3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNDg5LDExICs0ODksMTEg
QEAgc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigp
CiAgICAgcmV0dXJuIHNlc3Npb247CiB9CiAKLWJvb2wgV2ViUHJvY2Vzc1Bvb2w6OmlzVVJMS25v
d25IU1RTSG9zdChjb25zdCBTdHJpbmcmIHVybFN0cmluZywgYm9vbCBwcml2YXRlQnJvd3NpbmdF
bmFibGVkKSBjb25zdAorYm9vbCBXZWJQcm9jZXNzUG9vbDo6aXNVUkxLbm93bkhTVFNIb3N0KGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKSBjb25zdAogewogICAgIFJldGFpblB0cjxDRlVSTFJlZj4g
dXJsID0gVVJMKFVSTCgpLCB1cmxTdHJpbmcpLmNyZWF0ZUNGVVJMKCk7CiAKLSAgICByZXR1cm4g
X0NGTmV0d29ya0lzS25vd25IU1RTSG9zdFdpdGhTZXNzaW9uKHVybC5nZXQoKSwgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCA/IHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKSA6IG51bGxwdHIpOworICAg
IHJldHVybiBfQ0ZOZXR3b3JrSXNLbm93bkhTVFNIb3N0V2l0aFNlc3Npb24odXJsLmdldCgpLCBu
dWxscHRyKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVzZXRIU1RTSG9zdHMoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDI2NjRiYTBiNzZk
OWM3MGE5ZmY4YmVlZDYyNDZjZDhkNjU2ZmIyNGEuLjVkODEwNDcyZWIxM2Y5MWFkYzNjYzFiMjU3
NjY1NTc3NzExYmQ4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
ZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5jcHAKQEAgLTM2LDEwICszNiw2IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0vLyBGSVhN
RTogTWFuaXB1bGF0aW5nIHRoaXMgdmFyaWFibGUgaXMgbm90IHRocmVhZCBzYWZlLgotLy8gSW5z
dGVhZCBvZiB0cmFja2luZyBwcml2YXRlIGJyb3dzaW5nIHN0YXRlIGFzIGEgYm9vbGVhbiBwcmVm
ZXJlbmNlLCB3ZSBzaG91bGQgbGV0IHRoZSBjbGllbnQgcHJvdmlkZSBzdG9yYWdlIHNlc3Npb25z
IGV4cGxpY2l0bHkuCi1zdGF0aWMgdW5zaWduZWQgcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50Owot
CiBSZWY8V2ViUHJlZmVyZW5jZXM+IFdlYlByZWZlcmVuY2VzOjpjcmVhdGUoY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGtleVByZWZpeCwgY29uc3QgU3RyaW5nJiBnbG9i
YWxEZWJ1Z0tleVByZWZpeCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJQcmVmZXJl
bmNlcyhpZGVudGlmaWVyLCBrZXlQcmVmaXgsIGdsb2JhbERlYnVnS2V5UHJlZml4KSk7CkBAIC04
OCwyNSArODQsMTIgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YWRkUGFnZShXZWJQYWdlUHJveHkm
IHdlYlBhZ2VQcm94eSkKIHsKICAgICBBU1NFUlQoIW1fcGFnZXMuY29udGFpbnMoJndlYlBhZ2VQ
cm94eSkpOwogICAgIG1fcGFnZXMuYWRkKCZ3ZWJQYWdlUHJveHkpOwotCi0gICAgaWYgKHByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKSkgewotICAgICAgICBpZiAoIXByaXZhdGVCcm93c2luZ1BhZ2VD
b3VudCkKLSAgICAgICAgICAgIFdlYlByb2Nlc3NQb29sOjp3aWxsU3RhcnRVc2luZ1ByaXZhdGVC
cm93c2luZygpOwotCi0gICAgICAgICsrcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50OwotICAgIH0K
IH0KIAogdm9pZCBXZWJQcmVmZXJlbmNlczo6cmVtb3ZlUGFnZShXZWJQYWdlUHJveHkmIHdlYlBh
Z2VQcm94eSkKIHsKICAgICBBU1NFUlQobV9wYWdlcy5jb250YWlucygmd2ViUGFnZVByb3h5KSk7
CiAgICAgbV9wYWdlcy5yZW1vdmUoJndlYlBhZ2VQcm94eSk7Ci0KLSAgICBpZiAocHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgIC0tcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50Owot
ICAgICAgICBpZiAoIXByaXZhdGVCcm93c2luZ1BhZ2VDb3VudCkKLSAgICAgICAgICAgIFdlYlBy
b2Nlc3NQb29sOjp3aWxsU3RvcFVzaW5nUHJpdmF0ZUJyb3dzaW5nKCk7Ci0gICAgfQogfQogCiB2
b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGUoKQpAQCAtMTIzLDExICsxMDYsNiBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVTdHJpbmdWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwg
Y29uc3QgU3RyaW5nJiB2YQogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVG
b3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpCiB7Ci0gICAgaWYgKGtleSA9PSBX
ZWJQcmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEtleSgpKSB7Ci0gICAgICAg
IHVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIHBsYXRmb3JtVXBkYXRlQm9vbFZhbHVlRm9yS2V5KGtleSwgdmFsdWUpOwogICAg
IHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2
YWx1ZS4KIH0KQEAgLTE4NiwzMCArMTY0LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6ZGVsZXRl
S2V5KGNvbnN0IFN0cmluZyYga2V5KQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5k
IG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVmZXJlbmNl
czo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSkKLXsKLSAgICBwbGF0Zm9y
bVVwZGF0ZUJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZEtleSgpLCB2YWx1ZSk7Ci0KLSAgICB1bnNpZ25lZCBwYWdlc0NoYW5nZWQgPSBtX3Bh
Z2VzLnNpemUoKTsKLSAgICBpZiAoIXBhZ2VzQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKHZhbHVlKSB7Ci0gICAgICAgIGlmICghcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50KQot
ICAgICAgICAgICAgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdGFydFVzaW5nUHJpdmF0ZUJyb3dzaW5n
KCk7Ci0gICAgICAgIHByaXZhdGVCcm93c2luZ1BhZ2VDb3VudCArPSBwYWdlc0NoYW5nZWQ7Ci0g
ICAgfQotCi0gICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdl
ZCBrZXkgYW5kIHZhbHVlLgotCi0gICAgaWYgKCF2YWx1ZSkgewotICAgICAgICBBU1NFUlQocHJp
dmF0ZUJyb3dzaW5nUGFnZUNvdW50ID49IHBhZ2VzQ2hhbmdlZCk7Ci0gICAgICAgIHByaXZhdGVC
cm93c2luZ1BhZ2VDb3VudCAtPSBwYWdlc0NoYW5nZWQ7Ci0gICAgICAgIGlmICghcHJpdmF0ZUJy
b3dzaW5nUGFnZUNvdW50KQotICAgICAgICAgICAgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdG9wVXNp
bmdQcml2YXRlQnJvd3NpbmcoKTsKLSAgICB9Ci19Ci0KICNkZWZpbmUgREVGSU5FX1BSRUZFUkVO
Q0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUs
IERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bikgXAogICAgIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldCMjS2V5VXBwZXIoY29uc3QgVHlwZSYg
dmFsdWUpIFwKICAgICB7IFwKQEAgLTIzNCwxMSArMTg4LDYgQEAgRk9SX0VBQ0hfV0VCS0lUX0RF
QlVHX1BSRUZFUkVOQ0UoREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQogI3Vu
ZGVmIERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUwogCiAKLWJvb2wgV2ViUHJl
ZmVyZW5jZXM6OmFueVBhZ2VzQXJlVXNpbmdQcml2YXRlQnJvd3NpbmcoKQotewotICAgIHJldHVy
biBwcml2YXRlQnJvd3NpbmdQYWdlQ291bnQ7Ci19Ci0KIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnJl
Z2lzdGVyRGVmYXVsdEJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1
ZSkKIHsKICAgICBtX3N0b3JlLnNldE92ZXJyaWRlRGVmYXVsdHNCb29sVmFsdWVGb3JLZXkoa2V5
LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAppbmRleCAx
MjA2MWY2MmExZDAxMjYxOWM2YzIyMmQ4YmZkMzkwOWQ1NDI0NzUzLi5lZmZjNjkxOWZiODAxZmQ5
ZTQ3NWVlMDJlZmQxMzZlM2U0MTc3NTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
ZWZlcmVuY2VzLmgKQEAgLTc5LDggKzc5LDYgQEAgcHVibGljOgogICAgIC8vIEV4cG9zZWQgZm9y
IFdlYktpdFRlc3RSdW5uZXIgdXNlIG9ubHkuCiAgICAgdm9pZCBmb3JjZVVwZGF0ZSgpIHsgdXBk
YXRlKCk7IH0KIAotICAgIHN0YXRpYyBib29sIGFueVBhZ2VzQXJlVXNpbmdQcml2YXRlQnJvd3Np
bmcoKTsKLQogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVN0b3JlKCk7CiAK
QEAgLTEwMiw4ICsxMDAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVsZXRlS2V5KGNvbnN0IFN0
cmluZyYga2V5KTsKICAgICB2b2lkIHBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5
KTsKIAotICAgIHZvaWQgdXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSk7Ci0K
ICAgICB2b2lkIHJlZ2lzdGVyRGVmYXVsdEJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBi
b29sKTsKICAgICB2b2lkIHJlZ2lzdGVyRGVmYXVsdFVJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0
cmluZyYsIHVpbnQzMl90KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCmluZGV4IDgwZTVmOTk5YmRlZDQ4M2ZjM2RjZWY2NjViMWFmMWRmNWY4NThlYzAuLjc4
ZThjNzljM2VhZmViNDk1YWNjNWM3ODNiNDM3NjM5ZGZkZDhmNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTYyNiw5ICs2MjYsNiBAQCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MoV2Vic2l0
ZURhdGFTdG9yZSogd2l0aAogICAgIC8vIEluaXRpYWxpemUgdGhlIG5ldHdvcmsgcHJvY2Vzcy4K
ICAgICBuZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkluaXRp
YWxpemVOZXR3b3JrUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CiAKLSAgICBpZiAoV2ViUHJlZmVy
ZW5jZXM6OmFueVBhZ2VzQXJlVXNpbmdQcml2YXRlQnJvd3NpbmcoKSkKLSAgICAgICAgbmV0d29y
a1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBZGRXZWJzaXRlRGF0YVN0
b3JlKFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOjpsZWdhY3lQcml2YXRlU2Vzc2lvblBhcmFt
ZXRlcnMoKSksIDApOwotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgbmV0d29ya1Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRRT1MobmV0d29ya1Byb2Nlc3NMYXRl
bmN5UU9TKCksIG5ldHdvcmtQcm9jZXNzVGhyb3VnaHB1dFFPUygpKSwgMCk7CiAjZW5kaWYKQEAg
LTczNSwxOCArNzMyLDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlzYWJsZVNlcnZpY2VXb3Jr
ZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSgpCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQcm9jZXNz
UG9vbDo6d2lsbFN0YXJ0VXNpbmdQcml2YXRlQnJvd3NpbmcoKQotewotICAgIGZvciAoYXV0byog
cHJvY2Vzc1Bvb2wgOiBhbGxQcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPnNl
dEFueVBhZ2VHcm91cE1pZ2h0SGF2ZVByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci19Ci0K
LXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdG9wVXNpbmdQcml2YXRlQnJvd3NpbmcoKQotewot
ICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBhbGxQcm9jZXNzUG9vbHMoKSkKLSAgICAgICAg
cHJvY2Vzc1Bvb2wtPnNldEFueVBhZ2VHcm91cE1pZ2h0SGF2ZVByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoZmFsc2UpOwotfQotCiB2b2lkIFdlYlByb2Nlc3NQb29sOjp3aW5kb3dTZXJ2ZXJDb25uZWN0
aW9uU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBzaXplX3QgcHJvY2Vzc0NvdW50ID0gbV9wcm9jZXNz
ZXMuc2l6ZSgpOwpAQCAtNzU0LDE2ICs3MzksNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp3aW5k
b3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFuZ2VkKCkKICAgICAgICAgbV9wcm9jZXNzZXNbaV0t
PndpbmRvd1NlcnZlckNvbm5lY3Rpb25TdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6c2V0QW55UGFnZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChi
b29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi17Ci0gICAgaWYgKHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQpIHsKLSAgICAgICAgZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUHJvY2Vzczo6QWRkV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVyczo6bGVnYWN5UHJpdmF0ZVNlc3Npb25QYXJhbWV0ZXJzKCkpLCAwKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBpZiAoYXV0byogbmV0d29ya1Byb2Nlc3MgPSB0aGlzLT5uZXR3b3JrUHJvY2Vz
cygpKQotICAgICAgICAgICAgbmV0d29ya1Byb2Nlc3MtPnJlbW92ZVNlc3Npb24oUEFMOjpTZXNz
aW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0gICAgfQotfQotCiB2b2lkICgqc19p
bnZhbGlkTWVzc2FnZUNhbGxiYWNrKShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSk7CiAKIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnNldEludmFsaWRNZXNzYWdlQ2FsbGJhY2sodm9pZCAoKmludmFsaWRN
ZXNzYWdlQ2FsbGJhY2spKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDY0M2M0MGQ2MmVjYzc4Y2E1NTA5YmNkZjE4
MTAyNWU5ZDAzNzI1N2IuLjZiN2M3NjExM2FkOTZmOTQ2ZTFlMjhmMmFkZmQ5MTk0ZThiYjkzM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMzk1LDkgKzM5
NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2luZG93U2VydmVyQ29ubmVjdGlvblN0YXRlQ2hh
bmdlZCgpOwogCi0gICAgc3RhdGljIHZvaWQgd2lsbFN0YXJ0VXNpbmdQcml2YXRlQnJvd3Npbmco
KTsKLSAgICBzdGF0aWMgdm9pZCB3aWxsU3RvcFVzaW5nUHJpdmF0ZUJyb3dzaW5nKCk7Ci0KICNp
ZiBVU0UoU09VUCkKICAgICB2b2lkIHNldElnbm9yZVRMU0Vycm9ycyhib29sKTsKICAgICBib29s
IGlnbm9yZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1faWdub3JlVExTRXJyb3JzOyB9CkBA
IC00MDgsNyArNDA1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBwcm9jZXNzRGlkQ2FjaGVQYWdl
KFdlYlByb2Nlc3NQcm94eSopOwogCi0gICAgYm9vbCBpc1VSTEtub3duSFNUU0hvc3QoY29uc3Qg
U3RyaW5nJiB1cmxTdHJpbmcsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkgY29uc3Q7Cisg
ICAgYm9vbCBpc1VSTEtub3duSFNUU0hvc3QoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0
OwogICAgIHZvaWQgcmVzZXRIU1RTSG9zdHMoKTsKICAgICB2b2lkIHJlc2V0SFNUU0hvc3RzQWRk
ZWRBZnRlckRhdGUoZG91YmxlIHN0YXJ0RGF0ZUludGVydmFsU2luY2UxOTcwKTsKIApAQCAtNTk0
LDggKzU5MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5I
YXNoKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCwg
UEFMOjpTZXNzaW9uSUQpOwogICAgIHZvaWQgcGx1Z0luRGlkUmVjZWl2ZVVzZXJJbnRlcmFjdGlv
bih1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoLCBQQUw6OlNlc3Npb25JRCk7CiAKLSAgICB2b2lk
IHNldEFueVBhZ2VHcm91cE1pZ2h0SGF2ZVByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCk7Ci0K
ICAgICB2b2lkIHJlc29sdmVQYXRoc0ZvclNhbmRib3hFeHRlbnNpb25zKCk7CiAgICAgdm9pZCBw
bGF0Zm9ybVJlc29sdmVQYXRoc0ZvclNhbmRib3hFeHRlbnNpb25zKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYTkzYTU4MGM0MzMzMDhm
NTdmMWM3NmEzNGVhMzIzZGJjMTUzZjc0OC4uZjQxYzM4YThkYmRhNTQ4ZTYzYzNkOWU2OTMxYjE1
N2Q4NTFmYzEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTM1NDUsMTEgKzM1NDUsNiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIG1fc2Nyb2xsaW5nUGVy
Zm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6c2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZEtleSgpKTsKICAg
ICBzZXR0aW5ncy5zZXRTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKG1fc2Nyb2xs
aW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCk7CiAKLSAgICBpZiAoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpwcml2YXRlQnJvd3NpbmdFbmFibGVkS2V5KCkp
ICYmICF1c2VzRXBoZW1lcmFsU2Vzc2lvbigpKQotICAgICAgICBzZXRTZXNzaW9uSUQoUEFMOjpT
ZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0gICAgZWxzZSBpZiAoIXN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZEtleSgpKSAmJiBzZXNzaW9uSUQoKSA9PSBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0
ZVNlc3Npb25JRCgpKQotICAgICAgICBzZXRTZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQ6OmRlZmF1
bHRTZXNzaW9uSUQoKSk7Ci0KICAgICBib29sIGlzQXBwTmFwRW5hYmxlZCA9IHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFnZVZpc2liaWxpdHlCYXNlZFByb2Nl
c3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSk7CiAgICAgaWYgKG1faXNBcHBOYXBFbmFibGVkICE9
IGlzQXBwTmFwRW5hYmxlZCkgewogICAgICAgICBtX2lzQXBwTmFwRW5hYmxlZCA9IGlzQXBwTmFw
RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCBlNzlmOWYwMGMzNTc0ZjQ2NDBjZjM4ZTQ3ZjFjM2MyMjJmMjE0Yjk0Li42ZDEyOTliMjA1
OTZiNzgyYjAyN2YyNDIzNWI2OGE4YmQ3ZGI2ZjlmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDktMTcgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ5
OTIzKTogQVNTRVJUSU9OIEZBSUxFRDogc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLnNlc3Npb25JRCgpIGluIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2ViS2l0OjpX
ZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25G
b3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAxODU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQyNjc0
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFVw
ZGF0ZSBBUEkgdGVzdCB0byB1c2UgV0tXZWJzaXRlRGF0YVN0b3JlUmVmIEMgQVBJIHRvIGRvIHBy
aXZhdGUgYnJvd3NpbmcgaW5zdGVhZCBvZiB1c2luZworICAgICAgICB0aGUgbGVnYWN5IFdLUHJl
ZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgQyBBUEkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3Rv
cnlDYWxsYmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0w
OS0xNiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgcmVz
dWx0cy53ZWJraXQub3JnOiBTaGFyZCByZXN1bHQgYXJjaGl2ZXMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlz
dG9yeUNhbGxiYWNrLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByaXZh
dGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcAppbmRleCBiZmIwOGZkZTA4
ODFiNzJlY2VmMTQ5ZmY2NmQzODVmMzRjMWNmYzhkLi42MzUyNTNlMGE2NmVmODBmNmVkMzk2NWU3
N2QwNjljZGI5MjQ4Njc2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRl
Tm9IaXN0b3J5Q2FsbGJhY2suY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiVGVzdC5o
IgogI2luY2x1ZGUgPFdlYktpdC9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oPgogI2luY2x1ZGUg
PFdlYktpdC9XS1JldGFpblB0ci5oPgorI2luY2x1ZGUgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCkBAIC01Miw2ICs1MywxMiBA
QCBzdGF0aWMgdm9pZCBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YShXS0NvbnRleHRSZWYg
Y29udGV4dCwgV0tQYWdlUmVmIHBhZ2UsCiBURVNUKFdlYktpdCwgUHJpdmF0ZUJyb3dzaW5nUHVz
aFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2spCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGVXaXRoQ29uZmlndXJhdGlvbihudWxs
cHRyKSk7CisgICAgCisgICAgYXV0byBwYWdlQ29uZmlndXJhdGlvbiA9IGFkb3B0V0soV0tQYWdl
Q29uZmlndXJhdGlvbkNyZWF0ZSgpKTsKKyAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0Q29udGV4
dChwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgY29udGV4dC5nZXQoKSk7CisgICAgCisgICAgYXV0
byBlcGhlbWVyYWxTdG9yZSA9IGFkb3B0V0soV0tXZWJzaXRlRGF0YVN0b3JlQ3JlYXRlTm9uUGVy
c2lzdGVudERhdGFTdG9yZSgpKTsKKyAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0V2Vic2l0ZURh
dGFTdG9yZShwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgZXBoZW1lcmFsU3RvcmUuZ2V0KCkpOwog
CiAgICAgV0tDb250ZXh0SGlzdG9yeUNsaWVudFYwIGhpc3RvcnlDbGllbnQ7CiAgICAgbWVtc2V0
KCZoaXN0b3J5Q2xpZW50LCAwLCBzaXplb2YoaGlzdG9yeUNsaWVudCkpOwpAQCAtNjEsNyArNjgs
NyBAQCBURVNUKFdlYktpdCwgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJh
Y2spCiAKICAgICBXS0NvbnRleHRTZXRIaXN0b3J5Q2xpZW50KGNvbnRleHQuZ2V0KCksICZoaXN0
b3J5Q2xpZW50LmJhc2UpOwogCi0gICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5n
ZXQoKSk7CisgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcocGFnZUNvbmZpZ3VyYXRpb24uZ2V0
KCkpOwogCiAgICAgV0tQYWdlTmF2aWdhdGlvbkNsaWVudFYwIHBhZ2VMb2FkZXJDbGllbnQ7CiAg
ICAgbWVtc2V0KCZwYWdlTG9hZGVyQ2xpZW50LCAwLCBzaXplb2YocGFnZUxvYWRlckNsaWVudCkp
OwpAQCAtNzQsNyArODEsNiBAQCBURVNUKFdlYktpdCwgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRl
Tm9IaXN0b3J5Q2FsbGJhY2spCiAgICAgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQod2Vi
Vmlldy5wYWdlKCksICZwYWdlTG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8
V0tQcmVmZXJlbmNlc1JlZj4gcHJlZmVyZW5jZXMgPSBhZG9wdFdLKFdLUHJlZmVyZW5jZXNDcmVh
dGUoKSk7Ci0gICAgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQocHJlZmVy
ZW5jZXMuZ2V0KCksIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHNBbGxvd2VkKHByZWZlcmVuY2VzLmdldCgpLCB0cnVlKTsKIAogICAgIFdLUGFn
ZUdyb3VwUmVmIHBhZ2VHcm91cCA9IFdLUGFnZUdldFBhZ2VHcm91cCh3ZWJWaWV3LnBhZ2UoKSk7
CkBAIC04NSwxMiArOTEsMTMgQEAgVEVTVChXZWJLaXQsIFByaXZhdGVCcm93c2luZ1B1c2hTdGF0
ZU5vSGlzdG9yeUNhbGxiYWNrKQogCiAgICAgVXRpbDo6cnVuKCZkaWRTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uKTsKIAotICAgIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHBy
ZWZlcmVuY2VzLmdldCgpLCBmYWxzZSk7CisgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFdlYnNp
dGVEYXRhU3RvcmUocGFnZUNvbmZpZ3VyYXRpb24uZ2V0KCksIFdLV2Vic2l0ZURhdGFTdG9yZUdl
dERlZmF1bHREYXRhU3RvcmUoKSk7CisgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcyKHBhZ2VD
b25maWd1cmF0aW9uLmdldCgpKTsKIAogICAgIGhpc3RvcnlDbGllbnQuZGlkTmF2aWdhdGVXaXRo
TmF2aWdhdGlvbkRhdGEgPSBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YTsKICAgICBXS0Nv
bnRleHRTZXRIaXN0b3J5Q2xpZW50KGNvbnRleHQuZ2V0KCksICZoaXN0b3J5Q2xpZW50LmJhc2Up
OwogCi0gICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKKyAgICBX
S1BhZ2VMb2FkVVJMKHdlYlZpZXcyLnBhZ2UoKSwgdXJsLmdldCgpKTsKIAogICAgIFV0aWw6OnJ1
bigmZGlkTmF2aWdhdGUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378967</attachid>
            <date>2019-09-17 09:02:46 -0700</date>
            <delta_ts>2019-09-17 10:12:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201859-20190917090246.patch</filename>
            <type>text/plain</type>
            <size>21334</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljMjMwNzY2MTY3ZGRhNTVi
MDdmMjdiYWU1NWZjNmIzN2U3YjBkZGIuLjgwMTQxZWVjZTI2Y2UxMTc2YWEyZjg5NTNmNzU1NzU0
ZjZlYTliNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDktMTcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ5OTIzKTog
QVNTRVJUSU9OIEZBSUxFRDogc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNl
c3Npb25JRCgpIGluIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2ViS2l0OjpXZWJTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxODU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQyNjc0Mj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIERyb3Agc3Vw
cG9ydCBmb3IgdGhlIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgQyBB
UEkgKE1hcmsgYXMgZGVwcmVjYXRlZCBhbmQgbWFrZSBpdCBhIG5vLW9wKSBhcyBpdAorICAgICAg
ICB3YXMgY2hhbmdpbmcgYSBXZWJDb250ZW50IHByb2Nlc3MncyBzZXNzaW9uSUQsIHdoaWNoIGlz
IG5vIGxvbmdlciBzdXBwb3J0ZWQuIFRoaXMgd2FzIGFsc28gdXNpbmcgdGhlIGxlZ2FjeSBwcml2
YXRlCisgICAgICAgIGJyb3dzaW5nIHNlc3Npb24sIHdoaWNoIHdlJ3JlIHRyeWluZyB0byBnZXQg
cmlkIG9mLiBUaGVyZSBpcyBzdWl0YWJsZSBDIEFQSSB0byBkbyBwcml2YXRlIGJyb3dzaW5nIChX
S1dlYnNpdGVEYXRhU3RvcmVSZWYpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorICAgICAgICAo
V0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tOgorICAgICAgICAoV0tQYWdlSXNVUkxLbm93bkhTVFNI
b3N0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmlzVVJMS25vd25IU1RTSG9zdCBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJlZmVyZW5jZXM6OmFkZFBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6cmVtb3ZlUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjp1
cGRhdGVCb29sVmFsdWVGb3JLZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNl
cyk6CisKIDIwMTktMDktMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHVEtdIEluaXRpYWwgdmlldyBsb2FkaW5nIGlzIHNsb3cKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGM4MTBjZTQyYzZhMmI5ZDcy
NDU1OGJiZDJiZDYxNzMyMDEyNjBmMjUuLjY1ZjlkZTcxYmVmZjE0ODIwYjk4MDhmOGE1YzgzZTI2
ZWIxNzQ5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
OTIsMTEgKzkyLDYgQEAgU2FmZUJyb3dzaW5nRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiB0cnVl
CiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAKLVByaXZhdGVCcm93c2luZ0VuYWJsZWQ6Ci0gIHR5
cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICB3ZWJjb3JlQmluZGluZzogbm9uZQot
CiBUZXh0QXJlYXNBcmVSZXNpemFibGU6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBE
RUZBVUxUX1RFWFRfQVJFQVNfQVJFX1JFU0laQUJMRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCBkOGQ5YmE4MWFhNzM4ZDUyOWU4ZDNk
MTBlNmJkOWRiNTEyZDM4NzE4Li41ZTdmNTIzMjhhZWQ5NjcyZWEzZGVlNGViMzI0OGIwZWI2MDFj
NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcApAQCAtMzUxLDEyICszNTEsMTEgQEAgV0tTdHJpbmdSZWYgV0tQcmVmZXJlbmNlc0NvcHlE
ZWZhdWx0VGV4dEVuY29kaW5nTmFtZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2UKIAogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7Ci0gICAgdG9JbXBsKHByZWZlcmVuY2Vz
UmVmKS0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogYm9vbCBXS1By
ZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmKQogewotICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wcml2YXRl
QnJvd3NpbmdFbmFibGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWYuaAppbmRleCBjYTg3MWZmNjkyYjdmZmUzMGM5YzM4ZDA2YThjYTFk
Y2MxYTk4ZGE0Li4yNzU1M2Y5NGM3NWQ2NDcyNWQ1NTJjZTk5YzkwNzgzYjQ1NjZiY2M1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCkBA
IC0xNDksOCArMTQ5LDggQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldERlZmF1bHRU
ZXh0RW5jb2RpbmdOYW1lKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW4KIFdLX0VYUE9SVCBXS1N0
cmluZ1JlZiBXS1ByZWZlcmVuY2VzQ29weURlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZS4KLVdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKTsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpIFdL
X0NfQVBJX0RFUFJFQ0FURUQ7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMubW0KaW5kZXggMzVlZjkyMjE1
NGUxOTYzMDBlNGI2ZWU3NWQ0Yzk4MTc4NWJjM2UyNS4uMTczOThlY2U4MjJlY2ZkYmQwMWZjMjEz
MTYwNWU1MzNhNzg3NzNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvbWFjL1dLUGFnZVByaXZhdGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMubW0KQEAgLTEzMiw5ICsxMzIsOCBAQCBfV0tSZW1v
dGVPYmplY3RSZWdpc3RyeSAqV0tQYWdlR2V0T2JqZWN0UmVnaXN0cnkoV0tQYWdlUmVmIHBhZ2VS
ZWYpCiBib29sIFdLUGFnZUlzVVJMS25vd25IU1RTSG9zdChXS1BhZ2VSZWYgcGFnZSwgV0tVUkxS
ZWYgdXJsKQogewogICAgIFdlYktpdDo6V2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkgPSBXZWJL
aXQ6OnRvSW1wbChwYWdlKTsKLSAgICBib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQgPSB3ZWJQ
YWdlUHJveHktPnBhZ2VHcm91cCgpLnByZWZlcmVuY2VzKCkucHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCgpOwogCi0gICAgcmV0dXJuIHdlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnByb2Nlc3NQb29sKCku
aXNVUkxLbm93bkhTVFNIb3N0KFdlYktpdDo6dG9JbXBsKHVybCktPnN0cmluZygpLCBwcml2YXRl
QnJvd3NpbmdFbmFibGVkKTsKKyAgICByZXR1cm4gd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkucHJv
Y2Vzc1Bvb2woKS5pc1VSTEtub3duSFNUU0hvc3QoV2ViS2l0Ojp0b0ltcGwodXJsKS0+c3RyaW5n
KCkpOwogfQogCiBXS05hdmlnYXRpb24gKldLUGFnZUxvYWRVUkxSZXF1ZXN0UmV0dXJuaW5nTmF2
aWdhdGlvbihXS1BhZ2VSZWYgcGFnZVJlZiwgV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3RSZWYp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRGYXZp
Y29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
RmF2aWNvbkRhdGFiYXNlLmNwcAppbmRleCA5YjU4MThhOTgzNmYzNzYyZDg5NjIyZTM2MmMzZmM4
YjJkM2ViZmQxLi4yOGU2NjIwNjY3YjY3YTQ2ZGVkZTFjYjQ0Mjc0YjEyODcyOTFjNzY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRGYXZpY29uRGF0
YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEZh
dmljb25EYXRhYmFzZS5jcHAKQEAgLTI3MSw3ICsyNzEsNiBAQCB2b2lkIHdlYmtpdEZhdmljb25E
YXRhYmFzZU9wZW4oV2ViS2l0RmF2aWNvbkRhdGFiYXNlKiBkYXRhYmFzZSwgY29uc3QgU3RyaW5n
JiBwYQogICAgIHByaXYtPmljb25EYXRhYmFzZS0+c2V0Q2xpZW50KG1ha2VVbmlxdWU8V2ViS2l0
SWNvbkRhdGFiYXNlQ2xpZW50PihkYXRhYmFzZSkpOwogICAgIEljb25EYXRhYmFzZTo6ZGVsYXlE
YXRhYmFzZUNsZWFudXAoKTsKICAgICBwcml2LT5pY29uRGF0YWJhc2UtPnNldEVuYWJsZWQodHJ1
ZSk7Ci0gICAgcHJpdi0+aWNvbkRhdGFiYXNlLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdl
YlByZWZlcmVuY2VzOjphbnlQYWdlc0FyZVVzaW5nUHJpdmF0ZUJyb3dzaW5nKCkpOwogCiAgICAg
aWYgKCFwcml2LT5pY29uRGF0YWJhc2UtPm9wZW4oRmlsZVN5c3RlbTo6ZGlyZWN0b3J5TmFtZShw
YXRoKSwgRmlsZVN5c3RlbTo6cGF0aEdldEZpbGVOYW1lKHBhdGgpKSkgewogICAgICAgICBwcml2
LT5pY29uRGF0YWJhc2UgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwCmluZGV4IDYxODk3NDdiYWFmM2ZhYmY4MGIw
MDlkZTAwYTRjYmNhOWFkOTk2MjMuLjNjODMyZTViOWFhZDdlNDg3NjM4YjJlNzYyMGEyZWRhNmZj
NzU5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRTZXR0aW5ncy5jcHAKQEAgLTIzOTEsNyArMjM5MSw3IEBAIGdib29sZWFuIHdlYmtpdF9zZXR0
aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdz
KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5n
cyksIEZBTFNFKTsKIAotICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMtPnBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKKyAgICByZXR1cm4gRkFMU0U7CiB9CiAKIC8qKgpAQCAt
MjQwNiwxNCArMjQwNiw2IEBAIGdib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3By
aXZhdGVfYnJvd3NpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQogdm9pZCB3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKFdlYktpdFNldHRpbmdzKiBzZXR0aW5n
cywgZ2Jvb2xlYW4gZW5hYmxlZCkKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19T
RVRUSU5HUyhzZXR0aW5ncykpOwotCi0gICAgV2ViS2l0U2V0dGluZ3NQcml2YXRlKiBwcml2ID0g
c2V0dGluZ3MtPnByaXY7Ci0gICAgYm9vbCBjdXJyZW50VmFsdWUgPSBwcml2LT5wcmVmZXJlbmNl
cy0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpOwotICAgIGlmIChjdXJyZW50VmFsdWUgPT0gZW5h
YmxlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoZW5hYmxlZCk7Ci0gICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNU
KHNldHRpbmdzKSwgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIik7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0KaW5kZXggNGZjNTA5MmE3MWUzMmUzZWI0ZDJjN2U5NDE5YzdkMjAwYmZmMmViZi4uNTEwZWNi
MDc0MGI1MGMwMGQzZGEwOTE4MmIzNjRiNDkxM2Q4YTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC00ODksMTEg
KzQ4OSwxMSBAQCBzdGF0aWMgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBwcml2YXRlQnJvd3NpbmdT
ZXNzaW9uKCkKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAotYm9vbCBXZWJQcm9jZXNzUG9vbDo6
aXNVUkxLbm93bkhTVFNIb3N0KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQpIGNvbnN0Citib29sIFdlYlByb2Nlc3NQb29sOjppc1VSTEtub3duSFNU
U0hvc3QoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0CiB7CiAgICAgUmV0YWluUHRyPENG
VVJMUmVmPiB1cmwgPSBVUkwoVVJMKCksIHVybFN0cmluZykuY3JlYXRlQ0ZVUkwoKTsKIAotICAg
IHJldHVybiBfQ0ZOZXR3b3JrSXNLbm93bkhTVFNIb3N0V2l0aFNlc3Npb24odXJsLmdldCgpLCBw
cml2YXRlQnJvd3NpbmdFbmFibGVkID8gcHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpIDogbnVsbHB0
cik7CisgICAgcmV0dXJuIF9DRk5ldHdvcmtJc0tub3duSFNUU0hvc3RXaXRoU2Vzc2lvbih1cmwu
Z2V0KCksIG51bGxwdHIpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXNldEhTVFNIb3N0
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMjY2
NGJhMGI3NmQ5YzcwYTlmZjhiZWVkNjI0NmNkOGQ2NTZmYjI0YS4uNWQ4MTA0NzJlYjEzZjkxYWRj
M2NjMWIyNTc2NjU1Nzc3MTFiZDhkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMzYsMTAgKzM2LDYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LS8vIEZJWE1FOiBNYW5pcHVsYXRpbmcgdGhpcyB2YXJpYWJsZSBpcyBub3QgdGhyZWFkIHNhZmUu
Ci0vLyBJbnN0ZWFkIG9mIHRyYWNraW5nIHByaXZhdGUgYnJvd3Npbmcgc3RhdGUgYXMgYSBib29s
ZWFuIHByZWZlcmVuY2UsIHdlIHNob3VsZCBsZXQgdGhlIGNsaWVudCBwcm92aWRlIHN0b3JhZ2Ug
c2Vzc2lvbnMgZXhwbGljaXRseS4KLXN0YXRpYyB1bnNpZ25lZCBwcml2YXRlQnJvd3NpbmdQYWdl
Q291bnQ7Ci0KIFJlZjxXZWJQcmVmZXJlbmNlcz4gV2ViUHJlZmVyZW5jZXM6OmNyZWF0ZShjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYga2V5UHJlZml4LCBjb25zdCBTdHJp
bmcmIGdsb2JhbERlYnVnS2V5UHJlZml4KQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YlByZWZlcmVuY2VzKGlkZW50aWZpZXIsIGtleVByZWZpeCwgZ2xvYmFsRGVidWdLZXlQcmVmaXgp
KTsKQEAgLTg4LDI1ICs4NCwxMiBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphZGRQYWdlKFdlYlBh
Z2VQcm94eSYgd2ViUGFnZVByb3h5KQogewogICAgIEFTU0VSVCghbV9wYWdlcy5jb250YWlucygm
d2ViUGFnZVByb3h5KSk7CiAgICAgbV9wYWdlcy5hZGQoJndlYlBhZ2VQcm94eSk7Ci0KLSAgICBp
ZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgIGlmICghcHJpdmF0ZUJyb3dz
aW5nUGFnZUNvdW50KQotICAgICAgICAgICAgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdGFydFVzaW5n
UHJpdmF0ZUJyb3dzaW5nKCk7Ci0KLSAgICAgICAgKytwcml2YXRlQnJvd3NpbmdQYWdlQ291bnQ7
Ci0gICAgfQogfQogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjpyZW1vdmVQYWdlKFdlYlBhZ2VQcm94
eSYgd2ViUGFnZVByb3h5KQogewogICAgIEFTU0VSVChtX3BhZ2VzLmNvbnRhaW5zKCZ3ZWJQYWdl
UHJveHkpKTsKICAgICBtX3BhZ2VzLnJlbW92ZSgmd2ViUGFnZVByb3h5KTsKLQotICAgIGlmIChw
cml2YXRlQnJvd3NpbmdFbmFibGVkKCkpIHsKLSAgICAgICAgLS1wcml2YXRlQnJvd3NpbmdQYWdl
Q291bnQ7Ci0gICAgICAgIGlmICghcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50KQotICAgICAgICAg
ICAgV2ViUHJvY2Vzc1Bvb2w6OndpbGxTdG9wVXNpbmdQcml2YXRlQnJvd3NpbmcoKTsKLSAgICB9
CiB9CiAKIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZSgpCkBAIC0xMjMsMTEgKzEwNiw2IEBA
IHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZVN0cmluZ1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhCiAKIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJv
b2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkKIHsKLSAgICBpZiAo
a2V5ID09IFdlYlByZWZlcmVuY2VzS2V5Ojpwcml2YXRlQnJvd3NpbmdFbmFibGVkS2V5KCkpIHsK
LSAgICAgICAgdXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUodmFsdWUpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCiAgICAgcGxhdGZvcm1VcGRhdGVCb29sVmFsdWVGb3JLZXkoa2V5LCB2YWx1
ZSk7CiAgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBr
ZXkgYW5kIHZhbHVlLgogfQpAQCAtMTg2LDMwICsxNjQsNiBAQCB2b2lkIFdlYlByZWZlcmVuY2Vz
OjpkZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpCiAgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBP
bmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCi12b2lkIFdlYlBy
ZWZlcmVuY2VzOjp1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZhbHVlKQotewotICAg
IHBsYXRmb3JtVXBkYXRlQm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpwcml2YXRl
QnJvd3NpbmdFbmFibGVkS2V5KCksIHZhbHVlKTsKLQotICAgIHVuc2lnbmVkIHBhZ2VzQ2hhbmdl
ZCA9IG1fcGFnZXMuc2l6ZSgpOwotICAgIGlmICghcGFnZXNDaGFuZ2VkKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAodmFsdWUpIHsKLSAgICAgICAgaWYgKCFwcml2YXRlQnJvd3NpbmdQYWdl
Q291bnQpCi0gICAgICAgICAgICBXZWJQcm9jZXNzUG9vbDo6d2lsbFN0YXJ0VXNpbmdQcml2YXRl
QnJvd3NpbmcoKTsKLSAgICAgICAgcHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50ICs9IHBhZ2VzQ2hh
bmdlZDsKLSAgICB9Ci0KLSAgICB1cGRhdGUoKTsgLy8gRklYTUU6IE9ubHkgc2VuZCBvdmVyIHRo
ZSBjaGFuZ2VkIGtleSBhbmQgdmFsdWUuCi0KLSAgICBpZiAoIXZhbHVlKSB7Ci0gICAgICAgIEFT
U0VSVChwcml2YXRlQnJvd3NpbmdQYWdlQ291bnQgPj0gcGFnZXNDaGFuZ2VkKTsKLSAgICAgICAg
cHJpdmF0ZUJyb3dzaW5nUGFnZUNvdW50IC09IHBhZ2VzQ2hhbmdlZDsKLSAgICAgICAgaWYgKCFw
cml2YXRlQnJvd3NpbmdQYWdlQ291bnQpCi0gICAgICAgICAgICBXZWJQcm9jZXNzUG9vbDo6d2ls
bFN0b3BVc2luZ1ByaXZhdGVCcm93c2luZygpOwotICAgIH0KLX0KLQogI2RlZmluZSBERUZJTkVf
UFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFt
ZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uKSBcCiAgICAgdm9pZCBXZWJQcmVmZXJlbmNlczo6c2V0IyNLZXlVcHBlcihjb25z
dCBUeXBlJiB2YWx1ZSkgXAogICAgIHsgXApAQCAtMjM0LDExICsxODgsNiBAQCBGT1JfRUFDSF9X
RUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUZJTkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRF
UlMpCiAjdW5kZWYgREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTCiAKIAotYm9v
bCBXZWJQcmVmZXJlbmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVCcm93c2luZygpCi17Ci0g
ICAgcmV0dXJuIHByaXZhdGVCcm93c2luZ1BhZ2VDb3VudDsKLX0KLQogdm9pZCBXZWJQcmVmZXJl
bmNlczo6cmVnaXN0ZXJEZWZhdWx0Qm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBi
b29sIHZhbHVlKQogewogICAgIG1fc3RvcmUuc2V0T3ZlcnJpZGVEZWZhdWx0c0Jvb2xWYWx1ZUZv
cktleShrZXksIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5o
CmluZGV4IDEyMDYxZjYyYTFkMDEyNjE5YzZjMjIyZDhiZmQzOTA5ZDU0MjQ3NTMuLmVmZmM2OTE5
ZmI4MDFmZDllNDc1ZWUwMmVmZDEzNmUzZTQxNzc1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuaApAQCAtNzksOCArNzksNiBAQCBwdWJsaWM6CiAgICAgLy8gRXhw
b3NlZCBmb3IgV2ViS2l0VGVzdFJ1bm5lciB1c2Ugb25seS4KICAgICB2b2lkIGZvcmNlVXBkYXRl
KCkgeyB1cGRhdGUoKTsgfQogCi0gICAgc3RhdGljIGJvb2wgYW55UGFnZXNBcmVVc2luZ1ByaXZh
dGVCcm93c2luZygpOwotCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplU3Rv
cmUoKTsKIApAQCAtMTAyLDggKzEwMCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZWxldGVLZXko
Y29uc3QgU3RyaW5nJiBrZXkpOwogICAgIHZvaWQgcGxhdGZvcm1EZWxldGVLZXkoY29uc3QgU3Ry
aW5nJiBrZXkpOwogCi0gICAgdm9pZCB1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZh
bHVlKTsKLQogICAgIHZvaWQgcmVnaXN0ZXJEZWZhdWx0Qm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0
cmluZyYsIGJvb2wpOwogICAgIHZvaWQgcmVnaXN0ZXJEZWZhdWx0VUludDMyVmFsdWVGb3JLZXko
Y29uc3QgU3RyaW5nJiwgdWludDMyX3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKaW5kZXggODBlNWY5OTliZGVkNDgzZmMzZGNlZjY2NWIxYWYxZGY1Zjg1
OGVjMC4uNzhlOGM3OWMzZWFmZWI0OTVhY2M1Yzc4M2I0Mzc2MzlkZmRkOGY0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNjI2LDkgKzYyNiw2IEBA
IE5ldHdvcmtQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vz
cyhXZWJzaXRlRGF0YVN0b3JlKiB3aXRoCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgbmV0d29yayBw
cm9jZXNzLgogICAgIG5ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
czo6SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKIAotICAgIGlmIChX
ZWJQcmVmZXJlbmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVCcm93c2luZygpKQotICAgICAg
ICBuZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFkZFdlYnNp
dGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmxlZ2FjeVByaXZhdGVTZXNz
aW9uUGFyYW1ldGVycygpKSwgMCk7Ci0KICNpZiBQTEFURk9STShDT0NPQSkKICAgICBuZXR3b3Jr
UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldFFPUyhuZXR3b3JrUHJv
Y2Vzc0xhdGVuY3lRT1MoKSwgbmV0d29ya1Byb2Nlc3NUaHJvdWdocHV0UU9TKCkpLCAwKTsKICNl
bmRpZgpAQCAtNzM1LDE4ICs3MzIsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpkaXNhYmxlU2Vy
dmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5KCkKICNlbmRpZgogfQogCi12b2lkIFdl
YlByb2Nlc3NQb29sOjp3aWxsU3RhcnRVc2luZ1ByaXZhdGVCcm93c2luZygpCi17Ci0gICAgZm9y
IChhdXRvKiBwcm9jZXNzUG9vbCA6IGFsbFByb2Nlc3NQb29scygpKQotICAgICAgICBwcm9jZXNz
UG9vbC0+c2V0QW55UGFnZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKLX0KLQotdm9pZCBXZWJQcm9jZXNzUG9vbDo6d2lsbFN0b3BVc2luZ1ByaXZhdGVCcm93c2lu
ZygpCi17Ci0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IGFsbFByb2Nlc3NQb29scygpKQot
ICAgICAgICBwcm9jZXNzUG9vbC0+c2V0QW55UGFnZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChmYWxzZSk7Ci19Ci0KIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OndpbmRvd1NlcnZl
ckNvbm5lY3Rpb25TdGF0ZUNoYW5nZWQoKQogewogICAgIHNpemVfdCBwcm9jZXNzQ291bnQgPSBt
X3Byb2Nlc3Nlcy5zaXplKCk7CkBAIC03NTQsMTYgKzczOSw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OndpbmRvd1NlcnZlckNvbm5lY3Rpb25TdGF0ZUNoYW5nZWQoKQogICAgICAgICBtX3Byb2Nl
c3Nlc1tpXS0+d2luZG93U2VydmVyQ29ubmVjdGlvblN0YXRlQ2hhbmdlZCgpOwogfQogCi12b2lk
IFdlYlByb2Nlc3NQb29sOjpzZXRBbnlQYWdlR3JvdXBNaWdodEhhdmVQcml2YXRlQnJvd3NpbmdF
bmFibGVkKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKLXsKLSAgICBpZiAocHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCkgewotICAgICAgICBlbnN1cmVOZXR3b3JrUHJvY2VzcygpLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBZGRXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzOjpsZWdhY3lQcml2YXRlU2Vzc2lvblBhcmFtZXRlcnMoKSksIDApOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGlmIChhdXRvKiBuZXR3b3JrUHJvY2VzcyA9IHRoaXMtPm5ldHdv
cmtQcm9jZXNzKCkpCi0gICAgICAgICAgICBuZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlU2Vzc2lvbihQ
QUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpKTsKLSAgICB9Ci19Ci0KIHZv
aWQgKCpzX2ludmFsaWRNZXNzYWdlQ2FsbGJhY2spKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lKTsK
IAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0SW52YWxpZE1lc3NhZ2VDYWxsYmFjayh2b2lkICgq
aW52YWxpZE1lc3NhZ2VDYWxsYmFjaykoV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNjQzYzQwZDYyZWNjNzhjYTU1
MDliY2RmMTgxMDI1ZTlkMDM3MjU3Yi4uNmI3Yzc2MTEzYWQ5NmY5NDZlMWUyOGYyYWRmZDkxOTRl
OGJiOTMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0z
OTUsOSArMzk1LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aW5kb3dTZXJ2ZXJDb25uZWN0aW9u
U3RhdGVDaGFuZ2VkKCk7CiAKLSAgICBzdGF0aWMgdm9pZCB3aWxsU3RhcnRVc2luZ1ByaXZhdGVC
cm93c2luZygpOwotICAgIHN0YXRpYyB2b2lkIHdpbGxTdG9wVXNpbmdQcml2YXRlQnJvd3Npbmco
KTsKLQogI2lmIFVTRShTT1VQKQogICAgIHZvaWQgc2V0SWdub3JlVExTRXJyb3JzKGJvb2wpOwog
ICAgIGJvb2wgaWdub3JlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9pZ25vcmVUTFNFcnJv
cnM7IH0KQEAgLTQwOCw3ICs0MDUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHByb2Nlc3NEaWRD
YWNoZVBhZ2UoV2ViUHJvY2Vzc1Byb3h5Kik7CiAKLSAgICBib29sIGlzVVJMS25vd25IU1RTSG9z
dChjb25zdCBTdHJpbmcmIHVybFN0cmluZywgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKSBj
b25zdDsKKyAgICBib29sIGlzVVJMS25vd25IU1RTSG9zdChjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZykgY29uc3Q7CiAgICAgdm9pZCByZXNldEhTVFNIb3N0cygpOwogICAgIHZvaWQgcmVzZXRIU1RT
SG9zdHNBZGRlZEFmdGVyRGF0ZShkb3VibGUgc3RhcnREYXRlSW50ZXJ2YWxTaW5jZTE5NzApOwog
CkBAIC01OTQsOCArNTkxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFy
dE9yaWdpbkhhc2goY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5Pcmln
aW5IYXNoLCBQQUw6OlNlc3Npb25JRCk7CiAgICAgdm9pZCBwbHVnSW5EaWRSZWNlaXZlVXNlcklu
dGVyYWN0aW9uKHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gsIFBBTDo6U2Vzc2lvbklEKTsKIAot
ICAgIHZvaWQgc2V0QW55UGFnZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChi
b29sKTsKLQogICAgIHZvaWQgcmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKTsKICAg
ICB2b2lkIHBsYXRmb3JtUmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5ZGYxYThi
YTFjMmRkY2I3YmJiYTE0MmE2YWVkYWRlNDQ1Nzc0ZGY4Li4xNDhiMTQ2OTVkZjQ3YjhjOTljOGEx
YjBkNDFmN2VkNTE2MjE1N2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtMzU0NSwxMSArMzU0NSw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRl
UHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgbV9zY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkID0gc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkS2V5
KCkpOwogICAgIHNldHRpbmdzLnNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQo
bV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKTsKIAotICAgIGlmIChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnByaXZhdGVCcm93c2luZ0VuYWJs
ZWRLZXkoKSkgJiYgIXVzZXNFcGhlbWVyYWxTZXNzaW9uKCkpCi0gICAgICAgIHNldFNlc3Npb25J
RChQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpKTsKLSAgICBlbHNlIGlm
ICghc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpwcml2YXRlQnJv
d3NpbmdFbmFibGVkS2V5KCkpICYmIHNlc3Npb25JRCgpID09IFBBTDo6U2Vzc2lvbklEOjpsZWdh
Y3lQcml2YXRlU2Vzc2lvbklEKCkpCi0gICAgICAgIHNldFNlc3Npb25JRChQQUw6OlNlc3Npb25J
RDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKLQogICAgIGJvb2wgaXNBcHBOYXBFbmFibGVkID0gc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWdlVmlzaWJpbGl0eUJh
c2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZEtleSgpKTsKICAgICBpZiAobV9pc0FwcE5hcEVu
YWJsZWQgIT0gaXNBcHBOYXBFbmFibGVkKSB7CiAgICAgICAgIG1faXNBcHBOYXBFbmFibGVkID0g
aXNBcHBOYXBFbmFibGVkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGQzM2ViYjg1YmY2NzE0OGI2OWExYjQ2YmYyN2NkMDVhMTViM2MwMmIuLjFj
NzBjNTgzNDM0ZTViN2ViMWFjZTJjYTBmYzU5ZjIzYTQxOTgwYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0w
OS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJ
T04gKHIyNDk5MjMpOiBBU1NFUlRJT04gRkFJTEVEOiBzZXNzaW9uSUQgPT0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkgaW4gV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uICpX
ZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6ZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29u
bmVjdGlvbkZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE4NTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU1NDI2NzQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAg
ICAgICAgVXBkYXRlIEFQSSB0ZXN0IHRvIHVzZSBXS1dlYnNpdGVEYXRhU3RvcmVSZWYgQyBBUEkg
dG8gZG8gcHJpdmF0ZSBicm93c2luZyBpbnN0ZWFkIG9mIHVzaW5nCisgICAgICAgIHRoZSBsZWdh
Y3kgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSBDIEFQSS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0
ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
CiAyMDE5LTA5LTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgdGhlICJTaG93IExpbmsgUHJldmlld3MiIGFuZCAiSGlkZSBMaW5rIFByZXZpZXdzIiBh
Y3Rpb24gbWVudXMgaW4gdGhlIHByZXZpZXcgcGxhdHRlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5
Q2FsbGJhY2suY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJpdmF0ZUJy
b3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwCmluZGV4IGJmYjA4ZmRlMDg4MWI3
MmVjZWYxNDlmZjY2ZDM4NWYzNGMxY2ZjOGQuLjYzNTI1M2UwYTY2ZWY4MGY2ZWQzOTY1ZTc3ZDA2
OWNkYjkyNDg2NzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hp
c3RvcnlDYWxsYmFjay5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJUZXN0LmgiCiAj
aW5jbHVkZSA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0L1dLUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLV2Vic2l0ZURhdGFTdG9yZVJl
Zi5oPgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKQEAgLTUyLDYgKzUzLDEyIEBAIHN0
YXRpYyB2b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29udGV4dFJlZiBjb250
ZXh0LCBXS1BhZ2VSZWYgcGFnZSwKIFRFU1QoV2ViS2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3Rh
dGVOb0hpc3RvcnlDYWxsYmFjaykKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNv
bnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0ZVdpdGhDb25maWd1cmF0aW9uKG51bGxwdHIp
KTsKKyAgICAKKyAgICBhdXRvIHBhZ2VDb25maWd1cmF0aW9uID0gYWRvcHRXSyhXS1BhZ2VDb25m
aWd1cmF0aW9uQ3JlYXRlKCkpOworICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRDb250ZXh0KHBh
Z2VDb25maWd1cmF0aW9uLmdldCgpLCBjb250ZXh0LmdldCgpKTsKKyAgICAKKyAgICBhdXRvIGVw
aGVtZXJhbFN0b3JlID0gYWRvcHRXSyhXS1dlYnNpdGVEYXRhU3RvcmVDcmVhdGVOb25QZXJzaXN0
ZW50RGF0YVN0b3JlKCkpOworICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRlRGF0YVN0
b3JlKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCBlcGhlbWVyYWxTdG9yZS5nZXQoKSk7CiAKICAg
ICBXS0NvbnRleHRIaXN0b3J5Q2xpZW50VjAgaGlzdG9yeUNsaWVudDsKICAgICBtZW1zZXQoJmhp
c3RvcnlDbGllbnQsIDAsIHNpemVvZihoaXN0b3J5Q2xpZW50KSk7CkBAIC02MSw3ICs2OCw3IEBA
IFRFU1QoV2ViS2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjaykK
IAogICAgIFdLQ29udGV4dFNldEhpc3RvcnlDbGllbnQoY29udGV4dC5nZXQoKSwgJmhpc3RvcnlD
bGllbnQuYmFzZSk7CiAKLSAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgp
KTsKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSk7
CiAKICAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgcGFnZUxvYWRlckNsaWVudDsKICAgICBt
ZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQsIDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50KSk7CkBA
IC03NCw3ICs4MSw2IEBAIFRFU1QoV2ViS2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hp
c3RvcnlDYWxsYmFjaykKICAgICBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudCh3ZWJWaWV3
LnBhZ2UoKSwgJnBhZ2VMb2FkZXJDbGllbnQuYmFzZSk7CiAKICAgICBXS1JldGFpblB0cjxXS1By
ZWZlcmVuY2VzUmVmPiBwcmVmZXJlbmNlcyA9IGFkb3B0V0soV0tQcmVmZXJlbmNlc0NyZWF0ZSgp
KTsKLSAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcmVmZXJlbmNl
cy5nZXQoKSwgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMc0FsbG93ZWQocHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOwogCiAgICAgV0tQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwID0gV0tQYWdlR2V0UGFnZUdyb3VwKHdlYlZpZXcucGFnZSgpKTsKQEAg
LTg1LDEyICs5MSwxMyBAQCBURVNUKFdlYktpdCwgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9I
aXN0b3J5Q2FsbGJhY2spCiAKICAgICBVdGlsOjpydW4oJmRpZFNhbWVEb2N1bWVudE5hdmlnYXRp
b24pOwogCi0gICAgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQocHJlZmVy
ZW5jZXMuZ2V0KCksIGZhbHNlKTsKKyAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0V2Vic2l0ZURh
dGFTdG9yZShwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgV0tXZWJzaXRlRGF0YVN0b3JlR2V0RGVm
YXVsdERhdGFTdG9yZSgpKTsKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldzIocGFnZUNvbmZp
Z3VyYXRpb24uZ2V0KCkpOwogCiAgICAgaGlzdG9yeUNsaWVudC5kaWROYXZpZ2F0ZVdpdGhOYXZp
Z2F0aW9uRGF0YSA9IGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhOwogICAgIFdLQ29udGV4
dFNldEhpc3RvcnlDbGllbnQoY29udGV4dC5nZXQoKSwgJmhpc3RvcnlDbGllbnQuYmFzZSk7CiAK
LSAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCB1cmwuZ2V0KCkpOworICAgIFdLUGFn
ZUxvYWRVUkwod2ViVmlldzIucGFnZSgpLCB1cmwuZ2V0KCkpOwogCiAgICAgVXRpbDo6cnVuKCZk
aWROYXZpZ2F0ZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>