<?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>214140</bug_id>
          
          <creation_ts>2020-07-09 08:39:04 -0700</creation_ts>
          <short_desc>[MSE][GStreamer] Inline MediaSourceClientGStreamerMSE away</short_desc>
          <delta_ts>2020-07-10 01:01:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Alicia Boya García">aboya</assigned_to>
          <cc>annulen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670112</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-07-09 08:39:04 -0700</bug_when>
    <thetext>MediaSourceClientGStreamerMSE is a superfluous class that adds
a layer of indirection and complexity to the GStreamer MSE codebase
for no gain. This patch gets rid of it.

This also gets rid of the friend access layer violations that
MediaSourceClientGStreamerMSE relied upon.

This patch is a refactor that doesn&apos;t introduce behavior changes and
it&apos;s covered by existing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670134</commentid>
    <comment_count>1</comment_count>
      <attachid>403874</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-07-09 09:28:07 -0700</bug_when>
    <thetext>Created attachment 403874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670385</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-10 01:01:11 -0700</bug_when>
    <thetext>Committed r264211: &lt;https://trac.webkit.org/changeset/264211&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403874.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403874</attachid>
            <date>2020-07-09 09:28:07 -0700</date>
            <delta_ts>2020-07-10 01:01:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214140-20200709182806.patch</filename>
            <type>text/plain</type>
            <size>30461</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjZmY1ZjllOGMwNzVk
ZmQzNTlhMTA3NWM3ZDU5OTVkZWMzYzRiMy4uN2U1NjIzNDZjZWIzNDQ4NTc1MmM0NGVjZDQ1ODZk
MzRiMzkwMjcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTA5ICBBbGlj
aWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIElubGluZSBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRSBhd2F5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQxNDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZWRpYVNvdXJjZUNsaWVu
dEdTdHJlYW1lck1TRSBpcyBhIHN1cGVyZmx1b3VzIGNsYXNzIHRoYXQgYWRkcworICAgICAgICBh
IGxheWVyIG9mIGluZGlyZWN0aW9uIGFuZCBjb21wbGV4aXR5IHRvIHRoZSBHU3RyZWFtZXIgTVNF
IGNvZGViYXNlCisgICAgICAgIGZvciBubyBnYWluLiBUaGlzIHBhdGNoIGdldHMgcmlkIG9mIGl0
LgorCisgICAgICAgIFRoaXMgYWxzbyBnZXRzIHJpZCBvZiB0aGUgZnJpZW5kIGFjY2VzcyBsYXll
ciB2aW9sYXRpb25zIHRoYXQKKyAgICAgICAgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0Ug
cmVsaWVkIHVwb24uCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHJlZmFjdG9yIHRoYXQgZG9l
c24ndCBpbnRyb2R1Y2UgYmVoYXZpb3IgY2hhbmdlcyBhbmQKKyAgICAgICAgaXQncyBjb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtl
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxp
bmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5l
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVs
aW5lLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpkdXJhdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpzZXRNZWRpYVNvdXJjZUNsaWVudCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0U6Om1lZGlhU291cmNlQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwbGF5YmFja1Bp
cGVsaW5lIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVy
TVNFLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjphZGRTb3VyY2VC
dWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpk
dXJhdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlR1N0
cmVhbWVyOjptYXJrRW5kT2ZTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpT
b3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpyZXNldFBhcnNlclN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OnJlbW92ZWRGcm9tTWVk
aWFTb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1l
cjo6Zmx1c2gpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1l
cjo6ZW5xdWV1ZVNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRl
R1N0cmVhbWVyOjphbGxTYW1wbGVzSW5UcmFja0VucXVldWVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuaDoK
KwogMjAyMC0wNy0wOCAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW01TRV1bR1N0cmVhbWVyXSBSZW1vdmUgbV9hcHBlbmRQaXBlbGluZXNNYXAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQppbmRleCA3OTU0N2NiYWYwZDViNWMw
MGQzNWViMTQ1YTkxNDA4YzlkNTNkMTQ5Li4zNjlkMjhkYTdiYTBkYzY5ZGQwMmNkMzE4MGRmYTJi
MzhiOGM3YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlCkBAIC0z
Miw3ICszMiw2IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9HU3RyZWFtZXJNZWRpYURlc2NyaXB0
aW9uLmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0dTdHJlYW1l
clJlZ2lzdHJ5U2Nhbm5lck1TRS5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCi0gICAgICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0Uu
Y3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQ
cml2YXRlR1N0cmVhbWVyLmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxp
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9B
cHBlbmRQaXBlbGluZS5jcHAKaW5kZXggMDRiMDA2NGZlNWYyODI2ZmNkMDdhZWFhNGZkMTVmZTY0
YTFkZjYyNi4uNGE0MzY5NjJlN2ZiNTk0YWRmYTU2YjI1NGM2MTgwZTcyN2JmNTc2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBl
bmRQaXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKQEAgLTk5LDkgKzk5LDggQEAgc3RhdGljIHZv
aWQgYXNzZXJ0ZWRFbGVtZW50U2V0U3RhdGUoR3N0RWxlbWVudCogZWxlbWVudCwgR3N0U3RhdGUg
ZGVzaXJlZFN0YXRlKQogICAgIH0KIH0KIAotQXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5l
KFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRT4gbWVkaWFTb3VyY2VDbGllbnQsIFJl
ZjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlLCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmIHBsYXllclByaXZhdGUpCi0gICAgOiBtX21lZGlh
U291cmNlQ2xpZW50KG1lZGlhU291cmNlQ2xpZW50LmdldCgpKQotICAgICwgbV9zb3VyY2VCdWZm
ZXJQcml2YXRlKHNvdXJjZUJ1ZmZlclByaXZhdGUuZ2V0KCkpCitBcHBlbmRQaXBlbGluZTo6QXBw
ZW5kUGlwZWxpbmUoUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+IHNvdXJjZUJ1ZmZl
clByaXZhdGUsIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYgcGxheWVyUHJpdmF0ZSkK
KyAgICA6IG1fc291cmNlQnVmZmVyUHJpdmF0ZShzb3VyY2VCdWZmZXJQcml2YXRlLmdldCgpKQog
ICAgICwgbV9wbGF5ZXJQcml2YXRlKCZwbGF5ZXJQcml2YXRlKQogICAgICwgbV9pZCgwKQogICAg
ICwgbV93YXNCdXNBbHJlYWR5Tm90aWZpZWRPZkF2YWlsYWJsZVNhbXBsZXMoZmFsc2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmgKaW5kZXggMjc5ODk2OGU2MjNhODZlNWNhODVlY2U4OWI4
OGZiMTQ3MDdiYmJlMy4uNTRhODYwMDJkNWZkZTM3ZmU3MmZkYTQyZGFhODI3MDg5ZDBhZGRmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9BcHBlbmRQaXBlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1
ZGUgIkFib3J0YWJsZVRhc2tRdWV1ZS5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgog
I2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIgotI2luY2x1ZGUgIk1l
ZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJp
dmF0ZUdTdHJlYW1lci5oIgogCiAjaW5jbHVkZSA8YXRvbWljPgpAQCAtNDcsNyArNDYsNyBAQCBz
dHJ1Y3QgUGFkUHJvYmVJbmZvcm1hdGlvbiB7CiBjbGFzcyBBcHBlbmRQaXBlbGluZSB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQXBwZW5kUGlwZWxpbmUoUmVm
PE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiwgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXI+LCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmKTsKKyAgICBBcHBlbmRQ
aXBlbGluZShSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4sIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lck1TRSYpOwogICAgIHZpcnR1YWwgfkFwcGVuZFBpcGVsaW5lKCk7CiAKICAg
ICB2b2lkIHB1c2hOZXdCdWZmZXIoR1JlZlB0cjxHc3RCdWZmZXI+JiYpOwpAQCAtMTA3LDcgKzEw
Niw2IEBAIHByaXZhdGU6CiAgICAgLy8gVXNlZCBvbmx5IGZvciBhc3NlcnRpbmcgRU9TIGV2ZW50
cyBhcmUgb25seSBjYXVzZWQgYnkgZGVtdXhpbmcgZXJyb3JzLgogICAgIGJvb2wgbV9lcnJvclJl
Y2VpdmVkIHsgZmFsc2UgfTsKIAotICAgIFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1T
RT4gbV9tZWRpYVNvdXJjZUNsaWVudDsKICAgICBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lcj4gbV9zb3VyY2VCdWZmZXJQcml2YXRlOwogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lck1TRSogbV9wbGF5ZXJQcml2YXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggMzk5ZWI3ZDMyZTczNTQ4
OTA0MzgwMmRlNTk3Njk5YjVlMDVkYjAxYy4uYjIwNTdhMjA3ZTdmZTY3YWE2ZDM0MjFmZWMwOGIz
OTFkNDU5NzY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtNjQ5LDE2ICs2NDksNiBAQCBib29sIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6aXNUaW1lQnVmZmVyZWQoY29uc3QgTWVkaWFUaW1lICZ0
aW1lKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFOjpzZXRNZWRpYVNvdXJjZUNsaWVudChSZWY8TWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0U+IGNsaWVudCkKLXsKLSAgICBtX21lZGlhU291cmNlQ2xpZW50ID0gY2xp
ZW50LnB0cigpOwotfQotCi1SZWZQdHI8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6bWVkaWFTb3VyY2VDbGllbnQoKQotewotICAg
IHJldHVybiBtX21lZGlhU291cmNlQ2xpZW50OwotfQotCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRTo6YmxvY2tEdXJhdGlvbkNoYW5nZXMoKQogewogICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CkBAIC02ODEsMTMgKzY3MSw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFOjp1bmJsb2NrRHVyYXRpb25DaGFuZ2VzKCkKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFOjpkdXJhdGlvbkNoYW5nZWQoKQogewogICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7Ci0gICAgaWYgKCFtX21lZGlhU291cmNlQ2xpZW50KSB7Ci0gICAgICAgIEdT
VF9ERUJVRygibV9tZWRpYVNvdXJjZUNsaWVudCBpcyBudWxsLCBkb2luZyBub3RoaW5nIik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBNZWRpYVRpbWUgcHJldmlvdXNEdXJhdGlvbiA9
IG1fbWVkaWFUaW1lRHVyYXRpb247Ci0gICAgbV9tZWRpYVRpbWVEdXJhdGlvbiA9IG1fbWVkaWFT
b3VyY2VDbGllbnQtPmR1cmF0aW9uKCk7CisgICAgbV9tZWRpYVRpbWVEdXJhdGlvbiA9IG1fbWVk
aWFTb3VyY2UtPmR1cmF0aW9uKCk7CiAKICAgICBHU1RfVFJBQ0UoInByZXZpb3VzPSVzLCBuZXc9
JXMiLCB0b1N0cmluZyhwcmV2aW91c0R1cmF0aW9uKS51dGY4KCkuZGF0YSgpLCB0b1N0cmluZyht
X21lZGlhVGltZUR1cmF0aW9uKS51dGY4KCkuZGF0YSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggNDJhZTEwOWZm
NjcwMGE2YzM3ZjQ2MWRlZjk4YmVjNGUzNjBjYzQwMi4uN2U0ODFlNjU3NDg5ZTI3MWI0NGYxM2Zj
MzViNDQ5NGM2YzU2NmRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC0zNCwxNSArMzQsMTIgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTsKIGNsYXNz
IEFwcGVuZFBpcGVsaW5lOwogY2xhc3MgUGxheWJhY2tQaXBlbGluZTsKIAogY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyTVNFKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKLSAgICBmcmllbmQgY2xhc3MgTWVk
aWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U7Ci0KIHB1YmxpYzoKICAgICBleHBsaWNpdCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UoTWVkaWFQbGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UoKTsKQEAgLTgzLDYgKzgwLDggQEAgcHVibGlj
OgogICAgIHZvaWQgYmxvY2tEdXJhdGlvbkNoYW5nZXMoKTsKICAgICB2b2lkIHVuYmxvY2tEdXJh
dGlvbkNoYW5nZXMoKTsKIAorICAgIFBsYXliYWNrUGlwZWxpbmUqIHBsYXliYWNrUGlwZWxpbmUo
KSBjb25zdCB7IHJldHVybiBtX3BsYXliYWNrUGlwZWxpbmUuZ2V0KCk7IH0KKwogI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAogICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBXZWJDb3JlOjpMb2dNZWRpYVNvdXJjZTsgfQogI2VuZGlmCkBAIC0xMDUs
MTQgKzEwNCwxMCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc01lZGlhU291cmNlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgdm9pZCBzZXRNZWRpYVNvdXJjZUNsaWVu
dChSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+KTsKLSAgICBSZWZQdHI8TWVkaWFT
b3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpZW50KCk7Ci0KICAgICBib29s
IG1fZW9zTWFya2VkID0gZmFsc2U7CiAgICAgbXV0YWJsZSBib29sIG1fZW9zUGVuZGluZyA9IGZh
bHNlOwogICAgIGJvb2wgbV9nc3RTZWVrQ29tcGxldGVkID0gdHJ1ZTsKICAgICBSZWZQdHI8TWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50PiBtX21lZGlhU291cmNlOwotICAgIFJlZlB0cjxNZWRpYVNv
dXJjZUNsaWVudEdTdHJlYW1lck1TRT4gbV9tZWRpYVNvdXJjZUNsaWVudDsKICAgICBNZWRpYVRp
bWUgbV9tZWRpYVRpbWVEdXJhdGlvbjsKICAgICBib29sIG1fbXNlU2Vla0NvbXBsZXRlZCA9IHRy
dWU7CiAgICAgYm9vbCBtX2FyZUR1cmF0aW9uQ2hhbmdlc0Jsb2NrZWQgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRS5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiMzEzNTNhOGZkMjg5ZTE5ODgyZmE5OGQz
MDczODE5NjUxOGY3YTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRp
YVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNzUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgot
ICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFpbnQgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0UuaCIKLQotI2luY2x1ZGUgIkFwcGVu
ZFBpcGVsaW5lLmgiCi0jaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgi
Ci0jaW5jbHVkZSAiUGxheWJhY2tQaXBlbGluZS5oIgotI2luY2x1ZGUgIldlYktpdE1lZGlhU291
cmNlR1N0cmVhbWVyLmgiCi0jaW5jbHVkZSA8Z3N0L2dzdC5oPgotCi1HU1RfREVCVUdfQ0FURUdP
UllfRVhURVJOKHdlYmtpdF9tc2VfZGVidWcpOwotI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Vi
a2l0X21zZV9kZWJ1ZwotCi0jaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoR1NUUkVBTUVSKSAmJiBF
TkFCTEUoTUVESUFfU09VUkNFKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxNZWRpYVNv
dXJjZUNsaWVudEdTdHJlYW1lck1TRT4gTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OmNy
ZWF0ZShNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmIHBsYXllclByaXZhdGUpCi17Ci0g
ICAgQVNTRVJUKFdURjo6aXNNYWluVGhyZWFkKCkpOwotCi0gICAgLy8gTm8gcmV0dXJuIGFkb3B0
UmVmKG5ldyBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRShwbGF5ZXJQcml2YXRlKSkgYmVj
YXVzZSB0aGUgb3duZXJzaGlwIGhhcyBhbHJlYWR5IGJlZW4gdHJhbnNmZXJyZWQgdG8gTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLgotICAgIFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJl
YW1lck1TRT4gY2xpZW50KGFkb3B0UmVmKCpuZXcgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJN
U0UocGxheWVyUHJpdmF0ZSkpKTsKLSAgICBwbGF5ZXJQcml2YXRlLnNldE1lZGlhU291cmNlQ2xp
ZW50KGNsaWVudC5nZXQoKSk7Ci0gICAgcmV0dXJuIGNsaWVudDsKLX0KLQotTWVkaWFTb3VyY2VD
bGllbnRHU3RyZWFtZXJNU0U6Ok1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFKE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYgcGxheWVyUHJpdmF0ZSkKLSAgICA6IG1fcGxheWVyUHJp
dmF0ZShwbGF5ZXJQcml2YXRlKQotewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgpKTsK
LX0KLQotTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6On5NZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRSgpCi17Ci0gICAgQVNTRVJUKFdURjo6aXNNYWluVGhyZWFkKCkpOwotfQotCi1N
ZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1T
RTo6YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBz
b3VyY2VCdWZmZXJQcml2YXRlLCBjb25zdCBDb250ZW50VHlwZSYpCi17Ci0gICAgQVNTRVJUKFdU
Rjo6aXNNYWluVGhyZWFkKCkpOwotCi0gICAgQVNTRVJUKG1fcGxheWVyUHJpdmF0ZS5tX3BsYXli
YWNrUGlwZWxpbmUpOwotICAgIEFTU0VSVChzb3VyY2VCdWZmZXJQcml2YXRlKTsKLQotICAgIHJl
dHVybiBtX3BsYXllclByaXZhdGUubV9wbGF5YmFja1BpcGVsaW5lLT5hZGRTb3VyY2VCdWZmZXIo
c291cmNlQnVmZmVyUHJpdmF0ZSk7Ci19Ci0KLU1lZGlhVGltZSBNZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRTo6ZHVyYXRpb24oKQotewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgp
KTsKLQotICAgIHJldHVybiBtX3BsYXllclByaXZhdGUubWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KCktPmR1cmF0aW9uKCk7Ci19Ci0KLXZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6
OmR1cmF0aW9uQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUmIGR1cmF0aW9uKQotewotICAgIEFTU0VS
VChXVEY6OmlzTWFpblRocmVhZCgpKTsKLQotICAgIEdTVF9UUkFDRSgiZHVyYXRpb246ICVmIiwg
ZHVyYXRpb24udG9GbG9hdCgpKTsKLSAgICBpZiAoIWR1cmF0aW9uLmlzVmFsaWQoKSB8fCBkdXJh
dGlvbi5pc1Bvc2l0aXZlSW5maW5pdGUoKSB8fCBkdXJhdGlvbi5pc05lZ2F0aXZlSW5maW5pdGUo
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wbGF5ZXJQcml2YXRlLmR1cmF0aW9uQ2hhbmdl
ZCgpOwotfQotCi12b2lkIE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjphYm9ydChSZWZQ
dHI8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSkKLXsK
LSAgICBBU1NFUlQoV1RGOjppc01haW5UaHJlYWQoKSk7Ci0KLSAgICBHU1RfREVCVUcoImFib3J0
aW5nIik7Ci0KLSAgICBzb3VyY2VCdWZmZXJQcml2YXRlLT5hcHBlbmRQaXBlbGluZSgpLnJlc2V0
UGFyc2VyU3RhdGUoKTsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTo6
cmVzZXRQYXJzZXJTdGF0ZShSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gc291
cmNlQnVmZmVyUHJpdmF0ZSkKLXsKLSAgICBBU1NFUlQoV1RGOjppc01haW5UaHJlYWQoKSk7Ci0K
LSAgICBHU1RfREVCVUcoInJlc2V0dGluZyBwYXJzZXIgc3RhdGUiKTsKLQotICAgIHNvdXJjZUJ1
ZmZlclByaXZhdGUtPmFwcGVuZFBpcGVsaW5lKCkucmVzZXRQYXJzZXJTdGF0ZSgpOwotfQotCi12
b2lkIE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjphcHBlbmQoUmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUsIFZlY3Rvcjx1bnNpZ25l
ZCBjaGFyPiYmIGRhdGEpCi17Ci0gICAgQVNTRVJUKFdURjo6aXNNYWluVGhyZWFkKCkpOwotCi0g
ICAgR1NUX0RFQlVHKCJBcHBlbmRpbmcgJXp1IGJ5dGVzIiwgZGF0YS5zaXplKCkpOwotCi0gICAg
Ly8gV3JhcCB0aGUgd2hvbGUgVmVjdG9yIG9iamVjdCBpbiBjYXNlIHRoZSBkYXRhIGlzIHN0b3Jl
ZCBpbiB0aGUgaW5saW5lZCBidWZmZXIuCi0gICAgYXV0byogYnVmZmVyRGF0YSA9IGRhdGEuZGF0
YSgpOwotICAgIGF1dG8gYnVmZmVyTGVuZ3RoID0gZGF0YS5zaXplKCk7Ci0gICAgR1JlZlB0cjxH
c3RCdWZmZXI+IGJ1ZmZlciA9IGFkb3B0R1JlZihnc3RfYnVmZmVyX25ld193cmFwcGVkX2Z1bGwo
c3RhdGljX2Nhc3Q8R3N0TWVtb3J5RmxhZ3M+KDApLCBidWZmZXJEYXRhLCBidWZmZXJMZW5ndGgs
IDAsIGJ1ZmZlckxlbmd0aCwgbmV3IFZlY3Rvcjx1bnNpZ25lZCBjaGFyPihXVEZNb3ZlKGRhdGEp
KSwKLSAgICAgICAgW10oZ3BvaW50ZXIgZGF0YSkKLSAgICAgICAgewotICAgICAgICAgICAgZGVs
ZXRlIHN0YXRpY19jYXN0PFZlY3Rvcjx1bnNpZ25lZCBjaGFyPio+KGRhdGEpOwotICAgICAgICB9
KSk7Ci0KLSAgICBzb3VyY2VCdWZmZXJQcml2YXRlLT5hcHBlbmRQaXBlbGluZSgpLnB1c2hOZXdC
dWZmZXIoV1RGTW92ZShidWZmZXIpKTsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJl
YW1lck1TRTo6bWFya0VuZE9mU3RyZWFtKE1lZGlhU291cmNlUHJpdmF0ZTo6RW5kT2ZTdHJlYW1T
dGF0dXMgc3RhdHVzKQotewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgpKTsKLQotICAg
IG1fcGxheWVyUHJpdmF0ZS5tYXJrRW5kT2ZTdHJlYW0oc3RhdHVzKTsKLX0KLQotdm9pZCBNZWRp
YVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZShSZWZQdHI8
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSkKLXsKLSAg
ICBBU1NFUlQoV1RGOjppc01haW5UaHJlYWQoKSk7Ci0KLSAgICBBU1NFUlQobV9wbGF5ZXJQcml2
YXRlLm1fcGxheWJhY2tQaXBlbGluZSk7Ci0KLSAgICBtX3BsYXllclByaXZhdGUubV9wbGF5YmFj
a1BpcGVsaW5lLT5yZW1vdmVTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZSk7Ci19Ci0K
LXZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OmZsdXNoKEF0b21TdHJpbmcgdHJh
Y2tJZCkKLXsKLSAgICBBU1NFUlQoV1RGOjppc01haW5UaHJlYWQoKSk7Ci0KLSAgICAvLyBUaGlz
IGlzIG9ubHkgZm9yIG9uLXRoZS1mbHkgcmVlbnF1ZXVlcyBhZnRlciBhcHBlbmRzLiBXaGVuIHNl
ZWtpbmcsIHRoZSBzZWVrIHdpbGwgZG8gaXRzIG93biBmbHVzaC4KLSAgICAvLyBGSVhNRTogU2hv
dWxkIG5vdCBiZSB0b3VjaGluZyBwcml2YXRlIHBhcnRzLgotICAgIGlmICghbV9wbGF5ZXJQcml2
YXRlLm1faXNTZWVraW5nKQotICAgICAgICBtX3BsYXllclByaXZhdGUubV9wbGF5YmFja1BpcGVs
aW5lLT5mbHVzaCh0cmFja0lkKTsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1l
ck1TRTo6ZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlKQotewotICAgIEFT
U0VSVChXVEY6OmlzTWFpblRocmVhZCgpKTsKLQotICAgIG1fcGxheWVyUHJpdmF0ZS5tX3BsYXli
YWNrUGlwZWxpbmUtPmVucXVldWVTYW1wbGUoV1RGTW92ZShzYW1wbGUpKTsKLX0KLQotdm9pZCBN
ZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTo6YWxsU2FtcGxlc0luVHJhY2tFbnF1ZXVlZChj
b25zdCBBdG9tU3RyaW5nJiB0cmFja0lkKQotewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVh
ZCgpKTsKLQotICAgIG1fcGxheWVyUHJpdmF0ZS5tX3BsYXliYWNrUGlwZWxpbmUtPmFsbFNhbXBs
ZXNJblRyYWNrRW5xdWV1ZWQodHJhY2tJZCk7Ci19Ci0KLUdSZWZQdHI8V2ViS2l0TWVkaWFTcmM+
IE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjp3ZWJLaXRNZWRpYVNyYygpCi17Ci0gICAg
QVNTRVJUKFdURjo6aXNNYWluVGhyZWFkKCkpOwotCi0gICAgV2ViS2l0TWVkaWFTcmMqIHNvdXJj
ZSA9IFdFQktJVF9NRURJQV9TUkMobV9wbGF5ZXJQcml2YXRlLm1fc291cmNlLmdldCgpKTsKLQot
ICAgIEFTU0VSVChXRUJLSVRfSVNfTUVESUFfU1JDKHNvdXJjZSkpOwotCi0gICAgcmV0dXJuIHNv
dXJjZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZS4KLQotI2VuZGlmIC8vIFVTRShHU1RS
RUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlQ2xpZW50R1N0cmVh
bWVyTVNFLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZTJmNDU2OGY3NWJjYjBk
NTI1MzljM2MyZWRjMDFmYzczMGYwMTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgotICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwKLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
ICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFpbnQgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IEVOQUJMRShWSURFTykgJiYgVVNFKEdTVFJFQU1FUikgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
LQotI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgotI2luY2x1ZGUgIk1lZGlhU291cmNlUHJp
dmF0ZS5oIgotI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIgotI2luY2x1ZGUg
IldlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmgiCi0jaW5jbHVkZSA8d3RmL01lZGlhVGltZS5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbnRlbnRUeXBlOwotY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOwotY2xhc3MgTWVkaWFTYW1wbGU7Ci1jbGFzcyBT
b3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOwotCi1jbGFzcyBNZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRSA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVy
TVNFPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1l
ck1TRT4gY3JlYXRlKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwotICAgIHZpcnR1
YWwgfk1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFKCk7Ci0KLSAgICAvLyBGcm9tIE1lZGlh
U291cmNlUHJpdmF0ZUdTdHJlYW1lci4KLSAgICBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
cyBhZGRTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+LCBj
b25zdCBDb250ZW50VHlwZSYpOwotICAgIHZvaWQgZHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlh
VGltZSYpOwotICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKE1lZGlhU291cmNlUHJpdmF0ZTo6RW5k
T2ZTdHJlYW1TdGF0dXMpOwotCi0gICAgLy8gRnJvbSBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVh
bWVyLgotICAgIHZvaWQgYWJvcnQoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+
KTsKLSAgICB2b2lkIHJlc2V0UGFyc2VyU3RhdGUoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXI+KTsKLSAgICB2b2lkIGFwcGVuZChSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lcj4sIFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKTsKLSAgICB2b2lkIHJlbW92ZWRGcm9t
TWVkaWFTb3VyY2UoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+KTsKLSAgICB2
b2lkIGZsdXNoKEF0b21TdHJpbmcpOwotICAgIHZvaWQgZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFT
YW1wbGU+JiYpOwotICAgIHZvaWQgYWxsU2FtcGxlc0luVHJhY2tFbnF1ZXVlZChjb25zdCBBdG9t
U3RyaW5nJik7Ci0KLSAgICBNZWRpYVRpbWUgZHVyYXRpb24oKTsKLSAgICBHUmVmUHRyPFdlYktp
dE1lZGlhU3JjPiB3ZWJLaXRNZWRpYVNyYygpOwotCi1wcml2YXRlOgotICAgIE1lZGlhU291cmNl
Q2xpZW50R1N0cmVhbWVyTVNFKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwotCi0g
ICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBtX3BsYXllclByaXZhdGU7Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlLgotCi0jZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcApp
bmRleCBkOTZmYjAyZmRjZjNiM2MzMzJlZjM2NzEyYzMzNzg3NmMxYmJjMjMzLi43ZjllMTJjZWVi
M2RkYmE1MDQzMjFhN2Y0MDY0OGYxNzQwMDFjZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00MSw4ICs0MSw4IEBACiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIgotI2luY2x1
ZGUgIk1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKyNpbmNsdWRlICJQbGF5YmFja1BpcGVsaW5lLmgiCiAjaW5jbHVkZSAiU291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5oIgogI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKICNpbmNs
dWRlICJXZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5oIgpAQCAtNTgsNyArNTgsNiBAQCB2b2lk
IE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6b3BlbihNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQmIG1lZGlhU291cmNlLCBNZQogCiBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6Ok1lZGlh
U291cmNlUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQmIG1lZGlhU291
cmNlLCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmIHBsYXllclByaXZhdGUpCiAgICAg
OiBNZWRpYVNvdXJjZVByaXZhdGUoKQotICAgICwgbV9jbGllbnQoTWVkaWFTb3VyY2VDbGllbnRH
U3RyZWFtZXJNU0U6OmNyZWF0ZShwbGF5ZXJQcml2YXRlKSkKICAgICAsIG1fbWVkaWFTb3VyY2Uo
bWVkaWFTb3VyY2UpCiAgICAgLCBtX3BsYXllclByaXZhdGUocGxheWVyUHJpdmF0ZSkKICNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKQEAgLTc4LDEwICs3NywxMCBAQCBNZWRpYVNvdXJjZVByaXZh
dGVHU3RyZWFtZXI6On5NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIoKQogTWVkaWFTb3VyY2VQ
cml2YXRlR1N0cmVhbWVyOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjph
ZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBSZWZQdHI8U291
cmNlQnVmZmVyUHJpdmF0ZT4mIHNvdXJjZUJ1ZmZlclByaXZhdGUpCiB7CiAgICAgREVCVUdfTE9H
KExPR0lERU5USUZJRVIsIGNvbnRlbnRUeXBlKTsKLSAgICBzb3VyY2VCdWZmZXJQcml2YXRlID0g
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRoaXMsIG1fY2xpZW50LmdldCgp
LCBjb250ZW50VHlwZSwgbV9wbGF5ZXJQcml2YXRlKTsKKyAgICBzb3VyY2VCdWZmZXJQcml2YXRl
ID0gU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRoaXMsIGNvbnRlbnRUeXBl
LCBtX3BsYXllclByaXZhdGUpOwogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVh
bWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyID0gc3RhdGljX2Nhc3Q8U291cmNlQnVm
ZmVyUHJpdmF0ZUdTdHJlYW1lcio+KHNvdXJjZUJ1ZmZlclByaXZhdGUuZ2V0KCkpOwogICAgIG1f
c291cmNlQnVmZmVycy5hZGQoc291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcik7Ci0gICAgcmV0
dXJuIG1fY2xpZW50LT5hZGRTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1l
ciwgY29udGVudFR5cGUpOworICAgIHJldHVybiBtX3BsYXllclByaXZhdGUucGxheWJhY2tQaXBl
bGluZSgpLT5hZGRTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcik7CiB9
CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpyZW1vdmVTb3VyY2VCdWZmZXIo
U291cmNlQnVmZmVyUHJpdmF0ZSogc291cmNlQnVmZmVyUHJpdmF0ZSkKQEAgLTk2LDEyICs5NSwy
MCBAQCB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6cmVtb3ZlU291cmNlQnVmZmVy
KFNvdXJjZUJ1ZmZlclByaXZhdGUqIHNvdXJjZQogCiB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUdT
dHJlYW1lcjo6ZHVyYXRpb25DaGFuZ2VkKCkKIHsKLSAgICBtX2NsaWVudC0+ZHVyYXRpb25DaGFu
Z2VkKG1fbWVkaWFTb3VyY2UtPmR1cmF0aW9uKCkpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CisKKyAgICBNZWRpYVRpbWUgZHVyYXRpb24gPSBtX21lZGlhU291cmNlLT5kdXJhdGlvbigp
OworICAgIEdTVF9UUkFDRSgiZHVyYXRpb246ICVmIiwgZHVyYXRpb24udG9GbG9hdCgpKTsKKyAg
ICBpZiAoIWR1cmF0aW9uLmlzVmFsaWQoKSB8fCBkdXJhdGlvbi5pc1Bvc2l0aXZlSW5maW5pdGUo
KSB8fCBkdXJhdGlvbi5pc05lZ2F0aXZlSW5maW5pdGUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9wbGF5ZXJQcml2YXRlLmR1cmF0aW9uQ2hhbmdlZCgpOwogfQogCiB2b2lkIE1lZGlhU291
cmNlUHJpdmF0ZUdTdHJlYW1lcjo6bWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzIHN0
YXR1cykKIHsKLSAgICBtX2NsaWVudC0+bWFya0VuZE9mU3RyZWFtKHN0YXR1cyk7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX3BsYXllclByaXZhdGUubWFya0VuZE9mU3RyZWFt
KHN0YXR1cyk7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjp1bm1hcmtF
bmRPZlN0cmVhbSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVH
U3RyZWFtZXIuaAppbmRleCBjYmYxOGIwNDdlZDliNGRmNWE2N2UxMmQ4ZTIxNzA2MzZlNmM0N2E0
Li5iOWYzYmMyYzNiOTA3ZGQ3NzBkMmEyMjc4NzE2MDkyMWEzYTRhMTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNl
UHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTQ2LDcgKzQ2
LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdE1lZGlhU3JjIFdlYktpdE1lZGlhU3JjOwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOwot
Y2xhc3MgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U7CiBjbGFzcyBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0U7CiBjbGFzcyBQbGF0Zm9ybVRpbWVSYW5nZXM7CiAKQEAgLTU5LDcg
KzU4LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIG9wZW4oTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50JiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJik7CiAgICAgdmlydHVhbCB+
TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKCk7CiAKLSAgICBNZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRSYgY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KICAgICBBZGRT
dGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGU+Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1vdmVTb3VyY2VCdWZmZXIoU291
cmNlQnVmZmVyUHJpdmF0ZSopOwogCkBAIC05MSw3ICs4OSw2IEBAIHByaXZhdGU6CiAKICAgICBI
YXNoU2V0PFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPj4gbV9zb3VyY2VCdWZm
ZXJzOwogICAgIEhhc2hTZXQ8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcio+IG1fYWN0aXZl
U291cmNlQnVmZmVyczsKLSAgICBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1f
Y2xpZW50OwogICAgIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ+IG1fbWVkaWFTb3VyY2U7
CiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBtX3BsYXllclByaXZhdGU7CiAj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA2MTk3M2JlOTQ4OTUwMmE4NDdlMGYx
MWEwMDRmZjliNDE0MDcxMzRiLi4yNjllNjNjMjJlMzFjM2RmNTU3Y2Y2ZmQwMjcwZTM4MjY1ZDVm
NjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKQEAgLTQyLDIzICs0MiwyMiBAQAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1v
bi5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIgogI2luY2x1
ZGUgIk1lZGlhU2FtcGxlLmgiCi0jaW5jbHVkZSAiTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJN
U0UuaCIKICNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBsYXliYWNrUGlwZWxpbmUuaCIKICNpbmNs
dWRlICJXZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVJlZjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBTb3VyY2VCdWZmZXJQcml2YXRl
R1N0cmVhbWVyOjpjcmVhdGUoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJj
ZSwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRl
bnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5
ZXJQcml2YXRlKQorUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+IFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIqIG1l
ZGlhU291cmNlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lck1TRSYgcGxheWVyUHJpdmF0ZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyKG1lZGlhU291cmNlLCBjbGllbnQuZ2V0
KCksIGNvbnRlbnRUeXBlLCBwbGF5ZXJQcml2YXRlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcihtZWRpYVNvdXJjZSwgY29udGVudFR5cGUs
IHBsYXllclByaXZhdGUpKTsKIH0KIAotU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6U291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIqIG1l
ZGlhU291cmNlLCBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IGNsaWVudCwgY29u
c3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0UmIHBsYXllclByaXZhdGUpCitTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpTb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciogbWVkaWFT
b3VyY2UsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFJiBwbGF5ZXJQcml2YXRlKQogICAgIDogU291cmNlQnVmZmVyUHJpdmF0ZSgp
CiAgICAgLCBtX21lZGlhU291cmNlKG1lZGlhU291cmNlKQogICAgICwgbV90eXBlKGNvbnRlbnRU
eXBlKQotICAgICwgbV9jbGllbnQoY2xpZW50LmdldCgpKQogICAgICwgbV9wbGF5ZXJQcml2YXRl
KHBsYXllclByaXZhdGUpCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgLCBtX2xvZ2dl
cihtZWRpYVNvdXJjZS0+bG9nZ2VyKCkpCkBAIC02Niw3ICs2NSw3IEBAIFNvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXI6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIoTWVkaWFTb3VyY2VQ
cml2YXRlR1N0CiAjZW5kaWYKIHsKICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKLSAg
ICBtX2FwcGVuZFBpcGVsaW5lID0gV1RGOjptYWtlVW5pcXVlPEFwcGVuZFBpcGVsaW5lPihtX2Ns
aWVudCwgbWFrZVJlZigqdGhpcyksIG1fcGxheWVyUHJpdmF0ZSk7CisgICAgbV9hcHBlbmRQaXBl
bGluZSA9IFdURjo6bWFrZVVuaXF1ZTxBcHBlbmRQaXBlbGluZT4obWFrZVJlZigqdGhpcyksIG1f
cGxheWVyUHJpdmF0ZSk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6
c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKQEAgLTc2LDI5ICs3
NSw0MyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OnNldENsaWVudChTb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50KiBjbGllbnQpCiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0
ZUdTdHJlYW1lcjo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiB7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQobV9tZWRpYVNvdXJjZSk7CisgICAg
QVNTRVJUKG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCk7CiAKLSAgICBpZiAoIW1fc291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudCkKLSAgICAgICAgcmV0dXJuOworICAgIEdTVF9ERUJVRygiQXBw
ZW5kaW5nICV6dSBieXRlcyIsIGRhdGEuc2l6ZSgpKTsKKyAgICAvLyBXcmFwIHRoZSB3aG9sZSBW
ZWN0b3Igb2JqZWN0IGluIGNhc2UgdGhlIGRhdGEgaXMgc3RvcmVkIGluIHRoZSBpbmxpbmVkIGJ1
ZmZlci4KKyAgICBhdXRvKiBidWZmZXJEYXRhID0gZGF0YS5kYXRhKCk7CisgICAgYXV0byBidWZm
ZXJMZW5ndGggPSBkYXRhLnNpemUoKTsKKyAgICBHUmVmUHRyPEdzdEJ1ZmZlcj4gYnVmZmVyID0g
YWRvcHRHUmVmKGdzdF9idWZmZXJfbmV3X3dyYXBwZWRfZnVsbChzdGF0aWNfY2FzdDxHc3RNZW1v
cnlGbGFncz4oMCksIGJ1ZmZlckRhdGEsIGJ1ZmZlckxlbmd0aCwgMCwgYnVmZmVyTGVuZ3RoLCBu
ZXcgVmVjdG9yPHVuc2lnbmVkIGNoYXI+KFdURk1vdmUoZGF0YSkpLAorICAgICAgICBbXShncG9p
bnRlciBkYXRhKQorICAgICAgICB7CisgICAgICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8VmVj
dG9yPHVuc2lnbmVkIGNoYXI+Kj4oZGF0YSk7CisgICAgICAgIH0pKTsKIAotICAgIG1fY2xpZW50
LT5hcHBlbmQodGhpcywgV1RGTW92ZShkYXRhKSk7CisgICAgbV9hcHBlbmRQaXBlbGluZS0+cHVz
aE5ld0J1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVHU3RyZWFtZXI6OmFib3J0KCkKIHsKLSAgICBtX2NsaWVudC0+YWJvcnQodGhpcyk7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBHU1RfREVCVUcoImFib3J0aW5nIik7CisgICAg
bV9hcHBlbmRQaXBlbGluZS0+cmVzZXRQYXJzZXJTdGF0ZSgpOwogfQogCiB2b2lkIFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI6OnJlc2V0UGFyc2VyU3RhdGUoKQogewotICAgIG1fY2xpZW50
LT5yZXNldFBhcnNlclN0YXRlKHRoaXMpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cisg
ICAgR1NUX0RFQlVHKCJyZXNldHRpbmcgcGFyc2VyIHN0YXRlIik7CisgICAgbV9hcHBlbmRQaXBl
bGluZS0+cmVzZXRQYXJzZXJTdGF0ZSgpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXI6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKQogeworICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCiAgICAgICAgIG1fbWVkaWFTb3VyY2Ut
PnJlbW92ZVNvdXJjZUJ1ZmZlcih0aGlzKTsKLSAgICBtX2NsaWVudC0+cmVtb3ZlZEZyb21NZWRp
YVNvdXJjZSh0aGlzKTsKKyAgICBtX3BsYXllclByaXZhdGUucGxheWJhY2tQaXBlbGluZSgpLT5y
ZW1vdmVTb3VyY2VCdWZmZXIodGhpcyk7CiB9CiAKIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNv
dXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OnJlYWR5U3RhdGUoKSBjb25zdApAQCAtMTEzLDE5
ICsxMjYsMjUgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRSZWFkeVN0
YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHN0YXRlKQogCiB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXI6OmZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpCiB7Ci0gICAg
bV9jbGllbnQtPmZsdXNoKHRyYWNrSWQpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisK
KyAgICAvLyBUaGlzIGlzIG9ubHkgZm9yIG9uLXRoZS1mbHkgcmVlbnF1ZXVlcyBhZnRlciBhcHBl
bmRzLiBXaGVuIHNlZWtpbmcsIHRoZSBzZWVrIHdpbGwgZG8gaXRzIG93biBmbHVzaC4KKyAgICBp
ZiAoIW1fcGxheWVyUHJpdmF0ZS5zZWVraW5nKCkpCisgICAgICAgIG1fcGxheWVyUHJpdmF0ZS5w
bGF5YmFja1BpcGVsaW5lKCktPmZsdXNoKHRyYWNrSWQpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXI6OmVucXVldWVTYW1wbGUoUmVmPE1lZGlhU2FtcGxlPiYmIHNhbXBs
ZSwgY29uc3QgQXRvbVN0cmluZyYpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAg
ICBtX25vdGlmeVdoZW5SZWFkeUZvck1vcmVTYW1wbGVzID0gZmFsc2U7CiAKLSAgICBtX2NsaWVu
dC0+ZW5xdWV1ZVNhbXBsZShXVEZNb3ZlKHNhbXBsZSkpOworICAgIG1fcGxheWVyUHJpdmF0ZS5w
bGF5YmFja1BpcGVsaW5lKCktPmVucXVldWVTYW1wbGUoV1RGTW92ZShzYW1wbGUpKTsKIH0KIAog
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjphbGxTYW1wbGVzSW5UcmFja0VucXVl
dWVkKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpCiB7Ci0gICAgbV9jbGllbnQtPmFsbFNhbXBs
ZXNJblRyYWNrRW5xdWV1ZWQodHJhY2tJZCk7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyAgICBtX3BsYXllclByaXZhdGUucGxheWJhY2tQaXBlbGluZSgpLT5hbGxTYW1wbGVzSW5UcmFj
a0VucXVldWVkKHRyYWNrSWQpOwogfQogCiBib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFt
ZXI6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVm
ZmVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggMGM3YzZh
NTMzMDI2NzEwZDM5OWVmMzI0NTM5YmI5ODIxODA2ZjllZC4uMjlmNzAzMmZlZGQ0YzY2ZDZkNzZl
NTIwZjZmYzU1NzkwYTBjODI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgY2xhc3MgU291cmNlQnVm
ZmVyUHJpdmF0ZUdTdHJlYW1lciBmaW5hbCA6IHB1YmxpYyBTb3VyY2VCdWZmZXJQcml2YXRlCiB7
CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI+
IGNyZWF0ZShNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIqLCBSZWY8TWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0U+LCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRSYpOworICAgIHN0YXRpYyBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1l
cj4gY3JlYXRlKE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciosIGNvbnN0IENvbnRlbnRUeXBl
JiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJik7CiAgICAgdmlydHVhbCB+U291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lcigpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgY2xlYXJNZWRp
YVNvdXJjZSgpIHsgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7IH0KQEAgLTg0LDggKzg0LDYgQEAg
cHVibGljOgogCiAgICAgQ29udGVudFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQogCi0gICAgQXBwZW5kUGlwZWxpbmUmIGFwcGVuZFBpcGVsaW5lKCkgeyByZXR1cm4gKm1fYXBw
ZW5kUGlwZWxpbmU7IH0KLQogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0IExv
Z2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KICAg
ICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciI7IH0KQEAgLTk2LDEyICs5NCwxMCBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyKE1l
ZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciosIFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1l
ck1TRT4sIGNvbnN0IENvbnRlbnRUeXBlJiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
Jik7Ci0gICAgZnJpZW5kIGNsYXNzIE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOworICAg
IFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
KiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmKTsK
IAogICAgIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciogbV9tZWRpYVNvdXJjZTsKICAgICBD
b250ZW50VHlwZSBtX3R5cGU7Ci0gICAgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNF
PiBtX2NsaWVudDsKICAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UmIG1fcGxheWVy
UHJpdmF0ZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXBwZW5kUGlwZWxpbmU+IG1fYXBwZW5kUGlw
ZWxpbmU7CiAgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogbV9zb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50IHsgbnVsbHB0ciB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>