<?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>237691</bug_id>
          
          <creation_ts>2022-03-09 16:45:21 -0800</creation_ts>
          <short_desc>[iOS] Add support for -[UITextInput addTextAlternatives:] on WKContentView</short_desc>
          <delta_ts>2022-03-10 16:16:55 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>hi</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1849908</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-09 16:45:21 -0800</bug_when>
    <thetext>Implement an optional text input SPI method in WK2 on iOS.

Work towards rdar://89647018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849924</commentid>
    <comment_count>1</comment_count>
      <attachid>454300</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-09 17:14:01 -0800</bug_when>
    <thetext>Created attachment 454300
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849929</commentid>
    <comment_count>2</comment_count>
      <attachid>454301</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-09 17:26:21 -0800</bug_when>
    <thetext>Created attachment 454301
Fix non-internal build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850212</commentid>
    <comment_count>3</comment_count>
      <attachid>454393</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-10 12:58:36 -0800</bug_when>
    <thetext>Created attachment 454393
Add missing RefPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850265</commentid>
    <comment_count>4</comment_count>
      <attachid>454393</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-10 15:03:56 -0800</bug_when>
    <thetext>Comment on attachment 454393
Add missing RefPtr

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850298</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-10 16:16:50 -0800</bug_when>
    <thetext>Committed r291136 (248296@main): &lt;https://commits.webkit.org/248296@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454393.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454300</attachid>
            <date>2022-03-09 17:14:01 -0800</date>
            <delta_ts>2022-03-09 17:39:12 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-237691-20220309171401.patch</filename>
            <type>text/plain</type>
            <size>20762</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRiMmY2ZWUwZDYzNWQzYjg4
ZDQ1YTM4YzhkNTliMTAxYzVmZTYyOGIuLjEwYmEyNjkzZDljYTJjODAwOTllMTlmYTZhYTkxMjI2
OWU5ZWE5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjItMDMtMDkgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIHN1cHBv
cnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRkVGV4dEFsdGVybmF0aXZlczpdIG9uIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzY5
MQorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXb3JrIHRvd2FyZHMgcmVmYWN0b3Jpbmcgc3VwcG9ydCBmb3Ig
ZGljdGF0aW9uIGFsdGVybmF0aXZlcyBvbiBpT1M7IHRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv
ciBhbiBvcHRpb25hbCwKKyAgICAgICAgcHJpdmF0ZSBVSVRleHRJbnB1dCBwcm90b2NvbCBtZXRo
b2Qgb24gV0tDb250ZW50Vmlldywgd2hpY2ggY2xpZW50cyBjYW4gdXNlIHRvIGRpcmVjdGx5IGlu
c2VydAorICAgICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgZm9yIGEgZ2l2ZW4gc3RyaW5nIG9mIG1h
dGNoaW5nIHRleHQgKGkuZS4sIGlmIHRoZSBnaXZlbiBzdHJpbmcgbWF0Y2hlcyB0ZXh0IGF0IG9y
IGJlZm9yZSB0aGUKKyAgICAgICAgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UpLgorCisgICAgICAg
IFRlc3RzOiAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aE1hdGNoCisg
ICAgICAgICAgICAgICAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNl
bGVjdGVkTWF0Y2gKKyAgICAgICAgICAgICAgICBUZXh0QWx0ZXJuYXRpdmVzLkFkZFRleHRBbHRl
cm5hdGl2ZXNXaXRob3V0TWF0Y2gKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHNlbmRpbmcgV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCBhcyBhbiBJUEMgbWVzc2FnZSBh
cmd1bWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphZGREaWN0YXRpb25BbHRlcm5hdGl2
ZSk6CisKKyAgICAgICAgUmVnaXN0ZXIgdGhlIGRpY3RhdGlvbiBhbHRlcm5hdGl2ZSAoTlNUZXh0
QWx0ZXJuYXRpdmUpIG9uIHRoZSBwYWdlIGNsaWVudCwgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRo
ZSB3ZWIgcHJvY2VzcworICAgICAgICB0byB0cnkgYW5kIGluc2VydCBkb2N1bWVudCBtYXJrZXJz
IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBkaWN0YXRpb24gYWx0ZXJuYXRpdmUuIElmLCBmb3Igd2hh
dGV2ZXIgcmVhc29uLCB3ZSBmYWlsCisgICAgICAgIHRvIG1hcCBkaWN0YXRpb24gYWx0ZXJuYXRp
dmVzIHRvIGFuIGVkaXRhYmxlIERPTSByYW5nZSwgbWFrZSBzdXJlIHdlIGF1dG9tYXRpY2FsbHkg
dW5yZWdpc3RlciB0aGlzIHRleHQKKyAgICAgICAgYWx0ZXJuYXRpdmUgYXMgd2VsbC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBh
ZGRUZXh0QWx0ZXJuYXRpdmVzOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKToKKworICAgICAgICBHaXZlbiBhIHN0cmluZyB0byBtYXRjaCBhbmQgYSBk
aWN0YXRpb24gYWx0ZXJuYXRpdmUgaWRlbnRpZmllciBjb250ZXh0LCB0cnkgdG8gc2VhcmNoIGZv
ciB0aGUgbWF0Y2hpbmcgc3RyaW5nCisgICAgICAgIGJlZm9yZSAob3IgaW4pIHRoZSBzZWxlY3Rp
b247IGlmIGZvdW5kLCBpbnN0YWxsIHRoZSBkaWN0YXRpb24gYWx0ZXJuYXRpdmVzIGluIHRoZSBt
YXRjaCByYW5nZSwgYXMgYSBkb2N1bWVudAorICAgICAgICBtYXJrZXIuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIyLTAzLTA4ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBUZXh0UmVjb2duaXRpb25VdGls
aXRpZXMuKiB0byBJbWFnZUFuYWx5c2lzVXRpbGl0aWVzLioKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDhjOWZmMjM5YTE2NTI4Y2JhZGJlNTFmYjA4M2E0YzE2
MGI0YjQ4YjEuLmM5MTU4YWFmYmJhZTU5MGY3OGMwYWQ5OGRjNjk2ZjY0NmRlNmYxNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNzc0LDYgKzc3NCw3IEBA
IGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6RE9NUGFzdGVB
Y2Nlc3NDYXRlZ29yeSc6IFsnPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwKICAgICAgICAg
J1dlYkNvcmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2UnOiBbJzxXZWJDb3JlL0RPTVBhc3RlQWNj
ZXNzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UnOiBbJzxX
ZWJDb3JlL0NvbG9yU3BhY2UuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OkRpY3RhdGlvbkNvbnRl
eHQnOiBbJzxXZWJDb3JlL0RpY3RhdGlvbkNvbnRleHQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRlbnRpZmllcic6IFsnPFdlYkNvcmUvRGlzcGxheUxp
c3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50TWFya2VyTGluZVN0eWxlJzogWyc8
V2ViQ29yZS9HcmFwaGljc1R5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25GbGFncyc6IFsnPFdlYkNvcmUvRHJhZ0RhdGEuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggNTZhMTRkOGJm
MzZlZDQ0ZGFkYmYxZTRjNDg0MGE1ZTA2NDE0YjhlNy4uNWY2YmFjZDAzNGQyZDMwOWU4MjE0N2Y1
ODQ5YzkwODQxNjg0OTQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3Myw2ICszNzMsMTkgQEAgdm9pZCBXZWJQYWdl
UHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
RWRpdGluZ1JhbmcKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnNlcnREaWN0YXRlZFRl
eHRBc3luYyB7IHRleHQsIHJlcGxhY2VtZW50UmFuZ2UsIGRpY3RhdGlvbkFsdGVybmF0aXZlcywg
V1RGTW92ZShvcHRpb25zKSB9KTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSYmIGFsdGVybmF0aXZlKQorewor
ICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0
byBuc0FsdGVybmF0aXZlcyA9IGFsdGVybmF0aXZlLmFsdGVybmF0aXZlcy5nZXQoKTsKKyAgICBh
dXRvIGNvbnRleHQgPSBwYWdlQ2xpZW50KCkuYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKG5zQWx0
ZXJuYXRpdmVzKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkFk
ZERpY3RhdGlvbkFsdGVybmF0aXZlIHsgbnNBbHRlcm5hdGl2ZXMucHJpbWFyeVN0cmluZywgY29u
dGV4dCB9LCBbY29udGV4dCwgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oYm9vbCBzdWNj
ZXNzKSB7CisgICAgICAgIGlmIChhdXRvIHByb3RlY3RlZFRoaXMgPSB3ZWFrVGhpcy5nZXQoKTsg
cHJvdGVjdGVkVGhpcyAmJiAhc3VjY2VzcykKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnJl
bW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyhjb250ZXh0KTsKKyAgICB9KTsKK30KKwogI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogCiBOU1RleHRBbHRlcm5hdGl2ZXMgKldlYlBhZ2VQ
cm94eTo6cGxhdGZvcm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29u
dGV4dCBkaWN0YXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA3OGQ1NGQ4MWRmMWI1ODcwMGIxYjQwNWVhZjU3YjkwYTBlZmNjZThiLi44YmM2NGNj
MmE0ZTlkZGY2MmU5OTM3YTg4OTViMmFhODM2MTc3NmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtOTczLDYgKzk3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGlu
c2VydFRleHRBc3luYyhjb25zdCBTdHJpbmcmLCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlcGxhY2Vt
ZW50UmFuZ2UsIEluc2VydFRleHRPcHRpb25zJiYpOwogICAgIHZvaWQgaW5zZXJ0RGljdGF0ZWRU
ZXh0QXN5bmMoY29uc3QgU3RyaW5nJiwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVudFJh
bmdlLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYsIElu
c2VydFRleHRPcHRpb25zJiYpOwogCisgICAgdm9pZCBhZGREaWN0YXRpb25BbHRlcm5hdGl2ZShX
ZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UmJik7CisKICNpZiBVU0UoRElDVEFUSU9O
X0FMVEVSTkFUSVZFUykKICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgKnBsYXRmb3JtRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQppbmRleCA1ZDRiMWEwNzZmMjBkMzVlNGM1NjkzNDBmZDk5ZmIxNDM2MzU3ZjVlLi44ODQ5
MzhmZDgwZjg3YjIxY2I2NmFmNDJlZTM4MTg4NWYwMTFkOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTU2NTQsNiArNTY1NCwxMSBAQCAtIChCT09MKWhhc1RleHQKICAgICByZXR1cm4gIWVkaXRvclN0
YXRlLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhICYmIGVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRh
KCkuaGFzUGxhaW5UZXh0OwogfQogCistICh2b2lkKWFkZFRleHRBbHRlcm5hdGl2ZXM6KE5TVGV4
dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlcworeworICAgIF9wYWdlLT5hZGREaWN0YXRpb25B
bHRlcm5hdGl2ZSh7IGFsdGVybmF0aXZlcywgTlNNYWtlUmFuZ2UoMCwgYWx0ZXJuYXRpdmVzLnBy
aW1hcnlTdHJpbmcubGVuZ3RoKSB9KTsKK30KKwogLy8gZW5kIG9mIFVJVGV4dElucHV0IHByb3Rv
Y29sIGltcGxlbWVudGF0aW9uCiAKIHN0YXRpYyBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBl
IHRvVUlUZXh0QXV0b2NhcGl0YWxpemUoV2ViQ29yZTo6QXV0b2NhcGl0YWxpemVUeXBlIHdlYmtp
dFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0KaW5kZXggOTgyYWE2M2JmZDUyNjY2OTRkNjY2OTgwNTFiZTY2NGJm
ODUzMTVmMS4uZWMxOWE1MWMwMjZiMjU1OWEzMmE0Nzc3OGJkNTBjMDk3ZDQ3OWQxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VD
b2NvYS5tbQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiV2ViUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTGF1bmNoU2VydmljZXNTUEkuaD4KICNpbXBv
cnQgPFdlYkNvcmUvRGljdGlvbmFyeUxvb2t1cC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRWRpdGluZy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9FZGl0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRXZlbnRIYW5kbGVyLmg+CkBA
IC0yNDcsNiArMjQ4LDQyIEBAIHZvaWQgV2ViUGFnZTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMo
Y29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlCiAgICAgfQogfQogCit2
b2lkIFdlYlBhZ2U6OmFkZERpY3RhdGlvbkFsdGVybmF0aXZlKGNvbnN0IFN0cmluZyYgdGV4dCwg
RGljdGF0aW9uQ29udGV4dCBjb250ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
IGNvbXBsZXRpb24pCit7CisgICAgUmVmIGZyYW1lID0gQ2hlY2tlZFJlZihtX3BhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgUmVmUHRyIGRvY3VtZW50
ID0gZnJhbWUtPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkgeworICAgICAgICBjb21w
bGV0aW9uKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gb3JpZ2lu
YWxTZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgUmVmUHRy
IGVkaXRhYmxlUm9vdCA9IG9yaWdpbmFsU2VsZWN0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsK
KyAgICBpZiAoIWVkaXRhYmxlUm9vdCkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gZmlyc3RFZGl0YWJsZVBvc2l0aW9uID0g
Zmlyc3RQb3NpdGlvbkluTm9kZShlZGl0YWJsZVJvb3QuZ2V0KCkpOworICAgIGF1dG8gc2VsZWN0
aW9uRW5kID0gb3JpZ2luYWxTZWxlY3Rpb24uZW5kKCk7CisgICAgYXV0byBzZWFyY2hSYW5nZSA9
IG1ha2VTaW1wbGVSYW5nZShmaXJzdEVkaXRhYmxlUG9zaXRpb24sIHNlbGVjdGlvbkVuZCk7Cisg
ICAgaWYgKCFzZWFyY2hSYW5nZSkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gdGFyZ2V0T2Zmc2V0ID0gY2hhcmFjdGVyQ291
bnQoKnNlYXJjaFJhbmdlKTsKKyAgICB0YXJnZXRPZmZzZXQgLT0gc3RkOjptaW48dWludDY0X3Q+
KHRhcmdldE9mZnNldCwgdGV4dC5sZW5ndGgoKSk7CisgICAgYXV0byBtYXRjaFJhbmdlID0gZmlu
ZENsb3Nlc3RQbGFpblRleHQoKnNlYXJjaFJhbmdlLCB0ZXh0LCB7IEJhY2t3YXJkcywgRG9Ob3RS
ZXZlYWxTZWxlY3Rpb24gfSwgdGFyZ2V0T2Zmc2V0KTsKKyAgICBpZiAobWF0Y2hSYW5nZS5jb2xs
YXBzZWQoKSkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGRvY3VtZW50LT5tYXJrZXJzKCkuYWRkTWFya2VyKG1hdGNoUmFuZ2UsIERv
Y3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5hdGl2ZXMsIHsgRG9jdW1lbnRNYXJrZXI6OkRp
Y3RhdGlvbkRhdGEgeyBjb250ZXh0LCB0ZXh0IH0gfSk7CisgICAgY29tcGxldGlvbih0cnVlKTsK
K30KKwogdm9pZCBXZWJQYWdlOjphY2Nlc3NpYmlsaXR5VHJhbnNmZXJSZW1vdGVUb2tlbihSZXRh
aW5QdHI8TlNEYXRhPiByZW1vdGVUb2tlbikKIHsKICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YVRva2VuID0gSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhf
dCo+KFtyZW1vdGVUb2tlbiBieXRlc10pLCBbcmVtb3RlVG9rZW4gbGVuZ3RoXSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTVlYmFlYzQ1YmEwMjRh
ZDRiZjJmMmI5ZTYxZTJjNGQ1YWNlZGQ5Ny4uYTgyNmYyOGY4Y2FmZDQzY2IwNWM3MjFlYTdhYjFj
NTgyMTYyMTc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aApAQCAtOTY5LDcgKzk2OSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBlcmZvcm1Ob25FZGl0aW5n
QmVoYXZpb3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpLZXlib2FyZEV2ZW50
Kik7CiAKICAgICB2b2lkIGluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVudFJhbmdlLCBjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZUxvY2F0aW9u
cywgSW5zZXJ0VGV4dE9wdGlvbnMmJik7Ci0jZW5kaWYKKyAgICB2b2lkIGFkZERpY3RhdGlvbkFs
dGVybmF0aXZlKGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBhdHRyaWJ1dGVkU3Vic3RyaW5nRm9y
Q2hhcmFjdGVyUmFuZ2VBc3luYyhjb25zdCBFZGl0aW5nUmFuZ2UmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IFdlYkNvcmU6OkF0dHJpYnV0ZWRTdHJpbmcmLCBjb25zdCBFZGl0aW5nUmFu
Z2UmKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgppbmRleCA2ZjUyNmU0OTk1OGMyNmJlOGQ3MTIyNzAwZjhiNTM1YWMw
ODQ2MzAwLi45ZGU0YWZjNjM5NGE3NGMwYTlkOGQzYmViMmRjMjQ5ODI5MzE3MGE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTQ3OCw2ICs0NzgsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVu
dW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAgICAgSW5z
ZXJ0VGV4dEFzeW5jKFN0cmluZyB0ZXh0LCBzdHJ1Y3QgV2ViS2l0OjpFZGl0aW5nUmFuZ2UgcmVw
bGFjZW1lbnRSYW5nZSwgc3RydWN0IFdlYktpdDo6SW5zZXJ0VGV4dE9wdGlvbnMgb3B0aW9ucykK
ICAgICBJbnNlcnREaWN0YXRlZFRleHRBc3luYyhTdHJpbmcgdGV4dCwgc3RydWN0IFdlYktpdDo6
RWRpdGluZ1JhbmdlIHJlcGxhY2VtZW50UmFuZ2UsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25B
bHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzLCBzdHJ1Y3QgV2ViS2l0OjpJbnNlcnRU
ZXh0T3B0aW9ucyBvcHRpb25zKQorICAgIEFkZERpY3RhdGlvbkFsdGVybmF0aXZlKFN0cmluZyB0
ZXh0LCBXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIC0+IChib29sIHN1Y2Nlc3Mp
IEFzeW5jCiAKICAgICBIYXNNYXJrZWRUZXh0KCkgLT4gKGJvb2wgaGFzTWFya2VkVGV4dCkgQXN5
bmMKICAgICBHZXRNYXJrZWRSYW5nZUFzeW5jKCkgLT4gKHN0cnVjdCBXZWJLaXQ6OkVkaXRpbmdS
YW5nZSByYW5nZSkgQXN5bmMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAyMGJmODZjNzBiODExNWE2N2QzNzA5OTAwNjNmNGU5MzBjNDc5OTRjLi4w
YmZlODk0ZmQ2ZWU2MTc0ZjczZTgwMzllNTIxYWM0NWVhNWQyZDk1IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjIt
MDMtMDkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRkVGV4dEFsdGVybmF0aXZlczpd
IG9uIFdLQ29udGVudFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNzY5MQorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2V2ZXJhbCBiYXNpYyBBUEkg
dGVzdHMgdG8gZXhlcmNpc2UgdGhlIG5ldyBBUEk7IGluIHBhcnRpY3VsYXIsIGV4ZXJjaXNlIGJv
dGggY2FzZXMgd2hlcmUgdGhlIHRleHQKKyAgICAgICAgYWx0ZXJuYXRpdmUncyBwcmltYXJ5IHRl
eHQgbWF0Y2hlcyBiZWZvcmUgdGhlIHNlbGVjdGlvbiwgd2hlcmUgaXQgZG9lcyBub3QgbWF0Y2gs
IGFuZCB3aGVyZSBpdCBtYXRjaGVzIGluc2lkZQorICAgICAgICB0aGUgc2VsZWN0aW9uLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4dEFsdGVybmF0aXZl
cy5tbTogQWRkZWQuCisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgZGljdGF0aW9uQWx0ZXJuYXRp
dmVzTWFya2VyQ291bnQ6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjcmVhdGVXZWJWaWV3
Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaDoKKwogMjAyMi0wMy0w
NyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW3dlYmtp
dGJ1Z3NweV0gQWxsb3cgY3JlYXRpb24gb2YgbmV3IGlzc3VlcwpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAzMDE4OTkyN2RkZTg1NjZmYjMzYjBiYmY5ZGZlYTQ0ODYzYWQ3NjAwLi44NDk5YzU5
ZjBmODA1NzI3YjQ0ZWY0Y2IzMWQ4NmM2ZmVjOTYwMDk4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTA4OSw2ICsxMDg5LDcgQEAKIAkJRjQ2QzQ1QzQyN0Q0MkEyRjAwRUNFRDJDIC8qIEFw
cGxpY2F0aW9uU3RhdGVUcmFja2luZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0NkM0NUMzMjdENDJBMkYwMEVDRUQyQyAvKiBBcHBsaWNhdGlvblN0
YXRlVHJhY2tpbmcubW0gKi87IH07CiAJCUY0NkQ0M0FCMjZENzA5MjgwMDk2OUU1RSAvKiB0ZXN0
LmpwZyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDZENDNBQTI2RDcwOTAzMDA5NjlFNUUgLyogdGVzdC5qcGcgKi87IH07CiAJCUY0NzI4NzQ3
Mjc4MTZCQ0UwMDNFQkU3RiAvKiBOU1Jlc3BvbmRlclRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQzQzM4MjMyNzgxMzMxOTAwOTlBQkNFIC8q
IE5TUmVzcG9uZGVyVGVzdHMubW0gKi87IH07CisJCUY0NzJFMDAzMjdEOTY2RjIwMEYzQTE3MiAv
KiBUZXh0QWx0ZXJuYXRpdmVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3MkUwMDIyN0Q5NjZGMjAwRjNBMTcyIC8qIFRleHRBbHRlcm5hdGl2ZXMu
bW0gKi87IH07CiAJCUY0NzcyODk5MUU0QUUzQzEwMDdBQkY2QSAvKiBmdWxsLXBhZ2UtY29udGVu
dGVkaXRhYmxlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3NzI4OTgxRTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1jb250ZW50
ZWRpdGFibGUuaHRtbCAqLzsgfTsKIAkJRjQ3REZCMjYyMUE4NzhERjAwMDIxRkI2IC8qIGRhdGEt
ZGV0ZWN0b3JzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3REZCMjQyMUE4NzA0QTAwMDIxRkI2IC8qIGRhdGEtZGV0ZWN0b3JzLmh0
bWwgKi87IH07CiAJCUY0ODFDMDI4Mjc3OTQ1QjgwMEU0NzBDRiAvKiBtb2RhbC1jb250YWluZXIt
d2l0aC1vdmVybGF5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQ4MUMwMjcyNzc5NDU5NzAwRTQ3MENGIC8qIG1vZGFsLWNvbnRhaW5l
ci13aXRoLW92ZXJsYXkuaHRtbCAqLzsgfTsKQEAgLTMxMDYsNiArMzEwNyw3IEBACiAJCUY0NkJE
NTY4MjQ4NzA2MkQwMDgyODJENiAvKiBkcmFnc3RhcnQtZGF0YS5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5odG1sOyBwYXRoID0gImRyYWdzdGFydC1kYXRhLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNDZDNDVDMzI3RDQyQTJGMDBFQ0VEMkMgLyogQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDZENDNBQTI2RDcwOTAzMDA5NjlF
NUUgLyogdGVzdC5qcGcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBpbWFnZS5qcGVnOyBwYXRoID0gdGVzdC5qcGc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUY0NzJFMDAyMjdEOTY2RjIwMEYzQTE3MiAvKiBUZXh0QWx0ZXJuYXRpdmVzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dEFsdGVybmF0aXZlcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3NzI4OTgxRTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1j
b250ZW50ZWRpdGFibGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJmdWxsLXBh
Z2UtY29udGVudGVkaXRhYmxlLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NDdEMzBFQjFFRDI4NjE5MDAwNDgyRTEgLyogYXBwbGUuZ2lmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UuZ2lmOyBwYXRoID0gYXBwbGUuZ2lm
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdEMzBFRDFFRDI4QTZDMDAwNDgyRTEg
LyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZ2lmLWFuZC1maWxlLWlucHV0
Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk4MCw2ICszOTgyLDcgQEAK
IAkJCQk0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMu
bW0gKi8sCiAJCQkJRjQ1RTE1NzQyMTEyQ0U2MjAwMzA3RTgyIC8qIFRlc3RJbnB1dERlbGVnYXRl
LmggKi8sCiAJCQkJRjQ1RTE1NzUyMTEyQ0U2MjAwMzA3RTgyIC8qIFRlc3RJbnB1dERlbGVnYXRl
Lm1tICovLAorCQkJCUY0NzJFMDAyMjdEOTY2RjIwMEYzQTE3MiAvKiBUZXh0QWx0ZXJuYXRpdmVz
Lm1tICovLAogCQkJCUY0NTAzM0Y0MjA2QkVDOTUwMDkzNTFDRSAvKiBUZXh0QXV0b3NpemluZ0Jv
b3N0Lm1tICovLAogCQkJCUY0OTRCMzY5MjYzMTIwNzgwMDYwQTMxMCAvKiBUZXh0U2VydmljZXNU
ZXN0cy5tbSAqLywKIAkJCQkxQzI0REVFQzI2MzAwMURFMDA0NTBEMDcgLyogVGV4dFN0eWxlRm9u
dFNpemUubW0gKi8sCkBAIC01OTM0LDYgKzU5MzcsNyBAQAogCQkJCTdDODlEMkFDMUE2OUI4MEQw
MDNBNUZERSAvKiBXS1BhZ2VDb25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUy
RDY3M0VFMUFGQjEyNzMwMEZBMTlGRSAvKiBXS1BhZ2VDb3B5U2Vzc2lvblN0YXRlV2l0aEZpbHRl
cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxRjFBNDExQUU2MDA0NDdDNEMgLyog
V0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUY0NzJF
MDAzMjdEOTY2RjIwMEYzQTE3MiAvKiBUZXh0QWx0ZXJuYXRpdmVzLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0NDRTdGMjAxQTQxMUFFNjAwNDQ3QzRDIC8qIFdLUGFnZUlzUGxheWluZ0F1ZGlvLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjIxMUE0MTFBRTYwMDQ0N0M0QyAvKiBXS1ByZWZl
cmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEI1MUQwQTY0OTMwMEZFQkNGMyAv
KiBXS1JldGFpblB0ci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL1RleHRBbHRlcm5hdGl2ZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMzUwMWFhNDll
NGU2ZDM1Y2NlMTYyNDdiOTQ1MDVkMTY5ODQyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tCkBAIC0wLDAgKzEsMTAx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0ICJVSUtpdFNQSS5o
IgorI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgorI2ltcG9ydCA8V2Vi
S2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBUZXN0V0tXZWJWaWV3IChUZXh0
QWx0ZXJuYXRpdmVzKQorLSAoTlNVSW50ZWdlcilkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJD
b3VudDooTlNTdHJpbmcgKilldmFsdWF0ZU5vZGVFeHByZXNzaW9uOworQGVuZAorCitAaW1wbGVt
ZW50YXRpb24gVGVzdFdLV2ViVmlldyAoVGV4dEFsdGVybmF0aXZlcykKKworLSAoTlNVSW50ZWdl
cilkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDooTlNTdHJpbmcgKilldmFsdWF0ZU5v
ZGVFeHByZXNzaW9uCit7CisgICAgTlNTdHJpbmcgKnNjcmlwdFRvRXZhbHVhdGUgPSBbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAImludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoKCgpID0+
ICVAKSgpLCAnZGljdGF0aW9uYWx0ZXJuYXRpdmVzJykiLCBldmFsdWF0ZU5vZGVFeHByZXNzaW9u
XTsKKyAgICBOU051bWJlciAqcmVzdWx0ID0gW3NlbGYgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpzY3JpcHRUb0V2YWx1YXRlXTsKKyAgICByZXR1cm4gcmVzdWx0LnVuc2lnbmVkSW50ZWdl
clZhbHVlOworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGlj
IFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRBbHRl
cm5hdGl2ZXMoKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1
cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlBy
b2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107Cisg
ICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDU2OCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uXSk7CisgICAgW3dlYlZpZXcgX3NldEVkaXRhYmxlOllFU107CisgICAgcmV0dXJuIHdlYlZp
ZXc7Cit9CisKK1RFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVybmF0aXZlc1dpdGhN
YXRjaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRB
bHRlcm5hdGl2ZXMoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6
QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKKyAgICBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1l
bnQuYm9keSwgMSkiXTsKKworICAgIGF1dG8gYWx0ZXJuYXRpdmVzID0gYWRvcHROUyhbW05TVGV4
dEFsdGVybmF0aXZlcyBhbGxvY10gaW5pdFdpdGhQcmltYXJ5U3RyaW5nOkAiaGVsbG8gd29ybGQi
IGFsdGVybmF0aXZlU3RyaW5nczpAWyBAIvCfkYvwn4yOIiBdXSk7CisgICAgW1t3ZWJWaWV3IHRl
eHRJbnB1dENvbnRlbnRWaWV3XSBhZGRUZXh0QWx0ZXJuYXRpdmVzOmFsdGVybmF0aXZlcy5nZXQo
KV07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworCisgICAg
RVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDpA
ImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKK30KKworVEVTVChUZXh0QWx0ZXJuYXRp
dmVzLCBBZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNlbGVjdGVkTWF0Y2gpCit7CisgICAgYXV0byB3
ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0ZvclRlc3RpbmdUZXh0QWx0ZXJuYXRpdmVzKCk7CisgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGJvZHk+aGVsbG8gd29ybGQm
bmJzcDs8L2JvZHk+Il07CisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmJvZHkpIl07CisK
KyAgICBhdXRvIGFsdGVybmF0aXZlcyA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxs
b2NdIGluaXRXaXRoUHJpbWFyeVN0cmluZzpAImhlbGxvIHdvcmxkIiBhbHRlcm5hdGl2ZVN0cmlu
Z3M6QFsgQCLwn5GL8J+MjiIgXV0pOworICAgIFtbd2ViVmlldyB0ZXh0SW5wdXRDb250ZW50Vmll
d10gYWRkVGV4dEFsdGVybmF0aXZlczphbHRlcm5hdGl2ZXMuZ2V0KCldOworICAgIFt3ZWJWaWV3
IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAgIEVYUEVDVF9FUSgxVSwgW3dl
YlZpZXcgZGljdGF0aW9uQWx0ZXJuYXRpdmVzTWFya2VyQ291bnQ6QCJkb2N1bWVudC5ib2R5LmNo
aWxkTm9kZXNbMF0iXSk7Cit9CisKK1RFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVy
bmF0aXZlc1dpdGhvdXRNYXRjaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3
Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5
TG9hZEhUTUxTdHJpbmc6QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKKyAgICBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0
UG9zaXRpb24oZG9jdW1lbnQuYm9keSwgMSkiXTsKKworICAgIGF1dG8gYWx0ZXJuYXRpdmVzID0g
YWRvcHROUyhbW05TVGV4dEFsdGVybmF0aXZlcyBhbGxvY10gaW5pdFdpdGhQcmltYXJ5U3RyaW5n
OkAiZ29vZGJ5ZSB3b3JsZCIgYWx0ZXJuYXRpdmVTdHJpbmdzOkBbIEAi8J+Ri/CfjI4iIF1dKTsK
KyAgICBbW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFkZFRleHRBbHRlcm5hdGl2ZXM6
YWx0ZXJuYXRpdmVzLmdldCgpXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlv
blVwZGF0ZV07CisKKyAgICBFWFBFQ1RfRVEoMFUsIFt3ZWJWaWV3IGRpY3RhdGlvbkFsdGVybmF0
aXZlc01hcmtlckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdIl0pOworfQorCit9
IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNGI5ZGM2NWZmYTM5ZmQ4ZmNi
NGQ5YmFiNjc2MzViYjIxNDZlMzcyMy4uYjNmMTVlYjYyYjBjY2QyZDg0NDc1OTFkM2VjMTIzMDQ2
ZDYzMjM3MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCkBAIC0zMjAsNiArMzIwLDgg
QEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9VSUNsaWNrSW50ZXJhY3Rpb25FdmVudCkg
ewogCiBAcHJvdG9jb2wgVUlUZXh0SW5wdXRJbnRlcm5hbAogLSAoQ0dSZWN0KV9zZWxlY3Rpb25D
bGlwUmVjdDsKK0BvcHRpb25hbAorLSAodm9pZClhZGRUZXh0QWx0ZXJuYXRpdmVzOihOU1RleHRB
bHRlcm5hdGl2ZXMgKilhbHRlcm5hdGl2ZXM7CiBAZW5kCiAKIEBpbnRlcmZhY2UgVUlSZXNwb25k
ZXIgKEludGVybmFsKQo=
</data>
<flag name="commit-queue"
          id="481908"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454301</attachid>
            <date>2022-03-09 17:26:21 -0800</date>
            <delta_ts>2022-03-10 12:58:34 -0800</delta_ts>
            <desc>Fix non-internal build</desc>
            <filename>bug-237691-20220309172620.patch</filename>
            <type>text/plain</type>
            <size>21134</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRiMmY2ZWUwZDYzNWQzYjg4
ZDQ1YTM4YzhkNTliMTAxYzVmZTYyOGIuLjEwYmEyNjkzZDljYTJjODAwOTllMTlmYTZhYTkxMjI2
OWU5ZWE5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjItMDMtMDkgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIHN1cHBv
cnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRkVGV4dEFsdGVybmF0aXZlczpdIG9uIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzY5
MQorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXb3JrIHRvd2FyZHMgcmVmYWN0b3Jpbmcgc3VwcG9ydCBmb3Ig
ZGljdGF0aW9uIGFsdGVybmF0aXZlcyBvbiBpT1M7IHRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv
ciBhbiBvcHRpb25hbCwKKyAgICAgICAgcHJpdmF0ZSBVSVRleHRJbnB1dCBwcm90b2NvbCBtZXRo
b2Qgb24gV0tDb250ZW50Vmlldywgd2hpY2ggY2xpZW50cyBjYW4gdXNlIHRvIGRpcmVjdGx5IGlu
c2VydAorICAgICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgZm9yIGEgZ2l2ZW4gc3RyaW5nIG9mIG1h
dGNoaW5nIHRleHQgKGkuZS4sIGlmIHRoZSBnaXZlbiBzdHJpbmcgbWF0Y2hlcyB0ZXh0IGF0IG9y
IGJlZm9yZSB0aGUKKyAgICAgICAgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UpLgorCisgICAgICAg
IFRlc3RzOiAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aE1hdGNoCisg
ICAgICAgICAgICAgICAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNl
bGVjdGVkTWF0Y2gKKyAgICAgICAgICAgICAgICBUZXh0QWx0ZXJuYXRpdmVzLkFkZFRleHRBbHRl
cm5hdGl2ZXNXaXRob3V0TWF0Y2gKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHNlbmRpbmcgV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCBhcyBhbiBJUEMgbWVzc2FnZSBh
cmd1bWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphZGREaWN0YXRpb25BbHRlcm5hdGl2
ZSk6CisKKyAgICAgICAgUmVnaXN0ZXIgdGhlIGRpY3RhdGlvbiBhbHRlcm5hdGl2ZSAoTlNUZXh0
QWx0ZXJuYXRpdmUpIG9uIHRoZSBwYWdlIGNsaWVudCwgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRo
ZSB3ZWIgcHJvY2VzcworICAgICAgICB0byB0cnkgYW5kIGluc2VydCBkb2N1bWVudCBtYXJrZXJz
IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBkaWN0YXRpb24gYWx0ZXJuYXRpdmUuIElmLCBmb3Igd2hh
dGV2ZXIgcmVhc29uLCB3ZSBmYWlsCisgICAgICAgIHRvIG1hcCBkaWN0YXRpb24gYWx0ZXJuYXRp
dmVzIHRvIGFuIGVkaXRhYmxlIERPTSByYW5nZSwgbWFrZSBzdXJlIHdlIGF1dG9tYXRpY2FsbHkg
dW5yZWdpc3RlciB0aGlzIHRleHQKKyAgICAgICAgYWx0ZXJuYXRpdmUgYXMgd2VsbC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBh
ZGRUZXh0QWx0ZXJuYXRpdmVzOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKToKKworICAgICAgICBHaXZlbiBhIHN0cmluZyB0byBtYXRjaCBhbmQgYSBk
aWN0YXRpb24gYWx0ZXJuYXRpdmUgaWRlbnRpZmllciBjb250ZXh0LCB0cnkgdG8gc2VhcmNoIGZv
ciB0aGUgbWF0Y2hpbmcgc3RyaW5nCisgICAgICAgIGJlZm9yZSAob3IgaW4pIHRoZSBzZWxlY3Rp
b247IGlmIGZvdW5kLCBpbnN0YWxsIHRoZSBkaWN0YXRpb24gYWx0ZXJuYXRpdmVzIGluIHRoZSBt
YXRjaCByYW5nZSwgYXMgYSBkb2N1bWVudAorICAgICAgICBtYXJrZXIuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIyLTAzLTA4ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBUZXh0UmVjb2duaXRpb25VdGls
aXRpZXMuKiB0byBJbWFnZUFuYWx5c2lzVXRpbGl0aWVzLioKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDhjOWZmMjM5YTE2NTI4Y2JhZGJlNTFmYjA4M2E0YzE2
MGI0YjQ4YjEuLmM5MTU4YWFmYmJhZTU5MGY3OGMwYWQ5OGRjNjk2ZjY0NmRlNmYxNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNzc0LDYgKzc3NCw3IEBA
IGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6RE9NUGFzdGVB
Y2Nlc3NDYXRlZ29yeSc6IFsnPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwKICAgICAgICAg
J1dlYkNvcmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2UnOiBbJzxXZWJDb3JlL0RPTVBhc3RlQWNj
ZXNzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UnOiBbJzxX
ZWJDb3JlL0NvbG9yU3BhY2UuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OkRpY3RhdGlvbkNvbnRl
eHQnOiBbJzxXZWJDb3JlL0RpY3RhdGlvbkNvbnRleHQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRlbnRpZmllcic6IFsnPFdlYkNvcmUvRGlzcGxheUxp
c3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50TWFya2VyTGluZVN0eWxlJzogWyc8
V2ViQ29yZS9HcmFwaGljc1R5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25GbGFncyc6IFsnPFdlYkNvcmUvRHJhZ0RhdGEuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggNTZhMTRkOGJm
MzZlZDQ0ZGFkYmYxZTRjNDg0MGE1ZTA2NDE0YjhlNy4uNWY2YmFjZDAzNGQyZDMwOWU4MjE0N2Y1
ODQ5YzkwODQxNjg0OTQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3Myw2ICszNzMsMTkgQEAgdm9pZCBXZWJQYWdl
UHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
RWRpdGluZ1JhbmcKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnNlcnREaWN0YXRlZFRl
eHRBc3luYyB7IHRleHQsIHJlcGxhY2VtZW50UmFuZ2UsIGRpY3RhdGlvbkFsdGVybmF0aXZlcywg
V1RGTW92ZShvcHRpb25zKSB9KTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSYmIGFsdGVybmF0aXZlKQorewor
ICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0
byBuc0FsdGVybmF0aXZlcyA9IGFsdGVybmF0aXZlLmFsdGVybmF0aXZlcy5nZXQoKTsKKyAgICBh
dXRvIGNvbnRleHQgPSBwYWdlQ2xpZW50KCkuYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKG5zQWx0
ZXJuYXRpdmVzKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkFk
ZERpY3RhdGlvbkFsdGVybmF0aXZlIHsgbnNBbHRlcm5hdGl2ZXMucHJpbWFyeVN0cmluZywgY29u
dGV4dCB9LCBbY29udGV4dCwgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oYm9vbCBzdWNj
ZXNzKSB7CisgICAgICAgIGlmIChhdXRvIHByb3RlY3RlZFRoaXMgPSB3ZWFrVGhpcy5nZXQoKTsg
cHJvdGVjdGVkVGhpcyAmJiAhc3VjY2VzcykKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnJl
bW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyhjb250ZXh0KTsKKyAgICB9KTsKK30KKwogI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogCiBOU1RleHRBbHRlcm5hdGl2ZXMgKldlYlBhZ2VQ
cm94eTo6cGxhdGZvcm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29u
dGV4dCBkaWN0YXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA3OGQ1NGQ4MWRmMWI1ODcwMGIxYjQwNWVhZjU3YjkwYTBlZmNjZThiLi44YmM2NGNj
MmE0ZTlkZGY2MmU5OTM3YTg4OTViMmFhODM2MTc3NmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtOTczLDYgKzk3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGlu
c2VydFRleHRBc3luYyhjb25zdCBTdHJpbmcmLCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlcGxhY2Vt
ZW50UmFuZ2UsIEluc2VydFRleHRPcHRpb25zJiYpOwogICAgIHZvaWQgaW5zZXJ0RGljdGF0ZWRU
ZXh0QXN5bmMoY29uc3QgU3RyaW5nJiwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVudFJh
bmdlLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYsIElu
c2VydFRleHRPcHRpb25zJiYpOwogCisgICAgdm9pZCBhZGREaWN0YXRpb25BbHRlcm5hdGl2ZShX
ZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UmJik7CisKICNpZiBVU0UoRElDVEFUSU9O
X0FMVEVSTkFUSVZFUykKICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgKnBsYXRmb3JtRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQppbmRleCA1ZDRiMWEwNzZmMjBkMzVlNGM1NjkzNDBmZDk5ZmIxNDM2MzU3ZjVlLi44ODQ5
MzhmZDgwZjg3YjIxY2I2NmFmNDJlZTM4MTg4NWYwMTFkOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTU2NTQsNiArNTY1NCwxMSBAQCAtIChCT09MKWhhc1RleHQKICAgICByZXR1cm4gIWVkaXRvclN0
YXRlLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhICYmIGVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRh
KCkuaGFzUGxhaW5UZXh0OwogfQogCistICh2b2lkKWFkZFRleHRBbHRlcm5hdGl2ZXM6KE5TVGV4
dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlcworeworICAgIF9wYWdlLT5hZGREaWN0YXRpb25B
bHRlcm5hdGl2ZSh7IGFsdGVybmF0aXZlcywgTlNNYWtlUmFuZ2UoMCwgYWx0ZXJuYXRpdmVzLnBy
aW1hcnlTdHJpbmcubGVuZ3RoKSB9KTsKK30KKwogLy8gZW5kIG9mIFVJVGV4dElucHV0IHByb3Rv
Y29sIGltcGxlbWVudGF0aW9uCiAKIHN0YXRpYyBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBl
IHRvVUlUZXh0QXV0b2NhcGl0YWxpemUoV2ViQ29yZTo6QXV0b2NhcGl0YWxpemVUeXBlIHdlYmtp
dFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0KaW5kZXggOTgyYWE2M2JmZDUyNjY2OTRkNjY2OTgwNTFiZTY2NGJm
ODUzMTVmMS4uZWMxOWE1MWMwMjZiMjU1OWEzMmE0Nzc3OGJkNTBjMDk3ZDQ3OWQxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VD
b2NvYS5tbQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiV2ViUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTGF1bmNoU2VydmljZXNTUEkuaD4KICNpbXBv
cnQgPFdlYkNvcmUvRGljdGlvbmFyeUxvb2t1cC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRWRpdGluZy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9FZGl0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRXZlbnRIYW5kbGVyLmg+CkBA
IC0yNDcsNiArMjQ4LDQyIEBAIHZvaWQgV2ViUGFnZTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMo
Y29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlCiAgICAgfQogfQogCit2
b2lkIFdlYlBhZ2U6OmFkZERpY3RhdGlvbkFsdGVybmF0aXZlKGNvbnN0IFN0cmluZyYgdGV4dCwg
RGljdGF0aW9uQ29udGV4dCBjb250ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
IGNvbXBsZXRpb24pCit7CisgICAgUmVmIGZyYW1lID0gQ2hlY2tlZFJlZihtX3BhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgUmVmUHRyIGRvY3VtZW50
ID0gZnJhbWUtPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkgeworICAgICAgICBjb21w
bGV0aW9uKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gb3JpZ2lu
YWxTZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgUmVmUHRy
IGVkaXRhYmxlUm9vdCA9IG9yaWdpbmFsU2VsZWN0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsK
KyAgICBpZiAoIWVkaXRhYmxlUm9vdCkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gZmlyc3RFZGl0YWJsZVBvc2l0aW9uID0g
Zmlyc3RQb3NpdGlvbkluTm9kZShlZGl0YWJsZVJvb3QuZ2V0KCkpOworICAgIGF1dG8gc2VsZWN0
aW9uRW5kID0gb3JpZ2luYWxTZWxlY3Rpb24uZW5kKCk7CisgICAgYXV0byBzZWFyY2hSYW5nZSA9
IG1ha2VTaW1wbGVSYW5nZShmaXJzdEVkaXRhYmxlUG9zaXRpb24sIHNlbGVjdGlvbkVuZCk7Cisg
ICAgaWYgKCFzZWFyY2hSYW5nZSkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gdGFyZ2V0T2Zmc2V0ID0gY2hhcmFjdGVyQ291
bnQoKnNlYXJjaFJhbmdlKTsKKyAgICB0YXJnZXRPZmZzZXQgLT0gc3RkOjptaW48dWludDY0X3Q+
KHRhcmdldE9mZnNldCwgdGV4dC5sZW5ndGgoKSk7CisgICAgYXV0byBtYXRjaFJhbmdlID0gZmlu
ZENsb3Nlc3RQbGFpblRleHQoKnNlYXJjaFJhbmdlLCB0ZXh0LCB7IEJhY2t3YXJkcywgRG9Ob3RS
ZXZlYWxTZWxlY3Rpb24gfSwgdGFyZ2V0T2Zmc2V0KTsKKyAgICBpZiAobWF0Y2hSYW5nZS5jb2xs
YXBzZWQoKSkgeworICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGRvY3VtZW50LT5tYXJrZXJzKCkuYWRkTWFya2VyKG1hdGNoUmFuZ2UsIERv
Y3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5hdGl2ZXMsIHsgRG9jdW1lbnRNYXJrZXI6OkRp
Y3RhdGlvbkRhdGEgeyBjb250ZXh0LCB0ZXh0IH0gfSk7CisgICAgY29tcGxldGlvbih0cnVlKTsK
K30KKwogdm9pZCBXZWJQYWdlOjphY2Nlc3NpYmlsaXR5VHJhbnNmZXJSZW1vdGVUb2tlbihSZXRh
aW5QdHI8TlNEYXRhPiByZW1vdGVUb2tlbikKIHsKICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YVRva2VuID0gSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhf
dCo+KFtyZW1vdGVUb2tlbiBieXRlc10pLCBbcmVtb3RlVG9rZW4gbGVuZ3RoXSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTVlYmFlYzQ1YmEwMjRh
ZDRiZjJmMmI5ZTYxZTJjNGQ1YWNlZGQ5Ny4uYTgyNmYyOGY4Y2FmZDQzY2IwNWM3MjFlYTdhYjFj
NTgyMTYyMTc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aApAQCAtOTY5LDcgKzk2OSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBlcmZvcm1Ob25FZGl0aW5n
QmVoYXZpb3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpLZXlib2FyZEV2ZW50
Kik7CiAKICAgICB2b2lkIGluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVudFJhbmdlLCBjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZUxvY2F0aW9u
cywgSW5zZXJ0VGV4dE9wdGlvbnMmJik7Ci0jZW5kaWYKKyAgICB2b2lkIGFkZERpY3RhdGlvbkFs
dGVybmF0aXZlKGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBhdHRyaWJ1dGVkU3Vic3RyaW5nRm9y
Q2hhcmFjdGVyUmFuZ2VBc3luYyhjb25zdCBFZGl0aW5nUmFuZ2UmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IFdlYkNvcmU6OkF0dHJpYnV0ZWRTdHJpbmcmLCBjb25zdCBFZGl0aW5nUmFu
Z2UmKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgppbmRleCA2ZjUyNmU0OTk1OGMyNmJlOGQ3MTIyNzAwZjhiNTM1YWMw
ODQ2MzAwLi45ZGU0YWZjNjM5NGE3NGMwYTlkOGQzYmViMmRjMjQ5ODI5MzE3MGE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTQ3OCw2ICs0NzgsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVu
dW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAgICAgSW5z
ZXJ0VGV4dEFzeW5jKFN0cmluZyB0ZXh0LCBzdHJ1Y3QgV2ViS2l0OjpFZGl0aW5nUmFuZ2UgcmVw
bGFjZW1lbnRSYW5nZSwgc3RydWN0IFdlYktpdDo6SW5zZXJ0VGV4dE9wdGlvbnMgb3B0aW9ucykK
ICAgICBJbnNlcnREaWN0YXRlZFRleHRBc3luYyhTdHJpbmcgdGV4dCwgc3RydWN0IFdlYktpdDo6
RWRpdGluZ1JhbmdlIHJlcGxhY2VtZW50UmFuZ2UsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25B
bHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzLCBzdHJ1Y3QgV2ViS2l0OjpJbnNlcnRU
ZXh0T3B0aW9ucyBvcHRpb25zKQorICAgIEFkZERpY3RhdGlvbkFsdGVybmF0aXZlKFN0cmluZyB0
ZXh0LCBXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIC0+IChib29sIHN1Y2Nlc3Mp
IEFzeW5jCiAKICAgICBIYXNNYXJrZWRUZXh0KCkgLT4gKGJvb2wgaGFzTWFya2VkVGV4dCkgQXN5
bmMKICAgICBHZXRNYXJrZWRSYW5nZUFzeW5jKCkgLT4gKHN0cnVjdCBXZWJLaXQ6OkVkaXRpbmdS
YW5nZSByYW5nZSkgQXN5bmMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAyMGJmODZjNzBiODExNWE2N2QzNzA5OTAwNjNmNGU5MzBjNDc5OTRjLi4w
YmZlODk0ZmQ2ZWU2MTc0ZjczZTgwMzllNTIxYWM0NWVhNWQyZDk1IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjIt
MDMtMDkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRkVGV4dEFsdGVybmF0aXZlczpd
IG9uIFdLQ29udGVudFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNzY5MQorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2V2ZXJhbCBiYXNpYyBBUEkg
dGVzdHMgdG8gZXhlcmNpc2UgdGhlIG5ldyBBUEk7IGluIHBhcnRpY3VsYXIsIGV4ZXJjaXNlIGJv
dGggY2FzZXMgd2hlcmUgdGhlIHRleHQKKyAgICAgICAgYWx0ZXJuYXRpdmUncyBwcmltYXJ5IHRl
eHQgbWF0Y2hlcyBiZWZvcmUgdGhlIHNlbGVjdGlvbiwgd2hlcmUgaXQgZG9lcyBub3QgbWF0Y2gs
IGFuZCB3aGVyZSBpdCBtYXRjaGVzIGluc2lkZQorICAgICAgICB0aGUgc2VsZWN0aW9uLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4dEFsdGVybmF0aXZl
cy5tbTogQWRkZWQuCisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgZGljdGF0aW9uQWx0ZXJuYXRp
dmVzTWFya2VyQ291bnQ6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjcmVhdGVXZWJWaWV3
Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaDoKKwogMjAyMi0wMy0w
NyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW3dlYmtp
dGJ1Z3NweV0gQWxsb3cgY3JlYXRpb24gb2YgbmV3IGlzc3VlcwpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAzMDE4OTkyN2RkZTg1NjZmYjMzYjBiYmY5ZGZlYTQ0ODYzYWQ3NjAwLi4zYjJhOWVm
Y2RjNGM1YmVlYmJmN2U1YWExNTk4MzFmYjE1MTY1ZDA0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTA4OSw2ICsxMDg5LDcgQEAKIAkJRjQ2QzQ1QzQyN0Q0MkEyRjAwRUNFRDJDIC8qIEFw
cGxpY2F0aW9uU3RhdGVUcmFja2luZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0NkM0NUMzMjdENDJBMkYwMEVDRUQyQyAvKiBBcHBsaWNhdGlvblN0
YXRlVHJhY2tpbmcubW0gKi87IH07CiAJCUY0NkQ0M0FCMjZENzA5MjgwMDk2OUU1RSAvKiB0ZXN0
LmpwZyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDZENDNBQTI2RDcwOTAzMDA5NjlFNUUgLyogdGVzdC5qcGcgKi87IH07CiAJCUY0NzI4NzQ3
Mjc4MTZCQ0UwMDNFQkU3RiAvKiBOU1Jlc3BvbmRlclRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQzQzM4MjMyNzgxMzMxOTAwOTlBQkNFIC8q
IE5TUmVzcG9uZGVyVGVzdHMubW0gKi87IH07CisJCUY0NzJFMDAzMjdEOTY2RjIwMEYzQTE3MiAv
KiBUZXh0QWx0ZXJuYXRpdmVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3MkUwMDIyN0Q5NjZGMjAwRjNBMTcyIC8qIFRleHRBbHRlcm5hdGl2ZXMu
bW0gKi87IH07CiAJCUY0NzcyODk5MUU0QUUzQzEwMDdBQkY2QSAvKiBmdWxsLXBhZ2UtY29udGVu
dGVkaXRhYmxlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3NzI4OTgxRTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1jb250ZW50
ZWRpdGFibGUuaHRtbCAqLzsgfTsKIAkJRjQ3REZCMjYyMUE4NzhERjAwMDIxRkI2IC8qIGRhdGEt
ZGV0ZWN0b3JzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ3REZCMjQyMUE4NzA0QTAwMDIxRkI2IC8qIGRhdGEtZGV0ZWN0b3JzLmh0
bWwgKi87IH07CiAJCUY0ODFDMDI4Mjc3OTQ1QjgwMEU0NzBDRiAvKiBtb2RhbC1jb250YWluZXIt
d2l0aC1vdmVybGF5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQ4MUMwMjcyNzc5NDU5NzAwRTQ3MENGIC8qIG1vZGFsLWNvbnRhaW5l
ci13aXRoLW92ZXJsYXkuaHRtbCAqLzsgfTsKQEAgLTMxMDYsNiArMzEwNyw3IEBACiAJCUY0NkJE
NTY4MjQ4NzA2MkQwMDgyODJENiAvKiBkcmFnc3RhcnQtZGF0YS5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5odG1sOyBwYXRoID0gImRyYWdzdGFydC1kYXRhLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNDZDNDVDMzI3RDQyQTJGMDBFQ0VEMkMgLyogQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDZENDNBQTI2RDcwOTAzMDA5NjlF
NUUgLyogdGVzdC5qcGcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBpbWFnZS5qcGVnOyBwYXRoID0gdGVzdC5qcGc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUY0NzJFMDAyMjdEOTY2RjIwMEYzQTE3MiAvKiBUZXh0QWx0ZXJuYXRpdmVzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dEFsdGVybmF0aXZlcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3NzI4OTgxRTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1j
b250ZW50ZWRpdGFibGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJmdWxsLXBh
Z2UtY29udGVudGVkaXRhYmxlLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NDdEMzBFQjFFRDI4NjE5MDAwNDgyRTEgLyogYXBwbGUuZ2lmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UuZ2lmOyBwYXRoID0gYXBwbGUuZ2lm
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdEMzBFRDFFRDI4QTZDMDAwNDgyRTEg
LyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZ2lmLWFuZC1maWxlLWlucHV0
Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk4MCw2ICszOTgyLDcgQEAK
IAkJCQk0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMu
bW0gKi8sCiAJCQkJRjQ1RTE1NzQyMTEyQ0U2MjAwMzA3RTgyIC8qIFRlc3RJbnB1dERlbGVnYXRl
LmggKi8sCiAJCQkJRjQ1RTE1NzUyMTEyQ0U2MjAwMzA3RTgyIC8qIFRlc3RJbnB1dERlbGVnYXRl
Lm1tICovLAorCQkJCUY0NzJFMDAyMjdEOTY2RjIwMEYzQTE3MiAvKiBUZXh0QWx0ZXJuYXRpdmVz
Lm1tICovLAogCQkJCUY0NTAzM0Y0MjA2QkVDOTUwMDkzNTFDRSAvKiBUZXh0QXV0b3NpemluZ0Jv
b3N0Lm1tICovLAogCQkJCUY0OTRCMzY5MjYzMTIwNzgwMDYwQTMxMCAvKiBUZXh0U2VydmljZXNU
ZXN0cy5tbSAqLywKIAkJCQkxQzI0REVFQzI2MzAwMURFMDA0NTBEMDcgLyogVGV4dFN0eWxlRm9u
dFNpemUubW0gKi8sCkBAIC01ODI5LDYgKzU4MzIsNyBAQAogCQkJCTdCNzc0OTA2MjY3Q0NFNzIw
MDk4NzNCNCAvKiBUZXN0UnVubmVyVGVzdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRENUM1
NTgyN0M2RkY0ODAwRUQxQzIzIC8qIFRlc3RVSU1lbnVCdWlsZGVyLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJRjQ1MTdCNjcyMDU0QzQ5NTAwQzI2NzIxIC8qIFRlc3RXS1dlYlZpZXdDb250cm9sbGVy
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjQ3MkUwMDMyN0Q5NjZGMjAwRjNBMTcyIC8qIFRleHRB
bHRlcm5hdGl2ZXMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDUwMzNGNTIwNkJFQzk1MDA5MzUx
Q0UgLyogVGV4dEF1dG9zaXppbmdCb29zdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRTYxOTNC
MUY5MzFCM0EwMEFGMjQ1RSAvKiBUZXh0Q29kZWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Uz
NTI0RjkxQjE0NDFDNDAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZy5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
aW9zL1RleHRBbHRlcm5hdGl2ZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9U
ZXh0QWx0ZXJuYXRpdmVzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMzUwMWFhNDllNGU2ZDM1Y2NlMTYyNDdi
OTQ1MDVkMTY5ODQyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tCkBAIC0wLDAgKzEsMTAxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorCisjaW1w
b3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1By
aXZhdGUuaD4KKworQGludGVyZmFjZSBUZXN0V0tXZWJWaWV3IChUZXh0QWx0ZXJuYXRpdmVzKQor
LSAoTlNVSW50ZWdlcilkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDooTlNTdHJpbmcg
KilldmFsdWF0ZU5vZGVFeHByZXNzaW9uOworQGVuZAorCitAaW1wbGVtZW50YXRpb24gVGVzdFdL
V2ViVmlldyAoVGV4dEFsdGVybmF0aXZlcykKKworLSAoTlNVSW50ZWdlcilkaWN0YXRpb25BbHRl
cm5hdGl2ZXNNYXJrZXJDb3VudDooTlNTdHJpbmcgKilldmFsdWF0ZU5vZGVFeHByZXNzaW9uCit7
CisgICAgTlNTdHJpbmcgKnNjcmlwdFRvRXZhbHVhdGUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAImludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoKCgpID0+ICVAKSgpLCAnZGljdGF0
aW9uYWx0ZXJuYXRpdmVzJykiLCBldmFsdWF0ZU5vZGVFeHByZXNzaW9uXTsKKyAgICBOU051bWJl
ciAqcmVzdWx0ID0gW3NlbGYgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpzY3JpcHRUb0V2
YWx1YXRlXTsKKyAgICByZXR1cm4gcmVzdWx0LnVuc2lnbmVkSW50ZWdlclZhbHVlOworfQorCitA
ZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIFJldGFpblB0cjxUZXN0
V0tXZWJWaWV3PiBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMoKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2Nv
bmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRo
SW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFr
ZSgwLCAwLCAzMjAsIDU2OCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgW3dl
YlZpZXcgX3NldEVkaXRhYmxlOllFU107CisgICAgcmV0dXJuIHdlYlZpZXc7Cit9CisKK1RFU1Qo
VGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVybmF0aXZlc1dpdGhNYXRjaCkKK3sKKyAgICBh
dXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMoKTsK
KyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8Ym9keT5oZWxsbyB3
b3JsZCZuYnNwOzwvYm9keT4iXTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1lbnQuYm9keSwgMSkiXTsK
KworICAgIGF1dG8gYWx0ZXJuYXRpdmVzID0gYWRvcHROUyhbW05TVGV4dEFsdGVybmF0aXZlcyBh
bGxvY10gaW5pdFdpdGhQcmltYXJ5U3RyaW5nOkAiaGVsbG8gd29ybGQiIGFsdGVybmF0aXZlU3Ry
aW5nczpAWyBAIvCfkYvwn4yOIiBdXSk7CisgICAgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRW
aWV3XSBhZGRUZXh0QWx0ZXJuYXRpdmVzOmFsdGVybmF0aXZlcy5nZXQoKV07CisgICAgW3dlYlZp
ZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworCisgICAgRVhQRUNUX0VRKDFVLCBb
d2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHku
Y2hpbGROb2Rlc1swXSJdKTsKK30KKworVEVTVChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRUZXh0QWx0
ZXJuYXRpdmVzV2l0aFNlbGVjdGVkTWF0Y2gpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gY3JlYXRl
V2ViVmlld0ZvclRlc3RpbmdUZXh0QWx0ZXJuYXRpdmVzKCk7CisgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGJvZHk+aGVsbG8gd29ybGQmbmJzcDs8L2JvZHk+Il07
CisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlv
bigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50LmJvZHkpIl07CisKKyAgICBhdXRvIGFsdGVy
bmF0aXZlcyA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxsb2NdIGluaXRXaXRoUHJp
bWFyeVN0cmluZzpAImhlbGxvIHdvcmxkIiBhbHRlcm5hdGl2ZVN0cmluZ3M6QFsgQCLwn5GL8J+M
jiIgXV0pOworICAgIFtbd2ViVmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10gYWRkVGV4dEFsdGVy
bmF0aXZlczphbHRlcm5hdGl2ZXMuZ2V0KCldOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJl
c2VudGF0aW9uVXBkYXRlXTsKKworICAgIEVYUEVDVF9FUSgxVSwgW3dlYlZpZXcgZGljdGF0aW9u
QWx0ZXJuYXRpdmVzTWFya2VyQ291bnQ6QCJkb2N1bWVudC5ib2R5LmNoaWxkTm9kZXNbMF0iXSk7
Cit9CisKK1RFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVybmF0aXZlc1dpdGhvdXRN
YXRjaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRB
bHRlcm5hdGl2ZXMoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6
QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKKyAgICBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1l
bnQuYm9keSwgMSkiXTsKKworICAgIGF1dG8gYWx0ZXJuYXRpdmVzID0gYWRvcHROUyhbW05TVGV4
dEFsdGVybmF0aXZlcyBhbGxvY10gaW5pdFdpdGhQcmltYXJ5U3RyaW5nOkAiZ29vZGJ5ZSB3b3Js
ZCIgYWx0ZXJuYXRpdmVTdHJpbmdzOkBbIEAi8J+Ri/CfjI4iIF1dKTsKKyAgICBbW3dlYlZpZXcg
dGV4dElucHV0Q29udGVudFZpZXddIGFkZFRleHRBbHRlcm5hdGl2ZXM6YWx0ZXJuYXRpdmVzLmdl
dCgpXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisKKyAg
ICBFWFBFQ1RfRVEoMFUsIFt3ZWJWaWV3IGRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtlckNvdW50
OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdIl0pOworfQorCit9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNGI5ZGM2NWZmYTM5ZmQ4ZmNiNGQ5YmFiNjc2MzViYjIx
NDZlMzcyMy4uNDcxNDY1ODAzYTE4MWIyYTcwNjAwYjY1YjIwMTcwYzY5Njg5ZWM1YSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCkBAIC02Nyw2ICs2Nyw3IEBAIElHTk9SRV9XQVJOSU5H
U19FTkQKICNlbHNlIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKIEBpbnRlcmZhY2UgTlNU
ZXh0QWx0ZXJuYXRpdmVzIDogTlNPYmplY3QKKy0gKGlkKWluaXRXaXRoUHJpbWFyeVN0cmluZzoo
TlNTdHJpbmcgKilwcmltYXJ5U3RyaW5nIGFsdGVybmF0aXZlU3RyaW5nczooTlNBcnJheTxOU1N0
cmluZyAqPiAqKWFsdGVybmF0aXZlU3RyaW5nczsKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3Ry
aW5nICpwcmltYXJ5U3RyaW5nOwogQHByb3BlcnR5IChyZWFkb25seSkgTlNBcnJheTxOU1N0cmlu
ZyAqPiAqYWx0ZXJuYXRpdmVTdHJpbmdzOwogQHByb3BlcnR5IChyZWFkb25seSkgQk9PTCBpc0xv
d0NvbmZpZGVuY2U7CkBAIC0zMjAsNiArMzIxLDggQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVn
ZXIsIF9VSUNsaWNrSW50ZXJhY3Rpb25FdmVudCkgewogCiBAcHJvdG9jb2wgVUlUZXh0SW5wdXRJ
bnRlcm5hbAogLSAoQ0dSZWN0KV9zZWxlY3Rpb25DbGlwUmVjdDsKK0BvcHRpb25hbAorLSAodm9p
ZClhZGRUZXh0QWx0ZXJuYXRpdmVzOihOU1RleHRBbHRlcm5hdGl2ZXMgKilhbHRlcm5hdGl2ZXM7
CiBAZW5kCiAKIEBpbnRlcmZhY2UgVUlSZXNwb25kZXIgKEludGVybmFsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454393</attachid>
            <date>2022-03-10 12:58:36 -0800</date>
            <delta_ts>2022-03-10 16:16:53 -0800</delta_ts>
            <desc>Add missing RefPtr</desc>
            <filename>bug-237691-20220310125835.patch</filename>
            <type>text/plain</type>
            <size>21112</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRiMmY2ZWUwZDYzNWQzYjg4
ZDQ1YTM4YzhkNTliMTAxYzVmZTYyOGIuLjEwYmEyNjkzZDljYTJjODAwOTllMTlmYTZhYTkxMjI2
OWU5ZWE5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjItMDMtMDkgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIHN1cHBv
cnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRkVGV4dEFsdGVybmF0aXZlczpdIG9uIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzY5
MQorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXb3JrIHRvd2FyZHMgcmVmYWN0b3Jpbmcgc3VwcG9ydCBmb3Ig
ZGljdGF0aW9uIGFsdGVybmF0aXZlcyBvbiBpT1M7IHRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv
ciBhbiBvcHRpb25hbCwKKyAgICAgICAgcHJpdmF0ZSBVSVRleHRJbnB1dCBwcm90b2NvbCBtZXRo
b2Qgb24gV0tDb250ZW50Vmlldywgd2hpY2ggY2xpZW50cyBjYW4gdXNlIHRvIGRpcmVjdGx5IGlu
c2VydAorICAgICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgZm9yIGEgZ2l2ZW4gc3RyaW5nIG9mIG1h
dGNoaW5nIHRleHQgKGkuZS4sIGlmIHRoZSBnaXZlbiBzdHJpbmcgbWF0Y2hlcyB0ZXh0IGF0IG9y
IGJlZm9yZSB0aGUKKyAgICAgICAgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UpLgorCisgICAgICAg
IFRlc3RzOiAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aE1hdGNoCisg
ICAgICAgICAgICAgICAgVGV4dEFsdGVybmF0aXZlcy5BZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNl
bGVjdGVkTWF0Y2gKKyAgICAgICAgICAgICAgICBUZXh0QWx0ZXJuYXRpdmVzLkFkZFRleHRBbHRl
cm5hdGl2ZXNXaXRob3V0TWF0Y2gKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHNlbmRpbmcgV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCBhcyBhbiBJUEMgbWVzc2FnZSBh
cmd1bWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphZGREaWN0YXRpb25BbHRlcm5hdGl2
ZSk6CisKKyAgICAgICAgUmVnaXN0ZXIgdGhlIGRpY3RhdGlvbiBhbHRlcm5hdGl2ZSAoTlNUZXh0
QWx0ZXJuYXRpdmUpIG9uIHRoZSBwYWdlIGNsaWVudCwgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRo
ZSB3ZWIgcHJvY2VzcworICAgICAgICB0byB0cnkgYW5kIGluc2VydCBkb2N1bWVudCBtYXJrZXJz
IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBkaWN0YXRpb24gYWx0ZXJuYXRpdmUuIElmLCBmb3Igd2hh
dGV2ZXIgcmVhc29uLCB3ZSBmYWlsCisgICAgICAgIHRvIG1hcCBkaWN0YXRpb24gYWx0ZXJuYXRp
dmVzIHRvIGFuIGVkaXRhYmxlIERPTSByYW5nZSwgbWFrZSBzdXJlIHdlIGF1dG9tYXRpY2FsbHkg
dW5yZWdpc3RlciB0aGlzIHRleHQKKyAgICAgICAgYWx0ZXJuYXRpdmUgYXMgd2VsbC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBh
ZGRUZXh0QWx0ZXJuYXRpdmVzOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKToKKworICAgICAgICBHaXZlbiBhIHN0cmluZyB0byBtYXRjaCBhbmQgYSBk
aWN0YXRpb24gYWx0ZXJuYXRpdmUgaWRlbnRpZmllciBjb250ZXh0LCB0cnkgdG8gc2VhcmNoIGZv
ciB0aGUgbWF0Y2hpbmcgc3RyaW5nCisgICAgICAgIGJlZm9yZSAob3IgaW4pIHRoZSBzZWxlY3Rp
b247IGlmIGZvdW5kLCBpbnN0YWxsIHRoZSBkaWN0YXRpb24gYWx0ZXJuYXRpdmVzIGluIHRoZSBt
YXRjaCByYW5nZSwgYXMgYSBkb2N1bWVudAorICAgICAgICBtYXJrZXIuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIyLTAzLTA4ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBUZXh0UmVjb2duaXRpb25VdGls
aXRpZXMuKiB0byBJbWFnZUFuYWx5c2lzVXRpbGl0aWVzLioKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDhjOWZmMjM5YTE2NTI4Y2JhZGJlNTFmYjA4M2E0YzE2
MGI0YjQ4YjEuLmM5MTU4YWFmYmJhZTU5MGY3OGMwYWQ5OGRjNjk2ZjY0NmRlNmYxNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNzc0LDYgKzc3NCw3IEBA
IGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6RE9NUGFzdGVB
Y2Nlc3NDYXRlZ29yeSc6IFsnPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwKICAgICAgICAg
J1dlYkNvcmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2UnOiBbJzxXZWJDb3JlL0RPTVBhc3RlQWNj
ZXNzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UnOiBbJzxX
ZWJDb3JlL0NvbG9yU3BhY2UuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OkRpY3RhdGlvbkNvbnRl
eHQnOiBbJzxXZWJDb3JlL0RpY3RhdGlvbkNvbnRleHQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRlbnRpZmllcic6IFsnPFdlYkNvcmUvRGlzcGxheUxp
c3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50TWFya2VyTGluZVN0eWxlJzogWyc8
V2ViQ29yZS9HcmFwaGljc1R5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25GbGFncyc6IFsnPFdlYkNvcmUvRHJhZ0RhdGEuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggNTZhMTRkOGJm
MzZlZDQ0ZGFkYmYxZTRjNDg0MGE1ZTA2NDE0YjhlNy4uMjNjNzk2YzE1NThmODA1ZWQ4NjUwYmYx
YzliMDI5ZTMxZjQ2NTljNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTM3Myw2ICszNzMsMTkgQEAgdm9pZCBXZWJQYWdl
UHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
RWRpdGluZ1JhbmcKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnNlcnREaWN0YXRlZFRl
eHRBc3luYyB7IHRleHQsIHJlcGxhY2VtZW50UmFuZ2UsIGRpY3RhdGlvbkFsdGVybmF0aXZlcywg
V1RGTW92ZShvcHRpb25zKSB9KTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSYmIGFsdGVybmF0aXZlKQorewor
ICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0
byBuc0FsdGVybmF0aXZlcyA9IGFsdGVybmF0aXZlLmFsdGVybmF0aXZlcy5nZXQoKTsKKyAgICBh
dXRvIGNvbnRleHQgPSBwYWdlQ2xpZW50KCkuYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKG5zQWx0
ZXJuYXRpdmVzKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkFk
ZERpY3RhdGlvbkFsdGVybmF0aXZlIHsgbnNBbHRlcm5hdGl2ZXMucHJpbWFyeVN0cmluZywgY29u
dGV4dCB9LCBbY29udGV4dCwgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oYm9vbCBzdWNj
ZXNzKSB7CisgICAgICAgIGlmIChSZWZQdHIgcHJvdGVjdGVkVGhpcyA9IHdlYWtUaGlzLmdldCgp
OyBwcm90ZWN0ZWRUaGlzICYmICFzdWNjZXNzKQorICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+
cmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKGNvbnRleHQpOworICAgIH0pOworfQorCiAjaWYg
VVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAKIE5TVGV4dEFsdGVybmF0aXZlcyAqV2ViUGFn
ZVByb3h5OjpwbGF0Zm9ybURpY3RhdGlvbkFsdGVybmF0aXZlcyhXZWJDb3JlOjpEaWN0YXRpb25D
b250ZXh0IGRpY3RhdGlvbkNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDc4ZDU0ZDgxZGYxYjU4NzAwYjFiNDA1ZWFmNTdiOTBhMGVmY2NlOGIuLjhiYzY0
Y2MyYTRlOWRkZjYyZTk5MzdhODg5NWIyYWE4MzYxNzc2ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC05NzMsNiArOTczLDggQEAgcHVibGljOgogICAgIHZvaWQg
aW5zZXJ0VGV4dEFzeW5jKGNvbnN0IFN0cmluZyYsIGNvbnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFj
ZW1lbnRSYW5nZSwgSW5zZXJ0VGV4dE9wdGlvbnMmJik7CiAgICAgdm9pZCBpbnNlcnREaWN0YXRl
ZFRleHRBc3luYyhjb25zdCBTdHJpbmcmLCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlcGxhY2VtZW50
UmFuZ2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+Jiwg
SW5zZXJ0VGV4dE9wdGlvbnMmJik7CiAKKyAgICB2b2lkIGFkZERpY3RhdGlvbkFsdGVybmF0aXZl
KFdlYkNvcmU6OlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSYmKTsKKwogI2lmIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKQogICAgIE5TVGV4dEFsdGVybmF0aXZlcyAqcGxhdGZvcm1EaWN0YXRp
b25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDVkNGIxYTA3NmYyMGQzNWU0YzU2OTM0MGZkOTlmYjE0MzYzNTdmNWUuLjg4
NDkzOGZkODBmODdiMjFjYjY2YWY0MmVlMzgxODg1ZjAxMWQ5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtNTY1NCw2ICs1NjU0LDExIEBAIC0gKEJPT0wpaGFzVGV4dAogICAgIHJldHVybiAhZWRpdG9y
U3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEgJiYgZWRpdG9yU3RhdGUucG9zdExheW91dERh
dGEoKS5oYXNQbGFpblRleHQ7CiB9CiAKKy0gKHZvaWQpYWRkVGV4dEFsdGVybmF0aXZlczooTlNU
ZXh0QWx0ZXJuYXRpdmVzICopYWx0ZXJuYXRpdmVzCit7CisgICAgX3BhZ2UtPmFkZERpY3RhdGlv
bkFsdGVybmF0aXZlKHsgYWx0ZXJuYXRpdmVzLCBOU01ha2VSYW5nZSgwLCBhbHRlcm5hdGl2ZXMu
cHJpbWFyeVN0cmluZy5sZW5ndGgpIH0pOworfQorCiAvLyBlbmQgb2YgVUlUZXh0SW5wdXQgcHJv
dG9jb2wgaW1wbGVtZW50YXRpb24KIAogc3RhdGljIFVJVGV4dEF1dG9jYXBpdGFsaXphdGlvblR5
cGUgdG9VSVRleHRBdXRvY2FwaXRhbGl6ZShXZWJDb3JlOjpBdXRvY2FwaXRhbGl6ZVR5cGUgd2Vi
a2l0VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCA5ODJhYTYzYmZkNTI2NjY5NGQ2NjY5ODA1MWJlNjY0
YmY4NTMxNWYxLi41YzZiZWQwMWNmZGRhYmIyYjJkYTZjYmIwZWJmZTNmMzUwMGYyZjA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0ICJXZWJSZW1vdGVPYmplY3RSZWdp
c3RyeS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hTZXJ2aWNlc1NQSS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9EaWN0aW9uYXJ5TG9va3VwLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9FZGl0aW5nLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0VkaXRvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudEhhbmRsZXIuaD4K
QEAgLTI0Nyw2ICsyNDgsNDIgQEAgdm9pZCBXZWJQYWdlOjppbnNlcnREaWN0YXRlZFRleHRBc3lu
Yyhjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEVkaXRpbmdSYW5nZSYgcmUKICAgICB9CiB9CiAK
K3ZvaWQgV2ViUGFnZTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiB0ZXh0
LCBEaWN0YXRpb25Db250ZXh0IGNvbnRleHQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbikKK3sKKyAgICBSZWYgZnJhbWUgPSBDaGVja2VkUmVmKG1fcGFnZS0+Zm9j
dXNDb250cm9sbGVyKCkpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBSZWZQdHIgZG9jdW1l
bnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAgICAgIGNv
bXBsZXRpb24oZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBzZWxl
Y3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgUmVmUHRyIGVkaXRh
YmxlUm9vdCA9IHNlbGVjdGlvbi5yb290RWRpdGFibGVFbGVtZW50KCk7CisgICAgaWYgKCFlZGl0
YWJsZVJvb3QpIHsKKyAgICAgICAgY29tcGxldGlvbihmYWxzZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIGZpcnN0RWRpdGFibGVQb3NpdGlvbiA9IGZpcnN0UG9zaXRpb25J
bk5vZGUoZWRpdGFibGVSb290LmdldCgpKTsKKyAgICBhdXRvIHNlbGVjdGlvbkVuZCA9IHNlbGVj
dGlvbi5lbmQoKTsKKyAgICBhdXRvIHNlYXJjaFJhbmdlID0gbWFrZVNpbXBsZVJhbmdlKGZpcnN0
RWRpdGFibGVQb3NpdGlvbiwgc2VsZWN0aW9uRW5kKTsKKyAgICBpZiAoIXNlYXJjaFJhbmdlKSB7
CisgICAgICAgIGNvbXBsZXRpb24oZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYXV0byB0YXJnZXRPZmZzZXQgPSBjaGFyYWN0ZXJDb3VudCgqc2VhcmNoUmFuZ2UpOworICAg
IHRhcmdldE9mZnNldCAtPSBzdGQ6Om1pbjx1aW50NjRfdD4odGFyZ2V0T2Zmc2V0LCB0ZXh0Lmxl
bmd0aCgpKTsKKyAgICBhdXRvIG1hdGNoUmFuZ2UgPSBmaW5kQ2xvc2VzdFBsYWluVGV4dCgqc2Vh
cmNoUmFuZ2UsIHRleHQsIHsgQmFja3dhcmRzLCBEb05vdFJldmVhbFNlbGVjdGlvbiB9LCB0YXJn
ZXRPZmZzZXQpOworICAgIGlmIChtYXRjaFJhbmdlLmNvbGxhcHNlZCgpKSB7CisgICAgICAgIGNv
bXBsZXRpb24oZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZG9jdW1lbnQt
Pm1hcmtlcnMoKS5hZGRNYXJrZXIobWF0Y2hSYW5nZSwgRG9jdW1lbnRNYXJrZXI6OkRpY3RhdGlv
bkFsdGVybmF0aXZlcywgeyBEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uRGF0YSB7IGNvbnRleHQs
IHRleHQgfSB9KTsKKyAgICBjb21wbGV0aW9uKHRydWUpOworfQorCiB2b2lkIFdlYlBhZ2U6OmFj
Y2Vzc2liaWxpdHlUcmFuc2ZlclJlbW90ZVRva2VuKFJldGFpblB0cjxOU0RhdGE+IHJlbW90ZVRv
a2VuKQogewogICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhVG9rZW4gPSBJUEM6OkRhdGFSZWZl
cmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oW3JlbW90ZVRva2VuIGJ5dGVz
XSksIFtyZW1vdGVUb2tlbiBsZW5ndGhdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCBhNWViYWVjNDViYTAyNGFkNGJmMmYyYjllNjFlMmM0ZDVhY2Vk
ZDk3Li5hODI2ZjI4ZjhjYWZkNDNjYjA1YzcyMWVhN2FiMWM1ODIxNjIxNzUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05NjksNyArOTY5LDggQEAg
cHVibGljOgogICAgIGJvb2wgcGVyZm9ybU5vbkVkaXRpbmdCZWhhdmlvckZvclNlbGVjdG9yKGNv
bnN0IFN0cmluZyYsIFdlYkNvcmU6OktleWJvYXJkRXZlbnQqKTsKIAogICAgIHZvaWQgaW5zZXJ0
RGljdGF0ZWRUZXh0QXN5bmMoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBFZGl0aW5nUmFuZ2Um
IHJlcGxhY2VtZW50UmFuZ2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZT4mIGRpY3RhdGlvbkFsdGVybmF0aXZlTG9jYXRpb25zLCBJbnNlcnRUZXh0T3B0aW9ucyYm
KTsKLSNlbmRpZgorICAgIHZvaWQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5n
JiB0ZXh0LCBXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmKTsKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIAogI2lmIFBMQVRGT1JNKE1B
QykKICAgICB2b2lkIGF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUFzeW5jKGNv
bnN0IEVkaXRpbmdSYW5nZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6
QXR0cmlidXRlZFN0cmluZyYsIGNvbnN0IEVkaXRpbmdSYW5nZSYpPiYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDZmNTI2ZTQ5OTU4YzI2YmU4ZDcxMjI3MDBmOGI1MzVhYzA4NDYzMDAuLjlkZTRhZmM2Mzk0YTc0
YzBhOWQ4ZDNiZWIyZGMyNDk4MjkzMTcwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDc4LDYgKzQ3OCw3IEBA
IEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3lu
dGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAKICAgICBJbnNlcnRUZXh0QXN5bmMoU3RyaW5nIHRl
eHQsIHN0cnVjdCBXZWJLaXQ6OkVkaXRpbmdSYW5nZSByZXBsYWNlbWVudFJhbmdlLCBzdHJ1Y3Qg
V2ViS2l0OjpJbnNlcnRUZXh0T3B0aW9ucyBvcHRpb25zKQogICAgIEluc2VydERpY3RhdGVkVGV4
dEFzeW5jKFN0cmluZyB0ZXh0LCBzdHJ1Y3QgV2ViS2l0OjpFZGl0aW5nUmFuZ2UgcmVwbGFjZW1l
bnRSYW5nZSwgVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25B
bHRlcm5hdGl2ZXMsIHN0cnVjdCBXZWJLaXQ6Okluc2VydFRleHRPcHRpb25zIG9wdGlvbnMpCisg
ICAgQWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoU3RyaW5nIHRleHQsIFdlYkNvcmU6OkRpY3RhdGlv
bkNvbnRleHQgY29udGV4dCkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKIAogICAgIEhhc01hcmtl
ZFRleHQoKSAtPiAoYm9vbCBoYXNNYXJrZWRUZXh0KSBBc3luYwogICAgIEdldE1hcmtlZFJhbmdl
QXN5bmMoKSAtPiAoc3RydWN0IFdlYktpdDo6RWRpdGluZ1JhbmdlIHJhbmdlKSBBc3luYwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDIwYmY4NmM3
MGI4MTE1YTY3ZDM3MDk5MDA2M2Y0ZTkzMGM0Nzk5NGMuLjBiZmU4OTRmZDZlZTYxNzRmNzNlODAz
OWU1MjFhYzQ1ZWE1ZDJkOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0wMy0wOSAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBmb3Ig
LVtVSVRleHRJbnB1dCBhZGRUZXh0QWx0ZXJuYXRpdmVzOl0gb24gV0tDb250ZW50VmlldworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NjkxCisgICAg
ICAgIHJkYXI6Ly84OTY0NzAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBzZXZlcmFsIGJhc2ljIEFQSSB0ZXN0cyB0byBleGVyY2lzZSB0aGUg
bmV3IEFQSTsgaW4gcGFydGljdWxhciwgZXhlcmNpc2UgYm90aCBjYXNlcyB3aGVyZSB0aGUgdGV4
dAorICAgICAgICBhbHRlcm5hdGl2ZSdzIHByaW1hcnkgdGV4dCBtYXRjaGVzIGJlZm9yZSB0aGUg
c2VsZWN0aW9uLCB3aGVyZSBpdCBkb2VzIG5vdCBtYXRjaCwgYW5kIHdoZXJlIGl0IG1hdGNoZXMg
aW5zaWRlCisgICAgICAgIHRoZSBzZWxlY3Rpb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tOiBBZGRlZC4KKyAgICAgICAg
KC1bVGVzdFdLV2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDpdKToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OmNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0
aXZlcyk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL2lvcy9VSUtpdFNQSS5oOgorCiAyMDIyLTAzLTA3ICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0YnVnc3B5XSBBbGxvdyBjcmVhdGlv
biBvZiBuZXcgaXNzdWVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMwMTg5OTI3ZGRlODU2
NmZiMzNiMGJiZjlkZmVhNDQ4NjNhZDc2MDAuLjNiMmE5ZWZjZGM0YzViZWViYmY3ZTVhYTE1OTgz
MWZiMTUxNjVkMDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg5LDYgKzEwODksNyBA
QAogCQlGNDZDNDVDNDI3RDQyQTJGMDBFQ0VEMkMgLyogQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ2QzQ1
QzMyN0Q0MkEyRjAwRUNFRDJDIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2luZy5tbSAqLzsgfTsK
IAkJRjQ2RDQzQUIyNkQ3MDkyODAwOTY5RTVFIC8qIHRlc3QuanBnIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NkQ0M0FBMjZENzA5MDMwMDk2
OUU1RSAvKiB0ZXN0LmpwZyAqLzsgfTsKIAkJRjQ3Mjg3NDcyNzgxNkJDRTAwM0VCRTdGIC8qIE5T
UmVzcG9uZGVyVGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNDNDMzgyMzI3ODEzMzE5MDA5OUFCQ0UgLyogTlNSZXNwb25kZXJUZXN0cy5tbSAq
LzsgfTsKKwkJRjQ3MkUwMDMyN0Q5NjZGMjAwRjNBMTcyIC8qIFRleHRBbHRlcm5hdGl2ZXMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDcyRTAwMjI3
RDk2NkYyMDBGM0ExNzIgLyogVGV4dEFsdGVybmF0aXZlcy5tbSAqLzsgfTsKIAkJRjQ3NzI4OTkx
RTRBRTNDMTAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1jb250ZW50ZWRpdGFibGUuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDc3Mjg5ODFF
NEFFM0FEMDA3QUJGNkEgLyogZnVsbC1wYWdlLWNvbnRlbnRlZGl0YWJsZS5odG1sICovOyB9Owog
CQlGNDdERkIyNjIxQTg3OERGMDAwMjFGQjYgLyogZGF0YS1kZXRlY3RvcnMuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDdERkIyNDIx
QTg3MDRBMDAwMjFGQjYgLyogZGF0YS1kZXRlY3RvcnMuaHRtbCAqLzsgfTsKIAkJRjQ4MUMwMjgy
Nzc5NDVCODAwRTQ3MENGIC8qIG1vZGFsLWNvbnRhaW5lci13aXRoLW92ZXJsYXkuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDgxQzAy
NzI3Nzk0NTk3MDBFNDcwQ0YgLyogbW9kYWwtY29udGFpbmVyLXdpdGgtb3ZlcmxheS5odG1sICov
OyB9OwpAQCAtMzEwNiw2ICszMTA3LDcgQEAKIAkJRjQ2QkQ1NjgyNDg3MDYyRDAwODI4MkQ2IC8q
IGRyYWdzdGFydC1kYXRhLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZHJhZ3N0
YXJ0LWRhdGEuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NkM0NUMzMjdE
NDJBMkYwMEVDRUQyQyAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmcubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0NkQ0M0FBMjZENzA5MDMwMDk2OUU1RSAvKiB0ZXN0LmpwZyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLmpwZWc7IHBh
dGggPSB0ZXN0LmpwZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ3MkUwMDIyN0Q5
NjZGMjAwRjNBMTcyIC8qIFRleHRBbHRlcm5hdGl2ZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBUZXh0QWx0ZXJuYXRpdmVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDc3
Mjg5ODFFNEFFM0FEMDA3QUJGNkEgLyogZnVsbC1wYWdlLWNvbnRlbnRlZGl0YWJsZS5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImZ1bGwtcGFnZS1jb250ZW50ZWRpdGFibGUuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0N0QzMEVCMUVEMjg2MTkwMDA0ODJF
MSAvKiBhcHBsZS5naWYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBpbWFnZS5naWY7IHBhdGggPSBhcHBsZS5naWY7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY0N0QzMEVEMUVEMjhBNkMwMDA0ODJFMSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zOTgwLDYgKzM5ODIsNyBAQAogCQkJCTQ0MzNBMzk1MjA4MDQ0MTMw
MDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLywKIAkJCQlGNDVFMTU3NDIx
MTJDRTYyMDAzMDdFODIgLyogVGVzdElucHV0RGVsZWdhdGUuaCAqLywKIAkJCQlGNDVFMTU3NTIx
MTJDRTYyMDAzMDdFODIgLyogVGVzdElucHV0RGVsZWdhdGUubW0gKi8sCisJCQkJRjQ3MkUwMDIy
N0Q5NjZGMjAwRjNBMTcyIC8qIFRleHRBbHRlcm5hdGl2ZXMubW0gKi8sCiAJCQkJRjQ1MDMzRjQy
MDZCRUM5NTAwOTM1MUNFIC8qIFRleHRBdXRvc2l6aW5nQm9vc3QubW0gKi8sCiAJCQkJRjQ5NEIz
NjkyNjMxMjA3ODAwNjBBMzEwIC8qIFRleHRTZXJ2aWNlc1Rlc3RzLm1tICovLAogCQkJCTFDMjRE
RUVDMjYzMDAxREUwMDQ1MEQwNyAvKiBUZXh0U3R5bGVGb250U2l6ZS5tbSAqLywKQEAgLTU4Mjks
NiArNTgzMiw3IEBACiAJCQkJN0I3NzQ5MDYyNjdDQ0U3MjAwOTg3M0I0IC8qIFRlc3RSdW5uZXJU
ZXN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNEQ1QzU1ODI3QzZGRjQ4MDBFRDFDMjMgLyog
VGVzdFVJTWVudUJ1aWxkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDUxN0I2NzIwNTRDNDk1
MDBDMjY3MjEgLyogVGVzdFdLV2ViVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJ
CQlGNDcyRTAwMzI3RDk2NkYyMDBGM0ExNzIgLyogVGV4dEFsdGVybmF0aXZlcy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUY0NTAzM0Y1MjA2QkVDOTUwMDkzNTFDRSAvKiBUZXh0QXV0b3NpemluZ0Jv
b3N0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNFNjE5M0IxRjkzMUIzQTAwQUYyNDVFIC8qIFRl
eHRDb2RlYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRTM1MjRGOTFCMTQ0MUM0MDAyOEE3QzUg
LyogVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4dEFsdGVybmF0aXZlcy5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1RleHRBbHRlcm5hdGl2ZXMubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGYzNTAxYWE0OWU0ZTZkMzVjY2UxNjI0N2I5NDUwNWQxNjk4NDJjMQotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1RleHRBbHRlcm5hdGl2
ZXMubW0KQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIK
KyNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uRXh0
cmFzLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorCitAaW50ZXJmYWNl
IFRlc3RXS1dlYlZpZXcgKFRleHRBbHRlcm5hdGl2ZXMpCistIChOU1VJbnRlZ2VyKWRpY3RhdGlv
bkFsdGVybmF0aXZlc01hcmtlckNvdW50OihOU1N0cmluZyAqKWV2YWx1YXRlTm9kZUV4cHJlc3Np
b247CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBUZXN0V0tXZWJWaWV3IChUZXh0QWx0ZXJuYXRp
dmVzKQorCistIChOU1VJbnRlZ2VyKWRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtlckNvdW50OihO
U1N0cmluZyAqKWV2YWx1YXRlTm9kZUV4cHJlc3Npb24KK3sKKyAgICBOU1N0cmluZyAqc2NyaXB0
VG9FdmFsdWF0ZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiaW50ZXJuYWxzLm1hcmtl
ckNvdW50Rm9yTm9kZSgoKCkgPT4gJUApKCksICdkaWN0YXRpb25hbHRlcm5hdGl2ZXMnKSIsIGV2
YWx1YXRlTm9kZUV4cHJlc3Npb25dOworICAgIE5TTnVtYmVyICpyZXN1bHQgPSBbc2VsZiBvYmpl
Y3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OnNjcmlwdFRvRXZhbHVhdGVdOworICAgIHJldHVybiBy
ZXN1bHQudW5zaWduZWRJbnRlZ2VyVmFsdWU7Cit9CisKK0BlbmQKKworbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgeworCitzdGF0aWMgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IGNyZWF0ZVdlYlZp
ZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0aXZlcygpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9u
ID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1
Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpT
Q0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTY4KSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBbd2ViVmlldyBfc2V0RWRpdGFibGU6WUVT
XTsKKyAgICByZXR1cm4gd2ViVmlldzsKK30KKworVEVTVChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRU
ZXh0QWx0ZXJuYXRpdmVzV2l0aE1hdGNoKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdl
YlZpZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0aXZlcygpOworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzpAIjxib2R5PmhlbGxvIHdvcmxkJm5ic3A7PC9ib2R5PiJdOwor
ICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJnZXRTZWxlY3Rpb24o
KS5zZXRQb3NpdGlvbihkb2N1bWVudC5ib2R5LCAxKSJdOworCisgICAgYXV0byBhbHRlcm5hdGl2
ZXMgPSBhZG9wdE5TKFtbTlNUZXh0QWx0ZXJuYXRpdmVzIGFsbG9jXSBpbml0V2l0aFByaW1hcnlT
dHJpbmc6QCJoZWxsbyB3b3JsZCIgYWx0ZXJuYXRpdmVTdHJpbmdzOkBbIEAi8J+Ri/CfjI4iIF1d
KTsKKyAgICBbW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFkZFRleHRBbHRlcm5hdGl2
ZXM6YWx0ZXJuYXRpdmVzLmdldCgpXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRh
dGlvblVwZGF0ZV07CisKKyAgICBFWFBFQ1RfRVEoMVUsIFt3ZWJWaWV3IGRpY3RhdGlvbkFsdGVy
bmF0aXZlc01hcmtlckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdIl0pOworfQor
CitURVNUKFRleHRBbHRlcm5hdGl2ZXMsIEFkZFRleHRBbHRlcm5hdGl2ZXNXaXRoU2VsZWN0ZWRN
YXRjaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3Rm9yVGVzdGluZ1RleHRB
bHRlcm5hdGl2ZXMoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6
QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKKyAgICBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZG9jdW1lbnQuYm9keSkiXTsKKworICAgIGF1dG8gYWx0ZXJuYXRpdmVzID0gYWRvcHROUyhbW05T
VGV4dEFsdGVybmF0aXZlcyBhbGxvY10gaW5pdFdpdGhQcmltYXJ5U3RyaW5nOkAiaGVsbG8gd29y
bGQiIGFsdGVybmF0aXZlU3RyaW5nczpAWyBAIvCfkYvwn4yOIiBdXSk7CisgICAgW1t3ZWJWaWV3
IHRleHRJbnB1dENvbnRlbnRWaWV3XSBhZGRUZXh0QWx0ZXJuYXRpdmVzOmFsdGVybmF0aXZlcy5n
ZXQoKV07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworCisg
ICAgRVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3Vu
dDpAImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKK30KKworVEVTVChUZXh0QWx0ZXJu
YXRpdmVzLCBBZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aG91dE1hdGNoKQoreworICAgIGF1dG8gd2Vi
VmlldyA9IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0aXZlcygpOworICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxib2R5PmhlbGxvIHdvcmxkJm5i
c3A7PC9ib2R5PiJdOworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6
QCJnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihkb2N1bWVudC5ib2R5LCAxKSJdOworCisgICAg
YXV0byBhbHRlcm5hdGl2ZXMgPSBhZG9wdE5TKFtbTlNUZXh0QWx0ZXJuYXRpdmVzIGFsbG9jXSBp
bml0V2l0aFByaW1hcnlTdHJpbmc6QCJnb29kYnllIHdvcmxkIiBhbHRlcm5hdGl2ZVN0cmluZ3M6
QFsgQCLwn5GL8J+MjiIgXV0pOworICAgIFtbd2ViVmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10g
YWRkVGV4dEFsdGVybmF0aXZlczphbHRlcm5hdGl2ZXMuZ2V0KCldOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAgIEVYUEVDVF9FUSgwVSwgW3dlYlZp
ZXcgZGljdGF0aW9uQWx0ZXJuYXRpdmVzTWFya2VyQ291bnQ6QCJkb2N1bWVudC5ib2R5LmNoaWxk
Tm9kZXNbMF0iXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2lvcy9VSUtpdFNQSS5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAppbmRl
eCA0YjlkYzY1ZmZhMzlmZDhmY2I0ZDliYWI2NzYzNWJiMjE0NmUzNzIzLi40NzE0NjU4MDNhMTgx
YjJhNzA2MDBiNjViMjAxNzBjNjk2ODllYzVhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2lvcy9VSUtpdFNQSS5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJ
LmgKQEAgLTY3LDYgKzY3LDcgQEAgSUdOT1JFX1dBUk5JTkdTX0VORAogI2Vsc2UgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKIAogQGludGVyZmFjZSBOU1RleHRBbHRlcm5hdGl2ZXMgOiBOU09i
amVjdAorLSAoaWQpaW5pdFdpdGhQcmltYXJ5U3RyaW5nOihOU1N0cmluZyAqKXByaW1hcnlTdHJp
bmcgYWx0ZXJuYXRpdmVTdHJpbmdzOihOU0FycmF5PE5TU3RyaW5nICo+ICopYWx0ZXJuYXRpdmVT
dHJpbmdzOwogQHByb3BlcnR5IChyZWFkb25seSkgTlNTdHJpbmcgKnByaW1hcnlTdHJpbmc7CiBA
cHJvcGVydHkgKHJlYWRvbmx5KSBOU0FycmF5PE5TU3RyaW5nICo+ICphbHRlcm5hdGl2ZVN0cmlu
Z3M7CiBAcHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIGlzTG93Q29uZmlkZW5jZTsKQEAgLTMyMCw2
ICszMjEsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1VJQ2xpY2tJbnRlcmFjdGlv
bkV2ZW50KSB7CiAKIEBwcm90b2NvbCBVSVRleHRJbnB1dEludGVybmFsCiAtIChDR1JlY3QpX3Nl
bGVjdGlvbkNsaXBSZWN0OworQG9wdGlvbmFsCistICh2b2lkKWFkZFRleHRBbHRlcm5hdGl2ZXM6
KE5TVGV4dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlczsKIEBlbmQKIAogQGludGVyZmFjZSBV
SVJlc3BvbmRlciAoSW50ZXJuYWwpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>