<?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>57606</bug_id>
          
          <creation_ts>2011-03-31 20:24:37 -0700</creation_ts>
          <short_desc>Windows and Mac should use separate LayerTreeHost classes</short_desc>
          <delta_ts>2011-04-01 06:46:18 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>45567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>andersca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>377625</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-31 20:24:37 -0700</bug_when>
    <thetext>Windows and Mac should use separate LayerTreeHost classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377626</commentid>
    <comment_count>1</comment_count>
      <attachid>87821</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-31 20:25:20 -0700</bug_when>
    <thetext>Created attachment 87821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377628</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-31 20:27:33 -0700</bug_when>
    <thetext>Attachment 87821 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/ChangeLog:3:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377754</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-04-01 06:27:54 -0700</bug_when>
    <thetext>Committed r82675: &lt;http://trac.webkit.org/changeset/82675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377761</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-04-01 06:46:18 -0700</bug_when>
    <thetext>Cairo build fix

Committed r82677: &lt;http://trac.webkit.org/changeset/82677&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87821</attachid>
            <date>2011-03-31 20:25:20 -0700</date>
            <delta_ts>2011-04-01 06:23:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57606-20110331232513.patch</filename>
            <type>text/plain</type>
            <size>26698</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI2NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjOTU3ZTM5YWU4Y2Y0Y2Fm
Yjg4NzAxMTMxOTkxZDhhMjRkNjhlN2IxLi43YTBkZDJjYmQ0NzQ4OGFiNWUzNTQ0MTg5ZjJkM2Uw
YWM5NWQ3MGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNzMgQEAKIDIwMTEtMDMtMzEgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIFNwbGl0IExheWVyVHJlZUhvc3RD
QSBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgZGVyaXZlZCBNYWMgYW5kIFdpbiBjbGFzc2VzCisKKyAg
ICAgICAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIGN1c3RvbWl6ZSB0aGUgTWFjIGFuZCBX
aW5kb3dzIGltcGxlbWVudGF0aW9ucyB3aXRob3V0IGFkZGluZyB0b28KKyAgICAgICAgbWFueSAj
aWZkZWZzLgorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU3NjA2PiBXaW5k
b3dzIGFuZCBNYWMgc2hvdWxkIHVzZSBzZXBhcmF0ZSBMYXllclRyZWVIb3N0IGNsYXNzZXMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgTGF5ZXJUcmVlSG9zdENBTWFjLmguCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6IENyZWF0ZSBhIExheWVyVHJlZUhvc3RD
QU1hYyBvbiBNYWMsIGFuZCBMYXllclRyZWVIb3N0Q0FXaW4KKyAgICAgICAgb24gV2luZG93cy4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0Q0E6OkxheWVyVHJlZUhvc3RDQSk6IE1vdmVk
IHNvbWUgY29kZSBmcm9tIGhlcmUuLi4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENB
Ojppbml0aWFsaXplKTogLi4udG8gaGVyZS4gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBh
ZnRlciB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgcmV0dXJucywgYW5kIHRodXMgY2FuIHNhZmVs
eSBjYWxsIGZ1bmN0aW9ucyB0aGF0IGFyZSBwdXJlIHZpcnR1YWwgaW4gdGhpcyBjbGFzcworICAg
ICAgICBhbmQgaXRzIGJhc2UgY2xhc3MuIFdlIG5vdyBwYXNzIG91ciBMYXllclRyZWVDb250ZXh0
IHRvIHBsYXRmb3JtSW5pdGlhbGl6ZSBzbyB0aGF0IG91cgorICAgICAgICBkZXJpdmVkIGNsYXNz
ZXMgY2FuIGluaXRpYWxpemUgaXQuCisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQTo6
fkxheWVyVHJlZUhvc3RDQSk6IFJlbW92ZWQgTWFjLXNwZWNpZmljIGNvZGUuCisKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjppbnZhbGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdENBOjpzaXplRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdENBOjpmb3JjZVJlcGFpbnQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0
Q0E6OmRpZFBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKToKKyAgICAgICAgUmVtb3ZlZCBwbGF0
Zm9ybSogY2FsbHMuIERlcml2ZWQgY2xhc3NlcyBjYW4ganVzdCBvdmVycmlkZSB0aGVzZSBmdW5j
dGlvbnMgdG8gZG8gd2hhdCB0aGV5CisgICAgICAgIG5lZWQuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmg6IFJlbW92ZWQgTWFjLXNwZWNpZmljIHBp
ZWNlcy4gTWFkZSBzb21lIGZ1bmN0aW9ucworICAgICAgICB2aXJ0dWFsIHNvIHRoYXQgZGVyaXZl
ZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGVtLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMuaDogQWRkZWQuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlSG9zdENBTWFjOjpjcmVhdGUpOiBDcmVhdGUgYW5kIGluaXRpYWxpemUg
YSBob3N0LgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0Q0FNYWM6OkxheWVyVHJlZUhv
c3RDQU1hYyk6IFNpbXBsZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
SG9zdENBTWFjOjp+TGF5ZXJUcmVlSG9zdENBTWFjKTogTW92ZWQgY29kZSBoZXJlIGZyb20gTGF5
ZXJUcmVlSG9zdENBCisgICAgICAgIGRlc3RydWN0b3IuCisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZUhvc3RDQU1hYzo6cGxhdGZvcm1Jbml0aWFsaXplKTogUmVtb3ZlZCBkaXJlY3QgdXNlcyBv
ZiBMYXllclRyZWVIb3N0Q0EKKyAgICAgICAgZGF0YSBtZW1iZXJzLgorCisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3RDQU1hYzo6aW52YWxpZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RDQU1hYzo6c2l6ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZUhvc3RDQU1hYzo6Zm9yY2VSZXBhaW50KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
SG9zdENBTWFjOjpkaWRQZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCk6CisgICAgICAgIFJlbmFt
ZWQgZnJvbSBwbGF0Zm9ybSouIE5vdyBjYWxsIHVwIHRvIHRoZSBiYXNlIGNsYXNzLgorCisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQU1hYzo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2Vz
UnVuTG9vcE9ic2VydmVyQ2FsbGJhY2spOiBVcGRhdGVkIHR5cGUuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvY2Evd2luL0xheWVyVHJlZUhvc3RDQVdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3RDQVdpbjo6Y3JlYXRlKTogQ3JlYXRlIGFuZCBpbml0aWFsaXpl
IGEgaG9zdC4KKworICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0Q0FXaW46OkxheWVyVHJl
ZUhvc3RDQVdpbik6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQVdpbjo6fkxheWVy
VHJlZUhvc3RDQVdpbik6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQVdpbjo6cGxh
dGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBV2luOjpz
Y2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICBTdHViYmVkIG91dC4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9jYS93aW4vTGF5ZXJUcmVlSG9zdENBV2luLmg6IEFkZGVkLgorCisg
ICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOiBBZGRlZCBMYXllclRyZWVIb3N0Q0FXaW4uaAor
CisgICAgICAgICogd2luL1dlYktpdDJBcHBsZS52c3Byb3BzOiBBZGRlZCBXZWJQcm9jZXNzL1dl
YlBhZ2UvY2Evd2luIHRvIHRoZSBpbmNsdWRlIHBhdGguCisKKzIwMTEtMDMtMzEgIEFkYW0gUm9i
ZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBTaGFyZWRNZW1vcnk6OmFkb3B0
LCB3aGljaCBjYW4gdGFrZSBvd25lcnNoaXAgb2YgYW4gZXhpc3RpbmcgZmlsZSBtYXBwaW5nIG9i
amVjdAogCiAgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU3NTk5PiBOZWVkIGEg
d2F5IHRvIHdyYXAgYW4gZXhpc3RpbmcgZmlsZSBtYXBwaW5nIG9iamVjdCBpbiBhCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDU0
ZjhmMjUzMjE3MmU2OWYzNzkxMzY2YjEzNDRlNjlmYWJiMDc5Mi4uMWVhYzIwNTY1ZThjOTcyMzRl
ZWI5ZWFlZTUwN2FjMGI0MDcxODQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYyLDYgKzc2Miw3IEBACiAJCUMwRTNBQTdB
MTIwOUU4MzAwMEE0OUQwMSAvKiBNb2R1bGVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEUzQUE0ODEyMDlFNDUwMDBBNDlEMDEgLyogTW9kdWxl
TWFjLm1tICovOyB9OwogCQlDMEUzQUE3QjEyMDlFODM1MDBBNDlEMDEgLyogTW9kdWxlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwRTNBQTQ1MTIw
OUUyQkEwMEE0OUQwMSAvKiBNb2R1bGUuY3BwICovOyB9OwogCQlDMEUzQUE3QzEyMDlFODNDMDBB
NDlEMDEgLyogTW9kdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmggKi87IH07CisJCUMw
RkE1MjQzMTM0NTY5NEEwMDI4RThDMiAvKiBMYXllclRyZWVIb3N0Q0FNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwRkE1MjQyMTM0NTY5NEEwMDI4
RThDMiAvKiBMYXllclRyZWVIb3N0Q0FNYWMuaCAqLzsgfTsKIAkJQzUxNzM4ODExMkRGOEY0RjAw
RUUzRjQ3IC8qIERyYWdDb250cm9sbGVyQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0Nv
bnRyb2xsZXJBY3Rpb24uaCAqLzsgfTsKIAkJQzUyMzdGNjAxMjQ0MUNBMzAwNzgwNDcyIC8qIFdl
YkVkaXRvckNsaWVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM1MjM3RjVGMTI0NDFDQTMwMDc4MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMu
bW0gKi87IH07CiAJCUM1NzRBMzc3MTJFNjA5OUQwMDJERkU5OCAvKiBXZWJEcmFnQ2xpZW50TWFj
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU1NEZG
QTIxMkU0RThFQTAwMkYyMkMwIC8qIFdlYkRyYWdDbGllbnRNYWMubW0gKi87IH07CkBAIC0xNjcx
LDYgKzE2NzIsNyBAQAogCQlDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vZHVsZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMwRTNBQTQ4MTIwOUU0NTAwMEE0OUQwMSAvKiBNb2R1bGVNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNb2R1bGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMwRkE1MjQyMTM0NTY5NEEwMDI4RThDMiAv
KiBMYXllclRyZWVIb3N0Q0FNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TGF5ZXJUcmVlSG9zdENBTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MTcz
ODgwMTJERjhGNEYwMEVFM0Y0NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEcmFnQ29udHJvbGxlckFjdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDNTIzN0Y1RjEyNDQxQ0EzMDA3ODA0NzIgLyogV2ViRWRpdG9y
Q2xpZW50TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
RWRpdG9yQ2xpZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTU0RkZB
MjEyRTRFOEVBMDAyRjIyQzAgLyogV2ViRHJhZ0NsaWVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkRyYWdDbGllbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTA4LDYgKzMxMTAsNyBAQAogCQlDMDNBMTM2QTEzM0JFQkY5
MDBENzY3RDEgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQlDMEZBNTI0MjEzNDU2OTRBMDAyOEU4QzIgLyogTGF5ZXJUcmVlSG9zdENBTWFjLmgg
Ki8sCiAJCQkJQzAzQTEzNkIxMzNCRUJGOTAwRDc2N0QxIC8qIExheWVyVHJlZUhvc3RDQU1hYy5t
bSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwpAQCAtMzY1MSw2ICszNjU0LDcgQEAKIAkJCQlD
MDY0NTA0QTEzM0JFNzA5MDAzNDcwRTIgLyogTGF5ZXJUcmVlSG9zdENBLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTEwQUUwRDEzM0MxNkNCMDA3MjcxN0EgLyogV0tJY29uRGF0YWJhc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMjNDRjFDMTMzRDI2MEEwMDU2RjgwMCAvKiBXS0ljb25EYXRhYmFz
ZUNHLmggaW4gSGVhZGVycyAqLywKKwkJCQlDMEZBNTI0MzEzNDU2OTRBMDAyOEU4QzIgLyogTGF5
ZXJUcmVlSG9zdENBTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCA3MzdlMTk1ZDcyMmRi
M2JiNTQxN2U2NmI0MGI4MmE1YWQzMjJjYTcyLi4zYWY2ZDUwMzIxNzJjNWEwZTExNzZiMzdhMjUz
NGE3NDU4YWQwNTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuY3BwCkBAIC0yNywxMCArMjcsMTAgQEAKICNpbmNsdWRlICJMYXll
clRyZWVIb3N0LmgiCiAKICNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAiTGF5ZXJUcmVlSG9z
dENBLmgiCi0jZW5kaWYKLQotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisj
aW5jbHVkZSAiTGF5ZXJUcmVlSG9zdENBTWFjLmgiCisjZWxpZiBQTEFURk9STShXSU4pCisjaW5j
bHVkZSAiTGF5ZXJUcmVlSG9zdENBV2luLmgiCisjZWxzZQogI2Vycm9yICJUaGlzIGNsYXNzIGlz
IG5vdCByZWFkeSBmb3IgdXNlIGJ5IG90aGVyIHBvcnRzIHlldC4iCiAjZW5kaWYKIApAQCAtNDEs
MTAgKzQxLDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0
PiBMYXllclRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKIHsKICNpZiBQTEFURk9S
TShNQUMpCi0gICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQTo6Y3JlYXRlKHdlYlBhZ2UpOworICAg
IHJldHVybiBMYXllclRyZWVIb3N0Q0FNYWM6OmNyZWF0ZSh3ZWJQYWdlKTsKKyNlbGlmIFBMQVRG
T1JNKFdJTikKKyAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdENBV2luOjpjcmVhdGUod2ViUGFnZSk7
CiAjZW5kaWYKLQotICAgIHJldHVybiAwOwogfQogCiBMYXllclRyZWVIb3N0OjpMYXllclRyZWVI
b3N0KFdlYlBhZ2UqIHdlYlBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwCmluZGV4IDI0NjA2MDdjZmZjNzFh
MGVkNTRjZDU0MGU0NDU4NWUxN2UyYjkwM2EuLmJmNzc4NGFjNTlkZDU0NjU5ZjY1Y2UxNjgzZjMz
ZjM0NWEyNmZiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwCkBAIC0zOCwyNCArMzgsMjIgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1QYXNzUmVmUHRyPExh
eWVyVHJlZUhvc3RDQT4gTGF5ZXJUcmVlSG9zdENBOjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkK
LXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IExheWVyVHJlZUhvc3RDQSh3ZWJQYWdlKSk7Ci19
Ci0KIExheWVyVHJlZUhvc3RDQTo6TGF5ZXJUcmVlSG9zdENBKFdlYlBhZ2UqIHdlYlBhZ2UpCiAg
ICAgOiBMYXllclRyZWVIb3N0KHdlYlBhZ2UpCiAgICAgLCBtX2lzVmFsaWQodHJ1ZSkKICAgICAs
IG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZsdXNoKGZhbHNlKQogeworfQogCit2b2lkIExh
eWVyVHJlZUhvc3RDQTo6aW5pdGlhbGl6ZSgpCit7CiAgICAgLy8gQ3JlYXRlIGEgcm9vdCBsYXll
ci4KICAgICBtX3Jvb3RMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZSh0aGlzKTsKICNpZm5k
ZWYgTkRFQlVHCiAgICAgbV9yb290TGF5ZXItPnNldE5hbWUoIkxheWVyVHJlZUhvc3Qgcm9vdCBs
YXllciIpOwogI2VuZGlmCiAgICAgbV9yb290TGF5ZXItPnNldERyYXdzQ29udGVudChmYWxzZSk7
Ci0gICAgbV9yb290TGF5ZXItPnNldFNpemUod2ViUGFnZS0+c2l6ZSgpKTsKKyAgICBtX3Jvb3RM
YXllci0+c2V0U2l6ZShtX3dlYlBhZ2UtPnNpemUoKSk7CiAKICAgICBtX25vbkNvbXBvc2l0ZWRD
b250ZW50TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUodGhpcyk7CiAjaWZuZGVmIE5ERUJV
RwpAQCAtNjMsNyArNjEsNyBAQCBMYXllclRyZWVIb3N0Q0E6OkxheWVyVHJlZUhvc3RDQShXZWJQ
YWdlKiB3ZWJQYWdlKQogI2VuZGlmCiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5z
ZXREcmF3c0NvbnRlbnQodHJ1ZSk7CiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5z
ZXRDb250ZW50c09wYXF1ZShtX3dlYlBhZ2UtPmRyYXdzQmFja2dyb3VuZCgpICYmICFtX3dlYlBh
Z2UtPmRyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkpOwotICAgIG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2V0U2l6ZSh3ZWJQYWdlLT5zaXplKCkpOworICAgIG1fbm9uQ29tcG9zaXRl
ZENvbnRlbnRMYXllci0+c2V0U2l6ZShtX3dlYlBhZ2UtPnNpemUoKSk7CiAgICAgaWYgKG1fd2Vi
UGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+YWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCgp
KQogICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldEFjY2VsZXJhdGVzRHJh
d2luZyh0cnVlKTsKIApAQCAtNzIsNyArNzAsNyBAQCBMYXllclRyZWVIb3N0Q0E6OkxheWVyVHJl
ZUhvc3RDQShXZWJQYWdlKiB3ZWJQYWdlKQogICAgIGlmIChtX3dlYlBhZ2UtPmhhc1BhZ2VPdmVy
bGF5KCkpCiAgICAgICAgIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKTsKIAotICAgIHBsYXRmb3Jt
SW5pdGlhbGl6ZSgpOworICAgIHBsYXRmb3JtSW5pdGlhbGl6ZShtX2xheWVyVHJlZUNvbnRleHQp
OwogCiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CiB9CkBAIC04MSwxMCArNzksNiBAQCBMYXll
clRyZWVIb3N0Q0E6On5MYXllclRyZWVIb3N0Q0EoKQogewogICAgIEFTU0VSVCghbV9pc1ZhbGlk
KTsKICAgICBBU1NFUlQoIW1fcm9vdExheWVyKTsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgQVNT
RVJUKCFtX2ZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlc1J1bkxvb3BPYnNlcnZlcik7Ci0gICAgQVNT
RVJUKCFtX3JlbW90ZUxheWVyQ2xpZW50KTsKLSNlbmRpZgogfQogCiBjb25zdCBMYXllclRyZWVD
b250ZXh0JiBMYXllclRyZWVIb3N0Q0E6OmxheWVyVHJlZUNvbnRleHQoKQpAQCAtMTA5LDcgKzEw
Myw2IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdENBOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihHcmFw
aGljc0xheWVyKiBncmFwaGljc0xheWVyKQogdm9pZCBMYXllclRyZWVIb3N0Q0E6OmludmFsaWRh
dGUoKQogewogICAgIEFTU0VSVChtX2lzVmFsaWQpOwotICAgIHBsYXRmb3JtSW52YWxpZGF0ZSgp
OwogICAgIG1fcm9vdExheWVyID0gbnVsbHB0cjsKICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKIH0K
QEAgLTEzOCwxNiArMTMxLDEyIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdENBOjpzaXplRGlkQ2hhbmdl
KGNvbnN0IEludFNpemUmIG5ld1NpemUpCiAKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKICAg
ICBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKTsKLQotICAgIHBsYXRmb3JtU2l6ZURpZENoYW5n
ZSgpOwogfQogCiB2b2lkIExheWVyVHJlZUhvc3RDQTo6Zm9yY2VSZXBhaW50KCkKIHsKICAgICBz
Y2hlZHVsZUxheWVyRmx1c2goKTsKICAgICBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKTsKLQot
ICAgIHBsYXRmb3JtRm9yY2VSZXBhaW50KCk7CiB9ICAgIAogCiB2b2lkIExheWVyVHJlZUhvc3RD
QTo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkKQEAgLTIxOCw4ICsyMDcsNiBAQCB2b2lkIExheWVy
VHJlZUhvc3RDQTo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKQogCiB2b2lkIExheWVyVHJl
ZUhvc3RDQTo6ZGlkUGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKQogewotICAgIHBsYXRmb3Jt
RGlkUGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKLQogICAgIGlmIChtX25vdGlmeUFmdGVy
U2NoZWR1bGVkTGF5ZXJGbHVzaCkgewogICAgICAgICAvLyBMZXQgdGhlIGRyYXdpbmcgYXJlYSBr
bm93IHRoYXQgd2UndmUgZG9uZSBhIGZsdXNoIG9mIHRoZSBsYXllciBjaGFuZ2VzLgogICAgICAg
ICBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYUltcGwqPihtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCkp
LT5sYXllckhvc3REaWRGbHVzaExheWVycygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oCmluZGV4IGJhNGUzM2FhNGQy
NGRkYjRlMTM4NDg0YzE3NTk0NWE3MzkzZTRkMTcuLjNhNjJkMTU5MGE3OTBjM2YxYjc5MDg2MDk3
ZDk5Y2ViYzUyZGYwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKQEAgLTMxLDM1ICszMSwzNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllckNsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLXR5cGVkZWYgc3RydWN0IF9fV0tDQVJlbW90ZUxheWVy
Q2xpZW50UmVmKiBXS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWY7Ci0jZW5kaWYKLQogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIExheWVyVHJlZUhvc3RDQSA6IHB1YmxpYyBMYXllclRyZWVIb3N0
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxMYXllclRyZWVIb3N0Q0E+IGNyZWF0ZShXZWJQYWdlKik7Ci0gICAgfkxheWVyVHJl
ZUhvc3RDQSgpOworICAgIHZpcnR1YWwgfkxheWVyVHJlZUhvc3RDQSgpOwogICAgIAotcHJpdmF0
ZToKK3Byb3RlY3RlZDoKICAgICBleHBsaWNpdCBMYXllclRyZWVIb3N0Q0EoV2ViUGFnZSopOwog
CisgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogcm9vdExheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9yb290TGF5ZXIuZ2V0KCk7IH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZSgpOworICAgIHZvaWQg
cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKKworICAgIC8vIExheWVyVHJlZUhvc3QuCisg
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENo
YW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQg
Zm9yY2VSZXBhaW50KCk7CisKKyAgICAvLyBMYXllclRyZWVIb3N0Q0EKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKKworcHJpdmF0ZToKICAgICAvLyBM
YXllclRyZWVIb3N0LgogICAgIHZpcnR1YWwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJU
cmVlQ29udGV4dCgpOwotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUxheWVyRmx1c2goKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJGbHVz
aChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllciopOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVk
Q29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5n
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKTsKLSAgICB2aXJ0dWFsIHZvaWQgZm9y
Y2VSZXBhaW50KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CkBAIC03MiwyMyAr
NzMsMTQgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG93UmVwYWludENvdW50ZXIoKSBjb25zdDsKIAotICAg
IHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7Ci0gICAgdm9pZCBwbGF0Zm9ybUludmFsaWRhdGUo
KTsKLSAgICB2b2lkIHBsYXRmb3JtU2l6ZURpZENoYW5nZSgpOwotICAgIHZvaWQgcGxhdGZvcm1G
b3JjZVJlcGFpbnQoKTsKKyAgICAvLyBMYXllclRyZWVIb3N0Q0EKKyAgICB2aXJ0dWFsIHZvaWQg
cGxhdGZvcm1Jbml0aWFsaXplKExheWVyVHJlZUNvbnRleHQmKSA9IDA7CiAKLSAgICB2b2lkIHBl
cmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7Ci0gICAgdm9pZCBkaWRQZXJmb3JtU2NoZWR1bGVk
TGF5ZXJGbHVzaCgpOwotICAgIHZvaWQgcGxhdGZvcm1EaWRQZXJmb3JtU2NoZWR1bGVkTGF5ZXJG
bHVzaCgpOwogICAgIGJvb2wgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7CiAKICAgICB2b2lk
IGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKTsKICAgICB2b2lkIGRlc3Ryb3lQYWdlT3ZlcmxheUxh
eWVyKCk7CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIHZvaWQgZmx1c2hQZW5kaW5n
TGF5ZXJDaGFuZ2VzUnVuTG9vcE9ic2VydmVyQ2FsbGJhY2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYs
IENGUnVuTG9vcEFjdGl2aXR5LCB2b2lkKik7Ci0jZW5kaWYKLQogICAgIC8vIFRoZSBjb250ZXh0
IGZvciB0aGlzIGxheWVyIHRyZWUuCiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNv
bnRleHQ7CiAKQEAgLTEwNywxMSArOTksNiBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHBhZ2Ug
b3ZlcmxheSBsYXllci4gV2lsbCBiZSBudWxsIGlmIHRoZXJlJ3Mgbm8gcGFnZSBvdmVybGF5Lgog
ICAgIE93blB0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPiBtX3BhZ2VPdmVybGF5TGF5ZXI7Ci0K
LSNpZiBQTEFURk9STShNQUMpCi0gICAgUmV0YWluUHRyPFdLQ0FSZW1vdGVMYXllckNsaWVudFJl
Zj4gbV9yZW1vdGVMYXllckNsaWVudDsKLSAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wT2JzZXJ2ZXJS
ZWY+IG1fZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzUnVuTG9vcE9ic2VydmVyOwotI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9jYS9tYWMvTGF5ZXJUcmVlSG9zdENBTWFjLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUzNGE2NzA4NzkzNDRmNmI4NThlYTZmMTA5N2E4MWU0OWU1NWJmYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVy
VHJlZUhvc3RDQU1hYy5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExh
eWVyVHJlZUhvc3RDQU1hY19oCisjZGVmaW5lIExheWVyVHJlZUhvc3RDQU1hY19oCisKKyNpbmNs
dWRlICJMYXllclRyZWVIb3N0Q0EuaCIKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisKK3R5
cGVkZWYgc3RydWN0IF9fV0tDQVJlbW90ZUxheWVyQ2xpZW50UmVmKiBXS0NBUmVtb3RlTGF5ZXJD
bGllbnRSZWY7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMYXllclRyZWVIb3N0Q0FN
YWMgOiBwdWJsaWMgTGF5ZXJUcmVlSG9zdENBIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxMYXllclRyZWVIb3N0Q0FNYWM+IGNyZWF0ZShXZWJQYWdlKik7CisgICAgdmlydHVhbCB+
TGF5ZXJUcmVlSG9zdENBTWFjKCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTGF5ZXJUcmVl
SG9zdENBTWFjKFdlYlBhZ2UqKTsKKworICAgIC8vIExheWVyVHJlZUhvc3QuCisgICAgdmlydHVh
bCB2b2lkIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
KCk7CisgICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYgbmV3U2l6ZSk7CisgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpOworCisgICAgLy8g
TGF5ZXJUcmVlSG9zdENBCisgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZShMYXll
clRyZWVDb250ZXh0Jik7CisgICAgdmlydHVhbCB2b2lkIGRpZFBlcmZvcm1TY2hlZHVsZWRMYXll
ckZsdXNoKCk7CisKKyAgICBzdGF0aWMgdm9pZCBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXNSdW5M
b29wT2JzZXJ2ZXJDYWxsYmFjayhDRlJ1bkxvb3BPYnNlcnZlclJlZiwgQ0ZSdW5Mb29wQWN0aXZp
dHksIHZvaWQqKTsKKworICAgIFJldGFpblB0cjxXS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWY+IG1f
cmVtb3RlTGF5ZXJDbGllbnQ7CisgICAgUmV0YWluUHRyPENGUnVuTG9vcE9ic2VydmVyUmVmPiBt
X2ZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlc1J1bkxvb3BPYnNlcnZlcjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gTGF5ZXJUcmVlSG9zdENBTWFjX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9tYWMvTGF5ZXJUcmVlSG9z
dENBTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXll
clRyZWVIb3N0Q0FNYWMubW0KaW5kZXggNTA3NzZkNzdiYTVkZjYyZjI5OTNhMzExMmVjMmNmMjM5
OGFlMGY3ZC4uOTU5YjhhYmYxYTAxZTVlZTdhMWEzOGFmZTgyZmE4ZTI3MGIzNDgzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVI
b3N0Q0FNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21h
Yy9MYXllclRyZWVIb3N0Q0FNYWMubW0KQEAgLTI0LDMyICsyNCw1MiBAQAogICovCiAKICNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiTGF5ZXJUcmVlSG9zdENBLmgiCisjaW1wb3J0ICJMYXll
clRyZWVIb3N0Q0FNYWMuaCIKIAogI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogI2ltcG9ydCA8UXVh
cnR6Q29yZS9DQVRyYW5zYWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIu
aD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKwogQGludGVyZmFjZSBDQVRyYW5zYWN0aW9uIChEZXRhaWxzKQogKyAodm9pZClz
eW5jaHJvbml6ZTsKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgTGF5ZXJUcmVl
SG9zdENBOjpwbGF0Zm9ybUluaXRpYWxpemUoKQorUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0Q0FN
YWM+IExheWVyVHJlZUhvc3RDQU1hYzo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCit7CisgICAg
UmVmUHRyPExheWVyVHJlZUhvc3RDQU1hYz4gaG9zdCA9IGFkb3B0UmVmKG5ldyBMYXllclRyZWVI
b3N0Q0FNYWMod2ViUGFnZSkpOworICAgIGhvc3QtPmluaXRpYWxpemUoKTsKKyAgICByZXR1cm4g
aG9zdC5yZWxlYXNlKCk7Cit9CisKK0xheWVyVHJlZUhvc3RDQU1hYzo6TGF5ZXJUcmVlSG9zdENB
TWFjKFdlYlBhZ2UqIHdlYlBhZ2UpCisgICAgOiBMYXllclRyZWVIb3N0Q0Eod2ViUGFnZSkKK3sK
K30KKworTGF5ZXJUcmVlSG9zdENBTWFjOjp+TGF5ZXJUcmVlSG9zdENBTWFjKCkKK3sKKyAgICBB
U1NFUlQoIW1fZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzUnVuTG9vcE9ic2VydmVyKTsKKyAgICBB
U1NFUlQoIW1fcmVtb3RlTGF5ZXJDbGllbnQpOworfQorCit2b2lkIExheWVyVHJlZUhvc3RDQU1h
Yzo6cGxhdGZvcm1Jbml0aWFsaXplKExheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQp
CiB7CiAgICAgbWFjaF9wb3J0X3Qgc2VydmVyUG9ydCA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNv
bXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpOwogICAgIG1fcmVtb3RlTGF5ZXJDbGllbnQgPSBX
S0NBUmVtb3RlTGF5ZXJDbGllbnRNYWtlV2l0aFNlcnZlclBvcnQoc2VydmVyUG9ydCk7CiAKLSAg
ICBbbV9yb290TGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSBzZXRHZW9tZXRyeUZsaXBwZWQ6WUVTXTsK
KyAgICBbcm9vdExheWVyKCktPnBsYXRmb3JtTGF5ZXIoKSBzZXRHZW9tZXRyeUZsaXBwZWQ6WUVT
XTsKIAotICAgIFdLQ0FSZW1vdGVMYXllckNsaWVudFNldExheWVyKG1fcmVtb3RlTGF5ZXJDbGll
bnQuZ2V0KCksIG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOworICAgIFdLQ0FSZW1vdGVM
YXllckNsaWVudFNldExheWVyKG1fcmVtb3RlTGF5ZXJDbGllbnQuZ2V0KCksIHJvb3RMYXllcigp
LT5wbGF0Zm9ybUxheWVyKCkpOwogCi0gICAgbV9sYXllclRyZWVDb250ZXh0LmNvbnRleHRJRCA9
IFdLQ0FSZW1vdGVMYXllckNsaWVudEdldENsaWVudElkKG1fcmVtb3RlTGF5ZXJDbGllbnQuZ2V0
KCkpOworICAgIGxheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gV0tDQVJlbW90ZUxheWVyQ2xp
ZW50R2V0Q2xpZW50SWQobV9yZW1vdGVMYXllckNsaWVudC5nZXQoKSk7CiB9CiAKLXZvaWQgTGF5
ZXJUcmVlSG9zdENBOjpzY2hlZHVsZUxheWVyRmx1c2goKQordm9pZCBMYXllclRyZWVIb3N0Q0FN
YWM6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiB7CiAgICAgQ0ZSdW5Mb29wUmVmIGN1cnJlbnRSdW5M
b29wID0gQ0ZSdW5Mb29wR2V0Q3VycmVudCgpOwogICAgIApAQCAtNjcsNyArODcsNyBAQCB2b2lk
IExheWVyVHJlZUhvc3RDQTo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAgICBDRlJ1bkxvb3BBZGRP
YnNlcnZlcihjdXJyZW50UnVuTG9vcCwgbV9mbHVzaFBlbmRpbmdMYXllckNoYW5nZXNSdW5Mb29w
T2JzZXJ2ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKLXZvaWQgTGF5ZXJU
cmVlSG9zdENBOjpwbGF0Zm9ybUludmFsaWRhdGUoKQordm9pZCBMYXllclRyZWVIb3N0Q0FNYWM6
OmludmFsaWRhdGUoKQogewogICAgIGlmIChtX2ZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlc1J1bkxv
b3BPYnNlcnZlcikgewogICAgICAgICBDRlJ1bkxvb3BPYnNlcnZlckludmFsaWRhdGUobV9mbHVz
aFBlbmRpbmdMYXllckNoYW5nZXNSdW5Mb29wT2JzZXJ2ZXIuZ2V0KCkpOwpAQCAtNzYsMzQgKzk2
LDQwIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdENBOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogCiAgICAg
V0tDQVJlbW90ZUxheWVyQ2xpZW50SW52YWxpZGF0ZShtX3JlbW90ZUxheWVyQ2xpZW50LmdldCgp
KTsKICAgICBtX3JlbW90ZUxheWVyQ2xpZW50ID0gbnVsbHB0cjsKKworICAgIExheWVyVHJlZUhv
c3RDQTo6aW52YWxpZGF0ZSgpOwogfQogCi12b2lkIExheWVyVHJlZUhvc3RDQTo6cGxhdGZvcm1T
aXplRGlkQ2hhbmdlKCkKK3ZvaWQgTGF5ZXJUcmVlSG9zdENBTWFjOjpzaXplRGlkQ2hhbmdlKGNv
bnN0IEludFNpemUmIG5ld1NpemUpCiB7CisgICAgTGF5ZXJUcmVlSG9zdENBOjpzaXplRGlkQ2hh
bmdlKG5ld1NpemUpOwogICAgIFtDQVRyYW5zYWN0aW9uIGZsdXNoXTsKICAgICBbQ0FUcmFuc2Fj
dGlvbiBzeW5jaHJvbml6ZV07CiB9CiAKLXZvaWQgTGF5ZXJUcmVlSG9zdENBOjpwbGF0Zm9ybUZv
cmNlUmVwYWludCgpCit2b2lkIExheWVyVHJlZUhvc3RDQU1hYzo6Zm9yY2VSZXBhaW50KCkKIHsK
KyAgICBMYXllclRyZWVIb3N0Q0E6OmZvcmNlUmVwYWludCgpOwogICAgIFtDQVRyYW5zYWN0aW9u
IGZsdXNoXTsKICAgICBbQ0FUcmFuc2FjdGlvbiBzeW5jaHJvbml6ZV07CiB9ICAgIAogCi12b2lk
IExheWVyVHJlZUhvc3RDQTo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzUnVuTG9vcE9ic2VydmVy
Q2FsbGJhY2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYsIENGUnVuTG9vcEFjdGl2aXR5LCB2b2lkKiBj
b250ZXh0KQordm9pZCBMYXllclRyZWVIb3N0Q0FNYWM6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdl
c1J1bkxvb3BPYnNlcnZlckNhbGxiYWNrKENGUnVuTG9vcE9ic2VydmVyUmVmLCBDRlJ1bkxvb3BB
Y3Rpdml0eSwgdm9pZCogY29udGV4dCkKIHsKICAgICAvLyBUaGlzIGdldHMgY2FsbGVkIG91dHNp
ZGUgb2YgdGhlIG5vcm1hbCBldmVudCBsb29wIHNvIHdyYXAgaW4gYW4gYXV0b3JlbGVhc2UgcG9v
bAogICAgIE5TQXV0b3JlbGVhc2VQb29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxv
Y10gaW5pdF07Ci0gICAgc3RhdGljX2Nhc3Q8TGF5ZXJUcmVlSG9zdENBKj4oY29udGV4dCktPnBl
cmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7CisgICAgc3RhdGljX2Nhc3Q8TGF5ZXJUcmVlSG9z
dENBTWFjKj4oY29udGV4dCktPnBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7CiAgICAgW3Bv
b2wgZHJhaW5dOwogfQogCi12b2lkIExheWVyVHJlZUhvc3RDQTo6cGxhdGZvcm1EaWRQZXJmb3Jt
U2NoZWR1bGVkTGF5ZXJGbHVzaCgpCit2b2lkIExheWVyVHJlZUhvc3RDQU1hYzo6ZGlkUGVyZm9y
bVNjaGVkdWxlZExheWVyRmx1c2goKQogewogICAgIC8vIFdlIHN1Y2Nlc3NmdWxseSBmbHVzaGVk
IHRoZSBwZW5kaW5nIGxheWVyIGNoYW5nZXMsIHJlbW92ZSB0aGUgcnVuIGxvb3Agb2JzZXJ2ZXIu
CiAgICAgQVNTRVJUKG1fZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzUnVuTG9vcE9ic2VydmVyKTsK
ICAgICBDRlJ1bkxvb3BPYnNlcnZlckludmFsaWRhdGUobV9mbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXNSdW5Mb29wT2JzZXJ2ZXIuZ2V0KCkpOwogICAgIG1fZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2Vz
UnVuTG9vcE9ic2VydmVyID0gMDsKKworICAgIExheWVyVHJlZUhvc3RDQTo6ZGlkUGVyZm9ybVNj
aGVkdWxlZExheWVyRmx1c2goKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2Evd2luL0xheWVyVHJlZUhv
c3RDQVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2Evd2luL0xh
eWVyVHJlZUhvc3RDQVdpbi5jcHAKaW5kZXggODFkYjAzZTA0OWUyNDZlZjkyNDFlZDBhNDQ2NDJl
NWJkNTk2MmUzNi4uYzlhNzExMGE2NDg5ZDIxNjY4M2RjOWEwMzViNmJlMDk4YTYwNDQ0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL3dpbi9MYXllclRy
ZWVIb3N0Q0FXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9j
YS93aW4vTGF5ZXJUcmVlSG9zdENBV2luLmNwcApAQCAtMjQsNDMgKzI0LDM2IEBACiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RDQS5oIgorI2luY2x1
ZGUgIkxheWVyVHJlZUhvc3RDQVdpbi5oIgogCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1l
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LXZvaWQgTGF5ZXJUcmVlSG9zdENBOjpwbGF0Zm9ybUluaXRpYWxpemUoKQorUGFzc1JlZlB0cjxM
YXllclRyZWVIb3N0Q0FXaW4+IExheWVyVHJlZUhvc3RDQVdpbjo6Y3JlYXRlKFdlYlBhZ2UqIHdl
YlBhZ2UpCiB7Ci0gICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzQ1NTY3PiBJbXBs
ZW1lbnQgdGhpcyEKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIFJlZlB0cjxMYXllclRyZWVI
b3N0Q0FXaW4+IGhvc3QgPSBhZG9wdFJlZihuZXcgTGF5ZXJUcmVlSG9zdENBV2luKHdlYlBhZ2Up
KTsKKyAgICBob3N0LT5pbml0aWFsaXplKCk7CisgICAgcmV0dXJuIGhvc3QucmVsZWFzZSgpOwog
fQogCi12b2lkIExheWVyVHJlZUhvc3RDQTo6c2NoZWR1bGVMYXllckZsdXNoKCkKK0xheWVyVHJl
ZUhvc3RDQVdpbjo6TGF5ZXJUcmVlSG9zdENBV2luKFdlYlBhZ2UqIHdlYlBhZ2UpCisgICAgOiBM
YXllclRyZWVIb3N0Q0Eod2ViUGFnZSkKIHsKLSAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQu
b3JnL2IvNDU1Njc+IEltcGxlbWVudCB0aGlzIQotICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LXZvaWQgTGF5ZXJUcmVlSG9zdENBOjpwbGF0Zm9ybUludmFsaWRhdGUoKQorTGF5ZXJUcmVlSG9z
dENBV2luOjp+TGF5ZXJUcmVlSG9zdENBV2luKCkKIHsKLSAgICAvLyBGSVhNRTogPGh0dHA6Ly93
ZWJraXQub3JnL2IvNDU1Njc+IEltcGxlbWVudCB0aGlzIQotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdENBOjpwbGF0Zm9ybVNpemVEaWRDaGFuZ2UoKQotewot
ICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi80NTU2Nz4gSW1wbGVtZW50IHRoaXMh
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXllclRyZWVIb3N0Q0E6OnBsYXRm
b3JtRm9yY2VSZXBhaW50KCkKK3ZvaWQgTGF5ZXJUcmVlSG9zdENBV2luOjpwbGF0Zm9ybUluaXRp
YWxpemUoTGF5ZXJUcmVlQ29udGV4dCYpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0
Lm9yZy9iLzQ1NTY3PiBJbXBsZW1lbnQgdGhpcyEKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQog
Ci12b2lkIExheWVyVHJlZUhvc3RDQTo6cGxhdGZvcm1EaWRQZXJmb3JtU2NoZWR1bGVkTGF5ZXJG
bHVzaCgpCit2b2lkIExheWVyVHJlZUhvc3RDQVdpbjo6c2NoZWR1bGVMYXllckZsdXNoKCkKIHsK
ICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvNDU1Njc+IEltcGxlbWVudCB0aGlz
IQogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvY2Evd2luL0xheWVyVHJlZUhvc3RDQVdpbi5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL3dpbi9MYXllclRyZWVIb3N0Q0FXaW4uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMWIzYzU4ZDE5NGJjNmIxNTY5NWYzMzRkNWU3OTNiMTE5NmYxYWRkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL3dpbi9MYXllclRy
ZWVIb3N0Q0FXaW4uaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMYXll
clRyZWVIb3N0Q0FXaW5faAorI2RlZmluZSBMYXllclRyZWVIb3N0Q0FXaW5faAorCisjaW5jbHVk
ZSAiTGF5ZXJUcmVlSG9zdENBLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMYXll
clRyZWVIb3N0Q0FXaW4gOiBwdWJsaWMgTGF5ZXJUcmVlSG9zdENBIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0Q0FXaW4+IGNyZWF0ZShXZWJQYWdlKik7Cisg
ICAgdmlydHVhbCB+TGF5ZXJUcmVlSG9zdENBV2luKCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGlj
aXQgTGF5ZXJUcmVlSG9zdENBV2luKFdlYlBhZ2UqKTsKKworICAgIC8vIExheWVyVHJlZUhvc3QK
KyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVMYXllckZsdXNoKCk7CisKKyAgICAvLyBMYXllclRy
ZWVIb3N0Q0EKKyAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKExheWVyVHJlZUNv
bnRleHQmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gTGF5ZXJU
cmVlSG9zdENBV2luX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCA1ZTRmZmE4OWU3
ZGIxYjUyZTEyNjYwNGNmOTJhYWZkYjMwYzQzNzkwLi4xZWM3YTY2ZDgzOWE3NTg1NjgwMWQ4ZWFk
YmNkMGQ3M2RlMTdhZjUzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52
Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0xOTYzLDYg
KzE5NjMsMTAgQEAKIAkJCQkJCQkJLz4KIAkJCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
CQkJPC9GaWxlPgorCQkJCQkJPEZpbGUKKwkJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nl
c3NcV2ViUGFnZVxjYVx3aW5cTGF5ZXJUcmVlSG9zdENBV2luLmgiCisJCQkJCQkJPgorCQkJCQkJ
PC9GaWxlPgogCQkJCQk8L0ZpbHRlcj4KIAkJCQk8L0ZpbHRlcj4KIAkJCTwvRmlsdGVyPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJBcHBsZS52c3Byb3BzIGIvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJBcHBsZS52c3Byb3BzCmluZGV4IDY4ZDAxYWNkNWQxYTJmZThi
MGZiNDZjYTRlZWNmNDNkMDgwZDYyOGMuLjJhNDVkNjVjMDE5OGVlMWYxN2JhYmIzMjczODZmMTgw
YzFiOTQwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQXBwbGUudnNw
cm9wcworKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkFwcGxlLnZzcHJvcHMKQEAgLTYs
NyArNiw3IEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLlxXZWJQcm9jZXNz
XFdlYlBhZ2VcY2EmcXVvdDsiCisJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90
OyQoUHJvamVjdERpcikuLlxXZWJQcm9jZXNzXFdlYlBhZ2VcY2EmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXFdlYlByb2Nlc3NcV2ViUGFnZVxjYVx3aW4mcXVvdDsiCiAJLz4KIAk8VG9vbAog
CQlOYW1lPSJWQ0xpbmtlclRvb2wiCg==
</data>
<flag name="review"
          id="80272"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>