<?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>180135</bug_id>
          
          <creation_ts>2017-11-29 02:59:00 -0800</creation_ts>
          <short_desc>[CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer</short_desc>
          <delta_ts>2017-11-29 06:58:01 -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>New Bugs</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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1375766</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-29 02:59:00 -0800</bug_when>
    <thetext>[CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375769</commentid>
    <comment_count>1</comment_count>
      <attachid>327847</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-29 03:10:59 -0800</bug_when>
    <thetext>Created attachment 327847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375770</commentid>
    <comment_count>2</comment_count>
      <attachid>327847</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-29 03:14:59 -0800</bug_when>
    <thetext>Comment on attachment 327847
Patch

Why Nicosia?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375795</commentid>
    <comment_count>3</comment_count>
      <attachid>327847</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-29 06:30:30 -0800</bug_when>
    <thetext>Comment on attachment 327847
Patch

Clearing flags on attachment: 327847

Committed r225266: &lt;https://trac.webkit.org/changeset/225266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375796</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-29 06:30:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375797</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-29 06:31:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/35747032&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375801</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-29 06:58:01 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #2)
&gt; Comment on attachment 327847 [details]
&gt; Patch
&gt; 
&gt; Why Nicosia?

Capital of Cyprus, so it mirrors Cairo as the capital of Egypt.

It&apos;s possible the name will change, given it&apos;s an abstraction layer and not a library on its own.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327847</attachid>
            <date>2017-11-29 03:10:59 -0800</date>
            <delta_ts>2017-11-29 06:30:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180135-20171129121057.patch</filename>
            <type>text/plain</type>
            <size>37663</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcwMjU0ZGRmMmVjYjk2
ZDJkOGQ2ODA2MGVjN2YzMjNhZTE1MDJmYS4uZjI3MGE0ZTkxOTQ1MzFmN2I0MGU0OTQ0M2FiNDA3
ZWM5OTQ2MzdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTExLTI5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGlj
c10gUmVuYW1lIENvb3JkaW5hdGVkQnVmZmVyIHRvIE5pY29zaWE6OkJ1ZmZlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMTM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIENvb3JkaW5hdGVk
QnVmZmVyIHRvIE5pY29zaWE6OkJ1ZmZlciwgc3RhcnRpbmcgYW4gYWJzdHJhY3Rpb24KKyAgICAg
ICAgbGF5ZXIgdGhhdCB3aWxsIGluIHRoZSBmdXR1cmUgYWxsb3cgdXMgdG8gcHJvdG90eXBlIGFu
ZCBwb3RlbnRpYWxseQorICAgICAgICBzdXBwb3J0IGRpZmZlcmVudCAyRCByYXN0ZXJpemF0aW9u
IGxpYnJhcmllcy4gVGhlIGxheWVyIGlzIGVudmlzaW9uZWQKKyAgICAgICAgYXMgc2VwYXJhdGUg
ZnJvbSB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljcyBjb2RlLCBidXQgd2lsbCBpbiB0aGUgbWlkLXRl
cm0KKyAgICAgICAgb25seSBiZSB1c2VkIHRoZXJlLgorCisgICAgICAgIEluIG9yZGVyIHRvIGtl
ZXAgQ01ha2UgY2hhbmdlcyB0byBhIG1pbmltdW0gZm9yIG5vdywgdGhlIHNvdXJjZSBjb2RlIGlz
CisgICAgICAgIGluY2x1ZGVkIGluIHRoZSBidWlsZCBhbG9uZyB3aXRoIHRoZSBDb29yZGluYXRl
ZEdyYXBoaWNzIHNvdXJjZSBmaWxlcywKKyAgICAgICAgaW4gVGV4dHVyZU1hcHBlci5jbWFrZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgLS0gbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9UZXh0dXJlTWFwcGVyLmNtYWtlOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYUJ1ZmZlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRCdWZmZXIuY3BwLgorICAgICAgICAoTmljb3NpYTo6QnVmZmVyOjpjcmVhdGUpOgorICAgICAg
ICAoTmljb3NpYTo6QnVmZmVyOjpCdWZmZXIpOgorICAgICAgICAoTmljb3NpYTo6QnVmZmVyOjpj
b250ZXh0KToKKyAgICAgICAgKE5pY29zaWE6OkJ1ZmZlcjo6dXBsb2FkSW1hZ2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYUJ1ZmZlci5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkQnVmZmVyLmguCisgICAgICAgIChOaWNvc2lhOjpCdWZmZXI6OnNpemUgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjp1cGRhdGVDb250ZW50QnVmZmVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnVwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUuaDoKKwogMjAxNy0x
MS0yOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9w
dCB1cGRhdGVkIE5TS2V5ZWRbVW5dQXJjaGl2ZXIgQVBJIHdoZW4gYXZhaWxhYmxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDI4Nzc4NWM3NmZmYTBiOTVjMGMzZjllMGVlNzdhZDlhMzcwNGFjMGEuLjBlYTY5YjUyYzcw
NDJhNWI3Y2I0OWM3NTM0ODE5MDkzZDVlZTQ2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTctMTEtMjkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtDb29yZEdyYXBoaWNzXSBSZW5hbWUgQ29vcmRpbmF0ZWRCdWZmZXIgdG8gTmljb3NpYTo6
QnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGp1c3QgY29kZSB0byB0aGUgQ29vcmRpbmF0ZWRCdWZmZXIgLT4gTmljb3NpYTo6QnVmZmVyIHRy
YW5zaXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlVGlsZTo6c2V0QmFja0J1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
QmFja2luZ1N0b3JlOjp1cGRhdGVUaWxlKToKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAqIFNoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y3JlYXRlVXBkYXRlQXRsYXMpOgorICAg
ICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZUltYWdlQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbXBv
c2l0aW5nQ29vcmRpbmF0b3I6OnVwZGF0ZUltYWdlQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6
OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmNyZWF0ZVVwZGF0ZUF0bGFzKToKKyAgICAgICAgKFdl
YktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Z2V0Q29vcmRpbmF0ZWRCdWZmZXIpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9VcGRhdGVBdGxhcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUF0bGFzOjpV
cGRhdGVBdGxhcyk6CisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUF0bGFzOjpnZXRDb29yZGluYXRl
ZEJ1ZmZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvVXBkYXRlQXRsYXMuaDoKKwogMjAxNy0xMS0yOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCB1cGRhdGVkIE5TS2V5ZWRbVW5dQXJjaGl2ZXIg
QVBJIHdoZW4gYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
ZXh0dXJlTWFwcGVyLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGV4dHVyZU1hcHBl
ci5jbWFrZQppbmRleCA5YjE3MzE1OGMzOTRmNGI4MTFlZTM1NzFiZjgyOTc3YTBkYzhlYzdiLi5m
YjJiNTA0NjAxZTRjNzg5YjRhZTFmNDgxODRjMTFlZTgwYmM2YmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UZXh0dXJlTWFwcGVyLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2UKQEAgLTM1LDEyICszNSwxOSBAQCBpZiAo
VVNFX0NPT1JESU5BVEVEX0dSQVBISUNTKQogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuY3BwCiAgICAgICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAogCi0g
ICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEJ1
ZmZlci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAogICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZS5jcHAKICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmNwcAogICAg
ICkKKworICAgICMgRklYTUU6IE1vdmUgdGhpcyBpbnRvIE5pY29zaWEuY21ha2Ugb25jZSB0aGUg
Y29tcG9uZW50IGlzIHNldCBmb3IgbG9uZy10ZXJtIHVzZS4KKyAgICBsaXN0KEFQUEVORCBXZWJD
b3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3Jt
L2dyYXBoaWNzL25pY29zaWEiCisgICAgKQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UworICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFCdWZmZXIuY3BwCisg
ICAgKQogZWxzZSAoKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29z
aWFCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9O
aWNvc2lhQnVmZmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDc5YTgwMGVkMzlhNjZlZWU5N2ZiYzY5NDk2
ODI0ZThhYzk3MTAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhQnVmZmVyLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOaWNvc2lhQnVmZmVyLmgiCisKKyNpbmNs
dWRlICJJbWFnZUJ1ZmZlci5oIgorCituYW1lc3BhY2UgTmljb3NpYSB7CisKK1JlZjxCdWZmZXI+
IEJ1ZmZlcjo6Y3JlYXRlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUsIEZsYWdzIGZsYWdz
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJ1ZmZlcihzaXplLCBmbGFncykpOworfQor
CitCdWZmZXI6OkJ1ZmZlcihjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplLCBGbGFncyBmbGFn
cykKKyAgICA6IG1faW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXpl
LCBXZWJDb3JlOjpVbmFjY2VsZXJhdGVkKSkKKyAgICAsIG1fc2l6ZShzaXplKQorICAgICwgbV9m
bGFncyhmbGFncykKK3sKK30KKworQnVmZmVyOjp+QnVmZmVyKCkgPSBkZWZhdWx0OworCitXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQmIEJ1ZmZlcjo6Y29udGV4dCgpCit7CisgICAgcmV0dXJuIG1f
aW1hZ2VCdWZmZXItPmNvbnRleHQoKTsKK30KKworUmVmUHRyPFdlYkNvcmU6OkltYWdlPiBCdWZm
ZXI6OnVwbG9hZEltYWdlKCkKK3sKKyAgICByZXR1cm4gbV9pbWFnZUJ1ZmZlci0+Y29weUltYWdl
KFdlYkNvcmU6OkRvbnRDb3B5QmFja2luZ1N0b3JlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgTmlj
b3NpYQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3Np
YS9OaWNvc2lhQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNv
c2lhL05pY29zaWFCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYmMxNjAxMzVkNWQ1OWM5MWVmMzM3Zjdl
NzA3ZGEyMWYyZDQxYzM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhQnVmZmVyLmgKQEAgLTAsMCArMSw2OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJp
Z2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIEltYWdlOworY2xhc3Mg
SW1hZ2VCdWZmZXI7Cit9CisKK25hbWVzcGFjZSBOaWNvc2lhIHsKKworY2xhc3MgQnVmZmVyIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEJ1ZmZlcj4geworcHVibGljOgorICAgIGVudW0g
RmxhZyB7CisgICAgICAgIE5vRmxhZ3MgPSAwLAorICAgICAgICBTdXBwb3J0c0FscGhhID0gMSA8
PCAwLAorICAgIH07CisgICAgdXNpbmcgRmxhZ3MgPSB1bnNpZ25lZDsKKworICAgIHN0YXRpYyBS
ZWY8QnVmZmVyPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIEZsYWdzKTsKKyAgICB+
QnVmZmVyKCk7CisKKyAgICBib29sIHN1cHBvcnRzQWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2Zs
YWdzICYgU3VwcG9ydHNBbHBoYTsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUo
KSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KKworICAgIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dCYgY29udGV4dCgpOworICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gdXBsb2FkSW1hZ2UoKTsK
KworcHJpdmF0ZToKKyAgICBCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIEZsYWdzKTsK
KworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZl
cjsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2l6ZTsKKyAgICBGbGFncyBtX2ZsYWdzOworfTsK
KworfSAvLyBuYW1lc3BhY2UgTmljb3NpYQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQnVmZmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MWE1Nzkz
MDViNTJiN2ZhMjFjMjhlMTZjNDRkYTc4NTUyZmI1M2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQnVmZmVyLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDY0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgTWV0cm9sb2dpY2FsIEdy
b3VwIEIuVi4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCi0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0gKiAgICB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLSAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNvb3Jk
aW5hdGVkQnVmZmVyLmgiCi0KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0KLSNpbmNs
dWRlICJJbWFnZUJ1ZmZlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxDb29yZGlu
YXRlZEJ1ZmZlcj4gQ29vcmRpbmF0ZWRCdWZmZXI6OmNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXpl
LCBGbGFncyBmbGFncykKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb29yZGluYXRlZEJ1
ZmZlcihzaXplLCBmbGFncykpOwotfQotCi1Db29yZGluYXRlZEJ1ZmZlcjo6Q29vcmRpbmF0ZWRC
dWZmZXIoY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxhZ3MgZmxhZ3MpCi0gICAgOiBtX2ltYWdlQnVm
ZmVyKEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgVW5hY2NlbGVyYXRlZCkpCi0gICAgLCBtX3Np
emUoc2l6ZSkKLSAgICAsIG1fZmxhZ3MoZmxhZ3MpCi17Ci19Ci0KLUNvb3JkaW5hdGVkQnVmZmVy
Ojp+Q29vcmRpbmF0ZWRCdWZmZXIoKSA9IGRlZmF1bHQ7Ci0KLUdyYXBoaWNzQ29udGV4dCYgQ29v
cmRpbmF0ZWRCdWZmZXI6OmNvbnRleHQoKQotewotICAgIHJldHVybiBtX2ltYWdlQnVmZmVyLT5j
b250ZXh0KCk7Ci19Ci0KLVJlZlB0cjxJbWFnZT4gQ29vcmRpbmF0ZWRCdWZmZXI6OnVwbG9hZElt
YWdlKCkKLXsKLSAgICByZXR1cm4gbV9pbWFnZUJ1ZmZlci0+Y29weUltYWdlKERvbnRDb3B5QmFj
a2luZ1N0b3JlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzM4OTNlYTZiOWE3M2M1
M2ZhM2U5OWE2OTNlMDFiZmI1YWM1MGM3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRCdWZmZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4K
LSAqIENvcHlyaWdodCAoQykgMjAxNyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0gKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
Ci0KLSNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLWNsYXNzIEltYWdlOwotY2xhc3MgSW1hZ2VCdWZmZXI7
Ci0KLWNsYXNzIENvb3JkaW5hdGVkQnVmZmVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PENvb3JkaW5hdGVkQnVmZmVyPiB7Ci1wdWJsaWM6Ci0gICAgZW51bSBGbGFnIHsKLSAgICAgICAg
Tm9GbGFncyA9IDAsCi0gICAgICAgIFN1cHBvcnRzQWxwaGEgPSAxIDw8IDAsCi0gICAgfTsKLSAg
ICB1c2luZyBGbGFncyA9IHVuc2lnbmVkOwotCi0gICAgc3RhdGljIFJlZjxDb29yZGluYXRlZEJ1
ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmLCBGbGFncyk7Ci0gICAgfkNvb3JkaW5hdGVkQnVm
ZmVyKCk7Ci0KLSAgICBib29sIHN1cHBvcnRzQWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdz
ICYgU3VwcG9ydHNBbHBoYTsgfQotICAgIGNvbnN0IEludFNpemUmIHNpemUoKSBjb25zdCB7IHJl
dHVybiBtX3NpemU7IH0KLQotICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpOwotICAgIFJl
ZlB0cjxJbWFnZT4gdXBsb2FkSW1hZ2UoKTsKLQotcHJpdmF0ZToKLSAgICBDb29yZGluYXRlZEJ1
ZmZlcihjb25zdCBJbnRTaXplJiwgRmxhZ3MpOwotCi0gICAgc3RkOjp1bmlxdWVfcHRyPEltYWdl
QnVmZmVyPiBtX2ltYWdlQnVmZmVyOwotICAgIEludFNpemUgbV9zaXplOwotICAgIEZsYWdzIG1f
ZmxhZ3M7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGNlNWE0N2RkYjY0YjE2ZWYxNDg2ODc2NWEw
NTFkYzEzNzk2MjI1ZTAuLjBlNjljNmU3Y2ViOTBkMzlmMGQ3NjA2NzgyYjcxYzcxZWFkMGQyZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCkBAIC05NzAsNyArOTcwLDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkKICAgICAgICAgICAgIFN1cmZhY2VVcGRhdGVJbmZv
IHVwZGF0ZUluZm87CiAgICAgICAgICAgICBJbnRSZWN0IHRhcmdldFJlY3Q7CiAgICAgICAgICAg
ICBhdXRvIGNvb3JkaW5hdGVkQnVmZmVyID0gbV9jb29yZGluYXRvci0+Z2V0Q29vcmRpbmF0ZWRC
dWZmZXIoZGlydHlSZWN0LnNpemUoKSwKLSAgICAgICAgICAgICAgICBjb250ZW50c09wYXF1ZSgp
ID8gQ29vcmRpbmF0ZWRCdWZmZXI6Ok5vRmxhZ3MgOiBDb29yZGluYXRlZEJ1ZmZlcjo6U3VwcG9y
dHNBbHBoYSwKKyAgICAgICAgICAgICAgICBjb250ZW50c09wYXF1ZSgpID8gTmljb3NpYTo6QnVm
ZmVyOjpOb0ZsYWdzIDogTmljb3NpYTo6QnVmZmVyOjpTdXBwb3J0c0FscGhhLAogICAgICAgICAg
ICAgICAgIHVwZGF0ZUluZm8uYXRsYXNJRCwgdGFyZ2V0UmVjdCk7CiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gY29vcmRpbmF0ZWRCdWZm
ZXItPmNvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuaAppbmRleCA3ZTYyZmQ4ZDgwNWFkYTE0YTliYjcxMjk1ZTRhMDIwMjJk
NDBhMDI3Li4wODhjZTM2YzQzZmY1MTlmYWZiMDE1ZjNmYjJmNDZjOWUwYzYyYzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllclRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2luY2x1ZGUgIk5pY29zaWFC
dWZmZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAi
VGlsZWRCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZUNsaWVudC5o
IgpAQCAtNDcsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGbG9hdFJlY3QgdmlzaWJs
ZUNvbnRlbnRzUmVjdCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFJlZjxDb29yZGluYXRlZElt
YWdlQmFja2luZz4gY3JlYXRlSW1hZ2VCYWNraW5nSWZOZWVkZWQoSW1hZ2UmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRldGFjaExheWVyKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciopID0gMDsK
LSAgICB2aXJ0dWFsIFJlZjxDb29yZGluYXRlZEJ1ZmZlcj4gZ2V0Q29vcmRpbmF0ZWRCdWZmZXIo
Y29uc3QgSW50U2l6ZSYsIENvb3JkaW5hdGVkQnVmZmVyOjpGbGFncywgdWludDMyX3QmLCBJbnRS
ZWN0JikgPSAwOworICAgIHZpcnR1YWwgUmVmPE5pY29zaWE6OkJ1ZmZlcj4gZ2V0Q29vcmRpbmF0
ZWRCdWZmZXIoY29uc3QgSW50U2l6ZSYsIE5pY29zaWE6OkJ1ZmZlcjo6RmxhZ3MsIHVpbnQzMl90
JiwgSW50UmVjdCYpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzeW5jTGF5ZXJTdGF0ZShDb29y
ZGluYXRlZExheWVySUQsIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJikgPSAwOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU3RhdGUu
aAppbmRleCA5YTNlOThlYzNjZGFmZTQ5OTQ5MGM3NjEzM2Y2YzgyMjAyNTEzNTQyLi5hYjUwYTEx
ZmQxZDAyM2NiZGU4N2NkYmM3MGI5M2VmMzJiNGQyYzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IkludFNpemUuaCIKKyNpbmNsdWRlICJOaWNvc2lhQnVmZmVyLmgiCiAjaW5jbHVkZSAiU3VyZmFj
ZVVwZGF0ZUluZm8uaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmgiCiAjaW5j
bHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKQEAgLTQ2LDggKzQ3LDYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb29yZGluYXRlZEJ1ZmZlcjsKLQogdHlwZWRlZiB1aW50
MzJfdCBDb29yZGluYXRlZExheWVySUQ7CiBlbnVtIHsgSW52YWxpZENvb3JkaW5hdGVkTGF5ZXJJ
RCA9IDAgfTsKIApAQCAtMTkxLDEwICsxOTAsMTAgQEAgc3RydWN0IENvb3JkaW5hdGVkR3JhcGhp
Y3NTdGF0ZSB7CiAKICAgICBWZWN0b3I8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRD4gaW1hZ2Vz
VG9DcmVhdGU7CiAgICAgVmVjdG9yPENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQ+IGltYWdlc1Rv
UmVtb3ZlOwotICAgIFZlY3RvcjxzdGQ6OnBhaXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwg
UmVmUHRyPENvb3JkaW5hdGVkQnVmZmVyPj4+IGltYWdlc1RvVXBkYXRlOworICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVmUHRyPE5pY29zaWE6OkJ1ZmZl
cj4+PiBpbWFnZXNUb1VwZGF0ZTsKICAgICBWZWN0b3I8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJ
RD4gaW1hZ2VzVG9DbGVhcjsKIAotICAgIFZlY3RvcjxzdGQ6OnBhaXI8dWludDMyX3QgLyogYXRs
YXNJRCAqLywgUmVmUHRyPENvb3JkaW5hdGVkQnVmZmVyPj4+IHVwZGF0ZUF0bGFzZXNUb0NyZWF0
ZTsKKyAgICBWZWN0b3I8c3RkOjpwYWlyPHVpbnQzMl90IC8qIGF0bGFzSUQgKi8sIFJlZlB0cjxO
aWNvc2lhOjpCdWZmZXI+Pj4gdXBkYXRlQXRsYXNlc1RvQ3JlYXRlOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEltYWdlQmFja2luZy5jcHAKaW5kZXggYjZhOWZmYTRkODJiZDY3NGVkYjkzOWE0NmUwY2RkYWUz
YjliOWExYi4uZmVmOGU5OGNmODgzYWY5Mzk0YmFjNGM4ZDBjMzZhNjVlYzU4NDMzMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3Bw
CkBAIC0yNCwxMiArMjQsMTMgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuaCIKIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKLSNpbmNsdWRlICJDb29yZGluYXRlZEltYWdlQmFja2luZy5oIgogCiAjaW5jbHVkZSAi
Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Lmgi
CisjaW5jbHVkZSAiTmljb3NpYUJ1ZmZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTEwMCw3ICsxMDEsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjp1cGRhdGUoKQog
ICAgICAgICB9CiAgICAgfQogCi0gICAgbV9idWZmZXIgPSBDb29yZGluYXRlZEJ1ZmZlcjo6Y3Jl
YXRlKEludFNpemUobV9pbWFnZS0+c2l6ZSgpKSwgIW1faW1hZ2UtPmN1cnJlbnRGcmFtZUtub3du
VG9CZU9wYXF1ZSgpID8gQ29vcmRpbmF0ZWRCdWZmZXI6OlN1cHBvcnRzQWxwaGEgOiBDb29yZGlu
YXRlZEJ1ZmZlcjo6Tm9GbGFncyk7CisgICAgbV9idWZmZXIgPSBOaWNvc2lhOjpCdWZmZXI6OmNy
ZWF0ZShJbnRTaXplKG1faW1hZ2UtPnNpemUoKSksICFtX2ltYWdlLT5jdXJyZW50RnJhbWVLbm93
blRvQmVPcGFxdWUoKSA/IE5pY29zaWE6OkJ1ZmZlcjo6U3VwcG9ydHNBbHBoYSA6IE5pY29zaWE6
OkJ1ZmZlcjo6Tm9GbGFncyk7CiAgICAgQVNTRVJUKG1fYnVmZmVyKTsKIAogICAgIEludFJlY3Qg
cmVjdChJbnRQb2ludDo6emVybygpLCBJbnRTaXplKG1faW1hZ2UtPnNpemUoKSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuaAppbmRleCBk
NWJjY2FjNTMzYjVhYjQ5NmVjNzkxMGJlZjBlYmZjYjY3N2M4OWQyLi45MmY0NmM1MDZkMWFhNGEw
ODNiOTdjYjRiM2M4MDEwMzViNDdjMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuaApAQCAtMjgsMTMgKzI4LDE3IEBACiAjZGVmaW5l
IENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nX2gKIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKLSNpbmNsdWRlICJDb29yZGluYXRlZEJ1ZmZlci5oIgorCiAjaW5jbHVkZSAiQ29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CituYW1lc3BhY2UgTmljb3NpYSB7CitjbGFzcyBCdWZmZXI7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDb29yZGluYXRlZEltYWdlQmFja2luZz4gewpAQCAtNDIsNyArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgY2xhc3MgQ2xpZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjcmVh
dGVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCkgPSAwOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQs
IFJlZlB0cjxDb29yZGluYXRlZEJ1ZmZlcj4mJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFJlZlB0cjxOaWNv
c2lhOjpCdWZmZXI+JiYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGNsZWFySW1hZ2VCYWNr
aW5nQ29udGVudHMoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpID0g
MDsKICAgICB9OwpAQCAtODAsNyArODQsNyBAQCBwcml2YXRlOgogICAgIENvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nSUQgbV9pZDsKICAgICBWZWN0b3I8SG9zdCo+IG1faG9zdHM7CiAKLSAgICBSZWZQ
dHI8Q29vcmRpbmF0ZWRCdWZmZXI+IG1fYnVmZmVyOworICAgIFJlZlB0cjxOaWNvc2lhOjpCdWZm
ZXI+IG1fYnVmZmVyOwogCiAgICAgVGltZXIgbV9jbGVhckNvbnRlbnRzVGltZXI7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9UaWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvVGlsZS5oCmluZGV4IDhiYjAzZmJkODE5ODNhYTkzZTU4MTQzNGVjOTlkZjhhYzZkNzMz
ODUuLjJjMjRlMDg0ZTMyOTZhNDdlMDllOTYxMGQ3NDhkNmE4OGZlNDk2NTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL1RpbGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogCi0jaW5jbHVkZSAiQ29vcmRpbmF0ZWRCdWZmZXIuaCIKICNpbmNsdWRlICJJbnRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFBvaW50SGFzaC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggNmYzMmU2NGZjNTM2ZjNk
YWNmMTg5YjRjNzQ4MmQ3ZjFjMWRlNmM4Ny4uOWVlNWI0YjMyMjljOTAyYTU0Y2E0OTFiMmE4NTdm
NzAxYWUxMDhiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKQEAg
LTIyLDggKzIyLDggQEAKIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAotI2luY2x1
ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBo
aWNzTGF5ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05pY29zaWFCdWZmZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1RleHR1cmVNYXBwZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHR1cmVNYXBw
ZXJHTC5oPgogCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmVU
aWxlOjpzd2FwQnVmZmVycyhUZXh0dXJlTWFwcGVyJiB0ZXh0dXJlTWFwcGVyKQogICAgIG1fYnVm
ZmVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGU6OnNl
dEJhY2tCdWZmZXIoY29uc3QgSW50UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEludFJlY3QmIHNvdXJj
ZVJlY3QsIFJlZlB0cjxDb29yZGluYXRlZEJ1ZmZlcj4mJiBidWZmZXIsIGNvbnN0IEludFBvaW50
JiBvZmZzZXQpCit2b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlVGlsZTo6c2V0QmFja0J1ZmZl
cihjb25zdCBJbnRSZWN0JiB0aWxlUmVjdCwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgUmVm
UHRyPE5pY29zaWE6OkJ1ZmZlcj4mJiBidWZmZXIsIGNvbnN0IEludFBvaW50JiBvZmZzZXQpCiB7
CiAgICAgbV9zb3VyY2VSZWN0ID0gc291cmNlUmVjdDsKICAgICBtX3RpbGVSZWN0ID0gdGlsZVJl
Y3Q7CkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnJlbW92
ZUFsbFRpbGVzKCkKICAgICAgICAgbV90aWxlc1RvUmVtb3ZlLmFkZChrZXkpOwogfQogCi12b2lk
IENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjp1cGRhdGVUaWxlKHVpbnQzMl90IGlkLCBjb25zdCBJ
bnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zdCBJbnRSZWN0JiB0aWxlUmVjdCwgUmVmUHRyPENvb3Jk
aW5hdGVkQnVmZmVyPiYmIGJ1ZmZlciwgY29uc3QgSW50UG9pbnQmIG9mZnNldCkKK3ZvaWQgQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmU6OnVwZGF0ZVRpbGUodWludDMyX3QgaWQsIGNvbnN0IEludFJl
Y3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3QmIHRpbGVSZWN0LCBSZWZQdHI8Tmljb3NpYTo6
QnVmZmVyPiYmIGJ1ZmZlciwgY29uc3QgSW50UG9pbnQmIG9mZnNldCkKIHsKICAgICBDb29yZGlu
YXRlZEJhY2tpbmdTdG9yZVRpbGVNYXA6Oml0ZXJhdG9yIGl0ID0gbV90aWxlcy5maW5kKGlkKTsK
ICAgICBBU1NFUlQoaXQgIT0gbV90aWxlcy5lbmQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlLmgKaW5kZXggMDZlNjlmOWU5MzJlZjhjNzU1NDM1MTBlMWJmZWVmMGQwNzkxODgx
OS4uYWY1Y2RlYzZlMGUyZjBjMGM2N2NkMjhlMDBmMzQwZTc2ZDk5ZjdmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tp
bmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaApAQCAtMjksOCArMjksOCBAQAogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKIAotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQ29vcmRpbmF0ZWRC
dWZmZXI7CituYW1lc3BhY2UgTmljb3NpYSB7CitjbGFzcyBCdWZmZXI7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNDUsMTAgKzQ1LDEwIEBAIHB1YmxpYzoKIAogICAgIGlubGluZSBmbG9h
dCBzY2FsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGU7IH0KICAgICB2b2lkIHN3YXBCdWZmZXJz
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXImKTsKLSAgICB2b2lkIHNldEJhY2tCdWZmZXIoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBSZWZQdHI8V2ViQ29y
ZTo6Q29vcmRpbmF0ZWRCdWZmZXI+JiYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CisgICAg
dm9pZCBzZXRCYWNrQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiwgUmVmUHRyPE5pY29zaWE6OkJ1ZmZlcj4mJiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmKTsKIAogcHJpdmF0ZToKLSAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRCdWZm
ZXI+IG1fYnVmZmVyOworICAgIFJlZlB0cjxOaWNvc2lhOjpCdWZmZXI+IG1fYnVmZmVyOwogICAg
IFdlYkNvcmU6OkludFJlY3QgbV9zb3VyY2VSZWN0OwogICAgIFdlYkNvcmU6OkludFJlY3QgbV90
aWxlUmVjdDsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX2J1ZmZlck9mZnNldDsKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlVGlsZSh1aW50MzJfdCB0aWxlSUQsIGZs
b2F0KTsKICAgICB2b2lkIHJlbW92ZVRpbGUodWludDMyX3QgdGlsZUlEKTsKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7Ci0gICAgdm9pZCB1cGRhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBSZWZQdHI8V2Vi
Q29yZTo6Q29vcmRpbmF0ZWRCdWZmZXI+JiYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7Cisg
ICAgdm9pZCB1cGRhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBSZWZQdHI8Tmljb3NpYTo6QnVmZmVyPiYmLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHN0YXRpYyBSZWY8Q29vcmRpbmF0ZWRCYWNr
aW5nU3RvcmU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29vcmRpbmF0ZWRCYWNr
aW5nU3RvcmUpOyB9CiAgICAgdm9pZCBjb21taXRUaWxlT3BlcmF0aW9ucyhXZWJDb3JlOjpUZXh0
dXJlTWFwcGVyJik7CiAgICAgUmVmUHRyPFdlYkNvcmU6OkJpdG1hcFRleHR1cmU+IHRleHR1cmUo
KSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNw
cAppbmRleCBlMmNjMDhjNmYxYjAzOTUyZjVlYTM5NGEwMTg3M2RkMDg1NGZiNGZiLi4yMjVhOWRk
Zjk4MWZjYTIwZTNkZTBmNzJkMTZiMDkzNjk3OTBiMTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0yMCwxMSArMjAsMTIgQEAKICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCIKIAogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuaCIKIAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9OaWNvc2lhQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFw
cGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyR0wuaD4KQEAgLTQzOCw3ICs0MzksNyBAQCB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1VwZGF0ZUF0bGFzZXMoY29uc3QgQ29v
cmRpbmF0ZWRHcmFwaGljc1N0YXRlJgogICAgICAgICBjcmVhdGVVcGRhdGVBdGxhcyhhdGxhcy5m
aXJzdCwgYXRsYXMuc2Vjb25kLmNvcHlSZWYoKSk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpjcmVhdGVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lELCBSZWZQdHI8Q29v
cmRpbmF0ZWRCdWZmZXI+JiYgYnVmZmVyKQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmNyZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQsIFJlZlB0cjxOaWNvc2lhOjpCdWZm
ZXI+JiYgYnVmZmVyKQogewogICAgIEFTU0VSVCghbV9zdXJmYWNlcy5jb250YWlucyhhdGxhc0lE
KSk7CiAgICAgbV9zdXJmYWNlcy5hZGQoYXRsYXNJRCwgV1RGTW92ZShidWZmZXIpKTsKQEAgLTQ3
Nyw3ICs0NzgsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y3JlYXRlSW1hZ2VC
YWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZwogICAgIG1faW1hZ2VCYWNraW5n
cy5hZGQoaW1hZ2VJRCwgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmNyZWF0ZSgpKTsKIH0KIAot
dm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZUltYWdlQmFja2luZyhDb29yZGlu
YXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQsIFJlZlB0cjxDb29yZGluYXRlZEJ1ZmZlcj4mJiBi
dWZmZXIpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dXBkYXRlSW1hZ2VCYWNraW5n
KENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCwgUmVmUHRyPE5pY29zaWE6OkJ1ZmZl
cj4mJiBidWZmZXIpCiB7CiAgICAgQVNTRVJUKG1faW1hZ2VCYWNraW5ncy5jb250YWlucyhpbWFn
ZUlEKSk7CiAgICAgYXV0byBpdCA9IG1faW1hZ2VCYWNraW5ncy5maW5kKGltYWdlSUQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXggZDMyMzkyMzk2MDM0MDFjNTE5
ZWJiMzc2NzcyMGY0MTU2OGZmYTk4ZC4uODk5ZGM3MTIwYTU1NDE3NzZiZjE1MGJiMTk2NmJkMGVm
MDQxYjc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC0yMyw3
ICsyMyw2IEBACiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKLSNpbmNsdWRlIDxX
ZWJDb3JlL0Nvb3JkaW5hdGVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRl
ZEdyYXBoaWNzU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgpAQCAtNDUsNiArNDQsMTAgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaD4KICNlbmRp
ZgogCituYW1lc3BhY2UgTmljb3NpYSB7CitjbGFzcyBCdWZmZXI7Cit9CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIFRleHR1cmVNYXBwZXJHTDsKIH0KQEAgLTEwOCwxMiArMTExLDEyIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzZXRMYXllclJlcGFpbnRDb3VudElmTmVlZGVkKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllclN0YXRlJik7CiAKICAgICB2b2lkIHN5bmNVcGRhdGVBdGxhc2VzKGNvbnN0IFdlYkNvcmU6
OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYpOwotICAgIHZvaWQgY3JlYXRlVXBkYXRlQXRsYXMo
dWludDMyX3QgYXRsYXNJRCwgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVkQnVmZmVyPiYmKTsK
KyAgICB2b2lkIGNyZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQsIFJlZlB0cjxOaWNv
c2lhOjpCdWZmZXI+JiYpOwogICAgIHZvaWQgcmVtb3ZlVXBkYXRlQXRsYXModWludDMyX3QgYXRs
YXNJRCk7CiAKICAgICB2b2lkIHN5bmNJbWFnZUJhY2tpbmdzKGNvbnN0IFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NTdGF0ZSYpOwogICAgIHZvaWQgY3JlYXRlSW1hZ2VCYWNraW5nKFdlYkNv
cmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwotICAgIHZvaWQgdXBkYXRlSW1hZ2VCYWNr
aW5nKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFJlZlB0cjxXZWJDb3JlOjpD
b29yZGluYXRlZEJ1ZmZlcj4mJik7CisgICAgdm9pZCB1cGRhdGVJbWFnZUJhY2tpbmcoV2ViQ29y
ZTo6Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVmUHRyPE5pY29zaWE6OkJ1ZmZlcj4mJik7
CiAgICAgdm9pZCBjbGVhckltYWdlQmFja2luZ0NvbnRlbnRzKFdlYkNvcmU6OkNvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQgcmVtb3ZlSW1hZ2VCYWNraW5nKFdlYkNvcmU6OkNv
b3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogCkBAIC0xNjIsNyArMTY1LDcgQEAgcHJpdmF0ZToK
ICAgICBIYXNoTWFwPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciosIFJlZlB0cjxXZWJDb3Jl
OjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5Pj4gbV9wbGF0Zm9ybUxheWVyUHJveGll
czsKICNlbmRpZgogCi0gICAgSGFzaE1hcDx1aW50MzJfdCAvKiBhdGxhc0lEICovLCBSZWZQdHI8
V2ViQ29yZTo6Q29vcmRpbmF0ZWRCdWZmZXI+PiBtX3N1cmZhY2VzOworICAgIEhhc2hNYXA8dWlu
dDMyX3QgLyogYXRsYXNJRCAqLywgUmVmUHRyPE5pY29zaWE6OkJ1ZmZlcj4+IG1fc3VyZmFjZXM7
CiAKICAgICAvLyBCZWxvdyB0d28gbWVtYmVycyBhcmUgYWNjZXNzZWQgYnkgb25seSB0aGUgbWFp
biB0aHJlYWQuIFRoZSBwYWludGluZyB0aHJlYWQgbXVzdCBsb2NrIHRoZSBtYWluIHRocmVhZCB0
byBhY2Nlc3MgYm90aCBtZW1iZXJzLgogICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVu
dCogbV9jbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGlu
Z0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjMWQ5YTZhNzAzODNkODQwZTMyZjY5NjZjNWI2NGQwZDgw
M2ZhZDg3Li5mN2FjMWFmZGZiMzk2NmY2NzUyNDRmY2Q0OTMxOTllODFmMzRkN2I4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAK
QEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmNyZWF0ZUlt
YWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSQogICAgIG1fc3RhdGUu
aW1hZ2VzVG9DcmVhdGUuYXBwZW5kKGltYWdlSUQpOwogfQogCi12b2lkIENvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnVwZGF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGlt
YWdlSUQsIFJlZlB0cjxDb29yZGluYXRlZEJ1ZmZlcj4mJiBidWZmZXIpCit2b2lkIENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I6OnVwZGF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lEIGltYWdlSUQsIFJlZlB0cjxOaWNvc2lhOjpCdWZmZXI+JiYgYnVmZmVyKQogewogICAgIG1f
c2hvdWxkU3luY0ZyYW1lID0gdHJ1ZTsKICAgICBtX3N0YXRlLmltYWdlc1RvVXBkYXRlLmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihpbWFnZUlELCBXVEZNb3ZlKGJ1ZmZlcikpKTsKQEAgLTI4NCw3ICsy
ODQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gQ29tcG9zaXRpbmdDb29yZGlu
YXRvcjo6Y3JlYXRlR3JhcGhpY3NMYXllcihHcmFwaAogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8R3JhcGhpY3NMYXllcj4obGF5ZXIpOwogfQogCi12b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0
b3I6OmNyZWF0ZVVwZGF0ZUF0bGFzKFVwZGF0ZUF0bGFzOjpJRCBpZCwgUmVmPENvb3JkaW5hdGVk
QnVmZmVyPiYmIGJ1ZmZlcikKK3ZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6Y3JlYXRlVXBk
YXRlQXRsYXMoVXBkYXRlQXRsYXM6OklEIGlkLCBSZWY8Tmljb3NpYTo6QnVmZmVyPiYmIGJ1ZmZl
cikKIHsKICAgICBtX3N0YXRlLnVwZGF0ZUF0bGFzZXNUb0NyZWF0ZS5hcHBlbmQoc3RkOjptYWtl
X3BhaXIoaWQsIFdURk1vdmUoYnVmZmVyKSkpOwogfQpAQCAtMzc2LDEwICszNzYsMTAgQEAgdm9p
ZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogICAgIG1fdXBk
YXRlQXRsYXNlcy5jbGVhcigpOwogfQogCi1SZWY8Q29vcmRpbmF0ZWRCdWZmZXI+IENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I6OmdldENvb3JkaW5hdGVkQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUs
IENvb3JkaW5hdGVkQnVmZmVyOjpGbGFncyBmbGFncywgdWludDMyX3QmIGF0bGFzSUQsIEludFJl
Y3QmIGFsbG9jYXRlZFJlY3QpCitSZWY8Tmljb3NpYTo6QnVmZmVyPiBDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yOjpnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplLCBOaWNvc2lh
OjpCdWZmZXI6OkZsYWdzIGZsYWdzLCB1aW50MzJfdCYgYXRsYXNJRCwgSW50UmVjdCYgYWxsb2Nh
dGVkUmVjdCkKIHsKICAgICBmb3IgKGF1dG8mIGF0bGFzIDogbV91cGRhdGVBdGxhc2VzKSB7Ci0g
ICAgICAgIGlmIChhdGxhcy0+c3VwcG9ydHNBbHBoYSgpID09IChmbGFncyAmIENvb3JkaW5hdGVk
QnVmZmVyOjpTdXBwb3J0c0FscGhhKSkgeworICAgICAgICBpZiAoYXRsYXMtPnN1cHBvcnRzQWxw
aGEoKSA9PSAoZmxhZ3MgJiBOaWNvc2lhOjpCdWZmZXI6OlN1cHBvcnRzQWxwaGEpKSB7CiAgICAg
ICAgICAgICBpZiAoYXV0byBidWZmZXIgPSBhdGxhcy0+Z2V0Q29vcmRpbmF0ZWRCdWZmZXIoc2l6
ZSwgYXRsYXNJRCwgYWxsb2NhdGVkUmVjdCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuICpidWZm
ZXI7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGlu
Z0Nvb3JkaW5hdG9yLmgKaW5kZXggMzVlYzA5YWMwOTllN2M4Yzc1MTgzYTM0OWU1NzU2OGMwOWY5
MDRjOC4uOWI3NWU4MWFmODkyZmIxMTg2ZTdkZWRkMDE4Yzc3ODVkOGM1NGY5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTMw
LDcgKzMwLDYgQEAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJV
cGRhdGVBdGxhcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRCdWZmZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29y
ZGluYXRlZEltYWdlQmFja2luZy5oPgpAQCAtMzgsOSArMzcsOSBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvR3JhcGhpY3NMYXllckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXll
ckZhY3RvcnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05pY29zaWFCdWZmZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQ29vcmRp
bmF0ZWRCdWZmZXI7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBHcmFwaGljc0xheWVy
OwogY2xhc3MgUGFnZTsKQEAgLTEwNSw3ICsxMDQsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmc6OkNsaWVudAogICAgIHZvaWQgY3JlYXRlSW1hZ2VCYWNraW5n
KFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIG92ZXJyaWRlOwotICAgIHZvaWQg
dXBkYXRlSW1hZ2VCYWNraW5nKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFJl
ZlB0cjxXZWJDb3JlOjpDb29yZGluYXRlZEJ1ZmZlcj4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCB1
cGRhdGVJbWFnZUJhY2tpbmcoV2ViQ29yZTo6Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVm
UHRyPE5pY29zaWE6OkJ1ZmZlcj4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjbGVhckltYWdlQmFj
a2luZ0NvbnRlbnRzKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIG92ZXJyaWRl
OwogICAgIHZvaWQgcmVtb3ZlSW1hZ2VCYWNraW5nKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nSUQpIG92ZXJyaWRlOwogCkBAIC0xMTQsMTEgKzExMywxMSBAQCBwcml2YXRlOgogICAg
IFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgUmVmPFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nPiBjcmVhdGVJbWFnZUJh
Y2tpbmdJZk5lZWRlZChXZWJDb3JlOjpJbWFnZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGV0YWNo
TGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKikgb3ZlcnJpZGU7Ci0gICAg
UmVmPFdlYkNvcmU6OkNvb3JkaW5hdGVkQnVmZmVyPiBnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiwgV2ViQ29yZTo6Q29vcmRpbmF0ZWRCdWZmZXI6OkZsYWdzLCB1
aW50MzJfdCYsIFdlYkNvcmU6OkludFJlY3QmKSBvdmVycmlkZTsKKyAgICBSZWY8Tmljb3NpYTo6
QnVmZmVyPiBnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgTmlj
b3NpYTo6QnVmZmVyOjpGbGFncywgdWludDMyX3QmLCBXZWJDb3JlOjpJbnRSZWN0Jikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBzeW5jTGF5ZXJTdGF0ZShXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQs
IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJikgb3ZlcnJpZGU7CiAKICAg
ICAvLyBVcGRhdGVBdGxhczo6Q2xpZW50Ci0gICAgdm9pZCBjcmVhdGVVcGRhdGVBdGxhcyhVcGRh
dGVBdGxhczo6SUQsIFJlZjxXZWJDb3JlOjpDb29yZGluYXRlZEJ1ZmZlcj4mJikgb3ZlcnJpZGU7
CisgICAgdm9pZCBjcmVhdGVVcGRhdGVBdGxhcyhVcGRhdGVBdGxhczo6SUQsIFJlZjxOaWNvc2lh
OjpCdWZmZXI+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlVXBkYXRlQXRsYXMoVXBkYXRl
QXRsYXM6OklEKSBvdmVycmlkZTsKIAogICAgIC8vIEdyYXBoaWNzTGF5ZXJGYWN0b3J5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL1VwZGF0ZUF0bGFzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvVXBkYXRlQXRsYXMuY3BwCmluZGV4IDY0NjQ2MzAwNDFhYWI0YzUz
ZDlkOWEzZDY3MDcxNzVhMmQ2ZDhmN2QuLjhjZDhlOWQ1YTQ5YjNmNjllODYyOTc1NTViYzQxZGM3
YjZlOWZjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvVXBkYXRlQXRsYXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVXBkYXRlQXRsYXMuY3BwCkBAIC0z
MSw5ICszMSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotVXBkYXRlQXRsYXM6OlVwZGF0ZUF0bGFzKENsaWVudCYgY2xpZW50LCBjb25zdCBJbnRT
aXplJiBzaXplLCBDb29yZGluYXRlZEJ1ZmZlcjo6RmxhZ3MgZmxhZ3MpCitVcGRhdGVBdGxhczo6
VXBkYXRlQXRsYXMoQ2xpZW50JiBjbGllbnQsIGNvbnN0IEludFNpemUmIHNpemUsIE5pY29zaWE6
OkJ1ZmZlcjo6RmxhZ3MgZmxhZ3MpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgLCBtX2J1
ZmZlcihDb29yZGluYXRlZEJ1ZmZlcjo6Y3JlYXRlKHNpemUsIGZsYWdzKSkKKyAgICAsIG1fYnVm
ZmVyKE5pY29zaWE6OkJ1ZmZlcjo6Y3JlYXRlKHNpemUsIGZsYWdzKSkKIHsKICAgICBzdGF0aWMg
SUQgc19uZXh0SUQgeyAwIH07CiAgICAgbV9pZCA9ICsrc19uZXh0SUQ7CkBAIC01OSw3ICs1OSw3
IEBAIHZvaWQgVXBkYXRlQXRsYXM6OmRpZFN3YXBCdWZmZXJzKCkKICAgICBtX2FyZWFBbGxvY2F0
b3IgPSBudWxscHRyOwogfQogCi1SZWZQdHI8Q29vcmRpbmF0ZWRCdWZmZXI+IFVwZGF0ZUF0bGFz
OjpnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplLCB1aW50MzJfdCYgYXRs
YXNJRCwgSW50UmVjdCYgYWxsb2NhdGVkUmVjdCkKK1JlZlB0cjxOaWNvc2lhOjpCdWZmZXI+IFVw
ZGF0ZUF0bGFzOjpnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplLCB1aW50
MzJfdCYgYXRsYXNJRCwgSW50UmVjdCYgYWxsb2NhdGVkUmVjdCkKIHsKICAgICBtX2luYWN0aXZp
dHlJblNlY29uZHMgPSAwOwogICAgIGJ1aWxkTGF5b3V0SWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVXBk
YXRlQXRsYXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvVXBkYXRlQXRsYXMuaAppbmRleCBkZjY5Y2YxYjA1MjVkYmNjZDY4Y2VmZGNiMWRj
NDYxMWUxM2NhY2I3Li4zMzczZWQ2ZDExOGU3ZWU5MzBmNTI5MjRjYjRjMDM5YTBlZmQyYTQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL1VwZGF0ZUF0bGFzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9VcGRhdGVBdGxhcy5oCkBAIC0yMSw3ICsyMSw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFyZWFBbGxvY2F0b3IuaCIKLSNpbmNsdWRlIDxXZWJD
b3JlL0Nvb3JkaW5hdGVkQnVmZmVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9OaWNvc2lhQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQpAQCAtNDEsMTYgKzQxLDE2IEBAIHB1YmxpYzoKIAogICAgIGNsYXNzIENsaWVudCB7CiAg
ICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlVXBkYXRlQXRsYXMoSUQsIFJl
ZjxXZWJDb3JlOjpDb29yZGluYXRlZEJ1ZmZlcj4mJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZv
aWQgY3JlYXRlVXBkYXRlQXRsYXMoSUQsIFJlZjxOaWNvc2lhOjpCdWZmZXI+JiYpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVVwZGF0ZUF0bGFzKElEKSA9IDA7CiAgICAgfTsKIAot
ICAgIFVwZGF0ZUF0bGFzKENsaWVudCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3Jl
OjpDb29yZGluYXRlZEJ1ZmZlcjo6RmxhZ3MpOworICAgIFVwZGF0ZUF0bGFzKENsaWVudCYsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmLCBOaWNvc2lhOjpCdWZmZXI6OkZsYWdzKTsKICAgICB+VXBk
YXRlQXRsYXMoKTsKIAogICAgIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUoKSBjb25zdCB7
IHJldHVybiBtX2J1ZmZlci0+c2l6ZSgpOyB9CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRp
bmF0ZWRCdWZmZXI+IGdldENvb3JkaW5hdGVkQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
LCB1aW50MzJfdCYsIFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICBSZWZQdHI8Tmljb3NpYTo6QnVm
ZmVyPiBnZXRDb29yZGluYXRlZEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgdWludDMy
X3QmLCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCBkaWRTd2FwQnVmZmVycygpOwogICAg
IGJvb2wgc3VwcG9ydHNBbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLT5zdXBwb3J0c0Fs
cGhhKCk7IH0KIApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIElEIG1faWQgeyAwIH07
CiAgICAgQ2xpZW50JiBtX2NsaWVudDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R2VuZXJhbEFyZWFB
bGxvY2F0b3I+IG1fYXJlYUFsbG9jYXRvcjsKLSAgICBSZWY8V2ViQ29yZTo6Q29vcmRpbmF0ZWRC
dWZmZXI+IG1fYnVmZmVyOworICAgIFJlZjxOaWNvc2lhOjpCdWZmZXI+IG1fYnVmZmVyOwogICAg
IGRvdWJsZSBtX2luYWN0aXZpdHlJblNlY29uZHMgeyAwIH07CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>