<?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>180029</bug_id>
          
          <creation_ts>2017-11-27 01:20:14 -0800</creation_ts>
          <short_desc>MathML Lengths should take zoom level into account</short_desc>
          <delta_ts>2018-01-13 04:08:35 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>170229</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jfernandez</cc>
    
    <cc>lambda</cc>
    
    <cc>rego</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1374859</commentid>
    <comment_count>0</comment_count>
      <attachid>327623</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-27 01:20:14 -0800</bug_when>
    <thetext>Created attachment 327623
Testcase (LayoutTests/mathml/presentation/mspace-units.html)

This is a particular case of bug 170229. If you zoom in and out the attached testcase (LayoutTests/mathml/presentation/mspace-units.html) then you see that the relative lengths of bars are inconsistent. This is not the case for the CSS-based reference (LayoutTests/mathml/presentation/mspace-units-expected.html). I believe RenderMathMLBlock&apos;s toUserUnits() should multiply some of the values by style.effectiveZoom().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374860</commentid>
    <comment_count>1</comment_count>
      <attachid>327624</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-27 01:21:48 -0800</bug_when>
    <thetext>Created attachment 327624
Patch

This patch demonstrates how mspace-units.html fails for zoomlevel=3. This gives a way to write a test for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385774</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-04 05:04:32 -0800</bug_when>
    <thetext>@Minsheng: Did you get a chance to look into this? I suspect it should be relatively easy to address since it&apos;s just one function to modify and the test is already almost written ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389094</commentid>
    <comment_count>3</comment_count>
      <attachid>331279</attachid>
    <who name="Minsheng Liu">lambda</who>
    <bug_when>2018-01-13 01:19:06 -0800</bug_when>
    <thetext>Created attachment 331279
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389098</commentid>
    <comment_count>4</comment_count>
      <attachid>331279</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-13 02:22:10 -0800</bug_when>
    <thetext>Comment on attachment 331279
patch

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

&gt; LayoutTests/ChangeLog:10
&gt; +        * mathml/presentation/mspace-units-expected.html: Remove the call to setPageZoomFactor().

mspace-units does not have setPageZoomFactor() and I believe the test should actually *not* be modified as it is not affected by this patch (and please don&apos;t do whitespace only change as that makes the history more complicated).

&gt; LayoutTests/mathml/presentation/mspace-units-with-zoom-expected.html:8
&gt; +    }

That&apos;s interesting and seems better than using window.internals. It&apos;s the only difference you make with respect to the mspace-units.html test, right?

&gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:173
&gt; +

Mmh, that seems complicated. Why don&apos;t you just do &quot;* style.effectiveZoom()&quot; in the 6 cases below? That would make things more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389100</commentid>
    <comment_count>5</comment_count>
    <who name="Minsheng Liu">lambda</who>
    <bug_when>2018-01-13 02:31:39 -0800</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #4)
&gt; Comment on attachment 331279 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=331279&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +        * mathml/presentation/mspace-units-expected.html: Remove the call to setPageZoomFactor().
&gt; 
&gt; mspace-units does not have setPageZoomFactor() and I believe the test should
&gt; actually *not* be modified as it is not affected by this patch (and please
&gt; don&apos;t do whitespace only change as that makes the history more complicated).
&gt; 
&gt; &gt; LayoutTests/mathml/presentation/mspace-units-with-zoom-expected.html:8
&gt; &gt; +    }
&gt; 
&gt; That&apos;s interesting and seems better than using window.internals. It&apos;s the
&gt; only difference you make with respect to the mspace-units.html test, right?

Oops! I mistook the file you provided on this page with the one we have in the repository.

Note that the old test does not check the unit &quot;mu&quot;. I agree you with that a significant change to whitespace is not history-friendly, something I have not thought of before. So I will submit a separate patch to amend that test later. For this patch, I will only include the new mspace-units-with-zoom.

And yes, other than the CSS property &quot;zoom&quot; and the check for &quot;mu&quot;, there is nothing new.

&gt; &gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:173
&gt; &gt; +
&gt; 
&gt; Mmh, that seems complicated. Why don&apos;t you just do &quot;* style.effectiveZoom()&quot;
&gt; in the 6 cases below? That would make things more readable.

I had a hard time deciding between code duplication and readability. If we are using Rust or other switch-as-expression languages, I will try to argue. However, since I am duplicating lots of &quot;break&quot; anyway, I agree with your proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389101</commentid>
    <comment_count>6</comment_count>
      <attachid>331279</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-13 02:56:16 -0800</bug_when>
    <thetext>Comment on attachment 331279
patch

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

&gt;&gt;&gt; LayoutTests/ChangeLog:10
&gt;&gt;&gt; +        * mathml/presentation/mspace-units-expected.html: Remove the call to setPageZoomFactor().
&gt;&gt; 
&gt;&gt; mspace-units does not have setPageZoomFactor() and I believe the test should actually *not* be modified as it is not affected by this patch (and please don&apos;t do whitespace only change as that makes the history more complicated).
&gt; 
&gt; Oops! I mistook the file you provided on this page with the one we have in the repository.
&gt; 
&gt; Note that the old test does not check the unit &quot;mu&quot;. I agree you with that a significant change to whitespace is not history-friendly, something I have not thought of before. So I will submit a separate patch to amend that test later. For this patch, I will only include the new mspace-units-with-zoom.
&gt; 
&gt; And yes, other than the CSS property &quot;zoom&quot; and the check for &quot;mu&quot;, there is nothing new.

OK, I did not notice your addition of &quot;mu&quot; (that&apos;s another reason not to do whitespace-only changes as that makes review much harder). Note that &quot;mu&quot; is not a CSS property nor a MathML unit. It&apos;s just an internal property based on LaTeX to represent MathML&apos;s namedspace (see Source/WebCore/mathml/MathMLElement.h). So I don&apos;t think you need to test it but if you really want to, you should use namespaces like &quot;verythickmathspace&quot; not &quot;mu&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389102</commentid>
    <comment_count>7</comment_count>
    <who name="Minsheng Liu">lambda</who>
    <bug_when>2018-01-13 02:57:25 -0800</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #6)
&gt; Comment on attachment 331279 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=331279&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; LayoutTests/ChangeLog:10
&gt; &gt;&gt;&gt; +        * mathml/presentation/mspace-units-expected.html: Remove the call to setPageZoomFactor().
&gt; &gt;&gt; 
&gt; &gt;&gt; mspace-units does not have setPageZoomFactor() and I believe the test should actually *not* be modified as it is not affected by this patch (and please don&apos;t do whitespace only change as that makes the history more complicated).
&gt; &gt; 
&gt; &gt; Oops! I mistook the file you provided on this page with the one we have in the repository.
&gt; &gt; 
&gt; &gt; Note that the old test does not check the unit &quot;mu&quot;. I agree you with that a significant change to whitespace is not history-friendly, something I have not thought of before. So I will submit a separate patch to amend that test later. For this patch, I will only include the new mspace-units-with-zoom.
&gt; &gt; 
&gt; &gt; And yes, other than the CSS property &quot;zoom&quot; and the check for &quot;mu&quot;, there is nothing new.
&gt; 
&gt; OK, I did not notice your addition of &quot;mu&quot; (that&apos;s another reason not to do
&gt; whitespace-only changes as that makes review much harder). Note that &quot;mu&quot; is
&gt; not a CSS property nor a MathML unit. It&apos;s just an internal property based
&gt; on LaTeX to represent MathML&apos;s namedspace (see
&gt; Source/WebCore/mathml/MathMLElement.h). So I don&apos;t think you need to test it
&gt; but if you really want to, you should use namespaces like
&gt; &quot;verythickmathspace&quot; not &quot;mu&quot;.

I will not add it then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389103</commentid>
    <comment_count>8</comment_count>
      <attachid>331282</attachid>
    <who name="Minsheng Liu">lambda</who>
    <bug_when>2018-01-13 03:01:04 -0800</bug_when>
    <thetext>Created attachment 331282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389104</commentid>
    <comment_count>9</comment_count>
    <who name="Minsheng Liu">lambda</who>
    <bug_when>2018-01-13 03:01:39 -0800</bug_when>
    <thetext>Note that I reorder the switch-block to put physical units together. I hope this could improve readability a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389105</commentid>
    <comment_count>10</comment_count>
      <attachid>331282</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-13 03:44:43 -0800</bug_when>
    <thetext>Comment on attachment 331282
Patch

Yes, I think that&apos;s better. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389106</commentid>
    <comment_count>11</comment_count>
      <attachid>331282</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-13 04:07:57 -0800</bug_when>
    <thetext>Comment on attachment 331282
Patch

Clearing flags on attachment: 331282

Committed r226936: &lt;https://trac.webkit.org/changeset/226936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389107</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-13 04:07:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389108</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-13 04:08:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/36495027&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>327623</attachid>
            <date>2017-11-27 01:20:14 -0800</date>
            <delta_ts>2017-11-27 01:20:14 -0800</delta_ts>
            <desc>Testcase (LayoutTests/mathml/presentation/mspace-units.html)</desc>
            <filename>mspace-units.html</filename>
            <type>text/html</type>
            <size>1216</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgoKPGhlYWQ+CiAgICA8dGl0bGU+bXNwYWNlPC90aXRsZT4K
PC9oZWFkPgoKPGJvZHk+CgogIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
MDsgbGVmdDogMDsiPgogICAgPG1zcGFjZSB3aWR0aD0iNWVtIiBoZWlnaHQ9IjEwcHgiIG1hdGhi
YWNrZ3JvdW5kPSJyZWQiLz4KICA8L21hdGg+CgogIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogMTBweDsgbGVmdDogMDsiPgogICAgPG1zcGFjZSB3aWR0aD0iNjBwdCIgaGVp
Z2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iZ3JlZW4iLz4KICA8L21hdGg+CgogIDxtYXRoIHN0
eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDsgbGVmdDogMDsiPgogICAgPG1zcGFj
ZSB3aWR0aD0iNXBjIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJibHVlIi8+CiAgPC9t
YXRoPgoKICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDMwcHg7IGxlZnQ6
IDA7Ij4KICAgIDxtc3BhY2Ugd2lkdGg9IjEwZXgiIGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91
bmQ9InJlZCIvPgogIDwvbWF0aD4KCiAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
dG9wOiA0MHB4OyBsZWZ0OiAwOyI+CiAgICA8bXNwYWNlIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjEw
cHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgogIDwvbWF0aD4KCiAgPG1hdGggc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiAwOyI+CiAgICA8bXNwYWNlIHdpZHRo
PSIxaW4iIGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91bmQ9ImJsdWUiLz4KICA8L21hdGg+Cgog
IDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNjBweDsgbGVmdDogMDsiPgog
ICAgPG1zcGFjZSB3aWR0aD0iMi41NGNtIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJy
ZWQiLz4KICA8L21hdGg+CgogIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
NzBweDsgbGVmdDogMDsiPgogICAgPG1zcGFjZSB3aWR0aD0iMjUuNG1tIiBoZWlnaHQ9IjEwcHgi
IG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgogIDwvbWF0aD4KCjxzY3JpcHQ+CiAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCiAgICBpbnRlcm5hbHMuc2V0UGFnZVpvb21GYWN0b3IoMyk7Cjwvc2NyaXB0
Pgo8L2JvZHk+Cgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327624</attachid>
            <date>2017-11-27 01:21:48 -0800</date>
            <delta_ts>2017-11-27 01:21:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>180029.patch</filename>
            <type>text/plain</type>
            <size>917</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRz
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11
bml0cy1leHBlY3RlZC5odG1sCmluZGV4IDQxZmU3Njk0N2M1Li5hMmRkMjU2MWJjNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMtZXhwZWN0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0
cy1leHBlY3RlZC5odG1sCkBAIC02Myw2ICs2MywxMCBAQAogICAgIDwvbXRleHQ+CiAgIDwvbWF0
aD4KIAorPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNl
dFBhZ2Vab29tRmFjdG9yKDMpOworPC9zY3JpcHQ+CiA8L2JvZHk+CiAKIDwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy5odG1sCmluZGV4
IGQzYzY3NmZkZGY3Li4wNWM3OGE2Yzg5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL21zcGFjZS11bml0cy5odG1sCkBAIC0zOSw2ICszOSwxMCBAQAogICAgIDxt
c3BhY2Ugd2lkdGg9IjI1LjRtbSIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iZ3JlZW4i
Lz4KICAgPC9tYXRoPgogCis8c2NyaXB0PgorICBpZiAod2luZG93LmludGVybmFscykKKyAgICBp
bnRlcm5hbHMuc2V0UGFnZVpvb21GYWN0b3IoMyk7Cis8L3NjcmlwdD4KIDwvYm9keT4KIAogPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331279</attachid>
            <date>2018-01-13 01:19:06 -0800</date>
            <delta_ts>2018-01-13 03:01:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15159</size>
            <attacher name="Minsheng Liu">lambda</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZjAwNmRhM2JiZS4uNmQzZDEzM2Y0MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxOC0wMS0xMyAgTWluc2hlbmcgTGl1ICA8bGFtYmRhQGxpdS5tcz4KKworICAgICAgICBNYXRo
TUwgTGVuZ3RocyBzaG91bGQgdGFrZSB6b29tIGxldmVsIGludG8gYWNjb3VudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMDI5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdGNhc2UgZm9y
IE1hdGhNTCBsZW5ndGhzIHdoZXJlIHpvb20gZmFjdG9yIGlzIHNldC4gCisKKyAgICAgICAgKiBt
YXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy1leHBlY3RlZC5odG1sOiBSZW1vdmUgdGhl
IGNhbGwgdG8gc2V0UGFnZVpvb21GYWN0b3IoKS4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL21zcGFjZS11bml0cy13aXRoLXpvb20tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMtd2l0aC16b29tLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLmh0bWw6CisKIDIw
MTgtMDEtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgVG91Y2ggZXZlbnRzIG5vdCByZWNlaXZlZCB3aXRoIGluaXRpYWwtc2NhbGU9MSB2aWV3cG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5p
dHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNl
LXVuaXRzLWV4cGVjdGVkLmh0bWwKaW5kZXggNDFmZTc2OTQ3YzUuLjVjOTA2NmNjODM3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy1leHBl
Y3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVu
aXRzLWV4cGVjdGVkLmh0bWwKQEAgLTEsNjggKzEsNzAgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5tc3BhY2UgdW5pdHM8L3RpdGxlPgorICA8L2hlYWQ+
CisgIDxib2R5PgorICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsg
bGVmdDogMDsiPgorICAgICAgPG10ZXh0PgorICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTog
aW5saW5lLWJsb2NrOyB3aWR0aDogNWVtOyBoZWlnaHQ6IDEwcHg7CisgICAgICAgICBiYWNrZ3Jv
dW5kOnJlZDsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgogCi08aGVhZD4K
LSAgICA8dGl0bGU+bXNwYWNlPC90aXRsZT4KLTwvaGVhZD4KKyAgICA8bWF0aCBzdHlsZT0icG9z
aXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAg
ICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDYwcHQ7IGhl
aWdodDogMTBweDsKKyAgICAgICAgIGJhY2tncm91bmQ6Z3JlZW47Ij48L3NwYW4+CisgICAgICA8
L210ZXh0PgorICAgIDwvbWF0aD4KIAotPGJvZHk+CisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAyMHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAg
IDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1cGM7IGhlaWdodDog
MTBweDsKKyAgICAgICAgIGJhY2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+
CisgICAgPC9tYXRoPgogCi0gIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
MDsgbGVmdDogMDsiPgotICAgIDxtdGV4dD4KLSAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IHdpZHRoOiA1ZW07IGhlaWdodDogMTBweDsKLQkJICAgYmFja2dyb3VuZDpy
ZWQ7Ij48L3NwYW4+Ci0gICAgPC9tdGV4dD4KLSAgPC9tYXRoPgorICAgIDxtYXRoIHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgbGVmdDogMDsiPgorICAgICAgPG10ZXh0Pgor
ICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTBleDsg
aGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpyZWQ7Ij48L3NwYW4+CisgICAgICA8
L210ZXh0PgorICAgIDwvbWF0aD4KIAotICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDEwcHg7IGxlZnQ6IDA7Ij4KLSAgICA8bXRleHQ+Ci0gICAgICA8c3BhbiBzdHlsZT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNjBwdDsgaGVpZ2h0OiAxMHB4OwotCQkgICBi
YWNrZ3JvdW5kOmdyZWVuOyI+PC9zcGFuPgotICAgIDwvbXRleHQ+Ci0gIDwvbWF0aD4KKyAgICA8
bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDQwcHg7IGxlZnQ6IDA7Ij4KKyAg
ICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
d2lkdGg6IDUwcHg7IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJhY2tncm91bmQ6Z3JlZW47Ij48
L3NwYW4+CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0aD4KIAotICA8bWF0aCBzdHlsZT0icG9z
aXRpb246IGFic29sdXRlOyB0b3A6IDIwcHg7IGxlZnQ6IDA7Ij4KLSAgICA8bXRleHQ+Ci0gICAg
ICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNXBjOyBoZWlnaHQ6
IDEwcHg7Ci0JCSAgIGJhY2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KLSAgICA8L210ZXh0PgotICA8
L21hdGg+CisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBs
ZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IHdpZHRoOiAxaW47IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJhY2tncm91
bmQ6Ymx1ZTsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgogCi0gIDxtYXRo
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgbGVmdDogMDsiPgotICAgIDxt
dGV4dD4KLSAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAx
MGV4OyBoZWlnaHQ6IDEwcHg7Ci0JCSAgIGJhY2tncm91bmQ6cmVkOyI+PC9zcGFuPgotICAgIDwv
bXRleHQ+Ci0gIDwvbWF0aD4KKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0
b3A6IDYwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDIuNTRjbTsgaGVpZ2h0OiAxMHB4OworICAg
ICAgICAgYmFja2dyb3VuZDpyZWQ7Ij48L3NwYW4+CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0
aD4KIAotICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDQwcHg7IGxlZnQ6
IDA7Ij4KLSAgICA8bXRleHQ+Ci0gICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyB3aWR0aDogNTBweDsgaGVpZ2h0OiAxMHB4OwotCQkgICBiYWNrZ3JvdW5kOmdyZWVuOyI+
PC9zcGFuPgotICAgIDwvbXRleHQ+Ci0gIDwvbWF0aD4KLQotICA8bWF0aCBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDA7Ij4KLSAgICA8bXRleHQ+Ci0gICAgICA8
c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWluOyBoZWlnaHQ6IDEw
cHg7Ci0JCSAgIGJhY2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KLSAgICA8L210ZXh0PgotICA8L21h
dGg+Ci0KLSAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA2MHB4OyBsZWZ0
OiAwOyI+Ci0gICAgPG10ZXh0PgotICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1i
bG9jazsgd2lkdGg6IDIuNTRjbTsgaGVpZ2h0OiAxMHB4OwotCQkgICBiYWNrZ3JvdW5kOnJlZDsi
Pjwvc3Bhbj4KLSAgICA8L210ZXh0PgotICA8L21hdGg+Ci0KLSAgPG1hdGggc3R5bGU9InBvc2l0
aW9uOiBhYnNvbHV0ZTsgdG9wOiA3MHB4OyBsZWZ0OiAwOyI+Ci0gICAgPG10ZXh0PgotICAgICAg
PHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDI1LjRtbTsgaGVpZ2h0
OiAxMHB4OwotCQkgICBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9zcGFuPgotICAgIDwvbXRleHQ+Ci0g
IDwvbWF0aD4KLQotPC9ib2R5PgorICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogNzBweDsgbGVmdDogMDsiPgorICAgICAgPG10ZXh0PgorICAgICAgICA8c3BhbiBzdHls
ZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjUuNG1tOyBoZWlnaHQ6IDEwcHg7Cisg
ICAgICAgICBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9zcGFuPgorICAgICAgPC9tdGV4dD4KKyAgICA8
L21hdGg+CiAKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDgwcHg7
IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgd2lkdGg6IDkwbXU7IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJhY2tn
cm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgorICA8L2Jv
ZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9u
L21zcGFjZS11bml0cy13aXRoLXpvb20tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdpdGgtem9vbS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZjkzM2Y1YzFmZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdp
dGgtem9vbS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5tc3BhY2UgdW5pdHM8L3RpdGxlPgorICAgIDxz
dHlsZT4KKyAgICBib2R5IHsKKyAgICAgIHpvb206IDEuNTsKKyAgICB9CisgICAgPC9zdHlsZT4K
KyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDA7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDVlbTsgaGVpZ2h0OiAxMHB4OworICAgICAg
ICAgYmFja2dyb3VuZDpyZWQ7Ij48L3NwYW4+CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0aD4K
KworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgbGVmdDog
MDsiPgorICAgICAgPG10ZXh0PgorICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyB3aWR0aDogNjBwdDsgaGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpn
cmVlbjsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGgg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyMHB4OyBsZWZ0OiAwOyI+CisgICAgICA8
bXRleHQ+CisgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRo
OiA1cGM7IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJhY2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4K
KyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAzMHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAg
IDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMGV4OyBoZWlnaHQ6
IDEwcHg7CisgICAgICAgICBiYWNrZ3JvdW5kOnJlZDsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+
CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiA0MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAgIDxzcGFuIHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDEwcHg7CisgICAgICAg
ICBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9zcGFuPgorICAgICAgPC9tdGV4dD4KKyAgICA8L21hdGg+
CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6
IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgd2lkdGg6IDFpbjsgaGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpi
bHVlOyI+PC9zcGFuPgorICAgICAgPC9tdGV4dD4KKyAgICA8L21hdGg+CisKKyAgICA8bWF0aCBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxt
dGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6
IDIuNTRjbTsgaGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpyZWQ7Ij48L3NwYW4+
CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogNzBweDsgbGVmdDogMDsiPgorICAgICAgPG10ZXh0PgorICAgICAg
ICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjUuNG1tOyBoZWln
aHQ6IDEwcHg7CisgICAgICAgICBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9zcGFuPgorICAgICAgPC9t
dGV4dD4KKyAgICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDgwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDkwbXU7IGhlaWdodDogMTBweDsKKyAg
ICAgICAgIGJhY2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9t
YXRoPgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL21zcGFjZS11bml0cy13aXRoLXpvb20uaHRtbCBiL0xheW91dFRlc3RzL21h
dGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdpdGgtem9vbS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kYzY0NmVlYzljNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdpdGgtem9v
bS5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFk
PgorICAgIDx0aXRsZT5tc3BhY2UgdW5pdHMgd2l0aCB6b29tPC90aXRsZT4KKyAgICA8c3R5bGU+
CisgICAgYm9keSB7CisgICAgICB6b29tOiAxLjU7CisgICAgfQorICAgIDwvc3R5bGU+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiAwOyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSI1ZW0iIGhlaWdodD0iMTBweCIg
bWF0aGJhY2tncm91bmQ9InJlZCIvPgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgbGVmdDogMDsiPgorICAgICAgPG1zcGFjZSB3
aWR0aD0iNjBwdCIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iZ3JlZW4iLz4KKyAgICA8
L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwcHg7
IGxlZnQ6IDA7Ij4KKyAgICAgIDxtc3BhY2Ugd2lkdGg9IjVwYyIgaGVpZ2h0PSIxMHB4IiBtYXRo
YmFja2dyb3VuZD0iYmx1ZSIvPgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3Np
dGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgbGVmdDogMDsiPgorICAgICAgPG1zcGFjZSB3aWR0
aD0iMTBleCIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0icmVkIi8+CisgICAgPC9tYXRo
PgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA0MHB4OyBsZWZ0
OiAwOyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNr
Z3JvdW5kPSJncmVlbiIvPgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogMDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0i
MWluIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJibHVlIi8+CisgICAgPC9tYXRoPgor
CisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA2MHB4OyBsZWZ0OiAw
OyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSIyLjU0Y20iIGhlaWdodD0iMTBweCIgbWF0aGJhY2tn
cm91bmQ9InJlZCIvPgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogNzBweDsgbGVmdDogMDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0iMjUu
NG1tIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgorICAgIDwvbWF0aD4K
KworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogODBweDsgbGVmdDog
MDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0iOTBtdSIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dy
b3VuZD0iYmx1ZSIvPgorICAgIDwvbWF0aD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMuaHRtbCBiL0xh
eW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLmh0bWwKaW5kZXggZDNj
Njc2ZmRkZjcuLmMxZjYyMjEyYjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJl
c2VudGF0aW9uL21zcGFjZS11bml0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24vbXNwYWNlLXVuaXRzLmh0bWwKQEAgLTEsNDQgKzEsNDMgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+Ci0KLTxoZWFkPgotICAgIDx0aXRsZT5tc3BhY2U8L3RpdGxlPgotPC9oZWFk
PgotCi08Ym9keT4KLQotICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7
IGxlZnQ6IDA7Ij4KLSAgICA8bXNwYWNlIHdpZHRoPSI1ZW0iIGhlaWdodD0iMTBweCIgbWF0aGJh
Y2tncm91bmQ9InJlZCIvPgotICA8L21hdGg+Ci0KLSAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiAwOyI+Ci0gICAgPG1zcGFjZSB3aWR0aD0iNjBwdCIg
aGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iZ3JlZW4iLz4KLSAgPC9tYXRoPgotCi0gIDxt
YXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDsgbGVmdDogMDsiPgotICAg
IDxtc3BhY2Ugd2lkdGg9IjVwYyIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iYmx1ZSIv
PgotICA8L21hdGg+Ci0KLSAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAz
MHB4OyBsZWZ0OiAwOyI+Ci0gICAgPG1zcGFjZSB3aWR0aD0iMTBleCIgaGVpZ2h0PSIxMHB4IiBt
YXRoYmFja2dyb3VuZD0icmVkIi8+Ci0gIDwvbWF0aD4KLQotICA8bWF0aCBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDQwcHg7IGxlZnQ6IDA7Ij4KLSAgICA8bXNwYWNlIHdpZHRoPSI1
MHB4IiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgotICA8L21hdGg+Ci0K
LSAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiAwOyI+
Ci0gICAgPG1zcGFjZSB3aWR0aD0iMWluIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJi
bHVlIi8+Ci0gIDwvbWF0aD4KLQotICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0
b3A6IDYwcHg7IGxlZnQ6IDA7Ij4KLSAgICA8bXNwYWNlIHdpZHRoPSIyLjU0Y20iIGhlaWdodD0i
MTBweCIgbWF0aGJhY2tncm91bmQ9InJlZCIvPgotICA8L21hdGg+Ci0KLSAgPG1hdGggc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA3MHB4OyBsZWZ0OiAwOyI+Ci0gICAgPG1zcGFjZSB3
aWR0aD0iMjUuNG1tIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgotICA8
L21hdGg+Ci0KLTwvYm9keT4KLQorICA8aGVhZD4KKyAgICA8dGl0bGU+bXNwYWNlIHVuaXRzPC90
aXRsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtc3BhY2Ugd2lkdGg9IjVlbSIgaGVp
Z2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0icmVkIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1h
dGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiAwOyI+CisgICAg
ICA8bXNwYWNlIHdpZHRoPSI2MHB0IiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVl
biIvPgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogMjBweDsgbGVmdDogMDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0iNXBjIiBoZWlnaHQ9
IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJibHVlIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGgg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAzMHB4OyBsZWZ0OiAwOyI+CisgICAgICA8
bXNwYWNlIHdpZHRoPSIxMGV4IiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJyZWQiLz4K
KyAgICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6
IDQwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtc3BhY2Ugd2lkdGg9IjUwcHgiIGhlaWdodD0iMTBw
eCIgbWF0aGJhY2tncm91bmQ9ImdyZWVuIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXNw
YWNlIHdpZHRoPSIxaW4iIGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91bmQ9ImJsdWUiLz4KKyAg
ICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYw
cHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtc3BhY2Ugd2lkdGg9IjIuNTRjbSIgaGVpZ2h0PSIxMHB4
IiBtYXRoYmFja2dyb3VuZD0icmVkIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA3MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNl
IHdpZHRoPSIyNS40bW0iIGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91bmQ9ImdyZWVuIi8+Cisg
ICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA4
MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSI5MG11IiBoZWlnaHQ9IjEwcHgi
IG1hdGhiYWNrZ3JvdW5kPSJibHVlIi8+CisgICAgPC9tYXRoPgorICA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMTZlMjNmMDFkNTUuLjczNWM2NjllODE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTgtMDEtMTMgIE1pbnNoZW5nIExpdSAgPGxhbWJkYUBsaXUubXM+CisK
KyAgICAgICAgTWF0aE1MIExlbmd0aHMgc2hvdWxkIHRha2Ugem9vbSBsZXZlbCBpbnRvIGFjY291
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDAy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBw
YXRjaCBhcHBsaWVzIHRoZSBlZmZlY3RpdmUgem9vbSBmYWN0b3IgdG8gcGh5c2ljYWwgdW5pdHMg
aW4gdG9Vc2VyVW5pdHMoKS4KKworICAgICAgICBUZXN0OiBtYXRobWwvcHJlc2VudGF0aW9uL21z
cGFjZS11bml0cy13aXRoLXpvb20uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1VzZXJVbml0cyk6CisK
IDIwMTgtMDEtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBB
U1NFUlRJT04gRkFJTEVEOiByZWdpc3RyYXRpb24gfHwgaXNUZXJtaW5hdGluZygpIGluIFdlYkNv
cmU6OlNXU2VydmVyV29ya2VyOjpza2lwV2FpdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCmluZGV4IDQ5ZDljODk1
NDMwLi41MjkyZjY3MGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKQEAgLTE0MiwyNyArMTQyLDQ0IEBAIHZvaWQg
UmVuZGVyTWF0aE1MQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0KQogCiBMYXlvdXRVbml0IHRvVXNlclVuaXRzKGNvbnN0IE1hdGhNTEVs
ZW1lbnQ6Okxlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IExh
eW91dFVuaXQmIHJlZmVyZW5jZVZhbHVlKQogeworICAgIExheW91dFVuaXQgbGVuZ3RoQmVmb3Jl
Wm9vbTsKKyAgICBib29sIHNob3VsZEFwcGx5RWZmZWN0aXZlWm9vbSA9IHRydWU7CisKICAgICBz
d2l0Y2ggKGxlbmd0aC50eXBlKSB7CiAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBl
OjpDbToKLSAgICAgICAgcmV0dXJuIGxlbmd0aC52YWx1ZSAqIGNzc1BpeGVsc1BlckluY2ggLyAy
LjU0ZjsKKyAgICAgICAgbGVuZ3RoQmVmb3JlWm9vbSA9IGxlbmd0aC52YWx1ZSAqIGNzc1BpeGVs
c1BlckluY2ggLyAyLjU0ZjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNYXRoTUxFbGVtZW50
OjpMZW5ndGhUeXBlOjpJbjoKKyAgICAgICAgbGVuZ3RoQmVmb3JlWm9vbSA9IGxlbmd0aC52YWx1
ZSAqIGNzc1BpeGVsc1BlckluY2g7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWF0aE1MRWxl
bWVudDo6TGVuZ3RoVHlwZTo6TW06CisgICAgICAgIGxlbmd0aEJlZm9yZVpvb20gPSBsZW5ndGgu
dmFsdWUgKiBjc3NQaXhlbHNQZXJJbmNoIC8gMjUuNGY7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGM6CisgICAgICAgIGxlbmd0aEJlZm9yZVpv
b20gPSBsZW5ndGgudmFsdWUgKiBjc3NQaXhlbHNQZXJJbmNoIC8gNjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBlOjpQdDoKKyAgICAgICAgbGVuZ3Ro
QmVmb3JlWm9vbSA9IGxlbmd0aC52YWx1ZSAqIGNzc1BpeGVsc1BlckluY2ggLyA3MjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBlOjpQeDoKKyAgICAg
ICAgbGVuZ3RoQmVmb3JlWm9vbSA9IGxlbmd0aC52YWx1ZTsKKyAgICAgICAgYnJlYWs7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgc2hvdWxkQXBwbHlFZmZlY3RpdmVab29tID0gZmFsc2U7CisgICAg
fQorCisgICAgaWYgKHNob3VsZEFwcGx5RWZmZWN0aXZlWm9vbSkKKyAgICAgICAgcmV0dXJuIHN0
eWxlLmVmZmVjdGl2ZVpvb20oKSAqIGxlbmd0aEJlZm9yZVpvb207CisKKyAgICBzd2l0Y2ggKGxl
bmd0aC50eXBlKSB7CiAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBlOjpFbToKICAg
ICAgICAgcmV0dXJuIGxlbmd0aC52YWx1ZSAqIHN0eWxlLmZvbnRDYXNjYWRlKCkuc2l6ZSgpOwog
ICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6RXg6CiAgICAgICAgIHJldHVybiBs
ZW5ndGgudmFsdWUgKiBzdHlsZS5mb250TWV0cmljcygpLnhIZWlnaHQoKTsKLSAgICBjYXNlIE1h
dGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6OkluOgotICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVl
ICogY3NzUGl4ZWxzUGVySW5jaDsKICAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6
Ok1hdGhVbml0OgogICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICogc3R5bGUuZm9udENhc2Nh
ZGUoKS5zaXplKCkgLyAxODsKLSAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6Ok1t
OgotICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVySW5jaCAvIDI1LjRm
OwotICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGM6Ci0gICAgICAgIHJldHVy
biBsZW5ndGgudmFsdWUgKiBjc3NQaXhlbHNQZXJJbmNoIC8gNjsKICAgICBjYXNlIE1hdGhNTEVs
ZW1lbnQ6Okxlbmd0aFR5cGU6OlBlcmNlbnRhZ2U6CiAgICAgICAgIHJldHVybiByZWZlcmVuY2VW
YWx1ZSAqIGxlbmd0aC52YWx1ZSAvIDEwMDsKLSAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0
aFR5cGU6OlB0OgotICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVySW5j
aCAvIDcyOwotICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UHg6Ci0gICAgICAg
IHJldHVybiBsZW5ndGgudmFsdWU7CiAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBl
OjpVbml0TGVzczoKICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZVZhbHVlICogbGVuZ3RoLnZhbHVl
OwogICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGFyc2luZ0ZhaWxlZDoK
</data>
<flag name="review"
          id="350247"
          type_id="1"
          status="-"
          setter="fred.wang"
    />
    <flag name="commit-queue"
          id="350248"
          type_id="3"
          status="-"
          setter="fred.wang"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331282</attachid>
            <date>2018-01-13 03:01:04 -0800</date>
            <delta_ts>2018-01-13 04:07:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7707</size>
            <attacher name="Minsheng Liu">lambda</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZjAwNmRhM2JiZS4uYWZmZjZhYzMxMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMS0xMyAgTWluc2hlbmcgTGl1ICA8bGFtYmRhQGxpdS5tcz4KKworICAgICAgICBNYXRo
TUwgTGVuZ3RocyBzaG91bGQgdGFrZSB6b29tIGxldmVsIGludG8gYWNjb3VudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMDI5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdGNhc2UgZm9y
IE1hdGhNTCBsZW5ndGhzIHdoZXJlIHpvb20gZmFjdG9yIGlzIHNldC4KKworICAgICAgICAqIG1h
dGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdpdGgtem9vbS1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy13aXRoLXpv
b20uaHRtbDogQWRkZWQuCisKIDIwMTgtMDEtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgVG91Y2ggZXZlbnRzIG5vdCByZWNlaXZlZCB3aXRoIGlu
aXRpYWwtc2NhbGU9MSB2aWV3cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3By
ZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMtd2l0aC16b29tLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy13aXRoLXpvb20tZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTJmYWRlYWM1MTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFj
ZS11bml0cy13aXRoLXpvb20tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+bXNwYWNlIHVuaXRzPC90aXRs
ZT4KKyAgICA8c3R5bGU+CisgICAgYm9keSB7CisgICAgICB6b29tOiAxLjU7CisgICAgfQorICAg
IDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAgIDxz
cGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1ZW07IGhlaWdodDogMTBw
eDsKKyAgICAgICAgIGJhY2tncm91bmQ6cmVkOyI+PC9zcGFuPgorICAgICAgPC9tdGV4dD4KKyAg
ICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEw
cHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3Bs
YXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDYwcHQ7IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJh
Y2tncm91bmQ6Z3JlZW47Ij48L3NwYW4+CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0aD4KKwor
ICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDsgbGVmdDogMDsi
PgorICAgICAgPG10ZXh0PgorICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyB3aWR0aDogNXBjOyBoZWlnaHQ6IDEwcHg7CisgICAgICAgICBiYWNrZ3JvdW5kOmJsdWU7
Ij48L3NwYW4+CisgICAgICA8L210ZXh0PgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgbGVmdDogMDsiPgorICAgICAgPG10ZXh0
PgorICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTBl
eDsgaGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpyZWQ7Ij48L3NwYW4+CisgICAg
ICA8L210ZXh0PgorICAgIDwvbWF0aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogNDBweDsgbGVmdDogMDsiPgorICAgICAgPG10ZXh0PgorICAgICAgICA8c3Bh
biBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNTBweDsgaGVpZ2h0OiAxMHB4
OworICAgICAgICAgYmFja2dyb3VuZDpncmVlbjsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+Cisg
ICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1
MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXRleHQ+CisgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxaW47IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJh
Y2tncm91bmQ6Ymx1ZTsiPjwvc3Bhbj4KKyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgorCisg
ICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA2MHB4OyBsZWZ0OiAwOyI+
CisgICAgICA8bXRleHQ+CisgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IHdpZHRoOiAyLjU0Y207IGhlaWdodDogMTBweDsKKyAgICAgICAgIGJhY2tncm91bmQ6cmVk
OyI+PC9zcGFuPgorICAgICAgPC9tdGV4dD4KKyAgICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHls
ZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDcwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtdGV4
dD4KKyAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDI1
LjRtbTsgaGVpZ2h0OiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDpncmVlbjsiPjwvc3Bhbj4K
KyAgICAgIDwvbXRleHQ+CisgICAgPC9tYXRoPgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21zcGFjZS11bml0cy13aXRoLXpv
b20uaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLXdp
dGgtem9vbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jOWMw
NWE1NDM4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vbXNwYWNlLXVuaXRzLXdpdGgtem9vbS5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5tc3BhY2UgdW5pdHMgd2l0aCB6
b29tPC90aXRsZT4KKyAgICA8c3R5bGU+CisgICAgYm9keSB7CisgICAgICB6b29tOiAxLjU7Cisg
ICAgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPG1hdGggc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNlIHdp
ZHRoPSI1ZW0iIGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91bmQ9InJlZCIvPgorICAgIDwvbWF0
aD4KKworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgbGVm
dDogMDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0iNjBwdCIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFj
a2dyb3VuZD0iZ3JlZW4iLz4KKyAgICA8L21hdGg+CisKKyAgICA8bWF0aCBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDIwcHg7IGxlZnQ6IDA7Ij4KKyAgICAgIDxtc3BhY2Ugd2lkdGg9
IjVwYyIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iYmx1ZSIvPgorICAgIDwvbWF0aD4K
KworICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgbGVmdDog
MDsiPgorICAgICAgPG1zcGFjZSB3aWR0aD0iMTBleCIgaGVpZ2h0PSIxMHB4IiBtYXRoYmFja2dy
b3VuZD0icmVkIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgdG9wOiA0MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSI1MHB4
IiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgorICAgIDwvbWF0aD4KKwor
ICAgIDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogMDsi
PgorICAgICAgPG1zcGFjZSB3aWR0aD0iMWluIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5k
PSJibHVlIi8+CisgICAgPC9tYXRoPgorCisgICAgPG1hdGggc3R5bGU9InBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiA2MHB4OyBsZWZ0OiAwOyI+CisgICAgICA8bXNwYWNlIHdpZHRoPSIyLjU0Y20i
IGhlaWdodD0iMTBweCIgbWF0aGJhY2tncm91bmQ9InJlZCIvPgorICAgIDwvbWF0aD4KKworICAg
IDxtYXRoIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNzBweDsgbGVmdDogMDsiPgor
ICAgICAgPG1zcGFjZSB3aWR0aD0iMjUuNG1tIiBoZWlnaHQ9IjEwcHgiIG1hdGhiYWNrZ3JvdW5k
PSJncmVlbiIvPgorICAgIDwvbWF0aD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDE2ZTIzZjAxZDU1Li43MzVjNjY5ZTgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE4LTAxLTEzICBNaW5zaGVuZyBMaXUgIDxsYW1iZGFAbGl1Lm1zPgorCisgICAgICAgIE1hdGhN
TCBMZW5ndGhzIHNob3VsZCB0YWtlIHpvb20gbGV2ZWwgaW50byBhY2NvdW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwMjkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcGF0Y2ggYXBwbGllcyB0
aGUgZWZmZWN0aXZlIHpvb20gZmFjdG9yIHRvIHBoeXNpY2FsIHVuaXRzIGluIHRvVXNlclVuaXRz
KCkuCisKKyAgICAgICAgVGVzdDogbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3BhY2UtdW5pdHMtd2l0
aC16b29tLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxv
Y2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9Vc2VyVW5pdHMpOgorCiAyMDE4LTAxLTEyICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxF
RDogcmVnaXN0cmF0aW9uIHx8IGlzVGVybWluYXRpbmcoKSBpbiBXZWJDb3JlOjpTV1NlcnZlcldv
cmtlcjo6c2tpcFdhaXRpbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcAppbmRleCA0OWQ5Yzg5NTQzMC4uOTg0MzJhNzRm
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MQmxvY2suY3BwCkBAIC0xNDMsMjYgKzE0MywyOSBAQCB2b2lkIFJlbmRlck1hdGhNTEJs
b2NrOjpwYWludChQYWludEluZm8mIGluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNl
dCkKIExheW91dFVuaXQgdG9Vc2VyVW5pdHMoY29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBs
ZW5ndGgsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgTGF5b3V0VW5pdCYgcmVmZXJl
bmNlVmFsdWUpCiB7CiAgICAgc3dpdGNoIChsZW5ndGgudHlwZSkgeworICAgIC8vIFpvb20gZm9y
IHBoeXNpY2FsIHVuaXRzIG5lZWRzIHRvIGJlIGFjY291bnRlZCBmb3IuCiAgICAgY2FzZSBNYXRo
TUxFbGVtZW50OjpMZW5ndGhUeXBlOjpDbToKLSAgICAgICAgcmV0dXJuIGxlbmd0aC52YWx1ZSAq
IGNzc1BpeGVsc1BlckluY2ggLyAyLjU0ZjsKKyAgICAgICAgcmV0dXJuIHN0eWxlLmVmZmVjdGl2
ZVpvb20oKSAqIGxlbmd0aC52YWx1ZSAqIGNzc1BpeGVsc1BlckluY2ggLyAyLjU0ZjsKKyAgICBj
YXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6OkluOgorICAgICAgICByZXR1cm4gc3R5bGUu
ZWZmZWN0aXZlWm9vbSgpICogbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVySW5jaDsKKyAgICBj
YXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6Ok1tOgorICAgICAgICByZXR1cm4gc3R5bGUu
ZWZmZWN0aXZlWm9vbSgpICogbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVySW5jaCAvIDI1LjRm
OworICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGM6CisgICAgICAgIHJldHVy
biBzdHlsZS5lZmZlY3RpdmVab29tKCkgKiBsZW5ndGgudmFsdWUgKiBjc3NQaXhlbHNQZXJJbmNo
IC8gNjsKKyAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6OlB0OgorICAgICAgICBy
ZXR1cm4gc3R5bGUuZWZmZWN0aXZlWm9vbSgpICogbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVy
SW5jaCAvIDcyOworICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UHg6CisgICAg
ICAgIHJldHVybiBzdHlsZS5lZmZlY3RpdmVab29tKCkgKiBsZW5ndGgudmFsdWU7CisKKyAgICAv
LyBab29tIGZvciBsb2dpY2FsIHVuaXRzIGlzIGFjY291bnRlZCBmb3IgZWl0aGVyIGluIHRoZSBm
b250IGluZm8gb3IgcmVmZXJlbmNlVmFsdWUuCiAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5n
dGhUeXBlOjpFbToKICAgICAgICAgcmV0dXJuIGxlbmd0aC52YWx1ZSAqIHN0eWxlLmZvbnRDYXNj
YWRlKCkuc2l6ZSgpOwogICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6RXg6CiAg
ICAgICAgIHJldHVybiBsZW5ndGgudmFsdWUgKiBzdHlsZS5mb250TWV0cmljcygpLnhIZWlnaHQo
KTsKLSAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6OkluOgotICAgICAgICByZXR1
cm4gbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxzUGVySW5jaDsKICAgICBjYXNlIE1hdGhNTEVsZW1l
bnQ6Okxlbmd0aFR5cGU6Ok1hdGhVbml0OgogICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICog
c3R5bGUuZm9udENhc2NhZGUoKS5zaXplKCkgLyAxODsKLSAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6
Okxlbmd0aFR5cGU6Ok1tOgotICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICogY3NzUGl4ZWxz
UGVySW5jaCAvIDI1LjRmOwotICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGM6
Ci0gICAgICAgIHJldHVybiBsZW5ndGgudmFsdWUgKiBjc3NQaXhlbHNQZXJJbmNoIC8gNjsKICAg
ICBjYXNlIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aFR5cGU6OlBlcmNlbnRhZ2U6CiAgICAgICAgIHJl
dHVybiByZWZlcmVuY2VWYWx1ZSAqIGxlbmd0aC52YWx1ZSAvIDEwMDsKLSAgICBjYXNlIE1hdGhN
TEVsZW1lbnQ6Okxlbmd0aFR5cGU6OlB0OgotICAgICAgICByZXR1cm4gbGVuZ3RoLnZhbHVlICog
Y3NzUGl4ZWxzUGVySW5jaCAvIDcyOwotICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlw
ZTo6UHg6Ci0gICAgICAgIHJldHVybiBsZW5ndGgudmFsdWU7CiAgICAgY2FzZSBNYXRoTUxFbGVt
ZW50OjpMZW5ndGhUeXBlOjpVbml0TGVzczoKICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZVZhbHVl
ICogbGVuZ3RoLnZhbHVlOwogICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGFy
c2luZ0ZhaWxlZDoK
</data>

          </attachment>
      

    </bug>

</bugzilla>