<?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>205900</bug_id>
          
          <creation_ts>2020-01-07 19:39:18 -0800</creation_ts>
          <short_desc>Web Inspector: unable to edit or view the source of style sheets injected by safari app extensions</short_desc>
          <delta_ts>2020-09-23 16:32:51 -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>Web Inspector</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>aroben</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1603916</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-01-07 19:39:18 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603917</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-01-07 19:41:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/57898773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603927</commentid>
    <comment_count>2</comment_count>
      <attachid>387064</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-01-07 20:12:18 -0800</bug_when>
    <thetext>Created attachment 387064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603932</commentid>
    <comment_count>3</comment_count>
      <attachid>387064</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 21:02:10 -0800</bug_when>
    <thetext>Comment on attachment 387064
Patch

Clearing flags on attachment: 387064

Committed r254186: &lt;https://trac.webkit.org/changeset/254186&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603933</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 21:02:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691317</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-09-23 16:32:51 -0700</bug_when>
    <thetext>*** Bug 40202 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387064</attachid>
            <date>2020-01-07 20:12:18 -0800</date>
            <delta_ts>2020-01-07 21:02:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205900-20200107211217.patch</filename>
            <type>text/plain</type>
            <size>39762</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0OTAyOGVjZTVkZmUzZmI4MzBiZDA1ZDU4YjQ0YjI2ZGVkZWNkZTdhLi5h
Y2E2MTkzYWE5M2ExM2JlYmU3NjZlMTA3NzQ2ZjM2ZDkyMjI1OGFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjAtMDEtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVuYWJsZSB0byBlZGl0IG9yIHZpZXcgdGhlIHNv
dXJjZSBvZiBzdHlsZSBzaGVldHMgaW5qZWN0ZWQgYnkgc2FmYXJpIGFwcCBleHRlbnNpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU5MDAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3ODk4NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgcmVzdHJpY3Rpb25zIGFyb3VuZCBg
Q1NTLlN0eWxlU2hlZXRPcmlnaW4uVXNlcmAgc3R5bGUgc2hlZXRzLCB0aGVyZWJ5IGFsbG93aW5n
CisgICAgICAgIFdlYiBJbnNwZWN0b3IgdG8gZ2V0IHRoZSBzb3VyY2UgaW5mb3JtYXRpb24gdGhh
dCBpcyBuZWNlc3NhcnkgdG8gc2hvdyB0aGUgInJlc291cmNlIiBpbiB0aGUKKyAgICAgICAgU291
cmNlcyBUYWIuCisKKyAgICAgICAgKiBkb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuaDoKKyAgICAg
ICAgKiBkb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXh0
ZW5zaW9uU3R5bGVTaGVldHM6OnVwZGF0ZUluamVjdGVkU3R5bGVTaGVldENhY2hlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvblN0eWxlU2hlZXRzOjpjb250ZW50Rm9ySW5qZWN0
ZWRTdHlsZVNoZWV0IGNvbnN0KTogQWRkZWQuCisgICAgICAgIFNhdmUgYSBjb3B5IG9mIHRoZSBz
dHJpbmcgc291cmNlIG9mIGFueSBpbmplY3RlZCBzdHlsZSBzaGVldCBhbmQgcHJvdmlkZSBhIHdh
eSB0byBnZXQgaXQgZm9yCisgICAgICAgIGFueSBnaXZlbiBgQ1NTU3R5bGVTaGVldGAuCisKKyAg
ICAgICAgKiBzdHlsZS9TdHlsZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpT
Y29wZTo6YWN0aXZlU3R5bGVTaGVldHNGb3JJbnNwZWN0b3IpOgorICAgICAgICAqIHN0eWxlL0lu
c3BlY3RvckNTU09NV3JhcHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Okluc3Bl
Y3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3REb2N1bWVudFdyYXBwZXJzKToKKyAgICAgICAgSW5j
bHVkZSBhbGwgdHlwZXMgb2YgZXh0ZW5zaW9uIHN0eWxlIHNoZWV0cyB3aGVuIGNvbGxlY3Rpbmcg
YWN0aXZlIHJ1bGVzIGFuZCBzdHlsZSBzaGVldHMKKyAgICAgICAgZm9yIFdlYiBJbnNwZWN0b3Ig
dG8gaW5zdHJ1bWVudC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGVTaGVldDo6YnVpbGRPYmplY3RGb3JSdWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0eWxlU2hlZXQ6Om9yaWdpbmFsU3R5bGVTaGVldFRl
eHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGVTaGVldDo6cmVzb3Vy
Y2VTdHlsZVNoZWV0VGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHls
ZVNoZWV0OjppbmxpbmVTdHlsZVNoZWV0VGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JTdHlsZVNoZWV0OjpleHRlbnNpb25TdHlsZVNoZWV0VGV4dCBjb25zdCk6IEFkZGVk
LgorCiAyMDIwLTAxLTA3ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0MTMyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKaW5kZXggZGNjOWRjNWEyMDIyNjgyNTY0NDdkNGFhY2VlYzE3NDBhZWQyNDQ1MS4u
MWMzNmRmOWZlMjQxOTEzMGRhODQzMGZjNGVmOTBjZjI1ODcyOGM3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMjAtMDEtMDcgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVuYWJsZSB0byBlZGl0
IG9yIHZpZXcgdGhlIHNvdXJjZSBvZiBzdHlsZSBzaGVldHMgaW5qZWN0ZWQgYnkgc2FmYXJpIGFw
cCBleHRlbnNpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU5MDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3ODk4NzczPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgcmVzdHJp
Y3Rpb25zIGFyb3VuZCBgQ1NTLlN0eWxlU2hlZXRPcmlnaW4uVXNlcmAgc3R5bGUgc2hlZXRzLCB0
aGVyZWJ5IGFsbG93aW5nCisgICAgICAgIFdlYiBJbnNwZWN0b3IgdG8gZ2V0IHRoZSBzb3VyY2Ug
aW5mb3JtYXRpb24gdGhhdCBpcyBuZWNlc3NhcnkgdG8gc2hvdyB0aGUgInJlc291cmNlIiBpbiB0
aGUKKyAgICAgICAgU291cmNlcyBUYWIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVs
cy9DU1NTdHlsZVNoZWV0LmpzOgorICAgICAgICAoV0kuQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUu
Z2V0IGRpc3BsYXlOYW1lKToKKyAgICAgICAgKFdJLkNTU1N0eWxlU2hlZXQucHJvdG90eXBlLmdl
dCBpbmplY3RlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUu
Z2V0IGFub255bW91cyk6IEFkZGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMv
RE9NTm9kZVN0eWxlcy5qczoKKyAgICAgICAgKFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLl9w
YXJzZVJ1bGVQYXlsb2FkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxl
LmpzOgorICAgICAgICAoV0kuQ1NTUnVsZSk6CisgICAgICAgIChXSS5DU1NSdWxlLnByb3RvdHlw
ZS5nZXQgZWRpdGFibGUpOgorICAgICAgICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUuX3NlbGVjdG9y
UmVzb2x2ZWQpOgorICAgICAgICBBdHRlbXB0IHRvIGNyZWF0ZSBhIHNvdXJjZSBjb2RlIGxvY2F0
aW9uIGZvciBhbnkgc3R5bGUgc2hlZXQgd2l0aCBhIHNvdXJjZSByYW5nZSwgbm90IGp1c3QKKyAg
ICAgICAgZm9yIHRoZSBJbnNwZWN0b3IgU3R5bGUgU2hlZXQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlU2hlZXRUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkNT
U1N0eWxlU2hlZXRUcmVlRWxlbWVudCk6CisgICAgICAgIEluc3RlYWQgb2YgaGFyZGNvZGluZyAi
SW5zcGVjdG9yIFN0eWxlIFNoZWV0IiwgdXNlIHRoZSBhc3NvY2lhdGVkIGBXSS5DU1NTdHlsZVNo
ZWV0YCdzIGluZm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0ZyYW1lVHJlZUVs
ZW1lbnQuanM6CisgICAgICAgIChXSS5GcmFtZVRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLkZy
YW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uYXR0YWNoKToKKyAgICAgICAgKFdJLkZyYW1lVHJl
ZUVsZW1lbnQucHJvdG90eXBlLm9uZGV0YWNoKToKKyAgICAgICAgKFdJLkZyYW1lVHJlZUVsZW1l
bnQucHJvdG90eXBlLl9zdHlsZVNoZWV0QWRkZWQpOgorICAgICAgICAoV0kuRnJhbWVUcmVlRWxl
bWVudC5wcm90b3R5cGUuX3N0eWxlU2hlZXRSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIEVuc3Vy
ZSB0aGF0IG9ubHkgbm9uLWluamVjdGVkIG5vbi1hbm9ueW1vdXMgc3R5bGUgc2hlZXRzIGFyZSBz
aG93biB1bmRlciBmcmFtZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwpOgorICAgICAgICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl9jb21wYXJlVHJlZUVsZW1lbnRzKToKKyAgICAgICAgKFdJLlNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYWRkUmVzb3VyY2UpOgorICAgICAgICAo
V0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl9hZGRTdHlsZVNoZWV0
KTogQWRkZWQuCisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90
b3R5cGUuX2hhbmRsZVJlc291cmNlR3JvdXBpbmdNb2RlQ2hhbmdlZCk6CisgICAgICAgIChXSS5T
b3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZUNTU1N0eWxlU2hl
ZXRBZGRlZCk6IEFkZGVkLgorICAgICAgICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl9oYW5kbGVDU1NTdHlsZVNoZWV0UmVtb3ZlZCk6IEFkZGVkLgorICAgICAg
ICBBZGQgIkV4dGVuc2lvbiBTdHlsZSBTaGVldHMiLCAiRXh0cmEgU3R5bGUgU2hlZXRzIiwgYW5k
ICJBbm9ueW1vdXMgU3R5bGUgU2hlZXRzIiBmb2xkZXJzLAorICAgICAgICBqdXN0IGxpa2UgZm9y
IHNjcmlwdHMsIHdpdGggYSBzaW1pbGFyIGxvZ2ljIGFzIHRvIHdoZW4gc3R5bGUgc2hlZXRzIGFy
ZSBhZGRlZCB0byBlYWNoLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9PcGVuUmVz
b3VyY2VEaWFsb2cuanM6CisgICAgICAgIChXSS5PcGVuUmVzb3VyY2VEaWFsb2cpOgorICAgICAg
ICAoV0kuT3BlblJlc291cmNlRGlhbG9nLnByb3RvdHlwZS5yZXByZXNlbnRlZE9iamVjdElzVmFs
aWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLk9wZW5SZXNvdXJjZURpYWxvZy5wcm90b3R5cGUuX3Bv
cHVsYXRlUmVzb3VyY2VUcmVlT3V0bGluZSk6CisgICAgICAgIChXSS5PcGVuUmVzb3VyY2VEaWFs
b2cucHJvdG90eXBlLl9wb3B1bGF0ZVJlc291cmNlVHJlZU91dGxpbmUuY3JlYXRlVHJlZUVsZW1l
bnQpOgorICAgICAgICAoV0kuT3BlblJlc291cmNlRGlhbG9nLnByb3RvdHlwZS5kaWREaXNtaXNz
RGlhbG9nKToKKyAgICAgICAgKFdJLk9wZW5SZXNvdXJjZURpYWxvZy5wcm90b3R5cGUuZGlkUHJl
c2VudERpYWxvZyk6CisgICAgICAgIChXSS5PcGVuUmVzb3VyY2VEaWFsb2cucHJvdG90eXBlLl9y
ZW1vdmVSZXNvdXJjZSk6IEFkZGVkLgorICAgICAgICAoV0kuT3BlblJlc291cmNlRGlhbG9nLnBy
b3RvdHlwZS5fcmVzb3VyY2VXYXNSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIChXSS5PcGVuUmVz
b3VyY2VEaWFsb2cucHJvdG90eXBlLl9zY3JpcHRBZGRlZCk6CisgICAgICAgIChXSS5PcGVuUmVz
b3VyY2VEaWFsb2cucHJvdG90eXBlLl9zY3JpcHRSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIChX
SS5PcGVuUmVzb3VyY2VEaWFsb2cucHJvdG90eXBlLl9oYW5kbGVTdHlsZVNoZWV0QWRkZWQpOiBB
ZGRlZC4KKyAgICAgICAgKFdJLk9wZW5SZXNvdXJjZURpYWxvZy5wcm90b3R5cGUuX2hhbmRsZVN0
eWxlU2hlZXRSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIEFkZCBhbnkgbm9uLWluamVjdGVkIG5v
bi1hbm9ueW1vdXMgc3R5bGUgc2hlZXRzIHdoZW4gcG9wdWxhdGluZyB0aGUgbGlzdCBvZiByZXNv
dXJjZXMuCisgICAgICAgIERyaXZlLWJ5OiByZW1vdmUgbGlzdGluZ3MgZm9yIGFueSByZXNvdXJj
ZXMgdGhhdCBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBpbnNwZWN0ZWQgcGFnZS4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJ
LlJlc291cmNlVHJlZUVsZW1lbnQuY29tcGFyZVJlc291cmNlVHJlZUVsZW1lbnRzKToKKyAgICAg
ICAgKFdJLlJlc291cmNlVHJlZUVsZW1lbnQuY29tcGFyZVJlc291cmNlVHJlZUVsZW1lbnRzLnJl
c29sdmVkVHlwZSk6IEFkZGVkLgorICAgICAgICBTdXBwb3J0IGNvbXBhcmlzb25zIGFnYWluc3Qg
bm9uLXJlc291cmNlIHRyZWUgZWxlbWVudHMuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMjAtMDEtMDYgIFl1cnkgU2VtaWtoYXRz
a3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTjogWyBNYWMgd2sy
IF0gaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGFyZ2V0L3Byb3Zpc2lvbmFsLWxvYWQtY2FuY2Vscy1w
cmV2aW91cy1sb2FkLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V4dGVuc2lvblN0eWxlU2hlZXRzLmNwcAppbmRleCBmZWQ0NzU4OTU0ZTEzYmI1OGUzOTg2OTVi
YjEyODU1MWFhOWVjZjkwLi4zYjU2YTIyYjAwZWJlMGYwY2EyZmVhNTE0YWNlYzcwYThiNGQxMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FeHRlbnNpb25TdHlsZVNoZWV0cy5jcHAKQEAgLTEx
Nyw5ICsxMTcsMTEgQEAgdm9pZCBFeHRlbnNpb25TdHlsZVNoZWV0czo6dXBkYXRlSW5qZWN0ZWRT
dHlsZVNoZWV0Q2FjaGUoKSBjb25zdAogewogICAgIGlmIChtX2luamVjdGVkU3R5bGVTaGVldENh
Y2hlVmFsaWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1faW5qZWN0ZWRTdHlsZVNoZWV0Q2Fj
aGVWYWxpZCA9IHRydWU7CiAgICAgbV9pbmplY3RlZFVzZXJTdHlsZVNoZWV0cy5jbGVhcigpOwog
ICAgIG1faW5qZWN0ZWRBdXRob3JTdHlsZVNoZWV0cy5jbGVhcigpOworICAgIG1faW5qZWN0ZWRT
dHlsZVNoZWV0VG9Tb3VyY2UuY2xlYXIoKTsKIAogICAgIFBhZ2UqIG93bmluZ1BhZ2UgPSBtX2Rv
Y3VtZW50LnBhZ2UoKTsKICAgICBpZiAoIW93bmluZ1BhZ2UpCkBAIC0xMzQsNiArMTM2LDggQEAg
dm9pZCBFeHRlbnNpb25TdHlsZVNoZWV0czo6dXBkYXRlSW5qZWN0ZWRTdHlsZVNoZWV0Q2FjaGUo
KSBjb25zdAogCiAgICAgICAgIGF1dG8gc2hlZXQgPSBjcmVhdGVFeHRlbnNpb25zU3R5bGVTaGVl
dChjb25zdF9jYXN0PERvY3VtZW50Jj4obV9kb2N1bWVudCksIHVzZXJTdHlsZVNoZWV0LnVybCgp
LCB1c2VyU3R5bGVTaGVldC5zb3VyY2UoKSwgdXNlclN0eWxlU2hlZXQubGV2ZWwoKSk7CiAKKyAg
ICAgICAgbV9pbmplY3RlZFN0eWxlU2hlZXRUb1NvdXJjZS5zZXQoc2hlZXQuY29weVJlZigpLCB1
c2VyU3R5bGVTaGVldC5zb3VyY2UoKSk7CisKICAgICAgICAgaWYgKHVzZXJTdHlsZVNoZWV0Lmxl
dmVsKCkgPT0gVXNlclN0eWxlVXNlckxldmVsKQogICAgICAgICAgICAgbV9pbmplY3RlZFVzZXJT
dHlsZVNoZWV0cy5hcHBlbmQoV1RGTW92ZShzaGVldCkpOwogICAgICAgICBlbHNlCkBAIC0xODks
NiArMTkzLDExIEBAIHZvaWQgRXh0ZW5zaW9uU3R5bGVTaGVldHM6Om1heWJlQWRkQ29udGVudEV4
dGVuc2lvblNoZWV0KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllCiB9CiAjZW5kaWYgLy8gRU5BQkxF
KENPTlRFTlRfRVhURU5TSU9OUykKIAorU3RyaW5nIEV4dGVuc2lvblN0eWxlU2hlZXRzOjpjb250
ZW50Rm9ySW5qZWN0ZWRTdHlsZVNoZWV0KGNvbnN0IFJlZlB0cjxDU1NTdHlsZVNoZWV0PiYgc3R5
bGVTaGVldCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9pbmplY3RlZFN0eWxlU2hlZXRUb1NvdXJj
ZS5nZXQoc3R5bGVTaGVldCk7Cit9CisKIHZvaWQgRXh0ZW5zaW9uU3R5bGVTaGVldHM6OmRldGFj
aEZyb21Eb2N1bWVudCgpCiB7CiAgICAgaWYgKG1fcGFnZVVzZXJTaGVldCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FeHRlbnNpb25TdHlsZVNoZWV0cy5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V4dGVuc2lvblN0eWxlU2hlZXRzLmgKaW5kZXggY2VmMjEwYTI5ZjllYTg2NDI0M2Zi
NTA1MDhlOTgwODcwNzNiMjE2Yi4uNTlkYjE4MmY0YjdjOGY5ZTUwMGUxNDJkNjRmMjQxODIyYTgy
YmQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V4dGVuc2lvblN0eWxlU2hlZXRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V4dGVuc2lvblN0eWxlU2hlZXRzLmgKQEAgLTcy
LDYgKzcyLDggQEAgcHVibGljOgogICAgIHZvaWQgbWF5YmVBZGRDb250ZW50RXh0ZW5zaW9uU2hl
ZXQoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBTdHlsZVNoZWV0Q29udGVudHMmKTsKICNlbmRp
ZgogCisgICAgU3RyaW5nIGNvbnRlbnRGb3JJbmplY3RlZFN0eWxlU2hlZXQoY29uc3QgUmVmUHRy
PENTU1N0eWxlU2hlZXQ+JikgY29uc3Q7CisKICAgICB2b2lkIGRldGFjaEZyb21Eb2N1bWVudCgp
OwogCiBwcml2YXRlOgpAQCAtODEsNiArODMsNyBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJsZSBW
ZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiBtX2luamVjdGVkVXNlclN0eWxlU2hlZXRzOwog
ICAgIG11dGFibGUgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4gbV9pbmplY3RlZEF1dGhv
clN0eWxlU2hlZXRzOworICAgIG11dGFibGUgSGFzaE1hcDxSZWZQdHI8Q1NTU3R5bGVTaGVldD4s
IFN0cmluZz4gbV9pbmplY3RlZFN0eWxlU2hlZXRUb1NvdXJjZTsKICAgICBtdXRhYmxlIGJvb2wg
bV9pbmplY3RlZFN0eWxlU2hlZXRDYWNoZVZhbGlkIHsgZmFsc2UgfTsKIAogICAgIFZlY3RvcjxS
ZWZQdHI8Q1NTU3R5bGVTaGVldD4+IG1fdXNlclN0eWxlU2hlZXRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCmluZGV4IGI0MTZiYjc0N2Fl
YjUwZTFhYTkxZjIyMjFlMTU5NzhkYmRmZmVlZmQuLmVlZmEzZDE2MDFhY2MwMDVmN2E3OTUzMzFm
ZTZiYWNmM2ZlODY1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yU3R5bGVTaGVldC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQu
aCIKKyNpbmNsdWRlICJFeHRlbnNpb25TdHlsZVNoZWV0cy5oIgogI2luY2x1ZGUgIkhUTUxIZWFk
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKQEAgLTExNjcsOCArMTE2OCw3IEBAIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29s
OjpDU1M6OkNTU1J1bGU+IEluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkT2JqZWN0Rm9yUnVsCiAg
ICAgICAgIC5zZXRTdHlsZShidWlsZE9iamVjdEZvclN0eWxlKCZydWxlLT5zdHlsZSgpKSkKICAg
ICAgICAgLnJlbGVhc2UoKTsKIAotICAgIC8vICJzb3VyY2VVUkwiIGlzIHByZXNlbnQgb25seSBm
b3IgcmVndWxhciBydWxlcywgb3RoZXJ3aXNlICJvcmlnaW4iIHNob3VsZCBiZSB1c2VkIGluIHRo
ZSBmcm9udGVuZC4KLSAgICBpZiAobV9vcmlnaW4gPT0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NT
OjpTdHlsZVNoZWV0T3JpZ2luOjpSZWd1bGFyKQorICAgIGlmIChtX29yaWdpbiA9PSBJbnNwZWN0
b3I6OlByb3RvY29sOjpDU1M6OlN0eWxlU2hlZXRPcmlnaW46OlJlZ3VsYXIgfHwgbV9vcmlnaW4g
PT0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpTdHlsZVNoZWV0T3JpZ2luOjpVc2VyKQogICAg
ICAgICByZXN1bHQtPnNldFNvdXJjZVVSTChmaW5hbFVSTCgpKTsKIAogICAgIGlmIChjYW5CaW5k
KCkpIHsKQEAgLTE0MDQsMTUgKzE0MDQsMTIgQEAgSW5zcGVjdG9yQ1NTSWQgSW5zcGVjdG9yU3R5
bGVTaGVldDo6cnVsZUlkKENTU1N0eWxlUnVsZSogcnVsZSkgY29uc3QKIAogYm9vbCBJbnNwZWN0
b3JTdHlsZVNoZWV0OjpvcmlnaW5hbFN0eWxlU2hlZXRUZXh0KFN0cmluZyogcmVzdWx0KSBjb25z
dAogewotICAgIGJvb2wgc3VjY2VzcyA9IGlubGluZVN0eWxlU2hlZXRUZXh0KHJlc3VsdCk7Ci0g
ICAgaWYgKCFzdWNjZXNzKQotICAgICAgICBzdWNjZXNzID0gcmVzb3VyY2VTdHlsZVNoZWV0VGV4
dChyZXN1bHQpOwotICAgIHJldHVybiBzdWNjZXNzOworICAgIHJldHVybiBpbmxpbmVTdHlsZVNo
ZWV0VGV4dChyZXN1bHQpIHx8IHJlc291cmNlU3R5bGVTaGVldFRleHQocmVzdWx0KSB8fCBleHRl
bnNpb25TdHlsZVNoZWV0VGV4dChyZXN1bHQpOwogfQogCiBib29sIEluc3BlY3RvclN0eWxlU2hl
ZXQ6OnJlc291cmNlU3R5bGVTaGVldFRleHQoU3RyaW5nKiByZXN1bHQpIGNvbnN0CiB7Ci0gICAg
aWYgKG1fb3JpZ2luID09IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdp
bjo6VXNlciB8fCBtX29yaWdpbiA9PSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlN0eWxlU2hl
ZXRPcmlnaW46OlVzZXJBZ2VudCkKKyAgICBpZiAobV9vcmlnaW4gIT0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpTdHlsZVNoZWV0T3JpZ2luOjpSZWd1bGFyICYmIG1fb3JpZ2luICE9IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbjo6SW5zcGVjdG9yKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoIW1fcGFnZVN0eWxlU2hlZXQgfHwgIW93bmVyRG9j
dW1lbnQoKSB8fCAhb3duZXJEb2N1bWVudCgpLT5mcmFtZSgpKQpAQCAtMTQyNiwyMCArMTQyMyw0
MCBAQCBib29sIEluc3BlY3RvclN0eWxlU2hlZXQ6OnJlc291cmNlU3R5bGVTaGVldFRleHQoU3Ry
aW5nKiByZXN1bHQpIGNvbnN0CiAKIGJvb2wgSW5zcGVjdG9yU3R5bGVTaGVldDo6aW5saW5lU3R5
bGVTaGVldFRleHQoU3RyaW5nKiByZXN1bHQpIGNvbnN0CiB7CisgICAgaWYgKG1fb3JpZ2luICE9
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbjo6UmVndWxhcikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFtX3BhZ2VTdHlsZVNoZWV0KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBOb2RlKiBvd25lck5vZGUgPSBtX3BhZ2VTdHlsZVNoZWV0
LT5vd25lck5vZGUoKTsKKyAgICBhdXRvKiBvd25lck5vZGUgPSBtX3BhZ2VTdHlsZVNoZWV0LT5v
d25lck5vZGUoKTsKICAgICBpZiAoIWlzPEVsZW1lbnQ+KG93bmVyTm9kZSkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBFbGVtZW50JiBvd25lckVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50
Pigqb3duZXJOb2RlKTsKIAorICAgIGF1dG8mIG93bmVyRWxlbWVudCA9IGRvd25jYXN0PEVsZW1l
bnQ+KCpvd25lck5vZGUpOwogICAgIGlmICghaXM8SFRNTFN0eWxlRWxlbWVudD4ob3duZXJFbGVt
ZW50KSAmJiAhaXM8U1ZHU3R5bGVFbGVtZW50Pihvd25lckVsZW1lbnQpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICAqcmVzdWx0ID0gb3duZXJFbGVtZW50LnRleHRDb250ZW50KCk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgSW5zcGVjdG9yU3R5bGVTaGVldDo6ZXh0ZW5zaW9u
U3R5bGVTaGVldFRleHQoU3RyaW5nKiByZXN1bHQpIGNvbnN0Cit7CisgICAgaWYgKG1fb3JpZ2lu
ICE9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbjo6VXNlcikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFtX3BhZ2VTdHlsZVNoZWV0IHx8ICFvd25l
ckRvY3VtZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gY29udGVudCA9
IG93bmVyRG9jdW1lbnQoKS0+ZXh0ZW5zaW9uU3R5bGVTaGVldHMoKS5jb250ZW50Rm9ySW5qZWN0
ZWRTdHlsZVNoZWV0KG1fcGFnZVN0eWxlU2hlZXQpOworICAgIGlmIChjb250ZW50LmlzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgKnJlc3VsdCA9IGNvbnRlbnQ7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIFJlZjxKU09OOjpBcnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkNTUzo6Q1NTUnVsZT4+IEluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkQXJyYXlGb3JSdWxlTGlz
dChDU1NSdWxlTGlzdCogcnVsZUxpc3QpCiB7CiAgICAgYXV0byByZXN1bHQgPSBKU09OOjpBcnJh
eU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTUnVsZT46OmNyZWF0ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKaW5kZXggMWVjZWUy
MzFiZjE4YmMwNGJiMmJkOWEyYmM0Mzk1YzhhZWFmNzA5ZS4uYmRmMTJlZTllMmY1OWU2ODU4OGY3
MzA5MzVjOTJhN2NiMmQ3MDBmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclN0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVTaGVldC5oCkBAIC0yMTMsNiArMjEzLDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG9yaWdpbmFsU3R5bGVTaGVldFRleHQoU3RyaW5nKiByZXN1bHQpIGNvbnN0OwogICAgIGJvb2wg
cmVzb3VyY2VTdHlsZVNoZWV0VGV4dChTdHJpbmcqIHJlc3VsdCkgY29uc3Q7CiAgICAgYm9vbCBp
bmxpbmVTdHlsZVNoZWV0VGV4dChTdHJpbmcqIHJlc3VsdCkgY29uc3Q7CisgICAgYm9vbCBleHRl
bnNpb25TdHlsZVNoZWV0VGV4dChTdHJpbmcqIHJlc3VsdCkgY29uc3Q7CiAgICAgUmVmPEpTT046
OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NSdWxlPj4gYnVpbGRBcnJheUZv
clJ1bGVMaXN0KENTU1J1bGVMaXN0Kik7CiAgICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNT
Uzo6Q1NTU2VsZWN0b3I+IGJ1aWxkT2JqZWN0Rm9yU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3Iq
LCBFbGVtZW50Kik7CiAgICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U2VsZWN0b3JM
aXN0PiBidWlsZE9iamVjdEZvclNlbGVjdG9yTGlzdChDU1NTdHlsZVJ1bGUqLCBFbGVtZW50Kiwg
aW50JiBlbmRpbmdMaW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0luc3Bl
Y3RvckNTU09NV3JhcHBlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvSW5zcGVjdG9yQ1NT
T01XcmFwcGVycy5jcHAKaW5kZXggZWEwYmJmNDUwYWY5NWQ4YTYyNDI4OWFjYTdjMTg2MjFhNWMz
NzVkNi4uNDZjNDg0OWQ1MjllY2NlYTNmMzQ0N2RkZTQ3ZTFmNTIxODRlMzMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKQEAgLTEyNCw2
ICsxMjQsOCBAQCB2b2lkIEluc3BlY3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3REb2N1bWVudFdy
YXBwZXJzKEV4dGVuc2lvblN0eWxlU2hlZXRzJiBleHRlbgogICAgICAgICBjb2xsZWN0KGV4dGVu
c2lvblN0eWxlU2hlZXRzLnBhZ2VVc2VyU2hlZXQoKSk7CiAgICAgICAgIGNvbGxlY3RGcm9tU3R5
bGVTaGVldHMoZXh0ZW5zaW9uU3R5bGVTaGVldHMuaW5qZWN0ZWRVc2VyU3R5bGVTaGVldHMoKSk7
CiAgICAgICAgIGNvbGxlY3RGcm9tU3R5bGVTaGVldHMoZXh0ZW5zaW9uU3R5bGVTaGVldHMuZG9j
dW1lbnRVc2VyU3R5bGVTaGVldHMoKSk7CisgICAgICAgIGNvbGxlY3RGcm9tU3R5bGVTaGVldHMo
ZXh0ZW5zaW9uU3R5bGVTaGVldHMuaW5qZWN0ZWRBdXRob3JTdHlsZVNoZWV0cygpKTsKKyAgICAg
ICAgY29sbGVjdEZyb21TdHlsZVNoZWV0cyhleHRlbnNpb25TdHlsZVNoZWV0cy5hdXRob3JTdHls
ZVNoZWV0c0ZvclRlc3RpbmcoKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGUuY3BwCmluZGV4IGQ3ZjhjNDUwOTBlZjBhNzc4MGVkY2QxYWVmMDg0ZGUzZWIwYWFiZDQuLjQ4
MzQyMTlmNjE2YTMyZWRkOTcyYmEwNjBjMDFlNDA1MzFhYmM5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuY3BwCkBAIC01MTcsNiArNTE3LDEwIEBAIGNvbnN0IFZlY3RvcjxSZWZQdHI8
Q1NTU3R5bGVTaGVldD4+IFNjb3BlOjphY3RpdmVTdHlsZVNoZWV0c0Zvckluc3BlY3RvcigpCiB7
CiAgICAgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4gcmVzdWx0OwogCisgICAgaWYgKGF1
dG8qIHBhZ2VVc2VyU2hlZXQgPSBtX2RvY3VtZW50LmV4dGVuc2lvblN0eWxlU2hlZXRzKCkucGFn
ZVVzZXJTaGVldCgpKQorICAgICAgICByZXN1bHQuYXBwZW5kKHBhZ2VVc2VyU2hlZXQpOworICAg
IHJlc3VsdC5hcHBlbmRWZWN0b3IobV9kb2N1bWVudC5leHRlbnNpb25TdHlsZVNoZWV0cygpLmRv
Y3VtZW50VXNlclN0eWxlU2hlZXRzKCkpOworICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IobV9kb2N1
bWVudC5leHRlbnNpb25TdHlsZVNoZWV0cygpLmluamVjdGVkVXNlclN0eWxlU2hlZXRzKCkpOwog
ICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IobV9kb2N1bWVudC5leHRlbnNpb25TdHlsZVNoZWV0cygp
LmluamVjdGVkQXV0aG9yU3R5bGVTaGVldHMoKSk7CiAgICAgcmVzdWx0LmFwcGVuZFZlY3Rvciht
X2RvY3VtZW50LmV4dGVuc2lvblN0eWxlU2hlZXRzKCkuYXV0aG9yU3R5bGVTaGVldHNGb3JUZXN0
aW5nKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA3YTc0N2E2OTQ5
MzM0N2ZjMThmMGQxY2YwNTU3ZjVjOWVmOTA2YTU3Li5mNWJjOGViMDA3NDM5YzgwMWNiMjYyMTJj
MTQ3Y2M2ZjlhMWVhNzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTUy
Niw4ICs1MjYsMTAgQEAgbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpXG5T
aGlmdC1jbGljayB0byBleHBvcnQgYSBIVE1MIHJlZHVjdGlvbiIKIGxvY2FsaXplZFN0cmluZ3Nb
IkV4cG9ydCByZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1bHQgKCVzKSI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJFeHByZXNzaW9uIl0gPSAiRXhwcmVzc2lvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJF
eHRlbnNpb24gU2NyaXB0cyJdID0gIkV4dGVuc2lvbiBTY3JpcHRzIjsKK2xvY2FsaXplZFN0cmlu
Z3NbIkV4dGVuc2lvbiBTdHlsZSBTaGVldHMiXSA9ICJFeHRlbnNpb24gU3R5bGUgU2hlZXRzIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkV4dGVuc2lvbnMiXSA9ICJFeHRlbnNpb25zIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkV4dHJhIFNjcmlwdHMiXSA9ICJFeHRyYSBTY3JpcHRzIjsKK2xvY2FsaXplZFN0
cmluZ3NbIkV4dHJhIFN0eWxlIFNoZWV0cyJdID0gIkV4dHJhIFN0eWxlIFNoZWV0cyI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJGYWRlIHVuZXhlY3V0ZWQgY29kZSJdID0gIkZhZGUgdW5leGVjdXRlZCBj
b2RlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkZhaWxlZCB0byB1cGdyYWRlIl0gPSAiRmFpbGVkIHRv
IHVwZ3JhZGUiOwogbG9jYWxpemVkU3RyaW5nc1siRmFpbHVyZSBzdGF0dXMgY29kZSJdID0gIkZh
aWx1cmUgc3RhdHVzIGNvZGUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1J1bGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcwppbmRleCA3NzY2NWI5ODJhMGQyMTZhYmUyYjll
NzNhODhiYmEyY2ZmZjIzZjBiLi4zYjRkOWIxZmQ4YTVjNjAyNmM4ZTI5OTBiOTA0ZmU2ZGQxOGI3
NmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTUnVsZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvQ1NTUnVsZS5qcwpAQCAtNTQsNyArNTQsNyBAQCBXSS5DU1NSdWxlID0gY2xhc3MgQ1NT
UnVsZSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgZ2V0IGVkaXRhYmxlKCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiAhIXRoaXMuX2lkICYmICh0aGlzLl90eXBlID09PSBXSS5DU1NTdHlsZVNoZWV0
LlR5cGUuQXV0aG9yIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNTU1N0eWxlU2hlZXQuVHlwZS5JbnNw
ZWN0b3IpOworICAgICAgICByZXR1cm4gISF0aGlzLl9pZCAmJiB0aGlzLl90eXBlICE9PSBXSS5D
U1NTdHlsZVNoZWV0LlR5cGUuVXNlckFnZW50OwogICAgIH0KIAogICAgIGdldCBzZWxlY3RvclRl
eHQoKQpAQCAtMTM1LDkgKzEzNSw4IEBAIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KIAogICAgICAgICBpZiAodGhpcy5fb3duZXJTdHlsZVNo
ZWV0KSB7Ci0gICAgICAgICAgICBpZiAoIXNvdXJjZUNvZGVMb2NhdGlvbiAmJiB0aGlzLl9vd25l
clN0eWxlU2hlZXQuaXNJbnNwZWN0b3JTdHlsZVNoZWV0KCkpCisgICAgICAgICAgICBpZiAoIXNv
dXJjZUNvZGVMb2NhdGlvbiAmJiBzb3VyY2VSYW5nZSkKICAgICAgICAgICAgICAgICBzb3VyY2VD
b2RlTG9jYXRpb24gPSB0aGlzLl9vd25lclN0eWxlU2hlZXQuY3JlYXRlU291cmNlQ29kZUxvY2F0
aW9uKHNvdXJjZVJhbmdlLnN0YXJ0TGluZSwgc291cmNlUmFuZ2Uuc3RhcnRDb2x1bW4pOwotCiAg
ICAgICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSB0aGlzLl9vd25lclN0eWxlU2hlZXQub2Zm
c2V0U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlvbik7CiAgICAgICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NT
U1N0eWxlU2hlZXQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTU3R5bGVTaGVldC5qcwppbmRleCBhMDhjNzM5NDExYjU2Y2JlMjI1NGU4Yjg5ZTljM2Vi
NjcwNzc2NWMxLi5mMzUwZmRhMTFhYzE0MWRiNGZkN2Y1ZGM4N2RkNDNjZGQ0YTY5MDhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5
bGVTaGVldC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTU3R5bGVTaGVldC5qcwpAQCAtNjgsNiArNjgsMTYgQEAgV0kuQ1NTU3R5bGVTaGVldCA9
IGNsYXNzIENTU1N0eWxlU2hlZXQgZXh0ZW5kcyBXSS5Tb3VyY2VDb2RlCiAgICAgICAgIHJldHVy
biB0aGlzLl9vcmlnaW47CiAgICAgfQogCisgICAgZ2V0IGluamVjdGVkKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLnVybENvbXBvbmVudHMgJiYgdGhpcy51cmxDb21wb25lbnRzLnNjaGVt
ZS5lbmRzV2l0aCgiZXh0ZW5zaW9uIik7CisgICAgfQorCisgICAgZ2V0IGFub255bW91cygpCisg
ICAgeworICAgICAgICByZXR1cm4gIXRoaXMuaXNJbnNwZWN0b3JTdHlsZVNoZWV0KCkgJiYgIXRo
aXMuX3VybDsKKyAgICB9CisKICAgICBnZXQgdXJsKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0
aGlzLl91cmw7CkBAIC04Nyw2ICs5Nyw5IEBAIFdJLkNTU1N0eWxlU2hlZXQgPSBjbGFzcyBDU1NT
dHlsZVNoZWV0IGV4dGVuZHMgV0kuU291cmNlQ29kZQogCiAgICAgZ2V0IGRpc3BsYXlOYW1lKCkK
ICAgICB7CisgICAgICAgIGlmICh0aGlzLmlzSW5zcGVjdG9yU3R5bGVTaGVldCgpKQorICAgICAg
ICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJJbnNwZWN0b3IgU3R5bGUgU2hlZXQiKTsKKwogICAg
ICAgICBpZiAodGhpcy5fdXJsKQogICAgICAgICAgICAgcmV0dXJuIFdJLmRpc3BsYXlOYW1lRm9y
VVJMKHRoaXMuX3VybCwgdGhpcy51cmxDb21wb25lbnRzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5q
cwppbmRleCAxODc2ZmJjMTBiZmNjYzE4YmVhYTVlY2MwZjM5ZDk0NmQ5MDVmYWZlLi45N2IzNGNi
M2ZjODUzN2Q3M2ZiNDg2ZWJhMThhMTU1ZTlmNWIyYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5q
cwpAQCAtNjg5LDkgKzY4OSw4IEBAIFdJLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5
bGVzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoc3R5bGVTaGVl
dCkgewotICAgICAgICAgICAgaWYgKCFzb3VyY2VDb2RlTG9jYXRpb24gJiYgc3R5bGVTaGVldC5p
c0luc3BlY3RvclN0eWxlU2hlZXQoKSkKKyAgICAgICAgICAgIGlmICghc291cmNlQ29kZUxvY2F0
aW9uICYmIHNvdXJjZVJhbmdlKQogICAgICAgICAgICAgICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9
IHN0eWxlU2hlZXQuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZVJhbmdlLnN0YXJ0TGlu
ZSwgc291cmNlUmFuZ2Uuc3RhcnRDb2x1bW4pOwotCiAgICAgICAgICAgICBzb3VyY2VDb2RlTG9j
YXRpb24gPSBzdHlsZVNoZWV0Lm9mZnNldFNvdXJjZUNvZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9j
YXRpb24pOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlU2hlZXRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlU2hlZXRUcmVlRWxlbWVu
dC5qcwppbmRleCA2YjYxODBhODhlNzgwY2FiZjE5OGZjMTY0ZTJlOTEzMDBmNDYwOWY2Li5mODNi
MDRkNDE1ZjVkYmQyMDc0N2U4YzA2MmY2MTVmYjhiY2UzZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZVNoZWV0VHJlZUVsZW1l
bnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NT
U3R5bGVTaGVldFRyZWVFbGVtZW50LmpzCkBAIC0yOCw4ICsyOCwyMyBAQCBXSS5DU1NTdHlsZVNo
ZWV0VHJlZUVsZW1lbnQgPSBjbGFzcyBDU1NTdHlsZVNoZWV0VHJlZUVsZW1lbnQgZXh0ZW5kcyBX
SS5Tb3VyY2VDbwogICAgIGNvbnN0cnVjdG9yKHN0eWxlU2hlZXQpCiAgICAgewogICAgICAgICBj
b25zb2xlLmFzc2VydChzdHlsZVNoZWV0IGluc3RhbmNlb2YgV0kuQ1NTU3R5bGVTaGVldCk7Ci0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHN0eWxlU2hlZXQuaXNJbnNwZWN0b3JTdHlsZVNoZWV0KCkp
OwogCi0gICAgICAgIHN1cGVyKHN0eWxlU2hlZXQsIFsic3R5bGUtc2hlZXQiLCAic3R5bGUtc2hl
ZXQtaWNvbiJdLCBXSS5VSVN0cmluZygiSW5zcGVjdG9yIFN0eWxlIFNoZWV0IikpOworICAgICAg
ICBjb25zdCB0aXRsZSA9IG51bGw7CisgICAgICAgIGNvbnN0IHN1YnRpdGxlID0gbnVsbDsKKyAg
ICAgICAgc3VwZXIoc3R5bGVTaGVldCwgWyJzdHlsZS1zaGVldCIsICJzdHlsZS1zaGVldC1pY29u
Il0sIHRpdGxlLCBzdWJ0aXRsZSk7CisKKyAgICAgICAgdGhpcy5tYWluVGl0bGUgPSBzdHlsZVNo
ZWV0LmRpc3BsYXlOYW1lOworCisgICAgICAgIGlmIChzdHlsZVNoZWV0LnVybCkgeworICAgICAg
ICAgICAgaWYgKHN0eWxlU2hlZXQudXJsQ29tcG9uZW50cy5zY2hlbWUgPT09ICJ3ZWItaW5zcGVj
dG9yIikKKyAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLm1haW5UaXRsZTsKKyAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIC8vIFNob3cgdGhlIGhvc3QgYXMgdGhl
IHN1YnRpdGxlIGlmIGl0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBtYWluIHRpdGxlLgorICAgICAg
ICAgICAgICAgIGxldCBob3N0ID0gV0kuZGlzcGxheU5hbWVGb3JIb3N0KHN0eWxlU2hlZXQudXJs
Q29tcG9uZW50cy5ob3N0KTsKKyAgICAgICAgICAgICAgICB0aGlzLnN1YnRpdGxlID0gdGhpcy5t
YWluVGl0bGUgIT09IGhvc3QgPyBob3N0IDogbnVsbDsKKworICAgICAgICAgICAgICAgIHRoaXMu
dG9vbHRpcCA9IHN0eWxlU2hlZXQudXJsOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0ZyYW1lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9GcmFtZVRyZWVFbGVtZW50LmpzCmluZGV4IDA2YmU4ZmU0NDlhZTRlMDU2ZDE2
NjljNTNjYTgzNmEwNWYzMWVlMzIuLjc0Zjk2MTI4ZmZjZmYyYTU3ODIzZjc0ZTI5MGVjY2Y1ZTkw
ZjkwZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0ZyYW1lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRnJhbWVUcmVlRWxlbWVudC5qcwpAQCAtMTE2LDExICsxMTYsMTMgQEAg
V0kuRnJhbWVUcmVlRWxlbWVudCA9IGNsYXNzIEZyYW1lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5S
ZXNvdXJjZVRyZWVFbGVtZW50CiAgICAgICAgIFdJLkdlbmVyYWxUcmVlRWxlbWVudC5wcm90b3R5
cGUub25hdHRhY2guY2FsbCh0aGlzKTsKIAogICAgICAgICBXSS5jc3NNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuQ1NTTWFuYWdlci5FdmVudC5TdHlsZVNoZWV0QWRkZWQsIHRoaXMuX3N0eWxl
U2hlZXRBZGRlZCwgdGhpcyk7CisgICAgICAgIFdJLmNzc01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5DU1NNYW5hZ2VyLkV2ZW50LlN0eWxlU2hlZXRSZW1vdmVkLCB0aGlzLl9zdHlsZVNoZWV0
UmVtb3ZlZCwgdGhpcyk7CiAgICAgfQogCiAgICAgb25kZXRhY2goKQogICAgIHsKICAgICAgICAg
V0kuY3NzTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkNTU01hbmFnZXIuRXZlbnQuU3R5
bGVTaGVldEFkZGVkLCB0aGlzLl9zdHlsZVNoZWV0QWRkZWQsIHRoaXMpOworICAgICAgICBXSS5j
c3NNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ1NTTWFuYWdlci5FdmVudC5TdHlsZVNo
ZWV0UmVtb3ZlZCwgdGhpcy5fc3R5bGVTaGVldFJlbW92ZWQsIHRoaXMpOwogCiAgICAgICAgIHN1
cGVyLm9uZGV0YWNoKCk7CiAgICAgfQpAQCAtMjU5LDkgKzI2MSwxOSBAQCBXSS5GcmFtZVRyZWVF
bGVtZW50ID0gY2xhc3MgRnJhbWVUcmVlRWxlbWVudCBleHRlbmRzIFdJLlJlc291cmNlVHJlZUVs
ZW1lbnQKIAogICAgIF9zdHlsZVNoZWV0QWRkZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAo
IWV2ZW50LmRhdGEuc3R5bGVTaGVldC5pc0luc3BlY3RvclN0eWxlU2hlZXQoKSkKKyAgICAgICAg
bGV0IHtzdHlsZVNoZWV0fSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmIChzdHlsZVNoZWV0Lm9y
aWdpbiA9PT0gV0kuQ1NTU3R5bGVTaGVldC5UeXBlLkF1dGhvciB8fCBzdHlsZVNoZWV0LmluamVj
dGVkIHx8IHN0eWxlU2hlZXQuYW5vbnltb3VzKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuYWRkUmVwcmVzZW50ZWRPYmplY3RUb05ld0NoaWxkUXVldWUoZXZlbnQuZGF0YS5z
dHlsZVNoZWV0KTsKKyAgICAgICAgdGhpcy5hZGRSZXByZXNlbnRlZE9iamVjdFRvTmV3Q2hpbGRR
dWV1ZShzdHlsZVNoZWV0KTsKKyAgICB9CisKKyAgICBfc3R5bGVTaGVldFJlbW92ZWQoZXZlbnQp
CisgICAgeworICAgICAgICBsZXQge3N0eWxlU2hlZXR9ID0gZXZlbnQuZGF0YTsKKyAgICAgICAg
aWYgKHN0eWxlU2hlZXQub3JpZ2luID09PSBXSS5DU1NTdHlsZVNoZWV0LlR5cGUuQXV0aG9yIHx8
IHN0eWxlU2hlZXQuaW5qZWN0ZWQgfHwgc3R5bGVTaGVldC5hbm9ueW1vdXMpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgdGhpcy5yZW1vdmVDaGlsZEZvclJlcHJlc2VudGVkT2JqZWN0
KHN0eWxlU2hlZXQpOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9PcGVuUmVzb3VyY2VEaWFsb2cuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PcGVuUmVzb3VyY2VEaWFsb2cuanMKaW5k
ZXggMWVhZWNkYzg4Y2NmZDUyNjg4YmNjN2M5ZjM2NDhjZDkxNzcxZGRiNy4uZWVhOWRmMWJiOGE5
NWVkNjE0M2ZlNTRmYzRjNjY2YWMwMzBkNzY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3BlblJlc291cmNlRGlhbG9nLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09wZW5SZXNvdXJjZURpYWxv
Zy5qcwpAQCAtNjMsNiArNjMsMTcgQEAgV0kuT3BlblJlc291cmNlRGlhbG9nID0gY2xhc3MgT3Bl
blJlc291cmNlRGlhbG9nIGV4dGVuZHMgV0kuRGlhbG9nCiAKICAgICAvLyBQcm90ZWN0ZWQKIAor
ICAgIHJlcHJlc2VudGVkT2JqZWN0SXNWYWxpZCh2YWx1ZSkKKyAgICB7CisgICAgICAgIGlmICh2
YWx1ZSBpbnN0YW5jZW9mIFdJLlNjcmlwdCAmJiB2YWx1ZS5hbm9ueW1vdXMpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgV0kuQ1NTU3R5
bGVTaGVldCAmJiB2YWx1ZS5hbm9ueW1vdXMpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgcmV0dXJuIHN1cGVyLnJlcHJlc2VudGVkT2JqZWN0SXNWYWxpZCh2YWx1ZSk7Cisg
ICAgfQorCiAgICAgX3BvcHVsYXRlUmVzb3VyY2VUcmVlT3V0bGluZSgpCiAgICAgewogICAgICAg
ICBmdW5jdGlvbiBjcmVhdGVIaWdobGlnaHRlZFRpdGxlRnJhZ21lbnQodGl0bGUsIGhpZ2hsaWdo
dFRleHRSYW5nZXMpCkBAIC05Niw2ICsxMDcsOCBAQCBXSS5PcGVuUmVzb3VyY2VEaWFsb2cgPSBj
bGFzcyBPcGVuUmVzb3VyY2VEaWFsb2cgZXh0ZW5kcyBXSS5EaWFsb2cKICAgICAgICAgICAgICAg
ICB0cmVlRWxlbWVudCA9IG5ldyBXSS5SZXNvdXJjZVRyZWVFbGVtZW50KHJlcHJlc2VudGVkT2Jq
ZWN0KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2Yg
V0kuU2NyaXB0KQogICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50ID0gbmV3IFdJLlNjcmlwdFRy
ZWVFbGVtZW50KHJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHJlcHJl
c2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQ1NTU3R5bGVTaGVldCkKKyAgICAgICAgICAgICAg
ICB0cmVlRWxlbWVudCA9IG5ldyBXSS5DU1NTdHlsZVNoZWV0VHJlZUVsZW1lbnQocmVwcmVzZW50
ZWRPYmplY3QpOwogCiAgICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQ7CiAgICAgICAgIH0K
QEAgLTEzNCw4ICsxNDcsMTIgQEAgV0kuT3BlblJlc291cmNlRGlhbG9nID0gY2xhc3MgT3BlblJl
c291cmNlRGlhbG9nIGV4dGVuZHMgV0kuRGlhbG9nCiAgICAgewogICAgICAgICBXSS5GcmFtZS5y
ZW1vdmVFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwg
dGhpcy5fbWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKICAgICAgICAgV0kuRnJhbWUucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9y
ZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuRnJhbWUucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc1JlbW92ZWQsIHRoaXMuX3Jlc291cmNlV2Fz
UmVtb3ZlZCwgdGhpcyk7CiAgICAgICAgIFdJLlRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKFdJ
LlRhcmdldC5FdmVudC5SZXNvdXJjZUFkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlz
KTsKICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LlNjcmlwdEFkZGVkLCB0aGlzLl9zY3JpcHRBZGRlZCwgdGhpcyk7
CisgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5TY3JpcHRSZW1vdmVkLCB0aGlzLl9zY3JpcHRSZW1vdmVkLCB0aGlz
KTsKKyAgICAgICAgV0kuY3NzTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkNTU01hbmFn
ZXIuRXZlbnQuU3R5bGVTaGVldEFkZGVkLCB0aGlzLl9oYW5kbGVTdHlsZVNoZWV0QWRkZWQsIHRo
aXMpOworICAgICAgICBXSS5jc3NNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ1NTTWFu
YWdlci5FdmVudC5TdHlsZVNoZWV0UmVtb3ZlZCwgdGhpcy5faGFuZGxlU3R5bGVTaGVldFJlbW92
ZWQsIHRoaXMpOwogCiAgICAgICAgIHRoaXMuX3F1ZXJ5Q29udHJvbGxlci5yZXNldCgpOwogICAg
IH0KQEAgLTE0NCw4ICsxNjEsMTIgQEAgV0kuT3BlblJlc291cmNlRGlhbG9nID0gY2xhc3MgT3Bl
blJlc291cmNlRGlhbG9nIGV4dGVuZHMgV0kuRGlhbG9nCiAgICAgewogICAgICAgICBXSS5GcmFt
ZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwg
dGhpcy5fbWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKICAgICAgICAgV0kuRnJhbWUuYWRk
RXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNv
dXJjZVdhc0FkZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihX
SS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc1JlbW92ZWQsIHRoaXMuX3Jlc291cmNlV2FzUmVtb3Zl
ZCwgdGhpcyk7CiAgICAgICAgIFdJLlRhcmdldC5hZGRFdmVudExpc3RlbmVyKFdJLlRhcmdldC5F
dmVudC5SZXNvdXJjZUFkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKICAgICAg
ICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2Vy
LkV2ZW50LlNjcmlwdEFkZGVkLCB0aGlzLl9zY3JpcHRBZGRlZCwgdGhpcyk7CisgICAgICAgIFdJ
LmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVu
dC5TY3JpcHRSZW1vdmVkLCB0aGlzLl9zY3JpcHRSZW1vdmVkLCB0aGlzKTsKKyAgICAgICAgV0ku
Y3NzTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkNTU01hbmFnZXIuRXZlbnQuU3R5bGVTaGVl
dEFkZGVkLCB0aGlzLl9oYW5kbGVTdHlsZVNoZWV0QWRkZWQsIHRoaXMpOworICAgICAgICBXSS5j
c3NNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ1NTTWFuYWdlci5FdmVudC5TdHlsZVNoZWV0
UmVtb3ZlZCwgdGhpcy5faGFuZGxlU3R5bGVTaGVldFJlbW92ZWQsIHRoaXMpOwogCiAgICAgICAg
IGlmIChXSS5uZXR3b3JrTWFuYWdlci5tYWluRnJhbWUpCiAgICAgICAgICAgICB0aGlzLl9hZGRS
ZXNvdXJjZXNGb3JGcmFtZShXSS5uZXR3b3JrTWFuYWdlci5tYWluRnJhbWUpOwpAQCAtMTY3LDYg
KzE4OCwxMSBAQCBXSS5PcGVuUmVzb3VyY2VEaWFsb2cgPSBjbGFzcyBPcGVuUmVzb3VyY2VEaWFs
b2cgZXh0ZW5kcyBXSS5EaWFsb2cKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAg
IGZvciAobGV0IHN0eWxlU2hlZXQgb2YgV0kuY3NzTWFuYWdlci5zdHlsZVNoZWV0cykgeworICAg
ICAgICAgICAgaWYgKHN0eWxlU2hlZXQub3JpZ2luICE9PSBXSS5DU1NTdHlsZVNoZWV0LlR5cGUu
QXV0aG9yKQorICAgICAgICAgICAgICAgIHRoaXMuX2FkZFJlc291cmNlKHN0eWxlU2hlZXQpOwor
ICAgICAgICB9CisKICAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyKCk7CiAKICAgICAgICAgdGhp
cy5faW5wdXRFbGVtZW50LmZvY3VzKCk7CkBAIC0zMDMsNiArMzI5LDE2IEBAIFdJLk9wZW5SZXNv
dXJjZURpYWxvZyA9IGNsYXNzIE9wZW5SZXNvdXJjZURpYWxvZyBleHRlbmRzIFdJLkRpYWxvZwog
ICAgICAgICB0aGlzLl91cGRhdGVGaWx0ZXIoKTsKICAgICB9CiAKKyAgICBfcmVtb3ZlUmVzb3Vy
Y2UocmVzb3VyY2UpCisgICAgeworICAgICAgICBpZiAoIXRoaXMucmVwcmVzZW50ZWRPYmplY3RJ
c1ZhbGlkKHJlc291cmNlKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9x
dWVyeUNvbnRyb2xsZXIucmVtb3ZlUmVzb3VyY2UocmVzb3VyY2UpOworCisgICAgICAgIHRoaXMu
X3VwZGF0ZUZpbHRlcigpOworICAgIH0KKwogICAgIF9hZGRSZXNvdXJjZXNGb3JGcmFtZShmcmFt
ZSkKICAgICB7CiAgICAgICAgIGNvbnN0IHN1cHByZXNzRmlsdGVyVXBkYXRlID0gdHJ1ZTsKQEAg
LTM3OCwxNyArNDE0LDQ2IEBAIFdJLk9wZW5SZXNvdXJjZURpYWxvZyA9IGNsYXNzIE9wZW5SZXNv
dXJjZURpYWxvZyBleHRlbmRzIFdJLkRpYWxvZwogICAgICAgICB0aGlzLl9hZGRSZXNvdXJjZShl
dmVudC5kYXRhLnJlc291cmNlKTsKICAgICB9CiAKKyAgICBfcmVzb3VyY2VXYXNSZW1vdmVkKGV2
ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVtb3ZlUmVzb3VyY2UoZXZlbnQuZGF0YS5yZXNv
dXJjZSk7CisgICAgfQorCiAgICAgX3NjcmlwdEFkZGVkKGV2ZW50KQogICAgIHsKLSAgICAgICAg
bGV0IHNjcmlwdCA9IGV2ZW50LmRhdGEuc2NyaXB0OwotICAgICAgICBpZiAoc2NyaXB0LnJlc291
cmNlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChzY3JpcHQudGFyZ2V0ID09
PSBXSS5tYWluVGFyZ2V0KQorICAgICAgICBsZXQge3NjcmlwdH0gPSBldmVudC5kYXRhOworICAg
ICAgICBpZiAoc2NyaXB0LnJlc291cmNlIHx8IHNjcmlwdC50YXJnZXQgPT09IFdJLm1haW5UYXJn
ZXQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fYWRkUmVzb3VyY2Uoc2Ny
aXB0KTsKICAgICB9CisKKyAgICBfc2NyaXB0UmVtb3ZlZChldmVudCkKKyAgICB7CisgICAgICAg
IGxldCB7c2NyaXB0fSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmIChzY3JpcHQucmVzb3VyY2Ug
fHwgc2NyaXB0LnRhcmdldCA9PT0gV0kubWFpblRhcmdldCkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICB0aGlzLl9yZW1vdmVSZXNvdXJjZShzY3JpcHQpOworICAgIH0KKworICAgIF9o
YW5kbGVTdHlsZVNoZWV0QWRkZWQoZXZlbnQpCisgICAgeworICAgICAgICBsZXQge3N0eWxlU2hl
ZXR9ID0gZXZlbnQuZGF0YTsKKyAgICAgICAgaWYgKHN0eWxlU2hlZXQub3JpZ2luID09PSBXSS5D
U1NTdHlsZVNoZWV0LlR5cGUuQXV0aG9yIHx8IHN0eWxlU2hlZXQuaW5qZWN0ZWQgfHwgc3R5bGVT
aGVldC5hbm9ueW1vdXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fYWRk
UmVzb3VyY2Uoc3R5bGVTaGVldCk7CisgICAgfQorCisgICAgX2hhbmRsZVN0eWxlU2hlZXRSZW1v
dmVkKGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0IHtzdHlsZVNoZWV0fSA9IGV2ZW50LmRhdGE7
CisgICAgICAgIGlmIChzdHlsZVNoZWV0Lm9yaWdpbiA9PT0gV0kuQ1NTU3R5bGVTaGVldC5UeXBl
LkF1dGhvciB8fCBzdHlsZVNoZWV0LmluamVjdGVkIHx8IHN0eWxlU2hlZXQuYW5vbnltb3VzKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3JlbW92ZVJlc291cmNlKHN0eWxl
U2hlZXQpOworICAgIH0KIH07CiAKIFdJLk9wZW5SZXNvdXJjZURpYWxvZy5SZXNvdXJjZU1hdGNo
Q29va2llRGF0YVN5bWJvbCA9IFN5bWJvbCgib3Blbi1yZXNvdXJjZS1kaWFsb2ctcmVzb3VyY2Ut
bWF0Y2gtY29va2llLWRhdGEiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRyZWVFbGVtZW50LmpzCmluZGV4
IGIzNTRiNTZhYTBkMWQ5NTQwYjJkZDEzOGI0OTVlY2I5ZjU2NGU1MWUuLmNhNDg3NzVmYTMxYzQ5
NGQ0NzgyZTg1Mzk5NDcyM2M5ZTk4ZmUzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUcmVlRWxlbWVu
dC5qcwpAQCAtNDYsMTYgKzQ2LDM1IEBAIFdJLlJlc291cmNlVHJlZUVsZW1lbnQgPSBjbGFzcyBS
ZXNvdXJjZVRyZWVFbGVtZW50IGV4dGVuZHMgV0kuU291cmNlQ29kZVRyZWVFbGVtCiAKICAgICBz
dGF0aWMgY29tcGFyZVJlc291cmNlVHJlZUVsZW1lbnRzKGEsIGIpCiAgICAgeworICAgICAgICBj
b25zb2xlLmFzc2VydChhIGluc3RhbmNlb2YgV0kuU291cmNlQ29kZVRyZWVFbGVtZW50KTsKKyAg
ICAgICAgY29uc29sZS5hc3NlcnQoYiBpbnN0YW5jZW9mIFdJLlNvdXJjZUNvZGVUcmVlRWxlbWVu
dCk7CisKKyAgICAgICAgbGV0IHJlc291cmNlQSA9IGEucmVzb3VyY2UgfHwgYS5yZXByZXNlbnRl
ZE9iamVjdDsKKyAgICAgICAgbGV0IHJlc291cmNlQiA9IGIucmVzb3VyY2UgfHwgYi5yZXByZXNl
bnRlZE9iamVjdDsKKworICAgICAgICBmdW5jdGlvbiByZXNvbHZlZFR5cGUocmVzb3VyY2UpIHsK
KyAgICAgICAgICAgIGlmIChyZXNvdXJjZSBpbnN0YW5jZW9mIFdJLlJlc291cmNlKQorICAgICAg
ICAgICAgICAgIHJldHVybiByZXNvdXJjZS50eXBlOworICAgICAgICAgICAgaWYgKHJlc291cmNl
IGluc3RhbmNlb2YgV0kuQ1NTU3R5bGVTaGVldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gV0ku
UmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0OworICAgICAgICAgICAgaWYgKHJlc291cmNlIGluc3Rh
bmNlb2YgV0kuU2NyaXB0KQorICAgICAgICAgICAgICAgIHJldHVybiBXSS5SZXNvdXJjZS5UeXBl
LlNjcmlwdDsKKyAgICAgICAgICAgIHJldHVybiBXSS5SZXNvdXJjZS5UeXBlLk90aGVyOworICAg
ICAgICB9CisKKyAgICAgICAgbGV0IHR5cGVBID0gcmVzb2x2ZWRUeXBlKHJlc291cmNlQSk7Cisg
ICAgICAgIGxldCB0eXBlQiA9IHJlc29sdmVkVHlwZShyZXNvdXJjZUIpOworCiAgICAgICAgIC8v
IENvbXBhcmUgYnkgdHlwZSBmaXJzdCB0byBrZWVwIHJlc291cmNlcyBncm91cGVkIGJ5IHR5cGUg
d2hlbiBub3Qgc29ydGVkIGludG8gZm9sZGVycy4KLSAgICAgICAgdmFyIGNvbXBhcmlzb25SZXN1
bHQgPSBhLnJlc291cmNlLnR5cGUuZXh0ZW5kZWRMb2NhbGVDb21wYXJlKGIucmVzb3VyY2UudHlw
ZSk7CisgICAgICAgIHZhciBjb21wYXJpc29uUmVzdWx0ID0gdHlwZUEuZXh0ZW5kZWRMb2NhbGVD
b21wYXJlKHR5cGVCKTsKICAgICAgICAgaWYgKGNvbXBhcmlzb25SZXN1bHQgIT09IDApCiAgICAg
ICAgICAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdDsKIAogICAgICAgICAvLyBDb21wYXJlIGFz
eW5jIHJlc291cmNlIHR5cGVzIGJ5IHRoZWlyIGZpcnN0IHRpbWVzdGFtcCBzbyB0aGV5IGFyZSBp
biBjaHJvbm9sb2dpY2FsIG9yZGVyLgotICAgICAgICBpZiAoYS5yZXNvdXJjZS50eXBlID09PSBX
SS5SZXNvdXJjZS5UeXBlLlhIUgotICAgICAgICAgICAgfHwgYS5yZXNvdXJjZS50eXBlID09PSBX
SS5SZXNvdXJjZS5UeXBlLkZldGNoCi0gICAgICAgICAgICB8fCBhLnJlc291cmNlLnR5cGUgPT09
IFdJLlJlc291cmNlLlR5cGUuV2ViU29ja2V0KQotICAgICAgICAgICAgcmV0dXJuIGEucmVzb3Vy
Y2UuZmlyc3RUaW1lc3RhbXAgLSBiLnJlc291cmNlLmZpcnN0VGltZXN0YW1wIHx8IDA7CisgICAg
ICAgIGlmICh0eXBlQSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5YSFIKKyAgICAgICAgICAgIHx8IHR5
cGVBID09PSBXSS5SZXNvdXJjZS5UeXBlLkZldGNoCisgICAgICAgICAgICB8fCB0eXBlQSA9PT0g
V0kuUmVzb3VyY2UuVHlwZS5XZWJTb2NrZXQpCisgICAgICAgICAgICByZXR1cm4gcmVzb3VyY2VB
LmZpcnN0VGltZXN0YW1wIC0gcmVzb3VyY2VCLmZpcnN0VGltZXN0YW1wIHx8IDA7CiAKICAgICAg
ICAgLy8gQ29tcGFyZSBieSBzdWJ0aXRsZSB3aGVuIHRoZSB0eXBlcyBhcmUgdGhlIHNhbWUuIFRo
ZSBzdWJ0aXRsZSBpcyB1c2VkIHRvIHNob3cgdGhlCiAgICAgICAgIC8vIGRvbWFpbiBvZiB0aGUg
cmVzb3VyY2UuIFRoaXMgY2F1c2VzIHJlc291cmNlcyB0byBncm91cCBieSBkb21haW4uIElmIHRo
ZSByZXNvdXJjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5l
bC5qcwppbmRleCBhOGMxNWI2NTY0MmViYmUwYTBiOWZhZjViNTNkNzgxMmU5NjMyMzdkLi44YjUx
MGY2OWY4MjZlNGVkNzcwYmNlNjUxZWVkYTY3YzQwMzNlOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwpAQCAtMzMsOCArMzMsMTEgQEAgV0ku
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNp
ZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgdGhpcy5fd29ya2VyVGFyZ2V0VHJlZUVsZW1l
bnRNYXAgPSBuZXcgTWFwOwogICAgICAgICB0aGlzLl9tYWluRnJhbWVUcmVlRWxlbWVudCA9IG51
bGw7CiAgICAgICAgIHRoaXMuX2V4dGVuc2lvblNjcmlwdHNGb2xkZXJUcmVlRWxlbWVudCA9IG51
bGw7CisgICAgICAgIHRoaXMuX2V4dGVuc2lvblN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQg
PSBudWxsOwogICAgICAgICB0aGlzLl9leHRyYVNjcmlwdHNGb2xkZXJUcmVlRWxlbWVudCA9IG51
bGw7CisgICAgICAgIHRoaXMuX2V4dHJhU3R5bGVTaGVldHNGb2xkZXJUcmVlRWxlbWVudCA9IG51
bGw7CiAgICAgICAgIHRoaXMuX2Fub255bW91c1NjcmlwdHNGb2xkZXJUcmVlRWxlbWVudCA9IG51
bGw7CisgICAgICAgIHRoaXMuX2Fub255bW91c1N0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQg
PSBudWxsOwogCiAgICAgICAgIHRoaXMuX29yaWdpblRyZWVFbGVtZW50TWFwID0gbmV3IE1hcDsK
IApAQCAtMzE0LDYgKzMxNyw3IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0g
Y2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgIFdJ
LmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0
Q29tcGxldGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0Q29tcGxldGVkLCB0aGlzKTsK
IAogICAgICAgICBXSS5jc3NNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ1NTTWFuYWdlci5F
dmVudC5TdHlsZVNoZWV0QWRkZWQsIHRoaXMuX2hhbmRsZUNTU1N0eWxlU2hlZXRBZGRlZCwgdGhp
cyk7CisgICAgICAgIFdJLmNzc01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5DU1NNYW5hZ2Vy
LkV2ZW50LlN0eWxlU2hlZXRSZW1vdmVkLCB0aGlzLl9oYW5kbGVDU1NTdHlsZVNoZWV0UmVtb3Zl
ZCwgdGhpcyk7CiAKICAgICAgICAgV0kudGFyZ2V0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJ
LlRhcmdldE1hbmFnZXIuRXZlbnQuVGFyZ2V0QWRkZWQsIHRoaXMuX2hhbmRsZVRhcmdldEFkZGVk
LCB0aGlzKTsKICAgICAgICAgV0kudGFyZ2V0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRh
cmdldE1hbmFnZXIuRXZlbnQuVGFyZ2V0UmVtb3ZlZCwgdGhpcy5faGFuZGxlVGFyZ2V0UmVtb3Zl
ZCwgdGhpcyk7CkBAIC03NDQsMTIgKzc0OCwxOCBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwog
ICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdJLk9y
aWdpblRyZWVFbGVtZW50LAogICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50ICE9PSB0aGlzLl9leHRlbnNpb25TY3JpcHRzRm9s
ZGVyVHJlZUVsZW1lbnQKKyAgICAgICAgICAgICAgICAgICAgJiYgdHJlZUVsZW1lbnQgIT09IHRo
aXMuX2V4dGVuc2lvblN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQKICAgICAgICAgICAgICAg
ICAgICAgJiYgdHJlZUVsZW1lbnQgIT09IHRoaXMuX2V4dHJhU2NyaXB0c0ZvbGRlclRyZWVFbGVt
ZW50Ci0gICAgICAgICAgICAgICAgICAgICYmIHRyZWVFbGVtZW50ICE9PSB0aGlzLl9hbm9ueW1v
dXNTY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQ7CisgICAgICAgICAgICAgICAgICAgICYmIHRyZWVF
bGVtZW50ICE9PSB0aGlzLl9leHRyYVN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQKKyAgICAg
ICAgICAgICAgICAgICAgJiYgdHJlZUVsZW1lbnQgIT09IHRoaXMuX2Fub255bW91c1NjcmlwdHNG
b2xkZXJUcmVlRWxlbWVudAorICAgICAgICAgICAgICAgICAgICAmJiB0cmVlRWxlbWVudCAhPT0g
dGhpcy5fYW5vbnltb3VzU3R5bGVTaGVldHNGb2xkZXJUcmVlRWxlbWVudDsKICAgICAgICAgICAg
IH0sCiAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50ID09PSB0aGlzLl9l
eHRlbnNpb25TY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQsCisgICAgICAgICAgICAodHJlZUVsZW1l
bnQpID0+IHRyZWVFbGVtZW50ID09PSB0aGlzLl9leHRlbnNpb25TdHlsZVNoZWV0c0ZvbGRlclRy
ZWVFbGVtZW50LAogICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCA9PT0g
dGhpcy5fZXh0cmFTY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQsCisgICAgICAgICAgICAodHJlZUVs
ZW1lbnQpID0+IHRyZWVFbGVtZW50ID09PSB0aGlzLl9leHRyYVN0eWxlU2hlZXRzRm9sZGVyVHJl
ZUVsZW1lbnQsCiAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50ID09PSB0
aGlzLl9hbm9ueW1vdXNTY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQsCisgICAgICAgICAgICAodHJl
ZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50ID09PSB0aGlzLl9hbm9ueW1vdXNTdHlsZVNoZWV0c0Zv
bGRlclRyZWVFbGVtZW50LAogICAgICAgICBdOwogCiAgICAgICAgIGxldCBhUmFuayA9IHJhbmtG
dW5jdGlvbnMuZmluZEluZGV4KChyYW5rRnVuY3Rpb24pID0+IHJhbmtGdW5jdGlvbihhKSk7CkBA
IC04NjEsOCArODcxLDEwIEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xh
c3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAKICAgICAgICAgICAg
IGxldCBwYXJlbnRUcmVlRWxlbWVudCA9IG51bGw7CiAKLSAgICAgICAgICAgIGlmIChyZXNvdXJj
ZSBpbnN0YW5jZW9mIFdJLkNTU1N0eWxlU2hlZXQgJiYgcmVzb3VyY2UuaXNJbnNwZWN0b3JTdHls
ZVNoZWV0KCkpCisgICAgICAgICAgICBpZiAocmVzb3VyY2UgaW5zdGFuY2VvZiBXSS5DU1NTdHls
ZVNoZWV0KSB7CisgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocmVzb3VyY2UuaXNJbnNw
ZWN0b3JTdHlsZVNoZWV0KCkpOwogICAgICAgICAgICAgICAgIHBhcmVudFRyZWVFbGVtZW50ID0g
dGhpcy5fcmVzb3VyY2VzVHJlZU91dGxpbmUuZmluZFRyZWVFbGVtZW50KHJlc291cmNlLnBhcmVu
dEZyYW1lLm1haW5SZXNvdXJjZSk7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICgh
cGFyZW50VHJlZUVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICBsZXQgb3JpZ2luID0gcmVzb3Vy
Y2UudXJsQ29tcG9uZW50cy5vcmlnaW47CkBAIC05MTcsNiArOTI5LDM4IEBAIFdJLlNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBfYWRkU3R5bGVTaGVldChzdHls
ZVNoZWV0KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoc3R5bGVTaGVldCBpbnN0YW5j
ZW9mIFdJLkNTU1N0eWxlU2hlZXQpOworICAgICAgICBjb25zb2xlLmFzc2VydCghc3R5bGVTaGVl
dC5pc0luc3BlY3RvclN0eWxlU2hlZXQoKSk7CisKKyAgICAgICAgbGV0IHBhcmVudFRyZWVFbGVt
ZW50ID0gbnVsbDsKKworICAgICAgICBpZiAoc3R5bGVTaGVldC5pbmplY3RlZCkgeworICAgICAg
ICAgICAgaWYgKCF0aGlzLl9leHRlbnNpb25TdHlsZVNoZWV0c0ZvbGRlclRyZWVFbGVtZW50KQor
ICAgICAgICAgICAgICAgIHRoaXMuX2V4dGVuc2lvblN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1l
bnQgPSBuZXcgV0kuRm9sZGVyVHJlZUVsZW1lbnQoV0kuVUlTdHJpbmcoIkV4dGVuc2lvbiBTdHls
ZSBTaGVldHMiKSwgbmV3IFdJLkNTU1N0eWxlU2hlZXRDb2xsZWN0aW9uKTsKKyAgICAgICAgICAg
IHBhcmVudFRyZWVFbGVtZW50ID0gdGhpcy5fZXh0ZW5zaW9uU3R5bGVTaGVldHNGb2xkZXJUcmVl
RWxlbWVudDsKKyAgICAgICAgfSBlbHNlIGlmICghc3R5bGVTaGVldC5hbm9ueW1vdXMpIHsKKyAg
ICAgICAgICAgIGlmICghdGhpcy5fZXh0cmFTdHlsZVNoZWV0c0ZvbGRlclRyZWVFbGVtZW50KQor
ICAgICAgICAgICAgICAgIHRoaXMuX2V4dHJhU3R5bGVTaGVldHNGb2xkZXJUcmVlRWxlbWVudCA9
IG5ldyBXSS5Gb2xkZXJUcmVlRWxlbWVudChXSS5VSVN0cmluZygiRXh0cmEgU3R5bGUgU2hlZXRz
IiksIG5ldyBXSS5DU1NTdHlsZVNoZWV0Q29sbGVjdGlvbik7CisgICAgICAgICAgICBwYXJlbnRU
cmVlRWxlbWVudCA9IHRoaXMuX2V4dHJhU3R5bGVTaGVldHNGb2xkZXJUcmVlRWxlbWVudDsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghdGhpcy5fYW5vbnltb3VzU3R5bGVTaGVl
dHNGb2xkZXJUcmVlRWxlbWVudCkKKyAgICAgICAgICAgICAgICB0aGlzLl9hbm9ueW1vdXNTdHls
ZVNoZWV0c0ZvbGRlclRyZWVFbGVtZW50ID0gbmV3IFdJLkZvbGRlclRyZWVFbGVtZW50KFdJLlVJ
U3RyaW5nKCJBbm9ueW1vdXMgU3R5bGUgU2hlZXRzIiksIG5ldyBXSS5DU1NTdHlsZVNoZWV0Q29s
bGVjdGlvbik7CisgICAgICAgICAgICBwYXJlbnRUcmVlRWxlbWVudCA9IHRoaXMuX2Fub255bW91
c1N0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
IXBhcmVudFRyZWVFbGVtZW50LnBhcmVudCkgeworICAgICAgICAgICAgbGV0IGluZGV4ID0gaW5z
ZXJ0aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uKHBhcmVudFRyZWVFbGVt
ZW50LCB0aGlzLl9yZXNvdXJjZXNUcmVlT3V0bGluZS5jaGlsZHJlbiwgdGhpcy5fYm91bmRDb21w
YXJlVHJlZUVsZW1lbnRzKTsKKyAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlc1RyZWVPdXRsaW5l
Lmluc2VydENoaWxkKHBhcmVudFRyZWVFbGVtZW50LCBpbmRleCk7CisgICAgICAgIH0KKworICAg
ICAgICBsZXQgdHJlZUVsZW1lbnQgPSBuZXcgV0kuQ1NTU3R5bGVTaGVldFRyZWVFbGVtZW50KHN0
eWxlU2hlZXQpOworCisgICAgICAgIGxldCBpbmRleCA9IGluc2VydGlvbkluZGV4Rm9yT2JqZWN0
SW5MaXN0U29ydGVkQnlGdW5jdGlvbih0cmVlRWxlbWVudCwgcGFyZW50VHJlZUVsZW1lbnQuY2hp
bGRyZW4sIHRoaXMuX2JvdW5kQ29tcGFyZVRyZWVFbGVtZW50cyk7CisgICAgICAgIHBhcmVudFRy
ZWVFbGVtZW50Lmluc2VydENoaWxkKHRyZWVFbGVtZW50LCBpbmRleCk7CisgICAgfQorCiAgICAg
X2FkZFNjcmlwdChzY3JpcHQpCiAgICAgewogICAgICAgICAvLyBXZSBkb24ndCBhZGQgc2NyaXB0
cyB3aXRob3V0IFVSTHMgaGVyZS4gVGhvc2Ugc2NyaXB0cyBjYW4gcXVpY2tseSBjbHV0dGVyIHRo
ZSBpbnRlcmZhY2UgYW5kCkBAIC0xOTg3LDggKzIwMzEsMTEgQEAgV0kuU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRl
bmRzIFcKICAgICAgICAgdGhpcy5fd29ya2VyVGFyZ2V0VHJlZUVsZW1lbnRNYXAuY2xlYXIoKTsK
ICAgICAgICAgdGhpcy5fbWFpbkZyYW1lVHJlZUVsZW1lbnQgPSBudWxsOwogICAgICAgICB0aGlz
Ll9leHRlbnNpb25TY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQgPSBudWxsOworICAgICAgICB0aGlz
Ll9leHRlbnNpb25TdHlsZVNoZWV0c0ZvbGRlclRyZWVFbGVtZW50ID0gbnVsbDsKICAgICAgICAg
dGhpcy5fZXh0cmFTY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQgPSBudWxsOworICAgICAgICB0aGlz
Ll9leHRyYVN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQgPSBudWxsOwogICAgICAgICB0aGlz
Ll9hbm9ueW1vdXNTY3JpcHRzRm9sZGVyVHJlZUVsZW1lbnQgPSBudWxsOworICAgICAgICB0aGlz
Ll9hbm9ueW1vdXNTdHlsZVNoZWV0c0ZvbGRlclRyZWVFbGVtZW50ID0gbnVsbDsKIAogICAgICAg
ICB0aGlzLl9vcmlnaW5UcmVlRWxlbWVudE1hcC5jbGVhcigpOwogCkBAIC0yMDE2LDYgKzIwNjMs
MTEgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2
aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIGlmIChzY3JpcHQuc291
cmNlTWFwcy5sZW5ndGggJiYgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuc2hvdWxk
UGxhY2VSZXNvdXJjZXNBdFRvcExldmVsKCkpCiAgICAgICAgICAgICAgICAgdGhpcy5fcmVzb3Vy
Y2VzVHJlZU91dGxpbmUuZGlzY2xvc3VyZUJ1dHRvbnMgPSB0cnVlOwogICAgICAgICB9CisKKyAg
ICAgICAgZm9yIChsZXQgc3R5bGVTaGVldCBvZiBXSS5jc3NNYW5hZ2VyLnN0eWxlU2hlZXRzKSB7
CisgICAgICAgICAgICBpZiAoc3R5bGVTaGVldC5vcmlnaW4gIT09IFdJLkNTU1N0eWxlU2hlZXQu
VHlwZS5BdXRob3IgJiYgIXN0eWxlU2hlZXQuaXNJbnNwZWN0b3JTdHlsZVNoZWV0KCkpCisgICAg
ICAgICAgICAgICAgdGhpcy5fYWRkU3R5bGVTaGVldChzdHlsZVNoZWV0KTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIF9oYW5kbGVGcmFtZU1haW5SZXNvdXJjZURpZENoYW5nZShldmVudCkKQEAg
LTIzNjIsMTkgKzI0MTQsNTMgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBj
bGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKIAogICAgIF9oYW5k
bGVDU1NTdHlsZVNoZWV0QWRkZWQoZXZlbnQpCiAgICAgewotICAgICAgICBsZXQgc3R5bGVTaGVl
dCA9IGV2ZW50LmRhdGEuc3R5bGVTaGVldDsKLSAgICAgICAgaWYgKCFzdHlsZVNoZWV0LmlzSW5z
cGVjdG9yU3R5bGVTaGVldCgpKQorICAgICAgICBsZXQge3N0eWxlU2hlZXR9ID0gZXZlbnQuZGF0
YTsKKyAgICAgICAgaWYgKHN0eWxlU2hlZXQub3JpZ2luID09PSBXSS5DU1NTdHlsZVNoZWV0LlR5
cGUuQXV0aG9yKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmIChXSS5zZXR0aW5n
cy5yZXNvdXJjZUdyb3VwaW5nTW9kZS52YWx1ZSA9PT0gV0kuUmVzb3VyY2UuR3JvdXBpbmdNb2Rl
LlR5cGUpIHsKLSAgICAgICAgICAgIGxldCBmcmFtZVRyZWVFbGVtZW50ID0gdGhpcy50cmVlRWxl
bWVudEZvclJlcHJlc2VudGVkT2JqZWN0KHN0eWxlU2hlZXQucGFyZW50RnJhbWUpOwotICAgICAg
ICAgICAgaWYgKGZyYW1lVHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgICAgICBmcmFtZVRyZWVF
bGVtZW50LmFkZFJlcHJlc2VudGVkT2JqZWN0VG9OZXdDaGlsZFF1ZXVlKHN0eWxlU2hlZXQpOwot
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKHN0eWxlU2hlZXQuaXNJbnNwZWN0
b3JTdHlsZVNoZWV0KCkpIHsKKyAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5yZXNvdXJjZUdy
b3VwaW5nTW9kZS52YWx1ZSA9PT0gV0kuUmVzb3VyY2UuR3JvdXBpbmdNb2RlLlR5cGUpIHsKKyAg
ICAgICAgICAgICAgICBsZXQgZnJhbWVUcmVlRWxlbWVudCA9IHRoaXMudHJlZUVsZW1lbnRGb3JS
ZXByZXNlbnRlZE9iamVjdChzdHlsZVNoZWV0LnBhcmVudEZyYW1lKTsKKyAgICAgICAgICAgICAg
ICBpZiAoZnJhbWVUcmVlRWxlbWVudCkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVRyZWVF
bGVtZW50LmFkZFJlcHJlc2VudGVkT2JqZWN0VG9OZXdDaGlsZFF1ZXVlKHN0eWxlU2hlZXQpOwor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQotICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5fYWRkUmVzb3VyY2Uoc3R5bGVTaGVldCk7
CisgICAgICAgICAgICB0aGlzLl9hZGRSZXNvdXJjZShzdHlsZVNoZWV0KTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICB0aGlzLl9hZGRTdHlsZVNoZWV0KHN0eWxlU2hlZXQpOworICAgIH0K
KworICAgIF9oYW5kbGVDU1NTdHlsZVNoZWV0UmVtb3ZlZChldmVudCkKKyAgICB7CisgICAgICAg
IGxldCB7c3R5bGVTaGVldH0gPSBldmVudC5kYXRhOworICAgICAgICBpZiAoc3R5bGVTaGVldC5v
cmlnaW4gPT09IFdJLkNTU1N0eWxlU2hlZXQuVHlwZS5BdXRob3IpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gdGhpcy5fcmVzb3VyY2VzVHJlZU91dGxp
bmUuZmluZFRyZWVFbGVtZW50KHN0eWxlU2hlZXQpOworICAgICAgICBpZiAoIXRyZWVFbGVtZW50
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBwYXJlbnQgPSB0cmVlRWxlbWVu
dC5wYXJlbnQ7CisgICAgICAgIHRyZWVFbGVtZW50LnBhcmVudC5yZW1vdmVDaGlsZCh0cmVlRWxl
bWVudCk7CisKKyAgICAgICAgaWYgKCFwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKQorICAgICAgICAg
ICAgcGFyZW50LnBhcmVudC5yZW1vdmVDaGlsZChwYXJlbnQpOworCisgICAgICAgIHN3aXRjaCAo
cGFyZW50KSB7CisgICAgICAgIGNhc2UgdGhpcy5fZXh0ZW5zaW9uU3R5bGVTaGVldHNGb2xkZXJU
cmVlRWxlbWVudDoKKyAgICAgICAgICAgIHRoaXMuX2V4dGVuc2lvblN0eWxlU2hlZXRzRm9sZGVy
VHJlZUVsZW1lbnQgPSBudWxsOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSB0
aGlzLl9leHRyYVN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQ6CisgICAgICAgICAgICB0aGlz
Ll9leHRyYVN0eWxlU2hlZXRzRm9sZGVyVHJlZUVsZW1lbnQgPSBudWxsOworICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgY2FzZSB0aGlzLl9hbm9ueW1vdXNTdHlsZVNoZWV0c0ZvbGRlclRy
ZWVFbGVtZW50OgorICAgICAgICAgICAgdGhpcy5fYW5vbnltb3VzU3R5bGVTaGVldHNGb2xkZXJU
cmVlRWxlbWVudCA9IG51bGw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0K
IAogICAgIF9oYW5kbGVUYXJnZXRBZGRlZChldmVudCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>