<?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>46889</bug_id>
          
          <creation_ts>2010-09-30 05:17:29 -0700</creation_ts>
          <short_desc>xml:space attribute is not mapped to its corresponding CSS property for all SVG*Elements except SVGTextContentElement</short_desc>
          <delta_ts>2010-09-30 12:19:16 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>45532</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>krit</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>287496</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-30 05:17:29 -0700</bug_when>
    <thetext>The bug is not visible right now, but without this patch the new text layout engine won&apos;t work properly. xml:lang=&quot;preserve&quot; is not propagated across elements.
Eg &lt;g xml:space=&quot;preserve&quot;&gt;&lt;text...&gt; doesn&apos;t affect the &lt;text&gt; element in the new layout engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287497</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-30 05:19:26 -0700</bug_when>
    <thetext>s/xml:lang/xml:space/ oops!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287499</commentid>
    <comment_count>2</comment_count>
      <attachid>69327</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-30 05:26:12 -0700</bug_when>
    <thetext>Created attachment 69327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287500</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-09-30 05:28:19 -0700</bug_when>
    <thetext>Why can&apos;t it get covered by a test right now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287501</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-30 05:34:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Why can&apos;t it get covered by a test right now?

You&apos;re right! The bug is probably present already, I need a fresh build with only this patch applied, to see if it changes results.

Sorry, didn&apos;t think about it earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287502</commentid>
    <comment_count>5</comment_count>
      <attachid>69327</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-09-30 05:35:32 -0700</bug_when>
    <thetext>Comment on attachment 69327
Patch

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

PLeae comment why you can&apos;t test it with a new test and fix the style issue.

&gt; WebCore/svg/SVGTextPositioningElement.cpp:163
&gt; +    if (!node-&gt;hasTagName(SVGNames::textTag)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::tspanTag)
&gt; +#if ENABLE(SVG_FONTS)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::altGlyphTag)
&gt; +#endif
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::trefTag))

wrong indention.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287724</commentid>
    <comment_count>6</comment_count>
      <attachid>69327</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-30 12:11:41 -0700</bug_when>
    <thetext>Comment on attachment 69327
Patch

Clearing review flag. Thanks Dirk, the patch is obsolete now!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69327</attachid>
            <date>2010-09-30 05:26:12 -0700</date>
            <delta_ts>2010-09-30 12:11:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>SVGChanges.diff</filename>
            <type>text/plain</type>
            <size>21631</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODc3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjYgQEAKKzIwMTAtMDktMzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgeG1sOnNwYWNlIGF0dHJpYnV0ZSBpcyBub3QgbWFwcGVkIHRvIGl0cyBjb3JyZXNwb25k
aW5nIENTUyBwcm9wZXJ0eSBmb3IgYWxsIFNWRypFbGVtZW50cyBleGNlcHQgU1ZHVGV4dENvbnRl
bnRFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Njg4OQorCisgICAgICAgIE9ubHkgU1ZHVGV4dENvbnRlbnRFbGVtZW50IG1hcHBlZCB4bWw6
c3BhY2UgdG8gQ1NTUHJvcGVydHlXaGl0ZVNwYWNlLCBnZW5lcmFsaXplIHRoZSBsb2dpYyBmb3Ig
YWxsIFNWRypFbGVtZW50cyB0aGF0IGluaGVyaXQgZnJvbSBTVkdMYW5nU3BhY2UuCisgICAgICAg
IFRoZSBwcm9ibGVtIGlzIG5vdCB2aXNpYmxlIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBsYXlvdXQg
ZW5naW5lLCBidXQgdGhlIG5ldyBvbmUgZGVwZW5kcyBvbiB0aGlzLgorCisgICAgICAgIERvZXNu
J3QgYWZmZWN0IGFueSB0ZXN0cywgeWV0LgorCisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6
IFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUgbm93IHJlY2VpdmVzIGEgU1ZHU3R5
bGVkRWxlbWVudCogcGFyYW1ldGVyLCBzbyBpdCBjYW4gbWFwIHhtbDpzcGFjZSB0byBDU1NQcm9w
ZXJ0eVdoaXRlU3BhY2UuCisgICAgICAgICogc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ2lyY2xlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBE
aXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0NsaXBQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBEaXR0by4K
KyAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRWxsaXBzZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAg
ICogc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1h
Z2VFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAqIHN2Zy9T
VkdGaWx0ZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdHRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBEaXR0
by4KKyAgICAgICAgKiBzdmcvU1ZHTGFuZ1NwYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBNYXAgeG1sOnNwYWNlIGF0dHJpYnV0
ZSB0byBDU1NQcm9wZXJ0eVdoaXRlU3BhY2UsIG1vdmVkIGNvZGUgZm9yIHRoYXQgZnJvbSBTVkdU
ZXh0Q29udGVudEVsZW1lbnQuCisgICAgICAgICogc3ZnL1NWR0xhbmdTcGFjZS5oOgorICAgICAg
ICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5lRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0
cmlidXRlIG5vdyByZWNlaXZlcyBhIFNWR1N0eWxlZEVsZW1lbnQqIHBhcmFtZXRlciwgc28gaXQg
Y2FuIG1hcCB4bWw6c3BhY2UgdG8gQ1NTUHJvcGVydHlXaGl0ZVNwYWNlLgorICAgICAgICAqIHN2
Zy9TVkdNYXJrZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR01hc2tF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBE
aXR0by4KKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisg
ICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Bv
bHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAqIHN2Zy9T
VkdSZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZWN0RWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZSk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHU3R5bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IERpdHRvLgor
ICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1N5bWJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgICog
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0
Q29udGVudEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmZyb21SZW5kZXJlcik6IEFkZCBoZWxwZXIg
bWV0aG9kIGNhc3RpbmcgYSBSZW5kZXJPYmplY3QgdG8gYSBTVkdUZXh0Q29udGVudEVsZW1lbnQu
CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQ6OmZyb21SZW5kZXJlcik6IEFkZCBoZWxwZXIgbWV0aG9kIGNhc3Rp
bmcgYSBSZW5kZXJPYmplY3QgdG8gYSBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LgorICAgICAg
ICAqIHN2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUpOiBTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlIG5vdyByZWNl
aXZlcyBhIFNWR1N0eWxlZEVsZW1lbnQqIHBhcmFtZXRlciwgc28gaXQgY2FuIG1hcCB4bWw6c3Bh
Y2UgdG8gQ1NTUHJvcGVydHlXaGl0ZVNwYWNlLgorCiAyMDEwLTA5LTMwICBOaWtvbGFzIFppbW1l
cm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNv
cmUvc3ZnL1NWR0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNyArNzcsNyBAQCB2
b2lkIFNWR0FFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQorICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQog
ICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDY4NjUwKQorKysgV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBTVkdDaXJjbGVFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYgogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChTVkdMYW5n
U3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBpZiAoU1ZHTGFuZ1Nw
YWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgaWYgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBTVkdD
bGlwUGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cgogICAgIH0gZWxzZSB7CiAgICAgICAgIGlm
IChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
KQorICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyLCB0
aGlzKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQogICAgICAgICAgICAgcmV0
dXJuOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAkocmV2aXNpb24gNjg2NTApCisr
KyBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYz
LDcgKzYzLDcgQEAgdm9pZCBTVkdFbGxpcHNlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaQogICAg
IH0gZWxzZSB7CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0
cikpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
aWYgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHIpKQogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNw
cAkocmV2aXNpb24gNjg2NTApCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBTVkdGRUltYWdlRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaQogICAgICAgICAgICAgcmVxdWVzdEltYWdlUmVzb3VyY2UoKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0ciwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCBTVkdGaWx0ZXJFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYgogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChTVkdVUklSZWZl
cmVuY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQogICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAg
ICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0ciwgdGhpcykp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDY4
NjUwKQorKysgV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OnBh
cnNlTWFwcGUKICAgICBlbHNlIHsKICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdT
cGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3Bh
Y2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3Bw
CShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCB2b2lkIFNWR0dFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShBCiB7CiAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpKQorICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KGF0dHIsIHRoaXMpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQogICAgICAgICByZXR1cm47
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDY4NjUwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBA
QCB2b2lkIFNWR0ltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAg
ICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMYW5nU3BhY2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5jcHAJKHJldmlzaW9uIDY4NjUwKQor
KysgV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyAr
MjQsOSBAQAogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgogCiAjaW5jbHVkZSAiQXR0cmlidXRl
LmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgorI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCisjaW5jbHVkZSAiU1ZHU3R5bGVkRWxl
bWVudC5oIgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCkBAIC01MCwxMyArNTIsMjIgQEAgdm9pZCBTVkdMYW5nU3BhY2U6OnNldFhtbHNwYWNl
KGNvbnN0IEF0bwogICAgIG1fc3BhY2UgPSB4bWxTcGFjZTsKIH0KIAotYm9vbCBTVkdMYW5nU3Bh
Y2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKK2Jvb2wgU1ZHTGFuZ1Nw
YWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIsIFNWR1N0eWxlZEVsZW1l
bnQqIHN0eWxlZEVsZW1lbnQpCiB7CiAgICAgaWYgKGF0dHItPm5hbWUoKS5tYXRjaGVzKFhNTE5h
bWVzOjpsYW5nQXR0cikpIHsKICAgICAgICAgc2V0WG1sbGFuZyhhdHRyLT52YWx1ZSgpKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkubWF0Y2hlcyhY
TUxOYW1lczo6c3BhY2VBdHRyKSkgewogICAgICAgICBzZXRYbWxzcGFjZShhdHRyLT52YWx1ZSgp
KTsKKyAgICAgICAgaWYgKCFzdHlsZWRFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHByZXNl
cnZlU3RyaW5nLCAoInByZXNlcnZlIikpOworICAgICAgICBpZiAoYXR0ci0+dmFsdWUoKSA9PSBw
cmVzZXJ2ZVN0cmluZykKKyAgICAgICAgICAgIHN0eWxlZEVsZW1lbnQtPmFkZENTU1Byb3BlcnR5
KGF0dHIsIENTU1Byb3BlcnR5V2hpdGVTcGFjZSwgQ1NTVmFsdWVQcmUpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBzdHlsZWRFbGVtZW50LT5hZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9w
ZXJ0eVdoaXRlU3BhY2UsIENTU1ZhbHVlTm93cmFwKTsKKwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5oCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUv
c3ZnL1NWR0xhbmdTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEF0dHJpYnV0ZTsKICAgICBjbGFzcyBRdWFsaWZp
ZWROYW1lOworICAgIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiAKICAgICBjbGFzcyBTVkdMYW5n
U3BhY2UgewogICAgIHB1YmxpYzoKQEAgLTM3LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHhtbHNwYWNlKCkgY29uc3Q7CiAgICAgICAg
IHZvaWQgc2V0WG1sc3BhY2UoY29uc3QgQXRvbWljU3RyaW5nJiB4bWxTcGFjZSk7CiAKLSAgICAg
ICAgYm9vbCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKKyAgICAgICAgYm9vbCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqLCBTVkdTdHlsZWRFbGVtZW50Kik7CiAgICAg
ICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICBw
cml2YXRlOgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAkocmV2aXNpb24gNjg2NTApCisrKyBX
ZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5
LDcgQEAgdm9pZCBTVkdMaW5lRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dAogICAgIGVsc2Ug
ewogICAgICAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQogICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0ciwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKICAg
ICAgICAgICAgIHJldHVybjsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lv
biA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWIKIAogICAgICAgICBzZXRPcmllbnRBbmdsZUJhc2VWYWx1ZShhbmdsZSk7CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0
cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIs
IHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICBy
ZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdl
YkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzks
NyBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0CiAgICAgZWxzZSB7
CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpKQorICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQogICAg
ICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNjg2
NTApCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4NSw3ICsxODUsNyBAQCB2b2lkIFNWR1BhdGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1l
bnQuY3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgU1ZHUGF0dGVybkVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYg
KFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
CisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIsIHRo
aXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1
cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNv
cmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBA
QCB2b2lkIFNWR1BvbHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAg
ICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODY1
MCkKKysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzIsNyArNzIsNyBAQCB2b2lkIFNWR1JlY3RFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
YXR0cikpCiAgICAgICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2
aXNpb24gNjg2NTApCisrKyBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoU1ZHTGFu
Z1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgaWYgKFNWR0xhbmdT
cGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0ciwgdGhpcykpCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1N0eWxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVF
bGVtZW50LmNwcAkocmV2aXNpb24gNjg2NTApCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgU1ZHU3R5bGVFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnUKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVz
Ojp0aXRsZUF0dHIgJiYgbV9zaGVldCkKICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUoYXR0ci0+
dmFsdWUoKSk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyLCAwKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgU1ZHRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiAgICAgfQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3lt
Ym9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDY4NjUwKQorKysgV2ViQ29yZS9zdmcvU1ZHU3ltYm9s
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgUGFzc1JlZlB0cjxT
VkdTeW1ib2xFbGVtZW50PiBTVkdTeW1ib2xFbAogCiB2b2lkIFNWR1N5bWJvbEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBpZiAoU1ZHTGFuZ1Nw
YWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
IChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDkgKzIzLDggQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlNWR1RleHRDb250ZW50RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQ1NTUHJvcGVy
dHlOYW1lcy5oIgotI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR1RleHRRdWVyeS5o
IgogI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJYTUxOYW1lcy5o
IgpAQCAtMTYzLDE3ICsxNjIsOCBAQCB2b2lkIFNWR1RleHRDb250ZW50RWxlbWVudDo6cGFyc2VN
YXBwZWRBCiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdT
cGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICAgICAgICAgIGlmIChhdHRy
LT5uYW1lKCkubWF0Y2hlcyhYTUxOYW1lczo6c3BhY2VBdHRyKSkgewotICAgICAgICAgICAgICAg
IERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBwcmVzZXJ2ZVN0cmluZywg
KCJwcmVzZXJ2ZSIpKTsKLQotICAgICAgICAgICAgICAgIGlmIChhdHRyLT52YWx1ZSgpID09IHBy
ZXNlcnZlU3RyaW5nKQotICAgICAgICAgICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBD
U1NQcm9wZXJ0eVdoaXRlU3BhY2UsIENTU1ZhbHVlUHJlKTsKLSAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5V2hp
dGVTcGFjZSwgQ1NTVmFsdWVOb3dyYXApOwotICAgICAgICAgICAgfQorICAgICAgICBpZiAoU1ZH
TGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyLCB0aGlzKSkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQogICAgICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCiAgICAgICAgICAgICByZXR1cm47CiAK
QEAgLTIxNSw2ICsyMDUsMzAgQEAgYm9vbCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnNlbGZIYXNS
ZWxhdAogICAgIHJldHVybiB0ZXh0TGVuZ3RoKCkuaXNSZWxhdGl2ZSgpOwogfQogCitTVkdUZXh0
Q29udGVudEVsZW1lbnQqIFNWR1RleHRDb250ZW50RWxlbWVudDo6ZnJvbVJlbmRlcmVyKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICBpZiAoIXJlbmRlcmVyLT5pc1NWR1RleHQoKSAmJiAhcmVuZGVyZXItPmlzU1ZH
SW5saW5lKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgTm9kZSogbm9kZSA9IHJlbmRlcmVy
LT5ub2RlKCk7CisgICAgQVNTRVJUKG5vZGUpOworICAgIEFTU0VSVChub2RlLT5pc1NWR0VsZW1l
bnQoKSk7CisKKyAgICBpZiAoIW5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRUYWcpCisg
ICAgICYmICFub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykKKyNpZiBFTkFCTEUo
U1ZHX0ZPTlRTKQorICAgICAmJiAhbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhU
YWcpCisjZW5kaWYKKyAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcp
CisgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZykpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1RleHRDb250ZW50RWxl
bWVudCo+KG5vZGUpOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgJKHJldmlzaW9uIDY4NjUwKQorKysgV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJik7CiAKKyAgICAgICAgc3RhdGljIFNWR1RleHRDb250ZW50RWxl
bWVudCogZnJvbVJlbmRlcmVyKFJlbmRlck9iamVjdCopOworCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICBTVkdUZXh0Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwCShy
ZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDMwIEBAIGJvb2wgU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudDo6c2VsZkhhc1IKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK1NWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQqIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ6OmZyb21SZW5kZXJl
cihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXIpCisgICAgICAg
IHJldHVybiAwOworCisgICAgaWYgKCFyZW5kZXJlci0+aXNTVkdUZXh0KCkgJiYgIXJlbmRlcmVy
LT5pc1NWR0lubGluZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE5vZGUqIG5vZGUgPSBy
ZW5kZXJlci0+bm9kZSgpOworICAgIEFTU0VSVChub2RlKTsKKyAgICBBU1NFUlQobm9kZS0+aXNT
VkdFbGVtZW50KCkpOworCisgICAgaWYgKCFub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0
VGFnKQorICAgICAmJiAhbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpCisjaWYg
RU5BQkxFKFNWR19GT05UUykKKyAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFs
dEdseXBoVGFnKQorI2VuZGlmCisgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0
cmVmVGFnKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudCo+KG5vZGUpOworfQorCisKIH0KIAogI2VuZGlmIC8vIEVO
QUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCShy
ZXZpc2lvbiA2ODY1MCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0Q29u
dGVudEVsZW1lbnQgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQqIGZyb21SZW5kZXJlcihSZW5kZXJPYmplY3QqKTsKKwogICAgIHByb3RlY3Rl
ZDoKICAgICAgICAgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDY4NjUw
KQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
Nyw3ICsxMDcsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlCiAg
ICAgfSBlbHNlIHsKICAgICAgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIsIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
YXR0cikpCiAgICAgICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>