<?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>64834</bug_id>
          
          <creation_ts>2011-07-19 15:57:19 -0700</creation_ts>
          <short_desc>[chromium] LayerRendererChromium shouldn&apos;t be a friend of RenderSurfaceChromium</short_desc>
          <delta_ts>2011-07-19 17:07:57 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>439531</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-19 15:57:19 -0700</bug_when>
    <thetext>[chromium] LayerRendererChromium shouldn&apos;t be a friend of RenderSurfaceChromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439534</commentid>
    <comment_count>1</comment_count>
      <attachid>101404</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-19 16:02:37 -0700</bug_when>
    <thetext>Created attachment 101404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439549</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-19 16:24:58 -0700</bug_when>
    <thetext>Miscellaneous small cleanup.  I have some follow-up plans in this area that will be a lot more interesting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439556</commentid>
    <comment_count>3</comment_count>
      <attachid>101404</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-07-19 16:50:01 -0700</bug_when>
    <thetext>Comment on attachment 101404
Patch

Looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439560</commentid>
    <comment_count>4</comment_count>
      <attachid>101404</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-19 17:03:03 -0700</bug_when>
    <thetext>Comment on attachment 101404
Patch

Rejecting attachment 101404 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-01&apos;, &apos;--port...&quot; exit_code: 1

Last 500 characters of output:
irectory
Updating working directory
Processing patch 101404 from bug 64834.
ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/9209037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439563</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-19 17:07:34 -0700</bug_when>
    <thetext>I am not good at this new changelog format, I deleted the &quot;Reviewed by &quot; line :/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439564</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-19 17:07:57 -0700</bug_when>
    <thetext>Committed r91322: &lt;http://trac.webkit.org/changeset/91322&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101404</attachid>
            <date>2011-07-19 16:02:37 -0700</date>
            <delta_ts>2011-07-19 17:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64834-20110719160235.patch</filename>
            <type>text/plain</type>
            <size>24187</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEyMTYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNWFmNDRjOWQ2MDMyMGIw
MTFiNWI3N2YwZGE4YTZlYmNkM2JiYjFlLi40N2VmOGE1ZGI4OTgzNjFjOTk0YjFmYzYyYWI2OGE4
MTc3NGNkZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMDctMTkgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIExh
eWVyUmVuZGVyZXJDaHJvbWl1bSBzaG91bGRuJ3QgYmUgYSBmcmllbmQgb2YgUmVuZGVyU3VyZmFj
ZUNocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NDgzNAorCisgICAgICAgIFVzZXMgc2V0dGVycyBhbmQgZ2V0dGVycyB0byBhY2Nlc3MgUmVu
ZGVyU3VyZmFjZUNocm9taXVtJ3MgcHJpdmF0ZSBtZW1iZXIgdmFyaWFibGVzIGluc3RlYWQgb2Yg
ZGlyZWN0bHkKKyAgICAgICAgYWNjZXNzaW5nIHRoZW0gdmlhIGEgZnJpZW5kIGRlY2xhcmF0aW9u
LiBUaGlzIGNsZWFucyB1cCBhIG1pbm9yIGNvZGUgc21lbGwgYW5kIHdpbGwgYmUgaGVscGZ1bCBm
b3IgZnV0dXJlCisgICAgICAgIHJlZmFjdG9yaW5nLgorCisgICAgICAgIFJlZmFjdG9yIG9ubHks
IG5vIGNoYW5nZSBpbiBiZWhhdmlvci4gIFRlc3RlZCBieSBjb21wb3NpdGluZy8gdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjp1cGRhdGVM
YXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpwYWludExh
eWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpk
cmF3TGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXBk
YXRlUHJvcGVydGllc0FuZFJlbmRlclN1cmZhY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVy
UmVuZGVyZXJDaHJvbWl1bTo6dXBkYXRlQ29tcG9zaXRvclJlc291cmNlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmdldE9mZnNjcmVlbkxheWVyVGV4dHVyZSk6
CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmNvcHlPZmZzY3JlZW5U
ZXh0dXJlVG9EaXNwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1
bTo6dXNlUmVuZGVyU3VyZmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OmRyYXdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21p
dW06OnNldFNjaXNzb3JUb1JlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dXJmYWNlQ2hyb21pdW06OmNsZWFyTGF5ZXJMaXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6bGF5ZXJMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN1cmZhY2VDaHJvbWl1bTo6Y29udGVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3VyZmFjZUNocm9taXVtOjpzZXRDb250ZW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdXJmYWNlQ2hyb21pdW06OmRyYXdPcGFjaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN1cmZhY2VDaHJvbWl1bTo6c2V0RHJhd09wYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3VyZmFjZUNocm9taXVtOjpkcmF3VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6c2V0RHJhd1RyYW5zZm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06Om1hc2tMYXllcik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06OnNldE1hc2tMYXllcik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06Om9yaWdpblRyYW5zZm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06OnNldE9yaWdpblRyYW5zZm9ybSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06OnJlcGxpY2FEcmF3VHJhbnNmb3JtKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6c2V0UmVwbGljYURyYXdU
cmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3VyZmFjZUNocm9taXVtOjpzY2lz
c29yUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdXJmYWNlQ2hyb21pdW06OnNldFNj
aXNzb3JSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6c2tp
cHNEcmF3KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6c2V0U2tp
cHNEcmF3KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6Y29udGVu
dHNUZXh0dXJlKToKKwogMjAxMS0wNy0xOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIFNwZWNpZnkgYSBjYXNjYWRlIGxpc3QgY29uc2lzdGluZyBvZiB0aGUgbGFz
dCByZXNvcnQgZm9udCBmb3IgQ29yZSBUZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAppbmRleCAzMWJlOWRkYzUyNGQwMTg0MzQ1NTA2YmU5NTcwN2Q2OWJjZWM2OWM1Li40
YTNiYTE4NjUyMmQ5MDgyNDJjOTRjNWQ4YmFmNTQyZjY3NzU3ZGRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTMzNyw3ICszMzcsNyBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6dXBkYXRlTGF5ZXJzKExheWVyTGlzdCYgcmVuZGVyU3VyZmFjZUxheWVy
TGlzdCkKICAgICAgICAgcm9vdERyYXdMYXllci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOwogICAg
IEFTU0VSVChyb290RHJhd0xheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwogCi0gICAgcm9vdERyYXdM
YXllci0+cmVuZGVyU3VyZmFjZSgpLT5tX2NvbnRlbnRSZWN0ID0gSW50UmVjdChJbnRQb2ludCgw
LCAwKSwgbV92aWV3cG9ydFZpc2libGVSZWN0LnNpemUoKSk7CisgICAgcm9vdERyYXdMYXllci0+
cmVuZGVyU3VyZmFjZSgpLT5zZXRDb250ZW50UmVjdChJbnRSZWN0KEludFBvaW50KDAsIDApLCBt
X3ZpZXdwb3J0VmlzaWJsZVJlY3Quc2l6ZSgpKSk7CiAKICAgICBJbnRSZWN0IHJvb3RTY2lzc29y
UmVjdChtX3ZpZXdwb3J0VmlzaWJsZVJlY3QpOwogICAgIC8vIFRoZSBzY2lzc29yUmVjdCBzaG91
bGQgbm90IGluY2x1ZGUgdGhlIHNjcm9sbCBvZmZzZXQuCkBAIC0zNDksMTIgKzM0OSwxMiBAQCB2
b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXBkYXRlTGF5ZXJzKExheWVyTGlzdCYgcmVuZGVy
U3VyZmFjZUxheWVyTGlzdCkKICAgICByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LmFwcGVuZChyb290
RHJhd0xheWVyKTsKIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0cml4Owot
ICAgIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPm1fbGF5ZXJMaXN0LmNsZWFyKCk7CisgICAgbV9k
ZWZhdWx0UmVuZGVyU3VyZmFjZS0+Y2xlYXJMYXllckxpc3QoKTsKICAgICAvLyBVbmZvcnR1bmF0
ZWx5LCB1cGRhdGVQcm9wZXJ0aWVzQW5kUmVuZGVyU3VyZmFjZXMoKSBjdXJyZW50bHkgYm90aCB1
cGRhdGVzIHRoZSBsYXllcnMgYW5kIHVwZGF0ZXMgdGhlIGRyYXcgc3RhdGUKICAgICAvLyAodHJh
bnNmb3JtcywgZXRjKS4gSXQnZCBiZSBuaWNlciBpZiBvcGVyYXRpb25zIG9uIHRoZSBwcmVzZW50
YXRpb24gbGF5ZXJzIGhhcHBlbmVkIGxhdGVyLCBidXQgdGhlIGRyYXcKICAgICAvLyB0cmFuc2Zv
cm1zIGFyZSBuZWVkZWQgYnkgbGFyZ2UgbGF5ZXJzIHRvIGRldGVybWluZSB2aXNpYmlsaXR5LiBU
aWxpbmcgd2lsbCBmaXggdGhpcyBieSBlbGltaW5hdGluZyB0aGUKICAgICAvLyBjb25jZXB0IG9m
IGEgbGFyZ2UgY29udGVudCBsYXllci4KLSAgICB1cGRhdGVQcm9wZXJ0aWVzQW5kUmVuZGVyU3Vy
ZmFjZXMocm9vdERyYXdMYXllciwgaWRlbnRpdHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxp
c3QsIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPm1fbGF5ZXJMaXN0KTsKKyAgICB1cGRhdGVQcm9w
ZXJ0aWVzQW5kUmVuZGVyU3VyZmFjZXMocm9vdERyYXdMYXllciwgaWRlbnRpdHlNYXRyaXgsIHJl
bmRlclN1cmZhY2VMYXllckxpc3QsIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPmxheWVyTGlzdCgp
KTsKIAogI2lmbmRlZiBOREVCVUcKICAgICBzX2luUGFpbnRMYXllckNvbnRlbnRzID0gdHJ1ZTsK
QEAgLTQzMiwxMyArNDMyLDEzIEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpwYWludExh
eWVyQ29udGVudHMoY29uc3QgTGF5ZXJMaXN0JiByZW5kZXJTdXJmYWNlTGF5CiAKICAgICAgICAg
Ly8gUmVuZGVyIHN1cmZhY2VzIHdob3NlIGRyYXdhYmxlIGFyZWEgaGFzIHplcm8gd2lkdGggb3Ig
aGVpZ2h0CiAgICAgICAgIC8vIHdpbGwgaGF2ZSBubyBsYXllcnMgYXNzb2NpYXRlZCB3aXRoIHRo
ZW0gYW5kIHNob3VsZCBiZSBza2lwcGVkLgotICAgICAgICBpZiAoIXJlbmRlclN1cmZhY2UtPm1f
bGF5ZXJMaXN0LnNpemUoKSkKKyAgICAgICAgaWYgKCFyZW5kZXJTdXJmYWNlLT5sYXllckxpc3Qo
KS5zaXplKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAoIXJlbmRlclN1
cmZhY2UtPm1fZHJhd09wYWNpdHkpCisgICAgICAgIGlmICghcmVuZGVyU3VyZmFjZS0+ZHJhd09w
YWNpdHkoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIExheWVyTGlzdCYgbGF5
ZXJMaXN0ID0gcmVuZGVyU3VyZmFjZS0+bV9sYXllckxpc3Q7CisgICAgICAgIExheWVyTGlzdCYg
bGF5ZXJMaXN0ID0gcmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCk7CiAgICAgICAgIEFTU0VSVChs
YXllckxpc3Quc2l6ZSgpKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBsYXllckluZGV4ID0gMDsg
bGF5ZXJJbmRleCA8IGxheWVyTGlzdC5zaXplKCk7ICsrbGF5ZXJJbmRleCkgewogICAgICAgICAg
ICAgQ0NMYXllckltcGwqIGNjTGF5ZXJJbXBsID0gbGF5ZXJMaXN0W2xheWVySW5kZXhdLmdldCgp
OwpAQCAtNTM3LDE5ICs1MzcsMTkgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdM
YXllcnMoY29uc3QgTGF5ZXJMaXN0JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KQogICAgICAgICBS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0qIHJlbmRlclN1cmZhY2UgPSByZW5kZXJTdXJmYWNlTGF5ZXIt
PnJlbmRlclN1cmZhY2UoKTsKICAgICAgICAgQVNTRVJUKHJlbmRlclN1cmZhY2UpOwogCi0gICAg
ICAgIHJlbmRlclN1cmZhY2UtPm1fc2tpcHNEcmF3ID0gdHJ1ZTsKKyAgICAgICAgcmVuZGVyU3Vy
ZmFjZS0+c2V0U2tpcHNEcmF3KHRydWUpOwogCiAgICAgICAgIC8vIFJlbmRlciBzdXJmYWNlcyB3
aG9zZSBkcmF3YWJsZSBhcmVhIGhhcyB6ZXJvIHdpZHRoIG9yIGhlaWdodAogICAgICAgICAvLyB3
aWxsIGhhdmUgbm8gbGF5ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGVtIGFuZCBzaG91bGQgYmUgc2tp
cHBlZC4KLSAgICAgICAgaWYgKCFyZW5kZXJTdXJmYWNlLT5tX2xheWVyTGlzdC5zaXplKCkpCisg
ICAgICAgIGlmICghcmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCkuc2l6ZSgpKQogICAgICAgICAg
ICAgY29udGludWU7CiAKICAgICAgICAgLy8gU2tpcCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHJl
bmRlciBzdXJmYWNlcy4KLSAgICAgICAgaWYgKCFyZW5kZXJTdXJmYWNlLT5tX2RyYXdPcGFjaXR5
KQorICAgICAgICBpZiAoIXJlbmRlclN1cmZhY2UtPmRyYXdPcGFjaXR5KCkpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBpZiAodXNlUmVuZGVyU3VyZmFjZShyZW5kZXJTdXJmYWNl
KSkgewotICAgICAgICAgICAgcmVuZGVyU3VyZmFjZS0+bV9za2lwc0RyYXcgPSBmYWxzZTsKKyAg
ICAgICAgICAgIHJlbmRlclN1cmZhY2UtPnNldFNraXBzRHJhdyhmYWxzZSk7CiAKICAgICAgICAg
ICAgIGlmIChyZW5kZXJTdXJmYWNlTGF5ZXIgIT0gcm9vdERyYXdMYXllcikgewogICAgICAgICAg
ICAgICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4dC0+ZGlzYWJsZShHcmFwaGljc0Nv
bnRleHQzRDo6U0NJU1NPUl9URVNUKSk7CkBAIC01NTgsNyArNTU4LDcgQEAgdm9pZCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnMoY29uc3QgTGF5ZXJMaXN0JiByZW5kZXJTdXJmYWNl
TGF5ZXJMaXN0KQogICAgICAgICAgICAgICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4
dC0+ZW5hYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lTU09SX1RFU1QpKTsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgTGF5ZXJMaXN0JiBsYXllckxpc3QgPSByZW5kZXJTdXJmYWNlLT5t
X2xheWVyTGlzdDsKKyAgICAgICAgICAgIExheWVyTGlzdCYgbGF5ZXJMaXN0ID0gcmVuZGVyU3Vy
ZmFjZS0+bGF5ZXJMaXN0KCk7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxheWVySW5kZXgg
PSAwOyBsYXllckluZGV4IDwgbGF5ZXJMaXN0LnNpemUoKTsgKytsYXllckluZGV4KQogICAgICAg
ICAgICAgICAgIGRyYXdMYXllcihsYXllckxpc3RbbGF5ZXJJbmRleF0uZ2V0KCksIHJlbmRlclN1
cmZhY2UpOwogICAgICAgICB9CkBAIC03NTAsMjcgKzc1MCwyOCBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6dXBkYXRlUHJvcGVydGllc0FuZFJlbmRlclN1cmZhY2VzKENDTGF5ZXJJbXBs
KiBsYXllcgogICAgICAgICB0cmFuc2Zvcm1lZExheWVyUmVjdCA9IEludFJlY3QoMCwgMCwgYm91
bmRzLndpZHRoKCksIGJvdW5kcy5oZWlnaHQoKSk7CiAKICAgICAgICAgLy8gTGF5ZXIncyBvcGFj
aXR5IHdpbGwgYmUgYXBwbGllZCB3aGVuIGRyYXdpbmcgdGhlIHJlbmRlciBzdXJmYWNlLgotICAg
ICAgICByZW5kZXJTdXJmYWNlLT5tX2RyYXdPcGFjaXR5ID0gbGF5ZXItPm9wYWNpdHkoKTsKKyAg
ICAgICAgZmxvYXQgZHJhd09wYWNpdHkgPSBsYXllci0+b3BhY2l0eSgpOwogICAgICAgICBpZiAo
bGF5ZXItPnBhcmVudCgpICYmIGxheWVyLT5wYXJlbnQoKS0+cHJlc2VydmVzM0QoKSkKLSAgICAg
ICAgICAgIHJlbmRlclN1cmZhY2UtPm1fZHJhd09wYWNpdHkgKj0gbGF5ZXItPnBhcmVudCgpLT5k
cmF3T3BhY2l0eSgpOworICAgICAgICAgICAgZHJhd09wYWNpdHkgKj0gbGF5ZXItPnBhcmVudCgp
LT5kcmF3T3BhY2l0eSgpOworICAgICAgICByZW5kZXJTdXJmYWNlLT5zZXREcmF3T3BhY2l0eShk
cmF3T3BhY2l0eSk7CiAgICAgICAgIGxheWVyLT5zZXREcmF3T3BhY2l0eSgxKTsKIAogICAgICAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBsYXllck9yaWdpblRyYW5zZm9ybSA9IGNvbWJpbmVkVHJh
bnNmb3JtOwogICAgICAgICBsYXllck9yaWdpblRyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICog
Ym91bmRzLndpZHRoKCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOwotICAgICAgICByZW5k
ZXJTdXJmYWNlLT5tX29yaWdpblRyYW5zZm9ybSA9IGxheWVyT3JpZ2luVHJhbnNmb3JtOworICAg
ICAgICByZW5kZXJTdXJmYWNlLT5zZXRPcmlnaW5UcmFuc2Zvcm0obGF5ZXJPcmlnaW5UcmFuc2Zv
cm0pOwogCiAgICAgICAgIC8vIFRoZSByZW5kZXIgc3VyZmFjZSBzY2lzc29yIHJlY3QgaXMgdGhl
IHNjaXNzb3IgcmVjdCB0aGF0IG5lZWRzIHRvCiAgICAgICAgIC8vIGJlIGFwcGxpZWQgYmVmb3Jl
IGRyYXdpbmcgdGhlIHJlbmRlciBzdXJmYWNlIG9udG8gaXRzIGNvbnRhaW5pbmcKICAgICAgICAg
Ly8gc3VyZmFjZSBhbmQgaXMgdGhlcmVmb3JlIGV4cHJlc3NlZCBpbiB0aGUgcGFyZW50J3MgY29v
cmRpbmF0ZSBzeXN0ZW0uCi0gICAgICAgIHJlbmRlclN1cmZhY2UtPm1fc2Npc3NvclJlY3QgPSBs
YXllci0+cGFyZW50KCkgPyBsYXllci0+cGFyZW50KCktPnNjaXNzb3JSZWN0KCkgOiBsYXllci0+
c2Npc3NvclJlY3QoKTsKKyAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0U2Npc3NvclJlY3QobGF5
ZXItPnBhcmVudCgpID8gbGF5ZXItPnBhcmVudCgpLT5zY2lzc29yUmVjdCgpIDogbGF5ZXItPnNj
aXNzb3JSZWN0KCkpOwogCi0gICAgICAgIHJlbmRlclN1cmZhY2UtPm1fbGF5ZXJMaXN0LmNsZWFy
KCk7CisgICAgICAgIHJlbmRlclN1cmZhY2UtPmNsZWFyTGF5ZXJMaXN0KCk7CiAKICAgICAgICAg
aWYgKGxheWVyLT5tYXNrTGF5ZXIoKSkgewotICAgICAgICAgICAgcmVuZGVyU3VyZmFjZS0+bV9t
YXNrTGF5ZXIgPSBsYXllci0+bWFza0xheWVyKCk7CisgICAgICAgICAgICByZW5kZXJTdXJmYWNl
LT5zZXRNYXNrTGF5ZXIobGF5ZXItPm1hc2tMYXllcigpKTsKICAgICAgICAgICAgIGxheWVyLT5t
YXNrTGF5ZXIoKS0+c2V0VGFyZ2V0UmVuZGVyU3VyZmFjZShyZW5kZXJTdXJmYWNlKTsKICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICByZW5kZXJTdXJmYWNlLT5tX21hc2tMYXllciA9IDA7Cisg
ICAgICAgICAgICByZW5kZXJTdXJmYWNlLT5zZXRNYXNrTGF5ZXIoMCk7CiAKICAgICAgICAgaWYg
KGxheWVyLT5yZXBsaWNhTGF5ZXIoKSAmJiBsYXllci0+cmVwbGljYUxheWVyKCktPm1hc2tMYXll
cigpKQogICAgICAgICAgICAgbGF5ZXItPnJlcGxpY2FMYXllcigpLT5tYXNrTGF5ZXIoKS0+c2V0
VGFyZ2V0UmVuZGVyU3VyZmFjZShyZW5kZXJTdXJmYWNlKTsKQEAgLTg0NSw3ICs4NDYsNyBAQCB2
b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXBkYXRlUHJvcGVydGllc0FuZFJlbmRlclN1cmZh
Y2VzKENDTGF5ZXJJbXBsKiBsYXllcgogICAgIC8vIE1bc10gPSBNICogVHJbLWNlbnRlcl0KICAg
ICBzdWJsYXllck1hdHJpeC50cmFuc2xhdGUzZCgtYm91bmRzLndpZHRoKCkgKiAwLjUsIC1ib3Vu
ZHMuaGVpZ2h0KCkgKiAwLjUsIDApOwogCi0gICAgTGF5ZXJMaXN0JiBkZXNjZW5kYW50cyA9IChs
YXllci0+cmVuZGVyU3VyZmFjZSgpID8gbGF5ZXItPnJlbmRlclN1cmZhY2UoKS0+bV9sYXllckxp
c3QgOiBsYXllckxpc3QpOworICAgIExheWVyTGlzdCYgZGVzY2VuZGFudHMgPSAobGF5ZXItPnJl
bmRlclN1cmZhY2UoKSA/IGxheWVyLT5yZW5kZXJTdXJmYWNlKCktPmxheWVyTGlzdCgpIDogbGF5
ZXJMaXN0KTsKICAgICBkZXNjZW5kYW50cy5hcHBlbmQobGF5ZXIpOwogCiAgICAgdW5zaWduZWQg
dGhpc0xheWVySW5kZXggPSBkZXNjZW5kYW50cy5zaXplKCkgLSAxOwpAQCAtODc1LDggKzg3Niw4
IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjp1cGRhdGVQcm9wZXJ0aWVzQW5kUmVuZGVy
U3VyZmFjZXMoQ0NMYXllckltcGwqIGxheWVyCiAKICAgICBpZiAobGF5ZXItPnJlbmRlclN1cmZh
Y2UoKSAmJiBsYXllciAhPSBtX3Jvb3RDQ0xheWVySW1wbC5nZXQoKSkgewogICAgICAgICBSZW5k
ZXJTdXJmYWNlQ2hyb21pdW0qIHJlbmRlclN1cmZhY2UgPSBsYXllci0+cmVuZGVyU3VyZmFjZSgp
OwotICAgICAgICByZW5kZXJTdXJmYWNlLT5tX2NvbnRlbnRSZWN0ID0gbGF5ZXItPmRyYXdhYmxl
Q29udGVudFJlY3QoKTsKLSAgICAgICAgRmxvYXRQb2ludCBzdXJmYWNlQ2VudGVyID0gcmVuZGVy
U3VyZmFjZS0+Y29udGVudFJlY3RDZW50ZXIoKTsKKyAgICAgICAgSW50UmVjdCByZW5kZXJTdXJm
YWNlQ29udGVudFJlY3QgPSBsYXllci0+ZHJhd2FibGVDb250ZW50UmVjdCgpOworICAgICAgICBG
bG9hdFBvaW50IHN1cmZhY2VDZW50ZXIgPSBGbG9hdFJlY3QocmVuZGVyU3VyZmFjZUNvbnRlbnRS
ZWN0KS5jZW50ZXIoKTsKIAogICAgICAgICAvLyBSZXN0cmljdCB0aGUgUmVuZGVyU3VyZmFjZSBz
aXplIHRvIHRoZSBwb3J0aW9uIHRoYXQncyB2aXNpYmxlLgogICAgICAgICBGbG9hdFNpemUgY2Vu
dGVyT2Zmc2V0RHVlVG9DbGlwcGluZzsKQEAgLTg4NCwzNyArODg1LDQwIEBAIHZvaWQgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjp1cGRhdGVQcm9wZXJ0aWVzQW5kUmVuZGVyU3VyZmFjZXMoQ0NMYXll
ckltcGwqIGxheWVyCiAgICAgICAgIC8vIERvbid0IGNsaXAgaWYgdGhlIGxheWVyIGlzIHJlZmxl
Y3RlZCBhcyB0aGUgcmVmbGVjdGlvbiBzaG91bGRuJ3QgYmUKICAgICAgICAgLy8gY2xpcHBlZC4K
ICAgICAgICAgaWYgKCFsYXllci0+cmVwbGljYUxheWVyKCkpIHsKLSAgICAgICAgICAgIGlmICgh
cmVuZGVyU3VyZmFjZS0+bV9zY2lzc29yUmVjdC5pc0VtcHR5KCkgJiYgIXJlbmRlclN1cmZhY2Ut
Pm1fY29udGVudFJlY3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCBzdXJm
YWNlU2Npc3NvclJlY3QgPSBjYWxjdWxhdGVWaXNpYmxlUmVjdChyZW5kZXJTdXJmYWNlLT5tX3Nj
aXNzb3JSZWN0LCByZW5kZXJTdXJmYWNlLT5tX2NvbnRlbnRSZWN0LCByZW5kZXJTdXJmYWNlLT5t
X29yaWdpblRyYW5zZm9ybSk7Ci0gICAgICAgICAgICAgICAgcmVuZGVyU3VyZmFjZS0+bV9jb250
ZW50UmVjdC5pbnRlcnNlY3Qoc3VyZmFjZVNjaXNzb3JSZWN0KTsKKyAgICAgICAgICAgIGlmICgh
cmVuZGVyU3VyZmFjZS0+c2Npc3NvclJlY3QoKS5pc0VtcHR5KCkgJiYgIXJlbmRlclN1cmZhY2VD
b250ZW50UmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IHN1cmZhY2VT
Y2lzc29yUmVjdCA9IGNhbGN1bGF0ZVZpc2libGVSZWN0KHJlbmRlclN1cmZhY2UtPnNjaXNzb3JS
ZWN0KCksIHJlbmRlclN1cmZhY2VDb250ZW50UmVjdCwgcmVuZGVyU3VyZmFjZS0+b3JpZ2luVHJh
bnNmb3JtKCkpOworICAgICAgICAgICAgICAgIHJlbmRlclN1cmZhY2VDb250ZW50UmVjdC5pbnRl
cnNlY3Qoc3VyZmFjZVNjaXNzb3JSZWN0KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEZs
b2F0UG9pbnQgY2xpcHBlZFN1cmZhY2VDZW50ZXIgPSByZW5kZXJTdXJmYWNlLT5jb250ZW50UmVj
dENlbnRlcigpOworICAgICAgICAgICAgRmxvYXRQb2ludCBjbGlwcGVkU3VyZmFjZUNlbnRlciA9
IEZsb2F0UmVjdChyZW5kZXJTdXJmYWNlQ29udGVudFJlY3QpLmNlbnRlcigpOwogICAgICAgICAg
ICAgY2VudGVyT2Zmc2V0RHVlVG9DbGlwcGluZyA9IGNsaXBwZWRTdXJmYWNlQ2VudGVyIC0gc3Vy
ZmFjZUNlbnRlcjsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFRoZSBSZW5kZXJTdXJmYWNlIGJh
Y2tpbmcgdGV4dHVyZSBjYW5ub3QgZXhjZWVkIHRoZSBtYXhpbXVtIHN1cHBvcnRlZAogICAgICAg
ICAvLyB0ZXh0dXJlIHNpemUuCi0gICAgICAgIHJlbmRlclN1cmZhY2UtPm1fY29udGVudFJlY3Qu
c2V0V2lkdGgoc3RkOjptaW4ocmVuZGVyU3VyZmFjZS0+bV9jb250ZW50UmVjdC53aWR0aCgpLCBt
X21heFRleHR1cmVTaXplKSk7Ci0gICAgICAgIHJlbmRlclN1cmZhY2UtPm1fY29udGVudFJlY3Qu
c2V0SGVpZ2h0KHN0ZDo6bWluKHJlbmRlclN1cmZhY2UtPm1fY29udGVudFJlY3QuaGVpZ2h0KCks
IG1fbWF4VGV4dHVyZVNpemUpKTsKKyAgICAgICAgcmVuZGVyU3VyZmFjZUNvbnRlbnRSZWN0LnNl
dFdpZHRoKHN0ZDo6bWluKHJlbmRlclN1cmZhY2VDb250ZW50UmVjdC53aWR0aCgpLCBtX21heFRl
eHR1cmVTaXplKSk7CisgICAgICAgIHJlbmRlclN1cmZhY2VDb250ZW50UmVjdC5zZXRIZWlnaHQo
c3RkOjptaW4ocmVuZGVyU3VyZmFjZUNvbnRlbnRSZWN0LmhlaWdodCgpLCBtX21heFRleHR1cmVT
aXplKSk7CiAKLSAgICAgICAgaWYgKHJlbmRlclN1cmZhY2UtPm1fY29udGVudFJlY3QuaXNFbXB0
eSgpKQotICAgICAgICAgICAgcmVuZGVyU3VyZmFjZS0+bV9sYXllckxpc3QuY2xlYXIoKTsKKyAg
ICAgICAgaWYgKHJlbmRlclN1cmZhY2VDb250ZW50UmVjdC5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZW5kZXJTdXJmYWNlLT5jbGVhckxheWVyTGlzdCgpOworICAgICAgICByZW5kZXJTdXJmYWNl
LT5zZXRDb250ZW50UmVjdChyZW5kZXJTdXJmYWNlQ29udGVudFJlY3QpOwogCiAgICAgICAgIC8v
IFNpbmNlIHRoZSBsYXllciBzdGFydHMgYSBuZXcgcmVuZGVyIHN1cmZhY2Ugd2UgbmVlZCB0byBh
ZGp1c3QgaXRzCiAgICAgICAgIC8vIHNjaXNzb3IgcmVjdCB0byBiZSBleHByZXNzZWQgaW4gdGhl
IG5ldyBzdXJmYWNlJ3MgY29vcmRpbmF0ZSBzeXN0ZW0uCiAgICAgICAgIGxheWVyLT5zZXRTY2lz
c29yUmVjdChsYXllci0+ZHJhd2FibGVDb250ZW50UmVjdCgpKTsKIAogICAgICAgICAvLyBBZGp1
c3QgdGhlIG9yaWdpbiBvZiB0aGUgdHJhbnNmb3JtIHRvIGJlIHRoZSBjZW50ZXIgb2YgdGhlIHJl
bmRlciBzdXJmYWNlLgotICAgICAgICByZW5kZXJTdXJmYWNlLT5tX2RyYXdUcmFuc2Zvcm0gPSBy
ZW5kZXJTdXJmYWNlLT5tX29yaWdpblRyYW5zZm9ybTsKLSAgICAgICAgcmVuZGVyU3VyZmFjZS0+
bV9kcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZTNkKHN1cmZhY2VDZW50ZXIueCgpICsgY2VudGVyT2Zm
c2V0RHVlVG9DbGlwcGluZy53aWR0aCgpLCBzdXJmYWNlQ2VudGVyLnkoKSArIGNlbnRlck9mZnNl
dER1ZVRvQ2xpcHBpbmcuaGVpZ2h0KCksIDApOworICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBkcmF3VHJhbnNmb3JtID0gcmVuZGVyU3VyZmFjZS0+b3JpZ2luVHJhbnNmb3JtKCk7CisgICAg
ICAgIGRyYXdUcmFuc2Zvcm0udHJhbnNsYXRlM2Qoc3VyZmFjZUNlbnRlci54KCkgKyBjZW50ZXJP
ZmZzZXREdWVUb0NsaXBwaW5nLndpZHRoKCksIHN1cmZhY2VDZW50ZXIueSgpICsgY2VudGVyT2Zm
c2V0RHVlVG9DbGlwcGluZy5oZWlnaHQoKSwgMCk7CisgICAgICAgIHJlbmRlclN1cmZhY2UtPnNl
dERyYXdUcmFuc2Zvcm0oZHJhd1RyYW5zZm9ybSk7CiAKICAgICAgICAgLy8gQ29tcHV0ZSB0aGUg
dHJhbnNmb3JtYXRpb24gbWF0cml4IHVzZWQgdG8gZHJhdyB0aGUgcmVwbGljYSBvZiB0aGUgcmVu
ZGVyCiAgICAgICAgIC8vIHN1cmZhY2UuCiAgICAgICAgIGlmIChsYXllci0+cmVwbGljYUxheWVy
KCkpIHsKLSAgICAgICAgICAgIHJlbmRlclN1cmZhY2UtPm1fcmVwbGljYURyYXdUcmFuc2Zvcm0g
PSByZW5kZXJTdXJmYWNlLT5tX29yaWdpblRyYW5zZm9ybTsKLSAgICAgICAgICAgIHJlbmRlclN1
cmZhY2UtPm1fcmVwbGljYURyYXdUcmFuc2Zvcm0udHJhbnNsYXRlM2QobGF5ZXItPnJlcGxpY2FM
YXllcigpLT5wb3NpdGlvbigpLngoKSwgbGF5ZXItPnJlcGxpY2FMYXllcigpLT5wb3NpdGlvbigp
LnkoKSwgMCk7Ci0gICAgICAgICAgICByZW5kZXJTdXJmYWNlLT5tX3JlcGxpY2FEcmF3VHJhbnNm
b3JtLm11bHRpcGx5KGxheWVyLT5yZXBsaWNhTGF5ZXIoKS0+dHJhbnNmb3JtKCkpOwotICAgICAg
ICAgICAgcmVuZGVyU3VyZmFjZS0+bV9yZXBsaWNhRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUzZChz
dXJmYWNlQ2VudGVyLngoKSAtIGFuY2hvclBvaW50LngoKSAqIGJvdW5kcy53aWR0aCgpLCBzdXJm
YWNlQ2VudGVyLnkoKSAtIGFuY2hvclBvaW50LnkoKSAqIGJvdW5kcy5oZWlnaHQoKSwgMCk7Cisg
ICAgICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXBsaWNhRHJhd1RyYW5zZm9ybSA9IHJl
bmRlclN1cmZhY2UtPm9yaWdpblRyYW5zZm9ybSgpOworICAgICAgICAgICAgcmVwbGljYURyYXdU
cmFuc2Zvcm0udHJhbnNsYXRlM2QobGF5ZXItPnJlcGxpY2FMYXllcigpLT5wb3NpdGlvbigpLngo
KSwgbGF5ZXItPnJlcGxpY2FMYXllcigpLT5wb3NpdGlvbigpLnkoKSwgMCk7CisgICAgICAgICAg
ICByZXBsaWNhRHJhd1RyYW5zZm9ybS5tdWx0aXBseShsYXllci0+cmVwbGljYUxheWVyKCktPnRy
YW5zZm9ybSgpKTsKKyAgICAgICAgICAgIHJlcGxpY2FEcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZTNk
KHN1cmZhY2VDZW50ZXIueCgpIC0gYW5jaG9yUG9pbnQueCgpICogYm91bmRzLndpZHRoKCksIHN1
cmZhY2VDZW50ZXIueSgpIC0gYW5jaG9yUG9pbnQueSgpICogYm91bmRzLmhlaWdodCgpLCAwKTsK
KyAgICAgICAgICAgIHJlbmRlclN1cmZhY2UtPnNldFJlcGxpY2FEcmF3VHJhbnNmb3JtKHJlcGxp
Y2FEcmF3VHJhbnNmb3JtKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtOTMyLDEwICs5MzYsMTAg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUNvbXBvc2l0b3JSZXNvdXJjZXMo
Y29uc3QgTGF5ZXJMaXN0JiByZW5kZXJTdXIKICAgICAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVt
KiByZW5kZXJTdXJmYWNlID0gcmVuZGVyU3VyZmFjZUxheWVyLT5yZW5kZXJTdXJmYWNlKCk7CiAg
ICAgICAgIEFTU0VSVChyZW5kZXJTdXJmYWNlKTsKIAotICAgICAgICBpZiAoIXJlbmRlclN1cmZh
Y2UtPm1fbGF5ZXJMaXN0LnNpemUoKSB8fCAhcmVuZGVyU3VyZmFjZS0+bV9kcmF3T3BhY2l0eSkK
KyAgICAgICAgaWYgKCFyZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKS5zaXplKCkgfHwgIXJlbmRl
clN1cmZhY2UtPmRyYXdPcGFjaXR5KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICBMYXllckxpc3QmIGxheWVyTGlzdCA9IHJlbmRlclN1cmZhY2UtPm1fbGF5ZXJMaXN0OworICAg
ICAgICBjb25zdCBMYXllckxpc3QmIGxheWVyTGlzdCA9IHJlbmRlclN1cmZhY2UtPmxheWVyTGlz
dCgpOwogICAgICAgICBBU1NFUlQobGF5ZXJMaXN0LnNpemUoKSk7CiAgICAgICAgIGZvciAodW5z
aWduZWQgbGF5ZXJJbmRleCA9IDA7IGxheWVySW5kZXggPCBsYXllckxpc3Quc2l6ZSgpOyArK2xh
eWVySW5kZXgpIHsKICAgICAgICAgICAgIENDTGF5ZXJJbXBsKiBjY0xheWVySW1wbCA9IGxheWVy
TGlzdFtsYXllckluZGV4XS5nZXQoKTsKQEAgLTk4MSw3ICs5ODUsNyBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6c2V0Q29tcG9zaXRlT2Zmc2NyZWVuKGJvb2wgY29tcG9zaXRlT2Zmc2Ny
ZWVuKQogCiBMYXllclRleHR1cmUqIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Z2V0T2Zmc2NyZWVu
TGF5ZXJUZXh0dXJlKCkKIHsKLSAgICByZXR1cm4gbV9jb21wb3NpdGVPZmZzY3JlZW4gPyBtX3Jv
b3RMYXllci0+Y2NMYXllckltcGwoKS0+cmVuZGVyU3VyZmFjZSgpLT5tX2NvbnRlbnRzVGV4dHVy
ZS5nZXQoKSA6IDA7CisgICAgcmV0dXJuIG1fY29tcG9zaXRlT2Zmc2NyZWVuID8gbV9yb290TGF5
ZXItPmNjTGF5ZXJJbXBsKCktPnJlbmRlclN1cmZhY2UoKS0+Y29udGVudHNUZXh0dXJlKCkgOiAw
OwogfQogCiB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y29weU9mZnNjcmVlblRleHR1cmVU
b0Rpc3BsYXkoKQpAQCAtOTkwLDExICs5OTQsMTEgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21p
dW06OmNvcHlPZmZzY3JlZW5UZXh0dXJlVG9EaXNwbGF5KCkKICAgICAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAKICAgICAgICAgdXNlUmVuZGVyU3VyZmFjZSgwKTsKLSAgICAgICAgbV9kZWZh
dWx0UmVuZGVyU3VyZmFjZS0+bV9kcmF3VHJhbnNmb3JtLm1ha2VJZGVudGl0eSgpOwotICAgICAg
ICBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlLT5tX2RyYXdUcmFuc2Zvcm0udHJhbnNsYXRlM2QoMC41
ICogbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+bV9jb250ZW50UmVjdC53aWR0aCgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41
ICogbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+bV9jb250ZW50UmVjdC5oZWlnaHQoKSwgMCk7Ci0g
ICAgICAgIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPm1fZHJhd09wYWNpdHkgPSAxOwotICAgICAg
ICBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlLT5kcmF3KG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPm1f
Y29udGVudFJlY3QpOworICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBkcmF3VHJhbnNmb3Jt
OworICAgICAgICBkcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZTNkKDAuNSAqIG1fZGVmYXVsdFJlbmRl
clN1cmZhY2UtPmNvbnRlbnRSZWN0KCkud2lkdGgoKSwgMC41ICogbV9kZWZhdWx0UmVuZGVyU3Vy
ZmFjZS0+Y29udGVudFJlY3QoKS5oZWlnaHQoKSwgMCk7CisgICAgICAgIG1fZGVmYXVsdFJlbmRl
clN1cmZhY2UtPnNldERyYXdUcmFuc2Zvcm0oZHJhd1RyYW5zZm9ybSk7CisgICAgICAgIG1fZGVm
YXVsdFJlbmRlclN1cmZhY2UtPnNldERyYXdPcGFjaXR5KDEpOworICAgICAgICBtX2RlZmF1bHRS
ZW5kZXJTdXJmYWNlLT5kcmF3KG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCkp
OwogICAgIH0KIH0KIApAQCAtMTAwOCw5ICsxMDEyLDkgQEAgYm9vbCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OnVzZVJlbmRlclN1cmZhY2UoUmVuZGVyU3VyZmFjZUNocm9taXVtKiByZW5kZXJTdXJm
YWMKICAgICBpZiAoKHJlbmRlclN1cmZhY2UgPT0gbV9kZWZhdWx0UmVuZGVyU3VyZmFjZSAmJiAh
bV9jb21wb3NpdGVPZmZzY3JlZW4pIHx8ICghcmVuZGVyU3VyZmFjZSAmJiBtX2NvbXBvc2l0ZU9m
ZnNjcmVlbikpIHsKICAgICAgICAgR0xDKG1fY29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5iaW5k
RnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCAwKSk7CiAgICAgICAg
IGlmIChyZW5kZXJTdXJmYWNlKQotICAgICAgICAgICAgc2V0RHJhd1ZpZXdwb3J0UmVjdChyZW5k
ZXJTdXJmYWNlLT5tX2NvbnRlbnRSZWN0LCB0cnVlKTsKKyAgICAgICAgICAgIHNldERyYXdWaWV3
cG9ydFJlY3QocmVuZGVyU3VyZmFjZS0+Y29udGVudFJlY3QoKSwgdHJ1ZSk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHNldERyYXdWaWV3cG9ydFJlY3QobV9kZWZhdWx0UmVuZGVyU3VyZmFj
ZS0+bV9jb250ZW50UmVjdCwgdHJ1ZSk7CisgICAgICAgICAgICBzZXREcmF3Vmlld3BvcnRSZWN0
KG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIHRydWUpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTEwMTksNyArMTAyMyw3IEBAIGJvb2wgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjp1c2VSZW5kZXJTdXJmYWNlKFJlbmRlclN1cmZhY2VDaHJvbWl1bSogcmVu
ZGVyU3VyZmFjCiAgICAgaWYgKCFyZW5kZXJTdXJmYWNlLT5wcmVwYXJlQ29udGVudHNUZXh0dXJl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlbmRlclN1cmZhY2UtPm1fY29udGVu
dHNUZXh0dXJlLT5mcmFtZWJ1ZmZlclRleHR1cmUyRCgpOworICAgIHJlbmRlclN1cmZhY2UtPmNv
bnRlbnRzVGV4dHVyZSgpLT5mcmFtZWJ1ZmZlclRleHR1cmUyRCgpOwogCiAjaWYgIWRlZmluZWQg
KCBOREVCVUcgKQogICAgIGlmIChtX2NvbnRleHQtPmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR3Jh
cGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVC
VUZGRVJfQ09NUExFVEUpIHsKQEAgLTEwMjgsNyArMTAzMiw3IEBAIGJvb2wgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp1c2VSZW5kZXJTdXJmYWNlKFJlbmRlclN1cmZhY2VDaHJvbWl1bSogcmVuZGVy
U3VyZmFjCiAgICAgfQogI2VuZGlmCiAKLSAgICBzZXREcmF3Vmlld3BvcnRSZWN0KHJlbmRlclN1
cmZhY2UtPm1fY29udGVudFJlY3QsIGZhbHNlKTsKKyAgICBzZXREcmF3Vmlld3BvcnRSZWN0KHJl
bmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIGZhbHNlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApAQCAtMTA2MCwxMSArMTA2NCwxNiBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d0xheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgUmVuZGVyU3VyZmFjZUNocm9taXVtKgogICAgICAg
ICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmRpc2FibGUoR3JhcGhpY3NDb250ZXh0
M0Q6OlNDSVNTT1JfVEVTVCkpOwogCiAKLSAgICAvLyBGSVhNRTogTmVlZCB0byB0YWtlIGludG8g
YWNjb3VudCB0aGUgY29tbXVsYXRpdmUgcmVuZGVyIHN1cmZhY2UgdHJhbnNmb3JtcyBhbGwgdGhl
IHdheSBmcm9tCi0gICAgLy8gICAgICAgIHRoZSBkZWZhdWx0IHJlbmRlciBzdXJmYWNlIGluIG9y
ZGVyIHRvIGRldGVybWluZSB2aXNpYmlsaXR5LgotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNv
bWJpbmVkRHJhd01hdHJpeCA9IChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpID8gbGF5ZXIt
PnRhcmdldFJlbmRlclN1cmZhY2UoKS0+ZHJhd1RyYW5zZm9ybSgpLm11bHRpcGx5KGxheWVyLT5k
cmF3VHJhbnNmb3JtKCkpIDogbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSk7Ci0gICAgCiAgICAgaWYg
KCFsYXllci0+ZG91YmxlU2lkZWQoKSkgeworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byB0YWtl
IGludG8gYWNjb3VudCB0aGUgY3VtdWxhdGl2ZSByZW5kZXIgc3VyZmFjZSB0cmFuc2Zvcm1zIGFs
bCB0aGUgd2F5IGZyb20KKyAgICAgICAgLy8gICAgICAgIHRoZSBkZWZhdWx0IHJlbmRlciBzdXJm
YWNlIGluIG9yZGVyIHRvIGRldGVybWluZSB2aXNpYmlsaXR5LgorICAgICAgICBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCBjb21iaW5lZERyYXdNYXRyaXg7CisgICAgICAgIGlmIChsYXllci0+dGFyZ2V0
UmVuZGVyU3VyZmFjZSgpKSB7CisgICAgICAgICAgICBjb21iaW5lZERyYXdNYXRyaXggPSBsYXll
ci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5kcmF3VHJhbnNmb3JtKCk7CisgICAgICAgICAgICBj
b21iaW5lZERyYXdNYXRyaXgubXVsdGlwbHkobGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgY29tYmluZWREcmF3TWF0cml4ID0gbGF5ZXItPmRyYXdU
cmFuc2Zvcm0oKTsKKwogICAgICAgICBGbG9hdFJlY3QgbGF5ZXJSZWN0KEZsb2F0UG9pbnQoMCwg
MCksIEZsb2F0U2l6ZShsYXllci0+Ym91bmRzKCkpKTsKICAgICAgICAgRmxvYXRRdWFkIG1hcHBl
ZExheWVyID0gY29tYmluZWREcmF3TWF0cml4Lm1hcFF1YWQoRmxvYXRRdWFkKGxheWVyUmVjdCkp
OwogICAgICAgICBGbG9hdFNpemUgaG9yaXpvbnRhbERpciA9IG1hcHBlZExheWVyLnAyKCkgLSBt
YXBwZWRMYXllci5wMSgpOwpAQCAtMTA4Niw3ICsxMDk1LDcgQEAgdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIFJlbmRlclN1cmZhY2VDaHJv
bWl1bSoKIC8vIHNjaXNzb3JSZWN0IGhhcyBpdHMgb3JpZ2luIGF0IHRoZSB0b3AgbGVmdCBjb3Ju
ZXIgb2YgdGhlIGN1cnJlbnQgdmlzaWJsZSByZWN0Lgogdm9pZCBMYXllclJlbmRlcmVyQ2hyb21p
dW06OnNldFNjaXNzb3JUb1JlY3QoY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpCiB7Ci0gICAg
SW50UmVjdCBjb250ZW50UmVjdCA9IChtX2N1cnJlbnRSZW5kZXJTdXJmYWNlID8gbV9jdXJyZW50
UmVuZGVyU3VyZmFjZS0+bV9jb250ZW50UmVjdCA6IG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPm1f
Y29udGVudFJlY3QpOworICAgIEludFJlY3QgY29udGVudFJlY3QgPSAobV9jdXJyZW50UmVuZGVy
U3VyZmFjZSA/IG1fY3VycmVudFJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCkgOiBtX2RlZmF1
bHRSZW5kZXJTdXJmYWNlLT5jb250ZW50UmVjdCgpKTsKIAogICAgIEdMQyhtX2NvbnRleHQuZ2V0
KCksIG1fY29udGV4dC0+ZW5hYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lTU09SX1RFU1QpKTsK
IApAQCAtMTA5OCw3ICsxMTA3LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnNldFNj
aXNzb3JUb1JlY3QoY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpCiAgICAgLy8gQnV0LCBpZiBy
ZW5kZXJpbmcgdG8gb2Zmc2NyZWVuIHRleHR1cmUsIHdlIHJldmVyc2Ugb3VyIHNlbnNlIG9mICd1
cHNpZGUgZG93bicuCiAgICAgaW50IHNjaXNzb3JZOwogICAgIGlmIChtX2N1cnJlbnRSZW5kZXJT
dXJmYWNlID09IG1fZGVmYXVsdFJlbmRlclN1cmZhY2UgJiYgIW1fY29tcG9zaXRlT2Zmc2NyZWVu
KQotICAgICAgICBzY2lzc29yWSA9IG1fY3VycmVudFJlbmRlclN1cmZhY2UtPm1fY29udGVudFJl
Y3QuaGVpZ2h0KCkgLSAoc2Npc3NvclJlY3QubWF4WSgpIC0gbV9jdXJyZW50UmVuZGVyU3VyZmFj
ZS0+bV9jb250ZW50UmVjdC55KCkpOworICAgICAgICBzY2lzc29yWSA9IG1fY3VycmVudFJlbmRl
clN1cmZhY2UtPmNvbnRlbnRSZWN0KCkuaGVpZ2h0KCkgLSAoc2Npc3NvclJlY3QubWF4WSgpIC0g
bV9jdXJyZW50UmVuZGVyU3VyZmFjZS0+Y29udGVudFJlY3QoKS55KCkpOwogICAgIGVsc2UKICAg
ICAgICAgc2Npc3NvclkgPSBzY2lzc29yUmVjdC55KCkgLSBjb250ZW50UmVjdC55KCk7CiAgICAg
R0xDKG1fY29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5zY2lzc29yKHNjaXNzb3JYLCBzY2lzc29y
WSwgc2Npc3NvclJlY3Qud2lkdGgoKSwgc2Npc3NvclJlY3QuaGVpZ2h0KCkpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZh
Y2VDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwCmluZGV4IDI3NzZjYzUxYmExYzg1NDdkMzA2Yjlm
MThjYTI1NGQzMTdiYWRhOTkuLjIxYmE4MTU0ZmNjM2IzNWVkODYwYzVkMDEwMzVkN2VmNzUwMzQx
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmNwcApAQCAtMTczLDYgKzE3
MywxMSBAQCB2b2lkIFJlbmRlclN1cmZhY2VDaHJvbWl1bTo6ZHJhdyhjb25zdCBJbnRSZWN0JikK
ICAgICBkcmF3U3VyZmFjZShtX21hc2tMYXllciwgbV9kcmF3VHJhbnNmb3JtKTsKIH0KIAordm9p
ZCBSZW5kZXJTdXJmYWNlQ2hyb21pdW06OmNsZWFyTGF5ZXJMaXN0KCkKK3sKKyAgICBtX2xheWVy
TGlzdC5jbGVhcigpOworfQorCiBTdHJpbmcgUmVuZGVyU3VyZmFjZUNocm9taXVtOjpuYW1lKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIlJlbmRlclN1cmZhY2UoaWQ9JWQs
b3duZXI9JXMpIiwgbV9vd25pbmdMYXllci0+aWQoKSwgbV9vd25pbmdMYXllci0+bmFtZSgpLnV0
ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCBiZGY5
MWMyYjhkY2EzMjA2NDEyYjg2MzNkMjdmMTBiYzQ3ZDhkMTRhLi4xZDJjYjYyM2Y5YjFjMjIzNjU3
ZWQwYzAwYTRkZjU0MmM4NWM0YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0u
aApAQCAtNDUsNyArNDUsNiBAQCBjbGFzcyBMYXllclRleHR1cmU7CiAKIGNsYXNzIFJlbmRlclN1
cmZhY2VDaHJvbWl1bSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNo
cm9taXVtKTsKLSAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShDQ0xheWVySW1wbCopOwogICAg
IH5SZW5kZXJTdXJmYWNlQ2hyb21pdW0oKTsKQEAgLTU4LDEzICs1NywzNyBAQCBwdWJsaWM6CiAg
ICAgU3RyaW5nIG5hbWUoKSBjb25zdDsKICAgICB2b2lkIGR1bXBTdXJmYWNlKFRleHRTdHJlYW0m
LCBpbnQgaW5kZW50KSBjb25zdDsKIAotICAgIEZsb2F0UG9pbnQgY29udGVudFJlY3RDZW50ZXIo
KSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QobV9jb250ZW50UmVjdCkuY2VudGVyKCk7IH0KLSAg
ICBJbnRSZWN0IGNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UmVjdDsgfQot
CiAgICAgLy8gUmV0dXJucyB0aGUgcmVjdCB0aGF0IGVuY2xvc2VzIHRoZSBSZW5kZXJTdXJmYWNl
IGluY2x1ZGluZyBhbnkgcmVmbGVjdGlvbi4KICAgICBGbG9hdFJlY3QgZHJhd2FibGVDb250ZW50
UmVjdCgpIGNvbnN0OwogCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXggZHJhd1RyYW5zZm9ybSgp
IGNvbnN0IHsgcmV0dXJuIG1fZHJhd1RyYW5zZm9ybTsgfQorICAgIFZlY3RvcjxSZWZQdHI8Q0NM
YXllckltcGw+ID4mIGxheWVyTGlzdCgpIHsgcmV0dXJuIG1fbGF5ZXJMaXN0OyB9CisgICAgdm9p
ZCBjbGVhckxheWVyTGlzdCgpOworCisgICAgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2NvbnRlbnRSZWN0OyB9CisgICAgdm9pZCBzZXRDb250ZW50UmVjdChj
b25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkgeyBtX2NvbnRlbnRSZWN0ID0gY29udGVudFJlY3Q7
IH0KKworICAgIGZsb2F0IGRyYXdPcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9kcmF3T3BhY2l0
eTsgfQorICAgIHZvaWQgc2V0RHJhd09wYWNpdHkoZmxvYXQgZHJhd09wYWNpdHkpIHsgbV9kcmF3
T3BhY2l0eSA9IGRyYXdPcGFjaXR5OyB9CisKKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgZHJhd1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd1RyYW5zZm9ybTsgfQorICAg
IHZvaWQgc2V0RHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd1Ry
YW5zZm9ybSkgeyBtX2RyYXdUcmFuc2Zvcm0gPSBkcmF3VHJhbnNmb3JtOyB9CisKKyAgICBDQ0xh
eWVySW1wbCogbWFza0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9tYXNrTGF5ZXI7IH0KKyAgICB2
b2lkIHNldE1hc2tMYXllcihDQ0xheWVySW1wbCogbWFza0xheWVyKSB7IG1fbWFza0xheWVyID0g
bWFza0xheWVyOyB9CisKKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgb3JpZ2luVHJh
bnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW5UcmFuc2Zvcm07IH0KKyAgICB2b2lkIHNl
dE9yaWdpblRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgb3JpZ2luVHJhbnNm
b3JtKSB7IG1fb3JpZ2luVHJhbnNmb3JtID0gb3JpZ2luVHJhbnNmb3JtOyB9CisKKyAgICBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcmVwbGljYURyYXdUcmFuc2Zvcm0oKSBjb25zdCB7IHJl
dHVybiBtX3JlcGxpY2FEcmF3VHJhbnNmb3JtOyB9CisgICAgdm9pZCBzZXRSZXBsaWNhRHJhd1Ry
YW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcmVwbGljYURyYXdUcmFuc2Zvcm0p
IHsgbV9yZXBsaWNhRHJhd1RyYW5zZm9ybSA9IHJlcGxpY2FEcmF3VHJhbnNmb3JtOyB9CisKKyAg
ICBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Npc3NvclJl
Y3Q7IH0KKyAgICB2b2lkIHNldFNjaXNzb3JSZWN0KGNvbnN0IEludFJlY3QmIHNjaXNzb3JSZWN0
KSB7IG1fc2Npc3NvclJlY3QgPSBzY2lzc29yUmVjdDsgfQorCisgICAgYm9vbCBza2lwc0RyYXco
KSBjb25zdCB7IHJldHVybiBtX3NraXBzRHJhdzsgfQorICAgIHZvaWQgc2V0U2tpcHNEcmF3KGJv
b2wgc2tpcHNEcmF3KSB7IG1fc2tpcHNEcmF3ID0gc2tpcHNEcmF3OyB9CisKKyAgICBMYXllclRl
eHR1cmUqIGNvbnRlbnRzVGV4dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNUZXh0dXJl
LmdldCgpOyB9CiAKICAgICB0eXBlZGVmIFByb2dyYW1CaW5kaW5nPFZlcnRleFNoYWRlclBvc1Rl
eCwgRnJhZ21lbnRTaGFkZXJSR0JBVGV4QWxwaGE+IFByb2dyYW07CiAgICAgdHlwZWRlZiBQcm9n
cmFtQmluZGluZzxWZXJ0ZXhTaGFkZXJQb3NUZXgsIEZyYWdtZW50U2hhZGVyUkdCQVRleEFscGhh
TWFzaz4gTWFza1Byb2dyYW07Cg==
</data>
<flag name="review"
          id="96303"
          type_id="1"
          status="+"
          setter="kbr"
    />
    <flag name="commit-queue"
          id="96311"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>