<?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>193848</bug_id>
          
          <creation_ts>2019-01-25 15:18:16 -0800</creation_ts>
          <short_desc>Make sure WTF::generateObjectIdentifier() internal counter does not get duplicated</short_desc>
          <delta_ts>2019-01-29 09:51:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</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=193761</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>krollin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498503</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-25 15:18:16 -0800</bug_when>
    <thetext>Make sure WTF::generateObjectIdentifier() internal counter does not get duplicated at each call site. This can lead to hard to debug duplicate identifiers such as the one in Bug 193761.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498508</commentid>
    <comment_count>1</comment_count>
      <attachid>360173</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-25 15:22:45 -0800</bug_when>
    <thetext>Created attachment 360173
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499264</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-28 16:27:26 -0800</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499289</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-28 17:12:46 -0800</bug_when>
    <thetext>I guess a unit test could be written. Not sure whether worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499376</commentid>
    <comment_count>4</comment_count>
      <attachid>360173</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-28 20:02:28 -0800</bug_when>
    <thetext>Comment on attachment 360173
Patch

Rejecting attachment 360173 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 360173, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=360173&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=193848&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 360173 from bug 193848.
Fetching: https://bugs.webkit.org/attachment.cgi?id=360173
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Youenn Fablet&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 25 diffs from patch file(s).
patching file Source/WTF/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WTF/WTF.xcodeproj/project.pbxproj
Hunk #1 succeeded at 83 (offset -3 lines).
Hunk #2 succeeded at 415 (offset -3 lines).
Hunk #3 succeeded at 1035 (offset 4 lines).
Hunk #4 FAILED at 1555.
1 out of 4 hunks FAILED -- saving rejects to file Source/WTF/WTF.xcodeproj/project.pbxproj.rej
patching file Source/WTF/wtf/CMakeLists.txt
patching file Source/WTF/wtf/ObjectIdentifier.cpp
patching file Source/WTF/wtf/ObjectIdentifier.h
patching file Source/WebCore/dom/Document.cpp
Hunk #1 succeeded at 536 (offset 1 line).
patching file Source/WebCore/dom/MessageChannel.cpp
patching file Source/WebCore/dom/ScriptExecutionContext.cpp
patching file Source/WebCore/history/HistoryItem.cpp
patching file Source/WebCore/loader/DocumentLoader.cpp
patching file Source/WebCore/page/DOMWindow.cpp
patching file Source/WebCore/platform/Process.cpp
patching file Source/WebCore/workers/service/ServiceWorkerJobData.cpp
patching file Source/WebCore/workers/service/server/RegistrationDatabase.cpp
Hunk #1 succeeded at 400 (offset 1 line).
patching file Source/WebCore/workers/service/server/SWServer.cpp
patching file Source/WebCore/workers/service/server/SWServerRegistration.cpp
patching file Source/WebCore/workers/service/server/SWServerToContextConnection.cpp
patching file Source/WebKit/Platform/IPC/Connection.cpp
patching file Source/WebKit/UIProcess/ChildProcessProxy.h
patching file Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp
patching file Source/WebKit/UIProcess/WebBackForwardList.cpp
patching file Source/WebKit/UIProcess/WebProcessPool.cpp
Hunk #1 succeeded at 260 (offset 2 lines).
patching file Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Youenn Fablet&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/10932595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499550</commentid>
    <comment_count>5</comment_count>
      <attachid>360463</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-29 08:58:51 -0800</bug_when>
    <thetext>Created attachment 360463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499557</commentid>
    <comment_count>6</comment_count>
      <attachid>360465</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-29 09:14:19 -0800</bug_when>
    <thetext>Created attachment 360465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499570</commentid>
    <comment_count>7</comment_count>
      <attachid>360465</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 09:50:59 -0800</bug_when>
    <thetext>Comment on attachment 360465
Patch

Clearing flags on attachment: 360465

Committed r240661: &lt;https://trac.webkit.org/changeset/240661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499571</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 09:51:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499572</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-29 09:51:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47635445&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360173</attachid>
            <date>2019-01-25 15:22:45 -0800</date>
            <delta_ts>2019-01-29 08:58:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193848-20190125152244.patch</filename>
            <type>text/plain</type>
            <size>29866</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdlMTM4ODlmNDc4YTkxYTk1ZTdhMTM1
OGQxMjFmN2I4MjBlOTBmNGMuLjgwY2UzM2Q3NGJhOTJhYjliZWNmZmQ4NWFlNDU5MGZkM2EzNWZl
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDEtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgV1RGOjpnZW5lcmF0ZU9iamVjdElkZW50
aWZpZXIoKSBpbnRlcm5hbCBjb3VudGVyIGRvZXMgbm90IGdldCBkdXBsaWNhdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIFdURjo6Z2VuZXJh
dGVPYmplY3RJZGVudGlmaWVyKCkncyBpbnRlcm5hbCBjb3VudGVyIG91dC1vZi1saW5lIHNvIG1h
a2Ugc3VyZSBpdCBuZXZlciBnZXRzCisgICAgICAgIGR1cGxpY2F0ZWQgYXQgZWFjaCBjYWxsIHNp
dGUuIFRoaXMgaGFzIGNhdXNlZCBzb21lIGhhcmQtdG8tZGVidWcgaXNzdWVzIHdpdGggZHVwbGlj
YXRlCisgICAgICAgIGlkZW50aWZpZXJzIHN1Y2ggYXMgQnVnIDE5Mzc2MS4KKworICAgICAgICBB
bHNvIG1vdmUgaXQgdG8gT2JqZWN0SWRlbnRpZmllciBhbmQgcmVuYW1lIGl0IHRvIGdlbmVyYXRl
KCkgYXMgdGhpcyBtYWtlIGNhbGwgc2l0ZXMgbmljZXIKKyAgICAgICAgd2hlbiB0aGV5IGhhdmUg
YSB0eXBlZGVmIGZvciB0aGUgT2JqZWN0SWRlbnRpZmllcjxUPiB0eXBlLgorCisgICAgICAgICog
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIHd0Zi9PYmplY3RJZGVudGlmaWVyLmNwcDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHJvY2Vzcy5jcHAuCisgICAgICAgIChXVEY6Ok9iamVjdElk
ZW50aWZpZXJCYXNlOjpnZW5lcmF0ZUlkZW50aWZpZXJJbnRlcm5hbCk6CisgICAgICAgIChXVEY6
Ok9iamVjdElkZW50aWZpZXJCYXNlOjpnZW5lcmF0ZVRocmVhZFNhZmVJZGVudGlmaWVySW50ZXJu
YWwpOgorICAgICAgICAqIHd0Zi9PYmplY3RJZGVudGlmaWVyLmg6CisgICAgICAgIChXVEY6Ok9i
amVjdElkZW50aWZpZXI6OmdlbmVyYXRlKToKKyAgICAgICAgKFdURjo6T2JqZWN0SWRlbnRpZmll
cjo6Z2VuZXJhdGVUaHJlYWRTYWZlKToKKwogMjAxOS0wMS0yNSAgRGF2aWQgS2lsemVyICA8ZGRr
aWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgc29mdC1saW5raW5nIG9mIExvb2t1cC5m
cmFtZXdvcmsgb3V0IG9mIExvb2t1cFNQSS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU0ZWYwNjE1Mjk5NGVk
ZDgwYjc0NmVhYzRlYzBhMmQ5MjMyNzhlZC4uNDQ1OTI4MDBjYTFlZjE2ZTAxMTVlMmY0NTdjOWRh
OTAyZDgwZWY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTAxLTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIFdURjo6Z2Vu
ZXJhdGVPYmplY3RJZGVudGlmaWVyKCkgaW50ZXJuYWwgY291bnRlciBkb2VzIG5vdCBnZXQgZHVw
bGljYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZXNzYWdlQ2hhbm5lbDo6TWVzc2FnZUNoYW5uZWwpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNvbnRleHRJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAg
KiBoaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVt
OjpIaXN0b3J5SXRlbSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZWdpc3RlclRlbXBvcmFyeVNlcnZpY2VX
b3JrZXJDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6RE9NV2luZG93KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Qcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2Nlc3M6OmlkZW50aWZpZXIpOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySm9iRGF0YTo6U2VydmljZVdvcmtlckpvYkRhdGEpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMpOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OkNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U1dTZXJ2ZXI6OnVwZGF0ZVdvcmtlcik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZW5lcmF0
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZW5lcmF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyKToK
KwogMjAxOS0wMS0yNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBY3RpdmF0ZSB0aGUgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIGluIHRoZSBO
ZXR3b3JrUHJvY2VzcyBhbmQgZGVhY3RpdmF0ZSBpdCBpbiB0aGUgVUlQcm9jZXNzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA2MzYyOGExNjA3YjI4NmMyYjQ3NjYxMWExNDhkMzA1ZjAxNzJkNGE2Li42YjAzNjRjYzdj
NTYwNDZlNzM5MWY4OTBhZTY2ZTNjYjZhOGQ2NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
TWFrZSBzdXJlIFdURjo6Z2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCkgaW50ZXJuYWwgY291bnRl
ciBkb2VzIG5vdCBnZXQgZHVwbGljYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChJUEM6OkNvbm5lY3Rpb246OkNvbm5lY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJDb250
ZW50Q29udHJvbGxlclByb3h5OjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkJhY2tGb3J3YXJkTGlzdDo6cmVzdG9yZUZyb21TdGF0ZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhU3RyZWFt
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6YWRkRGV2aWNlQ2hhbmdlT2JzZXJ2
ZXIpOgorCiAyMDE5LTAxLTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIEFjdGl2YXRlIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgaW4g
dGhlIE5ldHdvcmtQcm9jZXNzIGFuZCBkZWFjdGl2YXRlIGl0IGluIHRoZSBVSVByb2Nlc3MuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkOTUzYjFiYWY3ZTcy
NzE4OWQwMDhjYWE4YWRiMWYzMjgxOWYxNjg2Li43YzJkNmRhZDQ5OTg0NzdiNWZjZDBiMDAxY2Fj
ZDk0NDAwZmRjNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTg2LDYgKzg2LDcgQEAKIAkJN0FGMDIzQjUyMDYxRTE3MDAwQThFRkQ2IC8qIFByb2Nlc3NQ
cml2aWxlZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0FGMDIzQjQyMDYxRTE2RjAwQThFRkQ2IC8qIFByb2Nlc3NQcml2aWxlZ2UuY3BwICovOyB9
OwogCQk3QUZFQzZCMTFFQjIyQjU5MDBEQURFMzYgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUZFQzZCMDFFQjIyQjU5MDBEQURFMzYg
LyogVVVJRC5jcHAgKi87IH07CiAJCTgxMzQwMTM4MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODEzNDAx
MzYxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgKi87IH07CisJCTgzNDhCQTBFMjFGQkMw
RDUwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNDhCQTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmpl
Y3RJZGVudGlmaWVyLmNwcCAqLzsgfTsKIAkJOTM5MzRCRDMxOEExRThDMzAwRDBENkExIC8qIFN0
cmluZ1ZpZXdDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzOTM0QkQyMThBMUU4QzMwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q29jb2EubW0gKi87
IH07CiAJCTkzOTM0QkQ1MThBMUYxNjkwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q0YuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MzRCRDQxOEExRjE2
OTAwRDBENkExIC8qIFN0cmluZ1ZpZXdDRi5jcHAgKi87IH07CiAJCTkzRjE5OTNFMTlENzk1OEQw
MEMyMzkwQiAvKiBTdHJpbmdWaWV3LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzRjE5OTNEMTlENzk1OEQwMEMyMzkwQiAvKiBTdHJpbmdWaWV3LmNw
cCAqLzsgfTsKQEAgLTQxNyw2ICs0MTgsNyBAQAogCQk3RTI5QzMzRDE1RkZENzlCMDA1MTZENjEg
LyogT2JqQ1J1bnRpbWVFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
T2JqQ1J1bnRpbWVFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODEzNDAx
MzYxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBCYXNlNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
MTM0MDEzNzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJhc2U2NC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzQ4
QkEwRDIxRkJDMEQ0MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPYmplY3RJZGVudGlmaWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNBOEFDM0QxRkFCQkU5NDAwMjA2NEFDIC8qIE9iamVjdElk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqZWN0SWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0FCQjNDMDIwQjM4MjMyMDBC
QTMzMDYgLyogV2Vha09iakNQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2Vha09iakNQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNGMkJBREUxQ0Y5
NTI0RTAwM0U5OUMzIC8qIEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDI5LDYgKzEw
MzEsNyBAQAogCQkJCUE4QTQ3MkQ1MTUxQTgyNUIwMDQxMjNGRiAvKiBOdW1iZXJPZkNvcmVzLmNw
cCAqLywKIAkJCQlBOEE0NzJENjE1MUE4MjVCMDA0MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5oICov
LAogCQkJCTdFMjlDMzNEMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpDUnVudGltZUV4dHJhcy5oICov
LAorCQkJCTgzNDhCQTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVyLmNwcCAq
LywKIAkJCQk4M0E4QUMzRDFGQUJCRTk0MDAyMDY0QUMgLyogT2JqZWN0SWRlbnRpZmllci5oICov
LAogCQkJCTFBRkRFNjUyMTk1M0IyM0QwMEM0OEZGQSAvKiBPcHRpb25hbC5oICovLAogCQkJCTFB
NDY1NjE4MUM3RkM2OEUwMEY1OTIwRiAvKiBPcHRpb25TZXQuaCAqLywKQEAgLTE1NDgsNiArMTU1
MSw3IEBACiAJCQkJMEY2NkIyOEMxREM5N0JBQjAwNEExRDNGIC8qIE1vbm90b25pY1RpbWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNUNDMEVFOEEyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0
cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjQxNTFBODI1QjAwNDEyM0ZGIC8qIE51
bWJlck9mQ29yZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM0OEJBMEUyMUZCQzBENTAwRkQz
MDU0IC8qIE9iamVjdElkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjcx
NTFBODI1QjAwNDEyM0ZGIC8qIE9TQWxsb2NhdG9yUG9zaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThBNDczRjkxNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4QTQ3NDAyMTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlQmxvY2suY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDZiZmJjZjViMGJjMTRmMmNjZDZk
YmVjMDY5ZjQ0ZTEzN2ZmMGU2MDUuLjEyNWY3MjBhNmU0YmI0NWZkNTEzMGJmZjgwNDc3ZDFhMjg0
NzVmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0zNzUsNiArMzc1LDcgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgTW9ub3RvbmljVGltZS5jcHAKICAgICBOdW1iZXJPZkNvcmVzLmNwcAogICAg
IE9TUmFuZG9tU291cmNlLmNwcAorICAgIE9iamVjdElkZW50aWZpZXIuY3BwCiAgICAgUGFnZUJs
b2NrLmNwcAogICAgIFBhcmFsbGVsSGVscGVyUG9vbC5jcHAKICAgICBQYXJhbGxlbEpvYnNHZW5l
cmljLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTQwZDQ4
YTJmZjc5OGE2ZDhlOWYyZGQ5MmFhNjAxMTEyM2M2ZjJiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RJZGVudGlmaWVyLmgi
CisKKworbmFtZXNwYWNlIFdURiB7CisKK3VpbnQ2NF90IE9iamVjdElkZW50aWZpZXJCYXNlOjpn
ZW5lcmF0ZUlkZW50aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGN1cnJl
bnQ7CisgICAgcmV0dXJuICsrY3VycmVudDsKK30KKwordWludDY0X3QgT2JqZWN0SWRlbnRpZmll
ckJhc2U6OmdlbmVyYXRlVGhyZWFkU2FmZUlkZW50aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3Rh
dGljIExhenlOZXZlckRlc3Ryb3llZDxzdGQ6OmF0b21pYzx1aW50NjRfdD4+IGN1cnJlbnQ7Cisg
ICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKKyAg
ICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKKyAgICAg
ICAgY3VycmVudC5jb25zdHJ1Y3QoMCk7CisgICAgfSk7CisgICAgcmV0dXJuICsrY3VycmVudC5n
ZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9PYmplY3RJZGVudGlmaWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgK
aW5kZXggNjYxNTI2OTk3OTM0MDgyOGExYzBlYjdjYzRhMDA3MTNmMTljYmZlNy4uNDA4OTdiNTlk
MDdhM2MwNTUwYWUyMzIzYzFjMTliYjI5NTMzOWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvT2JqZWN0SWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZp
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zMyw4ICszMywyNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgT2JqZWN0SWRlbnRpZmllciB7CitjbGFzcyBPYmplY3RJZGVudGlmaWVyQmFz
ZSB7Citwcm90ZWN0ZWQ6CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1aW50NjRfdCBn
ZW5lcmF0ZUlkZW50aWZpZXJJbnRlcm5hbCgpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0
aWMgdWludDY0X3QgZ2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCk7Cit9Owor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPYmplY3RJZGVudGlmaWVyIDogcHJpdmF0ZSBP
YmplY3RJZGVudGlmaWVyQmFzZSB7CiBwdWJsaWM6CisgICAgc3RhdGljIE9iamVjdElkZW50aWZp
ZXIgZ2VuZXJhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9iamVjdElkZW50aWZpZXIgeyBn
ZW5lcmF0ZUlkZW50aWZpZXJJbnRlcm5hbCgpIH07CisgICAgfQorCisgICAgc3RhdGljIE9iamVj
dElkZW50aWZpZXIgZ2VuZXJhdGVUaHJlYWRTYWZlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBP
YmplY3RJZGVudGlmaWVyIHsgZ2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCkg
fTsKKyAgICB9CisKICAgICBPYmplY3RJZGVudGlmaWVyKCkgPSBkZWZhdWx0OwogCiAgICAgT2Jq
ZWN0SWRlbnRpZmllcihIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKSA6IG1faWRlbnRpZmllciho
YXNoVGFibGVEZWxldGVkVmFsdWUoKSkgeyB9CkBAIC03NCw4ICs5MCw2IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByaXZhdGU6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIE9iamVjdElk
ZW50aWZpZXI8VT4gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCk7Ci0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVT4gZnJpZW5kIE9iamVjdElkZW50aWZpZXI8VT4gZ2VuZXJhdGVUaHJlYWRTYWZlT2Jq
ZWN0SWRlbnRpZmllcigpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZyaWVuZCBPYmplY3RJ
ZGVudGlmaWVyPFU+IG1ha2VPYmplY3RJZGVudGlmaWVyKHVpbnQ2NF90KTsKICAgICBmcmllbmQg
c3RydWN0IEhhc2hUcmFpdHM8T2JqZWN0SWRlbnRpZmllcj47CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gZnJpZW5kIHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaDsKQEAgLTkxLDIyICsxMDUs
NiBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKIH07CiAKLXRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBPYmplY3RJZGVudGlmaWVyPFQ+IGdlbmVyYXRlT2Jq
ZWN0SWRlbnRpZmllcigpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGN1cnJlbnRJZGVudGlmaWVy
OwotICAgIHJldHVybiBPYmplY3RJZGVudGlmaWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllciB9
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBn
ZW5lcmF0ZVRocmVhZFNhZmVPYmplY3RJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTGF6eU5l
dmVyRGVzdHJveWVkPHN0ZDo6YXRvbWljPHVpbnQ2NF90Pj4gY3VycmVudElkZW50aWZpZXI7Ci0g
ICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKLSAg
ICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKLSAgICAg
ICAgY3VycmVudElkZW50aWZpZXIuY29uc3RydWN0KDApOwotICAgIH0pOwotICAgIHJldHVybiBP
YmplY3RJZGVudGlmaWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllci5nZXQoKSB9OwotfQotCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBtYWtlT2JqZWN0
SWRlbnRpZmllcih1aW50NjRfdCBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBPYmplY3RJZGVu
dGlmaWVyPFQ+IHsgaWRlbnRpZmllciB9OwpAQCAtMTI3LDYgKzEyNSw0IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDxPYmplY3RJZGVudGlmaWVyPFQ+PiB7CiB9IC8v
IG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpPYmplY3RJZGVudGlmaWVyOwotdXNpbmcgV1RG
OjpnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI7Ci11c2luZyBXVEY6OmdlbmVyYXRlVGhyZWFkU2Fm
ZU9iamVjdElkZW50aWZpZXI7CiB1c2luZyBXVEY6Om1ha2VPYmplY3RJZGVudGlmaWVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNWRiNzFmNTE2ZjZmODhkNzQyMTE0OWIxOTUyN2Y0ZTdh
ZDhjMTc1OS4uMWIzY2IyOTcxODFlOTUwZjdjODMwMzMwNjhkNTExMGYwZWM3Nzg2YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC01MzUsNyArNTM1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50
KEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3Nlcywg
dW5zaWcKICAgICAsIG1faXNTeW50aGVzaXplZChjb25zdHJ1Y3Rpb25GbGFncyAmIFN5bnRoZXNp
emVkKQogICAgICwgbV9pc05vblJlbmRlcmVkUGxhY2Vob2xkZXIoY29uc3RydWN0aW9uRmxhZ3Mg
JiBOb25SZW5kZXJlZFBsYWNlaG9sZGVyKQogICAgICwgbV9vcmllbnRhdGlvbk5vdGlmaWVyKGN1
cnJlbnRPcmllbnRhdGlvbihmcmFtZSkpCi0gICAgLCBtX2lkZW50aWZpZXIoZ2VuZXJhdGVPYmpl
Y3RJZGVudGlmaWVyPERvY3VtZW50SWRlbnRpZmllclR5cGU+KCkpCisgICAgLCBtX2lkZW50aWZp
ZXIoRG9jdW1lbnRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogICAgICwgbV91bmRvTWFuYWdlcihV
bmRvTWFuYWdlcjo6Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbERv
Y3VtZW50c01hcCgpLmFkZChtX2lkZW50aWZpZXIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlQ2hhbm5lbC5jcHAKaW5kZXggNzI5MzJkODUyYmNkMjhlZTU4NTQ4NzA4MDAzODNlMjYyZWZk
MGIyNC4uOGRjZmUxZjdiYTIxOTViY2QyOTBjMWRhNzlkNjM1ZDIxNjk4MDljOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVzc2FnZUNoYW5uZWwuY3BwCkBAIC0zOSw4ICszOSw4IEBAIFJlZjxNZXNzYWdl
Q2hhbm5lbD4gTWVzc2FnZUNoYW5uZWw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KQogCiBNZXNzYWdlQ2hhbm5lbDo6TWVzc2FnZUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCkKIHsKLSAgICBNZXNzYWdlUG9ydElkZW50aWZpZXIgaWQxID0geyBQ
cm9jZXNzOjppZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9y
dElkZW50aWZpZXI6OlBvcnRJZGVudGlmaWVyVHlwZT4oKSB9OwotICAgIE1lc3NhZ2VQb3J0SWRl
bnRpZmllciBpZDIgPSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgZ2VuZXJhdGVPYmplY3RJZGVu
dGlmaWVyPE1lc3NhZ2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBlPigpIH07Cisg
ICAgTWVzc2FnZVBvcnRJZGVudGlmaWVyIGlkMSA9IHsgUHJvY2Vzczo6aWRlbnRpZmllcigpLCBP
YmplY3RJZGVudGlmaWVyPE1lc3NhZ2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBl
Pjo6Z2VuZXJhdGUoKSB9OworICAgIE1lc3NhZ2VQb3J0SWRlbnRpZmllciBpZDIgPSB7IFByb2Nl
c3M6OmlkZW50aWZpZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9ydElkZW50aWZpZXI6
OlBvcnRJZGVudGlmaWVyVHlwZT46OmdlbmVyYXRlKCkgfTsKIAogICAgIG1fcG9ydDEgPSBNZXNz
YWdlUG9ydDo6Y3JlYXRlKGNvbnRleHQsIGlkMSwgaWQyKTsKICAgICBtX3BvcnQyID0gTWVzc2Fn
ZVBvcnQ6OmNyZWF0ZShjb250ZXh0LCBpZDIsIGlkMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggM2NmZWIwNTc5NDI2ZTI3NWZhNTIzMzQ5
ODhhNDA5NmRiYzc3NmNjZC4uZTg1OTg1MjIzZjc4ZTMxYjRhMmI3ZmIwOGM2YjEwZDgxY2ZkMjcw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApA
QCAtMTA1LDcgKzEwNSw3IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OmNvbnRleHRJZGVudGlmaWVyKCkgY29uCiAgICAgaWYgKCFtX2Nv
bnRleHRJZGVudGlmaWVyKSB7CiAgICAgICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsU2NyaXB0
RXhlY3V0aW9uQ29udGV4dHNNYXBMb2NrKTsKIAotICAgICAgICBtX2NvbnRleHRJZGVudGlmaWVy
ID0gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyVHlwZT4oKTsKKyAgICAgICAgbV9jb250ZXh0SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogCiAgICAgICAgIEFTU0VSVCghYWxsU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dHNNYXAoKS5jb250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7
CiAgICAgICAgIGFsbFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzTWFwKCkuYWRkKG1fY29udGV4dElk
ZW50aWZpZXIsIGNvbnN0X2Nhc3Q8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCo+KHRoaXMpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggNDRkNDljNzZmOTMwZjJmNmQ4
YWM4NDZhOTA1MTllYmQ4ZTVhZjdmNS4uM2MwNTllNjg1YjgzZmQ3MDg5MGEzYWU2NWZiYTgwZDYy
NzBlNjE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTY2LDcg
KzY2LDcgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5n
LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogfQogCiBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
YWx0ZXJuYXRlVGl0bGUpCi0gICAgOiBIaXN0b3J5SXRlbSh1cmxTdHJpbmcsIHRpdGxlLCBhbHRl
cm5hdGVUaXRsZSwgeyBQcm9jZXNzOjppZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+KCkgfSkK
KyAgICA6IEhpc3RvcnlJdGVtKHVybFN0cmluZywgdGl0bGUsIGFsdGVybmF0ZVRpdGxlLCB7IFBy
b2Nlc3M6OmlkZW50aWZpZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+OjpnZW5lcmF0ZSgpIH0pCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDQ3NTRiZWFiN2FhOTVhNmYx
ZTNmOTI1MzIyYjkxZTlmMTY5YzU2ZjYuLjZhYzIxMzFjZGFkODk2N2E0MTBhMTM2ZDJjOGIyZTEw
ZTJkNjM2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAt
MTc3OSw3ICsxNzc5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVnaXN0ZXJUZW1wb3JhcnlT
ZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFVSTCYgdXJsKQogICAgICAgICByZXR1cm47CiAKICAg
ICBtX3RlbXBvcmFyeVNlcnZpY2VXb3JrZXJDbGllbnQgPSBUZW1wb3JhcnlTZXJ2aWNlV29ya2Vy
Q2xpZW50IHsKLSAgICAgICAgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPERvY3VtZW50SWRlbnRp
ZmllclR5cGU+KCksCisgICAgICAgIERvY3VtZW50SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwKICAg
ICAgICAgKlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuZXhpc3RpbmdTZXJ2aWNl
V29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNzaW9uSUQoKSkK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggNThlMGIwODUxYTNiMzk5
MDBhMzcyN2QzYTZjNTY0OTE4OTg4ZGYyMC4uMDk3OTMzNmQwYTU4ZTA4YWRhYzFmOGI4MzIzMDEw
NGMwZjc0NTRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDA0LDcgKzQwNCw3
IEBAIHZvaWQgRE9NV2luZG93OjpzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sIGFs
bG93KQogfQogCiBET01XaW5kb3c6OkRPTVdpbmRvdyhEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAg
OiBBYnN0cmFjdERPTVdpbmRvdyhHbG9iYWxXaW5kb3dJZGVudGlmaWVyIHsgUHJvY2Vzczo6aWRl
bnRpZmllcigpLCBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8V2luZG93SWRlbnRpZmllclR5cGU+
KCkgfSkKKyAgICA6IEFic3RyYWN0RE9NV2luZG93KEdsb2JhbFdpbmRvd0lkZW50aWZpZXIgeyBQ
cm9jZXNzOjppZGVudGlmaWVyKCksIFdpbmRvd0lkZW50aWZpZXI6OmdlbmVyYXRlKCkgfSkKICAg
ICAsIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
ZnJhbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Byb2Nlc3MuY3BwCmluZGV4IDhmY2ZlM2FmNGE2
ZTNlN2IwNTliZTg1NzMwNDI5MGVhNDM0MzZkMjUuLmNhODRiMDMyNTNmZWY5YTRkMDFlMjFlNGJi
OGUzOWI2YjQ3Nzk3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Byb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Byb2Nlc3MuY3BwCkBAIC00NCw3
ICs0NCw3IEBAIFByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZpZXIoKQogICAgIHN0YXRpYyBzdGQ6
Om9uY2VfZmxhZyBvbmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewog
ICAgICAgICBpZiAoIWdsb2JhbElkZW50aWZpZXIpCi0gICAgICAgICAgICBnbG9iYWxJZGVudGlm
aWVyID0gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFByb2Nlc3NJZGVudGlmaWVyVHlwZT4oKTsK
KyAgICAgICAgICAgIGdsb2JhbElkZW50aWZpZXIgPSBQcm9jZXNzSWRlbnRpZmllcjo6Z2VuZXJh
dGUoKTsKICAgICB9KTsKIAogICAgIHJldHVybiAqZ2xvYmFsSWRlbnRpZmllcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEu
Y3BwCmluZGV4IDI5YzgwZTE3NzYyYTY2YTNmOGJiMGE2MjI2Mzc2YmI0Yzk2MWE0YmYuLjQ3YTc5
ZjBhM2Y3NjZkZDVlNTQ4MjFhOWIyZWQyMzI1NWQ2Y2Y0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmNwcApAQCAt
MzYsNyArMzYsNyBAQCBTZXJ2aWNlV29ya2VySm9iRGF0YTo6U2VydmljZVdvcmtlckpvYkRhdGEo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIH0KIAogU2VydmljZVdvcmtlckpvYkRhdGE6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhKFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgY29ubmVj
dGlvbklkZW50aWZpZXIsIGNvbnN0IERvY3VtZW50T3JXb3JrZXJJZGVudGlmaWVyJiBsb2NhbFNv
dXJjZUNvbnRleHQpCi0gICAgOiBtX2lkZW50aWZpZXIgeyBjb25uZWN0aW9uSWRlbnRpZmllciwg
Z2VuZXJhdGVUaHJlYWRTYWZlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29ya2VySm9iSWRlbnRp
ZmllclR5cGU+KCkgfQorICAgIDogbV9pZGVudGlmaWVyIHsgY29ubmVjdGlvbklkZW50aWZpZXIs
IFNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyOjpnZW5lcmF0ZVRocmVhZFNhZmUoKSB9CiB7CiAg
ICAgV1RGOjpzd2l0Y2hPbihsb2NhbFNvdXJjZUNvbnRleHQsIFsmXShEb2N1bWVudElkZW50aWZp
ZXIgZG9jdW1lbnRJZGVudGlmaWVyKSB7CiAgICAgICAgIHNvdXJjZUNvbnRleHQgPSBTZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllciB7IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBkb2N1bWVudElk
ZW50aWZpZXIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXggMWFmNDM3ODhmZmZi
YWFhOTEyZTFhZDk3YmJkOThiMTcyZGUzZjBlMy4uZmM5ODIzMjlhODI2MjNmZDBhZGRjMzUzNzYy
NDIzM2VjYzEwYTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKQEAgLTM5OSw4ICsz
OTksOCBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMoKQogICAg
ICAgICBpZiAoIWtleSB8fCAhb3JpZ2luVVJMLmlzVmFsaWQoKSB8fCAhdG9wT3JpZ2luIHx8ICF1
cGRhdGVWaWFDYWNoZSB8fCAhc2NyaXB0VVJMLmlzVmFsaWQoKSB8fCAhd29ya2VyVHlwZSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGF1dG8gd29ya2VySWRlbnRpZmllciA9IGdl
bmVyYXRlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29ya2VySWRlbnRpZmllclR5cGU+KCk7Ci0g
ICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllclR5cGU+KCk7CisgICAgICAg
IGF1dG8gd29ya2VySWRlbnRpZmllciA9IFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOjpnZW5lcmF0
ZSgpOworICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKICAgICAgICAgYXV0byBzZXJ2aWNl
V29ya2VyRGF0YSA9IFNlcnZpY2VXb3JrZXJEYXRhIHsgd29ya2VySWRlbnRpZmllciwgc2NyaXB0
VVJMLCBTZXJ2aWNlV29ya2VyU3RhdGU6OkFjdGl2YXRlZCwgKndvcmtlclR5cGUsIHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgfTsKICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSB7IFdURk1vdmUoKmtleSksIHJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIFVSTChvcmlnaW5VUkwsIHNjb3BlUGF0aCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVwZGF0
ZUNoZWNrVGltZSwgV1RGOjpudWxsb3B0LCBXVEY6Om51bGxvcHQsIFdURk1vdmUoc2VydmljZVdv
cmtlckRhdGEpIH07CiAgICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEgeyBXVEY6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRl
bnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKGNvbnRlbnRTZWN1cml0eVBvbGljeSks
IFdURk1vdmUocmVmZXJyZXJQb2xpY3kpLCBXVEZNb3ZlKHNjcmlwdFVSTCksICp3b3JrZXJUeXBl
LCBtX3Nlc3Npb25JRCwgdHJ1ZSwgV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCkgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5k
ZXggMDQ0YmM4NDEzODgyNzlkZDUyYTY2MzRlNmIyYjEzMzU2NzRjNjZiZS4uZGYyYjhlZTI0NTM1
YTYyMjM5ODA4OTI3NjI4YWFmN2NlMDFmMWQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3Rh
dGljIFNlY29uZHMgdGVybWluYXRpb25EZWxheSB7IDEwX3MgfTsKIAogU1dTZXJ2ZXI6OkNvbm5l
Y3Rpb246OkNvbm5lY3Rpb24oU1dTZXJ2ZXImIHNlcnZlcikKICAgICA6IG1fc2VydmVyKHNlcnZl
cikKLSAgICAsIG1faWRlbnRpZmllcihnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U1dTZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllclR5cGU+KCkpCisgICAgLCBtX2lkZW50aWZpZXIoU1dTZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSkKIHsKIH0KIApAQCAtNTA1LDcgKzUwNSw3
IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24o
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgU2VyCiAKIHZvaWQgU1dTZXJ2ZXI6OnVwZGF0ZVdvcmtl
cihDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiBqb2JE
YXRhSWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU3RyaW5nJiBy
ZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB0eXBlLCBIYXNoTWFwPFVSTCwgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdD4mJiBzY3JpcHRSZXNvdXJjZU1hcCkKIHsKLSAg
ICB0cnlJbnN0YWxsQ29udGV4dERhdGEoeyBqb2JEYXRhSWRlbnRpZmllciwgcmVnaXN0cmF0aW9u
LmRhdGEoKSwgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
VHlwZT4oKSwgc2NyaXB0LCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHJlZmVycmVyUG9saWN5LCB1
cmwsIHR5cGUsIHNlc3Npb25JRCgpLCBmYWxzZSwgV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCkg
fSk7CisgICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsgam9iRGF0YUlkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbi5kYXRhKCksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpLCBzY3Jp
cHQsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgcmVmZXJyZXJQb2xpY3ksIHVybCwgdHlwZSwgc2Vz
c2lvbklEKCksIGZhbHNlLCBXVEZNb3ZlKHNjcmlwdFJlc291cmNlTWFwKSB9KTsKIH0KIAogdm9p
ZCBTV1NlcnZlcjo6dHJ5SW5zdGFsbENvbnRleHREYXRhKFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YSYmIGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDY1NjdjYTRmYmJiY2Q5
NDkzODhkNGQxZTRjMGQ0MWE5ODA5MTg3MzkuLjRkMWM1NTRmNDYwMmE5NTVlMmViMTM0MTNmNzIz
Y2QwYjUyM2JjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0zNyw3ICszNyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyIGdlbmVyYXRlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIo
KQogewotICAgIHJldHVybiBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXJUeXBlPigpOworICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAogU1dTZXJ2ZXJSZWdpc3RyYXRp
b246OlNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVw
ZGF0ZVZpYUNhY2hlLCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCAzZWEzMDlkMzA3
ZGVkNjNhN2M1YTQ4MzMxOTRhYzY2YzhjNzQ4ZWU4Li43MGNhZjJmOTJiMTRhYzYzMDJhNmFlNDJj
NDZkM2RiMWZjNzFlMDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24u
Y3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIFNXU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2ZXJUb0NvbnRleHRD
b25uZWN0aW9uSWRlbnRpZmllcigpCiB7Ci0gICAgcmV0dXJuIGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcjxTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyVHlwZT4oKTsKKyAgICBy
ZXR1cm4gU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsK
IH0KIAogc3RhdGljIEhhc2hNYXA8U2VjdXJpdHlPcmlnaW5EYXRhLCBTV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24qPiYgYWxsQ29ubmVjdGlvbnNCeU9yaWdpbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IGE0MjM2Y2I4NmNkMTg4ZTY1YTJkZWY4Mjhi
MDk2OTAyODFmZGVjYjcuLjE3NGIwNGMxZWEwYWMxM2QzZmE4N2FhOTMwMDJiYzU0MmQxNDViNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC0yNDUsNyAr
MjQ1LDcgQEAgc3RhdGljIEhhc2hNYXA8dWludHB0cl90LCBIYXNoTWFwPHVpbnQ2NF90LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4+PiYKICAgICAKIENvbm5lY3Rpb246OkNvbm5l
Y3Rpb24oSWRlbnRpZmllciBpZGVudGlmaWVyLCBib29sIGlzU2VydmVyLCBDbGllbnQmIGNsaWVu
dCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1fdW5pcXVlSUQoZ2VuZXJhdGVPYmpl
Y3RJZGVudGlmaWVyPFVuaXF1ZUlEVHlwZT4oKSkKKyAgICAsIG1fdW5pcXVlSUQoVW5pcXVlSUQ6
OmdlbmVyYXRlKCkpCiAgICAgLCBtX2lzU2VydmVyKGlzU2VydmVyKQogICAgICwgbV9zeW5jUmVx
dWVzdElEKDApCiAgICAgLCBtX29ubHlTZW5kTWVzc2FnZXNBc0Rpc3BhdGNoV2hlbldhaXRpbmdG
b3JTeW5jUmVwbHlXaGVuUHJvY2Vzc2luZ1N1Y2hBTWVzc2FnZShmYWxzZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCmluZGV4IGZhOWI0NTc2OWI4YWE5YjU2
MDcyNWJhYTFhY2UwM2FjZTY0ZTdiOGMuLjhiNzY2NDZmYTVlNTg2ZWM4NDI0N2U4NTQ5YWI1ZWE1
OGZkNDhlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NoaWxkUHJvY2Vz
c1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHku
aApAQCAtMTA1LDcgKzEwNSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPElQQzo6Q29ubmVjdGlv
bj4gbV9jb25uZWN0aW9uOwogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJl
Y2VpdmVyTWFwOwogICAgIGJvb2wgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkgeyBm
YWxzZSB9OwotICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIG1fcHJvY2Vzc0lkZW50aWZp
ZXIgeyBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXJU
eXBlPigpIH07CisgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgbV9wcm9jZXNzSWRlbnRp
ZmllciB7IFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyOjpnZW5lcmF0ZSgpIH07CiB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
VXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHku
Y3BwCmluZGV4IDc1MWFjZTUxYWE5NzZkYmViM2YxMzI1NmQ1MGY4Njc4MGRmNzMzNTMuLjk3MTFi
MjMzNzIxNTg3OTExNmMzZGQ4YjQ2NmVmNTU4NWFlOTg1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgV2ViVXNlckNvbnRlbnRD
b250cm9sbGVyUHJveHkqIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5OjpnZXQoVXNlckNv
bnRlbnRDb24KIH0KICAgICAKIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5OjpXZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eSgpCi0gICAgOiBtX2lkZW50aWZpZXIoZ2VuZXJhdGVPYmpl
Y3RJZGVudGlmaWVyPFVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXJUeXBlPigpKQorICAg
IDogbV9pZGVudGlmaWVyKFVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXI6OmdlbmVyYXRl
KCkpCiAgICAgLCBtX3VzZXJTY3JpcHRzKEFQSTo6QXJyYXk6OmNyZWF0ZSgpKQogICAgICwgbV91
c2VyU3R5bGVTaGVldHMoQVBJOjpBcnJheTo6Y3JlYXRlKCkpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcAppbmRleCA3YWUyNmIyZjNiODMyZGYz
MGFiZjVjZjJiMjRkMWJlNjIzMWE1NDA3Li5mMmQ1YTE2MmM0MDcyMTNjYTgyOTE2NGQ5NGVhMjY1
YjlkZDFjNWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
TGlzdC5jcHAKQEAgLTQzNCw3ICs0MzQsNyBAQCB2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdDo6cmVz
dG9yZUZyb21TdGF0ZShCYWNrRm9yd2FyZExpc3RTdGF0ZSBiYWNrRm9yd2FyZExpc3RTdAogICAg
IGl0ZW1zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYmFja0ZvcndhcmRMaXN0U3RhdGUuaXRlbXMu
c2l6ZSgpKTsKIAogICAgIGZvciAoYXV0byYgYmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlIDogYmFj
a0ZvcndhcmRMaXN0U3RhdGUuaXRlbXMpIHsKLSAgICAgICAgYmFja0ZvcndhcmRMaXN0SXRlbVN0
YXRlLmlkZW50aWZpZXIgPSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgZ2VuZXJhdGVPYmplY3RJ
ZGVudGlmaWVyPEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI6Okl0ZW1JZGVudGlmaWVyVHlwZT4o
KSB9OworICAgICAgICBiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUuaWRlbnRpZmllciA9IHsgUHJv
Y2Vzczo6aWRlbnRpZmllcigpLCBPYmplY3RJZGVudGlmaWVyPEJhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXI6Okl0ZW1JZGVudGlmaWVyVHlwZT46OmdlbmVyYXRlKCkgfTsKICAgICAgICAgaXRlbXMu
dW5jaGVja2VkQXBwZW5kKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW06OmNyZWF0ZShXVEZNb3ZlKGJh
Y2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSksIG1fcGFnZS0+cGFnZUlEKCkpKTsKICAgICB9CiAgICAg
bV9jdXJyZW50SW5kZXggPSBiYWNrRm9yd2FyZExpc3RTdGF0ZS5jdXJyZW50SW5kZXggPyBPcHRp
b25hbDxzaXplX3Q+KCpiYWNrRm9yd2FyZExpc3RTdGF0ZS5jdXJyZW50SW5kZXgpIDogV1RGOjpu
dWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4
IGQyZjZhNjdmNjJkYTFkOGU1MDg0MWVhOWVhNzY1MWJhMTNjMmFjNjcuLjY0NDAwZjVmZTRkYTkz
OTc3NTg0YTY1NTZlMWFmZmMxNDVkZGFjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTI1OCw3ICsyNTgsNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2Vi
UHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKICAgICAgICAgV1RGOjpzZXRQcm9j
ZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgICAgICBXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NUb1VzZUNvb2tpZUFQSSh0cnVlKTsKLSAgICAg
ICAgUHJvY2Vzczo6c2V0SWRlbnRpZmllcihnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8V2ViQ29y
ZTo6UHJvY2Vzc0lkZW50aWZpZXJUeXBlPigpKTsKKyAgICAgICAgUHJvY2Vzczo6c2V0SWRlbnRp
ZmllcihXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSk7CiAgICAgfSk7CiAK
ICAgICBpZiAobV9jb25maWd1cmF0aW9uLT5zaG91bGRIYXZlTGVnYWN5RGF0YVN0b3JlKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9N
ZWRpYVN0cmVhbS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDU2
MjNjYzAzMTQwYWI2NmE5ZjZjZjU1NjM5NzBiZTUyNzY1M2ZhZjAuLmMxNzllOGQ4ZDMyYjA1ZGVl
NGJlNzYwNDNhNDY3OGI5NTg5ODYyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9NZWRpYVN0cmVhbS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9NZWRpYVN0cmVhbS9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0yMzIsNyArMjMyLDcgQEAgdm9pZCBVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRl
bnNpb25zKGMKIAogVXNlck1lZGlhQ2xpZW50OjpEZXZpY2VDaGFuZ2VPYnNlcnZlclRva2VuIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6YWRkRGV2aWNlQ2hhbmdlT2JzZXJ2ZXIo
V1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgb2JzZXJ2ZXIpCiB7Ci0gICAgYXV0byBpZGVudGlmaWVy
ID0gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFdlYkNvcmU6OlVzZXJNZWRpYUNsaWVudDo6RGV2
aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlblR5cGU+KCk7CisgICAgYXV0byBpZGVudGlmaWVyID0gV2Vi
Q29yZTo6VXNlck1lZGlhQ2xpZW50OjpEZXZpY2VDaGFuZ2VPYnNlcnZlclRva2VuOjpnZW5lcmF0
ZSgpOwogICAgIG1fZGV2aWNlQ2hhbmdlT2JzZXJ2ZXJNYXAuYWRkKGlkZW50aWZpZXIsIFdURk1v
dmUob2JzZXJ2ZXIpKTsKIAogICAgIGlmICghbV9tb25pdG9yaW5nRGV2aWNlQ2hhbmdlKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360463</attachid>
            <date>2019-01-29 08:58:51 -0800</date>
            <delta_ts>2019-01-29 09:14:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193848-20190129085850.patch</filename>
            <type>text/plain</type>
            <size>29780</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3MjM1ODJhODI2OTg0ZGQ0Y2RhMTAw
ZmIwNTgxMTNlNDY0ZmI1ZDEuLjdmZGU3NjkwODU0MmUzMzQ4YTMzMDg0ODRhYTcxNmJkOGZkNDg2
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDEtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgV1RGOjpnZW5lcmF0ZU9iamVjdElkZW50
aWZpZXIoKSBpbnRlcm5hbCBjb3VudGVyIGRvZXMgbm90IGdldCBkdXBsaWNhdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgTW92ZSBXVEY6OmdlbmVyYXRl
T2JqZWN0SWRlbnRpZmllcigpJ3MgaW50ZXJuYWwgY291bnRlciBvdXQtb2YtbGluZSBzbyBtYWtl
IHN1cmUgaXQgbmV2ZXIgZ2V0cworICAgICAgICBkdXBsaWNhdGVkIGF0IGVhY2ggY2FsbCBzaXRl
LiBUaGlzIGhhcyBjYXVzZWQgc29tZSBoYXJkLXRvLWRlYnVnIGlzc3VlcyB3aXRoIGR1cGxpY2F0
ZQorICAgICAgICBpZGVudGlmaWVycyBzdWNoIGFzIEJ1ZyAxOTM3NjEuCisKKyAgICAgICAgQWxz
byBtb3ZlIGl0IHRvIE9iamVjdElkZW50aWZpZXIgYW5kIHJlbmFtZSBpdCB0byBnZW5lcmF0ZSgp
IGFzIHRoaXMgbWFrZSBjYWxsIHNpdGVzIG5pY2VyCisgICAgICAgIHdoZW4gdGhleSBoYXZlIGEg
dHlwZWRlZiBmb3IgdGhlIE9iamVjdElkZW50aWZpZXI8VD4gdHlwZS4KKworICAgICAgICAqIFdU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiB3dGYvT2JqZWN0SWRlbnRpZmllci5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Byb2Nlc3MuY3BwLgorICAgICAgICAoV1RGOjpPYmplY3RJZGVu
dGlmaWVyQmFzZTo6Z2VuZXJhdGVJZGVudGlmaWVySW50ZXJuYWwpOgorICAgICAgICAoV1RGOjpP
YmplY3RJZGVudGlmaWVyQmFzZTo6Z2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFs
KToKKyAgICAgICAgKiB3dGYvT2JqZWN0SWRlbnRpZmllci5oOgorICAgICAgICAoV1RGOjpPYmpl
Y3RJZGVudGlmaWVyOjpnZW5lcmF0ZSk6CisgICAgICAgIChXVEY6Ok9iamVjdElkZW50aWZpZXI6
OmdlbmVyYXRlVGhyZWFkU2FmZSk6CisKIDIwMTktMDEtMjggIFJvc3MgS2lyc2xpbmcgIDxyb3Nz
LmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIE1vdmUgcGxhdGZvcm0tc3BlY2lmaWMgZmls
ZXMgb3V0IG9mIFdURiByb290IGRpcmVjdG9yeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZTA2ZWRmOTcxOTVl
OGQ3ZmQ5ODQxZmY4NzZlMjIyM2ExZGViZmZhLi40ZDE0YTNjZjJiOTRlYTVkNzZlYTYwN2YyZGM2
MmY5N2I4MTVlOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDEtMjUgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgV1RGOjpn
ZW5lcmF0ZU9iamVjdElkZW50aWZpZXIoKSBpbnRlcm5hbCBjb3VudGVyIGRvZXMgbm90IGdldCBk
dXBsaWNhdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTM4NDgKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZXNzYWdlQ2hhbm5lbDo6TWVzc2FnZUNoYW5uZWwpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNvbnRleHRJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAg
KiBoaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVt
OjpIaXN0b3J5SXRlbSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZWdpc3RlclRlbXBvcmFyeVNlcnZpY2VX
b3JrZXJDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6RE9NV2luZG93KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Qcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2Nlc3M6OmlkZW50aWZpZXIpOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySm9iRGF0YTo6U2VydmljZVdvcmtlckpvYkRhdGEpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMpOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OkNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U1dTZXJ2ZXI6OnVwZGF0ZVdvcmtlcik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZW5lcmF0
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZW5lcmF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyKToK
KwogCiAyMDE5LTAxLTI5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNDMwMDc5NWQ3Mzc3NzQ2OGJlMGFhMmM0MmQ1OWU0NDUyNjBiY2M0
OC4uMWNiOTZlOWY3NDA3YzRhOGU5YzQ4Mzg0YTQ3MzFjYzY2ZTZhMGU2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIE1ha2Ugc3VyZSBXVEY6OmdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcigpIGlu
dGVybmFsIGNvdW50ZXIgZG9lcyBub3QgZ2V0IGR1cGxpY2F0ZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Q29ubmVjdGlvbik6CisgICAgICAgICogVUlQ
cm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJDb250
ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk6OldlYlVzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0OjpyZXN0b3JlRnJvbVN0YXRlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjphZGREZXZpY2VD
aGFuZ2VPYnNlcnZlcik6CisKIDIwMTktMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVXNlciBhZ2VudCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRv
ci51c2VyQWdlbnQgc2hvdWxkIGJlIHNpdGUgc3BlY2lmaWMgcXVpcmtzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMjdjYTUwOWQ3MjdkMDkyYWNkZmFjMmFi
ZTcxN2RhZjFhMzBkZWJlLi41YWQ1MTRkYTllOTY0ZWRlZmYzZWM4YWE1NDM0NTE2NmZkMzMwNGY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgzLDYgKzgz
LDcgQEAKIAkJN0FGMDIzQjUyMDYxRTE3MDAwQThFRkQ2IC8qIFByb2Nlc3NQcml2aWxlZ2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGMDIzQjQy
MDYxRTE2RjAwQThFRkQ2IC8qIFByb2Nlc3NQcml2aWxlZ2UuY3BwICovOyB9OwogCQk3QUZFQzZC
MTFFQjIyQjU5MDBEQURFMzYgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUZFQzZCMDFFQjIyQjU5MDBEQURFMzYgLyogVVVJRC5jcHAg
Ki87IH07CiAJCTgxMzQwMTM4MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODEzNDAxMzYxNUIwOTJGRDAw
MUZGMEI4IC8qIEJhc2U2NC5jcHAgKi87IH07CisJCTgzNDhCQTBFMjFGQkMwRDUwMEZEMzA1NCAv
KiBPYmplY3RJZGVudGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNDhCQTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVy
LmNwcCAqLzsgfTsKIAkJOTM5MzRCRDMxOEExRThDMzAwRDBENkExIC8qIFN0cmluZ1ZpZXdDb2Nv
YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTM0
QkQyMThBMUU4QzMwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q29jb2EubW0gKi87IH07CiAJCTkzOTM0
QkQ1MThBMUYxNjkwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MzRCRDQxOEExRjE2OTAwRDBENkExIC8q
IFN0cmluZ1ZpZXdDRi5jcHAgKi87IH07CiAJCTkzRjE5OTNFMTlENzk1OEQwMEMyMzkwQiAvKiBT
dHJpbmdWaWV3LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzRjE5OTNEMTlENzk1OEQwMEMyMzkwQiAvKiBTdHJpbmdWaWV3LmNwcCAqLzsgfTsKQEAg
LTQxNCw2ICs0MTUsNyBAQAogCQk3RTI5QzMzRDE1RkZENzlCMDA1MTZENjEgLyogT2JqQ1J1bnRp
bWVFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqQ1J1bnRpbWVF
eHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODEzNDAxMzYxNUIwOTJGRDAw
MUZGMEI4IC8qIEJhc2U2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBCYXNlNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MTM0MDEzNzE1QjA5
MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEJhc2U2NC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzQ4QkEwRDIxRkJDMEQ0
MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBPYmplY3RJZGVudGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODNBOEFDM0QxRkFCQkU5NDAwMjA2NEFDIC8qIE9iamVjdElkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqZWN0SWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0FCQjNDMDIwQjM4MjMyMDBCQTMzMDYgLyogV2Vh
a09iakNQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha09iakNQdHIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNGMkJBREUxQ0Y5NTI0RTAwM0U5OUMz
IC8qIEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZ1bmN0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDMzLDYgKzEwMzUsNyBAQAogCQkJ
CUE4QTQ3MkQ1MTUxQTgyNUIwMDQxMjNGRiAvKiBOdW1iZXJPZkNvcmVzLmNwcCAqLywKIAkJCQlB
OEE0NzJENjE1MUE4MjVCMDA0MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5oICovLAogCQkJCTdFMjlD
MzNEMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpDUnVudGltZUV4dHJhcy5oICovLAorCQkJCTgzNDhC
QTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVyLmNwcCAqLywKIAkJCQk4M0E4
QUMzRDFGQUJCRTk0MDAyMDY0QUMgLyogT2JqZWN0SWRlbnRpZmllci5oICovLAogCQkJCTFBRkRF
NjUyMTk1M0IyM0QwMEM0OEZGQSAvKiBPcHRpb25hbC5oICovLAogCQkJCTFBNDY1NjE4MUM3RkM2
OEUwMEY1OTIwRiAvKiBPcHRpb25TZXQuaCAqLywKQEAgLTE1NDgsNiArMTU1MSw3IEBACiAJCQkJ
MEY2NkIyOEMxREM5N0JBQjAwNEExRDNGIC8qIE1vbm90b25pY1RpbWUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNUNDMEVFOEEyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDczRjQxNTFBODI1QjAwNDEyM0ZGIC8qIE51bWJlck9mQ29yZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM0OEJBMEUyMUZCQzBENTAwRkQzMDU0IC8qIE9iamVj
dElkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0EyMUZGQUM1RjAwRkFC
RDYxIC8qIE9TQWxsb2NhdG9yUE9TSVguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjkx
NTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3NDAyMTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlQmxvY2suY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYv
d3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDE3ODM4M2RmZjQ5MWI0YjFiYjFhMmQ2OTAwMGQyZjZh
NDMwZTBiNTIuLjFjNmQ3MzAwNTgxMjI4YjU1ZGJkNGUzNDQ2OWViZWZjNDM5NzdmYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CkBAIC0zNzUsNiArMzc1LDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAg
TW9ub3RvbmljVGltZS5jcHAKICAgICBOdW1iZXJPZkNvcmVzLmNwcAogICAgIE9TUmFuZG9tU291
cmNlLmNwcAorICAgIE9iamVjdElkZW50aWZpZXIuY3BwCiAgICAgUGFnZUJsb2NrLmNwcAogICAg
IFBhcmFsbGVsSGVscGVyUG9vbC5jcHAKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi9PYmplY3RJZGVudGlmaWVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTQwZDQ4YTJmZjc5OGE2ZDhl
OWYyZGQ5MmFhNjAxMTEyM2M2ZjJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYv
T2JqZWN0SWRlbnRpZmllci5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RJZGVudGlmaWVyLmgiCisKKworbmFtZXNw
YWNlIFdURiB7CisKK3VpbnQ2NF90IE9iamVjdElkZW50aWZpZXJCYXNlOjpnZW5lcmF0ZUlkZW50
aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGN1cnJlbnQ7CisgICAgcmV0
dXJuICsrY3VycmVudDsKK30KKwordWludDY0X3QgT2JqZWN0SWRlbnRpZmllckJhc2U6OmdlbmVy
YXRlVGhyZWFkU2FmZUlkZW50aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3RhdGljIExhenlOZXZl
ckRlc3Ryb3llZDxzdGQ6OmF0b21pYzx1aW50NjRfdD4+IGN1cnJlbnQ7CisgICAgc3RhdGljIHN0
ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKKyAgICBzdGQ6OmNhbGxf
b25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKKyAgICAgICAgY3VycmVudC5j
b25zdHJ1Y3QoMCk7CisgICAgfSk7CisgICAgcmV0dXJuICsrY3VycmVudC5nZXQoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVu
dGlmaWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgKaW5kZXggNjYxNTI2
OTk3OTM0MDgyOGExYzBlYjdjYzRhMDA3MTNmMTljYmZlNy4uNDA4OTdiNTlkMDdhM2MwNTUwYWUy
MzIzYzFjMTliYjI5NTMzOWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRl
bnRpZmllci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw4ICsz
MywyNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
T2JqZWN0SWRlbnRpZmllciB7CitjbGFzcyBPYmplY3RJZGVudGlmaWVyQmFzZSB7Citwcm90ZWN0
ZWQ6CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUlkZW50
aWZpZXJJbnRlcm5hbCgpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDY0X3Qg
Z2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCk7Cit9OworCit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBPYmplY3RJZGVudGlmaWVyIDogcHJpdmF0ZSBPYmplY3RJZGVudGlm
aWVyQmFzZSB7CiBwdWJsaWM6CisgICAgc3RhdGljIE9iamVjdElkZW50aWZpZXIgZ2VuZXJhdGUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9iamVjdElkZW50aWZpZXIgeyBnZW5lcmF0ZUlkZW50
aWZpZXJJbnRlcm5hbCgpIH07CisgICAgfQorCisgICAgc3RhdGljIE9iamVjdElkZW50aWZpZXIg
Z2VuZXJhdGVUaHJlYWRTYWZlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBPYmplY3RJZGVudGlm
aWVyIHsgZ2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCkgfTsKKyAgICB9CisK
ICAgICBPYmplY3RJZGVudGlmaWVyKCkgPSBkZWZhdWx0OwogCiAgICAgT2JqZWN0SWRlbnRpZmll
cihIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKSA6IG1faWRlbnRpZmllcihoYXNoVGFibGVEZWxl
dGVkVmFsdWUoKSkgeyB9CkBAIC03NCw4ICs5MCw2IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIE9iamVjdElkZW50aWZpZXI8VT4g
Z2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJp
ZW5kIE9iamVjdElkZW50aWZpZXI8VT4gZ2VuZXJhdGVUaHJlYWRTYWZlT2JqZWN0SWRlbnRpZmll
cigpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZyaWVuZCBPYmplY3RJZGVudGlmaWVyPFU+
IG1ha2VPYmplY3RJZGVudGlmaWVyKHVpbnQ2NF90KTsKICAgICBmcmllbmQgc3RydWN0IEhhc2hU
cmFpdHM8T2JqZWN0SWRlbnRpZmllcj47CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5k
IHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaDsKQEAgLTkxLDIyICsxMDUsNiBAQCBwcml2YXRl
OgogICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKIH07CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSBPYmplY3RJZGVudGlmaWVyPFQ+IGdlbmVyYXRlT2JqZWN0SWRlbnRpZmll
cigpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGN1cnJlbnRJZGVudGlmaWVyOwotICAgIHJldHVy
biBPYmplY3RJZGVudGlmaWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllciB9OwotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBnZW5lcmF0ZVRocmVh
ZFNhZmVPYmplY3RJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVk
PHN0ZDo6YXRvbWljPHVpbnQ2NF90Pj4gY3VycmVudElkZW50aWZpZXI7Ci0gICAgc3RhdGljIHN0
ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKLSAgICBzdGQ6OmNhbGxf
b25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKLSAgICAgICAgY3VycmVudElk
ZW50aWZpZXIuY29uc3RydWN0KDApOwotICAgIH0pOwotICAgIHJldHVybiBPYmplY3RJZGVudGlm
aWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllci5nZXQoKSB9OwotfQotCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBtYWtlT2JqZWN0SWRlbnRpZmllcih1
aW50NjRfdCBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBPYmplY3RJZGVudGlmaWVyPFQ+IHsg
aWRlbnRpZmllciB9OwpAQCAtMTI3LDYgKzEyNSw0IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBEZWZhdWx0SGFzaDxPYmplY3RJZGVudGlmaWVyPFQ+PiB7CiB9IC8vIG5hbWVzcGFjZSBX
VEYKIAogdXNpbmcgV1RGOjpPYmplY3RJZGVudGlmaWVyOwotdXNpbmcgV1RGOjpnZW5lcmF0ZU9i
amVjdElkZW50aWZpZXI7Ci11c2luZyBXVEY6OmdlbmVyYXRlVGhyZWFkU2FmZU9iamVjdElkZW50
aWZpZXI7CiB1c2luZyBXVEY6Om1ha2VPYmplY3RJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggMDMyNTQxMjEwMTRlNWNkYzU1YTNmMWRhZTI1ZGYzMjliZTc1YjEzYi4uNTBi
Y2NlZmNkZTQ3MTk3N2NlOWJmNDMxZTMxMDEwNGE4MDliOWUyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC01MzMsNyArNTMzLDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFt
ZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5zaWcKICAgICAs
IG1faXNTeW50aGVzaXplZChjb25zdHJ1Y3Rpb25GbGFncyAmIFN5bnRoZXNpemVkKQogICAgICwg
bV9pc05vblJlbmRlcmVkUGxhY2Vob2xkZXIoY29uc3RydWN0aW9uRmxhZ3MgJiBOb25SZW5kZXJl
ZFBsYWNlaG9sZGVyKQogICAgICwgbV9vcmllbnRhdGlvbk5vdGlmaWVyKGN1cnJlbnRPcmllbnRh
dGlvbihmcmFtZSkpCi0gICAgLCBtX2lkZW50aWZpZXIoZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVy
PERvY3VtZW50SWRlbnRpZmllclR5cGU+KCkpCisgICAgLCBtX2lkZW50aWZpZXIoRG9jdW1lbnRJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogICAgICwgbV91bmRvTWFuYWdlcihVbmRvTWFuYWdlcjo6
Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbERvY3VtZW50c01hcCgp
LmFkZChtX2lkZW50aWZpZXIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5j
cHAKaW5kZXggNzI5MzJkODUyYmNkMjhlZTU4NTQ4NzA4MDAzODNlMjYyZWZkMGIyNC4uOGRjZmUx
ZjdiYTIxOTViY2QyOTBjMWRhNzlkNjM1ZDIxNjk4MDljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVz
c2FnZUNoYW5uZWwuY3BwCkBAIC0zOSw4ICszOSw4IEBAIFJlZjxNZXNzYWdlQ2hhbm5lbD4gTWVz
c2FnZUNoYW5uZWw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogCiBN
ZXNzYWdlQ2hhbm5lbDo6TWVzc2FnZUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkKIHsKLSAgICBNZXNzYWdlUG9ydElkZW50aWZpZXIgaWQxID0geyBQcm9jZXNzOjppZGVu
dGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9ydElkZW50aWZpZXI6
OlBvcnRJZGVudGlmaWVyVHlwZT4oKSB9OwotICAgIE1lc3NhZ2VQb3J0SWRlbnRpZmllciBpZDIg
PSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPE1lc3Nh
Z2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBlPigpIH07CisgICAgTWVzc2FnZVBv
cnRJZGVudGlmaWVyIGlkMSA9IHsgUHJvY2Vzczo6aWRlbnRpZmllcigpLCBPYmplY3RJZGVudGlm
aWVyPE1lc3NhZ2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBlPjo6Z2VuZXJhdGUo
KSB9OworICAgIE1lc3NhZ2VQb3J0SWRlbnRpZmllciBpZDIgPSB7IFByb2Nlc3M6OmlkZW50aWZp
ZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9ydElkZW50aWZpZXI6OlBvcnRJZGVudGlm
aWVyVHlwZT46OmdlbmVyYXRlKCkgfTsKIAogICAgIG1fcG9ydDEgPSBNZXNzYWdlUG9ydDo6Y3Jl
YXRlKGNvbnRleHQsIGlkMSwgaWQyKTsKICAgICBtX3BvcnQyID0gTWVzc2FnZVBvcnQ6OmNyZWF0
ZShjb250ZXh0LCBpZDIsIGlkMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAKaW5kZXggM2NmZWIwNTc5NDI2ZTI3NWZhNTIzMzQ5ODhhNDA5NmRiYzc3
NmNjZC4uZTg1OTg1MjIzZjc4ZTMxYjRhMmI3ZmIwOGM2YjEwZDgxY2ZkMjcwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtMTA1LDcgKzEw
NSw3IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OmNvbnRleHRJZGVudGlmaWVyKCkgY29uCiAgICAgaWYgKCFtX2NvbnRleHRJZGVudGlm
aWVyKSB7CiAgICAgICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dHNNYXBMb2NrKTsKIAotICAgICAgICBtX2NvbnRleHRJZGVudGlmaWVyID0gZ2VuZXJhdGVP
YmplY3RJZGVudGlmaWVyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVHlwZT4oKTsK
KyAgICAgICAgbV9jb250ZXh0SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyOjpnZW5lcmF0ZSgpOwogCiAgICAgICAgIEFTU0VSVCghYWxsU2NyaXB0RXhlY3V0aW9u
Q29udGV4dHNNYXAoKS5jb250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CiAgICAgICAgIGFs
bFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzTWFwKCkuYWRkKG1fY29udGV4dElkZW50aWZpZXIsIGNv
bnN0X2Nhc3Q8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCo+KHRoaXMpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggNDRkNDljNzZmOTMwZjJmNmQ4YWM4NDZhOTA1MTll
YmQ4ZTVhZjdmNS4uM2MwNTllNjg1YjgzZmQ3MDg5MGEzYWU2NWZiYTgwZDYyNzBlNjE1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgSGlz
dG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJp
bmcmIHRpdGxlKQogfQogCiBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5nJiB1
cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYWx0ZXJuYXRlVGl0
bGUpCi0gICAgOiBIaXN0b3J5SXRlbSh1cmxTdHJpbmcsIHRpdGxlLCBhbHRlcm5hdGVUaXRsZSwg
eyBQcm9jZXNzOjppZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9y
d2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+KCkgfSkKKyAgICA6IEhpc3Rv
cnlJdGVtKHVybFN0cmluZywgdGl0bGUsIGFsdGVybmF0ZVRpdGxlLCB7IFByb2Nlc3M6OmlkZW50
aWZpZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVt
SWRlbnRpZmllclR5cGU+OjpnZW5lcmF0ZSgpIH0pCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDQ3NTRiZWFiN2FhOTVhNmYxZTNmOTI1MzIyYjkx
ZTlmMTY5YzU2ZjYuLjZhYzIxMzFjZGFkODk2N2E0MTBhMTM2ZDJjOGIyZTEwZTJkNjM2ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTc3OSw3ICsxNzc5
LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVnaXN0ZXJUZW1wb3JhcnlTZXJ2aWNlV29ya2Vy
Q2xpZW50KGNvbnN0IFVSTCYgdXJsKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RlbXBvcmFy
eVNlcnZpY2VXb3JrZXJDbGllbnQgPSBUZW1wb3JhcnlTZXJ2aWNlV29ya2VyQ2xpZW50IHsKLSAg
ICAgICAgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPERvY3VtZW50SWRlbnRpZmllclR5cGU+KCks
CisgICAgICAgIERvY3VtZW50SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwKICAgICAgICAgKlNlcnZp
Y2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNzaW9uSUQoKSkKICAgICB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggNThlMGIwODUxYTNiMzk5MDBhMzcyN2QzYTZj
NTY0OTE4OTg4ZGYyMC4uMDk3OTMzNmQwYTU4ZTA4YWRhYzFmOGI4MzIzMDEwNGMwZjc0NTRhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDA0LDcgKzQwNCw3IEBAIHZvaWQgRE9N
V2luZG93OjpzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sIGFsbG93KQogfQogCiBE
T01XaW5kb3c6OkRPTVdpbmRvdyhEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBBYnN0cmFjdERP
TVdpbmRvdyhHbG9iYWxXaW5kb3dJZGVudGlmaWVyIHsgUHJvY2Vzczo6aWRlbnRpZmllcigpLCBn
ZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8V2luZG93SWRlbnRpZmllclR5cGU+KCkgfSkKKyAgICA6
IEFic3RyYWN0RE9NV2luZG93KEdsb2JhbFdpbmRvd0lkZW50aWZpZXIgeyBQcm9jZXNzOjppZGVu
dGlmaWVyKCksIFdpbmRvd0lkZW50aWZpZXI6OmdlbmVyYXRlKCkgfSkKICAgICAsIENvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzSWRlbnRpZmllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzSWRlbnRpZmllci5jcHAKaW5kZXggOTRk
YzVlYTNiNjM1ZmQ4M2ZhZTBkMjMwY2MxYmZmNWI4YzQxN2UwMC4uZTlkZDY4ZGYyZmI0ZWQ2MTdj
M2JhZWVmZjM4OWJiN2Q5ODY3ODE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUHJvY2Vzc0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1By
b2Nlc3NJZGVudGlmaWVyLmNwcApAQCAtNDQsNyArNDQsNyBAQCBQcm9jZXNzSWRlbnRpZmllciBp
ZGVudGlmaWVyKCkKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3Rk
OjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKICAgICAgICAgaWYgKCFnbG9iYWxJZGVudGlmaWVy
KQotICAgICAgICAgICAgZ2xvYmFsSWRlbnRpZmllciA9IGdlbmVyYXRlT2JqZWN0SWRlbnRpZmll
cjxQcm9jZXNzSWRlbnRpZmllclR5cGU+KCk7CisgICAgICAgICAgICBnbG9iYWxJZGVudGlmaWVy
ID0gUHJvY2Vzc0lkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgfSk7CiAKICAgICByZXR1cm4g
Kmdsb2JhbElkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmNwcAppbmRleCAyOWM4MGUxNzc2MmE2NmEzZjhi
YjBhNjIyNjM3NmJiNGM5NjFhNGJmLi40N2E3OWYwYTNmNzY2ZGQ1ZTU0ODIxYTliMmVkMjMyNTVk
NmNmNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckpvYkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VySm9iRGF0YS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgU2VydmljZVdvcmtlckpv
YkRhdGE6OlNlcnZpY2VXb3JrZXJKb2JEYXRhKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIp
CiB9CiAKIFNlcnZpY2VXb3JrZXJKb2JEYXRhOjpTZXJ2aWNlV29ya2VySm9iRGF0YShTV1NlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBEb2N1bWVu
dE9yV29ya2VySWRlbnRpZmllciYgbG9jYWxTb3VyY2VDb250ZXh0KQotICAgIDogbV9pZGVudGlm
aWVyIHsgY29ubmVjdGlvbklkZW50aWZpZXIsIGdlbmVyYXRlVGhyZWFkU2FmZU9iamVjdElkZW50
aWZpZXI8U2VydmljZVdvcmtlckpvYklkZW50aWZpZXJUeXBlPigpIH0KKyAgICA6IG1faWRlbnRp
ZmllciB7IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmllcjo6
Z2VuZXJhdGVUaHJlYWRTYWZlKCkgfQogewogICAgIFdURjo6c3dpdGNoT24obG9jYWxTb3VyY2VD
b250ZXh0LCBbJl0oRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikgewogICAg
ICAgICBzb3VyY2VDb250ZXh0ID0gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBjb25u
ZWN0aW9uSWRlbnRpZmllciwgZG9jdW1lbnRJZGVudGlmaWVyIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0
YWJhc2UuY3BwCmluZGV4IDU2ZGQ5YmM4ZTMzMDUzODhiYmY1NzdmNTZhZTY1MjYxZDI0YWUzNzku
LmI2MjlmNDMyNmY5NzIyYjE2NzM2NmJiYTY0ODg3MGExZDZmODVlNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uRGF0YWJhc2UuY3BwCkBAIC00MDAsOCArNDAwLDggQEAgU3RyaW5nIFJlZ2lzdHJhdGlvbkRh
dGFiYXNlOjppbXBvcnRSZWNvcmRzKCkKICAgICAgICAgaWYgKCFrZXkgfHwgIW9yaWdpblVSTC5p
c1ZhbGlkKCkgfHwgIXRvcE9yaWdpbiB8fCAhdXBkYXRlVmlhQ2FjaGUgfHwgIXNjcmlwdFVSTC5p
c1ZhbGlkKCkgfHwgIXdvcmtlclR5cGUpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICBhdXRvIHdvcmtlcklkZW50aWZpZXIgPSBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXJUeXBlPigpOwotICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgPSBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXJUeXBlPigpOworICAgICAgICBhdXRvIHdvcmtlcklkZW50aWZpZXIgPSBTZXJ2
aWNlV29ya2VySWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgYXV0byByZWdpc3RyYXRp
b25JZGVudGlmaWVyID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI6OmdlbmVy
YXRlKCk7CiAgICAgICAgIGF1dG8gc2VydmljZVdvcmtlckRhdGEgPSBTZXJ2aWNlV29ya2VyRGF0
YSB7IHdvcmtlcklkZW50aWZpZXIsIHNjcmlwdFVSTCwgU2VydmljZVdvcmtlclN0YXRlOjpBY3Rp
dmF0ZWQsICp3b3JrZXJUeXBlLCByZWdpc3RyYXRpb25JZGVudGlmaWVyIH07CiAgICAgICAgIGF1
dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgeyBXVEZNb3Zl
KCprZXkpLCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBVUkwob3JpZ2luVVJMLCBzY29wZVBhdGgp
LCAqdXBkYXRlVmlhQ2FjaGUsIGxhc3RVcGRhdGVDaGVja1RpbWUsIFdURjo6bnVsbG9wdCwgV1RG
OjpudWxsb3B0LCBXVEZNb3ZlKHNlcnZpY2VXb3JrZXJEYXRhKSB9OwogICAgICAgICBhdXRvIGNv
bnRleHREYXRhID0gU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgV1RGOjpudWxsb3B0LCBXVEZN
b3ZlKHJlZ2lzdHJhdGlvbiksIHdvcmtlcklkZW50aWZpZXIsIFdURk1vdmUoc2NyaXB0KSwgV1RG
TW92ZShjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKHJlZmVycmVyUG9saWN5KSwgV1RG
TW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgbV9zZXNzaW9uSUQsIHRydWUsIFdURk1vdmUo
c2NyaXB0UmVzb3VyY2VNYXApIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IDA0NGJjODQxMzg4Mjc5ZGQ1MmE2NjM0ZTZi
MmIxMzM1Njc0YzY2YmUuLmRmMmI4ZWUyNDUzNWE2MjIzOTgwODkyNzYyOGFhZjdjZTAxZjFkODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBTZWNvbmRzIHRlcm1pbmF0aW9uRGVsYXkg
eyAxMF9zIH07CiAKIFNXU2VydmVyOjpDb25uZWN0aW9uOjpDb25uZWN0aW9uKFNXU2VydmVyJiBz
ZXJ2ZXIpCiAgICAgOiBtX3NlcnZlcihzZXJ2ZXIpCi0gICAgLCBtX2lkZW50aWZpZXIoZ2VuZXJh
dGVPYmplY3RJZGVudGlmaWVyPFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXJUeXBlPigpKQor
ICAgICwgbV9pZGVudGlmaWVyKFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI6OmdlbmVyYXRl
KCkpCiB7CiB9CiAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVDbGll
bnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcgog
CiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VX
b3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50aWZpZXIsIFNXU2VydmVyUmVnaXN0
cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHNjcmlw
dCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3ksIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUgdHlw
ZSwgSGFzaE1hcDxVUkwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3JpcHQ+
JiYgc2NyaXB0UmVzb3VyY2VNYXApCiB7Ci0gICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsgam9i
RGF0YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcjxTZXJ2aWNlV29ya2VySWRlbnRpZmllclR5cGU+KCksIHNjcmlwdCwgY29udGVudFNlY3Vy
aXR5UG9saWN5LCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBzZXNzaW9uSUQoKSwgZmFsc2Us
IFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApIH0pOworICAgIHRyeUluc3RhbGxDb250ZXh0RGF0
YSh7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpLCBTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgc2NyaXB0LCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHJl
ZmVycmVyUG9saWN5LCB1cmwsIHR5cGUsIHNlc3Npb25JRCgpLCBmYWxzZSwgV1RGTW92ZShzY3Jp
cHRSZXNvdXJjZU1hcCkgfSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXI6OnRyeUluc3RhbGxDb250ZXh0
RGF0YShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0
aW9uLmNwcAppbmRleCA2NTY3Y2E0ZmJiYmNkOTQ5Mzg4ZDRkMWU0YzBkNDFhOTgwOTE4NzM5Li40
ZDFjNTU0ZjQ2MDJhOTU1ZTJlYjEzNDEzZjcyM2NkMGI1MjNiY2Y1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
YXRpYyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBnZW5lcmF0ZVNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKCkKIHsKLSAgICByZXR1cm4gZ2VuZXJhdGVPYmpl
Y3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlwZT4oKTsK
KyAgICByZXR1cm4gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI6OmdlbmVyYXRl
KCk7CiB9CiAKIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1Nl
cnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNl
cnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBzY29w
ZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29u
bmVjdGlvbi5jcHAKaW5kZXggM2VhMzA5ZDMwN2RlZDYzYTdjNWE0ODMzMTk0YWM2NmM4Yzc0OGVl
OC4uNzBjYWYyZjkyYjE0YWM2MzAyYTZhZTQyYzQ2ZDNkYjFmYzcxZTA1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlm
aWVyIGdlbmVyYXRlU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIoKQogewotICAg
IHJldHVybiBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uSWRlbnRpZmllclR5cGU+KCk7CisgICAgcmV0dXJuIFNXU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbklkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9CiAKIHN0YXRpYyBIYXNoTWFwPFNlY3VyaXR5
T3JpZ2luRGF0YSwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKj4mIGFsbENvbm5lY3Rpb25z
QnlPcmlnaW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAppbmRl
eCBhNDIzNmNiODZjZDE4OGU2NWEyZGVmODI4YjA5NjkwMjgxZmRlY2I3Li4xNzRiMDRjMWVhMGFj
MTNkM2ZhODdhYTkzMDAyYmM1NDJkMTQ1YjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHN0YXRpYyBIYXNoTWFwPHVpbnRw
dHJfdCwgSGFzaE1hcDx1aW50NjRfdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChEZWNvZGVyKik+
Pj4mCiAgICAgCiBDb25uZWN0aW9uOjpDb25uZWN0aW9uKElkZW50aWZpZXIgaWRlbnRpZmllciwg
Ym9vbCBpc1NlcnZlciwgQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCi0g
ICAgLCBtX3VuaXF1ZUlEKGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxVbmlxdWVJRFR5cGU+KCkp
CisgICAgLCBtX3VuaXF1ZUlEKFVuaXF1ZUlEOjpnZW5lcmF0ZSgpKQogICAgICwgbV9pc1NlcnZl
cihpc1NlcnZlcikKICAgICAsIG1fc3luY1JlcXVlc3RJRCgwKQogICAgICwgbV9vbmx5U2VuZE1l
c3NhZ2VzQXNEaXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5V2hlblByb2Nlc3NpbmdTdWNo
QU1lc3NhZ2UoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJv
eHkuaAppbmRleCAxYmQwYjliYmYyYWE4MGYyZmZmZmRhMjNlZmVkYzNlZWE1NzA5MzMyLi44M2Y4
MDQ4NDQ3OTZhMDc1Y2I5NzRkM2Y5NDBkNGFkMDc2YTI3OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBJUEM6Ok1l
c3NhZ2VSZWNlaXZlck1hcCBtX21lc3NhZ2VSZWNlaXZlck1hcDsKICAgICBib29sIG1fYWx3YXlz
UnVuc0F0QmFja2dyb3VuZFByaW9yaXR5IHsgZmFsc2UgfTsKLSAgICBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciBtX3Byb2Nlc3NJZGVudGlmaWVyIHsgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVy
PFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyVHlwZT4oKSB9OworICAgIFdlYkNvcmU6OlByb2Nl
c3NJZGVudGlmaWVyIG1fcHJvY2Vzc0lkZW50aWZpZXIgeyBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKSB9OwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dl
YlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcAppbmRleCA3NTFhY2U1MWFhOTc2ZGJlYjNm
MTMyNTZkNTBmODY3ODBkZjczMzUzLi45NzExYjIzMzcyMTU4NzkxMTZjM2RkOGI0NjZlZjU1ODVh
ZTk4NTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9X
ZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwCkBAIC02
Miw3ICs2Miw3IEBAIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5KiBXZWJVc2VyQ29udGVu
dENvbnRyb2xsZXJQcm94eTo6Z2V0KFVzZXJDb250ZW50Q29uCiB9CiAgICAgCiBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJQcm94eTo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkoKQotICAg
IDogbV9pZGVudGlmaWVyKGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxVc2VyQ29udGVudENvbnRy
b2xsZXJJZGVudGlmaWVyVHlwZT4oKSkKKyAgICA6IG1faWRlbnRpZmllcihVc2VyQ29udGVudENv
bnRyb2xsZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogICAgICwgbV91c2VyU2NyaXB0cyhBUEk6
OkFycmF5OjpjcmVhdGUoKSkKICAgICAsIG1fdXNlclN0eWxlU2hlZXRzKEFQSTo6QXJyYXk6OmNy
ZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0Zv
cndhcmRMaXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlz
dC5jcHAKaW5kZXggN2FlMjZiMmYzYjgzMmRmMzBhYmY1Y2YyYjI0ZDFiZTYyMzFhNTQwNy4uZjJk
NWExNjJjNDA3MjEzY2E4MjkxNjRkOTRlYTI2NWI5ZGQxYzVjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCkBAIC00MzQsNyArNDM0LDcgQEAg
dm9pZCBXZWJCYWNrRm9yd2FyZExpc3Q6OnJlc3RvcmVGcm9tU3RhdGUoQmFja0ZvcndhcmRMaXN0
U3RhdGUgYmFja0ZvcndhcmRMaXN0U3QKICAgICBpdGVtcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KGJhY2tGb3J3YXJkTGlzdFN0YXRlLml0ZW1zLnNpemUoKSk7CiAKICAgICBmb3IgKGF1dG8mIGJh
Y2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSA6IGJhY2tGb3J3YXJkTGlzdFN0YXRlLml0ZW1zKSB7Ci0g
ICAgICAgIGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZS5pZGVudGlmaWVyID0geyBQcm9jZXNzOjpp
ZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+KCkgfTsKKyAgICAgICAgYmFja0ZvcndhcmRMaXN0
SXRlbVN0YXRlLmlkZW50aWZpZXIgPSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgT2JqZWN0SWRl
bnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+Ojpn
ZW5lcmF0ZSgpIH07CiAgICAgICAgIGl0ZW1zLnVuY2hlY2tlZEFwcGVuZChXZWJCYWNrRm9yd2Fy
ZExpc3RJdGVtOjpjcmVhdGUoV1RGTW92ZShiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUpLCBtX3Bh
Z2UtPnBhZ2VJRCgpKSk7CiAgICAgfQogICAgIG1fY3VycmVudEluZGV4ID0gYmFja0ZvcndhcmRM
aXN0U3RhdGUuY3VycmVudEluZGV4ID8gT3B0aW9uYWw8c2l6ZV90PigqYmFja0ZvcndhcmRMaXN0
U3RhdGUuY3VycmVudEluZGV4KSA6IFdURjo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA3Zjc4YzZlYWRiYmRmNWJmMTYzYWQ0ZmJjYjQ2
OTEzNzA1MWQ1ZTdmLi5iNjgxZDg2NWRlMDljNjVhOWVkOTQ2NjcxYTkxMzYyNzY3MzljY2JiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yNjAsNyAr
MjYwLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFn
LCBbXSB7CiAgICAgICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygp
KTsKICAgICAgICAgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpwZXJtaXRQcm9jZXNz
VG9Vc2VDb29raWVBUEkodHJ1ZSk7Ci0gICAgICAgIFByb2Nlc3M6OnNldElkZW50aWZpZXIoZ2Vu
ZXJhdGVPYmplY3RJZGVudGlmaWVyPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyVHlwZT4oKSk7
CisgICAgICAgIFByb2Nlc3M6OnNldElkZW50aWZpZXIoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZp
ZXI6OmdlbmVyYXRlKCkpOwogICAgIH0pOwogCiAgICAgaWYgKG1fY29uZmlndXJhdGlvbi0+c2hv
dWxkSGF2ZUxlZ2FjeURhdGFTdG9yZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01lZGlhU3RyZWFtL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCA1NjIzY2MwMzE0MGFiNjZhOWY2Y2Y1NTYzOTcwYmU1
Mjc2NTNmYWYwLi5jMTc5ZThkOGQzMmIwNWRlZTRiZTc2MDQzYTQ2NzhiOTU4OTg2MjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtMjMy
LDcgKzIzMiw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpyZXZv
a2VVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9ucyhjCiAKIFVzZXJNZWRpYUNsaWVudDo6
RGV2aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6OmFkZERldmljZUNoYW5nZU9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIG9ic2Vy
dmVyKQogewotICAgIGF1dG8gaWRlbnRpZmllciA9IGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxX
ZWJDb3JlOjpVc2VyTWVkaWFDbGllbnQ6OkRldmljZUNoYW5nZU9ic2VydmVyVG9rZW5UeXBlPigp
OworICAgIGF1dG8gaWRlbnRpZmllciA9IFdlYkNvcmU6OlVzZXJNZWRpYUNsaWVudDo6RGV2aWNl
Q2hhbmdlT2JzZXJ2ZXJUb2tlbjo6Z2VuZXJhdGUoKTsKICAgICBtX2RldmljZUNoYW5nZU9ic2Vy
dmVyTWFwLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKG9ic2VydmVyKSk7CiAKICAgICBpZiAoIW1f
bW9uaXRvcmluZ0RldmljZUNoYW5nZSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360465</attachid>
            <date>2019-01-29 09:14:19 -0800</date>
            <delta_ts>2019-01-29 09:50:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193848-20190129091417.patch</filename>
            <type>text/plain</type>
            <size>29783</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3MjM1ODJhODI2OTg0ZGQ0Y2RhMTAw
ZmIwNTgxMTNlNDY0ZmI1ZDEuLjc5YzAwYzY2YTU5MWUzYzMzNGI2ZGViZDEzOWU4MzhjOTU2NTdm
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDEtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgV1RGOjpnZW5lcmF0ZU9iamVjdElkZW50
aWZpZXIoKSBpbnRlcm5hbCBjb3VudGVyIGRvZXMgbm90IGdldCBkdXBsaWNhdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIE1vdmUgV1RGOjpnZW5lcmF0
ZU9iamVjdElkZW50aWZpZXIoKSdzIGludGVybmFsIGNvdW50ZXIgb3V0LW9mLWxpbmUgc28gbWFr
ZSBzdXJlIGl0IG5ldmVyIGdldHMKKyAgICAgICAgZHVwbGljYXRlZCBhdCBlYWNoIGNhbGwgc2l0
ZS4gVGhpcyBoYXMgY2F1c2VkIHNvbWUgaGFyZC10by1kZWJ1ZyBpc3N1ZXMgd2l0aCBkdXBsaWNh
dGUKKyAgICAgICAgaWRlbnRpZmllcnMgc3VjaCBhcyBCdWcgMTkzNzYxLgorCisgICAgICAgIEFs
c28gbW92ZSBpdCB0byBPYmplY3RJZGVudGlmaWVyIGFuZCByZW5hbWUgaXQgdG8gZ2VuZXJhdGUo
KSBhcyB0aGlzIG1ha2UgY2FsbCBzaXRlcyBuaWNlcgorICAgICAgICB3aGVuIHRoZXkgaGF2ZSBh
IHR5cGVkZWYgZm9yIHRoZSBPYmplY3RJZGVudGlmaWVyPFQ+IHR5cGUuCisKKyAgICAgICAgKiBX
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzLmNwcC4KKyAgICAgICAgKFdURjo6T2JqZWN0SWRl
bnRpZmllckJhc2U6OmdlbmVyYXRlSWRlbnRpZmllckludGVybmFsKToKKyAgICAgICAgKFdURjo6
T2JqZWN0SWRlbnRpZmllckJhc2U6OmdlbmVyYXRlVGhyZWFkU2FmZUlkZW50aWZpZXJJbnRlcm5h
bCk6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuaDoKKyAgICAgICAgKFdURjo6T2Jq
ZWN0SWRlbnRpZmllcjo6Z2VuZXJhdGUpOgorICAgICAgICAoV1RGOjpPYmplY3RJZGVudGlmaWVy
OjpnZW5lcmF0ZVRocmVhZFNhZmUpOgorCiAyMDE5LTAxLTI4ICBSb3NzIEtpcnNsaW5nICA8cm9z
cy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBNb3ZlIHBsYXRmb3JtLXNwZWNpZmljIGZp
bGVzIG91dCBvZiBXVEYgcm9vdCBkaXJlY3RvcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwNmVkZjk3MTk1
ZThkN2ZkOTg0MWZmODc2ZTIyMjNhMWRlYmZmYS4uNWQ2ZGE3YWU0M2Y0ZjM2NDA3NzkzZTFiMmY4
Zjg3MGMyYzFiN2U0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTAxLTI1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIFdURjo6
Z2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCkgaW50ZXJuYWwgY291bnRlciBkb2VzIG5vdCBnZXQg
ZHVwbGljYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgICogZG9tL01lc3NhZ2VDaGFubmVsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VDaGFubmVsOjpNZXNzYWdlQ2hhbm5lbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y29udGV4dElkZW50aWZpZXIgY29uc3QpOgorICAgICAg
ICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0
ZW06Okhpc3RvcnlJdGVtKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnJlZ2lzdGVyVGVtcG9yYXJ5U2Vydmlj
ZVdvcmtlckNsaWVudCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpET01XaW5kb3cpOgorICAgICAgICAqIHBsYXRmb3JtL1Byb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzczo6aWRlbnRpZmllcik6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjpTZXJ2aWNlV29ya2VySm9iRGF0YSk6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRhYmFzZTo6aW1wb3J0UmVjb3Jkcyk6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTV1NlcnZlcjo6Q29ubmVjdGlvbjo6Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTV1NlcnZlcjo6dXBkYXRlV29ya2VyKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVy
YXRlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmdlbmVyYXRlU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIp
OgorCiAKIDIwMTktMDEtMjkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA0MzAwNzk1ZDczNzc3NDY4YmUwYWEyYzQyZDU5ZTQ0NTI2MGJj
YzQ4Li4zODE5M2FkNzgyODE3YmMxNmVmMjVhZTU3NGQ0Y2Y3OWNlN2QxNWQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDE5LTAxLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgTWFrZSBzdXJlIFdURjo6Z2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCkg
aW50ZXJuYWwgY291bnRlciBkb2VzIG5vdCBnZXQgZHVwbGljYXRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODQ4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmNwcDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Q29ubmVjdGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJD
b250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk6OldlYlVzZXJDb250ZW50Q29udHJvbGxl
clByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0OjpyZXN0b3JlRnJvbVN0YXRlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjphZGREZXZp
Y2VDaGFuZ2VPYnNlcnZlcik6CisKIDIwMTktMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVXNlciBhZ2VudCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmln
YXRvci51c2VyQWdlbnQgc2hvdWxkIGJlIHNpdGUgc3BlY2lmaWMgcXVpcmtzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMjdjYTUwOWQ3MjdkMDkyYWNkZmFj
MmFiZTcxN2RhZjFhMzBkZWJlLi41YWQ1MTRkYTllOTY0ZWRlZmYzZWM4YWE1NDM0NTE2NmZkMzMw
NGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgzLDYg
KzgzLDcgQEAKIAkJN0FGMDIzQjUyMDYxRTE3MDAwQThFRkQ2IC8qIFByb2Nlc3NQcml2aWxlZ2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGMDIz
QjQyMDYxRTE2RjAwQThFRkQ2IC8qIFByb2Nlc3NQcml2aWxlZ2UuY3BwICovOyB9OwogCQk3QUZF
QzZCMTFFQjIyQjU5MDBEQURFMzYgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUZFQzZCMDFFQjIyQjU5MDBEQURFMzYgLyogVVVJRC5j
cHAgKi87IH07CiAJCTgxMzQwMTM4MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODEzNDAxMzYxNUIwOTJG
RDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgKi87IH07CisJCTgzNDhCQTBFMjFGQkMwRDUwMEZEMzA1
NCAvKiBPYmplY3RJZGVudGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzNDhCQTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlm
aWVyLmNwcCAqLzsgfTsKIAkJOTM5MzRCRDMxOEExRThDMzAwRDBENkExIC8qIFN0cmluZ1ZpZXdD
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
OTM0QkQyMThBMUU4QzMwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q29jb2EubW0gKi87IH07CiAJCTkz
OTM0QkQ1MThBMUYxNjkwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q0YuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MzRCRDQxOEExRjE2OTAwRDBENkEx
IC8qIFN0cmluZ1ZpZXdDRi5jcHAgKi87IH07CiAJCTkzRjE5OTNFMTlENzk1OEQwMEMyMzkwQiAv
KiBTdHJpbmdWaWV3LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzRjE5OTNEMTlENzk1OEQwMEMyMzkwQiAvKiBTdHJpbmdWaWV3LmNwcCAqLzsgfTsK
QEAgLTQxNCw2ICs0MTUsNyBAQAogCQk3RTI5QzMzRDE1RkZENzlCMDA1MTZENjEgLyogT2JqQ1J1
bnRpbWVFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqQ1J1bnRp
bWVFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODEzNDAxMzYxNUIwOTJG
RDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBCYXNlNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MTM0MDEzNzE1
QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEJhc2U2NC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzQ4QkEwRDIxRkJD
MEQ0MDBGRDMwNTQgLyogT2JqZWN0SWRlbnRpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPYmplY3RJZGVudGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODNBOEFDM0QxRkFCQkU5NDAwMjA2NEFDIC8qIE9iamVjdElkZW50aWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqZWN0SWRlbnRpZmllci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0FCQjNDMDIwQjM4MjMyMDBCQTMzMDYgLyog
V2Vha09iakNQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha09iakNQ
dHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNGMkJBREUxQ0Y5NTI0RTAwM0U5
OUMzIC8qIEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZ1bmN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDMzLDYgKzEwMzUsNyBAQAog
CQkJCUE4QTQ3MkQ1MTUxQTgyNUIwMDQxMjNGRiAvKiBOdW1iZXJPZkNvcmVzLmNwcCAqLywKIAkJ
CQlBOEE0NzJENjE1MUE4MjVCMDA0MTIzRkYgLyogTnVtYmVyT2ZDb3Jlcy5oICovLAogCQkJCTdF
MjlDMzNEMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpDUnVudGltZUV4dHJhcy5oICovLAorCQkJCTgz
NDhCQTBEMjFGQkMwRDQwMEZEMzA1NCAvKiBPYmplY3RJZGVudGlmaWVyLmNwcCAqLywKIAkJCQk4
M0E4QUMzRDFGQUJCRTk0MDAyMDY0QUMgLyogT2JqZWN0SWRlbnRpZmllci5oICovLAogCQkJCTFB
RkRFNjUyMTk1M0IyM0QwMEM0OEZGQSAvKiBPcHRpb25hbC5oICovLAogCQkJCTFBNDY1NjE4MUM3
RkM2OEUwMEY1OTIwRiAvKiBPcHRpb25TZXQuaCAqLywKQEAgLTE1NDgsNiArMTU1MSw3IEBACiAJ
CQkJMEY2NkIyOEMxREM5N0JBQjAwNEExRDNGIC8qIE1vbm90b25pY1RpbWUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNUNDMEVFOEEyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjQxNTFBODI1QjAwNDEyM0ZGIC8qIE51bWJlck9mQ29y
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM0OEJBMEUyMUZCQzBENTAwRkQzMDU0IC8qIE9i
amVjdElkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0EyMUZGQUM1RjAw
RkFCRDYxIC8qIE9TQWxsb2NhdG9yUE9TSVguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
RjkxNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4QTQ3NDAyMTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlQmxvY2suY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
VEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDE3ODM4M2RmZjQ5MWI0YjFiYjFhMmQ2OTAwMGQy
ZjZhNDMwZTBiNTIuLjFjNmQ3MzAwNTgxMjI4YjU1ZGJkNGUzNDQ2OWViZWZjNDM5NzdmYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYv
d3RmL0NNYWtlTGlzdHMudHh0CkBAIC0zNzUsNiArMzc1LDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAg
ICAgTW9ub3RvbmljVGltZS5jcHAKICAgICBOdW1iZXJPZkNvcmVzLmNwcAogICAgIE9TUmFuZG9t
U291cmNlLmNwcAorICAgIE9iamVjdElkZW50aWZpZXIuY3BwCiAgICAgUGFnZUJsb2NrLmNwcAog
ICAgIFBhcmFsbGVsSGVscGVyUG9vbC5jcHAKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTQwZDQ4YTJmZjc5OGE2
ZDhlOWYyZGQ5MmFhNjAxMTEyM2M2ZjJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93
dGYvT2JqZWN0SWRlbnRpZmllci5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RJZGVudGlmaWVyLmgiCisKKworbmFt
ZXNwYWNlIFdURiB7CisKK3VpbnQ2NF90IE9iamVjdElkZW50aWZpZXJCYXNlOjpnZW5lcmF0ZUlk
ZW50aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGN1cnJlbnQ7CisgICAg
cmV0dXJuICsrY3VycmVudDsKK30KKwordWludDY0X3QgT2JqZWN0SWRlbnRpZmllckJhc2U6Omdl
bmVyYXRlVGhyZWFkU2FmZUlkZW50aWZpZXJJbnRlcm5hbCgpCit7CisgICAgc3RhdGljIExhenlO
ZXZlckRlc3Ryb3llZDxzdGQ6OmF0b21pYzx1aW50NjRfdD4+IGN1cnJlbnQ7CisgICAgc3RhdGlj
IHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKKyAgICBzdGQ6OmNh
bGxfb25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKKyAgICAgICAgY3VycmVu
dC5jb25zdHJ1Y3QoMCk7CisgICAgfSk7CisgICAgcmV0dXJuICsrY3VycmVudC5nZXQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJ
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgKaW5kZXggNjYx
NTI2OTk3OTM0MDgyOGExYzBlYjdjYzRhMDA3MTNmMTljYmZlNy4uNDA4OTdiNTlkMDdhM2MwNTUw
YWUyMzIzYzFjMTliYjI5NTMzOWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT2JqZWN0
SWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw4
ICszMywyNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgT2JqZWN0SWRlbnRpZmllciB7CitjbGFzcyBPYmplY3RJZGVudGlmaWVyQmFzZSB7Citwcm90
ZWN0ZWQ6CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUlk
ZW50aWZpZXJJbnRlcm5hbCgpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCk7Cit9OworCit0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBjbGFzcyBPYmplY3RJZGVudGlmaWVyIDogcHJpdmF0ZSBPYmplY3RJZGVu
dGlmaWVyQmFzZSB7CiBwdWJsaWM6CisgICAgc3RhdGljIE9iamVjdElkZW50aWZpZXIgZ2VuZXJh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9iamVjdElkZW50aWZpZXIgeyBnZW5lcmF0ZUlk
ZW50aWZpZXJJbnRlcm5hbCgpIH07CisgICAgfQorCisgICAgc3RhdGljIE9iamVjdElkZW50aWZp
ZXIgZ2VuZXJhdGVUaHJlYWRTYWZlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBPYmplY3RJZGVu
dGlmaWVyIHsgZ2VuZXJhdGVUaHJlYWRTYWZlSWRlbnRpZmllckludGVybmFsKCkgfTsKKyAgICB9
CisKICAgICBPYmplY3RJZGVudGlmaWVyKCkgPSBkZWZhdWx0OwogCiAgICAgT2JqZWN0SWRlbnRp
ZmllcihIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKSA6IG1faWRlbnRpZmllcihoYXNoVGFibGVE
ZWxldGVkVmFsdWUoKSkgeyB9CkBAIC03NCw4ICs5MCw2IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIE9iamVjdElkZW50aWZpZXI8
VT4gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyKCk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4g
ZnJpZW5kIE9iamVjdElkZW50aWZpZXI8VT4gZ2VuZXJhdGVUaHJlYWRTYWZlT2JqZWN0SWRlbnRp
ZmllcigpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZyaWVuZCBPYmplY3RJZGVudGlmaWVy
PFU+IG1ha2VPYmplY3RJZGVudGlmaWVyKHVpbnQ2NF90KTsKICAgICBmcmllbmQgc3RydWN0IEhh
c2hUcmFpdHM8T2JqZWN0SWRlbnRpZmllcj47CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJp
ZW5kIHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaDsKQEAgLTkxLDIyICsxMDUsNiBAQCBwcml2
YXRlOgogICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKIH07CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGlubGluZSBPYmplY3RJZGVudGlmaWVyPFQ+IGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcigpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGN1cnJlbnRJZGVudGlmaWVyOwotICAgIHJl
dHVybiBPYmplY3RJZGVudGlmaWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllciB9OwotfQotCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBnZW5lcmF0ZVRo
cmVhZFNhZmVPYmplY3RJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJv
eWVkPHN0ZDo6YXRvbWljPHVpbnQ2NF90Pj4gY3VycmVudElkZW50aWZpZXI7Ci0gICAgc3RhdGlj
IHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVDdXJyZW50SWRlbnRpZmllcjsKLSAgICBzdGQ6OmNh
bGxfb25jZShpbml0aWFsaXplQ3VycmVudElkZW50aWZpZXIsIFtdIHsKLSAgICAgICAgY3VycmVu
dElkZW50aWZpZXIuY29uc3RydWN0KDApOwotICAgIH0pOwotICAgIHJldHVybiBPYmplY3RJZGVu
dGlmaWVyPFQ+IHsgKytjdXJyZW50SWRlbnRpZmllci5nZXQoKSB9OwotfQotCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBpbmxpbmUgT2JqZWN0SWRlbnRpZmllcjxUPiBtYWtlT2JqZWN0SWRlbnRpZmll
cih1aW50NjRfdCBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBPYmplY3RJZGVudGlmaWVyPFQ+
IHsgaWRlbnRpZmllciB9OwpAQCAtMTI3LDYgKzEyNSw0IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBEZWZhdWx0SGFzaDxPYmplY3RJZGVudGlmaWVyPFQ+PiB7CiB9IC8vIG5hbWVzcGFj
ZSBXVEYKIAogdXNpbmcgV1RGOjpPYmplY3RJZGVudGlmaWVyOwotdXNpbmcgV1RGOjpnZW5lcmF0
ZU9iamVjdElkZW50aWZpZXI7Ci11c2luZyBXVEY6OmdlbmVyYXRlVGhyZWFkU2FmZU9iamVjdElk
ZW50aWZpZXI7CiB1c2luZyBXVEY6Om1ha2VPYmplY3RJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggMDMyNTQxMjEwMTRlNWNkYzU1YTNmMWRhZTI1ZGYzMjliZTc1YjEzYi4u
NTBiY2NlZmNkZTQ3MTk3N2NlOWJmNDMxZTMxMDEwNGE4MDliOWUyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC01MzMsNyArNTMzLDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBm
cmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5zaWcKICAg
ICAsIG1faXNTeW50aGVzaXplZChjb25zdHJ1Y3Rpb25GbGFncyAmIFN5bnRoZXNpemVkKQogICAg
ICwgbV9pc05vblJlbmRlcmVkUGxhY2Vob2xkZXIoY29uc3RydWN0aW9uRmxhZ3MgJiBOb25SZW5k
ZXJlZFBsYWNlaG9sZGVyKQogICAgICwgbV9vcmllbnRhdGlvbk5vdGlmaWVyKGN1cnJlbnRPcmll
bnRhdGlvbihmcmFtZSkpCi0gICAgLCBtX2lkZW50aWZpZXIoZ2VuZXJhdGVPYmplY3RJZGVudGlm
aWVyPERvY3VtZW50SWRlbnRpZmllclR5cGU+KCkpCisgICAgLCBtX2lkZW50aWZpZXIoRG9jdW1l
bnRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogICAgICwgbV91bmRvTWFuYWdlcihVbmRvTWFuYWdl
cjo6Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbERvY3VtZW50c01h
cCgpLmFkZChtX2lkZW50aWZpZXIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5l
bC5jcHAKaW5kZXggNzI5MzJkODUyYmNkMjhlZTU4NTQ4NzA4MDAzODNlMjYyZWZkMGIyNC4uOGRj
ZmUxZjdiYTIxOTViY2QyOTBjMWRhNzlkNjM1ZDIxNjk4MDljOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
TWVzc2FnZUNoYW5uZWwuY3BwCkBAIC0zOSw4ICszOSw4IEBAIFJlZjxNZXNzYWdlQ2hhbm5lbD4g
TWVzc2FnZUNoYW5uZWw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQog
CiBNZXNzYWdlQ2hhbm5lbDo6TWVzc2FnZUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKIHsKLSAgICBNZXNzYWdlUG9ydElkZW50aWZpZXIgaWQxID0geyBQcm9jZXNzOjpp
ZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9ydElkZW50aWZp
ZXI6OlBvcnRJZGVudGlmaWVyVHlwZT4oKSB9OwotICAgIE1lc3NhZ2VQb3J0SWRlbnRpZmllciBp
ZDIgPSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPE1l
c3NhZ2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBlPigpIH07CisgICAgTWVzc2Fn
ZVBvcnRJZGVudGlmaWVyIGlkMSA9IHsgUHJvY2Vzczo6aWRlbnRpZmllcigpLCBPYmplY3RJZGVu
dGlmaWVyPE1lc3NhZ2VQb3J0SWRlbnRpZmllcjo6UG9ydElkZW50aWZpZXJUeXBlPjo6Z2VuZXJh
dGUoKSB9OworICAgIE1lc3NhZ2VQb3J0SWRlbnRpZmllciBpZDIgPSB7IFByb2Nlc3M6OmlkZW50
aWZpZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxNZXNzYWdlUG9ydElkZW50aWZpZXI6OlBvcnRJZGVu
dGlmaWVyVHlwZT46OmdlbmVyYXRlKCkgfTsKIAogICAgIG1fcG9ydDEgPSBNZXNzYWdlUG9ydDo6
Y3JlYXRlKGNvbnRleHQsIGlkMSwgaWQyKTsKICAgICBtX3BvcnQyID0gTWVzc2FnZVBvcnQ6OmNy
ZWF0ZShjb250ZXh0LCBpZDIsIGlkMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKaW5kZXggM2NmZWIwNTc5NDI2ZTI3NWZhNTIzMzQ5ODhhNDA5NmRi
Yzc3NmNjZC4uZTg1OTg1MjIzZjc4ZTMxYjRhMmI3ZmIwOGM2YjEwZDgxY2ZkMjcwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtMTA1LDcg
KzEwNSw3IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmNvbnRleHRJZGVudGlmaWVyKCkgY29uCiAgICAgaWYgKCFtX2NvbnRleHRJZGVu
dGlmaWVyKSB7CiAgICAgICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsU2NyaXB0RXhlY3V0aW9u
Q29udGV4dHNNYXBMb2NrKTsKIAotICAgICAgICBtX2NvbnRleHRJZGVudGlmaWVyID0gZ2VuZXJh
dGVPYmplY3RJZGVudGlmaWVyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVHlwZT4o
KTsKKyAgICAgICAgbV9jb250ZXh0SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogCiAgICAgICAgIEFTU0VSVCghYWxsU2NyaXB0RXhlY3V0
aW9uQ29udGV4dHNNYXAoKS5jb250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CiAgICAgICAg
IGFsbFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzTWFwKCkuYWRkKG1fY29udGV4dElkZW50aWZpZXIs
IGNvbnN0X2Nhc3Q8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCo+KHRoaXMpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggNDRkNDljNzZmOTMwZjJmNmQ4YWM4NDZhOTA1
MTllYmQ4ZTVhZjdmNS4uM2MwNTllNjg1YjgzZmQ3MDg5MGEzYWU2NWZiYTgwZDYyNzBlNjE1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAg
SGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBT
dHJpbmcmIHRpdGxlKQogfQogCiBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5n
JiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYWx0ZXJuYXRl
VGl0bGUpCi0gICAgOiBIaXN0b3J5SXRlbSh1cmxTdHJpbmcsIHRpdGxlLCBhbHRlcm5hdGVUaXRs
ZSwgeyBQcm9jZXNzOjppZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxCYWNr
Rm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+KCkgfSkKKyAgICA6IEhp
c3RvcnlJdGVtKHVybFN0cmluZywgdGl0bGUsIGFsdGVybmF0ZVRpdGxlLCB7IFByb2Nlc3M6Omlk
ZW50aWZpZXIoKSwgT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJ
dGVtSWRlbnRpZmllclR5cGU+OjpnZW5lcmF0ZSgpIH0pCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDQ3NTRiZWFiN2FhOTVhNmYxZTNmOTI1MzIy
YjkxZTlmMTY5YzU2ZjYuLjZhYzIxMzFjZGFkODk2N2E0MTBhMTM2ZDJjOGIyZTEwZTJkNjM2ZWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTc3OSw3ICsx
Nzc5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVnaXN0ZXJUZW1wb3JhcnlTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFVSTCYgdXJsKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RlbXBv
cmFyeVNlcnZpY2VXb3JrZXJDbGllbnQgPSBUZW1wb3JhcnlTZXJ2aWNlV29ya2VyQ2xpZW50IHsK
LSAgICAgICAgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPERvY3VtZW50SWRlbnRpZmllclR5cGU+
KCksCisgICAgICAgIERvY3VtZW50SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwKICAgICAgICAgKlNl
cnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29u
bmVjdGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNzaW9uSUQoKSkKICAgICB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggNThlMGIwODUxYTNiMzk5MDBhMzcyN2Qz
YTZjNTY0OTE4OTg4ZGYyMC4uMDk3OTMzNmQwYTU4ZTA4YWRhYzFmOGI4MzIzMDEwNGMwZjc0NTRh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDA0LDcgKzQwNCw3IEBAIHZvaWQg
RE9NV2luZG93OjpzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sIGFsbG93KQogfQog
CiBET01XaW5kb3c6OkRPTVdpbmRvdyhEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBBYnN0cmFj
dERPTVdpbmRvdyhHbG9iYWxXaW5kb3dJZGVudGlmaWVyIHsgUHJvY2Vzczo6aWRlbnRpZmllcigp
LCBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8V2luZG93SWRlbnRpZmllclR5cGU+KCkgfSkKKyAg
ICA6IEFic3RyYWN0RE9NV2luZG93KEdsb2JhbFdpbmRvd0lkZW50aWZpZXIgeyBQcm9jZXNzOjpp
ZGVudGlmaWVyKCksIFdpbmRvd0lkZW50aWZpZXI6OmdlbmVyYXRlKCkgfSkKICAgICAsIENvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzSWRlbnRpZmllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qcm9jZXNzSWRlbnRpZmllci5jcHAKaW5kZXgg
OTRkYzVlYTNiNjM1ZmQ4M2ZhZTBkMjMwY2MxYmZmNWI4YzQxN2UwMC4uZTlkZDY4ZGYyZmI0ZWQ2
MTdjM2JhZWVmZjM4OWJiN2Q5ODY3ODE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUHJvY2Vzc0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Byb2Nlc3NJZGVudGlmaWVyLmNwcApAQCAtNDQsNyArNDQsNyBAQCBQcm9jZXNzSWRlbnRpZmll
ciBpZGVudGlmaWVyKCkKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAg
c3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKICAgICAgICAgaWYgKCFnbG9iYWxJZGVudGlm
aWVyKQotICAgICAgICAgICAgZ2xvYmFsSWRlbnRpZmllciA9IGdlbmVyYXRlT2JqZWN0SWRlbnRp
ZmllcjxQcm9jZXNzSWRlbnRpZmllclR5cGU+KCk7CisgICAgICAgICAgICBnbG9iYWxJZGVudGlm
aWVyID0gUHJvY2Vzc0lkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgfSk7CiAKICAgICByZXR1
cm4gKmdsb2JhbElkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmNwcAppbmRleCAyOWM4MGUxNzc2MmE2NmEz
ZjhiYjBhNjIyNjM3NmJiNGM5NjFhNGJmLi40N2E3OWYwYTNmNzY2ZGQ1ZTU0ODIxYTliMmVkMjMy
NTVkNmNmNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgU2VydmljZVdvcmtl
ckpvYkRhdGE6OlNlcnZpY2VXb3JrZXJKb2JEYXRhKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZp
ZXIpCiB9CiAKIFNlcnZpY2VXb3JrZXJKb2JEYXRhOjpTZXJ2aWNlV29ya2VySm9iRGF0YShTV1Nl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBEb2N1
bWVudE9yV29ya2VySWRlbnRpZmllciYgbG9jYWxTb3VyY2VDb250ZXh0KQotICAgIDogbV9pZGVu
dGlmaWVyIHsgY29ubmVjdGlvbklkZW50aWZpZXIsIGdlbmVyYXRlVGhyZWFkU2FmZU9iamVjdElk
ZW50aWZpZXI8U2VydmljZVdvcmtlckpvYklkZW50aWZpZXJUeXBlPigpIH0KKyAgICA6IG1faWRl
bnRpZmllciB7IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmll
cjo6Z2VuZXJhdGVUaHJlYWRTYWZlKCkgfQogewogICAgIFdURjo6c3dpdGNoT24obG9jYWxTb3Vy
Y2VDb250ZXh0LCBbJl0oRG9jdW1lbnRJZGVudGlmaWVyIGRvY3VtZW50SWRlbnRpZmllcikgewog
ICAgICAgICBzb3VyY2VDb250ZXh0ID0gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBj
b25uZWN0aW9uSWRlbnRpZmllciwgZG9jdW1lbnRJZGVudGlmaWVyIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9u
RGF0YWJhc2UuY3BwCmluZGV4IDU2ZGQ5YmM4ZTMzMDUzODhiYmY1NzdmNTZhZTY1MjYxZDI0YWUz
NzkuLmI2MjlmNDMyNmY5NzIyYjE2NzM2NmJiYTY0ODg3MGExZDZmODVlNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0
cmF0aW9uRGF0YWJhc2UuY3BwCkBAIC00MDAsOCArNDAwLDggQEAgU3RyaW5nIFJlZ2lzdHJhdGlv
bkRhdGFiYXNlOjppbXBvcnRSZWNvcmRzKCkKICAgICAgICAgaWYgKCFrZXkgfHwgIW9yaWdpblVS
TC5pc1ZhbGlkKCkgfHwgIXRvcE9yaWdpbiB8fCAhdXBkYXRlVmlhQ2FjaGUgfHwgIXNjcmlwdFVS
TC5pc1ZhbGlkKCkgfHwgIXdvcmtlclR5cGUpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICBhdXRvIHdvcmtlcklkZW50aWZpZXIgPSBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U2Vy
dmljZVdvcmtlcklkZW50aWZpZXJUeXBlPigpOwotICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXJUeXBlPigpOworICAgICAgICBhdXRvIHdvcmtlcklkZW50aWZpZXIgPSBT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgYXV0byByZWdpc3Ry
YXRpb25JZGVudGlmaWVyID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI6Omdl
bmVyYXRlKCk7CiAgICAgICAgIGF1dG8gc2VydmljZVdvcmtlckRhdGEgPSBTZXJ2aWNlV29ya2Vy
RGF0YSB7IHdvcmtlcklkZW50aWZpZXIsIHNjcmlwdFVSTCwgU2VydmljZVdvcmtlclN0YXRlOjpB
Y3RpdmF0ZWQsICp3b3JrZXJUeXBlLCByZWdpc3RyYXRpb25JZGVudGlmaWVyIH07CiAgICAgICAg
IGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgeyBXVEZN
b3ZlKCprZXkpLCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBVUkwob3JpZ2luVVJMLCBzY29wZVBh
dGgpLCAqdXBkYXRlVmlhQ2FjaGUsIGxhc3RVcGRhdGVDaGVja1RpbWUsIFdURjo6bnVsbG9wdCwg
V1RGOjpudWxsb3B0LCBXVEZNb3ZlKHNlcnZpY2VXb3JrZXJEYXRhKSB9OwogICAgICAgICBhdXRv
IGNvbnRleHREYXRhID0gU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgV1RGOjpudWxsb3B0LCBX
VEZNb3ZlKHJlZ2lzdHJhdGlvbiksIHdvcmtlcklkZW50aWZpZXIsIFdURk1vdmUoc2NyaXB0KSwg
V1RGTW92ZShjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKHJlZmVycmVyUG9saWN5KSwg
V1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgbV9zZXNzaW9uSUQsIHRydWUsIFdURk1v
dmUoc2NyaXB0UmVzb3VyY2VNYXApIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IDA0NGJjODQxMzg4Mjc5ZGQ1MmE2NjM0
ZTZiMmIxMzM1Njc0YzY2YmUuLmRmMmI4ZWUyNDUzNWE2MjIzOTgwODkyNzYyOGFhZjdjZTAxZjFk
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBTZWNvbmRzIHRlcm1pbmF0aW9uRGVs
YXkgeyAxMF9zIH07CiAKIFNXU2VydmVyOjpDb25uZWN0aW9uOjpDb25uZWN0aW9uKFNXU2VydmVy
JiBzZXJ2ZXIpCiAgICAgOiBtX3NlcnZlcihzZXJ2ZXIpCi0gICAgLCBtX2lkZW50aWZpZXIoZ2Vu
ZXJhdGVPYmplY3RJZGVudGlmaWVyPFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXJUeXBlPigp
KQorICAgICwgbV9pZGVudGlmaWVyKFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI6OmdlbmVy
YXRlKCkpCiB7CiB9CiAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVD
bGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNl
cgogCiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZp
Y2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50aWZpZXIsIFNXU2VydmVyUmVn
aXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHNj
cmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5cGUg
dHlwZSwgSGFzaE1hcDxVUkwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3Jp
cHQ+JiYgc2NyaXB0UmVzb3VyY2VNYXApCiB7Ci0gICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsg
am9iRGF0YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIGdlbmVyYXRlT2JqZWN0SWRl
bnRpZmllcjxTZXJ2aWNlV29ya2VySWRlbnRpZmllclR5cGU+KCksIHNjcmlwdCwgY29udGVudFNl
Y3VyaXR5UG9saWN5LCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBzZXNzaW9uSUQoKSwgZmFs
c2UsIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApIH0pOworICAgIHRyeUluc3RhbGxDb250ZXh0
RGF0YSh7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpLCBTZXJ2aWNlV29y
a2VySWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgc2NyaXB0LCBjb250ZW50U2VjdXJpdHlQb2xpY3ks
IHJlZmVycmVyUG9saWN5LCB1cmwsIHR5cGUsIHNlc3Npb25JRCgpLCBmYWxzZSwgV1RGTW92ZShz
Y3JpcHRSZXNvdXJjZU1hcCkgfSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXI6OnRyeUluc3RhbGxDb250
ZXh0RGF0YShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0
cmF0aW9uLmNwcAppbmRleCA2NTY3Y2E0ZmJiYmNkOTQ5Mzg4ZDRkMWU0YzBkNDFhOTgwOTE4NzM5
Li40ZDFjNTU0ZjQ2MDJhOTU1ZTJlYjEzNDEzZjcyM2NkMGI1MjNiY2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
UmVnaXN0cmF0aW9uLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBnZW5lcmF0ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKCkKIHsKLSAgICByZXR1cm4gZ2VuZXJhdGVP
YmplY3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlwZT4o
KTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI6OmdlbmVy
YXRlKCk7CiB9CiAKIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihT
V1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXks
IFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBz
Y29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbi5jcHAKaW5kZXggM2VhMzA5ZDMwN2RlZDYzYTdjNWE0ODMzMTk0YWM2NmM4Yzc0
OGVlOC4uNzBjYWYyZjkyYjE0YWM2MzAyYTZhZTQyYzQ2ZDNkYjFmYzcxZTA1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVu
dGlmaWVyIGdlbmVyYXRlU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIoKQogewot
ICAgIHJldHVybiBnZW5lcmF0ZU9iamVjdElkZW50aWZpZXI8U1dTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uSWRlbnRpZmllclR5cGU+KCk7CisgICAgcmV0dXJuIFNXU2VydmVyVG9Db250ZXh0Q29u
bmVjdGlvbklkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9CiAKIHN0YXRpYyBIYXNoTWFwPFNlY3Vy
aXR5T3JpZ2luRGF0YSwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKj4mIGFsbENvbm5lY3Rp
b25zQnlPcmlnaW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApp
bmRleCBhNDIzNmNiODZjZDE4OGU2NWEyZGVmODI4YjA5NjkwMjgxZmRlY2I3Li4xNzRiMDRjMWVh
MGFjMTNkM2ZhODdhYTkzMDAyYmM1NDJkMTQ1YjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHN0YXRpYyBIYXNoTWFwPHVp
bnRwdHJfdCwgSGFzaE1hcDx1aW50NjRfdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChEZWNvZGVy
Kik+Pj4mCiAgICAgCiBDb25uZWN0aW9uOjpDb25uZWN0aW9uKElkZW50aWZpZXIgaWRlbnRpZmll
ciwgYm9vbCBpc1NlcnZlciwgQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQp
Ci0gICAgLCBtX3VuaXF1ZUlEKGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxVbmlxdWVJRFR5cGU+
KCkpCisgICAgLCBtX3VuaXF1ZUlEKFVuaXF1ZUlEOjpnZW5lcmF0ZSgpKQogICAgICwgbV9pc1Nl
cnZlcihpc1NlcnZlcikKICAgICAsIG1fc3luY1JlcXVlc3RJRCgwKQogICAgICwgbV9vbmx5U2Vu
ZE1lc3NhZ2VzQXNEaXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5V2hlblByb2Nlc3NpbmdT
dWNoQU1lc3NhZ2UoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuaAppbmRleCAxYmQwYjliYmYyYWE4MGYyZmZmZmRhMjNlZmVkYzNlZWE1NzA5MzMyLi44
M2Y4MDQ4NDQ3OTZhMDc1Y2I5NzRkM2Y5NDBkNGFkMDc2YTI3OTE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBJUEM6
Ok1lc3NhZ2VSZWNlaXZlck1hcCBtX21lc3NhZ2VSZWNlaXZlck1hcDsKICAgICBib29sIG1fYWx3
YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5IHsgZmFsc2UgfTsKLSAgICBXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllciBtX3Byb2Nlc3NJZGVudGlmaWVyIHsgZ2VuZXJhdGVPYmplY3RJZGVudGlm
aWVyPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyVHlwZT4oKSB9OworICAgIFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyIG1fcHJvY2Vzc0lkZW50aWZpZXIgeyBXZWJDb3JlOjpQcm9jZXNzSWRl
bnRpZmllcjo6Z2VuZXJhdGUoKSB9OwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50
Q29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcAppbmRleCA3NTFhY2U1MWFhOTc2ZGJl
YjNmMTMyNTZkNTBmODY3ODBkZjczMzUzLi45NzExYjIzMzcyMTU4NzkxMTZjM2RkOGI0NjZlZjU1
ODVhZTk4NTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwCkBA
IC02Miw3ICs2Miw3IEBAIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5KiBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJQcm94eTo6Z2V0KFVzZXJDb250ZW50Q29uCiB9CiAgICAgCiBXZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eTo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkoKQot
ICAgIDogbV9pZGVudGlmaWVyKGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxVc2VyQ29udGVudENv
bnRyb2xsZXJJZGVudGlmaWVyVHlwZT4oKSkKKyAgICA6IG1faWRlbnRpZmllcihVc2VyQ29udGVu
dENvbnRyb2xsZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogICAgICwgbV91c2VyU2NyaXB0cyhB
UEk6OkFycmF5OjpjcmVhdGUoKSkKICAgICAsIG1fdXNlclN0eWxlU2hlZXRzKEFQSTo6QXJyYXk6
OmNyZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFj
a0ZvcndhcmRMaXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
TGlzdC5jcHAKaW5kZXggN2FlMjZiMmYzYjgzMmRmMzBhYmY1Y2YyYjI0ZDFiZTYyMzFhNTQwNy4u
ZjJkNWExNjJjNDA3MjEzY2E4MjkxNjRkOTRlYTI2NWI5ZGQxYzVjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCkBAIC00MzQsNyArNDM0LDcg
QEAgdm9pZCBXZWJCYWNrRm9yd2FyZExpc3Q6OnJlc3RvcmVGcm9tU3RhdGUoQmFja0ZvcndhcmRM
aXN0U3RhdGUgYmFja0ZvcndhcmRMaXN0U3QKICAgICBpdGVtcy5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KGJhY2tGb3J3YXJkTGlzdFN0YXRlLml0ZW1zLnNpemUoKSk7CiAKICAgICBmb3IgKGF1dG8m
IGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSA6IGJhY2tGb3J3YXJkTGlzdFN0YXRlLml0ZW1zKSB7
Ci0gICAgICAgIGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZS5pZGVudGlmaWVyID0geyBQcm9jZXNz
OjppZGVudGlmaWVyKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+KCkgfTsKKyAgICAgICAgYmFja0ZvcndhcmRM
aXN0SXRlbVN0YXRlLmlkZW50aWZpZXIgPSB7IFByb2Nlc3M6OmlkZW50aWZpZXIoKSwgT2JqZWN0
SWRlbnRpZmllcjxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpJdGVtSWRlbnRpZmllclR5cGU+
OjpnZW5lcmF0ZSgpIH07CiAgICAgICAgIGl0ZW1zLnVuY2hlY2tlZEFwcGVuZChXZWJCYWNrRm9y
d2FyZExpc3RJdGVtOjpjcmVhdGUoV1RGTW92ZShiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUpLCBt
X3BhZ2UtPnBhZ2VJRCgpKSk7CiAgICAgfQogICAgIG1fY3VycmVudEluZGV4ID0gYmFja0Zvcndh
cmRMaXN0U3RhdGUuY3VycmVudEluZGV4ID8gT3B0aW9uYWw8c2l6ZV90PigqYmFja0ZvcndhcmRM
aXN0U3RhdGUuY3VycmVudEluZGV4KSA6IFdURjo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA3Zjc4YzZlYWRiYmRmNWJmMTYzYWQ0ZmJj
YjQ2OTEzNzA1MWQ1ZTdmLi5iNjgxZDg2NWRlMDljNjVhOWVkOTQ2NjcxYTkxMzYyNzY3MzljY2Ji
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yNjAs
NyArMjYwLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VG
bGFnLCBbXSB7CiAgICAgICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdl
cygpKTsKICAgICAgICAgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpwZXJtaXRQcm9j
ZXNzVG9Vc2VDb29raWVBUEkodHJ1ZSk7Ci0gICAgICAgIFByb2Nlc3M6OnNldElkZW50aWZpZXIo
Z2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyVHlwZT4o
KSk7CisgICAgICAgIFByb2Nlc3M6OnNldElkZW50aWZpZXIoV2ViQ29yZTo6UHJvY2Vzc0lkZW50
aWZpZXI6OmdlbmVyYXRlKCkpOwogICAgIH0pOwogCiAgICAgaWYgKG1fY29uZmlndXJhdGlvbi0+
c2hvdWxkSGF2ZUxlZ2FjeURhdGFTdG9yZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL01lZGlhU3RyZWFtL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCA1NjIzY2MwMzE0MGFiNjZhOWY2Y2Y1NTYzOTcw
YmU1Mjc2NTNmYWYwLi5jMTc5ZThkOGQzMmIwNWRlZTRiZTc2MDQzYTQ2NzhiOTU4OTg2MjVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAt
MjMyLDcgKzIzMiw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpy
ZXZva2VVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9ucyhjCiAKIFVzZXJNZWRpYUNsaWVu
dDo6RGV2aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OmFkZERldmljZUNoYW5nZU9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIG9i
c2VydmVyKQogewotICAgIGF1dG8gaWRlbnRpZmllciA9IGdlbmVyYXRlT2JqZWN0SWRlbnRpZmll
cjxXZWJDb3JlOjpVc2VyTWVkaWFDbGllbnQ6OkRldmljZUNoYW5nZU9ic2VydmVyVG9rZW5UeXBl
PigpOworICAgIGF1dG8gaWRlbnRpZmllciA9IFdlYkNvcmU6OlVzZXJNZWRpYUNsaWVudDo6RGV2
aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbjo6Z2VuZXJhdGUoKTsKICAgICBtX2RldmljZUNoYW5nZU9i
c2VydmVyTWFwLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKG9ic2VydmVyKSk7CiAKICAgICBpZiAo
IW1fbW9uaXRvcmluZ0RldmljZUNoYW5nZSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>