<?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>195394</bug_id>
          
          <creation_ts>2019-03-06 20:27:19 -0800</creation_ts>
          <short_desc>Clean up / simplify ProcessAssertion code</short_desc>
          <delta_ts>2019-03-07 13:50:56 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513360</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-06 20:27:19 -0800</bug_when>
    <thetext>Clean up / simplify ProcessAssertion code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513371</commentid>
    <comment_count>1</comment_count>
      <attachid>363837</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-06 20:35:17 -0800</bug_when>
    <thetext>Created attachment 363837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513645</commentid>
    <comment_count>2</comment_count>
      <attachid>363837</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-03-07 12:29:31 -0800</bug_when>
    <thetext>Comment on attachment 363837
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513679</commentid>
    <comment_count>3</comment_count>
      <attachid>363837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-07 13:44:38 -0800</bug_when>
    <thetext>Comment on attachment 363837
Patch

Rejecting attachment 363837 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;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 363837, &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=363837&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=195394&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Updating working directory
Processing patch 363837 from bug 195394.
Fetching: https://bugs.webkit.org/attachment.cgi?id=363837
Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/WebKit/ChangeLog

ERROR from SVN:
Item is out of date: File &apos;/trunk/Source/WebKit/ChangeLog&apos; is out of date
W: 329bbcd60e0b5bd13ada674f3d7e1405fb435425 and refs/remotes/origin/master differ, using rebase:
:040000 040000 8048f6dcbafb4f187ad69147012b2a47660a3fd8 f231c62f2ccb6473e48a9d7e23d312a72e955c87 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/WebKit/ChangeLog

ERROR from SVN:
Item is out of date: File &apos;/trunk/Source/WebKit/ChangeLog&apos; is out of date
W: 329bbcd60e0b5bd13ada674f3d7e1405fb435425 and refs/remotes/origin/master differ, using rebase:
:040000 040000 8048f6dcbafb4f187ad69147012b2a47660a3fd8 f231c62f2ccb6473e48a9d7e23d312a72e955c87 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   dd5e8e5ce73..c613a534e40  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 242606 = dd5e8e5ce73c1de6831a54208c04dbb30031d153
r242608 = c613a534e40f1d06cfb53aa98ea0d007df88490e
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: https://webkit-queues.webkit.org/results/11418175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513688</commentid>
    <comment_count>4</comment_count>
      <attachid>363837</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-07 13:49:27 -0800</bug_when>
    <thetext>Comment on attachment 363837
Patch

Clearing flags on attachment: 363837

Committed r242610: &lt;https://trac.webkit.org/changeset/242610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513689</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-07 13:49:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513693</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-07 13:50:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/48688940&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363837</attachid>
            <date>2019-03-06 20:35:17 -0800</date>
            <delta_ts>2019-03-07 13:49:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195394-20190306203514.patch</filename>
            <type>text/plain</type>
            <size>22997</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNjIwMzBhZTliZmQxMDIz
ZmQ4Mjc1MzVjNzVlZmE3ZDdmMmE3YjQuLmEyNzE3ZjI1NWZjNWQxZDI2ZDUxY2FhNjkzNmQ0YTQ4
ZDczYWNhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDMtMDYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCAvIHNpbXBsaWZ5IFBy
b2Nlc3NBc3NlcnRpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk1Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2xlYW4gdXAgLyBzaW1wbGlmeSBQcm9jZXNzQXNzZXJ0aW9uIGNvZGUgdG8g
ZmFjaWxpdGF0ZSBpdHMgbWFpbnRlbmFuY2UgYW5kIG1ha2UgaXQKKyAgICAgICAgbGVzcyBlcnJv
ci1wcm9uZS4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbToK
KyAgICAgICAgKElQQzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OkNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRp
b24pOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQXNzZXJ0aW9uOjpzZXRTdGF0ZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UHJv
Y2Vzc0Fzc2VydGlvbjo6Q2xpZW50Ojp+Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vz
c0Fzc2VydGlvbjo6c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlv
bjo6Y2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUaHJvdHRsZXI6OmRpZENvbm5lY3RUb1Byb2Nlc3MpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtXS1Byb2Nl
c3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgYWRkQXNzZXJ0aW9uTmVlZGluZ0JhY2tn
cm91bmRUYXNrOl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFz
a01hbmFnZXIgcmVtb3ZlQXNzZXJ0aW9uTmVlZGluZ0JhY2tncm91bmRUYXNrOl0pOgorICAgICAg
ICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX25vdGlmeUFzc2Vy
dGlvbnNPZkltbWluZW50U3VzcGVuc2lvbl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRp
b25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza10pOgorICAgICAg
ICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX3VwZGF0ZUJhY2tn
cm91bmRUYXNrXSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQXNzZXJ0aW9uOjpwcm9jZXNzQXNz
ZXJ0aW9uV2FzSW52YWxpZGF0ZWQpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQXNzZXJ0aW9u
OjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbjo6dXBk
YXRlUnVuSW5CYWNrZ3JvdW5kQ291bnQpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQW5kVUlB
c3NlcnRpb246OlByb2Nlc3NBbmRVSUFzc2VydGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nl
c3NBbmRVSUFzc2VydGlvbjo6flByb2Nlc3NBbmRVSUFzc2VydGlvbik6CisgICAgICAgIChXZWJL
aXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbjo6cHJvY2Vzc0Fzc2VydGlvbldhc0ludmFsaWRhdGVk
KToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uOjpzZXRTdGF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbjo6dWlBc3NlcnRpb25XaWxsRXhw
aXJlSW1taW5lbnRseSk6CisKIDIwMTktMDMtMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBQcm9jZXNzRGlkUmVzdW1lKCkgSVBDIHNob3VsZCBiZSBz
ZW50IHVwb24gcmVzdW1pbmcgd2hlbiBQcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5KCkgSVBD
IHdhcyBzZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9tYWMvQ29u
bmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9u
TWFjLm1tCmluZGV4IGI5OGFjNTYwMzA3YjIxZjQyMmQzZDQ3ZjM2OGU2YjYxYzM2YmEwZGQuLmQ5
NDE5M2U1OWE5OWYxZTE0YzFjMjc3ZmIzMjJmMjY2NDc3MzNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC05Miw3ICs5Miw3IEBA
IHByaXZhdGU6CiAgICAgICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAg
ICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6
UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlkKG1feHBjQ29ubmVj
dGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQpKQorICAgICAg
ICAsIG1fYXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3Nl
cnRpb24+KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgIkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIl9zLCBXZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpC
YWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0
T25lU2hvdChpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
cm9jZXNzQXNzZXJ0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3Nl
cnRpb24uY3BwCmluZGV4IGEyNWRmMmI3NDYyNmY4MjBmMmU3NmQzNDQ1ZmVlYTIxOWI5MTBjNGQu
LjlhZGJkMzVkYTgyOTZhODgzOTJkZjFmOTM5MzhkZmUxZTdkM2FkMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDUxICsyNiwyMiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlByb2Nlc3NBc3NlcnRpb24uaCIKIAotI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFURk9S
TShJT1NfRkFNSUxZX1NJTVVMQVRPUikKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVByb2Nlc3NB
c3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lELCBBc3NlcnRpb25TdGF0ZSBhc3Nl
cnRpb25TdGF0ZSwgRnVuY3Rpb248dm9pZCgpPiYmKQorUHJvY2Vzc0Fzc2VydGlvbjo6UHJvY2Vz
c0Fzc2VydGlvbihQcm9jZXNzSUQsIGNvbnN0IFN0cmluZyYsIEFzc2VydGlvblN0YXRlIGFzc2Vy
dGlvblN0YXRlKQogICAgIDogbV9hc3NlcnRpb25TdGF0ZShhc3NlcnRpb25TdGF0ZSkKIHsKIH0K
IAotUHJvY2Vzc0Fzc2VydGlvbjo6UHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQsIGNvbnN0IFN0
cmluZyYsIEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRlLCBGdW5jdGlvbjx2b2lkKCk+JiYp
Ci0gICAgOiBtX2Fzc2VydGlvblN0YXRlKGFzc2VydGlvblN0YXRlKQotewotfQotCi1Qcm9jZXNz
QXNzZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlvbigpCi17Ci19CitQcm9jZXNzQXNzZXJ0aW9uOjp+
UHJvY2Vzc0Fzc2VydGlvbigpID0gZGVmYXVsdDsKIAogdm9pZCBQcm9jZXNzQXNzZXJ0aW9uOjpz
ZXRTdGF0ZShBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSkKIHsKLSAgICBpZiAobV9hc3Nl
cnRpb25TdGF0ZSA9PSBhc3NlcnRpb25TdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgbV9h
c3NlcnRpb25TdGF0ZSA9IGFzc2VydGlvblN0YXRlOwogfQogCi1Qcm9jZXNzQW5kVUlBc3NlcnRp
b246OlByb2Nlc3NBbmRVSUFzc2VydGlvbihQcm9jZXNzSUQgcGlkLCBBc3NlcnRpb25TdGF0ZSBh
c3NlcnRpb25TdGF0ZSkKLSAgICA6IFByb2Nlc3NBc3NlcnRpb24ocGlkLCBhc3NlcnRpb25TdGF0
ZSkKLXsKLX0KLQotUHJvY2Vzc0FuZFVJQXNzZXJ0aW9uOjp+UHJvY2Vzc0FuZFVJQXNzZXJ0aW9u
KCkKLXsKLX0KLQotdm9pZCBQcm9jZXNzQW5kVUlBc3NlcnRpb246OnNldFN0YXRlKEFzc2VydGlv
blN0YXRlIGFzc2VydGlvblN0YXRlKQotewotICAgIFByb2Nlc3NBc3NlcnRpb246OnNldFN0YXRl
KGFzc2VydGlvblN0YXRlKTsKLX0KLQotdm9pZCBQcm9jZXNzQW5kVUlBc3NlcnRpb246OnNldENs
aWVudChQcm9jZXNzQXNzZXJ0aW9uQ2xpZW50JiBjbGllbnQpCi17Ci0gICAgUHJvY2Vzc0Fzc2Vy
dGlvbjo6c2V0Q2xpZW50KGNsaWVudCk7Ci19Ci0KLX0KK30gLy8gbmFtZXNwYWNlIFdlYktpdAog
Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisjZW5kaWYgLy8gIVBMQVRGT1JNKElP
U19GQU1JTFkpIHx8IFBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCmluZGV4IDUyNTkzNTI2MzEwYTZlMDExMjAw
NTZkODhkOTk5MDIxYjk2MGFiZmQuLjE1NjcwZTA3Njk4M2ZmZTg5ZWRjMWQzNzE5MGIwNzA5NjFi
NjNjMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMs
MTEgKzIzLDExIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAot
I2lmbmRlZiBQcm9jZXNzQXNzZXJ0aW9uX2gKLSNkZWZpbmUgUHJvY2Vzc0Fzc2VydGlvbl9oCisj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9Q
cm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiAjaWYgIU9TKFdJTkRPV1MpCkBAIC0zNiw3ICszNiw2IEBACiAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1Ip
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiBP
QkpDX0NMQVNTIEJLU1Byb2Nlc3NBc3NlcnRpb247CiAjZW5kaWYKIApAQCAtNDksMjUgKzQ4LDIw
IEBAIGVudW0gY2xhc3MgQXNzZXJ0aW9uU3RhdGUgewogICAgIEZvcmVncm91bmQKIH07CiAKLWNs
YXNzIFByb2Nlc3NBc3NlcnRpb25DbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgflByb2Nl
c3NBc3NlcnRpb25DbGllbnQoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdWlBc3NlcnRpb25XaWxs
RXhwaXJlSW1taW5lbnRseSgpID0gMDsKLX07Ci0KLWNsYXNzIFByb2Nlc3NBc3NlcnRpb24KLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1Ip
Ci0gICAgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UHJvY2Vzc0Fzc2VydGlvbj4KLSNlbmRpZgot
eworY2xhc3MgUHJvY2Vzc0Fzc2VydGlvbiA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQcm9jZXNz
QXNzZXJ0aW9uPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
UHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQsIEFzc2VydGlvblN0YXRlLCBGdW5jdGlvbjx2b2lk
KCk+JiYgaW52YWxpZGF0aW9uQ2FsbGJhY2sgPSB7IH0pOwotICAgIFByb2Nlc3NBc3NlcnRpb24o
UHJvY2Vzc0lELCBjb25zdCBTdHJpbmcmIHJlYXNvbiwgQXNzZXJ0aW9uU3RhdGUsIEZ1bmN0aW9u
PHZvaWQoKT4mJiBpbnZhbGlkYXRpb25DYWxsYmFjayA9IHsgfSk7CisgICAgY2xhc3MgQ2xpZW50
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQorICAgICAgICB2
aXJ0dWFsIHZvaWQgdWlBc3NlcnRpb25XaWxsRXhwaXJlSW1taW5lbnRseSgpID0gMDsKKyAgICB9
OworCisgICAgUHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQsIGNvbnN0IFN0cmluZyYgcmVhc29u
LCBBc3NlcnRpb25TdGF0ZSk7CiAgICAgdmlydHVhbCB+UHJvY2Vzc0Fzc2VydGlvbigpOwogCi0g
ICAgdmlydHVhbCB2b2lkIHNldENsaWVudChQcm9jZXNzQXNzZXJ0aW9uQ2xpZW50JiBjbGllbnQp
IHsgbV9jbGllbnQgPSAmY2xpZW50OyB9Ci0gICAgUHJvY2Vzc0Fzc2VydGlvbkNsaWVudCogY2xp
ZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KKyAgICB2b2lkIHNldENsaWVudChDbGllbnQmIGNs
aWVudCkgeyBtX2NsaWVudCA9ICZjbGllbnQ7IH0KKyAgICBDbGllbnQqIGNsaWVudCgpIHsgcmV0
dXJuIG1fY2xpZW50OyB9CiAKICAgICBBc3NlcnRpb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fYXNzZXJ0aW9uU3RhdGU7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U3RhdGUoQXNzZXJ0
aW9uU3RhdGUpOwpAQCAtNzYsMzcgKzcwLDQwIEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBl
bnVtIGNsYXNzIFZhbGlkaXR5IHsgTm8sIFllcywgVW5zZXQgfTsKICAgICBWYWxpZGl0eSB2YWxp
ZGl0eSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRpdHk7IH0KKworICAgIHZpcnR1YWwgdm9pZCBw
cm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxpZGF0ZWQoKTsKICNlbmRpZgogCiBwcml2YXRlOgogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikK
LSAgICB2b2lkIG1hcmtBc0ludmFsaWRhdGVkKCk7Ci0KICAgICBSZXRhaW5QdHI8QktTUHJvY2Vz
c0Fzc2VydGlvbj4gbV9hc3NlcnRpb247CiAgICAgVmFsaWRpdHkgbV92YWxpZGl0eSB7IFZhbGlk
aXR5OjpVbnNldCB9OwotICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9pbnZhbGlkYXRpb25DYWxsYmFj
azsKICNlbmRpZgogICAgIEFzc2VydGlvblN0YXRlIG1fYXNzZXJ0aW9uU3RhdGU7Ci0gICAgUHJv
Y2Vzc0Fzc2VydGlvbkNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CisgICAgQ2xpZW50KiBt
X2NsaWVudCB7IG51bGxwdHIgfTsKIH07Ci0gICAgCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCisKIGNsYXNzIFByb2Nlc3NBbmRV
SUFzc2VydGlvbiBmaW5hbCA6IHB1YmxpYyBQcm9jZXNzQXNzZXJ0aW9uIHsKIHB1YmxpYzoKLSAg
ICBQcm9jZXNzQW5kVUlBc3NlcnRpb24oUHJvY2Vzc0lELCBBc3NlcnRpb25TdGF0ZSk7CisgICAg
UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uKFByb2Nlc3NJRCwgY29uc3QgU3RyaW5nJiByZWFzb24sIEFz
c2VydGlvblN0YXRlKTsKICAgICB+UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uKCk7CiAKLSAgICB2b2lk
IHNldENsaWVudChQcm9jZXNzQXNzZXJ0aW9uQ2xpZW50JikgZmluYWw7Ci0KICAgICB2b2lkIHNl
dFN0YXRlKEFzc2VydGlvblN0YXRlKSBmaW5hbDsKKyAgICB2b2lkIHVpQXNzZXJ0aW9uV2lsbEV4
cGlyZUltbWluZW50bHkoKTsKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9S
TShJT1NfRkFNSUxZX1NJTVVMQVRPUikKIHByaXZhdGU6CisgICAgdm9pZCBwcm9jZXNzQXNzZXJ0
aW9uV2FzSW52YWxpZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZVJ1bkluQmFja2dyb3Vu
ZENvdW50KCk7CiAKLSAgICBib29sIG1faXNIb2xkaW5nQmFja2dyb3VuZEFzc2VydGlvbiB7IGZh
bHNlIH07Ci0jZW5kaWYKKyAgICBib29sIG1faXNIb2xkaW5nQmFja2dyb3VuZFRhc2sgeyBmYWxz
ZSB9OwogfTsKLSAgICAKLX0KIAotI2VuZGlmIC8vIFByb2Nlc3NBc3NlcnRpb25faAorI2Vsc2UK
KwordXNpbmcgUHJvY2Vzc0FuZFVJQXNzZXJ0aW9uID0gUHJvY2Vzc0Fzc2VydGlvbjsKKworI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVM
QVRPUikKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCAxMDg0MzhkYzdmMWUwZDVlN2Y4Y2RlNjE0
Njg4MDI4NjZjODk3NDU4Li5iNjEyZGEwZTg4YWQ5N2U3NmU2ZjZlODc5MDBhYzVmYmFmZjAzZWZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAt
MTAzLDkgKzEwMyw5IEBAIHZvaWQgUHJvY2Vzc1Rocm90dGxlcjo6ZGlkQ29ubmVjdFRvUHJvY2Vz
cyhQcm9jZXNzSUQgcGlkKQogCiAgICAgbV9zdXNwZW5kVGltZXIuc3RvcCgpOwogICAgIGlmICht
X3Nob3VsZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb24pCi0gICAgICAgIG1fYXNzZXJ0aW9uID0g
c3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHBpZCwgYXNzZXJ0aW9uU3Rh
dGUoKSk7CisgICAgICAgIG1fYXNzZXJ0aW9uID0gc3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNzQW5k
VUlBc3NlcnRpb24+KHBpZCwgIldlYiBjb250ZW50IHZpc2liaWxpdHkiX3MsIGFzc2VydGlvblN0
YXRlKCkpOwogICAgIGVsc2UKLSAgICAgICAgbV9hc3NlcnRpb24gPSBzdGQ6Om1ha2VfdW5pcXVl
PFByb2Nlc3NBc3NlcnRpb24+KHBpZCwgYXNzZXJ0aW9uU3RhdGUoKSk7CisgICAgICAgIG1fYXNz
ZXJ0aW9uID0gc3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9uPihwaWQsICJXZWIgY29u
dGVudCB2aXNpYmlsaXR5Il9zLCBhc3NlcnRpb25TdGF0ZSgpKTsKICAgICBtX3Byb2Nlc3MuZGlk
U2V0QXNzZXJ0aW9uU3RhdGUoYXNzZXJ0aW9uU3RhdGUoKSk7CiAgICAgbV9hc3NlcnRpb24tPnNl
dENsaWVudCgqdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
cm9jZXNzVGhyb3R0bGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0
bGVyLmgKaW5kZXggNWI0NDRkOTExZmI0ZjkzMTM1OGYwODRiOGYxNDg2ZTNiODFhNTdjMy4uMDU3
NmUzODZkODY2NTVmNGE3ODRlNzc3MjFjMGZjM2IzNDRjM2RkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuaApAQCAtNDMsNyArNDMsNyBAQCB0eXBlZGVmIFBy
b2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkQ291bnRlcjo6VG9rZW4gUHJvY2Vzc1N1cHByZXNzaW9u
RGlzYWJsZWRUb2tlbgogCiBjbGFzcyBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50OwogCi1jbGFzcyBQ
cm9jZXNzVGhyb3R0bGVyIDogcHJpdmF0ZSBQcm9jZXNzQXNzZXJ0aW9uQ2xpZW50IHsKK2NsYXNz
IFByb2Nlc3NUaHJvdHRsZXIgOiBwcml2YXRlIFByb2Nlc3NBc3NlcnRpb246OkNsaWVudCB7CiBw
dWJsaWM6CiAgICAgZW51bSBGb3JlZ3JvdW5kQWN0aXZpdHlDb3VudGVyVHlwZSB7IH07CiAgICAg
dHlwZWRlZiBSZWZDb3VudGVyPEZvcmVncm91bmRBY3Rpdml0eUNvdW50ZXJUeXBlPiBGb3JlZ3Jv
dW5kQWN0aXZpdHlDb3VudGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQppbmRleCA5OTQyYjY2NDljNTY1NzA2N2VlYjlmOTQ4NTY5
OTliMmQxYTc2MWViLi5hNzNjNzg5MzVlMjI1MDRkZTVkYjRiOGFjNzA3NjViYzVkZTRiZmY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklP
Uy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNiwzNiArMjYsMzAgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUHJvY2Vz
c0Fzc2VydGlvbi5oIgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCiAKICNpbXBvcnQg
IkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxV
SUtpdC9VSUFwcGxpY2F0aW9uLmg+Ci0jaW1wb3J0IDx3dGYvSGFzaFNldC5oPgorI2ltcG9ydCA8
d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvVmVj
dG9yLmg+CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCi0KLXVzaW5nIFdl
YktpdDo6UHJvY2Vzc0Fzc2VydGlvbkNsaWVudDsKK3VzaW5nIFdlYktpdDo6UHJvY2Vzc0FuZFVJ
QXNzZXJ0aW9uOwogCiBAaW50ZXJmYWNlIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNr
TWFuYWdlciA6IE5TT2JqZWN0CiAKICsgKFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNr
TWFuYWdlciAqKXNoYXJlZDsKIAotLSAodm9pZClpbmNyZW1lbnROZWVkc1RvUnVuSW5CYWNrZ3Jv
dW5kQ291bnQ7Ci0tICh2b2lkKWRlY3JlbWVudE5lZWRzVG9SdW5JbkJhY2tncm91bmRDb3VudDsK
LQotLSAodm9pZClhZGRDbGllbnQ6KFByb2Nlc3NBc3NlcnRpb25DbGllbnQmKWNsaWVudDsKLS0g
KHZvaWQpcmVtb3ZlQ2xpZW50OihQcm9jZXNzQXNzZXJ0aW9uQ2xpZW50JiljbGllbnQ7CistICh2
b2lkKWFkZEFzc2VydGlvbk5lZWRpbmdCYWNrZ3JvdW5kVGFzazooUHJvY2Vzc0FuZFVJQXNzZXJ0
aW9uJilhc3NlcnRpb247CistICh2b2lkKXJlbW92ZUFzc2VydGlvbk5lZWRpbmdCYWNrZ3JvdW5k
VGFzazooUHJvY2Vzc0FuZFVJQXNzZXJ0aW9uJilhc3NlcnRpb247CiAKIEBlbmQKIAogQGltcGxl
bWVudGF0aW9uIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcgogewotICAg
IHVuc2lnbmVkIF9uZWVkc1RvUnVuSW5CYWNrZ3JvdW5kQ291bnQ7CiAgICAgVUlCYWNrZ3JvdW5k
VGFza0lkZW50aWZpZXIgX2JhY2tncm91bmRUYXNrOwotICAgIEhhc2hTZXQ8UHJvY2Vzc0Fzc2Vy
dGlvbkNsaWVudCo+IF9jbGllbnRzOworICAgIEhhc2hTZXQ8UHJvY2Vzc0FuZFVJQXNzZXJ0aW9u
Kj4gX2Fzc2VydGlvbnNOZWVkaW5nQmFja2dyb3VuZFRhc2s7CiB9CiAKICsgKFdLUHJvY2Vzc0Fz
c2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciAqKXNoYXJlZApAQCAtNzcsNjYgKzcxLDU4IEBA
IC0gKGluc3RhbmNldHlwZSlpbml0CiAKIC0gKHZvaWQpZGVhbGxvYwogewotICAgIGlmIChfYmFj
a2dyb3VuZFRhc2sgIT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpCi0gICAgICAgIFtbVUlBcHBs
aWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gZW5kQmFja2dyb3VuZFRhc2s6X2JhY2tncm91bmRU
YXNrXTsKLQorICAgIFtzZWxmIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdOwogICAgIFtzdXBlciBk
ZWFsbG9jXTsKIH0KIAotLSAodm9pZClhZGRDbGllbnQ6KFByb2Nlc3NBc3NlcnRpb25DbGllbnQm
KWNsaWVudAorLSAodm9pZClhZGRBc3NlcnRpb25OZWVkaW5nQmFja2dyb3VuZFRhc2s6KFByb2Nl
c3NBbmRVSUFzc2VydGlvbiYpYXNzZXJ0aW9uCiB7Ci0gICAgX2NsaWVudHMuYWRkKCZjbGllbnQp
OworICAgIF9hc3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmFkZCgmYXNzZXJ0aW9uKTsK
KyAgICBbc2VsZiBfdXBkYXRlQmFja2dyb3VuZFRhc2tdOwogfQogCi0tICh2b2lkKXJlbW92ZUNs
aWVudDooUHJvY2Vzc0Fzc2VydGlvbkNsaWVudCYpY2xpZW50CistICh2b2lkKXJlbW92ZUFzc2Vy
dGlvbk5lZWRpbmdCYWNrZ3JvdW5kVGFzazooUHJvY2Vzc0FuZFVJQXNzZXJ0aW9uJilhc3NlcnRp
b24KIHsKLSAgICBfY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CisgICAgX2Fzc2VydGlvbnNOZWVk
aW5nQmFja2dyb3VuZFRhc2sucmVtb3ZlKCZhc3NlcnRpb24pOworICAgIFtzZWxmIF91cGRhdGVC
YWNrZ3JvdW5kVGFza107CiB9CiAKLS0gKHZvaWQpX25vdGlmeUNsaWVudHNPZkltbWluZW50U3Vz
cGVuc2lvbgorLSAodm9pZClfbm90aWZ5QXNzZXJ0aW9uc09mSW1taW5lbnRTdXNwZW5zaW9uCiB7
CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGZvciAoYXV0byogY2xpZW50
IDogY29weVRvVmVjdG9yKF9jbGllbnRzKSkKLSAgICAgICAgY2xpZW50LT51aUFzc2VydGlvbldp
bGxFeHBpcmVJbW1pbmVudGx5KCk7CisgICAgZm9yIChhdXRvKiBhc3NlcnRpb24gOiBjb3B5VG9W
ZWN0b3IoX2Fzc2VydGlvbnNOZWVkaW5nQmFja2dyb3VuZFRhc2spKQorICAgICAgICBhc3NlcnRp
b24tPnVpQXNzZXJ0aW9uV2lsbEV4cGlyZUltbWluZW50bHkoKTsKIH0KIAogLSAodm9pZClfdXBk
YXRlQmFja2dyb3VuZFRhc2sKIHsKLSAgICBpZiAoX25lZWRzVG9SdW5JbkJhY2tncm91bmRDb3Vu
dCAmJiBfYmFja2dyb3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpIHsKKyAgICBp
ZiAoIV9hc3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmlzRW1wdHkoKSAmJiBfYmFja2dy
b3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpIHsKICAgICAgICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRU
YXNrTWFuYWdlciAtIGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZSIsIHNlbGYpOwogICAgICAg
ICBfYmFja2dyb3VuZFRhc2sgPSBbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJl
Z2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZTpAImNvbS5hcHBsZS5XZWJLaXQuUHJvY2Vzc0Fzc2Vy
dGlvbiIgZXhwaXJhdGlvbkhhbmRsZXI6XnsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3NTdXNwZW5zaW9uLCAiQmFja2dyb3VuZCB0YXNrIGV4cGlyZWQgd2hpbGUgaG9sZGlu
ZyBXZWJLaXQgUHJvY2Vzc0Fzc2VydGlvbiAoaXNNYWluVGhyZWFkPyAlZCkuIiwgUnVuTG9vcDo6
aXNNYWluKCkpOwogICAgICAgICAgICAgLy8gVGhlIGV4cGlyYXRpb24gaGFuZGxlciBnZXRzIGNh
bGxlZCBvbiBhIG5vbi1tYWluIHRocmVhZCB3aGVuIHRoZSB1bmRlcmx5aW5nIGFzc2VydGlvbiBj
b3VsZCBub3QgYmUgdGFrZW4gKHJkYXI6Ly9wcm9ibGVtLzI3Mjc4NDE5KS4KICAgICAgICAgICAg
IGlmIChSdW5Mb29wOjppc01haW4oKSkKLSAgICAgICAgICAgICAgICBbc2VsZiBfbm90aWZ5Q2xp
ZW50c09mSW1taW5lbnRTdXNwZW5zaW9uXTsKKyAgICAgICAgICAgICAgICBbc2VsZiBfbm90aWZ5
QXNzZXJ0aW9uc09mSW1taW5lbnRTdXNwZW5zaW9uXTsKICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsK
LSAgICAgICAgICAgICAgICAgICAgW3NlbGYgX25vdGlmeUNsaWVudHNPZkltbWluZW50U3VzcGVu
c2lvbl07CisgICAgICAgICAgICAgICAgICAgIFtzZWxmIF9ub3RpZnlBc3NlcnRpb25zT2ZJbW1p
bmVudFN1c3BlbnNpb25dOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNrZ3JvdW5k
VGFzazpfYmFja2dyb3VuZFRhc2tdOwotICAgICAgICAgICAgX2JhY2tncm91bmRUYXNrID0gVUlC
YWNrZ3JvdW5kVGFza0ludmFsaWQ7CisgICAgICAgICAgICBbc2VsZiBfcmVsZWFzZUJhY2tncm91
bmRUYXNrXTsKICAgICAgICAgfV07Ci0gICAgfQotCi0gICAgaWYgKCFfbmVlZHNUb1J1bkluQmFj
a2dyb3VuZENvdW50ICYmIF9iYWNrZ3JvdW5kVGFzayAhPSBVSUJhY2tncm91bmRUYXNrSW52YWxp
ZCkgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIC0gZW5kQmFja2dyb3VuZFRhc2siLCBz
ZWxmKTsKLSAgICAgICAgW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNr
Z3JvdW5kVGFzazpfYmFja2dyb3VuZFRhc2tdOwotICAgICAgICBfYmFja2dyb3VuZFRhc2sgPSBV
SUJhY2tncm91bmRUYXNrSW52YWxpZDsKLSAgICB9CisgICAgfSBlbHNlIGlmIChfYXNzZXJ0aW9u
c05lZWRpbmdCYWNrZ3JvdW5kVGFzay5pc0VtcHR5KCkpCisgICAgICAgIFtzZWxmIF9yZWxlYXNl
QmFja2dyb3VuZFRhc2tdOwogfQogCi0tICh2b2lkKWluY3JlbWVudE5lZWRzVG9SdW5JbkJhY2tn
cm91bmRDb3VudAorLSAodm9pZClfcmVsZWFzZUJhY2tncm91bmRUYXNrCiB7Ci0gICAgKytfbmVl
ZHNUb1J1bkluQmFja2dyb3VuZENvdW50OwotICAgIFtzZWxmIF91cGRhdGVCYWNrZ3JvdW5kVGFz
a107Ci19CisgICAgaWYgKF9iYWNrZ3JvdW5kVGFzayA9PSBVSUJhY2tncm91bmRUYXNrSW52YWxp
ZCkKKyAgICAgICAgcmV0dXJuOwogCi0tICh2b2lkKWRlY3JlbWVudE5lZWRzVG9SdW5JbkJhY2tn
cm91bmRDb3VudAotewotICAgIC0tX25lZWRzVG9SdW5JbkJhY2tncm91bmRDb3VudDsKLSAgICBb
c2VsZiBfdXBkYXRlQmFja2dyb3VuZFRhc2tdOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNw
ZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBl
bmRCYWNrZ3JvdW5kVGFzayIsIHNlbGYpOworICAgIFtbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBs
aWNhdGlvbl0gZW5kQmFja2dyb3VuZFRhc2s6X2JhY2tncm91bmRUYXNrXTsKKyAgICBfYmFja2dy
b3VuZFRhc2sgPSBVSUJhY2tncm91bmRUYXNrSW52YWxpZDsKIH0KIAogQGVuZApAQCAtMTcyLDE0
ICsxNTgsOCBAQCBzdGF0aWMgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbiByZWFzb25Gb3JTdGF0
ZShBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSkKICAgICB9CiB9CiAKLVByb2Nlc3NBc3Nl
cnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlkLCBBc3NlcnRpb25TdGF0ZSBhc3NlcnRp
b25TdGF0ZSwgRnVuY3Rpb248dm9pZCgpPiYmIGludmFsaWRhdGlvbkNhbGxiYWNrKQotICAgIDog
UHJvY2Vzc0Fzc2VydGlvbihwaWQsICJXZWIgY29udGVudCB2aXNpYmlsaXR5Il9zLCBhc3NlcnRp
b25TdGF0ZSwgV1RGTW92ZShpbnZhbGlkYXRpb25DYWxsYmFjaykpCi17Ci19Ci0KLVByb2Nlc3NB
c3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlkLCBjb25zdCBTdHJpbmcmIG5hbWUs
IEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRlLCBGdW5jdGlvbjx2b2lkKCk+JiYgaW52YWxp
ZGF0aW9uQ2FsbGJhY2spCi0gICAgOiBtX2ludmFsaWRhdGlvbkNhbGxiYWNrKFdURk1vdmUoaW52
YWxpZGF0aW9uQ2FsbGJhY2spKQotICAgICwgbV9hc3NlcnRpb25TdGF0ZShhc3NlcnRpb25TdGF0
ZSkKK1Byb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlkLCBjb25zdCBT
dHJpbmcmIG5hbWUsIEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRlKQorICAgIDogbV9hc3Nl
cnRpb25TdGF0ZShhc3NlcnRpb25TdGF0ZSkKIHsKICAgICBhdXRvIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpOwogICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25BY3F1aXNpdGlvbkhhbmRsZXIg
aGFuZGxlciA9IF4oQk9PTCBhY3F1aXJlZCkgewpAQCAtMTg4LDcgKzE2OCw3IEBAIFByb2Nlc3NB
c3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlkLCBjb25zdCBTdHJpbmcmIG5hbWUs
IEFzc2VydGlvblN0YXRlCiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAg
ICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CiAgICAg
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgICAgICAgICBtYXJrQXNJbnZh
bGlkYXRlZCgpOworICAgICAgICAgICAgICAgICAgICBwcm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxp
ZGF0ZWQoKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfTsKQEAgLTE5OSw3ICsx
NzksNyBAQCBQcm9jZXNzQXNzZXJ0aW9uOjpQcm9jZXNzQXNzZXJ0aW9uKHBpZF90IHBpZCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBBc3NlcnRpb25TdGF0ZQogICAgICAgICBkaXNwYXRjaF9hc3luYyhk
aXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJv
Y2Vzc1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NBc3NlcnRpb24oKSBQcm9jZXNzIGFzc2VydGlv
biBmb3IgcHJvY2VzcyB3aXRoIFBJRCAlZCB3YXMgaW52YWxpZGF0ZWQiLCB0aGlzLCBwaWQpOwog
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgICAgIG1hcmtBc0ludmFsaWRh
dGVkKCk7CisgICAgICAgICAgICAgICAgcHJvY2Vzc0Fzc2VydGlvbldhc0ludmFsaWRhdGVkKCk7
CiAgICAgICAgIH0pOwogICAgIH07CiB9CkBAIC0yMTIsMTMgKzE5MiwxMiBAQCBQcm9jZXNzQXNz
ZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlvbigpCiAgICAgW21fYXNzZXJ0aW9uIGludmFsaWRhdGVd
OwogfQogCi12b2lkIFByb2Nlc3NBc3NlcnRpb246Om1hcmtBc0ludmFsaWRhdGVkKCkKK3ZvaWQg
UHJvY2Vzc0Fzc2VydGlvbjo6cHJvY2Vzc0Fzc2VydGlvbldhc0ludmFsaWRhdGVkKCkKIHsKICAg
ICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNzQXNzZXJ0aW9uOjpwcm9jZXNzQXNzZXJ0aW9uV2Fz
SW52YWxpZGF0ZWQoKSIsIHRoaXMpOwogCiAgICAgbV92YWxpZGl0eSA9IFZhbGlkaXR5OjpObzsK
LSAgICBpZiAobV9pbnZhbGlkYXRpb25DYWxsYmFjaykKLSAgICAgICAgbV9pbnZhbGlkYXRpb25D
YWxsYmFjaygpOwogfQogCiB2b2lkIFByb2Nlc3NBc3NlcnRpb246OnNldFN0YXRlKEFzc2VydGlv
blN0YXRlIGFzc2VydGlvblN0YXRlKQpAQCAtMjI2LDM5ICsyMDUsMzUgQEAgdm9pZCBQcm9jZXNz
QXNzZXJ0aW9uOjpzZXRTdGF0ZShBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSkKICAgICBp
ZiAobV9hc3NlcnRpb25TdGF0ZSA9PSBhc3NlcnRpb25TdGF0ZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NBc3NlcnRp
b246OnNldFN0YXRlKCV1KSIsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihhc3NlcnRpb25T
dGF0ZSkpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNz
QXNzZXJ0aW9uOjpzZXRTdGF0ZSgldSkgcHJldmlvdXNTdGF0ZTogJXUiLCB0aGlzLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oYXNzZXJ0aW9uU3RhdGUpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9h
c3NlcnRpb25TdGF0ZSkpOwogICAgIG1fYXNzZXJ0aW9uU3RhdGUgPSBhc3NlcnRpb25TdGF0ZTsK
ICAgICBbbV9hc3NlcnRpb24gc2V0RmxhZ3M6ZmxhZ3NGb3JTdGF0ZShhc3NlcnRpb25TdGF0ZSld
OwogfQogCiB2b2lkIFByb2Nlc3NBbmRVSUFzc2VydGlvbjo6dXBkYXRlUnVuSW5CYWNrZ3JvdW5k
Q291bnQoKQogewotICAgIGJvb2wgc2hvdWxkSG9sZEJhY2tncm91bmRBc3NlcnRpb24gPSB2YWxp
ZGl0eSgpICE9IFZhbGlkaXR5OjpObyAmJiBzdGF0ZSgpICE9IEFzc2VydGlvblN0YXRlOjpTdXNw
ZW5kZWQ7Ci0KLSAgICBpZiAoc2hvdWxkSG9sZEJhY2tncm91bmRBc3NlcnRpb24pIHsKLSAgICAg
ICAgaWYgKCFtX2lzSG9sZGluZ0JhY2tncm91bmRBc3NlcnRpb24pCi0gICAgICAgICAgICBbW1dL
UHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBzaGFyZWRdIGluY3JlbWVudE5l
ZWRzVG9SdW5JbkJhY2tncm91bmRDb3VudF07Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKG1f
aXNIb2xkaW5nQmFja2dyb3VuZEFzc2VydGlvbikKLSAgICAgICAgICAgIFtbV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIHNoYXJlZF0gZGVjcmVtZW50TmVlZHNUb1J1bklu
QmFja2dyb3VuZENvdW50XTsKLSAgICB9CisgICAgYm9vbCBzaG91bGRIb2xkQmFja2dyb3VuZFRh
c2sgPSB2YWxpZGl0eSgpICE9IFZhbGlkaXR5OjpObyAmJiBzdGF0ZSgpICE9IEFzc2VydGlvblN0
YXRlOjpTdXNwZW5kZWQ7CisgICAgaWYgKG1faXNIb2xkaW5nQmFja2dyb3VuZFRhc2sgPT0gc2hv
dWxkSG9sZEJhY2tncm91bmRUYXNrKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc2hvdWxk
SG9sZEJhY2tncm91bmRUYXNrKQorICAgICAgICBbW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91
bmRUYXNrTWFuYWdlciBzaGFyZWRdIGFkZEFzc2VydGlvbk5lZWRpbmdCYWNrZ3JvdW5kVGFzazoq
dGhpc107CisgICAgZWxzZQorICAgICAgICBbW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRU
YXNrTWFuYWdlciBzaGFyZWRdIHJlbW92ZUFzc2VydGlvbk5lZWRpbmdCYWNrZ3JvdW5kVGFzazoq
dGhpc107CiAKLSAgICBtX2lzSG9sZGluZ0JhY2tncm91bmRBc3NlcnRpb24gPSBzaG91bGRIb2xk
QmFja2dyb3VuZEFzc2VydGlvbjsKKyAgICBtX2lzSG9sZGluZ0JhY2tncm91bmRUYXNrID0gc2hv
dWxkSG9sZEJhY2tncm91bmRUYXNrOwogfQogCi1Qcm9jZXNzQW5kVUlBc3NlcnRpb246OlByb2Nl
c3NBbmRVSUFzc2VydGlvbihwaWRfdCBwaWQsIEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRl
KQotICAgIDogUHJvY2Vzc0Fzc2VydGlvbihwaWQsIGFzc2VydGlvblN0YXRlLCBbdGhpc10geyB1
cGRhdGVSdW5JbkJhY2tncm91bmRDb3VudCgpOyB9KQorUHJvY2Vzc0FuZFVJQXNzZXJ0aW9uOjpQ
cm9jZXNzQW5kVUlBc3NlcnRpb24ocGlkX3QgcGlkLCBjb25zdCBTdHJpbmcmIHJlYXNvbiwgQXNz
ZXJ0aW9uU3RhdGUgYXNzZXJ0aW9uU3RhdGUpCisgICAgOiBQcm9jZXNzQXNzZXJ0aW9uKHBpZCwg
cmVhc29uLCBhc3NlcnRpb25TdGF0ZSkKIHsKICAgICB1cGRhdGVSdW5JbkJhY2tncm91bmRDb3Vu
dCgpOwogfQogCiBQcm9jZXNzQW5kVUlBc3NlcnRpb246On5Qcm9jZXNzQW5kVUlBc3NlcnRpb24o
KQogewotICAgIGlmIChtX2lzSG9sZGluZ0JhY2tncm91bmRBc3NlcnRpb24pCi0gICAgICAgIFtb
V0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIHNoYXJlZF0gZGVjcmVtZW50
TmVlZHNUb1J1bkluQmFja2dyb3VuZENvdW50XTsKLQotICAgIGlmIChhdXRvKiBjbGllbnQgPSB0
aGlzLT5jbGllbnQoKSkKLSAgICAgICAgW1tXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFz
a01hbmFnZXIgc2hhcmVkXSByZW1vdmVDbGllbnQ6KmNsaWVudF07CisgICAgaWYgKG1faXNIb2xk
aW5nQmFja2dyb3VuZFRhc2spCisgICAgICAgIFtbV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyIHNoYXJlZF0gcmVtb3ZlQXNzZXJ0aW9uTmVlZGluZ0JhY2tncm91bmRUYXNr
Oip0aGlzXTsKIH0KIAogdm9pZCBQcm9jZXNzQW5kVUlBc3NlcnRpb246OnNldFN0YXRlKEFzc2Vy
dGlvblN0YXRlIGFzc2VydGlvblN0YXRlKQpAQCAtMjY3LDYwICsyNDIsMTggQEAgdm9pZCBQcm9j
ZXNzQW5kVUlBc3NlcnRpb246OnNldFN0YXRlKEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRl
KQogICAgIHVwZGF0ZVJ1bkluQmFja2dyb3VuZENvdW50KCk7CiB9CiAKLXZvaWQgUHJvY2Vzc0Fu
ZFVJQXNzZXJ0aW9uOjpzZXRDbGllbnQoUHJvY2Vzc0Fzc2VydGlvbkNsaWVudCYgbmV3Q2xpZW50
KQotewotICAgIFtbV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIHNoYXJl
ZF0gYWRkQ2xpZW50Om5ld0NsaWVudF07Ci0gICAgaWYgKGF1dG8qIG9sZENsaWVudCA9IHRoaXMt
PmNsaWVudCgpKQotICAgICAgICBbW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFu
YWdlciBzaGFyZWRdIHJlbW92ZUNsaWVudDoqb2xkQ2xpZW50XTsKLSAgICBQcm9jZXNzQXNzZXJ0
aW9uOjpzZXRDbGllbnQobmV3Q2xpZW50KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbHNlIC8vIFBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLQotUHJvY2Vzc0Fzc2VydGlvbjo6UHJvY2Vzc0Fzc2VydGlvbihwaWRfdCwgQXNzZXJ0
aW9uU3RhdGUgYXNzZXJ0aW9uU3RhdGUsIEZ1bmN0aW9uPHZvaWQoKT4mJikKLSAgICA6IG1fYXNz
ZXJ0aW9uU3RhdGUoYXNzZXJ0aW9uU3RhdGUpCi17Ci19Ci0KLVByb2Nlc3NBc3NlcnRpb246OlBy
b2Nlc3NBc3NlcnRpb24ocGlkX3QsIGNvbnN0IFN0cmluZyYsIEFzc2VydGlvblN0YXRlIGFzc2Vy
dGlvblN0YXRlLCBGdW5jdGlvbjx2b2lkKCk+JiYpCi0gICAgOiBtX2Fzc2VydGlvblN0YXRlKGFz
c2VydGlvblN0YXRlKQotewotfQotCi1Qcm9jZXNzQXNzZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlv
bigpCi17Ci19Ci0KLXZvaWQgUHJvY2Vzc0Fzc2VydGlvbjo6c2V0U3RhdGUoQXNzZXJ0aW9uU3Rh
dGUgYXNzZXJ0aW9uU3RhdGUpCit2b2lkIFByb2Nlc3NBbmRVSUFzc2VydGlvbjo6dWlBc3NlcnRp
b25XaWxsRXhwaXJlSW1taW5lbnRseSgpCiB7Ci0gICAgbV9hc3NlcnRpb25TdGF0ZSA9IGFzc2Vy
dGlvblN0YXRlOwotfQotCi1Qcm9jZXNzQW5kVUlBc3NlcnRpb246OlByb2Nlc3NBbmRVSUFzc2Vy
dGlvbihwaWRfdCBwaWQsIEFzc2VydGlvblN0YXRlIGFzc2VydGlvblN0YXRlKQotICAgIDogUHJv
Y2Vzc0Fzc2VydGlvbihwaWQsIGFzc2VydGlvblN0YXRlKQotewotfQotCi1Qcm9jZXNzQW5kVUlB
c3NlcnRpb246On5Qcm9jZXNzQW5kVUlBc3NlcnRpb24oKQotewotfQotCi12b2lkIFByb2Nlc3NB
bmRVSUFzc2VydGlvbjo6c2V0U3RhdGUoQXNzZXJ0aW9uU3RhdGUgYXNzZXJ0aW9uU3RhdGUpCi17
Ci0gICAgUHJvY2Vzc0Fzc2VydGlvbjo6c2V0U3RhdGUoYXNzZXJ0aW9uU3RhdGUpOworICAgIGlm
IChhdXRvKiBjbGllbnQgPSB0aGlzLT5jbGllbnQoKSkKKyAgICAgICAgY2xpZW50LT51aUFzc2Vy
dGlvbldpbGxFeHBpcmVJbW1pbmVudGx5KCk7CiB9CiAKLXZvaWQgUHJvY2Vzc0FuZFVJQXNzZXJ0
aW9uOjpzZXRDbGllbnQoUHJvY2Vzc0Fzc2VydGlvbkNsaWVudCYgbmV3Q2xpZW50KQordm9pZCBQ
cm9jZXNzQW5kVUlBc3NlcnRpb246OnByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRlZCgpCiB7
Ci0gICAgUHJvY2Vzc0Fzc2VydGlvbjo6c2V0Q2xpZW50KG5ld0NsaWVudCk7CisgICAgUHJvY2Vz
c0Fzc2VydGlvbjo6cHJvY2Vzc0Fzc2VydGlvbldhc0ludmFsaWRhdGVkKCk7CisgICAgdXBkYXRl
UnVuSW5CYWNrZ3JvdW5kQ291bnQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNl
bmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikKLQotI2VuZGlmIC8vIFBMQVRG
T1JNKElPU19GQU1JTFkpCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRG
T1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>