<?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>138788</bug_id>
          
          <creation_ts>2014-11-16 20:58:37 -0800</creation_ts>
          <short_desc>Move the &apos;quotes&apos; CSS property to the new StyleBuilder</short_desc>
          <delta_ts>2014-11-19 17:14:17 -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>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049112</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-11-16 20:58:37 -0800</bug_when>
    <thetext>Move the &apos;quotes&apos; CSS property to the new StyleBuilder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049114</commentid>
    <comment_count>1</comment_count>
      <attachid>241691</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-11-16 21:02:39 -0800</bug_when>
    <thetext>Created attachment 241691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049122</commentid>
    <comment_count>2</comment_count>
      <attachid>241693</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-11-16 21:43:08 -0800</bug_when>
    <thetext>Created attachment 241693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049186</commentid>
    <comment_count>3</comment_count>
      <attachid>241709</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-11-17 07:03:52 -0800</bug_when>
    <thetext>Created attachment 241709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049220</commentid>
    <comment_count>4</comment_count>
      <attachid>241709</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-17 09:44:56 -0800</bug_when>
    <thetext>Comment on attachment 241709
Patch

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

r=me with nits.

&gt; Source/WebCore/css/StyleBuilderConverter.h:429
&gt; +    ASSERT(is&lt;CSSValueList&gt;(value));

This is not needed. There is already such assert in downcast&lt;CSSValueList&gt;().

&gt; Source/WebCore/css/StyleBuilderConverter.h:431
&gt; +    Vector&lt;std::pair&lt;String, String&gt;&gt; quotes;

Maybe we could even reserve capacity:
quotes.reserveInitialCapacity(list.length() / 2);

&gt; Source/WebCore/css/StyleBuilderConverter.h:432
&gt; +    for (size_t i = 0; i &lt; list.length(); i += 2) {

nit: could be unsigned as Vector::m_size is unsigned.

&gt; Source/WebCore/css/StyleBuilderConverter.h:437
&gt; +            continue;

nit: Looks like we should even break; here.

&gt; LayoutTests/fast/css/content/content-quotes-07.html:1
&gt; +&lt;html&gt;

nit: Missing &lt;!DOCTYPE html&gt; (to make sure we run in strict mode).

&gt; LayoutTests/fast/css/content/content-quotes-07.html:3
&gt; +        &lt;style type=&quot;text/css&quot;&gt;

Nit: we don&apos;t need to specify the type as this is the default.

&gt; LayoutTests/fast/css/content/content-quotes-07.html:6
&gt; +        &lt;script type=&quot;text/javascript&quot;&gt;

Nit: we don&apos;t need to specify the type as this is the default.

&gt; LayoutTests/fast/css/content/content-quotes-07.html:7
&gt; +            if (window.testRunner) {

Your call, but I think it would be nice to use js-test-pre.js framework.

&gt; LayoutTests/fast/css/content/content-quotes-07.html:13
&gt; +                testWidth = window.getComputedStyle(document.getElementById(&quot;testContainer&quot;), null).getPropertyValue(&quot;width&quot;);

nit: var testWidth = ...

&gt; LayoutTests/fast/css/content/content-quotes-07.html:14
&gt; +                referenceWidth = window.getComputedStyle(document.getElementById(&quot;reference&quot;), null).getPropertyValue(&quot;width&quot;);

nit: var referenceWidth = ...

&gt; LayoutTests/fast/css/content/content-quotes-07.html:41
&gt; +        &lt;p&gt;========Marker3========&lt;/p&gt;

Marker3?

&gt; LayoutTests/fast/css/content/content-quotes-07.html:5
&gt; +            body { quotes: baseline; } /* This should be ignored, as &quot;baseline&quot; is not a vaild value for quotes */

typo: &quot;valid&quot;

BTW, I don&apos;t get why Bugzilla shows LayoutTests/fast/css/content/content-quotes-07.html twice in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049998</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-11-19 17:14:17 -0800</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/176369.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241691</attachid>
            <date>2014-11-16 21:02:39 -0800</date>
            <delta_ts>2014-11-16 21:43:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138788-20141116210250.patch</filename>
            <type>text/plain</type>
            <size>11559</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTExLTE2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ3F1b3RlcycgQ1NTIHBy
b3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVv
dGVzLTA3Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgRml4IHRoZSBwYXJzZXIgdG8g
b25seSBhY2NlcHQgbm9uZSBhcyBhIHZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVyLiBUZXN0ZWQg
aW4gCisgICAgICAgIHRoZSBuZXdseSBhZGRlZCBjb250ZW50LXF1b3Rlcy0wNy5odG1sLgorCisg
ICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVy
Ojpjb252ZXJ0UXVvdGVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgTW92
ZSAicXVvdGVzIiB0byB0aGUgbmV3IHN0eWxlIGJ1aWxkZXIuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgQWRkIGFuIGluaXRpYWxRdW90ZXMoKSBm
dW5jdGlvbiBmb3IgdXNlIGluIHRoZSBhdXRvLWdlbmVyYXRlZCBzdHlsZSBidWlsZGVyLgorCiAy
MDE0LTExLTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSAndmVydGljYWwtYWxpZ24nIENTUyBwcm9wZXJ0eSB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQ2LDcgKzE4
NDYsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlECiAgICAgICAg
IHJldHVybiBwYXJzZVNpemUocHJvcElkLCBpbXBvcnRhbnQpOwogCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVF1b3RlczogICAgICAgICAgICAgICAvLyBbPHN0cmluZz4gPHN0cmluZz5dKyB8IG5vbmUg
fCBpbmhlcml0Ci0gICAgICAgIGlmIChpZCkKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlTm9u
ZSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmV0dXJuIHBhcnNlUXVvdGVzKHByb3BJZCwgaW1wb3J0YW50KTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiAxNzYxNjYpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MjE2LDcgKzIxNiw3IEBAIHBhZ2UtYnJlYWstaW5zaWRlIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGUK
IHBhaW50LW9yZGVyCiBwb2ludGVyLWV2ZW50cyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXJd
CiBwb3NpdGlvbiBbTmV3U3R5bGVCdWlsZGVyXQotcXVvdGVzIFtJbmhlcml0ZWRdCitxdW90ZXMg
W0luaGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBDb252ZXJ0ZXI9UXVvdGVzXQogcmVzaXplIFtJ
bmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPVJlc2l6ZV0KIHJpZ2h0IFtOZXdT
dHlsZUJ1aWxkZXIsIEluaXRpYWw9aW5pdGlhbE9mZnNldCwgQ29udmVydGVyPUxlbmd0aE9yQXV0
b10KIHNpemUgW05ld1N0eWxlQnVpbGRlciwgQ3VzdG9tPUFsbF0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgJKHJldmlzaW9uIDE3NjE2NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiUGFpci5oIgorI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJUcmFuc2Zvcm1GdW5jdGlvbnMuaCIKQEAgLTY0LDYgKzY1LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBjb252ZXJ0Q2xpcFBhdGgoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIEVSZXNpemUgY29udmVydFJlc2l6
ZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgaW50IGNvbnZlcnRNYXJx
dWVlU3BlZWQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UXVvdGVzRGF0YT4gY29udmVydFF1b3RlcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsK
IAogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb1JhZGl1c0xlbmd0aChDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTUHJpbWl0aXZlVmFsdWUmKTsKQEAgLTQxNyw2ICs0
MTksMzAgQEAgaW5saW5lIGludCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcgogICAgIHJl
dHVybiBzcGVlZDsKIH0KIAoraW5saW5lIFBhc3NSZWZQdHI8UXVvdGVzRGF0YT4gU3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0UXVvdGVzKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFs
dWUpCit7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAg
YXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
OworICAgICAgICBBU1NFUlQocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVl
Tm9uZSk7CisgICAgICAgIHJldHVybiBRdW90ZXNEYXRhOjpjcmVhdGUoVmVjdG9yPHN0ZDo6cGFp
cjxTdHJpbmcsIFN0cmluZz4+KCkpOworICAgIH0KKworICAgIEFTU0VSVChpczxDU1NWYWx1ZUxp
c3Q+KHZhbHVlKSk7CisgICAgQ1NTVmFsdWVMaXN0JiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVM
aXN0Pih2YWx1ZSk7CisgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+IHF1b3Rl
czsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoKCk7IGkgKz0gMikgewor
ICAgICAgICBDU1NWYWx1ZSogZmlyc3QgPSBsaXN0Lml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSk7
CisgICAgICAgIC8vIGl0ZW0oKSByZXR1cm5zIG51bGwgaWYgb3V0IG9mIGJvdW5kcyBzbyB0aGlz
IGlzIHNhZmUuCisgICAgICAgIENTU1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0oaSArIDEpOwor
ICAgICAgICBpZiAoIXNlY29uZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBTdHJp
bmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZmlyc3QpLmdldFN0
cmluZ1ZhbHVlKCk7CisgICAgICAgIFN0cmluZyBlbmRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqc2Vjb25kKS5nZXRTdHJpbmdWYWx1ZSgpOworICAgICAgICBxdW90ZXMuYXBw
ZW5kKHN0ZDo6bWFrZV9wYWlyKHN0YXJ0UXVvdGUsIGVuZFF1b3RlKSk7CisgICAgfQorICAgIHJl
dHVybiBRdW90ZXNEYXRhOjpjcmVhdGUocXVvdGVzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2OSwzNyArMjI2
OSw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm8KICAgICAgICAg
ICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb250ZW50QWx0VGV4dChlbXB0eUF0b20pOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIAotICAgIGNhc2UgQ1NTUHJvcGVy
dHlRdW90ZXM6Ci0gICAgICAgIGlmIChpc0luaGVyaXQpIHsKLSAgICAgICAgICAgIHN0YXRlLnN0
eWxlKCktPnNldFF1b3RlcyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5xdW90ZXMoKSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGlzSW5pdGlhbCkgewotICAgICAg
ICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0UXVvdGVzKG51bGxwdHIpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0gICAgICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KCp2YWx1ZSkpIHsK
LSAgICAgICAgICAgIENTU1ZhbHVlTGlzdCYgbGlzdCA9IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4o
KnZhbHVlKTsKLSAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiBx
dW90ZXM7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoKCk7
IGkgKz0gMikgewotICAgICAgICAgICAgICAgIENTU1ZhbHVlKiBmaXJzdCA9IGxpc3QuaXRlbVdp
dGhvdXRCb3VuZHNDaGVjayhpKTsKLSAgICAgICAgICAgICAgICAvLyBpdGVtKCkgcmV0dXJucyBu
dWxsIGlmIG91dCBvZiBib3VuZHMgc28gdGhpcyBpcyBzYWZlLgotICAgICAgICAgICAgICAgIENT
U1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0oaSArIDEpOwotICAgICAgICAgICAgICAgIGlmICgh
c2Vjb25kKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBT
dHJpbmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZmlyc3QpLmdl
dFN0cmluZ1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGVuZFF1b3RlID0gZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpzZWNvbmQpLmdldFN0cmluZ1ZhbHVlKCk7Ci0gICAgICAg
ICAgICAgICAgcXVvdGVzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihzdGFydFF1b3RlLCBlbmRRdW90
ZSkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0UXVvdGVz
KFF1b3Rlc0RhdGE6OmNyZWF0ZShxdW90ZXMpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpIHsKLSAgICAgICAgICAgIGlmIChwcmlt
aXRpdmVWYWx1ZS0+Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSkKLSAgICAgICAgICAgICAg
ICBzdGF0ZS5zdHlsZSgpLT5zZXRRdW90ZXMoUXVvdGVzRGF0YTo6Y3JlYXRlKFZlY3RvcjxzdGQ6
OnBhaXI8U3RyaW5nLCBTdHJpbmc+PigpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwog
ICAgIC8vIFNob3J0aGFuZCBwcm9wZXJ0aWVzLgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250Ogog
ICAgICAgICBpZiAoaXNJbmhlcml0KSB7CkBAIC0zMDY5LDYgKzMwMzgsNyBAQCB2b2lkIFN0eWxl
UmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZ2VC
cmVha0luc2lkZToKICAgICBjYXNlIENTU1Byb3BlcnR5UG9pbnRlckV2ZW50czoKICAgICBjYXNl
IENTU1Byb3BlcnR5UG9zaXRpb246CisgICAgY2FzcyBDU1NQcm9wZXJ0eVF1b3RlczoKICAgICBj
YXNlIENTU1Byb3BlcnR5UmVzaXplOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSaWdodDoKICAgICBj
YXNlIENTU1Byb3BlcnR5U2l6ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAxNzYxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk0OSw2ICsx
OTQ5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHlsZUltYWdlKiBpbml0aWFsQm9yZGVySW1h
Z2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFN0eWxlSW1hZ2UqIGluaXRpYWxN
YXNrQm94SW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFByaW50Q29sb3JB
ZGp1c3QgaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKSB7IHJldHVybiBQcmludENvbG9yQWRqdXN0
RWNvbm9teTsgfQorICAgIHN0YXRpYyBRdW90ZXNEYXRhKiBpbml0aWFsUXVvdGVzKCkgeyByZXR1
cm4gbnVsbHB0cjsgfQogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBzdGF0aWMg
U2Nyb2xsU25hcFR5cGUgaW5pdGlhbFNjcm9sbFNuYXBUeXBlKCkgeyByZXR1cm4gU2Nyb2xsU25h
cFR5cGU6Ok5vbmU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTExLTE2ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ3F1b3Rlcycg
Q1NTIHByb3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciB0aGUgYmVoYXZpb3Ig
b2Ygbm9uLXZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVycyBiZWluZworICAgICAgICB1c2VkIHdp
dGggdGhlIHF1b3RlcyBwcm9wZXJ0eS4KKworICAgICAgICAqIGZhc3QvY3NzL2NvbnRlbnQvY29u
dGVudC1xdW90ZXMtMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9j
b250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTE2ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3QgZXhwZWN0YXRp
b24gZ2FyZGVuaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50
LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitUaGUgdGV4dHMgYmV0d2VlbiB0
aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLgorCis9PT09PT09PU1hcmtlcjE9PT09PT09
PQorCithYgkxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEKKz09PT09PT09TWFya2Vy
Mj09PT09PT09CisKK1dXYVdXYldXV1dXV1dXCTEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMQorPT09PT09PT1NYXJrZXIzPT09PT09PT0KKworUEFTU0VECkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCShyZXZp
c2lvbiAxNzYxNjYpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvbnRlbnQvY29udGVudC1x
dW90ZXMtMDEuaHRtbDoxNzYxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2Nv
bnRlbnQtcXVvdGVzLTA3Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAg
ICAgICBib2R5IHsgcXVvdGVzOiAiV1ciICJXV1dXIjsgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAgICAgICAgICAgICAgIHRl
c3RXaWR0aCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0Q29udGFpbmVyIiksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIndpZHRoIik7CisgICAg
ICAgICAgICAgICAgcmVmZXJlbmNlV2lkdGggPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVmZXJlbmNlIiksIG51bGwpLmdldFByb3BlcnR5VmFsdWUo
IndpZHRoIik7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA9PSByZWZlcmVuY2VXaWR0
aCkKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KS5pbm5lclRleHQgPSAiUEFTU0VEIjsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ID0g
IkZBSUxFRDogdGVzdFdpZHRoPSIgKyB0ZXN0V2lkdGggKyI7IGV4cGVjdGVkICIgKyByZWZlcmVu
Y2VXaWR0aDsKKyAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0
KCdydW4oKScsIDApOyI+CisgICAgICAgIDxwIGlkPSJvbmx5SW5Ccm93c2VyIj5UaGUgdGV4dHMg
YmV0d2VlbiB0aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLjwvcD4KKyAgICAgICAgPHA+
PT09PT09PT1NYXJrZXIxPT09PT09PT08L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAg
IDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InRlc3RDb250YWluZXIiPjxxPmE8cT5iPC9x
PjwvcT48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDE8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAg
ICAgPHA+PT09PT09PT1NYXJrZXIyPT09PT09PT08L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAg
ICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InJlZmVyZW5jZSI+V1dhV1diV1dX
V1dXV1c8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEgMSAxIDEgIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAg
ICAgIDxwPj09PT09PT09TWFya2VyMz09PT09PT09PC9wPgorICAgICAgICA8cHJlIGlkPSJjb25z
b2xlIi8+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Y29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3NzL2NvbnRlbnQvY29udGVudC1xdW90ZXMtMDcuaHRtbAkod29ya2luZyBjb3B5KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgogICAgICAgICAgICAgYm9keSB7IHF1b3RlczogIldXIiAiV1dXVyI7
IH0KKyAgICAgICAgICAgIGJvZHkgeyBxdW90ZXM6IGJhc2VsaW5lOyB9IC8qIFRoaXMgc2hvdWxk
IGJlIGlnbm9yZWQsIGFzICJiYXNlbGluZSIgaXMgbm90IGEgdmFpbGQgdmFsdWUgZm9yIHF1b3Rl
cyAqLwogICAgICAgICA8L3N0eWxlPgogICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241693</attachid>
            <date>2014-11-16 21:43:08 -0800</date>
            <delta_ts>2014-11-17 07:03:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138788-20141116214318.patch</filename>
            <type>text/plain</type>
            <size>11559</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTExLTE2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ3F1b3RlcycgQ1NTIHBy
b3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVv
dGVzLTA3Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgRml4IHRoZSBwYXJzZXIgdG8g
b25seSBhY2NlcHQgbm9uZSBhcyBhIHZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVyLiBUZXN0ZWQg
aW4gCisgICAgICAgIHRoZSBuZXdseSBhZGRlZCBjb250ZW50LXF1b3Rlcy0wNy5odG1sLgorCisg
ICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVy
Ojpjb252ZXJ0UXVvdGVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgTW92
ZSAicXVvdGVzIiB0byB0aGUgbmV3IHN0eWxlIGJ1aWxkZXIuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgQWRkIGFuIGluaXRpYWxRdW90ZXMoKSBm
dW5jdGlvbiBmb3IgdXNlIGluIHRoZSBhdXRvLWdlbmVyYXRlZCBzdHlsZSBidWlsZGVyLgorCiAy
MDE0LTExLTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSAndmVydGljYWwtYWxpZ24nIENTUyBwcm9wZXJ0eSB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQ2LDcgKzE4
NDYsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlECiAgICAgICAg
IHJldHVybiBwYXJzZVNpemUocHJvcElkLCBpbXBvcnRhbnQpOwogCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVF1b3RlczogICAgICAgICAgICAgICAvLyBbPHN0cmluZz4gPHN0cmluZz5dKyB8IG5vbmUg
fCBpbmhlcml0Ci0gICAgICAgIGlmIChpZCkKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlTm9u
ZSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmV0dXJuIHBhcnNlUXVvdGVzKHByb3BJZCwgaW1wb3J0YW50KTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiAxNzYxNjYpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MjE2LDcgKzIxNiw3IEBAIHBhZ2UtYnJlYWstaW5zaWRlIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGUK
IHBhaW50LW9yZGVyCiBwb2ludGVyLWV2ZW50cyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXJd
CiBwb3NpdGlvbiBbTmV3U3R5bGVCdWlsZGVyXQotcXVvdGVzIFtJbmhlcml0ZWRdCitxdW90ZXMg
W0luaGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBDb252ZXJ0ZXI9UXVvdGVzXQogcmVzaXplIFtJ
bmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPVJlc2l6ZV0KIHJpZ2h0IFtOZXdT
dHlsZUJ1aWxkZXIsIEluaXRpYWw9aW5pdGlhbE9mZnNldCwgQ29udmVydGVyPUxlbmd0aE9yQXV0
b10KIHNpemUgW05ld1N0eWxlQnVpbGRlciwgQ3VzdG9tPUFsbF0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgJKHJldmlzaW9uIDE3NjE2NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiUGFpci5oIgorI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJUcmFuc2Zvcm1GdW5jdGlvbnMuaCIKQEAgLTY0LDYgKzY1LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBjb252ZXJ0Q2xpcFBhdGgoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIEVSZXNpemUgY29udmVydFJlc2l6
ZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgaW50IGNvbnZlcnRNYXJx
dWVlU3BlZWQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UXVvdGVzRGF0YT4gY29udmVydFF1b3RlcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsK
IAogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb1JhZGl1c0xlbmd0aChDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTUHJpbWl0aXZlVmFsdWUmKTsKQEAgLTQxNyw2ICs0
MTksMzAgQEAgaW5saW5lIGludCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcgogICAgIHJl
dHVybiBzcGVlZDsKIH0KIAoraW5saW5lIFBhc3NSZWZQdHI8UXVvdGVzRGF0YT4gU3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0UXVvdGVzKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFs
dWUpCit7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAg
YXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
OworICAgICAgICBBU1NFUlQocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVl
Tm9uZSk7CisgICAgICAgIHJldHVybiBRdW90ZXNEYXRhOjpjcmVhdGUoVmVjdG9yPHN0ZDo6cGFp
cjxTdHJpbmcsIFN0cmluZz4+KCkpOworICAgIH0KKworICAgIEFTU0VSVChpczxDU1NWYWx1ZUxp
c3Q+KHZhbHVlKSk7CisgICAgQ1NTVmFsdWVMaXN0JiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVM
aXN0Pih2YWx1ZSk7CisgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+IHF1b3Rl
czsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoKCk7IGkgKz0gMikgewor
ICAgICAgICBDU1NWYWx1ZSogZmlyc3QgPSBsaXN0Lml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSk7
CisgICAgICAgIC8vIGl0ZW0oKSByZXR1cm5zIG51bGwgaWYgb3V0IG9mIGJvdW5kcyBzbyB0aGlz
IGlzIHNhZmUuCisgICAgICAgIENTU1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0oaSArIDEpOwor
ICAgICAgICBpZiAoIXNlY29uZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBTdHJp
bmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZmlyc3QpLmdldFN0
cmluZ1ZhbHVlKCk7CisgICAgICAgIFN0cmluZyBlbmRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqc2Vjb25kKS5nZXRTdHJpbmdWYWx1ZSgpOworICAgICAgICBxdW90ZXMuYXBw
ZW5kKHN0ZDo6bWFrZV9wYWlyKHN0YXJ0UXVvdGUsIGVuZFF1b3RlKSk7CisgICAgfQorICAgIHJl
dHVybiBRdW90ZXNEYXRhOjpjcmVhdGUocXVvdGVzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2OSwzNyArMjI2
OSw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm8KICAgICAgICAg
ICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb250ZW50QWx0VGV4dChlbXB0eUF0b20pOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIAotICAgIGNhc2UgQ1NTUHJvcGVy
dHlRdW90ZXM6Ci0gICAgICAgIGlmIChpc0luaGVyaXQpIHsKLSAgICAgICAgICAgIHN0YXRlLnN0
eWxlKCktPnNldFF1b3RlcyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5xdW90ZXMoKSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGlzSW5pdGlhbCkgewotICAgICAg
ICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0UXVvdGVzKG51bGxwdHIpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0gICAgICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KCp2YWx1ZSkpIHsK
LSAgICAgICAgICAgIENTU1ZhbHVlTGlzdCYgbGlzdCA9IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4o
KnZhbHVlKTsKLSAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiBx
dW90ZXM7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoKCk7
IGkgKz0gMikgewotICAgICAgICAgICAgICAgIENTU1ZhbHVlKiBmaXJzdCA9IGxpc3QuaXRlbVdp
dGhvdXRCb3VuZHNDaGVjayhpKTsKLSAgICAgICAgICAgICAgICAvLyBpdGVtKCkgcmV0dXJucyBu
dWxsIGlmIG91dCBvZiBib3VuZHMgc28gdGhpcyBpcyBzYWZlLgotICAgICAgICAgICAgICAgIENT
U1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0oaSArIDEpOwotICAgICAgICAgICAgICAgIGlmICgh
c2Vjb25kKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBT
dHJpbmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZmlyc3QpLmdl
dFN0cmluZ1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGVuZFF1b3RlID0gZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpzZWNvbmQpLmdldFN0cmluZ1ZhbHVlKCk7Ci0gICAgICAg
ICAgICAgICAgcXVvdGVzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihzdGFydFF1b3RlLCBlbmRRdW90
ZSkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0UXVvdGVz
KFF1b3Rlc0RhdGE6OmNyZWF0ZShxdW90ZXMpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpIHsKLSAgICAgICAgICAgIGlmIChwcmlt
aXRpdmVWYWx1ZS0+Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSkKLSAgICAgICAgICAgICAg
ICBzdGF0ZS5zdHlsZSgpLT5zZXRRdW90ZXMoUXVvdGVzRGF0YTo6Y3JlYXRlKFZlY3RvcjxzdGQ6
OnBhaXI8U3RyaW5nLCBTdHJpbmc+PigpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwog
ICAgIC8vIFNob3J0aGFuZCBwcm9wZXJ0aWVzLgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250Ogog
ICAgICAgICBpZiAoaXNJbmhlcml0KSB7CkBAIC0zMDY5LDYgKzMwMzgsNyBAQCB2b2lkIFN0eWxl
UmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZ2VC
cmVha0luc2lkZToKICAgICBjYXNlIENTU1Byb3BlcnR5UG9pbnRlckV2ZW50czoKICAgICBjYXNl
IENTU1Byb3BlcnR5UG9zaXRpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVF1b3RlczoKICAgICBj
YXNlIENTU1Byb3BlcnR5UmVzaXplOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSaWdodDoKICAgICBj
YXNlIENTU1Byb3BlcnR5U2l6ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAxNzYxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk0OSw2ICsx
OTQ5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHlsZUltYWdlKiBpbml0aWFsQm9yZGVySW1h
Z2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFN0eWxlSW1hZ2UqIGluaXRpYWxN
YXNrQm94SW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFByaW50Q29sb3JB
ZGp1c3QgaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKSB7IHJldHVybiBQcmludENvbG9yQWRqdXN0
RWNvbm9teTsgfQorICAgIHN0YXRpYyBRdW90ZXNEYXRhKiBpbml0aWFsUXVvdGVzKCkgeyByZXR1
cm4gbnVsbHB0cjsgfQogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBzdGF0aWMg
U2Nyb2xsU25hcFR5cGUgaW5pdGlhbFNjcm9sbFNuYXBUeXBlKCkgeyByZXR1cm4gU2Nyb2xsU25h
cFR5cGU6Ok5vbmU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTExLTE2ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ3F1b3Rlcycg
Q1NTIHByb3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciB0aGUgYmVoYXZpb3Ig
b2Ygbm9uLXZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVycyBiZWluZworICAgICAgICB1c2VkIHdp
dGggdGhlIHF1b3RlcyBwcm9wZXJ0eS4KKworICAgICAgICAqIGZhc3QvY3NzL2NvbnRlbnQvY29u
dGVudC1xdW90ZXMtMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9j
b250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTE2ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3QgZXhwZWN0YXRp
b24gZ2FyZGVuaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50
LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitUaGUgdGV4dHMgYmV0d2VlbiB0
aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLgorCis9PT09PT09PU1hcmtlcjE9PT09PT09
PQorCithYgkxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEKKz09PT09PT09TWFya2Vy
Mj09PT09PT09CisKK1dXYVdXYldXV1dXV1dXCTEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMQorPT09PT09PT1NYXJrZXIzPT09PT09PT0KKworUEFTU0VECkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCShyZXZp
c2lvbiAxNzYxNjYpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvbnRlbnQvY29udGVudC1x
dW90ZXMtMDEuaHRtbDoxNzYxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2Nv
bnRlbnQtcXVvdGVzLTA3Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAg
ICAgICBib2R5IHsgcXVvdGVzOiAiV1ciICJXV1dXIjsgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAgICAgICAgICAgICAgIHRl
c3RXaWR0aCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0Q29udGFpbmVyIiksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIndpZHRoIik7CisgICAg
ICAgICAgICAgICAgcmVmZXJlbmNlV2lkdGggPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVmZXJlbmNlIiksIG51bGwpLmdldFByb3BlcnR5VmFsdWUo
IndpZHRoIik7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA9PSByZWZlcmVuY2VXaWR0
aCkKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KS5pbm5lclRleHQgPSAiUEFTU0VEIjsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ID0g
IkZBSUxFRDogdGVzdFdpZHRoPSIgKyB0ZXN0V2lkdGggKyI7IGV4cGVjdGVkICIgKyByZWZlcmVu
Y2VXaWR0aDsKKyAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0
KCdydW4oKScsIDApOyI+CisgICAgICAgIDxwIGlkPSJvbmx5SW5Ccm93c2VyIj5UaGUgdGV4dHMg
YmV0d2VlbiB0aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLjwvcD4KKyAgICAgICAgPHA+
PT09PT09PT1NYXJrZXIxPT09PT09PT08L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAgICAgICAg
IDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InRlc3RDb250YWluZXIiPjxxPmE8cT5iPC9x
PjwvcT48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDE8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAg
ICAgPHA+PT09PT09PT1NYXJrZXIyPT09PT09PT08L3A+CisgICAgICAgIDx0YWJsZT4KKyAgICAg
ICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InJlZmVyZW5jZSI+V1dhV1diV1dX
V1dXV1c8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEgMSAxIDEgIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAg
ICAgIDxwPj09PT09PT09TWFya2VyMz09PT09PT09PC9wPgorICAgICAgICA8cHJlIGlkPSJjb25z
b2xlIi8+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Y29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3NzL2NvbnRlbnQvY29udGVudC1xdW90ZXMtMDcuaHRtbAkod29ya2luZyBjb3B5KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgogICAgICAgICAgICAgYm9keSB7IHF1b3RlczogIldXIiAiV1dXVyI7
IH0KKyAgICAgICAgICAgIGJvZHkgeyBxdW90ZXM6IGJhc2VsaW5lOyB9IC8qIFRoaXMgc2hvdWxk
IGJlIGlnbm9yZWQsIGFzICJiYXNlbGluZSIgaXMgbm90IGEgdmFpbGQgdmFsdWUgZm9yIHF1b3Rl
cyAqLwogICAgICAgICA8L3N0eWxlPgogICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241709</attachid>
            <date>2014-11-17 07:03:52 -0800</date>
            <delta_ts>2014-11-17 09:44:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138788-20141117070403.patch</filename>
            <type>text/plain</type>
            <size>11511</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTExLTE2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ3F1b3RlcycgQ1NTIHBy
b3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVv
dGVzLTA3Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgRml4IHRoZSBwYXJzZXIgdG8g
b25seSBhY2NlcHQgbm9uZSBhcyBhIHZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVyLiBUZXN0ZWQg
aW4gCisgICAgICAgIHRoZSBuZXdseSBhZGRlZCBjb250ZW50LXF1b3Rlcy0wNy5odG1sLgorCisg
ICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVy
Ojpjb252ZXJ0UXVvdGVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgTW92
ZSAicXVvdGVzIiB0byB0aGUgbmV3IHN0eWxlIGJ1aWxkZXIuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgQWRkIGFuIGluaXRpYWxRdW90ZXMoKSBm
dW5jdGlvbiBmb3IgdXNlIGluIHRoZSBhdXRvLWdlbmVyYXRlZCBzdHlsZSBidWlsZGVyLgorCiAy
MDE0LTExLTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSAndmVydGljYWwtYWxpZ24nIENTUyBwcm9wZXJ0eSB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQ2LDcgKzE4
NDYsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlECiAgICAgICAg
IHJldHVybiBwYXJzZVNpemUocHJvcElkLCBpbXBvcnRhbnQpOwogCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVF1b3RlczogICAgICAgICAgICAgICAvLyBbPHN0cmluZz4gPHN0cmluZz5dKyB8IG5vbmUg
fCBpbmhlcml0Ci0gICAgICAgIGlmIChpZCkKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlTm9u
ZSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmV0dXJuIHBhcnNlUXVvdGVzKHByb3BJZCwgaW1wb3J0YW50KTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiAxNzYxNjYpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MjE2LDcgKzIxNiw3IEBAIHBhZ2UtYnJlYWstaW5zaWRlIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGUK
IHBhaW50LW9yZGVyCiBwb2ludGVyLWV2ZW50cyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXJd
CiBwb3NpdGlvbiBbTmV3U3R5bGVCdWlsZGVyXQotcXVvdGVzIFtJbmhlcml0ZWRdCitxdW90ZXMg
W0luaGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBDb252ZXJ0ZXI9UXVvdGVzXQogcmVzaXplIFtJ
bmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPVJlc2l6ZV0KIHJpZ2h0IFtOZXdT
dHlsZUJ1aWxkZXIsIEluaXRpYWw9aW5pdGlhbE9mZnNldCwgQ29udmVydGVyPUxlbmd0aE9yQXV0
b10KIHNpemUgW05ld1N0eWxlQnVpbGRlciwgQ3VzdG9tPUFsbF0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgJKHJldmlzaW9uIDE3NjE2NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiUGFpci5oIgorI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJUcmFuc2Zvcm1GdW5jdGlvbnMuaCIKQEAgLTY0LDYgKzY1LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBjb252ZXJ0Q2xpcFBhdGgoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIEVSZXNpemUgY29udmVydFJlc2l6
ZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgaW50IGNvbnZlcnRNYXJx
dWVlU3BlZWQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UXVvdGVzRGF0YT4gY29udmVydFF1b3RlcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsK
IAogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb1JhZGl1c0xlbmd0aChDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTUHJpbWl0aXZlVmFsdWUmKTsKQEAgLTQxNyw2ICs0
MTksMjkgQEAgaW5saW5lIGludCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcgogICAgIHJl
dHVybiBzcGVlZDsKIH0KIAoraW5saW5lIFBhc3NSZWZQdHI8UXVvdGVzRGF0YT4gU3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0UXVvdGVzKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFs
dWUpCit7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAg
QVNTRVJUKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0VmFsdWVJRCgpID09
IENTU1ZhbHVlTm9uZSk7CisgICAgICAgIHJldHVybiBRdW90ZXNEYXRhOjpjcmVhdGUoVmVjdG9y
PHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+KCkpOworICAgIH0KKworICAgIEFTU0VSVChpczxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSk7CisgICAgQ1NTVmFsdWVMaXN0JiBsaXN0ID0gZG93bmNhc3Q8
Q1NTVmFsdWVMaXN0Pih2YWx1ZSk7CisgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmlu
Zz4+IHF1b3RlczsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoKCk7IGkg
Kz0gMikgeworICAgICAgICBDU1NWYWx1ZSogZmlyc3QgPSBsaXN0Lml0ZW1XaXRob3V0Qm91bmRz
Q2hlY2soaSk7CisgICAgICAgIC8vIGl0ZW0oKSByZXR1cm5zIG51bGwgaWYgb3V0IG9mIGJvdW5k
cyBzbyB0aGlzIGlzIHNhZmUuCisgICAgICAgIENTU1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0o
aSArIDEpOworICAgICAgICBpZiAoIXNlY29uZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBTdHJpbmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZmly
c3QpLmdldFN0cmluZ1ZhbHVlKCk7CisgICAgICAgIFN0cmluZyBlbmRRdW90ZSA9IGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPigqc2Vjb25kKS5nZXRTdHJpbmdWYWx1ZSgpOworICAgICAgICBx
dW90ZXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKHN0YXJ0UXVvdGUsIGVuZFF1b3RlKSk7CisgICAg
fQorICAgIHJldHVybiBRdW90ZXNEYXRhOjpjcmVhdGUocXVvdGVzKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDE3NjE2NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2
OSwzNyArMjI2OSw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm8K
ICAgICAgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb250ZW50QWx0VGV4dChlbXB0eUF0
b20pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIAotICAgIGNhc2Ug
Q1NTUHJvcGVydHlRdW90ZXM6Ci0gICAgICAgIGlmIChpc0luaGVyaXQpIHsKLSAgICAgICAgICAg
IHN0YXRlLnN0eWxlKCktPnNldFF1b3RlcyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5xdW90ZXMoKSk7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGlzSW5pdGlhbCkg
ewotICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0UXVvdGVzKG51bGxwdHIpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KCp2
YWx1ZSkpIHsKLSAgICAgICAgICAgIENTU1ZhbHVlTGlzdCYgbGlzdCA9IGRvd25jYXN0PENTU1Zh
bHVlTGlzdD4oKnZhbHVlKTsKLSAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBT
dHJpbmc+PiBxdW90ZXM7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3Qu
bGVuZ3RoKCk7IGkgKz0gMikgewotICAgICAgICAgICAgICAgIENTU1ZhbHVlKiBmaXJzdCA9IGxp
c3QuaXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKTsKLSAgICAgICAgICAgICAgICAvLyBpdGVtKCkg
cmV0dXJucyBudWxsIGlmIG91dCBvZiBib3VuZHMgc28gdGhpcyBpcyBzYWZlLgotICAgICAgICAg
ICAgICAgIENTU1ZhbHVlKiBzZWNvbmQgPSBsaXN0Lml0ZW0oaSArIDEpOwotICAgICAgICAgICAg
ICAgIGlmICghc2Vjb25kKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgICAgICBTdHJpbmcgc3RhcnRRdW90ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigq
Zmlyc3QpLmdldFN0cmluZ1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGVuZFF1b3Rl
ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpzZWNvbmQpLmdldFN0cmluZ1ZhbHVlKCk7
Ci0gICAgICAgICAgICAgICAgcXVvdGVzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihzdGFydFF1b3Rl
LCBlbmRRdW90ZSkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+
c2V0UXVvdGVzKFF1b3Rlc0RhdGE6OmNyZWF0ZShxdW90ZXMpKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpIHsKLSAgICAgICAgICAg
IGlmIChwcmltaXRpdmVWYWx1ZS0+Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSkKLSAgICAg
ICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRRdW90ZXMoUXVvdGVzRGF0YTo6Y3JlYXRlKFZl
Y3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PigpKSk7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuOwogICAgIC8vIFNob3J0aGFuZCBwcm9wZXJ0aWVzLgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlGb250OgogICAgICAgICBpZiAoaXNJbmhlcml0KSB7CkBAIC0zMDY5LDYgKzMwMzgsNyBAQCB2
b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVBhZ2VCcmVha0luc2lkZToKICAgICBjYXNlIENTU1Byb3BlcnR5UG9pbnRlckV2ZW50czoK
ICAgICBjYXNlIENTU1Byb3BlcnR5UG9zaXRpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVF1b3Rl
czoKICAgICBjYXNlIENTU1Byb3BlcnR5UmVzaXplOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSaWdo
dDoKICAgICBjYXNlIENTU1Byb3BlcnR5U2l6ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAxNzYxNjYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTk0OSw2ICsxOTQ5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHlsZUltYWdlKiBpbml0aWFs
Qm9yZGVySW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFN0eWxlSW1hZ2Uq
IGluaXRpYWxNYXNrQm94SW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIFBy
aW50Q29sb3JBZGp1c3QgaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKSB7IHJldHVybiBQcmludENv
bG9yQWRqdXN0RWNvbm9teTsgfQorICAgIHN0YXRpYyBRdW90ZXNEYXRhKiBpbml0aWFsUXVvdGVz
KCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAg
ICBzdGF0aWMgU2Nyb2xsU25hcFR5cGUgaW5pdGlhbFNjcm9sbFNuYXBUeXBlKCkgeyByZXR1cm4g
U2Nyb2xsU25hcFR5cGU6Ok5vbmU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjE2OCkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0
LTExLTE2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUg
J3F1b3RlcycgQ1NTIHByb3BlcnR5IHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3ODgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciB0aGUg
YmVoYXZpb3Igb2Ygbm9uLXZhbGlkIHByaW1pdGl2ZSBpZGVudGlmaWVycyBiZWluZworICAgICAg
ICB1c2VkIHdpdGggdGhlIHF1b3RlcyBwcm9wZXJ0eS4KKworICAgICAgICAqIGZhc3QvY3NzL2Nv
bnRlbnQvY29udGVudC1xdW90ZXMtMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTEx
LTE2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3Qg
ZXhwZWN0YXRpb24gZ2FyZGVuaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVu
dC9jb250ZW50LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitUaGUgdGV4dHMg
YmV0d2VlbiB0aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLgorCis9PT09PT09PU1hcmtl
cjE9PT09PT09PQorCithYgkxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEKKz09PT09
PT09TWFya2VyMj09PT09PT09CisKK1dXYVdXYldXV1dXV1dXCTEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMQorPT09PT09PT1NYXJrZXIzPT09PT09PT0KKworUEFTU0VECkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy9jb250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5o
dG1sCShyZXZpc2lvbiAxNzYxNjYpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvbnRlbnQv
Y29udGVudC1xdW90ZXMtMDEuaHRtbDoxNzYxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9j
b250ZW50L2NvbnRlbnQtcXVvdGVzLTA3Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NCBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
CisgICAgICAgICAgICBib2R5IHsgcXVvdGVzOiAiV1ciICJXV1dXIjsgfQorICAgICAgICA8L3N0
eWxlPgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAgICAgICAg
ICAgICAgIHRlc3RXaWR0aCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0Q29udGFpbmVyIiksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIndpZHRo
Iik7CisgICAgICAgICAgICAgICAgcmVmZXJlbmNlV2lkdGggPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVmZXJlbmNlIiksIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoIndpZHRoIik7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA9PSByZWZl
cmVuY2VXaWR0aCkKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKS5pbm5lclRleHQgPSAiUEFTU0VEIjsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5u
ZXJUZXh0ID0gIkZBSUxFRDogdGVzdFdpZHRoPSIgKyB0ZXN0V2lkdGggKyI7IGV4cGVjdGVkICIg
KyByZWZlcmVuY2VXaWR0aDsKKyAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
IH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJz
ZXRUaW1lb3V0KCdydW4oKScsIDApOyI+CisgICAgICAgIDxwIGlkPSJvbmx5SW5Ccm93c2VyIj5U
aGUgdGV4dHMgYmV0d2VlbiB0aGUgbWFya2VycyBzaG91bGQgYmUgaWRlbnRpY2FsLjwvcD4KKyAg
ICAgICAgPHA+PT09PT09PT1NYXJrZXIxPT09PT09PT08L3A+CisgICAgICAgIDx0YWJsZT4KKyAg
ICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InRlc3RDb250YWluZXIiPjxx
PmE8cT5iPC9xPjwvcT48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDE8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJs
ZT4KKyAgICAgICAgPHA+PT09PT09PT1NYXJrZXIyPT09PT09PT08L3A+CisgICAgICAgIDx0YWJs
ZT4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgaWQ9InJlZmVyZW5jZSI+
V1dhV1diV1dXV1dXV1c8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD4xIDEgMSAxIDEgMSAxIDEg
MSAxIDEgIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEg
MSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAx
IDEgMSAxIDEgMSAxIDEgMSAxPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFi
bGU+CisgICAgICAgIDxwPj09PT09PT09TWFya2VyMz09PT09PT09PC9wPgorICAgICAgICA8cHJl
IGlkPSJjb25zb2xlIi8+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0wNy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL2NvbnRlbnQvY29udGVudC1xdW90ZXMtMDcuaHRtbAkod29ya2lu
ZyBjb3B5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29udGVudC9jb250ZW50LXF1b3Rlcy0w
Ny5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogICAgIDxoZWFkPgogICAgICAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICAgICAgYm9keSB7IHF1b3RlczogIldX
IiAiV1dXVyI7IH0KKyAgICAgICAgICAgIGJvZHkgeyBxdW90ZXM6IGJhc2VsaW5lOyB9IC8qIFRo
aXMgc2hvdWxkIGJlIGlnbm9yZWQsIGFzICJiYXNlbGluZSIgaXMgbm90IGEgdmFpbGQgdmFsdWUg
Zm9yIHF1b3RlcyAqLwogICAgICAgICA8L3N0eWxlPgogICAgICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
</data>
<flag name="review"
          id="266570"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>