<?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>179614</bug_id>
          
          <creation_ts>2017-11-13 08:53:48 -0800</creation_ts>
          <short_desc>[Cairo] Move simpler draw operations from GraphicsContextCairo to CairoOperations</short_desc>
          <delta_ts>2017-11-15 09:34:31 -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>1370917</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-13 08:53:48 -0800</bug_when>
    <thetext>[Cairo] Move simpler draw operations from GraphicsContextCairo to CairoOperations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370919</commentid>
    <comment_count>1</comment_count>
      <attachid>326763</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-13 09:00:01 -0800</bug_when>
    <thetext>Created attachment 326763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371310</commentid>
    <comment_count>2</comment_count>
      <attachid>326763</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-14 00:08:26 -0800</bug_when>
    <thetext>Comment on attachment 326763
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=326763&amp;action=review

&gt; Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:541
&gt; +    RefPtr&lt;cairo_surface_t&gt; surface = image.nativeImageForCurrentFrame();
&gt; +    if (surface)

if (auto surface = image.nativeImageForCurrentFrame())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371318</commentid>
    <comment_count>3</comment_count>
      <attachid>326867</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-14 00:47:41 -0800</bug_when>
    <thetext>Created attachment 326867
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371321</commentid>
    <comment_count>4</comment_count>
      <attachid>326867</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-14 00:50:15 -0800</bug_when>
    <thetext>Comment on attachment 326867
Patch for landing

Clearing flags on attachment: 326867

Committed r224808: &lt;https://trac.webkit.org/changeset/224808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371322</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-14 00:50:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371892</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:34:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/35561987&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326763</attachid>
            <date>2017-11-13 09:00:01 -0800</date>
            <delta_ts>2017-11-14 00:47:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179614-20171113175959.patch</filename>
            <type>text/plain</type>
            <size>11748</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU4ZTg4ZjZmMzAwOGQ5
OTU5ZGNmZmVkMDQ3MWRiMDQ2YjJiMDM0Zi4uZTMyODZkNmY4YjQ0ZWQ1MGY2ZGQ1NzdhMWQzMjBj
ZDZmY2U1Y2M4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDE3LTExLTEzICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbQ2Fpcm9dIE1vdmUg
c2ltcGxlciBkcmF3IG9wZXJhdGlvbnMgZnJvbSBHcmFwaGljc0NvbnRleHRDYWlybyB0byBDYWly
b09wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1vdmUgb3BlcmF0aW9ucyB0aGF0IHBlcmZvcm0gc2ltcGxlciBkcmF3aW5nIHRvIHRoZSBD
YWlyb09wZXJhdGlvbnMKKyAgICAgICAgZmlsZS4gVGhpcyBpc29sYXRlcyB0aGUgQ2Fpcm8gY29k
ZSBhbmQgZW5jYXBzdWxhdGVzIG9wZXJhdGlvbiB3b3JrCisgICAgICAgIGludG8gYSBsaW1pdGVk
IHNjb3BlLiBUaGlzIHBhdGNoIG9ubHkgY292ZXJzIGRyYXdpbmcgcGF0dGVybnMsCisgICAgICAg
IHJlY3RhbmdsZXMsIGRvY3VtZW50IG1hcmtlciBsaW5lcyBhbmQgZWxsaXBzZXMuIEEgbWlzc2lu
ZyBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9uIGZvciB0aGUgZHJhd0dseXBocygpIGZ1bmN0
aW9uIGlzIGFsc28gYWRkZWQgaW4gdGhlCisgICAgICAgIENhaXJvT3BlcmF0aW9ucyBoZWFkZXIu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWlybzo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fp
cm86OmRyYXdSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3TGluZUZvckRvY3Vt
ZW50TWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3RWxsaXBzZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3UmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdFbGxpcHNlKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JEb2N1bWVudE1hcmtlcik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdQYXR0ZXJuKToKKworMjAxNy0xMS0xMyAgWmFuIERv
YmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKICAgICAgICAgW0NhaXJvXSBNb3ZlIHN0
YXRlIGNoYW5nZSBvcGVyYXRpb25zIGZyb20gR3JhcGhpY3NDb250ZXh0Q2Fpcm8gdG8gQ2Fpcm9P
cGVyYXRpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzk2MTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHAKaW5kZXggM2UwZWFmNjQzMDkxODhiZTQ3MDgw
ODdiNzg0NjBhYzI5ZDA1OTRjOS4uMTU5MjkzYjIzYWNkM2E4YTdmMWFiYzYwZWY2NWQyODA2OTRh
NmU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Q2Fpcm9PcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAKICNpZiBVU0Uo
Q0FJUk8pCiAKKyNpbmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNpbmNsdWRlICJGbG9h
dENvbnZlcnNpb24uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHQuaCIKQEAgLTUzNCw2ICs1MzUsNzggQEAgdm9pZCBkcmF3R2x5cGhzKFBsYXRmb3Jt
Q29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXQK
ICAgICBjYWlyb19yZXN0b3JlKGNyKTsKIH0KIAordm9pZCBkcmF3UGF0dGVybihQbGF0Zm9ybUNv
bnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVj
dCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5z
Zm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbXBvc2l0
ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQoreworICAg
IFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1cmZhY2UgPSBpbWFnZS5uYXRpdmVJbWFnZUZvckN1
cnJlbnRGcmFtZSgpOworICAgIGlmIChzdXJmYWNlKQorICAgICAgICBkcmF3UGF0dGVyblRvQ2Fp
cm9Db250ZXh0KHBsYXRmb3JtQ29udGV4dC5jcigpLCBzdXJmYWNlLmdldCgpLCBJbnRTaXplKGlt
YWdlLnNpemUoKSksIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgdG9DYWlyb09w
ZXJhdG9yKGNvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE1vZGUpLCBkZXN0UmVjdCk7Cit9CisKK3Zv
aWQgZHJhd1JlY3QoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29udGV4dCwgY29uc3Qg
RmxvYXRSZWN0JiByZWN0LCBmbG9hdCBib3JkZXJUaGlja25lc3MsIGNvbnN0IEdyYXBoaWNzQ29u
dGV4dFN0YXRlJiBzdGF0ZSkKK3sKKyAgICAvLyBGSVhNRTogaG93IHNob3VsZCBib3JkZXJUaGlj
a25lc3MgYmUgdXNlZD8KKyAgICBVTlVTRURfUEFSQU0oYm9yZGVyVGhpY2tuZXNzKTsKKworICAg
IGNhaXJvX3QqIGNyID0gcGxhdGZvcm1Db250ZXh0LmNyKCk7CisgICAgY2Fpcm9fc2F2ZShjcik7
CisKKyAgICBmaWxsUmVjdFdpdGhDb2xvcihjciwgcmVjdCwgc3RhdGUuZmlsbENvbG9yKTsKKwor
ICAgIGlmIChzdGF0ZS5zdHJva2VTdHlsZSAhPSBOb1N0cm9rZSkgeworICAgICAgICBzZXRTb3Vy
Y2VSR0JBRnJvbUNvbG9yKGNyLCBzdGF0ZS5zdHJva2VDb2xvcik7CisgICAgICAgIEZsb2F0UmVj
dCByKHJlY3QpOworICAgICAgICByLmluZmxhdGUoLS41Zik7CisgICAgICAgIGNhaXJvX3JlY3Rh
bmdsZShjciwgci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkpOworICAgICAgICBj
YWlyb19zZXRfbGluZV93aWR0aChjciwgMS4wKTsgLy8gYm9yZGVyVGhpY2tuZXNzPworICAgICAg
ICBjYWlyb19zdHJva2UoY3IpOworICAgIH0KKworICAgIGNhaXJvX3Jlc3RvcmUoY3IpOworfQor
Cit2b2lkIGRyYXdMaW5lRm9yRG9jdW1lbnRNYXJrZXIoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mIHBs
YXRmb3JtQ29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgR3Jh
cGhpY3NDb250ZXh0OjpEb2N1bWVudE1hcmtlckxpbmVTdHlsZSBzdHlsZSkKK3sKKyAgICBpZiAo
c3R5bGUgIT0gR3JhcGhpY3NDb250ZXh0OjpEb2N1bWVudE1hcmtlclNwZWxsaW5nTGluZVN0eWxl
CisgICAgICAgICYmIHN0eWxlICE9IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1lbnRNYXJrZXJHcmFt
bWFyTGluZVN0eWxlKQorICAgICAgICByZXR1cm47CisKKyAgICBjYWlyb190KiBjciA9IHBsYXRm
b3JtQ29udGV4dC5jcigpOworICAgIGNhaXJvX3NhdmUoY3IpOworCisgICAgaWYgKHN0eWxlID09
IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1lbnRNYXJrZXJTcGVsbGluZ0xpbmVTdHlsZSkKKyAgICAg
ICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2IoY3IsIDEsIDAsIDApOworICAgIGVsc2UgaWYgKHN0eWxl
ID09IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1lbnRNYXJrZXJHcmFtbWFyTGluZVN0eWxlKQorICAg
ICAgICBjYWlyb19zZXRfc291cmNlX3JnYihjciwgMCwgMSwgMCk7CisKKyAgICBkcmF3RXJyb3JV
bmRlcmxpbmUoY3IsIG9yaWdpbi54KCksIG9yaWdpbi55KCksIHdpZHRoLCBjTWlzc3BlbGxpbmdM
aW5lVGhpY2tuZXNzKTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKK30KKwordm9pZCBkcmF3RWxs
aXBzZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHJlY3QsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSkKK3sKKyAgICBjYWly
b190KiBjciA9IHBsYXRmb3JtQ29udGV4dC5jcigpOworCisgICAgY2Fpcm9fc2F2ZShjcik7Cisg
ICAgZmxvYXQgeVJhZGl1cyA9IC41ICogcmVjdC5oZWlnaHQoKTsKKyAgICBmbG9hdCB4UmFkaXVz
ID0gLjUgKiByZWN0LndpZHRoKCk7CisgICAgY2Fpcm9fdHJhbnNsYXRlKGNyLCByZWN0LngoKSAr
IHhSYWRpdXMsIHJlY3QueSgpICsgeVJhZGl1cyk7CisgICAgY2Fpcm9fc2NhbGUoY3IsIHhSYWRp
dXMsIHlSYWRpdXMpOworICAgIGNhaXJvX2FyYyhjciwgMC4sIDAuLCAxLiwgMC4sIDIgKiBwaUZs
b2F0KTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKKworICAgIGlmIChzdGF0ZS5maWxsQ29sb3Iu
aXNWaXNpYmxlKCkpIHsKKyAgICAgICAgc2V0U291cmNlUkdCQUZyb21Db2xvcihjciwgc3RhdGUu
ZmlsbENvbG9yKTsKKyAgICAgICAgY2Fpcm9fZmlsbF9wcmVzZXJ2ZShjcik7CisgICAgfQorCisg
ICAgaWYgKHN0YXRlLnN0cm9rZVN0eWxlICE9IE5vU3Ryb2tlKSB7CisgICAgICAgIHNldFNvdXJj
ZVJHQkFGcm9tQ29sb3IoY3IsIHN0YXRlLnN0cm9rZUNvbG9yKTsKKyAgICAgICAgY2Fpcm9fc2V0
X2xpbmVfd2lkdGgoY3IsIHN0YXRlLnN0cm9rZVRoaWNrbmVzcyk7CisgICAgICAgIGNhaXJvX3N0
cm9rZShjcik7CisgICAgfSBlbHNlCisgICAgICAgIGNhaXJvX25ld19wYXRoKGNyKTsKK30KKwog
dm9pZCBkcmF3Rm9jdXNSaW5nKFBsYXRmb3JtQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQs
IGNvbnN0IFBhdGgmIHBhdGgsIGZsb2F0IHdpZHRoLCBjb25zdCBDb2xvciYgY29sb3IpCiB7CiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCBkcmF3IHBhdGhzIHRoYXQgZGVzY3JpYmUgYSByZWN0YW5n
bGUgd2l0aCByb3VuZGVkIGNvcm5lcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKaW5kZXggZmMzOGM3YmU0MTAw
OGU5NDBjZDAzNzgxNWY3MmZhMzVmNjdmM2U2Zi4uY2Q1NzU4YTZlNmVjMGMyYmVjN2EzMmQwMTVl
Y2IzZWRmZjRiOGYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKQEAgLTkzLDYgKzkzLDE0IEBAIHZvaWQg
c3Ryb2tlUmVjdChQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UmVjdCYsIGZsb2F0
LCBjb25zdCBHcmFwaGljc0NvCiB2b2lkIHN0cm9rZVBhdGgoUGxhdGZvcm1Db250ZXh0Q2Fpcm8m
LCBjb25zdCBQYXRoJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmLCBHcmFwaGljc0NvbnRl
eHQmKTsKIHZvaWQgY2xlYXJSZWN0KFBsYXRmb3JtQ29udGV4dENhaXJvJiwgY29uc3QgRmxvYXRS
ZWN0Jik7CiAKK3ZvaWQgZHJhd0dseXBocyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBHcmFwaGlj
c0NvbnRleHRTdGF0ZSYsIGJvb2wsIGNvbnN0IEZsb2F0UG9pbnQmLCBjYWlyb19zY2FsZWRfZm9u
dF90KiwgZG91YmxlLCBjb25zdCBWZWN0b3I8Y2Fpcm9fZ2x5cGhfdD4mLCBmbG9hdCwgR3JhcGhp
Y3NDb250ZXh0Jik7CisKK3ZvaWQgZHJhd1BhdHRlcm4oUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBJ
bWFnZSYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYsIGNvbnN0IEZsb2F0UG9pbnQmLCBDb21wb3NpdGVPcGVyYXRvciwgQmxlbmRNb2Rl
KTsKKwordm9pZCBkcmF3UmVjdChQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UmVj
dCYsIGZsb2F0LCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYpOwordm9pZCBkcmF3TGluZUZv
ckRvY3VtZW50TWFya2VyKFBsYXRmb3JtQ29udGV4dENhaXJvJiwgY29uc3QgRmxvYXRQb2ludCYs
IGZsb2F0LCBHcmFwaGljc0NvbnRleHQ6OkRvY3VtZW50TWFya2VyTGluZVN0eWxlKTsKK3ZvaWQg
ZHJhd0VsbGlwc2UoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjb25zdCBGbG9hdFJlY3QmLCBjb25z
dCBHcmFwaGljc0NvbnRleHRTdGF0ZSYpOworCiB2b2lkIGRyYXdGb2N1c1JpbmcoUGxhdGZvcm1D
b250ZXh0Q2Fpcm8mLCBjb25zdCBQYXRoJiwgZmxvYXQsIGNvbnN0IENvbG9yJik7CiB2b2lkIGRy
YXdGb2N1c1JpbmcoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjb25zdCBWZWN0b3I8RmxvYXRSZWN0
PiYsIGZsb2F0LCBjb25zdCBDb2xvciYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAK
aW5kZXggZTE5Y2JhMjI2ZGEwN2M0ZDkwY2QzZGQ5ZGFhOTBmYTYxMWI0ODg2Yi4uOWI2NmMxOWVl
MTgzMjc4NDk3NGUyZmUwZjA4YTQwYzY3ZTI4Y2NiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENh
aXJvLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgog
I2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRGlzcGxheUxpc3RSZWNvcmRl
ci5oIgotI2luY2x1ZGUgIkRyYXdFcnJvclVuZGVybGluZS5oIgogI2luY2x1ZGUgIkZsb2F0Q29u
dmVyc2lvbi5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRl
ZFJlY3QuaCIKQEAgLTIzOCwyMiArMjM3LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgYm9yZGVyVGhpY2tuZXNzKQogICAgIH0K
IAogICAgIEFTU0VSVCghcmVjdC5pc0VtcHR5KCkpOwotCi0gICAgY2Fpcm9fdCogY3IgPSBwbGF0
Zm9ybUNvbnRleHQoKS0+Y3IoKTsKLSAgICBjYWlyb19zYXZlKGNyKTsKLQotICAgIGZpbGxSZWN0
V2l0aENvbG9yKGNyLCByZWN0LCBmaWxsQ29sb3IoKSk7Ci0KLSAgICBpZiAoc3Ryb2tlU3R5bGUo
KSAhPSBOb1N0cm9rZSkgewotICAgICAgICBzZXRTb3VyY2VSR0JBRnJvbUNvbG9yKGNyLCBzdHJv
a2VDb2xvcigpKTsKLSAgICAgICAgRmxvYXRSZWN0IHIocmVjdCk7Ci0gICAgICAgIHIuaW5mbGF0
ZSgtLjVmKTsKLSAgICAgICAgY2Fpcm9fcmVjdGFuZ2xlKGNyLCByLngoKSwgci55KCksIHIud2lk
dGgoKSwgci5oZWlnaHQoKSk7Ci0gICAgICAgIGNhaXJvX3NldF9saW5lX3dpZHRoKGNyLCAxLjAp
OyAvLyBib3JkZXJUaGlja25lc3M/Ci0gICAgICAgIGNhaXJvX3N0cm9rZShjcik7Ci0gICAgfQot
Ci0gICAgY2Fpcm9fcmVzdG9yZShjcik7CisgICAgQVNTRVJUKGhhc1BsYXRmb3JtQ29udGV4dCgp
KTsKKyAgICBDYWlybzo6ZHJhd1JlY3QoKnBsYXRmb3JtQ29udGV4dCgpLCByZWN0LCBib3JkZXJU
aGlja25lc3MsIHN0YXRlKCkpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd05hdGl2
ZUltYWdlKGNvbnN0IE5hdGl2ZUltYWdlUHRyJiBpbWFnZSwgY29uc3QgRmxvYXRTaXplJiBpbWFn
ZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVj
dCwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIEJsZW5kTW9kZSBibGVuZE1vZGUsIEltYWdlT3JpZW50
YXRpb24gb3JpZW50YXRpb24pCkBAIC0zNzUsMjYgKzM2MCw4IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3RWxsaXBzZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwotICAg
IGNhaXJvX3NhdmUoY3IpOwotICAgIGZsb2F0IHlSYWRpdXMgPSAuNSAqIHJlY3QuaGVpZ2h0KCk7
Ci0gICAgZmxvYXQgeFJhZGl1cyA9IC41ICogcmVjdC53aWR0aCgpOwotICAgIGNhaXJvX3RyYW5z
bGF0ZShjciwgcmVjdC54KCkgKyB4UmFkaXVzLCByZWN0LnkoKSArIHlSYWRpdXMpOwotICAgIGNh
aXJvX3NjYWxlKGNyLCB4UmFkaXVzLCB5UmFkaXVzKTsKLSAgICBjYWlyb19hcmMoY3IsIDAuLCAw
LiwgMS4sIDAuLCAyICogcGlGbG9hdCk7Ci0gICAgY2Fpcm9fcmVzdG9yZShjcik7Ci0KLSAgICBp
ZiAoZmlsbENvbG9yKCkuaXNWaXNpYmxlKCkpIHsKLSAgICAgICAgc2V0U291cmNlUkdCQUZyb21D
b2xvcihjciwgZmlsbENvbG9yKCkpOwotICAgICAgICBjYWlyb19maWxsX3ByZXNlcnZlKGNyKTsK
LSAgICB9Ci0KLSAgICBpZiAoc3Ryb2tlU3R5bGUoKSAhPSBOb1N0cm9rZSkgewotICAgICAgICBz
ZXRTb3VyY2VSR0JBRnJvbUNvbG9yKGNyLCBzdHJva2VDb2xvcigpKTsKLSAgICAgICAgY2Fpcm9f
c2V0X2xpbmVfd2lkdGgoY3IsIHN0cm9rZVRoaWNrbmVzcygpKTsKLSAgICAgICAgY2Fpcm9fc3Ry
b2tlKGNyKTsKLSAgICB9IGVsc2UKLSAgICAgICAgY2Fpcm9fbmV3X3BhdGgoY3IpOworICAgIEFT
U0VSVChoYXNQbGF0Zm9ybUNvbnRleHQoKSk7CisgICAgQ2Fpcm86OmRyYXdFbGxpcHNlKCpwbGF0
Zm9ybUNvbnRleHQoKSwgcmVjdCwgc3RhdGUoKSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpmaWxsUGF0aChjb25zdCBQYXRoJiBwYXRoKQpAQCAtNTkyLDI0ICs1NTksMTMgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yRG9jdW1lbnRNYXJrZXIoY29uc3QgRmxvYXRQb2lu
dCYgb3JpZ2luLCBmbG9hdAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1Db250ZXh0KCktPmNyKCk7Ci0gICAg
Y2Fpcm9fc2F2ZShjcik7Ci0KLSAgICBzd2l0Y2ggKHN0eWxlKSB7Ci0gICAgY2FzZSBEb2N1bWVu
dE1hcmtlclNwZWxsaW5nTGluZVN0eWxlOgotICAgICAgICBjYWlyb19zZXRfc291cmNlX3JnYihj
ciwgMSwgMCwgMCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRG9jdW1lbnRNYXJrZXJHcmFt
bWFyTGluZVN0eWxlOgotICAgICAgICBjYWlyb19zZXRfc291cmNlX3JnYihjciwgMCwgMSwgMCk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGNhaXJvX3Jlc3RvcmUoY3Ip
OworICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgbV9pbXBsLT5kcmF3TGluZUZvckRvY3VtZW50
TWFya2VyKG9yaWdpbiwgd2lkdGgsIHN0eWxlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGRyYXdFcnJvclVuZGVybGluZShjciwgb3JpZ2luLngoKSwgb3JpZ2luLnkoKSwgd2lkdGgs
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3MpOwotCi0gICAgY2Fpcm9fcmVzdG9yZShjcik7Cisg
ICAgQVNTRVJUKGhhc1BsYXRmb3JtQ29udGV4dCgpKTsKKyAgICBDYWlybzo6ZHJhd0xpbmVGb3JE
b2N1bWVudE1hcmtlcigqcGxhdGZvcm1Db250ZXh0KCksIG9yaWdpbiwgd2lkdGgsIHN0eWxlKTsK
IH0KIAogRmxvYXRSZWN0IEdyYXBoaWNzQ29udGV4dDo6cm91bmRUb0RldmljZVBpeGVscyhjb25z
dCBGbG9hdFJlY3QmIHJlY3QsIFJvdW5kaW5nTW9kZSkKQEAgLTkzMiwyMiArODg4LDE4IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdFdpdGhSb3VuZGVkSG9sZShjb25zdCBGbG9hdFJl
Y3QmIHJlY3QsIGNvbnN0IEZsb2F0CiAgICAgQ2Fpcm86OmZpbGxSZWN0V2l0aFJvdW5kZWRIb2xl
KCpwbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCwgcm91bmRlZEhvbGVSZWN0LCBzdGF0ZSgpLCBtdXN0
VXNlU2hhZG93Qmx1cigpLCAqdGhpcyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
UGF0dGVybihJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9y
bSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgQ29t
cG9zaXRlT3BlcmF0b3Igb3AsIEJsZW5kTW9kZSBibGVuZE1vZGUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIHRpbGVSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRl
cm5UcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNw
YWNpbmcsIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxl
bmRNb2RlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmIChtX2ltcGwpIHsKLSAgICAgICAgbV9pbXBsLT5kcmF3UGF0dGVybihpbWFnZSwg
ZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3BhY2luZywgb3As
IGJsZW5kTW9kZSk7CisgICAgICAgIG1faW1wbC0+ZHJhd1BhdHRlcm4oaW1hZ2UsIGRlc3RSZWN0
LCB0aWxlUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHNwYWNpbmcsIGNvbXBvc2l0ZU9w
ZXJhdG9yLCBibGVuZE1vZGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRy
PGNhaXJvX3N1cmZhY2VfdD4gc3VyZmFjZSA9IGltYWdlLm5hdGl2ZUltYWdlRm9yQ3VycmVudEZy
YW1lKCk7Ci0gICAgaWYgKCFzdXJmYWNlKSAvLyBJZiBpdCdzIHRvbyBlYXJseSB3ZSB3b24ndCBo
YXZlIGFuIGltYWdlIHlldC4KLSAgICAgICAgcmV0dXJuOwotCi0gICAgY2Fpcm9fdCogY3IgPSBw
bGF0Zm9ybUNvbnRleHQoKS0+Y3IoKTsKLSAgICBkcmF3UGF0dGVyblRvQ2Fpcm9Db250ZXh0KGNy
LCBzdXJmYWNlLmdldCgpLCBJbnRTaXplKGltYWdlLnNpemUoKSksIHRpbGVSZWN0LCBwYXR0ZXJu
VHJhbnNmb3JtLCBwaGFzZSwgdG9DYWlyb09wZXJhdG9yKG9wLCBibGVuZE1vZGUpLCBkZXN0UmVj
dCk7CisgICAgQVNTRVJUKGhhc1BsYXRmb3JtQ29udGV4dCgpKTsKKyAgICBDYWlybzo6ZHJhd1Bh
dHRlcm4oKnBsYXRmb3JtQ29udGV4dCgpLCBpbWFnZSwgZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0
ZXJuVHJhbnNmb3JtLCBwaGFzZSwgY29tcG9zaXRlT3BlcmF0b3IsIGJsZW5kTW9kZSk7CiB9CiAK
IHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNob3VsZEFudGlhbGlhcyhib29sIGVu
YWJsZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326867</attachid>
            <date>2017-11-14 00:47:41 -0800</date>
            <delta_ts>2017-11-14 00:47:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-179614-20171114094739.patch</filename>
            <type>text/plain</type>
            <size>11625</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk2ZjdjZDgxNjJiYjYz
OWYwZTc0YTA3ODY1OWQ3OTZiMDhmZmFiNy4uNjU3MmM0YjkxYTY4NDFmNjQ1YmVlMDcxNTBjZTg3
ZmMwZTEwNmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTExLTE0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ2Fpcm9dIE1vdmUg
c2ltcGxlciBkcmF3IG9wZXJhdGlvbnMgZnJvbSBHcmFwaGljc0NvbnRleHRDYWlybyB0byBDYWly
b09wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgor
CisgICAgICAgIE1vdmUgb3BlcmF0aW9ucyB0aGF0IHBlcmZvcm0gc2ltcGxlciBkcmF3aW5nIHRv
IHRoZSBDYWlyb09wZXJhdGlvbnMKKyAgICAgICAgZmlsZS4gVGhpcyBpc29sYXRlcyB0aGUgQ2Fp
cm8gY29kZSBhbmQgZW5jYXBzdWxhdGVzIG9wZXJhdGlvbiB3b3JrCisgICAgICAgIGludG8gYSBs
aW1pdGVkIHNjb3BlLiBUaGlzIHBhdGNoIG9ubHkgY292ZXJzIGRyYXdpbmcgcGF0dGVybnMsCisg
ICAgICAgIHJlY3RhbmdsZXMsIGRvY3VtZW50IG1hcmtlciBsaW5lcyBhbmQgZWxsaXBzZXMuIEEg
bWlzc2luZyBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9uIGZvciB0aGUgZHJhd0dseXBocygp
IGZ1bmN0aW9uIGlzIGFsc28gYWRkZWQgaW4gdGhlCisgICAgICAgIENhaXJvT3BlcmF0aW9ucyBo
ZWFkZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDYWlybzo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAoV2ViQ29y
ZTo6Q2Fpcm86OmRyYXdSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3TGluZUZv
ckRvY3VtZW50TWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3RWxsaXBzZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3UmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdFbGxpcHNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JEb2N1bWVudE1hcmtlcik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdQYXR0ZXJuKToKKwogMjAxNy0xMS0xMyAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEdpdmUgYSBT
ZXJ2aWNlV29ya2VyIFdlYkNvbnRlbnRQcm9jZXNzIGEgZGlmZmVyZW50IGRpc3BsYXkgbmFtZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9P
cGVyYXRpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Nh
aXJvT3BlcmF0aW9ucy5jcHAKaW5kZXggODk2NTFjZjNmY2E1OWY3MjA2ZGIzOGJlNDczYzAzMThk
ZDUxMzRlNC4uYjkyOGI5NTEzOTExODI5Yzc5ZTAwOTg0N2Q4NDNiM2I4YjU5OGRjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWly
b09wZXJhdGlvbnMuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAKICNpZiBVU0UoQ0FJUk8pCiAKKyNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24u
aCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
QEAgLTU1Myw2ICs1NTQsNzcgQEAgdm9pZCBkcmF3R2x5cGhzKFBsYXRmb3JtQ29udGV4dENhaXJv
JiBwbGF0Zm9ybUNvbnRleHQsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXQKICAgICBjYWlyb19y
ZXN0b3JlKGNyKTsKIH0KIAordm9pZCBkcmF3UGF0dGVybihQbGF0Zm9ybUNvbnRleHRDYWlybyYg
cGxhdGZvcm1Db250ZXh0LCBJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVy
blRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbXBvc2l0ZU9wZXJhdG9yIGNv
bXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQoreworICAgIGlmIChhdXRvIHN1
cmZhY2UgPSBpbWFnZS5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpKQorICAgICAgICBkcmF3
UGF0dGVyblRvQ2Fpcm9Db250ZXh0KHBsYXRmb3JtQ29udGV4dC5jcigpLCBzdXJmYWNlLmdldCgp
LCBJbnRTaXplKGltYWdlLnNpemUoKSksIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFz
ZSwgdG9DYWlyb09wZXJhdG9yKGNvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE1vZGUpLCBkZXN0UmVj
dCk7Cit9CisKK3ZvaWQgZHJhd1JlY3QoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0LCBmbG9hdCBib3JkZXJUaGlja25lc3MsIGNvbnN0
IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSkKK3sKKyAgICAvLyBGSVhNRTogaG93IHNob3Vs
ZCBib3JkZXJUaGlja25lc3MgYmUgdXNlZD8KKyAgICBVTlVTRURfUEFSQU0oYm9yZGVyVGhpY2tu
ZXNzKTsKKworICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1Db250ZXh0LmNyKCk7CisgICAgY2Fp
cm9fc2F2ZShjcik7CisKKyAgICBmaWxsUmVjdFdpdGhDb2xvcihjciwgcmVjdCwgc3RhdGUuZmls
bENvbG9yKTsKKworICAgIGlmIChzdGF0ZS5zdHJva2VTdHlsZSAhPSBOb1N0cm9rZSkgeworICAg
ICAgICBzZXRTb3VyY2VSR0JBRnJvbUNvbG9yKGNyLCBzdGF0ZS5zdHJva2VDb2xvcik7CisgICAg
ICAgIEZsb2F0UmVjdCByKHJlY3QpOworICAgICAgICByLmluZmxhdGUoLS41Zik7CisgICAgICAg
IGNhaXJvX3JlY3RhbmdsZShjciwgci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkp
OworICAgICAgICBjYWlyb19zZXRfbGluZV93aWR0aChjciwgMS4wKTsgLy8gYm9yZGVyVGhpY2tu
ZXNzPworICAgICAgICBjYWlyb19zdHJva2UoY3IpOworICAgIH0KKworICAgIGNhaXJvX3Jlc3Rv
cmUoY3IpOworfQorCit2b2lkIGRyYXdMaW5lRm9yRG9jdW1lbnRNYXJrZXIoUGxhdGZvcm1Db250
ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgR3JhcGhpY3NDb250ZXh0OjpEb2N1bWVudE1hcmtlckxpbmVTdHlsZSBzdHlsZSkK
K3sKKyAgICBpZiAoc3R5bGUgIT0gR3JhcGhpY3NDb250ZXh0OjpEb2N1bWVudE1hcmtlclNwZWxs
aW5nTGluZVN0eWxlCisgICAgICAgICYmIHN0eWxlICE9IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1l
bnRNYXJrZXJHcmFtbWFyTGluZVN0eWxlKQorICAgICAgICByZXR1cm47CisKKyAgICBjYWlyb190
KiBjciA9IHBsYXRmb3JtQ29udGV4dC5jcigpOworICAgIGNhaXJvX3NhdmUoY3IpOworCisgICAg
aWYgKHN0eWxlID09IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1lbnRNYXJrZXJTcGVsbGluZ0xpbmVT
dHlsZSkKKyAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2IoY3IsIDEsIDAsIDApOworICAgIGVs
c2UgaWYgKHN0eWxlID09IEdyYXBoaWNzQ29udGV4dDo6RG9jdW1lbnRNYXJrZXJHcmFtbWFyTGlu
ZVN0eWxlKQorICAgICAgICBjYWlyb19zZXRfc291cmNlX3JnYihjciwgMCwgMSwgMCk7CisKKyAg
ICBkcmF3RXJyb3JVbmRlcmxpbmUoY3IsIG9yaWdpbi54KCksIG9yaWdpbi55KCksIHdpZHRoLCBj
TWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzKTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKK30KKwor
dm9pZCBkcmF3RWxsaXBzZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBj
b25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSkK
K3sKKyAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dC5jcigpOworCisgICAgY2Fpcm9f
c2F2ZShjcik7CisgICAgZmxvYXQgeVJhZGl1cyA9IC41ICogcmVjdC5oZWlnaHQoKTsKKyAgICBm
bG9hdCB4UmFkaXVzID0gLjUgKiByZWN0LndpZHRoKCk7CisgICAgY2Fpcm9fdHJhbnNsYXRlKGNy
LCByZWN0LngoKSArIHhSYWRpdXMsIHJlY3QueSgpICsgeVJhZGl1cyk7CisgICAgY2Fpcm9fc2Nh
bGUoY3IsIHhSYWRpdXMsIHlSYWRpdXMpOworICAgIGNhaXJvX2FyYyhjciwgMC4sIDAuLCAxLiwg
MC4sIDIgKiBwaUZsb2F0KTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKKworICAgIGlmIChzdGF0
ZS5maWxsQ29sb3IuaXNWaXNpYmxlKCkpIHsKKyAgICAgICAgc2V0U291cmNlUkdCQUZyb21Db2xv
cihjciwgc3RhdGUuZmlsbENvbG9yKTsKKyAgICAgICAgY2Fpcm9fZmlsbF9wcmVzZXJ2ZShjcik7
CisgICAgfQorCisgICAgaWYgKHN0YXRlLnN0cm9rZVN0eWxlICE9IE5vU3Ryb2tlKSB7CisgICAg
ICAgIHNldFNvdXJjZVJHQkFGcm9tQ29sb3IoY3IsIHN0YXRlLnN0cm9rZUNvbG9yKTsKKyAgICAg
ICAgY2Fpcm9fc2V0X2xpbmVfd2lkdGgoY3IsIHN0YXRlLnN0cm9rZVRoaWNrbmVzcyk7CisgICAg
ICAgIGNhaXJvX3N0cm9rZShjcik7CisgICAgfSBlbHNlCisgICAgICAgIGNhaXJvX25ld19wYXRo
KGNyKTsKK30KKwogdm9pZCBkcmF3Rm9jdXNSaW5nKFBsYXRmb3JtQ29udGV4dENhaXJvJiBwbGF0
Zm9ybUNvbnRleHQsIGNvbnN0IFBhdGgmIHBhdGgsIGZsb2F0IHdpZHRoLCBjb25zdCBDb2xvciYg
Y29sb3IpCiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBkcmF3IHBhdGhzIHRoYXQgZGVzY3Jp
YmUgYSByZWN0YW5nbGUgd2l0aCByb3VuZGVkIGNvcm5lcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKaW5kZXgg
OThjYmZmNjEzOWM3OTVkNTAxYTZhMTFmZTlkMWRlMzEyODdkOWJmNS4uMjJkYTg0NTUzN2E4NGI5
ZjMyZTA3NDJhNGMwNWE5YTA1NDhjNDdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKQEAgLTkzLDYgKzkz
LDE0IEBAIHZvaWQgc3Ryb2tlUmVjdChQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0
UmVjdCYsIGZsb2F0LCBjb25zdCBHcmFwaGljc0NvCiB2b2lkIHN0cm9rZVBhdGgoUGxhdGZvcm1D
b250ZXh0Q2Fpcm8mLCBjb25zdCBQYXRoJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmLCBH
cmFwaGljc0NvbnRleHQmKTsKIHZvaWQgY2xlYXJSZWN0KFBsYXRmb3JtQ29udGV4dENhaXJvJiwg
Y29uc3QgRmxvYXRSZWN0Jik7CiAKK3ZvaWQgZHJhd0dseXBocyhHcmFwaGljc0NvbnRleHQmLCBj
b25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYsIGJvb2wsIGNvbnN0IEZsb2F0UG9pbnQmLCBjYWly
b19zY2FsZWRfZm9udF90KiwgZG91YmxlLCBjb25zdCBWZWN0b3I8Y2Fpcm9fZ2x5cGhfdD4mLCBm
bG9hdCwgR3JhcGhpY3NDb250ZXh0Jik7CisKK3ZvaWQgZHJhd1BhdHRlcm4oUGxhdGZvcm1Db250
ZXh0Q2Fpcm8mLCBJbWFnZSYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0UG9pbnQmLCBDb21wb3NpdGVPcGVyYXRv
ciwgQmxlbmRNb2RlKTsKKwordm9pZCBkcmF3UmVjdChQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNv
bnN0IEZsb2F0UmVjdCYsIGZsb2F0LCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYpOwordm9p
ZCBkcmF3TGluZUZvckRvY3VtZW50TWFya2VyKFBsYXRmb3JtQ29udGV4dENhaXJvJiwgY29uc3Qg
RmxvYXRQb2ludCYsIGZsb2F0LCBHcmFwaGljc0NvbnRleHQ6OkRvY3VtZW50TWFya2VyTGluZVN0
eWxlKTsKK3ZvaWQgZHJhd0VsbGlwc2UoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjb25zdCBGbG9h
dFJlY3QmLCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYpOworCiB2b2lkIGRyYXdGb2N1c1Jp
bmcoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjb25zdCBQYXRoJiwgZmxvYXQsIGNvbnN0IENvbG9y
Jik7CiB2b2lkIGRyYXdGb2N1c1JpbmcoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjb25zdCBWZWN0
b3I8RmxvYXRSZWN0PiYsIGZsb2F0LCBjb25zdCBDb2xvciYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRl
eHRDYWlyby5jcHAKaW5kZXggNzJiYWE2MTA3NzNmYzgyYzI5OTU2MTQ1OGY2NTFmNmQwY2Q4OWUz
ZS4uNTZlZTQxMmU5YjY3ZmU1NWYyYWU1MDI2OGMyM2NiYWMzNWVmMmY1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fp
cm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkFmZmluZVRy
YW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRGlzcGxh
eUxpc3RSZWNvcmRlci5oIgotI2luY2x1ZGUgIkRyYXdFcnJvclVuZGVybGluZS5oIgogI2luY2x1
ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUg
IkZsb2F0Um91bmRlZFJlY3QuaCIKQEAgLTIzOCwyMiArMjM3LDggQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgYm9yZGVyVGhpY2tu
ZXNzKQogICAgIH0KIAogICAgIEFTU0VSVCghcmVjdC5pc0VtcHR5KCkpOwotCi0gICAgY2Fpcm9f
dCogY3IgPSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3IoKTsKLSAgICBjYWlyb19zYXZlKGNyKTsKLQot
ICAgIGZpbGxSZWN0V2l0aENvbG9yKGNyLCByZWN0LCBmaWxsQ29sb3IoKSk7Ci0KLSAgICBpZiAo
c3Ryb2tlU3R5bGUoKSAhPSBOb1N0cm9rZSkgewotICAgICAgICBzZXRTb3VyY2VSR0JBRnJvbUNv
bG9yKGNyLCBzdHJva2VDb2xvcigpKTsKLSAgICAgICAgRmxvYXRSZWN0IHIocmVjdCk7Ci0gICAg
ICAgIHIuaW5mbGF0ZSgtLjVmKTsKLSAgICAgICAgY2Fpcm9fcmVjdGFuZ2xlKGNyLCByLngoKSwg
ci55KCksIHIud2lkdGgoKSwgci5oZWlnaHQoKSk7Ci0gICAgICAgIGNhaXJvX3NldF9saW5lX3dp
ZHRoKGNyLCAxLjApOyAvLyBib3JkZXJUaGlja25lc3M/Ci0gICAgICAgIGNhaXJvX3N0cm9rZShj
cik7Ci0gICAgfQotCi0gICAgY2Fpcm9fcmVzdG9yZShjcik7CisgICAgQVNTRVJUKGhhc1BsYXRm
b3JtQ29udGV4dCgpKTsKKyAgICBDYWlybzo6ZHJhd1JlY3QoKnBsYXRmb3JtQ29udGV4dCgpLCBy
ZWN0LCBib3JkZXJUaGlja25lc3MsIHN0YXRlKCkpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd05hdGl2ZUltYWdlKGNvbnN0IE5hdGl2ZUltYWdlUHRyJiBpbWFnZSwgY29uc3QgRmxv
YXRTaXplJiBpbWFnZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0
UmVjdCYgc3JjUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIEJsZW5kTW9kZSBibGVuZE1vZGUs
IEltYWdlT3JpZW50YXRpb24gb3JpZW50YXRpb24pCkBAIC0zNzUsMjYgKzM2MCw4IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3RWxsaXBzZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgp
LT5jcigpOwotICAgIGNhaXJvX3NhdmUoY3IpOwotICAgIGZsb2F0IHlSYWRpdXMgPSAuNSAqIHJl
Y3QuaGVpZ2h0KCk7Ci0gICAgZmxvYXQgeFJhZGl1cyA9IC41ICogcmVjdC53aWR0aCgpOwotICAg
IGNhaXJvX3RyYW5zbGF0ZShjciwgcmVjdC54KCkgKyB4UmFkaXVzLCByZWN0LnkoKSArIHlSYWRp
dXMpOwotICAgIGNhaXJvX3NjYWxlKGNyLCB4UmFkaXVzLCB5UmFkaXVzKTsKLSAgICBjYWlyb19h
cmMoY3IsIDAuLCAwLiwgMS4sIDAuLCAyICogcGlGbG9hdCk7Ci0gICAgY2Fpcm9fcmVzdG9yZShj
cik7Ci0KLSAgICBpZiAoZmlsbENvbG9yKCkuaXNWaXNpYmxlKCkpIHsKLSAgICAgICAgc2V0U291
cmNlUkdCQUZyb21Db2xvcihjciwgZmlsbENvbG9yKCkpOwotICAgICAgICBjYWlyb19maWxsX3By
ZXNlcnZlKGNyKTsKLSAgICB9Ci0KLSAgICBpZiAoc3Ryb2tlU3R5bGUoKSAhPSBOb1N0cm9rZSkg
ewotICAgICAgICBzZXRTb3VyY2VSR0JBRnJvbUNvbG9yKGNyLCBzdHJva2VDb2xvcigpKTsKLSAg
ICAgICAgY2Fpcm9fc2V0X2xpbmVfd2lkdGgoY3IsIHN0cm9rZVRoaWNrbmVzcygpKTsKLSAgICAg
ICAgY2Fpcm9fc3Ryb2tlKGNyKTsKLSAgICB9IGVsc2UKLSAgICAgICAgY2Fpcm9fbmV3X3BhdGgo
Y3IpOworICAgIEFTU0VSVChoYXNQbGF0Zm9ybUNvbnRleHQoKSk7CisgICAgQ2Fpcm86OmRyYXdF
bGxpcHNlKCpwbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCwgc3RhdGUoKSk7CiB9CiAKIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpmaWxsUGF0aChjb25zdCBQYXRoJiBwYXRoKQpAQCAtNTkyLDI0ICs1NTks
MTMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yRG9jdW1lbnRNYXJrZXIoY29u
c3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1Db250ZXh0KCkt
PmNyKCk7Ci0gICAgY2Fpcm9fc2F2ZShjcik7Ci0KLSAgICBzd2l0Y2ggKHN0eWxlKSB7Ci0gICAg
Y2FzZSBEb2N1bWVudE1hcmtlclNwZWxsaW5nTGluZVN0eWxlOgotICAgICAgICBjYWlyb19zZXRf
c291cmNlX3JnYihjciwgMSwgMCwgMCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRG9jdW1l
bnRNYXJrZXJHcmFtbWFyTGluZVN0eWxlOgotICAgICAgICBjYWlyb19zZXRfc291cmNlX3JnYihj
ciwgMCwgMSwgMCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGNhaXJv
X3Jlc3RvcmUoY3IpOworICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgbV9pbXBsLT5kcmF3TGlu
ZUZvckRvY3VtZW50TWFya2VyKG9yaWdpbiwgd2lkdGgsIHN0eWxlKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGRyYXdFcnJvclVuZGVybGluZShjciwgb3JpZ2luLngoKSwgb3JpZ2lu
LnkoKSwgd2lkdGgsIGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3MpOwotCi0gICAgY2Fpcm9fcmVz
dG9yZShjcik7CisgICAgQVNTRVJUKGhhc1BsYXRmb3JtQ29udGV4dCgpKTsKKyAgICBDYWlybzo6
ZHJhd0xpbmVGb3JEb2N1bWVudE1hcmtlcigqcGxhdGZvcm1Db250ZXh0KCksIG9yaWdpbiwgd2lk
dGgsIHN0eWxlKTsKIH0KIAogRmxvYXRSZWN0IEdyYXBoaWNzQ29udGV4dDo6cm91bmRUb0Rldmlj
ZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmIHJlY3QsIFJvdW5kaW5nTW9kZSkKQEAgLTkzMiwyMiAr
ODg4LDE4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdFdpdGhSb3VuZGVkSG9sZShj
b25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0CiAgICAgQ2Fpcm86OmZpbGxSZWN0V2l0
aFJvdW5kZWRIb2xlKCpwbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCwgcm91bmRlZEhvbGVSZWN0LCBz
dGF0ZSgpLCAqdGhpcyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3UGF0dGVybihJ
bWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYg
dGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3Qg
RmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgQ29tcG9zaXRlT3Bl
cmF0b3Igb3AsIEJsZW5kTW9kZSBibGVuZE1vZGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIHRpbGVSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zv
cm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNwYWNpbmcsIENv
bXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQog
ewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlm
IChtX2ltcGwpIHsKLSAgICAgICAgbV9pbXBsLT5kcmF3UGF0dGVybihpbWFnZSwgZGVzdFJlY3Qs
IHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3BhY2luZywgb3AsIGJsZW5kTW9k
ZSk7CisgICAgICAgIG1faW1wbC0+ZHJhd1BhdHRlcm4oaW1hZ2UsIGRlc3RSZWN0LCB0aWxlUmVj
dCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHNwYWNpbmcsIGNvbXBvc2l0ZU9wZXJhdG9yLCBi
bGVuZE1vZGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPGNhaXJvX3N1
cmZhY2VfdD4gc3VyZmFjZSA9IGltYWdlLm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7Ci0g
ICAgaWYgKCFzdXJmYWNlKSAvLyBJZiBpdCdzIHRvbyBlYXJseSB3ZSB3b24ndCBoYXZlIGFuIGlt
YWdlIHlldC4KLSAgICAgICAgcmV0dXJuOwotCi0gICAgY2Fpcm9fdCogY3IgPSBwbGF0Zm9ybUNv
bnRleHQoKS0+Y3IoKTsKLSAgICBkcmF3UGF0dGVyblRvQ2Fpcm9Db250ZXh0KGNyLCBzdXJmYWNl
LmdldCgpLCBJbnRTaXplKGltYWdlLnNpemUoKSksIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3Jt
LCBwaGFzZSwgdG9DYWlyb09wZXJhdG9yKG9wLCBibGVuZE1vZGUpLCBkZXN0UmVjdCk7CisgICAg
QVNTRVJUKGhhc1BsYXRmb3JtQ29udGV4dCgpKTsKKyAgICBDYWlybzo6ZHJhd1BhdHRlcm4oKnBs
YXRmb3JtQ29udGV4dCgpLCBpbWFnZSwgZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNm
b3JtLCBwaGFzZSwgY29tcG9zaXRlT3BlcmF0b3IsIGJsZW5kTW9kZSk7CiB9CiAKIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNob3VsZEFudGlhbGlhcyhib29sIGVuYWJsZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>