<?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>183679</bug_id>
          
          <creation_ts>2018-03-15 14:45:59 -0700</creation_ts>
          <short_desc>WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates</short_desc>
          <delta_ts>2018-03-16 11:34:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          <blocked>180568</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1406820</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-15 14:45:59 -0700</bug_when>
    <thetext>WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406825</commentid>
    <comment_count>1</comment_count>
      <attachid>335890</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-15 15:06:03 -0700</bug_when>
    <thetext>Created attachment 335890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406882</commentid>
    <comment_count>2</comment_count>
      <attachid>335910</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-15 16:45:57 -0700</bug_when>
    <thetext>Created attachment 335910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406984</commentid>
    <comment_count>3</comment_count>
      <attachid>335910</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-03-16 08:28:51 -0700</bug_when>
    <thetext>Comment on attachment 335910
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=335910&amp;action=review

&gt; Source/WebCore/loader/cache/CachedRawResource.cpp:161
&gt; +        auto responseProcessedHandler = [this, protectedThis = CachedResourceHandle&lt;CachedRawResource&gt;(this), client] {

To make MSVC happy, replace &quot;protectedThis = CachedResourceHandle&lt;CachedRawResource&gt;(this)&quot; with &quot;protectedThis = WTFMove(protectedThis)&quot;.  MSVC thinks &quot;this&quot; refers to the containing lambda sometimes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406988</commentid>
    <comment_count>4</comment_count>
      <attachid>335939</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 08:51:22 -0700</bug_when>
    <thetext>Created attachment 335939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407014</commentid>
    <comment_count>5</comment_count>
      <attachid>335945</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 09:54:32 -0700</bug_when>
    <thetext>Created attachment 335945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407056</commentid>
    <comment_count>6</comment_count>
      <attachid>335945</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 11:33:53 -0700</bug_when>
    <thetext>Comment on attachment 335945
Patch

Clearing flags on attachment: 335945

Committed r229675: &lt;https://trac.webkit.org/changeset/229675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407057</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 11:33:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407058</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-16 11:34:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/38552016&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335890</attachid>
            <date>2018-03-15 15:06:03 -0700</date>
            <delta_ts>2018-03-15 16:45:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183679-20180315150602.patch</filename>
            <type>text/plain</type>
            <size>22858</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYzZDRlZGVjYzcyMjUy
Y2NiN2VkNmEwYWY1ODg5Y2Q5YmY1NWEyZi4uNzVkNzg4NmRlYTk4MDMzYTNhOGIzYjIzMWE5MjBj
NTIzYjY3YTEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LlJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0IEFQSSB0ZXN0IGlzIGZh
aWxpbmcgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgQ2FjaGVkUmF3UmVzb3VyY2U6OmRpZEFk
ZENsaWVudCgpIHRvIG5vdCBzZW5kIGRhdGEgdW50aWwgd2UndmUgcmVjZWl2ZWQKKyAgICAgICAg
dGhlIHBvbGljeSBkZWNpc2lvbiBmb3IgdGhlIHJlc3BvbnNlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgY292ZXJlZCBieSBuZXcgQVBJIHRlc3QuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1
YnN0aXR1dGVEYXRhTG9hZE5vdyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAg
ICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291
cmNlOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvTWVkaWFSZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVJlc291cmNl
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJhd1Jlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNl
OjpkaWRBZGRDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0
VHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVl
c3RUcmFja2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToK
KwogMjAxOC0wMy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWN0aXZlRE9NT2JqZWN0IHNob3VsZCBhc3NlcnQgdGhhdCB0aGV5IGFyZSBkZXN0cm95ZWQg
aW4gdGhlIHRocmVhZCB0aGV5IGFyZSBjcmVhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAppbmRleCBjODUwZmMzYjg1MTExNTA2NWY3MjIxY2EyNTBjZWRkMzkxNzAz
NjdiLi4zMjdjNTgxZjUwYjBmZTg2MTcyMjc2MTcxNzI3MzdhNjkwMjgyNzc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lk
IERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3coKQogICAgIGlmIChy
ZXNwb25zZS51cmwoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJlc3BvbnNlID0gUmVzb3VyY2VSZXNw
b25zZShtX3JlcXVlc3QudXJsKCksIG1fc3Vic3RpdHV0ZURhdGEubWltZVR5cGUoKSwgbV9zdWJz
dGl0dXRlRGF0YS5jb250ZW50KCktPnNpemUoKSwgbV9zdWJzdGl0dXRlRGF0YS50ZXh0RW5jb2Rp
bmcoKSk7CiAKLSAgICByZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNlKTsKKyAgICByZXNwb25zZVJl
Y2VpdmVkKHJlc3BvbnNlLCBudWxscHRyKTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Rh
cnREYXRhTG9hZFRpbWVyKCkKQEAgLTcxNiwxNCArNzE2LDE2IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OnN0b3BMb2FkaW5nQWZ0ZXJYRnJhbWVPcHRpb25zT3JDb250ZW50U2VjdXJpdHlQb2xpY3lE
ZW5pZWQoCiAgICAgICAgIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXItPmNhbmNl
bGxlZEVycm9yKG1fcmVxdWVzdCkpOwogfQogCi12b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25z
ZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCit2b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hl
ZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCBtX21haW5SZXNvdXJjZSA9PSAmcmVzb3VyY2UpOwotICAgIHJl
c3BvbnNlUmVjZWl2ZWQocmVzcG9uc2UpOworICAgIHJlc3BvbnNlUmVjZWl2ZWQocmVzcG9uc2Us
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBEb2N1bWVudExvYWRlcjo6
cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQg
RG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKKyAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0aW9uSGFuZGxlckNh
bGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisKICNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpCiAgICAgaWYgKG1fY29udGVudEZpbHRlciAmJiAhbV9jb250ZW50RmlsdGVyLT5j
b250aW51ZUFmdGVyUmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSkpCiAgICAgICAgIHJldHVybjsK
QEAgLTgwOSwxMCArODExLDEyIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2
ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgUmVmUHRyPFN1YnJlc291
cmNlTG9hZGVyPiBtYWluUmVzb3VyY2VMb2FkZXIgPSB0aGlzLT5tYWluUmVzb3VyY2VMb2FkZXIo
KTsKICAgICBpZiAobWFpblJlc291cmNlTG9hZGVyKQogICAgICAgICBtYWluUmVzb3VyY2VMb2Fk
ZXItPm1hcmtJbkFzeW5jUmVzcG9uc2VQb2xpY3lDaGVjaygpOwotICAgIGZyYW1lTG9hZGVyKCkt
PmNoZWNrQ29udGVudFBvbGljeShtX3Jlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpLCBtYWluUmVzb3VyY2VMb2FkZXIgPSBXVEZNb3ZlKG1haW5SZXNvdXJjZUxv
YWRlcildKFBvbGljeUFjdGlvbiBwb2xpY3kpIHsKKyAgICBmcmFtZUxvYWRlcigpLT5jaGVja0Nv
bnRlbnRQb2xpY3kobV9yZXNwb25zZSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgbWFpblJlc291cmNlTG9hZGVyID0gV1RGTW92ZShtYWluUmVzb3VyY2VMb2FkZXIpLCBj
b21wbGV0aW9uSGFuZGxlciA9IGNvbXBsZXRpb25IYW5kbGVyQ2FsbGVyLnJlbGVhc2UoKV0oUG9s
aWN5QWN0aW9uIHBvbGljeSkgewogICAgICAgICBjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShw
b2xpY3kpOwogICAgICAgICBpZiAobWFpblJlc291cmNlTG9hZGVyKQogICAgICAgICAgICAgbWFp
blJlc291cmNlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2VQb2xpY3koKTsKKyAgICAgICAgaWYg
KGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAg
ICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA2Nzdh
ZWY5ZWRjNjMyMmFhYjQ0NTYwYTc1MDA4YTNmZjAxZWU5MzI2Li43MGExYTNlOWVjODQ3YmIzZjIz
YmMxZjU5ODAwOGE0ZTU0YWUzOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuaApAQCAtMzU1LDExICszNTUsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaGVkTG9h
ZGluZygpOwogICAgIHZvaWQgbWFpblJlY2VpdmVkRXJyb3IoY29uc3QgUmVzb3VyY2VFcnJvciYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJj
ZSYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYpIG92ZXJyaWRlOwotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3Bv
bnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBs
ZW5ndGgpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UmKSBvdmVycmlkZTsKIAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgZGF0YVJlY2VpdmVkKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpOwogCiAgICAgYm9v
bCBtYXliZUxvYWRFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA0ZjRiZTFhMTFkY2JjYzY2ZjA4NmViZDMxYjYx
NjcxNzAwOTk2YjJlLi5lMjE5N2Y5N2RiNDRhMTZkYmI1Yzc2YjQ1ZThkMzAwYmZhZjViMTZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcApAQCAtMzA4LDEwICszMDgsMTMgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OmRhdGFTZW50KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgdW5zaWduZWQgbG9uZwogICAgIG1f
Y2xpZW50LT5kaWRTZW5kRGF0YShieXRlc1NlbnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiB9CiAK
LXZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJl
c291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lk
IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJj
ZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNF
RChyZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOwogICAgIGRpZFJlY2VpdmVSZXNw
b25zZShtX3Jlc291cmNlLT5pZGVudGlmaWVyKCksIHJlc3BvbnNlKTsKKworICAgIGlmIChjb21w
bGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAogdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDIxYzhh
YjYwYTVmMGIxYjE4OTNlNWFhOWZhZjJkNjc3YjgxMTFhYzMuLmMyYmJjNGQzMzY5NzM0ZWJkMDc1
ZDIzZTVhZjI1ZWU2M2QxYmIzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTgxLDcgKzgxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIC8vIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50CiAgICAgICAgIHZvaWQg
ZGF0YVNlbnQoQ2FjaGVkUmVzb3VyY2UmLCB1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1
bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KSBvdmVycmlkZTsKLSAgICAgICAg
dm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpIG92ZXJyaWRlOworICAgICAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVz
b3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2Um
LCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkgb3ZlcnJpZGU7CiAgICAgICAgIHZv
aWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJl
cXVlc3QmJik+JiYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGZpbmlzaGVkVGltaW5nRm9yV29y
a2VyTG9hZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlVGltaW5nJikgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
MzgxMmI4MmJhZjYxNjIwNjU1OWYxMzUyOGJlMWRlOWFhNjJkZTZlMi4uMTQ4MjY0M2ZmMDIyZTE0
ZmU0NWQzNzQ0ZDA4ZWFmNDRiNGI3ODBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9N
ZWRpYVJlc291cmNlTG9hZGVyLmNwcApAQCAtMTM5LDkgKzEzOSwxMCBAQCB2b2lkIE1lZGlhUmVz
b3VyY2U6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnNMb2FkaW5nKQogICAgICAgICBtX3Jl
c291cmNlLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVyc0xvYWRpbmcpOwogfQogCi12b2lkIE1lZGlh
UmVzb3VyY2U6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgTWVkaWFSZXNvdXJjZTo6cmVzcG9u
c2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3Vy
Y2UpOworICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIGNvbXBsZXRpb25IYW5kbGVy
Q2FsbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmICghbV9sb2FkZXIt
PmRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVk
aWFSZXNvdXJjZUxvYWRlci5oCmluZGV4IGEzMWRmMTgzN2YzMzQ1OWYxODA5MmJjNjliMGYyMGIw
MmEzMDhjZjEuLjM0OTI3N2UwZDlkMjA0MDI5OTM1ZDc5Y2U0NGMxMzY1NjgzZjk0ZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaApAQCAtODIsNyArODIs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBkaWRQYXNzQWNjZXNzQ29udHJvbENoZWNrKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9kaWRQYXNzQWNjZXNzQ29udHJvbENoZWNrOyB9CiAKICAgICAv
LyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNo
ZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lk
IHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHJlZGly
ZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYp
PiYmKSBvdmVycmlkZTsKICAgICBib29sIHNob3VsZENhY2hlUmVzcG9uc2UoQ2FjaGVkUmVzb3Vy
Y2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkYXRhU2Vu
dChDYWNoZWRSZXNvdXJjZSYsIHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25n
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOGRmZjk0
ZDM3OGU5ZDA2OTJiODVkZTVkYjlkZWVkN2JjZTc1ODZiOS4uODY0Y2QwZWMwYmRiY2ZmODg5MDUz
NmM5YzQ0MTdmOTNkZGNlMTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTc1LDkgKzc1LDEwIEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyOjpj
YW5jZWwoRXJyb3IgZXJyb3IpCiAgICAgfQogfQogCi12b2lkIEFwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBBcHBsaWNhdGlvbkNhY2hlUmVz
b3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZy
ZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKKyAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29w
ZSBjb21wbGV0aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAK
ICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSA0MDQgfHwgcmVzcG9uc2UuaHR0
cFN0YXR1c0NvZGUoKSA9PSA0MTApIHsKICAgICAgICAgY2FuY2VsKEVycm9yOjpOb3RGb3VuZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKaW5kZXggNDMwYTczZWIyZDY1NjhiMjFmNjRj
ZGQ4NTA5ZDI0ODM1NjI5YmE0Zi4uNzJiMjk3NTVmMTFkOTQwOTVmYTdlZGQ1MzA5NjhmN2M1N2I1
N2JlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaApAQCAtNTQsNyArNTQsNyBAQCBw
cml2YXRlOgogICAgIGV4cGxpY2l0IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlcih1bnNp
Z25lZCwgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+JiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoUmVzb3VyY2VPckVycm9yJiYpPiYmKTsKIAogICAgIC8vIENhY2hlZFJh
d1Jlc291cmNlQ2xpZW50Ci0gICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNl
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOworICAgIHZvaWQgcmVzcG9uc2VSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIHZvaWQgZGF0YVJlY2VpdmVkKENhY2hlZFJl
c291cmNlJiwgY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpIGZpbmFsOwogICAgIHZv
aWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJl
cXVlc3QmJik+JiYpIGZpbmFsOwogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3Vy
Y2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSYXdSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3
UmVzb3VyY2UuY3BwCmluZGV4IGU3ZGJmY2QxMWM5MmZkYjdkMzMwYmYxMjA1M2RkYjMyMWNiNTRh
ZjUuLmU5OGNiZTNiZjgwZTgxODY2ODE1Zjk0YTlmZTBiMWIwYzNiZTg0MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcApAQCAtMTU4
LDYgKzE1OCwxNiBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpkaWRBZGRDbGllbnQoQ2FjaGVk
UmVzb3VyY2VDbGllbnQmIGMpCiAgICAgaXRlcmF0ZVJlZGlyZWN0cyhDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4odGhpcyksIGNsaWVudCwgV1RGTW92ZShyZWRpcmVjdHNJ
blJldmVyc2VPcmRlciksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkUmF3UmVzb3VyY2U+KHRoaXMpLCBjbGllbnQgPSAmY2xpZW50XSAoUmVzb3VyY2VS
ZXF1ZXN0JiYpIG11dGFibGUgewogICAgICAgICBpZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYXV0byByZXNwb25zZVByb2Nlc3NlZEhhbmRsZXIg
PSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jl
c291cmNlPih0aGlzKSwgY2xpZW50XSB7CisgICAgICAgICAgICBpZiAoIWhhc0NsaWVudCgqY2xp
ZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAobV9kYXRhKQor
ICAgICAgICAgICAgICAgIGNsaWVudC0+ZGF0YVJlY2VpdmVkKCp0aGlzLCBtX2RhdGEtPmRhdGEo
KSwgbV9kYXRhLT5zaXplKCkpOworICAgICAgICAgICAgaWYgKCFoYXNDbGllbnQoKmNsaWVudCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OmRp
ZEFkZENsaWVudCgqY2xpZW50KTsKKyAgICAgICAgfTsKKwogICAgICAgICBpZiAoIW1fcmVzcG9u
c2UuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UobV9y
ZXNwb25zZSk7CiAgICAgICAgICAgICBpZiAodmFsaWRhdGlvbkNvbXBsZXRpbmcoKSkKQEAgLTE2
NiwxNSArMTc2LDkgQEAgdm9pZCBDYWNoZWRSYXdSZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KENhY2hl
ZFJlc291cmNlQ2xpZW50JiBjKQogICAgICAgICAgICAgICAgIEFTU0VSVCghdmFsaWRhdGlvbklu
UHJvZ3Jlc3MoKSk7CiAgICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0U291cmNlKFJlc291cmNl
UmVzcG9uc2U6OlNvdXJjZTo6TWVtb3J5Q2FjaGUpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2xpZW50LT5yZXNwb25zZVJlY2VpdmVkKCp0aGlzLCByZXNwb25zZSk7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKCFoYXNDbGllbnQoKmNsaWVudCkpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIGlmIChtX2RhdGEpCi0gICAgICAgICAgICBjbGllbnQtPmRhdGFSZWNlaXZlZCgqdGhp
cywgbV9kYXRhLT5kYXRhKCksIG1fZGF0YS0+c2l6ZSgpKTsKLSAgICAgICAgaWYgKCFoYXNDbGll
bnQoKmNsaWVudCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIENhY2hlZFJlc291cmNl
OjpkaWRBZGRDbGllbnQoKmNsaWVudCk7CisgICAgICAgICAgICBjbGllbnQtPnJlc3BvbnNlUmVj
ZWl2ZWQoKnRoaXMsIHJlc3BvbnNlLCBXVEZNb3ZlKHJlc3BvbnNlUHJvY2Vzc2VkSGFuZGxlcikp
OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJlc3BvbnNlUHJvY2Vzc2VkSGFuZGxlcigp
OwogICAgIH0pOwogfQogCkBAIC0yMTUsNyArMjE5LDcgQEAgdm9pZCBDYWNoZWRSYXdSZXNvdXJj
ZTo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAg
ICBDYWNoZWRSZXNvdXJjZTo6cmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSk7CiAgICAgQ2FjaGVk
UmVzb3VyY2VDbGllbnRXYWxrZXI8Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ+IHcobV9jbGllbnRz
KTsKICAgICB3aGlsZSAoQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQqIGMgPSB3Lm5leHQoKSkKLSAg
ICAgICAgYy0+cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgbV9yZXNwb25zZSk7CisgICAgICAgIGMt
PnJlc3BvbnNlUmVjZWl2ZWQoKnRoaXMsIG1fcmVzcG9uc2UsIG51bGxwdHIpOwogfQogCiBib29s
IENhY2hlZFJhd1Jlc291cmNlOjpzaG91bGRDYWNoZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaAppbmRleCA3NThiN2FkN2RhMTcxYTJhZmZjZjg3ODBk
NDI2OTAxZTlmYmUyZjc3Li41NDdjNjg5OGRiZDNjNjdiOGE4ZGI3OGYwYzEyYTFiZDg3MDEzMWFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3Vy
Y2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVz
b3VyY2VDbGllbnQuaApAQCAtMzksNyArMzksMTIgQEAgcHVibGljOgogICAgIENhY2hlZFJlc291
cmNlQ2xpZW50VHlwZSByZXNvdXJjZUNsaWVudFR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBleHBlY3RlZFR5cGUoKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRhdGFTZW50KENhY2hlZFJl
c291cmNlJiwgdW5zaWduZWQgbG9uZyBsb25nIC8qIGJ5dGVzU2VudCAqLywgdW5zaWduZWQgbG9u
ZyBsb25nIC8qIHRvdGFsQnl0ZXNUb0JlU2VudCAqLykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHJl
c3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQorICAgIHsKKyAgICAgICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQorICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkQ2FjaGVSZXNwb25zZShDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRhdGFSZWNlaXZlZChDYWNo
ZWRSZXNvdXJjZSYsIGNvbnN0IGNoYXIqIC8qIGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIHsg
fQogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgUmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7
IGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmNwcAppbmRl
eCA1NWJlYjdlYzM5ZTczZGY4M2YzNjY5MjZkY2ZiODg0M2E4ZWVkYmJiLi4wMGM1NTA1ZTdlYzE3
NTA1ODI1ZjE0YTM1ODcwYzAzMzg3Zjk0MDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0VHJhY2tlci5jcHAKQEAgLTY2LDExICs2
NiwxNCBAQCB2b2lkIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOjpyZWdpc3RlclJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlKQogICAgIHJlc291cmNlLmFkZENsaWVudCgqdGhpcyk7CiB9
CiAKLXZvaWQgS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVk
UmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKK3ZvaWQgS2VlcGFs
aXZlUmVxdWVzdFRyYWNrZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIC8vIFBlciBGZXRjaCBzcGVjaWZpY2F0aW9uLCBh
bGxvY2F0ZWQgcXVvdGEgc2hvdWxkIGJlIHJldHVybmVkIGJlZm9yZSB0aGUgcHJvbWlzZSBpcyBy
ZXNvbHZlZCwKICAgICAvLyB3aGljaCBpcyB3aGVuIHRoZSByZXNwb25zZSBpcyByZWNlaXZlZC4K
ICAgICB1bnJlZ2lzdGVyUmVxdWVzdChyZXNvdXJjZSk7CisKKyAgICBpZiAoY29tcGxldGlvbkhh
bmRsZXIpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKIHZvaWQgS2VlcGFsaXZl
UmVxdWVzdFRyYWNrZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0
VHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RU
cmFja2VyLmgKaW5kZXggNDdkYTRlZGU3Y2M4OTU5MTIwYmQ3YjIwNzNlZDk0MzIyMTZiMTkyNi4u
MGMzMzNkYjgxYmY5OTVhOGFhOGZmMWZmYzAwNWUzZWZiZWNmY2NjYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmgKQEAg
LTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgIGJvb2wgdHJ5UmVnaXN0ZXJSZXF1ZXN0KENhY2hl
ZFJlc291cmNlJik7CiAKICAgICAvLyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC4KLSAgICB2b2lk
IHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JikgZmluYWw7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7
CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYpIGZpbmFsOwogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2Fk
ZXIuaAppbmRleCBmNWUzNzQwNDI5NDJhZjU5ZjIwOWI5YzE1ZTZhZjg5YjdhNmVhYjk2Li5lY2Nk
YmQzMWQ5MjliYWM5OGQzZGZjZTNmNWE2MmQwYWNlZWQ3YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVz
b3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIuaApAQCAtNTYsNyArNTYsNyBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gQ2FjaGVkUmVzb3VyY2VDbGllbnQKLSAgICB2
b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNl
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBj
aGFyKiwgaW50KSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVB
VkZSZXNvdXJjZUxvYWRlci5tbQppbmRleCA5NzFjODMxYTQ5ZGI2ZTQwZjg2NmRmYzg4NGMyOTNk
ODgyNWRiYTI5Li4xNmIwN2U2NGM0ZGEyMDFjYTk3ZTE1MWVjNDdmNWVlYTFjMGZlMzhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1t
CkBAIC0xMDgsOSArMTA4LDEwIEBAIHZvaWQgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjppbnZh
bGlkYXRlKCkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXI6OnJl
c3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25z
ZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gbV9yZXNvdXJj
ZSk7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxldGlvbkhhbmRsZXJD
YWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaW50IHN0YXR1cyA9IHJl
c3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CiAgICAgaWYgKHN0YXR1cyAmJiAoc3RhdHVzIDwgMjAw
IHx8IHN0YXR1cyA+IDI5OSkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBlZjNmMjM0NzY5Mjg2MGVjMGU0OWFjMzZjZDNhZGU5MWM2YTgwNjgy
Li44Y2I3NWVmNmU1OGU4ZWVkZGU5NzJjNjU3YzJlOGYzNjg2ZjZmNDUwIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTgtMDMtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJL
aXQuUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRhaW5pbmdTY3JvbGxSZXN0b3JhdGlvbkRlZmF1bHQg
QVBJIHRlc3QgaXMgZmFpbGluZyB3aXRoIGFzeW5jIHBvbGljeSBkZWxlZ2F0ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzY3OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3Zl
cmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNz
aW9uU3RhdGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOC0wMy0xNSAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIFdL
Ml0gSGl0LXRlc3RpbmcgZmFpbHMgd2hlbiBzcGVjaWZ5aW5nIGEgbGFyZ2UgdG9wIGNvbnRlbnQg
aW5zZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3Rv
cmVTZXNzaW9uU3RhdGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVz
dG9yZVNlc3Npb25TdGF0ZS5jcHAKaW5kZXggODI1MjAxZWIwYjFhMjVlY2ZhYTVmZjljYjQxOGFk
M2Q1MGQwNGJjZi4uZmM3OTQyYTI4MzNhZGE5MjkyZTYyYTJjYjIwOTkzYzJjNTkzMDlkMCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25T
dGF0ZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVzdG9yZVNl
c3Npb25TdGF0ZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZp
ZXcuaCIKICNpbmNsdWRlICJUZXN0LmgiCiAjaW5jbHVkZSA8V2ViS2l0L1dLU2Vzc2lvblN0YXRl
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkgewogCkBAIC00Miw2ICs0MywyMiBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJh
bWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKQogICAgIGRp
ZEZpbmlzaExvYWQgPSB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1lTmF2
aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBX
S0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLRnJhbWVSZWYgb3JpZ2luYXRpbmdGcmFt
ZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0
ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAg
IFdLUmV0YWluUHRyPFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZj4gcmV0YWluZWRMaXN0ZW5lcihs
aXN0ZW5lcik7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtyZXRhaW5lZExpc3RlbmVy
ID0gV1RGTW92ZShyZXRhaW5lZExpc3RlbmVyKV0geworICAgICAgICBXS0ZyYW1lUG9saWN5TGlz
dGVuZXJVc2UocmV0YWluZWRMaXN0ZW5lci5nZXQoKSk7CisgICAgfSk7Cit9CisKK3N0YXRpYyB2
b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZy
YW1lLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwg
Ym9vbCBjYW5TaG93TUlNRVR5cGUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwg
V0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIFdLUmV0
YWluUHRyPFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZj4gcmV0YWluZWRMaXN0ZW5lcihsaXN0ZW5l
cik7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtyZXRhaW5lZExpc3RlbmVyID0gV1RG
TW92ZShyZXRhaW5lZExpc3RlbmVyKV0geworICAgICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJV
c2UocmV0YWluZWRMaXN0ZW5lci5nZXQoKSk7CisgICAgfSk7Cit9CisKIHN0YXRpYyB2b2lkIHNl
dFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCiB7CiAgICAgV0tQYWdlTG9hZGVyQ2xp
ZW50VjAgbG9hZGVyQ2xpZW50OwpAQCAtODQsNiArMTAxLDMxIEBAIFRFU1QoV2ViS2l0LCBSZXN0
b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uRGVmYXVsdCkKICAgICBF
WFBFQ1RfSlNfRVEod2ViVmlldy5wYWdlKCksICJoaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uIiwg
ImF1dG8iKTsKIH0KIAorVEVTVChXZWJLaXQsIFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5n
U2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0V2l0aEFzeW5jUG9saWN5RGVsZWdhdGVzKQoreworICAg
IFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVh
dGUoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKKyAg
ICBzZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpKTsKKworICAgIFdLUGFnZVBvbGlj
eUNsaWVudFYxIHBvbGljeUNsaWVudDsKKyAgICBtZW1zZXQoJnBvbGljeUNsaWVudCwgMCwgc2l6
ZW9mKHBvbGljeUNsaWVudCkpOworICAgIHBvbGljeUNsaWVudC5iYXNlLnZlcnNpb24gPSAxOwor
ICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKKyAgICBwb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5
Rm9yUmVzcG9uc2UgPSBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZTsKKyAgICBXS1BhZ2VTZXRQYWdl
UG9saWN5Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcG9saWN5Q2xpZW50LmJhc2UpOworCisgICAg
V0tSZXRhaW5QdHI8V0tEYXRhUmVmPiBkYXRhID0gY3JlYXRlU2Vzc2lvblN0YXRlRGF0YShjb250
ZXh0LmdldCgpKTsKKyAgICBFWFBFQ1RfTk9UX05VTEwoZGF0YSk7CisKKyAgICBhdXRvIHNlc3Np
b25TdGF0ZSA9IGFkb3B0V0soV0tTZXNzaW9uU3RhdGVDcmVhdGVGcm9tRGF0YShkYXRhLmdldCgp
KSk7CisgICAgV0tQYWdlUmVzdG9yZUZyb21TZXNzaW9uU3RhdGUod2ViVmlldy5wYWdlKCksIHNl
c3Npb25TdGF0ZS5nZXQoKSk7CisKKyAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOworCisg
ICAgRVhQRUNUX0pTX0VRKHdlYlZpZXcucGFnZSgpLCAiaGlzdG9yeS5zY3JvbGxSZXN0b3JhdGlv
biIsICJhdXRvIik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335910</attachid>
            <date>2018-03-15 16:45:57 -0700</date>
            <delta_ts>2018-03-16 08:51:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183679-20180315164556.patch</filename>
            <type>text/plain</type>
            <size>22812</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY5NjNhOTA0M2JlZDU5
M2QxMmU1NWM2ZTViZDM1Y2FiN2M5YTg5MS4uNDVhZGI5YTk3NGIzZTA1MzZiMmMzMGMzZDg3NzE5
YjAwYjBkMTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LlJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0IEFQSSB0ZXN0IGlzIGZh
aWxpbmcgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgQ2FjaGVkUmF3UmVzb3VyY2U6OmRpZEFk
ZENsaWVudCgpIHRvIG5vdCBzZW5kIGRhdGEgdW50aWwgd2UndmUgcmVjZWl2ZWQKKyAgICAgICAg
dGhlIHBvbGljeSBkZWNpc2lvbiBmb3IgdGhlIHJlc3BvbnNlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgY292ZXJlZCBieSBuZXcgQVBJIHRlc3QuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1
YnN0aXR1dGVEYXRhTG9hZE5vdyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAg
ICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291
cmNlOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvTWVkaWFSZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVJlc291cmNl
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJhd1Jlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNl
OjpkaWRBZGRDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0
VHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVl
c3RUcmFja2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToK
KwogMjAxOC0wMy0xNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIyOTYzOS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGM4NTBmYzNiODUxMTE1MDY1ZjcyMjFjYTI1
MGNlZGQzOTE3MDM2N2IuLjMyN2M1ODFmNTBiMGZlODYxNzIyNzYxNzE3MjczN2E2OTAyODI3Nzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNDYxLDcgKzQ2
MSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1YnN0aXR1dGVEYXRhTG9hZE5vdygp
CiAgICAgaWYgKHJlc3BvbnNlLnVybCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmVzcG9uc2UgPSBS
ZXNvdXJjZVJlc3BvbnNlKG1fcmVxdWVzdC51cmwoKSwgbV9zdWJzdGl0dXRlRGF0YS5taW1lVHlw
ZSgpLCBtX3N1YnN0aXR1dGVEYXRhLmNvbnRlbnQoKS0+c2l6ZSgpLCBtX3N1YnN0aXR1dGVEYXRh
LnRleHRFbmNvZGluZygpKTsKIAotICAgIHJlc3BvbnNlUmVjZWl2ZWQocmVzcG9uc2UpOworICAg
IHJlc3BvbnNlUmVjZWl2ZWQocmVzcG9uc2UsIG51bGxwdHIpOwogfQogCiB2b2lkIERvY3VtZW50
TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQpAQCAtNzE2LDE0ICs3MTYsMTYgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmdBZnRlclhGcmFtZU9wdGlvbnNPckNvbnRlbnRTZWN1
cml0eVBvbGljeURlbmllZCgKICAgICAgICAgY2FuY2VsTWFpblJlc291cmNlTG9hZChmcmFtZUxv
YWRlci0+Y2FuY2VsbGVkRXJyb3IobV9yZXF1ZXN0KSk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVj
ZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIG1fbWFpblJlc291cmNlID09ICZyZXNvdXJj
ZSk7Ci0gICAgcmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSk7CisgICAgcmVzcG9uc2VSZWNlaXZl
ZChyZXNwb25zZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIERvY3Vt
ZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQordm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIGNvbXBsZXRp
b25IYW5kbGVyQ2FsbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKwogI2lmIEVOQUJM
RShDT05URU5UX0ZJTFRFUklORykKICAgICBpZiAobV9jb250ZW50RmlsdGVyICYmICFtX2NvbnRl
bnRGaWx0ZXItPmNvbnRpbnVlQWZ0ZXJSZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNlKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtODA5LDEwICs4MTEsMTIgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVz
cG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICBSZWZQ
dHI8U3VicmVzb3VyY2VMb2FkZXI+IG1haW5SZXNvdXJjZUxvYWRlciA9IHRoaXMtPm1haW5SZXNv
dXJjZUxvYWRlcigpOwogICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIpCiAgICAgICAgIG1haW5S
ZXNvdXJjZUxvYWRlci0+bWFya0luQXN5bmNSZXNwb25zZVBvbGljeUNoZWNrKCk7Ci0gICAgZnJh
bWVMb2FkZXIoKS0+Y2hlY2tDb250ZW50UG9saWN5KG1fcmVzcG9uc2UsIFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG1haW5SZXNvdXJjZUxvYWRlciA9IFdURk1vdmUobWFp
blJlc291cmNlTG9hZGVyKV0oUG9saWN5QWN0aW9uIHBvbGljeSkgeworICAgIGZyYW1lTG9hZGVy
KCktPmNoZWNrQ29udGVudFBvbGljeShtX3Jlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IG1ha2VSZWYoKnRoaXMpLCBtYWluUmVzb3VyY2VMb2FkZXIgPSBXVEZNb3ZlKG1haW5SZXNvdXJj
ZUxvYWRlciksIGNvbXBsZXRpb25IYW5kbGVyID0gY29tcGxldGlvbkhhbmRsZXJDYWxsZXIucmVs
ZWFzZSgpXShQb2xpY3lBY3Rpb24gcG9saWN5KSB7CiAgICAgICAgIGNvbnRpbnVlQWZ0ZXJDb250
ZW50UG9saWN5KHBvbGljeSk7CiAgICAgICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIpCiAgICAg
ICAgICAgICBtYWluUmVzb3VyY2VMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZVBvbGljeSgpOwor
ICAgICAgICBpZiAoY29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5o
CmluZGV4IDY3N2FlZjllZGM2MzIyYWFiNDQ1NjBhNzUwMDhhM2ZmMDFlZTkzMjYuLjcwYTFhM2U5
ZWM4NDdiYjNmMjNiYzFmNTk4MDA4YTRlNTRhZTM5NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCkBAIC0zNTUsMTEgKzM1NSwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZmluaXNoZWRMb2FkaW5nKCk7CiAgICAgdm9pZCBtYWluUmVjZWl2ZWRFcnJvcihjb25zdCBSZXNv
dXJjZUVycm9yJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWRpcmVjdFJlY2VpdmVkKENh
Y2hlZFJlc291cmNlJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVxdWVzdCYmKT4mJikgb3ZlcnJpZGU7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNl
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgY2hhciog
ZGF0YSwgaW50IGxlbmd0aCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCByZXNwb25z
ZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIHJlc3BvbnNlUmVj
ZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCBkYXRhUmVjZWl2ZWQoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCk7
CiAKICAgICBib29sIG1heWJlTG9hZEVtcHR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDRmNGJlMWExMWRjYmNjNjZm
MDg2ZWJkMzFiNjE2NzE3MDA5OTZiMmUuLmUyMTk3Zjk3ZGI0NGExNmRiYjVjNzZiNDVlOGQzMDBi
ZmFmNWIxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCkBAIC0zMDgsMTAgKzMwOCwxMyBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6ZGF0YVNlbnQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCB1bnNpZ25lZCBs
b25nCiAgICAgbV9jbGllbnQtPmRpZFNlbmREYXRhKGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVT
ZW50KTsKIH0KIAotdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBB
U1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gbV9yZXNvdXJjZSk7CiAgICAgZGlk
UmVjZWl2ZVJlc3BvbnNlKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwgcmVzcG9uc2UpOworCisg
ICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwog
fQogCiB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgK
aW5kZXggMjFjOGFiNjBhNWYwYjFiMTg5M2U1YWE5ZmFmMmQ2NzdiODExMWFjMy4uYzJiYmM0ZDMz
Njk3MzRlYmQwNzVkMjNlNWFmMjVlZTYzZDFiYjMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtODEsNyArODEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQKICAg
ICAgICAgdm9pZCBkYXRhU2VudChDYWNoZWRSZXNvdXJjZSYsIHVuc2lnbmVkIGxvbmcgbG9uZyBi
eXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIG92ZXJyaWRl
OwotICAgICAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZl
ZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNo
ZWRSZXNvdXJjZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKSBvdmVycmlkZTsK
ICAgICAgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgUmVzb3VyY2VS
ZXF1ZXN0JiYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFJlc291cmNlUmVxdWVzdCYmKT4mJikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZmluaXNoZWRU
aW1pbmdGb3JXb3JrZXJMb2FkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VUaW1pbmcm
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVy
LmNwcAppbmRleCAzODEyYjgyYmFmNjE2MjA2NTU5ZjEzNTI4YmUxZGU5YWE2MmRlNmUyLi4xNDgy
NjQzZmYwMjJlMTRmZTQ1ZDM3NDRkMDhlYWY0NGI0Yjc4MGUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzksOSArMTM5LDEwIEBAIHZv
aWQgTWVkaWFSZXNvdXJjZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyc0xvYWRpbmcpCiAg
ICAgICAgIG1fcmVzb3VyY2UtPnNldERlZmVyc0xvYWRpbmcoZGVmZXJzTG9hZGluZyk7CiB9CiAK
LXZvaWQgTWVkaWFSZXNvdXJjZTo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVz
b3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBNZWRpYVJlc291
cmNlOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2Ug
PT0gbV9yZXNvdXJjZSk7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxl
dGlvbkhhbmRsZXJDYWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYg
KCFtX2xvYWRlci0+ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKaW5kZXggYTMxZGYxODM3ZjMzNDU5ZjE4MDky
YmM2OWIwZjIwYjAyYTMwOGNmMS4uMzQ5Mjc3ZTBkOWQyMDQwMjk5MzVkNzljZTQ0YzEzNjU2ODNm
OTRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCkBA
IC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGRpZFBhc3NBY2Nlc3NDb250cm9sQ2hl
Y2soKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2RpZFBhc3NBY2Nlc3NDb250cm9sQ2hlY2s7
IH0KIAogICAgIC8vIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50Ci0gICAgdm9pZCByZXNwb25zZVJl
Y2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRl
OworICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJj
ZVJlcXVlc3QmJik+JiYpIG92ZXJyaWRlOwogICAgIGJvb2wgc2hvdWxkQ2FjaGVSZXNwb25zZShD
YWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2
b2lkIGRhdGFTZW50KENhY2hlZFJlc291cmNlJiwgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25l
ZCBsb25nIGxvbmcpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNwcApp
bmRleCA4ZGZmOTRkMzc4ZTlkMDY5MmI4NWRlNWRiOWRlZWQ3YmNlNzU4NmI5Li44NjRjZDBlYzBi
ZGJjZmY4ODkwNTM2YzljNDQxN2Y5M2RkY2UxMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNl
TG9hZGVyLmNwcApAQCAtNzUsOSArNzUsMTAgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXI6OmNhbmNlbChFcnJvciBlcnJvcikKICAgICB9CiB9CiAKLXZvaWQgQXBwbGljYXRp
b25DYWNoZVJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiBy
ZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIEFwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYg
cmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChy
ZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOworICAgIENvbXBsZXRpb25IYW5kbGVy
Q2FsbGluZ1Njb3BlIGNvbXBsZXRpb25IYW5kbGVyQ2FsbGVyKFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDQwNCB8fCBy
ZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDQxMCkgewogICAgICAgICBjYW5jZWwoRXJyb3I6
Ok5vdEZvdW5kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA0MzBhNzNlYjJk
NjU2OGIyMWY2NGNkZDg1MDlkMjQ4MzU2MjliYTRmLi43MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUz
MDk2OGY3YzU3YjU3YmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC01NCw3
ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQXBwbGljYXRpb25DYWNoZVJlc291cmNl
TG9hZGVyKHVuc2lnbmVkLCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4m
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZU9yRXJyb3ImJik+JiYpOwogCiAgICAg
Ly8gQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQKLSAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CisgICAgdm9pZCBy
ZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CiAgICAgdm9pZCBkYXRhUmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkgZmlu
YWw7CiAgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgUmVzb3VyY2VS
ZXF1ZXN0JiYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFJlc291cmNlUmVxdWVzdCYmKT4mJikgZmluYWw7CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChD
YWNoZWRSZXNvdXJjZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKaW5kZXggZTdkYmZjZDExYzkyZmRiN2QzMzBiZjEyMDUz
ZGRiMzIxY2I1NGFmNS4uZTk4Y2JlM2JmODBlODE4NjY4MTVmOTRhOWZlMGIxYjBjM2JlODQwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2Uu
Y3BwCkBAIC0xNTgsNiArMTU4LDE2IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmRpZEFkZENs
aWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCYgYykKICAgICBpdGVyYXRlUmVkaXJlY3RzKENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPih0aGlzKSwgY2xpZW50LCBXVEZNb3Zl
KHJlZGlyZWN0c0luUmV2ZXJzZU9yZGVyKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4odGhpcyksIGNsaWVudCA9ICZjbGllbnRd
IChSZXNvdXJjZVJlcXVlc3QmJikgbXV0YWJsZSB7CiAgICAgICAgIGlmICghaGFzQ2xpZW50KCpj
bGllbnQpKQogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBhdXRvIHJlc3BvbnNlUHJvY2Vz
c2VkSGFuZGxlciA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkUmF3UmVzb3VyY2U+KHRoaXMpLCBjbGllbnRdIHsKKyAgICAgICAgICAgIGlmICghaGFz
Q2xpZW50KCpjbGllbnQpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGlm
IChtX2RhdGEpCisgICAgICAgICAgICAgICAgY2xpZW50LT5kYXRhUmVjZWl2ZWQoKnRoaXMsIG1f
ZGF0YS0+ZGF0YSgpLCBtX2RhdGEtPnNpemUoKSk7CisgICAgICAgICAgICBpZiAoIWhhc0NsaWVu
dCgqY2xpZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBDYWNoZWRS
ZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KCpjbGllbnQpOworICAgICAgICB9OworCiAgICAgICAgIGlm
ICghbV9yZXNwb25zZS5pc051bGwoKSkgewogICAgICAgICAgICAgUmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZShtX3Jlc3BvbnNlKTsKICAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uQ29tcGxldGlu
ZygpKQpAQCAtMTY2LDE1ICsxNzYsOSBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpkaWRBZGRD
bGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGMpCiAgICAgICAgICAgICAgICAgQVNTRVJUKCF2
YWxpZGF0aW9uSW5Qcm9ncmVzcygpKTsKICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRTb3Vy
Y2UoUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpNZW1vcnlDYWNoZSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBjbGllbnQtPnJlc3BvbnNlUmVjZWl2ZWQoKnRoaXMsIHJlc3BvbnNlKTsK
LSAgICAgICAgfQotICAgICAgICBpZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAgICAgICAgIGNsaWVudC0+ZGF0YVJl
Y2VpdmVkKCp0aGlzLCBtX2RhdGEtPmRhdGEoKSwgbV9kYXRhLT5zaXplKCkpOwotICAgICAgICBp
ZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgQ2Fj
aGVkUmVzb3VyY2U6OmRpZEFkZENsaWVudCgqY2xpZW50KTsKKyAgICAgICAgICAgIGNsaWVudC0+
cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgcmVzcG9uc2UsIFdURk1vdmUocmVzcG9uc2VQcm9jZXNz
ZWRIYW5kbGVyKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmVzcG9uc2VQcm9jZXNz
ZWRIYW5kbGVyKCk7CiAgICAgfSk7CiB9CiAKQEAgLTIxNSw3ICsyMTksNyBAQCB2b2lkIENhY2hl
ZFJhd1Jlc291cmNlOjpyZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogICAgIENhY2hlZFJlc291cmNlOjpyZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNlKTsK
ICAgICBDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlcjxDYWNoZWRSYXdSZXNvdXJjZUNsaWVudD4g
dyhtX2NsaWVudHMpOwogICAgIHdoaWxlIChDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCogYyA9IHcu
bmV4dCgpKQotICAgICAgICBjLT5yZXNwb25zZVJlY2VpdmVkKCp0aGlzLCBtX3Jlc3BvbnNlKTsK
KyAgICAgICAgYy0+cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgbV9yZXNwb25zZSwgbnVsbHB0cik7
CiB9CiAKIGJvb2wgQ2FjaGVkUmF3UmVzb3VyY2U6OnNob3VsZENhY2hlUmVzcG9uc2UoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oCmluZGV4IDc1OGI3YWQ3ZGExNzFh
MmFmZmNmODc4MGQ0MjY5MDFlOWZiZTJmNzcuLjU0N2M2ODk4ZGJkM2M2N2I4YThkYjc4ZjBjMTJh
MWJkODcwMTMxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSYXdSZXNvdXJjZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oCkBAIC0zOSw3ICszOSwxMiBAQCBwdWJsaWM6CiAgICAg
Q2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50VHlwZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGF0YVNl
bnQoQ2FjaGVkUmVzb3VyY2UmLCB1bnNpZ25lZCBsb25nIGxvbmcgLyogYnl0ZXNTZW50ICovLCB1
bnNpZ25lZCBsb25nIGxvbmcgLyogdG90YWxCeXRlc1RvQmVTZW50ICovKSB7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRS
ZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgeworICAgICAgICBpZiAoY29tcGxldGlvbkhh
bmRsZXIpCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0KKwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGF0YVJl
Y2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgY2hhciogLyogZGF0YSAqLywgaW50IC8qIGxl
bmd0aCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVz
b3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXF1ZXN0KSk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0VHJhY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNr
ZXIuY3BwCmluZGV4IDU1YmViN2VjMzllNzNkZjgzZjM2NjkyNmRjZmI4ODQzYThlZWRiYmIuLjAw
YzU1MDVlN2VjMTc1MDU4MjVmMTRhMzU4NzBjMDMzODdmOTQwMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0VHJhY2tlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmNwcApA
QCAtNjYsMTEgKzY2LDE0IEBAIHZvaWQgS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXI6OnJlZ2lzdGVy
UmVxdWVzdChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgcmVzb3VyY2UuYWRkQ2xpZW50
KCp0aGlzKTsKIH0KIAotdm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6cmVzcG9uc2VSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQor
dm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNv
dXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgLy8gUGVyIEZldGNoIHNwZWNp
ZmljYXRpb24sIGFsbG9jYXRlZCBxdW90YSBzaG91bGQgYmUgcmV0dXJuZWQgYmVmb3JlIHRoZSBw
cm9taXNlIGlzIHJlc29sdmVkLAogICAgIC8vIHdoaWNoIGlzIHdoZW4gdGhlIHJlc3BvbnNlIGlz
IHJlY2VpdmVkLgogICAgIHVucmVnaXN0ZXJSZXF1ZXN0KHJlc291cmNlKTsKKworICAgIGlmIChj
b21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAogdm9p
ZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Um
IHJlc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBh
bGl2ZVJlcXVlc3RUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFs
aXZlUmVxdWVzdFRyYWNrZXIuaAppbmRleCA0N2RhNGVkZTdjYzg5NTkxMjBiZDdiMjA3M2VkOTQz
MjIxNmIxOTI2Li4wYzMzM2RiODFiZjk5NWE4YWE4ZmYxZmZjMDA1ZTNlZmJlY2ZjY2NhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRy
YWNrZXIuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB0cnlSZWdpc3RlclJl
cXVlc3QoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIC8vIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50
LgotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKSBmaW5hbDsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVz
b3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKSBmaW5hbDsKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJikgZmlu
YWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlci5oCmluZGV4IGY1ZTM3NDA0Mjk0MmFmNTlmMjA5YjljMTVlNmFmODliN2E2
ZWFiOTYuLmVjY2RiZDMxZDkyOWJhYzk4ZDNkZmNlM2Y1YTYyZDBhY2VlZDdiNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dl
YkNvcmVBVkZSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5oCkBAIC01
Niw3ICs1Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBDYWNoZWRSZXNvdXJjZUNs
aWVudAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJj
ZSYsIGNvbnN0IGNoYXIqLCBpbnQpIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9h
ZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tCmluZGV4IDk3MWM4MzFhNDlkYjZlNDBmODY2
ZGZjODg0YzI5M2Q4ODI1ZGJhMjkuLjE2YjA3ZTY0YzRkYTIwMWNhOTdlMTUxZWM0N2Y1ZWVhMWMw
ZmUzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3Vy
Y2VMb2FkZXIubW0KQEAgLTEwOCw5ICsxMDgsMTAgQEAgdm9pZCBXZWJDb3JlQVZGUmVzb3VyY2VM
b2FkZXI6OmludmFsaWRhdGUoKQogICAgIH0pOwogfQogCi12b2lkIFdlYkNvcmVBVkZSZXNvdXJj
ZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBXZWJDb3JlQVZGUmVzb3VyY2VMb2Fk
ZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZyZXNvdXJjZSA9
PSBtX3Jlc291cmNlKTsKKyAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0
aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpbnQg
c3RhdHVzID0gcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKTsKICAgICBpZiAoc3RhdHVzICYmIChz
dGF0dXMgPCAyMDAgfHwgc3RhdHVzID4gMjk5KSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVmM2YyMzQ3NjkyODYwZWMwZTQ5YWMzNmNkM2Fk
ZTkxYzZhODA2ODIuLjhjYjc1ZWY2ZTU4ZThlZWRkZTk3MmM2NTdjMmU4ZjM2ODZmNmY0NTAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxOC0wMy0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYktpdC5SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0
aW9uRGVmYXVsdCBBUEkgdGVzdCBpcyBmYWlsaW5nIHdpdGggYXN5bmMgcG9saWN5IGRlbGVnYXRl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNjc5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQ
SSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
UmVzdG9yZVNlc3Npb25TdGF0ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRlY2lk
ZVBvbGljeUZvclJlc3BvbnNlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAy
MDE4LTAzLTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1MgV0syXSBIaXQtdGVzdGluZyBmYWlscyB3aGVuIHNwZWNpZnlpbmcgYSBsYXJnZSB0
b3AgY29udGVudCBpbnNldApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9SZXN0b3JlU2Vzc2lvblN0YXRlLmNwcAppbmRleCA4MjUyMDFlYjBiMWEyNWVjZmFh
NWZmOWNiNDE4YWQzZDUwZDA0YmNmLi5mYzc5NDJhMjgzM2FkYTkyOTJlNjJhMmNiMjA5OTNjMmM1
OTMwOWQwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXN0
b3JlU2Vzc2lvblN0YXRlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9SZXN0b3JlU2Vzc2lvblN0YXRlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlBs
YXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3QuaCIKICNpbmNsdWRlIDxXZWJLaXQvV0tT
ZXNzaW9uU3RhdGVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSSB7CiAKQEAgLTQyLDYgKzQzLDIyIEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlz
aExvYWRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9p
ZCopCiAgICAgZGlkRmluaXNoTG9hZCA9IHRydWU7CiB9CiAKK3N0YXRpYyB2b2lkIGRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24oV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUs
IFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBt
b2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tGcmFtZVJlZiBvcmln
aW5hdGluZ0ZyYW1lLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFtZVBvbGljeUxpc3Rl
bmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCit7CisgICAgV0tSZXRhaW5QdHI8V0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmPiByZXRhaW5l
ZExpc3RlbmVyKGxpc3RlbmVyKTsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3JldGFp
bmVkTGlzdGVuZXIgPSBXVEZNb3ZlKHJldGFpbmVkTGlzdGVuZXIpXSB7CisgICAgICAgIFdLRnJh
bWVQb2xpY3lMaXN0ZW5lclVzZShyZXRhaW5lZExpc3RlbmVyLmdldCgpKTsKKyAgICB9KTsKK30K
Kworc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdL
RnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJl
ZiByZXF1ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVm
IGxpc3RlbmVyLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7
CisgICAgV0tSZXRhaW5QdHI8V0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmPiByZXRhaW5lZExpc3Rl
bmVyKGxpc3RlbmVyKTsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3JldGFpbmVkTGlz
dGVuZXIgPSBXVEZNb3ZlKHJldGFpbmVkTGlzdGVuZXIpXSB7CisgICAgICAgIFdLRnJhbWVQb2xp
Y3lMaXN0ZW5lclVzZShyZXRhaW5lZExpc3RlbmVyLmdldCgpKTsKKyAgICB9KTsKK30KKwogc3Rh
dGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSkKIHsKICAgICBXS1Bh
Z2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CkBAIC04NCw2ICsxMDEsMzEgQEAgVEVTVChX
ZWJLaXQsIFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZh
dWx0KQogICAgIEVYUEVDVF9KU19FUSh3ZWJWaWV3LnBhZ2UoKSwgImhpc3Rvcnkuc2Nyb2xsUmVz
dG9yYXRpb24iLCAiYXV0byIpOwogfQogCitURVNUKFdlYktpdCwgUmVzdG9yZVNlc3Npb25TdGF0
ZUNvbnRhaW5pbmdTY3JvbGxSZXN0b3JhdGlvbkRlZmF1bHRXaXRoQXN5bmNQb2xpY3lEZWxlZ2F0
ZXMpCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdL
Q29udGV4dENyZWF0ZSgpKTsKKworICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQu
Z2V0KCkpOworICAgIHNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCkpOworCisgICAg
V0tQYWdlUG9saWN5Q2xpZW50VjEgcG9saWN5Q2xpZW50OworICAgIG1lbXNldCgmcG9saWN5Q2xp
ZW50LCAwLCBzaXplb2YocG9saWN5Q2xpZW50KSk7CisgICAgcG9saWN5Q2xpZW50LmJhc2UudmVy
c2lvbiA9IDE7CisgICAgcG9saWN5Q2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24gPSBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOworICAgIHBvbGljeUNsaWVudC5k
ZWNpZGVQb2xpY3lGb3JSZXNwb25zZSA9IGRlY2lkZVBvbGljeUZvclJlc3BvbnNlOworICAgIFdL
UGFnZVNldFBhZ2VQb2xpY3lDbGllbnQod2ViVmlldy5wYWdlKCksICZwb2xpY3lDbGllbnQuYmFz
ZSk7CisKKyAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IGRhdGEgPSBjcmVhdGVTZXNzaW9uU3Rh
dGVEYXRhKGNvbnRleHQuZ2V0KCkpOworICAgIEVYUEVDVF9OT1RfTlVMTChkYXRhKTsKKworICAg
IGF1dG8gc2Vzc2lvblN0YXRlID0gYWRvcHRXSyhXS1Nlc3Npb25TdGF0ZUNyZWF0ZUZyb21EYXRh
KGRhdGEuZ2V0KCkpKTsKKyAgICBXS1BhZ2VSZXN0b3JlRnJvbVNlc3Npb25TdGF0ZSh3ZWJWaWV3
LnBhZ2UoKSwgc2Vzc2lvblN0YXRlLmdldCgpKTsKKworICAgIFV0aWw6OnJ1bigmZGlkRmluaXNo
TG9hZCk7CisKKyAgICBFWFBFQ1RfSlNfRVEod2ViVmlldy5wYWdlKCksICJoaXN0b3J5LnNjcm9s
bFJlc3RvcmF0aW9uIiwgImF1dG8iKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335939</attachid>
            <date>2018-03-16 08:51:22 -0700</date>
            <delta_ts>2018-03-16 09:54:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183679-20180316085121.patch</filename>
            <type>text/plain</type>
            <size>22822</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIxMTgyYTE1NWVhZmY1
MmExNGRkZjY0ZGFlZmUyN2M5ZjhlOThlMS4uMWNiZmZhNzlmM2U3OWU2NmU0MTJiZjUwN2ZkNTRk
YjU2NzMwNGQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LlJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0IEFQSSB0ZXN0IGlzIGZh
aWxpbmcgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgQ2FjaGVkUmF3UmVzb3VyY2U6OmRpZEFk
ZENsaWVudCgpIHRvIG5vdCBzZW5kIGRhdGEgdW50aWwgd2UndmUgcmVjZWl2ZWQKKyAgICAgICAg
dGhlIHBvbGljeSBkZWNpc2lvbiBmb3IgdGhlIHJlc3BvbnNlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgY292ZXJlZCBieSBuZXcgQVBJIHRlc3QuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1
YnN0aXR1dGVEYXRhTG9hZE5vdyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAg
ICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291
cmNlOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvTWVkaWFSZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVJlc291cmNl
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJhd1Jlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNl
OjpkaWRBZGRDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0
VHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVl
c3RUcmFja2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToK
KwogMjAxOC0wMy0xNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIFdoZW4gdXNpbmcgRUdMLCByZXF1ZXN0IGFuIE9wZW5HTCBjb3JlIHByb2ZpbGUg
d2hlbiBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5k
ZXggYzg1MGZjM2I4NTExMTUwNjVmNzIyMWNhMjUwY2VkZDM5MTcwMzY3Yi4uMzI3YzU4MWY1MGIw
ZmU4NjE3MjI3NjE3MTcyNzM3YTY5MDI4Mjc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCkBAIC00NjEsNyArNDYxLDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6
aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKICAgICBpZiAocmVzcG9uc2UudXJsKCkuaXNF
bXB0eSgpKQogICAgICAgICByZXNwb25zZSA9IFJlc291cmNlUmVzcG9uc2UobV9yZXF1ZXN0LnVy
bCgpLCBtX3N1YnN0aXR1dGVEYXRhLm1pbWVUeXBlKCksIG1fc3Vic3RpdHV0ZURhdGEuY29udGVu
dCgpLT5zaXplKCksIG1fc3Vic3RpdHV0ZURhdGEudGV4dEVuY29kaW5nKCkpOwogCi0gICAgcmVz
cG9uc2VSZWNlaXZlZChyZXNwb25zZSk7CisgICAgcmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSwg
bnVsbHB0cik7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0YUxvYWRUaW1lcigp
CkBAIC03MTYsMTQgKzcxNiwxNiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZ0Fm
dGVyWEZyYW1lT3B0aW9uc09yQ29udGVudFNlY3VyaXR5UG9saWN5RGVuaWVkKAogICAgICAgICBj
YW5jZWxNYWluUmVzb3VyY2VMb2FkKGZyYW1lTG9hZGVyLT5jYW5jZWxsZWRFcnJvcihtX3JlcXVl
c3QpKTsKIH0KIAotdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRS
ZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9p
ZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3Vy
Y2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJj
ZSwgbV9tYWluUmVzb3VyY2UgPT0gJnJlc291cmNlKTsKLSAgICByZXNwb25zZVJlY2VpdmVkKHJl
c3BvbnNlKTsKKyAgICByZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNlLCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIERvY3VtZW50TG9hZGVyOjpy
ZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgQ29tcGxldGlv
bkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxldGlvbkhhbmRsZXJDYWxsZXIoV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOworCiAjaWYgRU5BQkxFKENPTlRFTlRfRklMVEVSSU5HKQogICAgIGlm
IChtX2NvbnRlbnRGaWx0ZXIgJiYgIW1fY29udGVudEZpbHRlci0+Y29udGludWVBZnRlclJlc3Bv
bnNlUmVjZWl2ZWQocmVzcG9uc2UpKQogICAgICAgICByZXR1cm47CkBAIC04MDksMTAgKzgxMSwx
MiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gbWFpblJl
c291cmNlTG9hZGVyID0gdGhpcy0+bWFpblJlc291cmNlTG9hZGVyKCk7CiAgICAgaWYgKG1haW5S
ZXNvdXJjZUxvYWRlcikKICAgICAgICAgbWFpblJlc291cmNlTG9hZGVyLT5tYXJrSW5Bc3luY1Jl
c3BvbnNlUG9saWN5Q2hlY2soKTsKLSAgICBmcmFtZUxvYWRlcigpLT5jaGVja0NvbnRlbnRQb2xp
Y3kobV9yZXNwb25zZSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbWFp
blJlc291cmNlTG9hZGVyID0gV1RGTW92ZShtYWluUmVzb3VyY2VMb2FkZXIpXShQb2xpY3lBY3Rp
b24gcG9saWN5KSB7CisgICAgZnJhbWVMb2FkZXIoKS0+Y2hlY2tDb250ZW50UG9saWN5KG1fcmVz
cG9uc2UsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG1haW5SZXNvdXJj
ZUxvYWRlciA9IFdURk1vdmUobWFpblJlc291cmNlTG9hZGVyKSwgY29tcGxldGlvbkhhbmRsZXIg
PSBjb21wbGV0aW9uSGFuZGxlckNhbGxlci5yZWxlYXNlKCldKFBvbGljeUFjdGlvbiBwb2xpY3kp
IHsKICAgICAgICAgY29udGludWVBZnRlckNvbnRlbnRQb2xpY3kocG9saWN5KTsKICAgICAgICAg
aWYgKG1haW5SZXNvdXJjZUxvYWRlcikKICAgICAgICAgICAgIG1haW5SZXNvdXJjZUxvYWRlci0+
ZGlkUmVjZWl2ZVJlc3BvbnNlUG9saWN5KCk7CisgICAgICAgIGlmIChjb21wbGV0aW9uSGFuZGxl
cikKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5kZXggNjc3YWVmOWVkYzYzMjJhYWI0NDU2
MGE3NTAwOGEzZmYwMWVlOTMyNi4uNzBhMWEzZTllYzg0N2JiM2YyM2JjMWY1OTgwMDhhNGU1NGFl
Mzk1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTM1NSwxMSAr
MzU1LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hlZExvYWRpbmcoKTsKICAgICB2b2lk
IG1haW5SZWNlaXZlZEVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVl
c3QmJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVz
b3VyY2VSZXF1ZXN0JiYpPiYmKSBvdmVycmlkZTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJl
c3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikg
b3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hl
ZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJikgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkYXRhUmVjZWl2ZWQo
Q2FjaGVkUmVzb3VyY2UmLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKSBvdmVycmlkZTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJikg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOworICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGRhdGFSZWNlaXZlZChj
b25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKTsKIAogICAgIGJvb2wgbWF5YmVMb2FkRW1wdHko
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKaW5kZXggNGY0YmUxYTExZGNiY2M2NmYwODZlYmQzMWI2MTY3MTcwMDk5NmIyZS4uZTIx
OTdmOTdkYjQ0YTE2ZGJiNWM3NmI0NWU4ZDMwMGJmYWY1YjE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTMwOCwxMCAr
MzA4LDEzIEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkYXRhU2VudChDYWNoZWRS
ZXNvdXJjZSYgcmVzb3VyY2UsIHVuc2lnbmVkIGxvbmcKICAgICBtX2NsaWVudC0+ZGlkU2VuZERh
dGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12b2lkIERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Us
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZyZXNv
dXJjZSA9PSBtX3Jlc291cmNlKTsKICAgICBkaWRSZWNlaXZlUmVzcG9uc2UobV9yZXNvdXJjZS0+
aWRlbnRpZmllcigpLCByZXNwb25zZSk7CisKKyAgICBpZiAoY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCAyMWM4YWI2MGE1ZjBiMWIxODkzZTVh
YTlmYWYyZDY3N2I4MTExYWMzLi5jMmJiYzRkMzM2OTczNGViZDA3NWQyM2U1YWYyNWVlNjNkMWJi
MzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5oCkBAIC04MSw3ICs4MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAv
LyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudAogICAgICAgICB2b2lkIGRhdGFTZW50KENhY2hlZFJl
c291cmNlJiwgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25n
IHRvdGFsQnl0ZXNUb0JlU2VudCkgb3ZlcnJpZGU7Ci0gICAgICAgIHZvaWQgcmVzcG9uc2VSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsK
KyAgICAgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgb3ZlcnJpZGU7CiAg
ICAgICAgIHZvaWQgZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgY2hhciogZGF0
YSwgaW50IGRhdGFMZW5ndGgpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIHJlZGlyZWN0UmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmKSBvdmVy
cmlkZTsKICAgICAgICAgdm9pZCBmaW5pc2hlZFRpbWluZ0ZvcldvcmtlckxvYWQoQ2FjaGVkUmVz
b3VyY2UmLCBjb25zdCBSZXNvdXJjZVRpbWluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM4MTJiODJiYWY2MTYyMDY1
NTlmMTM1MjhiZTFkZTlhYTYyZGU2ZTIuLjE0ODI2NDNmZjAyMmUxNGZlNDVkMzc0NGQwOGVhZjQ0
YjRiNzgwZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTEzOSw5ICsxMzksMTAgQEAgdm9pZCBNZWRpYVJlc291cmNlOjpzZXREZWZlcnNM
b2FkaW5nKGJvb2wgZGVmZXJzTG9hZGluZykKICAgICAgICAgbV9yZXNvdXJjZS0+c2V0RGVmZXJz
TG9hZGluZyhkZWZlcnNMb2FkaW5nKTsKIH0KIAotdm9pZCBNZWRpYVJlc291cmNlOjpyZXNwb25z
ZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCit2b2lkIE1lZGlhUmVzb3VyY2U6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVk
UmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VS
VF9VTlVTRUQocmVzb3VyY2UsICZyZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKKyAgICBDb21wbGV0
aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoIW1fbG9hZGVyLT5kb2N1bWVudCgpKQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
aAppbmRleCBhMzFkZjE4MzdmMzM0NTlmMTgwOTJiYzY5YjBmMjBiMDJhMzA4Y2YxLi4zNDkyNzdl
MGQ5ZDIwNDAyOTkzNWQ3OWNlNDRjMTM2NTY4M2Y5NGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogICAg
IGJvb2wgZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjaygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjazsgfQogCiAgICAgLy8gQ2FjaGVkUmF3UmVzb3Vy
Y2VDbGllbnQKLSAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVk
KENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKENhY2hl
ZFJlc291cmNlJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVxdWVzdCYmKT4mJikgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGF0YVNlbnQoQ2FjaGVkUmVzb3VyY2Um
LCB1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDhkZmY5NGQzNzhlOWQwNjkyYjg1ZGU1
ZGI5ZGVlZDdiY2U3NTg2YjkuLjg2NGNkMGVjMGJkYmNmZjg4OTA1MzZjOWM0NDE3ZjkzZGRjZTEx
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03NSw5ICs3NSwxMCBA
QCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlcjo6Y2FuY2VsKEVycm9yIGVycm9y
KQogICAgIH0KIH0KIAotdm9pZCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXI6OnJlc3Bv
bnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKK3ZvaWQgQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyOjpyZXNw
b25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gbV9yZXNv
dXJjZSk7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxldGlvbkhhbmRs
ZXJDYWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHJlc3BvbnNl
Lmh0dHBTdGF0dXNDb2RlKCkgPT0gNDA0IHx8IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0g
NDEwKSB7CiAgICAgICAgIGNhbmNlbChFcnJvcjo6Tm90Rm91bmQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5oCmluZGV4IDQzMGE3M2ViMmQ2NTY4YjIxZjY0Y2RkODUwOWQyNDgzNTYyOWJh
NGYuLjcyYjI5NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBleHBs
aWNpdCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIodW5zaWduZWQsIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
c291cmNlT3JFcnJvciYmKT4mJik7CiAKICAgICAvLyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudAot
ICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKSBmaW5hbDsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3Vy
Y2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KSBmaW5hbDsKICAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IGNo
YXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKSBmaW5hbDsKICAgICB2b2lkIHJlZGlyZWN0UmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmKSBmaW5h
bDsKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJikgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAppbmRl
eCBlN2RiZmNkMTFjOTJmZGI3ZDMzMGJmMTIwNTNkZGIzMjFjYjU0YWY1Li4wN2Y5ZDQ2OTI1YmU5
OTBjOTJjZTIwODc1NjM1ZWMzMTlmMDA4NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKQEAgLTE1OCw2ICsxNTgsMTYgQEAgdm9p
ZCBDYWNoZWRSYXdSZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50JiBj
KQogICAgIGl0ZXJhdGVSZWRpcmVjdHMoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+KHRoaXMpLCBjbGllbnQsIFdURk1vdmUocmVkaXJlY3RzSW5SZXZlcnNlT3JkZXIpLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291
cmNlPih0aGlzKSwgY2xpZW50ID0gJmNsaWVudF0gKFJlc291cmNlUmVxdWVzdCYmKSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKCFoYXNDbGllbnQoKmNsaWVudCkpCiAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGF1dG8gcmVzcG9uc2VQcm9jZXNzZWRIYW5kbGVyID0gW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBjbGllbnRdIHsKKyAgICAgICAgICAgIGlm
ICghaGFzQ2xpZW50KCpjbGllbnQpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIGlmIChtX2RhdGEpCisgICAgICAgICAgICAgICAgY2xpZW50LT5kYXRhUmVjZWl2ZWQoKnRo
aXMsIG1fZGF0YS0+ZGF0YSgpLCBtX2RhdGEtPnNpemUoKSk7CisgICAgICAgICAgICBpZiAoIWhh
c0NsaWVudCgqY2xpZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBD
YWNoZWRSZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KCpjbGllbnQpOworICAgICAgICB9OworCiAgICAg
ICAgIGlmICghbV9yZXNwb25zZS5pc051bGwoKSkgewogICAgICAgICAgICAgUmVzb3VyY2VSZXNw
b25zZSByZXNwb25zZShtX3Jlc3BvbnNlKTsKICAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uQ29t
cGxldGluZygpKQpAQCAtMTY2LDE1ICsxNzYsOSBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpk
aWRBZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGMpCiAgICAgICAgICAgICAgICAgQVNT
RVJUKCF2YWxpZGF0aW9uSW5Qcm9ncmVzcygpKTsKICAgICAgICAgICAgICAgICByZXNwb25zZS5z
ZXRTb3VyY2UoUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpNZW1vcnlDYWNoZSk7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjbGllbnQtPnJlc3BvbnNlUmVjZWl2ZWQoKnRoaXMsIHJlc3Bv
bnNlKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAgICAgICAgIGNsaWVudC0+
ZGF0YVJlY2VpdmVkKCp0aGlzLCBtX2RhdGEtPmRhdGEoKSwgbV9kYXRhLT5zaXplKCkpOwotICAg
ICAgICBpZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgQ2FjaGVkUmVzb3VyY2U6OmRpZEFkZENsaWVudCgqY2xpZW50KTsKKyAgICAgICAgICAgIGNs
aWVudC0+cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgcmVzcG9uc2UsIFdURk1vdmUocmVzcG9uc2VQ
cm9jZXNzZWRIYW5kbGVyKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmVzcG9uc2VQ
cm9jZXNzZWRIYW5kbGVyKCk7CiAgICAgfSk7CiB9CiAKQEAgLTIxNSw3ICsyMTksNyBAQCB2b2lk
IENhY2hlZFJhd1Jlc291cmNlOjpyZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogICAgIENhY2hlZFJlc291cmNlOjpyZXNwb25zZVJlY2VpdmVkKHJlc3Bv
bnNlKTsKICAgICBDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlcjxDYWNoZWRSYXdSZXNvdXJjZUNs
aWVudD4gdyhtX2NsaWVudHMpOwogICAgIHdoaWxlIChDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCog
YyA9IHcubmV4dCgpKQotICAgICAgICBjLT5yZXNwb25zZVJlY2VpdmVkKCp0aGlzLCBtX3Jlc3Bv
bnNlKTsKKyAgICAgICAgYy0+cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgbV9yZXNwb25zZSwgbnVs
bHB0cik7CiB9CiAKIGJvb2wgQ2FjaGVkUmF3UmVzb3VyY2U6OnNob3VsZENhY2hlUmVzcG9uc2Uo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oCmluZGV4IDc1OGI3YWQ3
ZGExNzFhMmFmZmNmODc4MGQ0MjY5MDFlOWZiZTJmNzcuLjU0N2M2ODk4ZGJkM2M2N2I4YThkYjc4
ZjBjMTJhMWJkODcwMTMxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oCkBAIC0zOSw3ICszOSwxMiBAQCBwdWJsaWM6
CiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50VHlwZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGF0YVNlbnQoQ2FjaGVkUmVzb3VyY2UmLCB1bnNpZ25lZCBsb25nIGxvbmcgLyogYnl0ZXNTZW50
ICovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyogdG90YWxCeXRlc1RvQmVTZW50ICovKSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChD
YWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgeworICAgICAgICBpZiAoY29tcGxl
dGlvbkhhbmRsZXIpCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0KKwog
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKENhY2hlZFJlc291cmNlJiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQg
ZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgY2hhciogLyogZGF0YSAqLywgaW50
IC8qIGxlbmd0aCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXF1ZXN0KSk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0
VHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVz
dFRyYWNrZXIuY3BwCmluZGV4IDU1YmViN2VjMzllNzNkZjgzZjM2NjkyNmRjZmI4ODQzYThlZWRi
YmIuLjAwYzU1MDVlN2VjMTc1MDU4MjVmMTRhMzU4NzBjMDMzODdmOTQwMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1ZXN0VHJhY2tlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2Vy
LmNwcApAQCAtNjYsMTEgKzY2LDE0IEBAIHZvaWQgS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXI6OnJl
Z2lzdGVyUmVxdWVzdChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgcmVzb3VyY2UuYWRk
Q2xpZW50KCp0aGlzKTsKIH0KIAotdm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6cmVzcG9u
c2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQordm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNo
ZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgLy8gUGVyIEZldGNo
IHNwZWNpZmljYXRpb24sIGFsbG9jYXRlZCBxdW90YSBzaG91bGQgYmUgcmV0dXJuZWQgYmVmb3Jl
IHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLAogICAgIC8vIHdoaWNoIGlzIHdoZW4gdGhlIHJlc3Bv
bnNlIGlzIHJlY2VpdmVkLgogICAgIHVucmVnaXN0ZXJSZXF1ZXN0KHJlc291cmNlKTsKKworICAg
IGlmIChjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0K
IAogdm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVz
b3VyY2UmIHJlc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
S2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuaAppbmRleCA0N2RhNGVkZTdjYzg5NTkxMjBiZDdiMjA3
M2VkOTQzMjIxNmIxOTI2Li4wYzMzM2RiODFiZjk5NWE4YWE4ZmYxZmZjMDA1ZTNlZmJlY2ZjY2Nh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVz
dFRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVx
dWVzdFRyYWNrZXIuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB0cnlSZWdp
c3RlclJlcXVlc3QoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIC8vIENhY2hlZFJhd1Jlc291cmNl
Q2xpZW50LgotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
JikgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNv
cmVBVkZSZXNvdXJjZUxvYWRlci5oCmluZGV4IGY1ZTM3NDA0Mjk0MmFmNTlmMjA5YjljMTVlNmFm
ODliN2E2ZWFiOTYuLmVjY2RiZDMxZDkyOWJhYzk4ZDNkZmNlM2Y1YTYyZDBhY2VlZDdiNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5o
CkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBDYWNoZWRSZXNv
dXJjZUNsaWVudAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRS
ZXNvdXJjZSYsIGNvbnN0IGNoYXIqLCBpbnQpIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkUmVzb3VyY2UmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291
cmNlTG9hZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tCmluZGV4IDk3MWM4MzFhNDlkYjZl
NDBmODY2ZGZjODg0YzI5M2Q4ODI1ZGJhMjkuLjE2YjA3ZTY0YzRkYTIwMWNhOTdlMTUxZWM0N2Y1
ZWVhMWMwZmUzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZG
UmVzb3VyY2VMb2FkZXIubW0KQEAgLTEwOCw5ICsxMDgsMTAgQEAgdm9pZCBXZWJDb3JlQVZGUmVz
b3VyY2VMb2FkZXI6OmludmFsaWRhdGUoKQogICAgIH0pOwogfQogCi12b2lkIFdlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Us
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBXZWJDb3JlQVZGUmVzb3Vy
Y2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZyZXNv
dXJjZSA9PSBtX3Jlc291cmNlKTsKKyAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBj
b21wbGV0aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAg
ICBpbnQgc3RhdHVzID0gcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKTsKICAgICBpZiAoc3RhdHVz
ICYmIChzdGF0dXMgPCAyMDAgfHwgc3RhdHVzID4gMjk5KSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGEwOTdkYWZmNThkODQ5YTIwZDk3MWYx
YTA2N2Q3NWI0MGI3ZmQ2YzMuLmJlZTg2NzEzZmZhZWNjYzA1YmZiYTI2NDViOTRkYzNmOTVmNjQ4
NzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxOC0wMy0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYktpdC5SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJl
c3RvcmF0aW9uRGVmYXVsdCBBUEkgdGVzdCBpcyBmYWlsaW5nIHdpdGggYXN5bmMgcG9saWN5IGRl
bGVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgzNjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorCiAyMDE4LTAzLTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xheW91dFJlbG9hZGVkXSBVdGlscy5jb21wdXRlZCogZnVuY3Rpb25zIHNob3VsZCBqdXN0
IHRha2Ugbm9kZSBpbnN0ZWFkIG9mIGJveC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAKaW5kZXggODI1MjAxZWIw
YjFhMjVlY2ZhYTVmZjljYjQxOGFkM2Q1MGQwNGJjZi4uZmM3OTQyYTI4MzNhZGE5MjkyZTYyYTJj
YjIwOTkzYzJjNTkzMDlkMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKICNpbmNsdWRlICJUZXN0LmgiCiAjaW5jbHVkZSA8
V2ViS2l0L1dLU2Vzc2lvblN0YXRlUmVmLmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAog
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCkBAIC00Miw2ICs0MywyMiBAQCBzdGF0aWMgdm9p
ZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYs
IGNvbnN0IHZvaWQqKQogICAgIGRpZEZpbmlzaExvYWQgPSB0cnVlOwogfQogCitzdGF0aWMgdm9p
ZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBXS0ZyYW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRN
b2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLRnJh
bWVSZWYgb3JpZ2luYXRpbmdGcmFtZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQ
b2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQoreworICAgIFdLUmV0YWluUHRyPFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
Zj4gcmV0YWluZWRMaXN0ZW5lcihsaXN0ZW5lcik7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKFtyZXRhaW5lZExpc3RlbmVyID0gV1RGTW92ZShyZXRhaW5lZExpc3RlbmVyKV0geworICAg
ICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UocmV0YWluZWRMaXN0ZW5lci5nZXQoKSk7Cisg
ICAgfSk7Cit9CisKK3N0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGFnZVJl
ZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBXS1VS
TFJlcXVlc3RSZWYgcmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIFdLRnJhbWVQb2xpY3lM
aXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQoreworICAgIFdLUmV0YWluUHRyPFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZj4gcmV0
YWluZWRMaXN0ZW5lcihsaXN0ZW5lcik7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFty
ZXRhaW5lZExpc3RlbmVyID0gV1RGTW92ZShyZXRhaW5lZExpc3RlbmVyKV0geworICAgICAgICBX
S0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UocmV0YWluZWRMaXN0ZW5lci5nZXQoKSk7CisgICAgfSk7
Cit9CisKIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCiB7
CiAgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwpAQCAtODQsNiArMTAxLDMx
IEBAIFRFU1QoV2ViS2l0LCBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3Rv
cmF0aW9uRGVmYXVsdCkKICAgICBFWFBFQ1RfSlNfRVEod2ViVmlldy5wYWdlKCksICJoaXN0b3J5
LnNjcm9sbFJlc3RvcmF0aW9uIiwgImF1dG8iKTsKIH0KIAorVEVTVChXZWJLaXQsIFJlc3RvcmVT
ZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0V2l0aEFzeW5jUG9s
aWN5RGVsZWdhdGVzKQoreworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChB
ZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmll
dyhjb250ZXh0LmdldCgpKTsKKyAgICBzZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgp
KTsKKworICAgIFdLUGFnZVBvbGljeUNsaWVudFYxIHBvbGljeUNsaWVudDsKKyAgICBtZW1zZXQo
JnBvbGljeUNsaWVudCwgMCwgc2l6ZW9mKHBvbGljeUNsaWVudCkpOworICAgIHBvbGljeUNsaWVu
dC5iYXNlLnZlcnNpb24gPSAxOworICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uID0gZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKKyAgICBwb2xp
Y3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UgPSBkZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZTsKKyAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcG9saWN5
Q2xpZW50LmJhc2UpOworCisgICAgV0tSZXRhaW5QdHI8V0tEYXRhUmVmPiBkYXRhID0gY3JlYXRl
U2Vzc2lvblN0YXRlRGF0YShjb250ZXh0LmdldCgpKTsKKyAgICBFWFBFQ1RfTk9UX05VTEwoZGF0
YSk7CisKKyAgICBhdXRvIHNlc3Npb25TdGF0ZSA9IGFkb3B0V0soV0tTZXNzaW9uU3RhdGVDcmVh
dGVGcm9tRGF0YShkYXRhLmdldCgpKSk7CisgICAgV0tQYWdlUmVzdG9yZUZyb21TZXNzaW9uU3Rh
dGUod2ViVmlldy5wYWdlKCksIHNlc3Npb25TdGF0ZS5nZXQoKSk7CisKKyAgICBVdGlsOjpydW4o
JmRpZEZpbmlzaExvYWQpOworCisgICAgRVhQRUNUX0pTX0VRKHdlYlZpZXcucGFnZSgpLCAiaGlz
dG9yeS5zY3JvbGxSZXN0b3JhdGlvbiIsICJhdXRvIik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRl
c3RXZWJLaXRBUEkKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335945</attachid>
            <date>2018-03-16 09:54:32 -0700</date>
            <delta_ts>2018-03-16 11:33:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183679-20180316095432.patch</filename>
            <type>text/plain</type>
            <size>24653</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIxMTgyYTE1NWVhZmY1
MmExNGRkZjY0ZGFlZmUyN2M5ZjhlOThlMS4uODIwODc1NmUzYTNlMjQ1ZTY0YzRiZTUxYTViOGE2
MTE3OTc0NmY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LlJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0IEFQSSB0ZXN0IGlzIGZh
aWxpbmcgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFVwZGF0ZSBDYWNoZWRSYXdSZXNvdXJjZTo6ZGlk
QWRkQ2xpZW50KCkgdG8gbm90IHNlbmQgZGF0YSB1bnRpbCB3ZSd2ZSByZWNlaXZlZAorICAgICAg
ICB0aGUgcG9saWN5IGRlY2lzaW9uIGZvciB0aGUgcmVzcG9uc2UuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBjb3ZlcmVkIGJ5IG5ldyBBUEkgdGVzdC4KKworICAgICAgICAqIGxvYWRlci9Eb2N1
bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6aGFuZGxl
U3Vic3RpdHV0ZURhdGFMb2FkTm93KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6Cisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVz
b3VyY2U6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9NZWRpYVJlc291cmNl
TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmF3UmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3Vy
Y2U6OmRpZEFkZENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdSZXNvdXJjZTo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291
cmNlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdSZXNvdXJjZUNsaWVudDo6
cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVl
c3RUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktlZXBhbGl2ZVJlcXVlc3RUcmFja2Vy
OjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVx
dWVzdFRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW06CisgICAg
ICAgIChXZWJDb3JlOjpXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQp
OgorCiAyMDE4LTAzLTE2ICBNaWd1ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gV2hlbiB1c2luZyBFR0wsIHJlcXVlc3QgYW4gT3BlbkdMIGNvcmUgcHJvZmls
ZSB3aGVuIHBvc3NpYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCBjODUwZmMzYjg1MTExNTA2NWY3MjIxY2EyNTBjZWRkMzkxNzAzNjdiLi4zMjdjNTgxZjUw
YjBmZTg2MTcyMjc2MTcxNzI3MzdhNjkwMjgyNzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVy
OjpoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3coKQogICAgIGlmIChyZXNwb25zZS51cmwoKS5p
c0VtcHR5KCkpCiAgICAgICAgIHJlc3BvbnNlID0gUmVzb3VyY2VSZXNwb25zZShtX3JlcXVlc3Qu
dXJsKCksIG1fc3Vic3RpdHV0ZURhdGEubWltZVR5cGUoKSwgbV9zdWJzdGl0dXRlRGF0YS5jb250
ZW50KCktPnNpemUoKSwgbV9zdWJzdGl0dXRlRGF0YS50ZXh0RW5jb2RpbmcoKSk7CiAKLSAgICBy
ZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNlKTsKKyAgICByZXNwb25zZVJlY2VpdmVkKHJlc3BvbnNl
LCBudWxscHRyKTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVy
KCkKQEAgLTcxNiwxNCArNzE2LDE2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
QWZ0ZXJYRnJhbWVPcHRpb25zT3JDb250ZW50U2VjdXJpdHlQb2xpY3lEZW5pZWQoCiAgICAgICAg
IGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXItPmNhbmNlbGxlZEVycm9yKG1fcmVx
dWVzdCkpOwogfQogCi12b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hl
ZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2
b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNv
dXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291
cmNlLCBtX21haW5SZXNvdXJjZSA9PSAmcmVzb3VyY2UpOwotICAgIHJlc3BvbnNlUmVjZWl2ZWQo
cmVzcG9uc2UpOworICAgIHJlc3BvbnNlUmVjZWl2ZWQocmVzcG9uc2UsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZl
ZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgRG9jdW1lbnRMb2FkZXI6
OnJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBDb21wbGV0
aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CisKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCiAgICAg
aWYgKG1fY29udGVudEZpbHRlciAmJiAhbV9jb250ZW50RmlsdGVyLT5jb250aW51ZUFmdGVyUmVz
cG9uc2VSZWNlaXZlZChyZXNwb25zZSkpCiAgICAgICAgIHJldHVybjsKQEAgLTgwOSwxMCArODEx
LDEyIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgUmVmUHRyPFN1YnJlc291cmNlTG9hZGVyPiBtYWlu
UmVzb3VyY2VMb2FkZXIgPSB0aGlzLT5tYWluUmVzb3VyY2VMb2FkZXIoKTsKICAgICBpZiAobWFp
blJlc291cmNlTG9hZGVyKQogICAgICAgICBtYWluUmVzb3VyY2VMb2FkZXItPm1hcmtJbkFzeW5j
UmVzcG9uc2VQb2xpY3lDaGVjaygpOwotICAgIGZyYW1lTG9hZGVyKCktPmNoZWNrQ29udGVudFBv
bGljeShtX3Jlc3BvbnNlLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBt
YWluUmVzb3VyY2VMb2FkZXIgPSBXVEZNb3ZlKG1haW5SZXNvdXJjZUxvYWRlcildKFBvbGljeUFj
dGlvbiBwb2xpY3kpIHsKKyAgICBmcmFtZUxvYWRlcigpLT5jaGVja0NvbnRlbnRQb2xpY3kobV9y
ZXNwb25zZSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbWFpblJlc291
cmNlTG9hZGVyID0gV1RGTW92ZShtYWluUmVzb3VyY2VMb2FkZXIpLCBjb21wbGV0aW9uSGFuZGxl
ciA9IGNvbXBsZXRpb25IYW5kbGVyQ2FsbGVyLnJlbGVhc2UoKV0oUG9saWN5QWN0aW9uIHBvbGlj
eSkgewogICAgICAgICBjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShwb2xpY3kpOwogICAgICAg
ICBpZiAobWFpblJlc291cmNlTG9hZGVyKQogICAgICAgICAgICAgbWFpblJlc291cmNlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2VQb2xpY3koKTsKKyAgICAgICAgaWYgKGNvbXBsZXRpb25IYW5k
bGVyKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA2NzdhZWY5ZWRjNjMyMmFhYjQ0
NTYwYTc1MDA4YTNmZjAxZWU5MzI2Li43MGExYTNlOWVjODQ3YmIzZjIzYmMxZjU5ODAwOGE0ZTU0
YWUzOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtMzU1LDEx
ICszNTUsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaGVkTG9hZGluZygpOwogICAgIHZv
aWQgbWFpblJlY2VpdmVkRXJyb3IoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVx
dWVzdCYmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChS
ZXNvdXJjZVJlcXVlc3QmJik+JiYpIG92ZXJyaWRlOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRhdGFSZWNlaXZl
ZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpIG92ZXJyaWRl
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Um
KSBvdmVycmlkZTsKIAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgZGF0YVJlY2VpdmVk
KGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpOwogCiAgICAgYm9vbCBtYXliZUxvYWRFbXB0
eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcAppbmRleCA0ZjRiZTFhMTFkY2JjYzY2ZjA4NmViZDMxYjYxNjcxNzAwOTk2YjJlLi5l
MjE5N2Y5N2RiNDRhMTZkYmI1Yzc2YjQ1ZThkMzAwYmZhZjViMTZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMzA4LDEw
ICszMDgsMTMgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRhdGFTZW50KENhY2hl
ZFJlc291cmNlJiByZXNvdXJjZSwgdW5zaWduZWQgbG9uZwogICAgIG1fY2xpZW50LT5kaWRTZW5k
RGF0YShieXRlc1NlbnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJj
ZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJl
c291cmNlID09IG1fcmVzb3VyY2UpOwogICAgIGRpZFJlY2VpdmVSZXNwb25zZShtX3Jlc291cmNl
LT5pZGVudGlmaWVyKCksIHJlc3BvbnNlKTsKKworICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAogdm9pZCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDIxYzhhYjYwYTVmMGIxYjE4OTNl
NWFhOWZhZjJkNjc3YjgxMTFhYzMuLmMyYmJjNGQzMzY5NzM0ZWJkMDc1ZDIzZTVhZjI1ZWU2M2Qx
YmIzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmgKQEAgLTgxLDcgKzgxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IC8vIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50CiAgICAgICAgIHZvaWQgZGF0YVNlbnQoQ2FjaGVk
UmVzb3VyY2UmLCB1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxv
bmcgdG90YWxCeXRlc1RvQmVTZW50KSBvdmVycmlkZTsKLSAgICAgICAgdm9pZCByZXNwb25zZVJl
Y2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRl
OworICAgICAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsK
ICAgICAgICAgdm9pZCBkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCkgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgcmVkaXJlY3RSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYpIG92
ZXJyaWRlOwogICAgICAgICB2b2lkIGZpbmlzaGVkVGltaW5nRm9yV29ya2VyTG9hZChDYWNoZWRS
ZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlVGltaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMzgxMmI4MmJhZjYxNjIw
NjU1OWYxMzUyOGJlMWRlOWFhNjJkZTZlMi4uMTQ4MjY0M2ZmMDIyZTE0ZmU0NWQzNzQ0ZDA4ZWFm
NDRiNGI3ODBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9h
ZGVyLmNwcApAQCAtMTM5LDkgKzEzOSwxMCBAQCB2b2lkIE1lZGlhUmVzb3VyY2U6OnNldERlZmVy
c0xvYWRpbmcoYm9vbCBkZWZlcnNMb2FkaW5nKQogICAgICAgICBtX3Jlc291cmNlLT5zZXREZWZl
cnNMb2FkaW5nKGRlZmVyc0xvYWRpbmcpOwogfQogCi12b2lkIE1lZGlhUmVzb3VyY2U6OnJlc3Bv
bnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKK3ZvaWQgTWVkaWFSZXNvdXJjZTo6cmVzcG9uc2VSZWNlaXZlZChDYWNo
ZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNT
RVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOworICAgIENvbXBs
ZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIGNvbXBsZXRpb25IYW5kbGVyQ2FsbGVyKFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmICghbV9sb2FkZXItPmRvY3VtZW50KCkpCiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJl
c291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRl
ci5oCmluZGV4IGEzMWRmMTgzN2YzMzQ1OWYxODA5MmJjNjliMGYyMGIwMmEzMDhjZjEuLjM0OTI3
N2UwZDlkMjA0MDI5OTM1ZDc5Y2U0NGMxMzY1NjgzZjk0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBkaWRQYXNzQWNjZXNzQ29udHJvbENoZWNrKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9kaWRQYXNzQWNjZXNzQ29udHJvbENoZWNrOyB9CiAKICAgICAvLyBDYWNoZWRSYXdSZXNv
dXJjZUNsaWVudAotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmKSBvdmVycmlkZTsK
ICAgICBib29sIHNob3VsZENhY2hlUmVzcG9uc2UoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkYXRhU2VudChDYWNoZWRSZXNvdXJj
ZSYsIHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOGRmZjk0ZDM3OGU5ZDA2OTJiODVk
ZTVkYjlkZWVkN2JjZTc1ODZiOS4uODY0Y2QwZWMwYmRiY2ZmODg5MDUzNmM5YzQ0MTdmOTNkZGNl
MTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTc1LDkgKzc1LDEw
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyOjpjYW5jZWwoRXJyb3IgZXJy
b3IpCiAgICAgfQogfQogCi12b2lkIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlcjo6cmVz
cG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQordm9pZCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXI6OnJl
c3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZyZXNvdXJjZSA9PSBtX3Jl
c291cmNlKTsKKyAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0aW9uSGFu
ZGxlckNhbGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAocmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSA9PSA0MDQgfHwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9
PSA0MTApIHsKICAgICAgICAgY2FuY2VsKEVycm9yOjpOb3RGb3VuZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmgKaW5kZXggNDMwYTczZWIyZDY1NjhiMjFmNjRjZGQ4NTA5ZDI0ODM1NjI5
YmE0Zi4uNzJiMjk3NTVmMTFkOTQwOTVmYTdlZGQ1MzA5NjhmN2M1N2I1N2JlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2VMb2FkZXIuaApAQCAtNTQsNyArNTQsNyBAQCBwcml2YXRlOgogICAgIGV4
cGxpY2l0IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlcih1bnNpZ25lZCwgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
UmVzb3VyY2VPckVycm9yJiYpPiYmKTsKIAogICAgIC8vIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50
Ci0gICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpIGZpbmFsOworICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNv
dXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpIGZpbmFsOwogICAgIHZvaWQgZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3Qg
Y2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpIGZpbmFsOwogICAgIHZvaWQgcmVkaXJlY3RSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYpIGZp
bmFsOwogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmKSBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCmlu
ZGV4IGU3ZGJmY2QxMWM5MmZkYjdkMzMwYmYxMjA1M2RkYjMyMWNiNTRhZjUuLjA3ZjlkNDY5MjVi
ZTk5MGM5MmNlMjA4NzU2MzVlYzMxOWYwMDg2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcApAQCAtMTU4LDYgKzE1OCwxNiBAQCB2
b2lkIENhY2hlZFJhd1Jlc291cmNlOjpkaWRBZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQm
IGMpCiAgICAgaXRlcmF0ZVJlZGlyZWN0cyhDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdS
ZXNvdXJjZT4odGhpcyksIGNsaWVudCwgV1RGTW92ZShyZWRpcmVjdHNJblJldmVyc2VPcmRlciks
IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+KHRoaXMpLCBjbGllbnQgPSAmY2xpZW50XSAoUmVzb3VyY2VSZXF1ZXN0JiYpIG11dGFi
bGUgewogICAgICAgICBpZiAoIWhhc0NsaWVudCgqY2xpZW50KSkKICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgYXV0byByZXNwb25zZVByb2Nlc3NlZEhhbmRsZXIgPSBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNsaWVudF0geworICAgICAgICAgICAg
aWYgKCFoYXNDbGllbnQoKmNsaWVudCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgaWYgKG1fZGF0YSkKKyAgICAgICAgICAgICAgICBjbGllbnQtPmRhdGFSZWNlaXZlZCgq
dGhpcywgbV9kYXRhLT5kYXRhKCksIG1fZGF0YS0+c2l6ZSgpKTsKKyAgICAgICAgICAgIGlmICgh
aGFzQ2xpZW50KCpjbGllbnQpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IENhY2hlZFJlc291cmNlOjpkaWRBZGRDbGllbnQoKmNsaWVudCk7CisgICAgICAgIH07CisKICAg
ICAgICAgaWYgKCFtX3Jlc3BvbnNlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICBSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlKG1fcmVzcG9uc2UpOwogICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25D
b21wbGV0aW5nKCkpCkBAIC0xNjYsMTUgKzE3Niw5IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6
OmRpZEFkZENsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCYgYykKICAgICAgICAgICAgICAgICBB
U1NFUlQoIXZhbGlkYXRpb25JblByb2dyZXNzKCkpOwogICAgICAgICAgICAgICAgIHJlc3BvbnNl
LnNldFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok1lbW9yeUNhY2hlKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGNsaWVudC0+cmVzcG9uc2VSZWNlaXZlZCgqdGhpcywgcmVz
cG9uc2UpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghaGFzQ2xpZW50KCpjbGllbnQpKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAobV9kYXRhKQotICAgICAgICAgICAgY2xpZW50
LT5kYXRhUmVjZWl2ZWQoKnRoaXMsIG1fZGF0YS0+ZGF0YSgpLCBtX2RhdGEtPnNpemUoKSk7Ci0g
ICAgICAgIGlmICghaGFzQ2xpZW50KCpjbGllbnQpKQotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICBDYWNoZWRSZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KCpjbGllbnQpOworICAgICAgICAgICAg
Y2xpZW50LT5yZXNwb25zZVJlY2VpdmVkKCp0aGlzLCByZXNwb25zZSwgV1RGTW92ZShyZXNwb25z
ZVByb2Nlc3NlZEhhbmRsZXIpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXNwb25z
ZVByb2Nlc3NlZEhhbmRsZXIoKTsKICAgICB9KTsKIH0KIApAQCAtMjE1LDcgKzIxOSw3IEBAIHZv
aWQgQ2FjaGVkUmF3UmVzb3VyY2U6OnJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UpCiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlc3BvbnNlUmVjZWl2ZWQocmVz
cG9uc2UpOwogICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hlZFJhd1Jlc291cmNl
Q2xpZW50PiB3KG1fY2xpZW50cyk7CiAgICAgd2hpbGUgKENhY2hlZFJhd1Jlc291cmNlQ2xpZW50
KiBjID0gdy5uZXh0KCkpCi0gICAgICAgIGMtPnJlc3BvbnNlUmVjZWl2ZWQoKnRoaXMsIG1fcmVz
cG9uc2UpOworICAgICAgICBjLT5yZXNwb25zZVJlY2VpdmVkKCp0aGlzLCBtX3Jlc3BvbnNlLCBu
dWxscHRyKTsKIH0KIAogYm9vbCBDYWNoZWRSYXdSZXNvdXJjZTo6c2hvdWxkQ2FjaGVSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgKaW5kZXggNzU4Yjdh
ZDdkYTE3MWEyYWZmY2Y4NzgwZDQyNjkwMWU5ZmJlMmY3Ny4uNTQ3YzY4OThkYmQzYzY3YjhhOGRi
NzhmMGMxMmExYmQ4NzAxMzFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgKQEAgLTM5LDcgKzM5LDEyIEBAIHB1Ymxp
YzoKICAgICBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBkYXRhU2VudChDYWNoZWRSZXNvdXJjZSYsIHVuc2lnbmVkIGxvbmcgbG9uZyAvKiBieXRlc1Nl
bnQgKi8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKiB0b3RhbEJ5dGVzVG9CZVNlbnQgKi8pIHsgfQot
ICAgIHZpcnR1YWwgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXNwb25zZVJlY2VpdmVk
KENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICB7CisgICAgICAgIGlmIChjb21w
bGV0aW9uSGFuZGxlcikKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfQor
CiAgICAgdmlydHVhbCBib29sIHNob3VsZENhY2hlUmVzcG9uc2UoQ2FjaGVkUmVzb3VyY2UmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBjaGFyKiAvKiBkYXRhICovLCBp
bnQgLyogbGVuZ3RoICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChD
YWNoZWRSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVxdWVzdCYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHJlcXVlc3QpKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVl
c3RUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1
ZXN0VHJhY2tlci5jcHAKaW5kZXggNTViZWI3ZWMzOWU3M2RmODNmMzY2OTI2ZGNmYjg4NDNhOGVl
ZGJiYi4uMDBjNTUwNWU3ZWMxNzUwNTgyNWYxNGEzNTg3MGMwMzM4N2Y5NDAxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNr
ZXIuY3BwCkBAIC02NiwxMSArNjYsMTQgQEAgdm9pZCBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlcjo6
cmVnaXN0ZXJSZXF1ZXN0KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICByZXNvdXJjZS5h
ZGRDbGllbnQoKnRoaXMpOwogfQogCi12b2lkIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOjpyZXNw
b25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpCit2b2lkIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOjpyZXNwb25zZVJlY2VpdmVkKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICAvLyBQZXIgRmV0
Y2ggc3BlY2lmaWNhdGlvbiwgYWxsb2NhdGVkIHF1b3RhIHNob3VsZCBiZSByZXR1cm5lZCBiZWZv
cmUgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQsCiAgICAgLy8gd2hpY2ggaXMgd2hlbiB0aGUgcmVz
cG9uc2UgaXMgcmVjZWl2ZWQuCiAgICAgdW5yZWdpc3RlclJlcXVlc3QocmVzb3VyY2UpOworCisg
ICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwog
fQogCiB2b2lkIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRS
ZXNvdXJjZSYgcmVzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9LZWVwYWxpdmVSZXF1ZXN0VHJhY2tlci5oCmluZGV4IDQ3ZGE0ZWRlN2NjODk1OTEyMGJkN2Iy
MDczZWQ5NDMyMjE2YjE5MjYuLjBjMzMzZGI4MWJmOTk1YThhYThmZjFmZmMwMDVlM2VmYmVjZmNj
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVSZXF1
ZXN0VHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9LZWVwYWxpdmVS
ZXF1ZXN0VHJhY2tlci5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAgICBib29sIHRyeVJl
Z2lzdGVyUmVxdWVzdChDYWNoZWRSZXNvdXJjZSYpOwogCiAgICAgLy8gQ2FjaGVkUmF3UmVzb3Vy
Y2VDbGllbnQuCi0gICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYpIGZpbmFsOworICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChD
YWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3Vy
Y2UmKSBmaW5hbDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9XZWJD
b3JlQVZDRlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1MmViNzQ0MDA5NzI5MjlmYmI1YzI3NzVk
N2QzNTMwOGY2OTZhNTQwLi45ZjkyMjgxNDgyZGFjNjAwNjQ3Njg2NDQ0MDk2NWRmNzcyYzZkZjcx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL1dlYkNvcmVBVkNGUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xMTEsOSArMTExLDEwIEBAIHZvaWQgV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRl
cjo6aW52YWxpZGF0ZSgpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViQ29yZUFWQ0ZSZXNvdXJjZUxv
YWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBXZWJDb3JlQVZDRlJlc291cmNlTG9hZGVy
OjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0g
bV9yZXNvdXJjZSk7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxldGlv
bkhhbmRsZXJDYWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaW50IHN0
YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CiAgICAgaWYgKHN0YXR1cyAmJiAoc3Rh
dHVzIDwgMjAwIHx8IHN0YXR1cyA+IDI5OSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2Yv
V2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRlci5oCmluZGV4IGRhZTA2ZTE5MjM4Njg2OTYxMGY3MGZi
ODE1ZjFlMTJlZGE2MGJjMTUuLjExMzViYmJiNzU1YTE0NWM0M2Q4MWRmMTBmYTY5MmIyYjkzOWEx
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL1dlYkNvcmVBVkNGUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gQ2FjaGVk
UmF3UmVzb3VyY2VDbGllbnQKLSAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3Vy
Y2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25z
ZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkYXRhUmVjZWl2ZWQo
Q2FjaGVkUmVzb3VyY2UmLCBjb25zdCBjaGFyKiwgaW50KSBvdmVycmlkZTsKICAgICB2b2lkIG5v
dGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVB
VkZSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmgKaW5kZXggZjVlMzc0MDQy
OTQyYWY1OWYyMDliOWMxNWU2YWY4OWI3YTZlYWI5Ni4uZWNjZGJkMzFkOTI5YmFjOThkM2RmY2Uz
ZjVhNjJkMGFjZWVkN2I2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29y
ZUFWRlJlc291cmNlTG9hZGVyLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogCiBwcml2YXRl
OgogICAgIC8vIENhY2hlZFJlc291cmNlQ2xpZW50Ci0gICAgdm9pZCByZXNwb25zZVJlY2VpdmVk
KENhY2hlZFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOworICAg
IHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
ZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgY2hhciosIGludCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYpIG92ZXJyaWRlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0K
aW5kZXggOTcxYzgzMWE0OWRiNmU0MGY4NjZkZmM4ODRjMjkzZDg4MjVkYmEyOS4uMTZiMDdlNjRj
NGRhMjAxY2E5N2UxNTFlYzQ3ZjVlZWExYzBmZTM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNl
TG9hZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbQpAQCAtMTA4LDkgKzEwOCwxMCBA
QCB2b2lkIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlcjo6aW52YWxpZGF0ZSgpCiAgICAgfSk7CiB9
CiAKLXZvaWQgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hl
ZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2
b2lkIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNv
dXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUX1VO
VVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOworICAgIENvbXBsZXRpb25I
YW5kbGVyQ2FsbGluZ1Njb3BlIGNvbXBsZXRpb25IYW5kbGVyQ2FsbGVyKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIGludCBzdGF0dXMgPSByZXNwb25zZS5odHRwU3RhdHVzQ29k
ZSgpOwogICAgIGlmIChzdGF0dXMgJiYgKHN0YXR1cyA8IDIwMCB8fCBzdGF0dXMgPiAyOTkpKSB7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTRh
MmE1N2I2OWE2MDBiN2JiN2ZkZGUwMmQ3NDk1NmQzMDU5N2E2My4uZjA1ZTdmNTFmZjYyOGY0ZDA1
NzJkZGFmYjA4YWI2ZjZhNTVjZTIyNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAzLTE2ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LlJlc3RvcmVTZXNzaW9uU3Rh
dGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0IEFQSSB0ZXN0IGlzIGZhaWxpbmcg
d2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENo
cmlzdGVuc2VuLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOC0wMy0xNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVSTFNjaGVtZUhhbmRsZXIuQmFzaWMgQVBJIHRlc3Qg
ZmFpbHMgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXN0b3JlU2Vzc2lvblN0YXRlLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwCmluZGV4IDgy
NTIwMWViMGIxYTI1ZWNmYWE1ZmY5Y2I0MThhZDNkNTBkMDRiY2YuLmZjNzk0MmEyODMzYWRhOTI5
MmU2MmEyY2IyMDk5M2MyYzU5MzA5ZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCiAjaW5jbHVkZSAiVGVzdC5oIgogI2lu
Y2x1ZGUgPFdlYktpdC9XS1Nlc3Npb25TdGF0ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29w
Lmg+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIApAQCAtNDIsNiArNDMsMjIgQEAgc3Rh
dGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tU
eXBlUmVmLCBjb25zdCB2b2lkKikKICAgICBkaWRGaW5pc2hMb2FkID0gdHJ1ZTsKIH0KIAorc3Rh
dGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYgcGFnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlLCBX
S0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9u
LCBXS0ZyYW1lUmVmIG9yaWdpbmF0aW5nRnJhbWUsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBX
S0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBXS1JldGFpblB0cjxXS0ZyYW1lUG9saWN5TGlz
dGVuZXJSZWY+IHJldGFpbmVkTGlzdGVuZXIobGlzdGVuZXIpOworICAgIFJ1bkxvb3A6Om1haW4o
KS5kaXNwYXRjaChbcmV0YWluZWRMaXN0ZW5lciA9IFdURk1vdmUocmV0YWluZWRMaXN0ZW5lcild
IHsKKyAgICAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVyVXNlKHJldGFpbmVkTGlzdGVuZXIuZ2V0
KCkpOworICAgIH0pOworfQorCitzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShX
S1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25z
ZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBXS0ZyYW1l
UG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbykKK3sKKyAgICBXS1JldGFpblB0cjxXS0ZyYW1lUG9saWN5TGlzdGVuZXJS
ZWY+IHJldGFpbmVkTGlzdGVuZXIobGlzdGVuZXIpOworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNw
YXRjaChbcmV0YWluZWRMaXN0ZW5lciA9IFdURk1vdmUocmV0YWluZWRMaXN0ZW5lcildIHsKKyAg
ICAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVyVXNlKHJldGFpbmVkTGlzdGVuZXIuZ2V0KCkpOwor
ICAgIH0pOworfQorCiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBw
YWdlKQogewogICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKQEAgLTg0LDYg
KzEwMSwzMSBAQCBURVNUKFdlYktpdCwgUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRhaW5pbmdTY3Jv
bGxSZXN0b3JhdGlvbkRlZmF1bHQpCiAgICAgRVhQRUNUX0pTX0VRKHdlYlZpZXcucGFnZSgpLCAi
aGlzdG9yeS5zY3JvbGxSZXN0b3JhdGlvbiIsICJhdXRvIik7CiB9CiAKK1RFU1QoV2ViS2l0LCBS
ZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uRGVmYXVsdFdpdGhB
c3luY1BvbGljeURlbGVnYXRlcykKK3sKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNv
bnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOworCisgICAgUGxhdGZvcm1XZWJWaWV3
IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3
LnBhZ2UoKSk7CisKKyAgICBXS1BhZ2VQb2xpY3lDbGllbnRWMSBwb2xpY3lDbGllbnQ7CisgICAg
bWVtc2V0KCZwb2xpY3lDbGllbnQsIDAsIHNpemVvZihwb2xpY3lDbGllbnQpKTsKKyAgICBwb2xp
Y3lDbGllbnQuYmFzZS52ZXJzaW9uID0gMTsKKyAgICBwb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb247Cisg
ICAgcG9saWN5Q2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlID0gZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2U7CisgICAgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwg
JnBvbGljeUNsaWVudC5iYXNlKTsKKworICAgIFdLUmV0YWluUHRyPFdLRGF0YVJlZj4gZGF0YSA9
IGNyZWF0ZVNlc3Npb25TdGF0ZURhdGEoY29udGV4dC5nZXQoKSk7CisgICAgRVhQRUNUX05PVF9O
VUxMKGRhdGEpOworCisgICAgYXV0byBzZXNzaW9uU3RhdGUgPSBhZG9wdFdLKFdLU2Vzc2lvblN0
YXRlQ3JlYXRlRnJvbURhdGEoZGF0YS5nZXQoKSkpOworICAgIFdLUGFnZVJlc3RvcmVGcm9tU2Vz
c2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCBzZXNzaW9uU3RhdGUuZ2V0KCkpOworCisgICAgVXRp
bDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKworICAgIEVYUEVDVF9KU19FUSh3ZWJWaWV3LnBhZ2Uo
KSwgImhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb24iLCAiYXV0byIpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>