<?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>253210</bug_id>
          
          <creation_ts>2023-03-01 17:31:55 -0800</creation_ts>
          <short_desc>AX: Remove unnecessary caching of title() and accessibilityDescription() in AXIsolatedObject.</short_desc>
          <delta_ts>2023-03-03 07:23:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly 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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1937978</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-03-01 17:31:55 -0800</bug_when>
    <thetext>Instead cache textContent() which closer matches the text conveyed to AX clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1937979</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-03-01 17:32:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/106115890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1937984</commentid>
    <comment_count>2</comment_count>
      <attachid>465252</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-03-01 17:38:32 -0800</bug_when>
    <thetext>Created attachment 465252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1938497</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-03-03 07:23:42 -0800</bug_when>
    <thetext>Committed 261139@main (a28ad53763a5): &lt;https://commits.webkit.org/261139@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465252.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465252</attachid>
            <date>2023-03-01 17:38:32 -0800</date>
            <delta_ts>2023-03-03 07:23:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-253210-20230301203831.patch</filename>
            <type>text/plain</type>
            <size>24490</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBhZjI0Y2NkMTA2M2Y4NzVhZWNkMmRkNzgzMjg0MDFhNWE3ZjNkYzMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDEgTWFyIDIwMjMgMjA6MDg6NTAgLTA1MDAKU3ViamVjdDogW1BBVENIXSBB
WDogUmVtb3ZlIHVubmVjZXNzYXJ5IGNhY2hpbmcgb2YgdGl0bGUoKSBhbmQKIGFjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbigpIGluIEFYSXNvbGF0ZWRPYmplY3QuCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUzMjEwIDxyZGFyOi8vcHJvYmxlbS8xMDYxMTU4OTA+CgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoZXNlIHR3byBwcm9wZXJ0aWVzIHdlcmUgYmVp
bmcgY2FjaGVkIGluIHRoZSBBWElzb2xhdGVkT2JqZWN0IGluaXRpYWxpemF0aW9uLCBidXQgdGhl
eSB3ZXJlIG9ubHkgdXNlZCBhcyBzZXBhcmF0ZSBwcm9wZXJ0aWVzIGluIHRoZSBzZWFyY2ggYWxn
b3JpdGhtIEFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hNYXRjaCguLi4p
LiBJbnN0ZWFkLCB3ZSBub3cgY2FjaGUgdGV4dENvbnRlbnQoKSwgd2hpY2ggY2xvc2VyIG1hdGNo
ZXMgdGhlIHRleHQgdGhhdCBpcyBjb252ZXllZCB0byB0aGUgQVggY2xpZW50IHRvIHJlcHJlc2Vu
dCB0aGUgb2JqZWN0LiBUaGlzIGF2b2lkcyBwb3NzaWJsZSBkdXBsaWNhdGlvbnMgb2YgY2FjaGVk
IHRleHQsIGFuZCBtYXkgbWFrZSB0ZXh0IHNlYXJjaGVzIG1vcmUgY29uc2lzdGVudCB3aXRoIHRo
ZSBjb252ZXllZCBjb250ZW50LiBJbiBhZGRpdGlvbiwgdGV4dENvbnRlbnQoKSB3aWxsIGJlIHVz
ZWQgaW4gYSBmb2xsb3cgdXAgcGF0Y2ggYXMgdGhlIHRleHQgYnVmZmVyIG9uIHdoaWNoIHRvIGJh
c2UgVGV4dE1hcmtlcnMuIFNvbWUgY29kZSBjbGVhbnVwLgoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwOgooV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eUltYWdlTWFwTGluazo6YWNjZXNzaWJpbGl0eVRleHQgY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6ZGVzY3JpcHRpb24gY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6bmFtZUZvck1TQUEgY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uIGNvbnN0
KTogUmVuYW1lZCBkZXNjcmlwdGlvbigpCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdDo6ZGVzY3JpcHRpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVP
YmplY3Q6OmhlbHBUZXh0IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
OjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24gY29uc3QpOiBSZW5hbWVkIGRlc2NyaXB0aW9uLgoq
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaDoK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgoo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6dGV4dENvbnRlbnQgY29uc3QpOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eTo6aXNBY2Nlc3NpYmlsaXR5VGV4dFNlYXJjaE1hdGNoKToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnRpdGxlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmRlc2NyaXB0aW9uIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmhlbHBUZXh0IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6aGVscFRleHQgY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6ZGVzY3JpcHRpb25Gb3JNU0FBIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlTVkdFbGVtZW50OjphY2Nlc3NpYmlsaXR5VGV4dCBjb25zdCk6CihXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5U1ZHRWxlbWVudDo6ZGVzY3JpcHRpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVNWR0VsZW1lbnQ6OmhlbHBUZXh0IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlTVkdFbGVtZW50OjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24gY29uc3QpOiBSZW5hbWVkIGRl
c2NyaXB0aW9uLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNW
R0VsZW1lbnQuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxp
emVQcm9wZXJ0aWVzKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKLS0tCiAuLi4vQWNjZXNzaWJpbGl0eUltYWdlTWFw
TGluay5jcHAgICAgICAgICAgICAgfCAxNyArKystLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlJbWFnZU1hcExpbmsuaCB8ICAyICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAgfCA1NSArKysrKysrKystLS0tLS0tLS0tCiAuLi4vYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICAgfCAgMiArLQogLi4uL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgMTEgKysrLQogLi4uL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgIHwgIDkgKy0tCiAuLi4vQWNjZXNzaWJp
bGl0eU9iamVjdEludGVyZmFjZS5oICAgICAgICAgICAgfCAgNCArLQogLi4uL0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwICAgICAgICAgICAgIHwgMzcgKysrKysrLS0tLS0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwIHwgMTQgKystLS0KIC4uLi9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmggICB8ICAyICstCiAuLi4vaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwICAgICAgICAgfCAgMyArLQogLi4uL2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggICAgICAgICAgIHwgIDMgKy0KIC4uLi9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuaCAgICAgICAgICAgICB8ICAzICstCiAxMyBmaWxlcyBjaGFu
Z2VkLCA4MiBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmNw
cAppbmRleCBkYTc3OTc2ODA1MTkuLjFlNWFkZmEzYmFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3Bw
CkBAIC05NSw3ICs5NSw3IEBAIFVSTCBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjp1cmwoKSBj
b25zdAogCiB2b2lkIEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbms6OmFjY2Vzc2liaWxpdHlUZXh0
KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRlcikgY29uc3QKIHsKLSAgICBTdHJp
bmcgZGVzY3JpcHRpb24gPSBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKTsKKyAgICBTdHJpbmcg
ZGVzY3JpcHRpb24gPSB0aGlzLT5kZXNjcmlwdGlvbigpOwogICAgIGlmICghZGVzY3JpcHRpb24u
aXNFbXB0eSgpKQogICAgICAgICB0ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0KGRl
c2NyaXB0aW9uLCBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZTo6QWx0ZXJuYXRpdmUpKTsKIApAQCAt
MTA3LDE5ICsxMDcsMjAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjphY2Nlc3Np
YmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JiB0ZXgKICAgICBpZiAoIXN1bW1h
cnkuaXNFbXB0eSgpKQogICAgICAgICB0ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0
KHN1bW1hcnksIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpTdW1tYXJ5KSk7CiB9Ci0gICAgCi1T
dHJpbmcgQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkgY29uc3QKKworU3RyaW5nIEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbms6OmRlc2NyaXB0aW9u
KCkgY29uc3QKIHsKLSAgICBjb25zdCBBdG9tU3RyaW5nJiBhcmlhTGFiZWwgPSBnZXRBdHRyaWJ1
dGUoYXJpYV9sYWJlbEF0dHIpOworICAgIGNvbnN0IGF1dG8mIGFyaWFMYWJlbCA9IGdldEF0dHJp
YnV0ZShhcmlhX2xhYmVsQXR0cik7CiAgICAgaWYgKCFhcmlhTGFiZWwuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gYXJpYUxhYmVsOwotICAgIGNvbnN0IEF0b21TdHJpbmcmIGFsdCA9IGdldEF0
dHJpYnV0ZShhbHRBdHRyKTsKKworICAgIGNvbnN0IGF1dG8mIGFsdCA9IGdldEF0dHJpYnV0ZShh
bHRBdHRyKTsKICAgICBpZiAoIWFsdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBhbHQ7CiAK
LSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsKIH0KLSAgICAKKwogU3RyaW5n
IEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbms6OnRpdGxlKCkgY29uc3QKIHsKICAgICBjb25zdCBB
dG9tU3RyaW5nJiB0aXRsZSA9IGdldEF0dHJpYnV0ZSh0aXRsZUF0dHIpOwpAQCAtMTc4LDcgKzE3
OSw3IEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjpzdHJpbmdWYWx1ZUZvck1T
QUEoKSBjb25zdAogCiBTdHJpbmcgQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6bmFtZUZvck1T
QUEoKSBjb25zdAogewotICAgIHJldHVybiBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKTsKKyAg
ICByZXR1cm4gZGVzY3JpcHRpb24oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VN
YXBMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFn
ZU1hcExpbmsuaAppbmRleCBiNTZkZjM2MWVkZTIuLmMxYjAxZTNkMDc3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBM
aW5rLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNMaW5rKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNMaW5rZWQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgU3RyaW5nIHRpdGxlKCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIHBhcmVudE9iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIFN0cmlu
ZyBzdHJpbmdWYWx1ZUZvck1TQUEoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5k
ZXggYWY3YTUyYWJlYjRhLi5iZmE4NGM3MTgxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC0xODc0
LDEyICsxODc0LDEyIEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6YWx0ZXJuYXRp
dmVUZXh0Rm9yV2ViQXJlYSgpIGNvbnN0CiAgICAgCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQot
ICAgIAotU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjphY2Nlc3NpYmlsaXR5RGVzY3Jp
cHRpb24oKSBjb25zdAorCitTdHJpbmcgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRlc2NyaXB0
aW9uKCkgY29uc3QKIHsKICAgICAvLyBTdGF0aWMgdGV4dCBzaG91bGQgbm90IGhhdmUgYSBkZXNj
cmlwdGlvbiwgaXQgc2hvdWxkIG9ubHkgaGF2ZSBhIHN0cmluZ1ZhbHVlLgogICAgIGlmIChyb2xl
VmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCkKLSAgICAgICAgcmV0dXJu
IFN0cmluZygpOworICAgICAgICByZXR1cm4geyB9OwogCiAgICAgU3RyaW5nIGFyaWFEZXNjcmlw
dGlvbiA9IGFyaWFBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKTsKICAgICBpZiAoIWFyaWFEZXNj
cmlwdGlvbi5pc0VtcHR5KCkpCkBAIC0xODkyLDE0ICsxODkyLDE0IEBAIFN0cmluZyBBY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdDo6YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3QKICAgICAg
ICAgaWYgKCFhbHQuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gYWx0OwogICAgIH0KLSAg
ICAKKwogI2lmIEVOQUJMRShNQVRITUwpCiAgICAgaWYgKGlzPE1hdGhNTEVsZW1lbnQ+KG1fbm9k
ZSkpCiAgICAgICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRy
KTsKICNlbmRpZgogCi0gICAgLy8gQW4gZWxlbWVudCdzIGRlc2NyaXB0aXZlIHRleHQgaXMgY29t
cHJpc2VkIG9mIHRpdGxlKCkgKHdoYXQncyB2aXNpYmxlIG9uIHRoZSBzY3JlZW4pIGFuZCBhY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24oKSAob3RoZXIgZGVzY3JpcHRpdmUgdGV4dCkuCi0gICAgLy8g
Qm90aCBhcmUgdXNlZCB0byBnZW5lcmF0ZSB3aGF0IGEgc2NyZWVuIHJlYWRlciBzcGVha3MuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
KyAgICAvLyBBbiBlbGVtZW50J3MgZGVzY3JpcHRpdmUgdGV4dCBpcyBjb21wcmlzZWQgb2YgdGl0
bGUoKSAod2hhdCdzIHZpc2libGUgb24gdGhlIHNjcmVlbikgYW5kIGRlc2NyaXB0aW9uKCkgKG90
aGVyIGRlc2NyaXB0aXZlIHRleHQpLgorICAgIC8vIEJvdGggYXJlIHVzZWQgdG8gZ2VuZXJhdGUg
d2hhdCBhIHNjcmVlbiByZWFkZXIgc3BlYWtzLgogICAgIC8vIElmIHRoaXMgcG9pbnQgaXMgcmVh
Y2hlZCAoaS5lLiB0aGVyZSdzIG5vIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbikgYW5kIHRoZXJl
J3Mgbm8gdGl0bGUoKSwgd2Ugc2hvdWxkIGZhbGxiYWNrIHRvIHVzaW5nIHRoZSB0aXRsZSBhdHRy
aWJ1dGUuCiAgICAgLy8gVGhlIHRpdGxlIGF0dHJpYnV0ZSBpcyBub3JtYWxseSB1c2VkIGFzIGhl
bHAgdGV4dCAoYmVjYXVzZSBpdCBpcyBhIHRvb2x0aXApLCBidXQgaWYgdGhlcmUgaXMgbm90aGlu
ZyBlbHNlIGF2YWlsYWJsZSwgdGhpcyBzaG91bGQgYmUgdXNlZCAoYWNjb3JkaW5nIHRvIEFSSUEp
LgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA0NzU6
IEFuIGV4Y2VwdGlvbiBpcyB3aGVuIHRoZSBlbGVtZW50IGlzIHNlbWFudGljYWxseSB1bmltcG9y
dGFudC4gSW4gdGhvc2UgY2FzZXMsIHRpdGxlIHRleHQgc2hvdWxkIHJlbWFpbiBhcyBoZWxwIHRl
eHQuCkBAIC0xOTEwLDcgKzE5MTAsNyBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gdGl0
bGVBdHRyaWJ1dGU7CiAgICAgfQogCi0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiB7
IH07CiB9CiAKIC8vIFJldHVybnMgd2hldGhlciB0aGUgcm9sZSB3YXMgbm90IGludGVuZGVkIHRv
IHBsYXkgYSBzZW1hbnRpY2FsbHkgbWVhbmluZ2Z1bCBwYXJ0IG9mIHRoZQpAQCAtMTkzMSw0NyAr
MTkzMSw0NiBAQCBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpyb2xlSWdub3Jlc1RpdGxl
KCkgY29uc3QKIAogU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpoZWxwVGV4dCgpIGNv
bnN0CiB7Ci0gICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsKKyAgICBXZWFrUHRyIG5vZGUg
PSB0aGlzLT5ub2RlKCk7CiAgICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgCi0gICAgY29uc3QgQXRvbVN0cmluZyYgYXJpYUhlbHAgPSBnZXRBdHRyaWJ1dGUoYXJp
YV9oZWxwQXR0cik7CisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBjb25zdCBhdXRvJiBhcmlh
SGVscCA9IGdldEF0dHJpYnV0ZShhcmlhX2hlbHBBdHRyKTsKICAgICBpZiAoIWFyaWFIZWxwLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFyaWFIZWxwOwotICAgIAorCiAgICAgU3RyaW5nIGRl
c2NyaWJlZEJ5ID0gYXJpYURlc2NyaWJlZEJ5QXR0cmlidXRlKCk7CiAgICAgaWYgKCFkZXNjcmli
ZWRCeS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBkZXNjcmliZWRCeTsKLSAgICAKLSAgICBT
dHJpbmcgZGVzY3JpcHRpb24gPSBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKTsKLSAgICBmb3Ig
KE5vZGUqIGFuY2VzdG9yID0gbm9kZTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBh
cmVudE5vZGUoKSkgewotICAgICAgICBpZiAoaXM8SFRNTEVsZW1lbnQ+KCphbmNlc3RvcikpIHsK
LSAgICAgICAgICAgIEhUTUxFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTEVsZW1lbnQ+
KCphbmNlc3Rvcik7Ci0gICAgICAgICAgICBjb25zdCBBdG9tU3RyaW5nJiBzdW1tYXJ5ID0gZWxl
bWVudC5nZXRBdHRyaWJ1dGUoc3VtbWFyeUF0dHIpOworCisgICAgU3RyaW5nIGRlc2NyaXB0aW9u
ID0gdGhpcy0+ZGVzY3JpcHRpb24oKTsKKyAgICBmb3IgKE5vZGUqIGFuY2VzdG9yID0gbm9kZS5n
ZXQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudE5vZGUoKSkgeworICAg
ICAgICBpZiAoYXV0byogZWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxIVE1MRWxlbWVudD4oYW5j
ZXN0b3IpKSB7CisgICAgICAgICAgICBjb25zdCBhdXRvJiBzdW1tYXJ5ID0gZWxlbWVudC0+Z2V0
QXR0cmlidXRlKHN1bW1hcnlBdHRyKTsKICAgICAgICAgICAgIGlmICghc3VtbWFyeS5pc0VtcHR5
KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bW1hcnk7Ci0gICAgICAgICAgICAKKwogICAg
ICAgICAgICAgLy8gVGhlIHRpdGxlIGF0dHJpYnV0ZSBzaG91bGQgYmUgdXNlZCBhcyBoZWxwIHRl
eHQgdW5sZXNzIGl0IGlzIGFscmVhZHkgYmVpbmcgdXNlZCBhcyBkZXNjcmlwdGl2ZSB0ZXh0Lgot
ICAgICAgICAgICAgY29uc3QgQXRvbVN0cmluZyYgdGl0bGUgPSBlbGVtZW50LmdldEF0dHJpYnV0
ZSh0aXRsZUF0dHIpOworICAgICAgICAgICAgY29uc3QgYXV0byYgdGl0bGUgPSBlbGVtZW50LT5n
ZXRBdHRyaWJ1dGUodGl0bGVBdHRyKTsKICAgICAgICAgICAgIGlmICghdGl0bGUuaXNFbXB0eSgp
ICYmIGRlc2NyaXB0aW9uICE9IHRpdGxlKQogICAgICAgICAgICAgICAgIHJldHVybiB0aXRsZTsK
ICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gb2JqZWN0Q2FjaGUgPSBheE9iamVjdENhY2hlKCk7
Ci0gICAgICAgIGlmICghb2JqZWN0Q2FjaGUpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisgICAgICAgIGF1dG8qIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpOworICAgICAgICBpZiAoIWNh
Y2hlKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgICAgICAvLyBPbmx5IHRha2UgaGVs
cCB0ZXh0IGZyb20gYW4gYW5jZXN0b3IgZWxlbWVudCBpZiBpdHMgYSBncm91cCBvciBhbiB1bmtu
b3duIHJvbGUuIElmIGhlbHAgd2FzCiAgICAgICAgIC8vIGFkZGVkIHRvIHRob3NlIGtpbmRzIG9m
IGVsZW1lbnRzLCBpdCBpcyBsaWtlbHkgaXQgd2FzIG1lYW50IGZvciBhIGNoaWxkIGVsZW1lbnQu
Ci0gICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iaiA9IG9iamVjdENhY2hlLT5n
ZXRPckNyZWF0ZShhbmNlc3RvcikpIHsKLSAgICAgICAgICAgIGlmICghYXhPYmotPmlzR3JvdXAo
KSAmJiBheE9iai0+cm9sZVZhbHVlKCkgIT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd24pCisg
ICAgICAgIGlmIChhdXRvKiBheEFuY2VzdG9yID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFuY2VzdG9y
KSkgeworICAgICAgICAgICAgaWYgKCFheEFuY2VzdG9yLT5pc0dyb3VwKCkgJiYgYXhBbmNlc3Rv
ci0+cm9sZVZhbHVlKCkgIT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd24pCiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCi0gICAgcmV0dXJuIFN0cmluZygp
OworCisgICAgcmV0dXJuIHsgfTsKIH0KLSAgICAKKwogdW5zaWduZWQgQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3Q6OmhpZXJhcmNoaWNhbExldmVsKCkgY29uc3QKIHsKICAgICBOb2RlKiBub2RlID0g
dGhpcy0+bm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCmluZGV4IGEwNjRhYjQzZGU4NC4uOTMzZjFmNTI3Yzg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5oCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IGhpZXJhcmNoaWNhbExldmVsKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIHRleHRVbmRl
ckVsZW1lbnQoQWNjZXNzaWJpbGl0eVRleHRVbmRlckVsZW1lbnRNb2RlID0gQWNjZXNzaWJpbGl0
eVRleHRVbmRlckVsZW1lbnRNb2RlKCkpIGNvbnN0IG92ZXJyaWRlOwogICAgIFN0cmluZyBhY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb25Gb3JDaGlsZHJlbigpIGNvbnN0OwotICAgIFN0cmluZyBhY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBTdHJpbmcgZGVzY3Jp
cHRpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgaGVscFRleHQoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBTdHJpbmcgdGl0bGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgdGV4
dCgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZjQ4MTUyM2U1YjY5Li5mZjQyMjU2NTdm
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcApAQCAtMjgwMiw2ICsyODAyLDE0IEBAIEF1dG9GaWxsQnV0dG9uVHlwZSBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Ojp2YWx1ZUF1dG9maWxsQnV0dG9uVHlwZSgpIGNvbnN0CiAgICAg
cmV0dXJuIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCp0aGlzLT5ub2RlKCkpLmF1dG9GaWxs
QnV0dG9uVHlwZSgpOwogfQogCitTdHJpbmcgQWNjZXNzaWJpbGl0eU9iamVjdDo6dGV4dENvbnRl
bnQoKSBjb25zdAoreworICAgIGF1dG8gdGl0bGUgPSB0aGlzLT50aXRsZSgpOworICAgIGlmICgh
dGl0bGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdGl0bGU7CisgICAgcmV0dXJuIGRlc2Ny
aXB0aW9uKCk7Cit9CisKIGNvbnN0IFN0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwbGFjZWhv
bGRlclZhbHVlKCkgY29uc3QKIHsKICAgICBjb25zdCBBdG9tU3RyaW5nJiBwbGFjZWhvbGRlciA9
IGdldEF0dHJpYnV0ZShwbGFjZWhvbGRlckF0dHIpOwpAQCAtNDExMCw4ICs0MTE4LDcgQEAgc3Rh
dGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGV4dFNlYXJjaE1hdGNoKFJlZlB0cjxBWENvcmVPYmpl
Y3Q+IGF4T2JqZWN0LCBjb25zdAogICAgIGlmIChjcml0ZXJpYS5zZWFyY2hUZXh0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICByZXR1cm4gY29udGFpbnNQbGFpblRleHQo
YXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENhc2VJbnNlbnNpdGl2ZSkK
LSAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlEZXNj
cmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpCisgICAgcmV0
dXJuIGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT50ZXh0Q29udGVudCgpLCBjcml0ZXJpYS5z
ZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpCiAgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0
KGF4T2JqZWN0LT5zdHJpbmdWYWx1ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oCmluZGV4IDE1MTIwNzE3MjEzMy4uZThmNjlkNmRiMjJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApA
QCAtMzg5LDEwICszODksMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZXNzaWJsZU5hbWUo
Y29uc3QgQXRvbVN0cmluZyYpIG92ZXJyaWRlIHsgfQogICAgIGJvb2wgaGFzQXR0cmlidXRlc1Jl
cXVpcmVkRm9ySW5jbHVzaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICAvLyBBY2Nlc3NpYmls
aXR5IFRleHQgLSAoVG8gYmUgZGVwcmVjYXRlZCkuCi0gICAgU3RyaW5nIGFjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgU3Ry
aW5nIHRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0
dWFsIFN0cmluZyBoZWxwVGV4dCgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CisgICAgdmly
dHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCB7IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIFN0
cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorICAgIHZpcnR1YWwgU3Ry
aW5nIGhlbHBUZXh0KCkgY29uc3QgeyByZXR1cm4geyB9OyB9CisKKyAgICBTdHJpbmcgdGV4dENv
bnRlbnQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIC8vIE1ldGhvZHMgZm9yIGRldGVybWluaW5n
IGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICBib29sIGlzQVJJQVN0YXRpY1RleHQoKSBjb25zdCB7
IHJldHVybiBhcmlhUm9sZUF0dHJpYnV0ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNU
ZXh0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCmluZGV4IDQ0N2VlM2MyYjM0NS4uMjYwYmZiNDI2
OWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaApAQCAtMTEzMSw5ICsxMTMxLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2Nlc3NpYmxlTmFtZShjb25zdCBBdG9tU3RyaW5nJikg
PSAwOwogICAgIHZpcnR1YWwgYm9vbCBoYXNBdHRyaWJ1dGVzUmVxdWlyZWRGb3JJbmNsdXNpb24o
KSBjb25zdCA9IDA7CiAKLSAgICAvLyBBY2Nlc3NpYmlsaXR5IFRleHQgLSAoVG8gYmUgZGVwcmVj
YXRlZCkuCi0gICAgdmlydHVhbCBTdHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgU3RyaW5nIHRleHRDb250ZW50KCkgY29uc3QgPSAwOwogCiAgICAgLy8gTWV0aG9kcyBmb3Ig
ZGV0ZXJtaW5pbmcgYWNjZXNzaWJpbGl0eSB0ZXh0LgogICAgIHZpcnR1YWwgU3RyaW5nIHN0cmlu
Z1ZhbHVlKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZTAxOThiNzk0OTRh
Li5jMjYyOTczMTMzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNjA2LDM5ICs2MDYsMzgg
QEAgRWxlbWVudCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YW5jaG9yRWxlbWVudCgpIGNv
bnN0CiBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aGVscFRleHQoKSBjb25zdAog
ewogICAgIGlmICghbV9yZW5kZXJlcikKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIAot
ICAgIGNvbnN0IEF0b21TdHJpbmcmIGFyaWFIZWxwID0gZ2V0QXR0cmlidXRlKGFyaWFfaGVscEF0
dHIpOworICAgICAgICByZXR1cm4geyB9OworCisgICAgY29uc3QgYXV0byYgYXJpYUhlbHAgPSBn
ZXRBdHRyaWJ1dGUoYXJpYV9oZWxwQXR0cik7CiAgICAgaWYgKCFhcmlhSGVscC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBhcmlhSGVscDsKLSAgICAKKwogICAgIFN0cmluZyBkZXNjcmliZWRC
eSA9IGFyaWFEZXNjcmliZWRCeUF0dHJpYnV0ZSgpOwogICAgIGlmICghZGVzY3JpYmVkQnkuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gZGVzY3JpYmVkQnk7Ci0gICAgCi0gICAgU3RyaW5nIGRl
c2NyaXB0aW9uID0gYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCk7Ci0gICAgZm9yIChSZW5kZXJP
YmplY3QqIGFuY2VzdG9yID0gcmVuZGVyZXIoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0
b3ItPnBhcmVudCgpKSB7Ci0gICAgICAgIGlmIChpczxIVE1MRWxlbWVudD4oYW5jZXN0b3ItPm5v
ZGUoKSkpIHsKLSAgICAgICAgICAgIEhUTUxFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRN
TEVsZW1lbnQ+KCphbmNlc3Rvci0+bm9kZSgpKTsKLSAgICAgICAgICAgIGNvbnN0IEF0b21TdHJp
bmcmIHN1bW1hcnkgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShzdW1tYXJ5QXR0cik7CisKKyAgICBT
dHJpbmcgZGVzY3JpcHRpb24gPSB0aGlzLT5kZXNjcmlwdGlvbigpOworICAgIGZvciAoYXV0byog
YW5jZXN0b3IgPSByZW5kZXJlcigpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFy
ZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGVsZW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8SFRN
TEVsZW1lbnQ+KGFuY2VzdG9yLT5ub2RlKCkpKSB7CisgICAgICAgICAgICBjb25zdCBhdXRvJiBz
dW1tYXJ5ID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKHN1bW1hcnlBdHRyKTsKICAgICAgICAgICAg
IGlmICghc3VtbWFyeS5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bW1hcnk7
Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgLy8gVGhlIHRpdGxlIGF0dHJpYnV0ZSBzaG91
bGQgYmUgdXNlZCBhcyBoZWxwIHRleHQgdW5sZXNzIGl0IGlzIGFscmVhZHkgYmVpbmcgdXNlZCBh
cyBkZXNjcmlwdGl2ZSB0ZXh0LgotICAgICAgICAgICAgY29uc3QgQXRvbVN0cmluZyYgdGl0bGUg
PSBlbGVtZW50LmdldEF0dHJpYnV0ZSh0aXRsZUF0dHIpOworICAgICAgICAgICAgY29uc3QgYXV0
byYgdGl0bGUgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUodGl0bGVBdHRyKTsKICAgICAgICAgICAg
IGlmICghdGl0bGUuaXNFbXB0eSgpICYmIGRlc2NyaXB0aW9uICE9IHRpdGxlKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0aXRsZTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICAvLyBP
bmx5IHRha2UgaGVscCB0ZXh0IGZyb20gYW4gYW5jZXN0b3IgZWxlbWVudCBpZiBpdHMgYSBncm91
cCBvciBhbiB1bmtub3duIHJvbGUuIElmIGhlbHAgd2FzIAogICAgICAgICAvLyBhZGRlZCB0byB0
aG9zZSBraW5kcyBvZiBlbGVtZW50cywgaXQgaXMgbGlrZWx5IGl0IHdhcyBtZWFudCBmb3IgYSBj
aGlsZCBlbGVtZW50LgotICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmogPSBh
eE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKGFuY2VzdG9yKSkgewotICAgICAgICAgICAgaWYg
KCFheE9iai0+aXNHcm91cCgpICYmIGF4T2JqLT5yb2xlVmFsdWUoKSAhPSBBY2Nlc3NpYmlsaXR5
Um9sZTo6VW5rbm93bikKKyAgICAgICAgaWYgKGF1dG8qIGF4QW5jZXN0b3IgPSBheE9iamVjdENh
Y2hlKCktPmdldE9yQ3JlYXRlKGFuY2VzdG9yKSkgeworICAgICAgICAgICAgaWYgKCFheEFuY2Vz
dG9yLT5pc0dyb3VwKCkgJiYgYXhBbmNlc3Rvci0+cm9sZVZhbHVlKCkgIT0gQWNjZXNzaWJpbGl0
eVJvbGU6OlVua25vd24pCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9
Ci0gICAgCi0gICAgcmV0dXJuIFN0cmluZygpOworCisgICAgcmV0dXJuIHsgfTsKIH0KIAogU3Ry
aW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQoQWNjZXNzaWJp
bGl0eVRleHRVbmRlckVsZW1lbnRNb2RlIG1vZGUpIGNvbnN0CkBAIC0zNDg1LDcgKzM0ODQsNyBA
QCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGVzY3JpcHRpb25Gb3JNU0FBKCkg
Y29uc3QKICAgICBpZiAoIWRlc2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGRl
c2NyaXB0aW9uOwogCi0gICAgZGVzY3JpcHRpb24gPSBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24o
KTsKKyAgICBkZXNjcmlwdGlvbiA9IHRoaXMtPmRlc2NyaXB0aW9uKCk7CiAgICAgaWYgKCFkZXNj
cmlwdGlvbi5pc0VtcHR5KCkpIHsKICAgICAgICAgLy8gRnJvbSB0aGUgTW96aWxsYSBNU0FBIGlt
cGxlbWVudGF0aW9uOgogICAgICAgICAvLyAiU2lnbmFsIHRvIHNjcmVlbiByZWFkZXJzIHRoYXQg
dGhpcyBkZXNjcmlwdGlvbiBpcyBzcGVha2FibGUgYW5kIGlzIG5vdApAQCAtMzQ5NSw3ICszNDk0
LDcgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRlc2NyaXB0aW9uRm9yTVNB
QSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAiRGVzY3JpcHRpb246ICIgKyBkZXNjcmlwdGlvbjsK
ICAgICB9CiAKLSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogc3Rh
dGljIEFjY2Vzc2liaWxpdHlSb2xlIG1zYWFSb2xlRm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAKaW5kZXggMDYzNDhlMDc2YTVhLi5lMzExZjBm
NjIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgRWxlbWVudCogQWNj
ZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmNoaWxkRWxlbWVudFdpdGhNYXRjaGluZ0xhbmd1YWdlKENo
aWxkcmVuVHlwZSYKIAogdm9pZCBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6YWNjZXNzaWJpbGl0
eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE9yZGVyKSBjb25zdAogewotICAg
IFN0cmluZyBkZXNjcmlwdGlvbiA9IGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpOworICAgIFN0
cmluZyBkZXNjcmlwdGlvbiA9IHRoaXMtPmRlc2NyaXB0aW9uKCk7CiAgICAgaWYgKCFkZXNjcmlw
dGlvbi5pc0VtcHR5KCkpCiAgICAgICAgIHRleHRPcmRlci5hcHBlbmQoQWNjZXNzaWJpbGl0eVRl
eHQoZGVzY3JpcHRpb24sIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpBbHRlcm5hdGl2ZSkpOwog
CkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6YWNjZXNz
aWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE8KICAgICAgICAgdGV4
dE9yZGVyLmFwcGVuZChBY2Nlc3NpYmlsaXR5VGV4dChoZWxwdGV4dCwgQWNjZXNzaWJpbGl0eVRl
eHRTb3VyY2U6OkhlbHApKTsKIH0KIAotU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojph
Y2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAorU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdF
bGVtZW50OjpkZXNjcmlwdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBT
VkcgQWNjZXNzaWJpbGl0eSBBUEkgTWFwcGluZ3Mgc3BlYywgdGhlIG9yZGVyIG9mIHByaW9yaXR5
IGlzOgogICAgIC8vIDEuIGFyaWEtbGFiZWxsZWRieQpAQCAtMTQ5LDggKzE0OSw4IEBAIFN0cmlu
ZyBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29u
c3QKICAgICB9CiAKICAgICBpZiAoaXM8U1ZHVXNlRWxlbWVudD4oZWxlbWVudCgpKSkgewotICAg
ICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogdGFyZ2V0ID0gdGFyZ2V0Rm9yVXNlRWxlbWVu
dCgpKQotICAgICAgICAgICAgcmV0dXJuIHRhcmdldC0+YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCk7CisgICAgICAgIGlmIChhdXRvKiB0YXJnZXQgPSB0YXJnZXRGb3JVc2VFbGVtZW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gdGFyZ2V0LT5kZXNjcmlwdGlvbigpOwogICAgIH0KIAogICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGhlcmUgdG8gbm90IGJyZWFrIHRoZSBzdmctaW1hZ2UuaHRtbCB0ZXN0
LiBCdXQgJ2FsdCcgaXMgbm90CkBAIC0xNjIsNyArMTYyLDcgQEAgU3RyaW5nIEFjY2Vzc2liaWxp
dHlTVkdFbGVtZW50OjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAogICAgICAgICAg
ICAgcmV0dXJuIGFsdDsKICAgICB9CiAKLSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJu
IHsgfTsKIH0KIAogU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpoZWxwVGV4dCgpIGNv
bnN0CkBAIC0xODksOCArMTg5LDggQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpo
ZWxwVGV4dCgpIGNvbnN0CiAgICAgfQogCiAgICAgYXV0byB0aXRsZUVsZW1lbnRzID0gY2hpbGRy
ZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVudCgpKTsKLSAgICBpZiAoYXV0byB0aXRs
ZUNoaWxkID0gY2hpbGRFbGVtZW50V2l0aE1hdGNoaW5nTGFuZ3VhZ2UodGl0bGVFbGVtZW50cykp
IHsKLSAgICAgICAgaWYgKHRpdGxlQ2hpbGQtPnRleHRDb250ZW50KCkgIT0gYWNjZXNzaWJpbGl0
eURlc2NyaXB0aW9uKCkpCisgICAgaWYgKGF1dG8qIHRpdGxlQ2hpbGQgPSBjaGlsZEVsZW1lbnRX
aXRoTWF0Y2hpbmdMYW5ndWFnZSh0aXRsZUVsZW1lbnRzKSkgeworICAgICAgICBpZiAodGl0bGVD
aGlsZC0+dGV4dENvbnRlbnQoKSAhPSBkZXNjcmlwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJu
IHRpdGxlQ2hpbGQtPnRleHRDb250ZW50KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmgKaW5kZXggYzc4
YWFjMDQ0M2QxLi4zZTk5ODhmOWMyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmgKQEAgLTQxLDcgKzQxLDcgQEAg
cHJvdGVjdGVkOgogICAgIEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2F4T2JqZWN0Q2FjaGUuZ2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBT
dHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7CisgICAgU3RyaW5n
IGRlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7CiAgICAgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRl
eHQ+JikgY29uc3QgZmluYWw7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNz
aWJpbGl0eVJvbGUoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXggYTBm
YTA1ZjhlNmJmLi42ZTg5NTg4MDQxMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCkBA
IC03Miw3ICs3Miw2IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVByb3BlcnRp
ZXMoY29uc3QgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3Q+JiBheE9iCiB7CiAgICAgYXV0byYgb2Jq
ZWN0ID0gYXhPYmplY3QuZ2V0KCk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKLSAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogCiAgICAgaWYgKG9iamVjdC5hbmNlc3RvckZsYWdzQXJlSW5p
dGlhbGl6ZWQoKSkKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFuY2VzdG9y
RmxhZ3MsIG9iamVjdC5hbmNlc3RvckZsYWdzKCkpOwpAQCAtMTE4LDggKzExNyw4IEBAIHZvaWQg
QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoY29uc3QgUmVmPEFjY2Vzc2li
aWxpdHlPYmplY3Q+JiBheE9iCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVQ
bGF0Zm9ybVN0cmluZywgb2JqZWN0LnJvbGVQbGF0Zm9ybVN0cmluZygpLmlzb2xhdGVkQ29weSgp
KTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlLCBzdGF0aWNfY2Fz
dDxpbnQ+KG9iamVjdC5yb2xlVmFsdWUoKSkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpTdWJyb2xlUGxhdGZvcm1TdHJpbmcsIG9iamVjdC5zdWJyb2xlUGxhdGZvcm1TdHJpbmco
KS5pc29sYXRlZENvcHkoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlRleHRD
b250ZW50LCBvYmplY3QudGV4dENvbnRlbnQoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgc2V0UHJv
cGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUsIG9iamVjdC5z
dXBwb3J0c0RhdGV0aW1lQXR0cmlidXRlKCkpOwotICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVlLCBvYmplY3QuZGF0ZXRp
bWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFBy
b3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5jYW5TZXRGb2N1c0F0dHJp
YnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0VGV4dFJhbmdl
QXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0ZXMoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKaW5kZXggYzkwNDRjOGMzZTA2Li5kOWQ4NTY4ZDI2OGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmgKQEAgLTQ5MSw4ICs0OTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNl
dEFjY2Vzc2libGVOYW1lKGNvbnN0IEF0b21TdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29sIGhh
c0F0dHJpYnV0ZXNSZXF1aXJlZEZvckluY2x1c2lvbigpIGNvbnN0IG92ZXJyaWRlOwotICAgIFN0
cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBz
dHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6QWNjZXNzaWJpbGl0eURlc2NyaXB0
aW9uKTsgfQotICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmlu
Z0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpUaXRsZSk7IH0KKyAgICBTdHJpbmcgdGV4
dENvbnRlbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZTo6VGV4dENvbnRlbnQpOyB9CiAgICAgU3RyaW5nIHRleHQoKSBjb25zdCBv
dmVycmlkZTsKICAgICB1bnNpZ25lZCB0ZXh0TGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGU7CiAjaWYg
UExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAppbmRleCA3ZmVhMDk5YzI3YTEuLmZh
MjZiMjczNzM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBAIC02Miw3ICs2Miw2IEBAIGVudW0g
Y2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50MTZfdCB7CiAgICAgQVhSb3dDb3VudCwKICAgICBB
WFJvd0luZGV4LAogICAgIEFjY2Vzc0tleSwKLSAgICBBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24s
CiAgICAgQWNjZXNzaWJpbGl0eVRleHQsCiAgICAgQWN0aW9uVmVyYiwKICAgICBBbmNlc3RvckZs
YWdzLApAQCAtMjU1LDcgKzI1NCw3IEBAIGVudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50
MTZfdCB7CiAgICAgU3VwcG9ydHNTZXRTaXplLAogICAgIFRhYkNoaWxkcmVuLAogICAgIFRhYmxl
TGV2ZWwsCi0gICAgVGl0bGUsCisgICAgVGV4dENvbnRlbnQsCiAgICAgVGl0bGVBdHRyaWJ1dGVW
YWx1ZSwKICAgICBUaXRsZVVJRWxlbWVudCwKICAgICBVUkwsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>