<?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>63903</bug_id>
          
          <creation_ts>2011-07-04 06:26:41 -0700</creation_ts>
          <short_desc>dir=auto should imply unicode-bidi:isolate by default</short_desc>
          <delta_ts>2011-11-29 07:57:40 -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>CSS</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>
          <dependson>50912</dependson>
    
    <dependson>73116</dependson>
    
    <dependson>73250</dependson>
          <blocked>50910</blocked>
    
    <blocked>70373</blocked>
    
    <blocked>71188</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Aharon (Vladimir) Lanin">aharon</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>aharon</cc>
    
    <cc>amir.aharoni</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>mitz</cc>
    
    <cc>playmobil</cc>
    
    <cc>rniwa</cc>
    
    <cc>shanestephens</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431905</commentid>
    <comment_count>0</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-07-04 06:26:41 -0700</bug_when>
    <thetext>Per http://dev.w3.org/html5/spec/Overview.html#bidirectional-text, the default style sheet should say, among other things:

bdi, output, [dir=auto] { unicode-bidi: isolate; } /* case-insensitive */
bdo, bdo[dir] { unicode-bidi: bidi-override; }
bdo[dir=auto] { unicode-bidi: bidi-override isolate; } /* case-insensitive */

I.e. dir=auto implies unicode-bidi:isolate by default. Other dir values, e.g. dir=ltr, should continue to imply unicode-bidi:embed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472870</commentid>
    <comment_count>1</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-09-25 01:25:20 -0700</bug_when>
    <thetext>This is very low-hanging fruit; Eric, Yael, does one of you want to take it on?

Of course, currently the new property value is -webkit-isolate, so I guess dir=auto should set unicode-bidi to that, until the rename.

Please note that currently (Chrome 16.0.891.0), &lt;bdi dir=auto&gt; has the effect of turning on auto-direction, but turning *off* isolation (unicode-bidi becomes embed), which is really a shame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472872</commentid>
    <comment_count>2</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-09-25 01:29:26 -0700</bug_when>
    <thetext>Please note related bug https://bugs.webkit.org/show_bug.cgi?id=68773 (BDI element should have dir=auto by default)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475553</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-29 11:45:48 -0700</bug_when>
    <thetext>I suspect this may be as simple as adding the CSS from the HTML5 spec into html.css in WebCore:
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#bidirectional-text
http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css

The important piece is of course the LayoutTests which get landed with any change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508522</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-23 17:25:51 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I suspect this may be as simple as adding the CSS from the HTML5 spec into html.css in WebCore:
&gt; http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#bidirectional-text
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css
&gt; 
&gt; The important piece is of course the LayoutTests which get landed with any change.

I could get rid of all C++ code in HTMLElement.cpp and add html5 spec&apos;s style rules but some of the rules might be expensive so I&apos;ll just modify the existing code to match the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508574</commentid>
    <comment_count>5</comment_count>
      <attachid>116470</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-23 19:38:41 -0800</bug_when>
    <thetext>Created attachment 116470
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508577</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-23 19:40:44 -0800</bug_when>
    <thetext>I&apos;m hitting some obscure CSS selector bug here. bdi tests fail only if we test span. e.g. if you comment out all tests for span, then bdi tests magically pass :( It appears that refactoring code around also changes the output of the test.

Not sure what&apos;s causing this flakiness. If anything this is a pretty serious bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508610</commentid>
    <comment_count>7</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-23 21:18:18 -0800</bug_when>
    <thetext>Hi Ryosuke,

I am not sure if it makes sense to fix this bug separately from https://bugs.webkit.org/show_bug.cgi?id=70373 and https://bugs.webkit.org/show_bug.cgi?id=71188, since all three are a result of the default unicode-bidi value being calculated in various places in C++ code instead of the default stylesheet.

I am attaching a test case for all three bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508612</commentid>
    <comment_count>8</comment_count>
      <attachid>116479</attachid>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-23 21:20:07 -0800</bug_when>
    <thetext>Created attachment 116479
A test case for the default unicode-bidi value, covering https://bugs.webkit.org/show_bug.cgi?id=70373, https://bugs.webkit.org/show_bug.cgi?id=63903, and https://bugs.webkit.org/show_bug.cgi?id=71188</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508613</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-23 21:33:47 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hi Ryosuke,
&gt; 
&gt; I am not sure if it makes sense to fix this bug separately from https://bugs.webkit.org/show_bug.cgi?id=70373 and https://bugs.webkit.org/show_bug.cgi?id=71188, since all three are a result of the default unicode-bidi value being calculated in various places in C++ code instead of the default stylesheet.
&gt; 
&gt; I am attaching a test case for all three bugs.

Yup, I&apos;m fixing them all in this patch :)

I just need to figure out what the heck is wrong with css style selector :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508621</commentid>
    <comment_count>10</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-23 22:04:31 -0800</bug_when>
    <thetext>Great!

Hope my test case can be of use. It does not use WebKit&apos;s js test infrastructure, but should be easy enough to convert.

BTW, several of the selectors specified in the HTML5 spec use the &quot;i&quot; notation to indicate that they have to be case-insensitive, e.g. &quot;[dir=auto i]&quot;. From what I can see WebKit already treats attribute value selectors case insensitively, so just &quot;[dir=auto]&quot; works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508868</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-24 12:41:46 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Hope my test case can be of use. It does not use WebKit&apos;s js test infrastructure, but should be easy enough to convert.

In fact, my test contains all those cases. It&apos;ll be great if you can verify what&apos;s listed in LayoutTests/fast/css/default-bidi-css-rules-expected.txt (bdi and output tests fails due to a css style selector bug that I need to investigate)

&gt; BTW, several of the selectors specified in the HTML5 spec use the &quot;i&quot; notation to indicate that they have to be case-insensitive, e.g. &quot;[dir=auto i]&quot;. From what I can see WebKit already treats attribute value selectors case insensitively, so just &quot;[dir=auto]&quot; works.

Per CSS selectors level 3 spec, all selectors syntax is case-insensitive: http://www.w3.org/TR/selectors/#casesens</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508921</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-24 17:40:46 -0800</bug_when>
    <thetext>So the problem is that CSSStyleSelector::matchAllRules is pulling unicode-bidi: embed out of CSSMappedAttributeDeclaration. My guess is that getMappedAttributeDecl has some bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508970</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-24 22:45:04 -0800</bug_when>
    <thetext>Hm... okay, I think I know what&apos;s going on here. The problem is that StyledElement::attributeChanged will memorize the result of parseMappedAttribute, and &lt;span dir=&quot;&quot;&gt; creates an universal entry that then applies to both bdo and output elements. The solution to this problem is override mapToEntry to respect bdo and output elements with respect to dir attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509004</commentid>
    <comment_count>14</comment_count>
      <attachid>116574</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-25 00:12:46 -0800</bug_when>
    <thetext>Created attachment 116574
Ready for review but can&apos;t land until the bug 73116 is fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509264</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-25 14:24:38 -0800</bug_when>
    <thetext>I&apos;ve confirmed that tests pass with my patch so it&apos;s ready for review &amp; land now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509301</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-25 17:28:04 -0800</bug_when>
    <thetext>Note my patch also fixes https://bugs.webkit.org/show_bug.cgi?id=68773 and https://bugs.webkit.org/show_bug.cgi?id=70373.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509304</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-25 17:58:29 -0800</bug_when>
    <thetext>Seems reasonable to me.  You might want to let mitz at least see this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509305</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-25 17:59:55 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Seems reasonable to me.  You might want to let mitz at least see this.

Yeah, he&apos;s cc-ed on the bug but I guess I&apos;ll send him &amp; hyatt an email as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509407</commentid>
    <comment_count>19</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-26 23:32:38 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=116574) [details]
&gt; Ready for review but can&apos;t land until the bug 73116 is fixed

&gt; Source/WebCore/html/HTMLOutputElement.cpp:67
&gt; +        return eBDO;

Huh? This is supposed to return a bool. And &lt;output&gt; is like &lt;bdi&gt;, not &lt;bdo&gt;.

&gt; LayoutTests/fast/css/default-bidi-css-rules.html:23
&gt; +    [&apos;div&apos;, {}, &apos;ltr&apos;, &apos;normal&apos;],

Actually, for all dir values (or no dir at all), unicode-bidi should be -webkit-isolate for all &quot;block&quot; elements (except for &lt;pre&gt;, which should get -webkit-plaintext for dir=auto). This is https://bugs.webkit.org/show_bug.cgi?id=65617. Add a comment to this effect for now?

&gt; LayoutTests/fast/css/default-bidi-css-rules.html:33
&gt; +    [&apos;span&apos;, {&apos;dir&apos;: &apos;&apos;}, &apos;ltr&apos;, &apos;embed&apos;],

Not so clear that this should not be &apos;normal&apos;. Empty string is not a valid value for the dir attribute.

&gt; LayoutTests/fast/css/default-bidi-css-rules.html:50
&gt; +    [&apos;bdo&apos;, {&apos;dir&apos;: &apos;auto&apos;}, &apos;ltr&apos;, &apos;-webkit-isolate&apos;],

No, should be &quot;bidi-override -webkit-isolate&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509409</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-27 00:03:39 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; &gt; Source/WebCore/html/HTMLOutputElement.cpp:67
&gt; &gt; +        return eBDO;
&gt; 
&gt; Huh? This is supposed to return a bool. And &lt;output&gt; is like &lt;bdi&gt;, not &lt;bdo&gt;.

Oops, I need to fix this.

&gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:23
&gt; &gt; +    [&apos;div&apos;, {}, &apos;ltr&apos;, &apos;normal&apos;],
&gt; 
&gt; Actually, for all dir values (or no dir at all), unicode-bidi should be -webkit-isolate for all &quot;block&quot; elements (except for &lt;pre&gt;, which should get -webkit-plaintext for dir=auto). This is https://bugs.webkit.org/show_bug.cgi?id=65617. Add a comment to this effect for now?

I see. Supposedly, you meant http://dev.w3.org/html5/spec/Overview.html#flow-content-1 ?

&gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:33
&gt; &gt; +    [&apos;span&apos;, {&apos;dir&apos;: &apos;&apos;}, &apos;ltr&apos;, &apos;embed&apos;],
&gt; 
&gt; Not so clear that this should not be &apos;normal&apos;. Empty string is not a valid value for the dir attribute.

CSS style listed in the spec says [dir] { unicode-bidi: embed } so this must be the case.

&gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:50
&gt; &gt; +    [&apos;bdo&apos;, {&apos;dir&apos;: &apos;auto&apos;}, &apos;ltr&apos;, &apos;-webkit-isolate&apos;],
&gt; 
&gt; No, should be &quot;bidi-override -webkit-isolate&quot;.

Ah, interesting. Not sure if WebKit supports having two values in unicode-bidi yet. I probably need to leave it to either bidi-override or -webkit-isolate for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509410</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-27 00:19:50 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Actually, for all dir values (or no dir at all), unicode-bidi should be -webkit-isolate for all &quot;block&quot; elements (except for &lt;pre&gt;, which should get -webkit-plaintext for dir=auto). This is https://bugs.webkit.org/show_bug.cgi?id=65617. Add a comment to this effect for now?

As far as I look at HTML5 spec, we have unicode-bidi: isolate on non-phrasing elements only when we don&apos;t have dir content attribute unless unicode-bidi is additive like text-decoration. Let me know if this is a mistake in the spec or misinterpretation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509411</commentid>
    <comment_count>22</comment_count>
      <attachid>116667</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-27 00:26:22 -0800</bug_when>
    <thetext>Created attachment 116667
Fixed per Aharon&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509412</commentid>
    <comment_count>23</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-27 00:45:31 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:23
&gt; &gt; &gt; +    [&apos;div&apos;, {}, &apos;ltr&apos;, &apos;normal&apos;],
&gt; &gt; 
&gt; &gt; Actually, for all dir values (or no dir at all), unicode-bidi should be -webkit-isolate for all &quot;block&quot; elements (except for &lt;pre&gt;, which should get -webkit-plaintext for dir=auto). This is https://bugs.webkit.org/show_bug.cgi?id=65617. Add a comment to this effect for now?
&gt; 
&gt; I see. Supposedly, you meant http://dev.w3.org/html5/spec/Overview.html#flow-content-1 ?

Not sure what you mean by &quot;you meant&quot;. What I meant is that the test should continue to require what it currently requires here until https://bugs.webkit.org/show_bug.cgi?id=65617 is addressed (which should not be until we have verified that fixing it will not hurt efficiency too much), but the test should contain a FIXME with a reference to that bug number. Re http://dev.w3.org/html5/spec/Overview.html#flow-content-1 and &quot;block&quot; elements, this is actiually relevant to all of http://dev.w3.org/html5/spec/Overview.html#flow-content-1,
http://dev.w3.org/html5/spec/Overview.html#sections-and-headings,
http://dev.w3.org/html5/spec/Overview.html#lists, and
http://dev.w3.org/html5/spec/Overview.html#tables.

Also, see http://www.w3.org/Bugs/Public/show_bug.cgi?id=14850.

&gt; &gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:33
&gt; &gt; &gt; +    [&apos;span&apos;, {&apos;dir&apos;: &apos;&apos;}, &apos;ltr&apos;, &apos;embed&apos;],
&gt; &gt; 
&gt; &gt; Not so clear that this should not be &apos;normal&apos;. Empty string is not a valid value for the dir attribute.
&gt; 
&gt; CSS style listed in the spec says [dir] { unicode-bidi: embed } so this must be the case.


Perhaps. I am not enough of a CSS &amp; HTML expert to decide. The CSS Selectors spec (http://www.w3.org/TR/selectors/#attribute-selectors) does say: &quot;[att] represents an element with the att attribute, whatever the value of the attribute.&quot; However, the HTML5 spec (http://www.w3.org/TR/html5/common-microsyntaxes.html#keywords-and-enumerated-attributes) says re enumerated attributes: &quot;If the attribute value matches none of the given keywords, but the attribute has an invalid value default, then the attribute represents that state. Otherwise, if the attribute value matches none of the keywords but there is a missing value default state defined, then that is the state represented by the attribute. Otherwise, there is no default, and *invalid values must be ignored*.&quot; (Emphasis mine.) The question is *who* must ignore the attribute value - just HTML, or both HTML and CSS. In other words, when CSS talks about an attribute value, is it referring to the attribute value as specified in the source file, or as represented in the DOM (which, if I understand the HTML spec correctly, should completely ignore invalid attribute values).

&gt; 
&gt; &gt; &gt; LayoutTests/fast/css/default-bidi-css-rules.html:50
&gt; &gt; &gt; +    [&apos;bdo&apos;, {&apos;dir&apos;: &apos;auto&apos;}, &apos;ltr&apos;, &apos;-webkit-isolate&apos;],
&gt; &gt; 
&gt; &gt; No, should be &quot;bidi-override -webkit-isolate&quot;.
&gt; 
&gt; Ah, interesting. Not sure if WebKit supports having two values in unicode-bidi yet. I probably need to leave it to either bidi-override or -webkit-isolate for now.

Agreed. It would be best to file a bug and refer to it in the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509413</commentid>
    <comment_count>24</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-27 00:47:12 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #19)
&gt; &gt; Actually, for all dir values (or no dir at all), unicode-bidi should be -webkit-isolate for all &quot;block&quot; elements (except for &lt;pre&gt;, which should get -webkit-plaintext for dir=auto). This is https://bugs.webkit.org/show_bug.cgi?id=65617. Add a comment to this effect for now?
&gt; 
&gt; As far as I look at HTML5 spec, we have unicode-bidi: isolate on non-phrasing elements only when we don&apos;t have dir content attribute unless unicode-bidi is additive like text-decoration. Let me know if this is a mistake in the spec or misinterpretation.

You are correct re the spec as it currently stands, but this is a bug in the spec. I have filed http://www.w3.org/Bugs/Public/show_bug.cgi?id=14850 on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509414</commentid>
    <comment_count>25</comment_count>
    <who name="Aharon (Vladimir) Lanin">aharon</who>
    <bug_when>2011-11-27 00:57:07 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Created an attachment (id=116667) [details]
&gt; Fixed per Aharon&apos;s comment

&gt; Source/WebCore/css/html.css:995
&gt; +bdi, output {

Actually, does this whole rule do anything now? It seems to be implemented in the C++ code anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509415</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-27 01:13:52 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #22)
&gt; &gt; Created an attachment (id=116667) [details] [details]
&gt; &gt; Fixed per Aharon&apos;s comment
&gt; 
&gt; &gt; Source/WebCore/css/html.css:995
&gt; &gt; +bdi, output {
&gt; 
&gt; Actually, does this whole rule do anything now? It seems to be implemented in the C++ code anyway.

It does when bdi or output element doesn&apos;t have dir attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509957</commentid>
    <comment_count>27</comment_count>
      <attachid>116667</attachid>
    <who name="">mitz</who>
    <bug_when>2011-11-28 10:54:58 -0800</bug_when>
    <thetext>Comment on attachment 116667
Fixed per Aharon&apos;s comment

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        http://dev.w3.org/html5/spec/Overview.html#bidirectional-text

It might be better to use a permanent URL here, such as &lt;http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html?rev=1.5455;content-type=text%2Fhtml#bidirectional-text&gt;.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Any element other than bdo, textarea, and pre with dir=auto should use unicode-bidi: -webkit-isolate

“Any element other than bdo, textarea, and pre with dir=auto” is ambiguous. How about “Any element with dir=auto other than bdo, textarea, and pre” instead?

&gt; Source/WebCore/ChangeLog:21
&gt; +        (bdo): bdo should use -webkit-override as the default value for unicode-bidi.

I think you mean “bidi-override”.

&gt; Source/WebCore/ChangeLog:22
&gt; +        * dom/MappedAttributeEntry.h: Add eBDI, which is used by bdi and output elements.

Perhaps the name should include “output”?

&gt; Source/WebCore/ChangeLog:28
&gt; +        in the UA stylesheet now. Also return -webkit-isolate as the default because now that this function is
&gt; +        called when dir=auto as the name implies.

Something’s wrong in this last sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509979</commentid>
    <comment_count>28</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 11:12:42 -0800</bug_when>
    <thetext>Thanks for the review!

(In reply to comment #27)
&gt; (From update of attachment 116667 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=116667&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        http://dev.w3.org/html5/spec/Overview.html#bidirectional-text
&gt; 
&gt; It might be better to use a permanent URL here, such as &lt;http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html?rev=1.5455;content-type=text%2Fhtml#bidirectional-text&gt;.

Hm... I see your point but this URL is quite ugly. I&apos;ll stick with the original URL as I&apos;d expect #bidirectional-text to continue to work.

&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        Any element other than bdo, textarea, and pre with dir=auto should use unicode-bidi: -webkit-isolate
&gt; 
&gt; “Any element other than bdo, textarea, and pre with dir=auto” is ambiguous. How about “Any element with dir=auto other than bdo, textarea, and pre” instead?

Done.

&gt; &gt; Source/WebCore/ChangeLog:21
&gt; &gt; +        (bdo): bdo should use -webkit-override as the default value for unicode-bidi.
&gt; 
&gt; I think you mean “bidi-override”.

Yes. Fixed.

&gt; &gt; Source/WebCore/ChangeLog:22
&gt; &gt; +        * dom/MappedAttributeEntry.h: Add eBDI, which is used by bdi and output elements.
&gt; 
&gt; Perhaps the name should include “output”?

Hm... like eBDIOutput or eBDIAndOutput? I think eBDI makes sense in that output and bdi elements both use BiDi Isolate.

&gt; &gt; Source/WebCore/ChangeLog:28
&gt; &gt; +        in the UA stylesheet now. Also return -webkit-isolate as the default because now that this function is
&gt; &gt; +        called when dir=auto as the name implies.
&gt; 
&gt; Something’s wrong in this last sentence.

Revised to: Don&apos;t set bidi-override for bdo element since this is done in the UA stylesheet now. Set unicode-bidi to -webkit-isolate for elements other than pre and textarea now that this function is called only when dir=auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509981</commentid>
    <comment_count>29</comment_count>
      <attachid>116667</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 11:13:32 -0800</bug_when>
    <thetext>Comment on attachment 116667
Fixed per Aharon&apos;s comment

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

&gt; Source/WebCore/html/HTMLElement.cpp:146
&gt; +    // For bdo element, dir=&quot;auto&quot; should result in &quot;bidi-override isolate&quot; but we don&apos;t support having multiple values in unicode-bidi yet.

If you&apos;re interested, I have a patch on https://bugs.webkit.org/show_bug.cgi?id=73164 to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509983</commentid>
    <comment_count>30</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 11:14:08 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 116667 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=116667&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLElement.cpp:146
&gt; &gt; +    // For bdo element, dir=&quot;auto&quot; should result in &quot;bidi-override isolate&quot; but we don&apos;t support having multiple values in unicode-bidi yet.
&gt; 
&gt; If you&apos;re interested, I have a patch on https://bugs.webkit.org/show_bug.cgi?id=73164 to fix this.

Oops, I just realized I don&apos;t have FIXME in front of this. I&apos;ll add that and the bug number before landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509994</commentid>
    <comment_count>31</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 11:19:46 -0800</bug_when>
    <thetext>Committed r101268: &lt;http://trac.webkit.org/changeset/101268&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116470</attachid>
            <date>2011-11-23 19:38:41 -0800</date>
            <delta_ts>2011-11-25 00:12:41 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>bug-63903-20111123193840.patch</filename>
            <type>text/plain</type>
            <size>12788</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTExNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDExLTExLTIzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGRpcj1hdXRvIHNob3VsZCBpbXBs
eSB1bmljb2RlLWJpZGk6aXNvbGF0ZSBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIFdlYktpdCdzIGltcGxlbWVudGF0aW9uIG9m
IGJkaSwgYmRvLCBhbmQgb3V0cHV0IGVsZW1lbnRzIHRvIG1hdGNoIEhUTUw1IHNwZWMgc2VjdGlv
biAxMC4zLjU6CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcu
aHRtbCNiaWRpcmVjdGlvbmFsLXRleHQKKworICAgICAgICBBbnkgZWxlbWVudCBvdGhlciB0aGFu
IGJkbywgdGV4dGFyZWEsIGFuZCBwcmUgd2l0aCBkaXI9YXV0byBzaG91bGQgdXNlIHVuaWNvZGUt
YmlkaTogLXdlYmtpdC1pc29sYXRlCisgICAgICAgIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgVGVz
dDogZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy5odG1sCisKKyAgICAgICAgKiBjc3Mv
aHRtbC5jc3M6CisgICAgICAgIChiZGksIG91dHB1dCk6IGJkaSBhbmQgb3V0cHV0IHNob3VsZCBi
b3RoIHVzZSAtd2Via2l0LWlzb2xhdGUgYXMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHVuaWNvZGUt
YmlkaS4KKyAgICAgICAgKGJkbyk6IGJkbyBzaG91bGQgdXNlIC13ZWJraXQtb3ZlcnJpZGUgYXMg
dGhlIGRlZmF1bHQgdmFsdWUgZm9yIHVuaWNvZGUtYmlkaS4KKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVuaWNvZGVCaWRpQXR0cmlidXRlRm9yRGly
QXV0byk6IERvbid0IHNldCBiaWRpLW92ZXJyaWRlIGZvciBiZG8gZWxlbWVudCBzaW5jZSB0aGlz
IGlzIGRvbmUKKyAgICAgICAgaW4gdGhlIFVBIHN0eWxlc2hlZXQgbm93LiBBbHNvIHJldHVybiAt
d2Via2l0LWlzb2xhdGUgYXMgdGhlIGRlZmF1bHQgYmVjYXVzZSBub3cgdGhhdCB0aGlzIGZ1bmN0
aW9uIGlzCisgICAgICAgIGNhbGxlZCB3aGVuIGRpcj1hdXRvIGFzIHRoZSBuYW1lIGltcGxpZXMu
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBE
b24ndCBjYWxsIHVuaWNvZGVCaWRpQXR0cmlidXRlRm9yRGlyQXV0byB3aGVuIGRpciBpcyBub3QK
KyAgICAgICAgYXV0by4gQWxzbyBzZXQgdW5pY29kZS1iaWRpIHRvIGVtYmVkIHdoZW4gZGlyIGlz
IG5vdCBhdXRvIGFuZCB0aGUgZWxlbWVudCBpcyBuZWl0aGVyIGJkaSwgYmRvLCBub3Igb3V0cHV0
LgorICAgICAgICAqIGh0bWwvSFRNTFRhZ05hbWVzLmluOgorCiAyMDExLTExLTIzICBSYWZhZWwg
V2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2xlYW51cCAjaWYg
dXNhZ2UgaW4gVjhHQ0NvbnRyb2xsZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNz
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHJldmlzaW9uIDEw
MTExMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwkod29ya2luZyBjb3B5KQpAQCAt
OTkyLDEwICs5OTIsMTQgQEAgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7CiAgICAg
bWFyZ2luLXJpZ2h0OiAwLjRlbTsKIH0KIAotYmRpIHsKK2JkaSwgb3V0cHV0IHsKICAgICB1bmlj
b2RlLWJpZGk6IC13ZWJraXQtaXNvbGF0ZTsKIH0KIAorYmRvIHsKKyAgICB1bmljb2RlLWJpZGk6
IGJpZGktb3ZlcnJpZGU7Cit9CisKIC8qIHBhZ2UgKi8KIAogQHBhZ2UgewpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDEwMTExMSkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTEgKzEzNiw5
IEBAIGJvb2wgSFRNTEVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGkKIAogc3RhdGljIGlu
bGluZSBpbnQgdW5pY29kZUJpZGlBdHRyaWJ1dGVGb3JEaXJBdXRvKEhUTUxFbGVtZW50KiBlbGVt
ZW50KQogewotICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUoYmRvVGFnKSkKLSAgICAgICAg
cmV0dXJuIENTU1ZhbHVlQmlkaU92ZXJyaWRlOwogICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5h
bWUocHJlVGFnKSB8fCBlbGVtZW50LT5oYXNMb2NhbE5hbWUodGV4dGFyZWFUYWcpKQogICAgICAg
ICByZXR1cm4gQ1NTVmFsdWVXZWJraXRQbGFpbnRleHQ7Ci0gICAgcmV0dXJuIENTU1ZhbHVlRW1i
ZWQ7CisgICAgcmV0dXJuIENTU1ZhbHVlV2Via2l0SXNvbGF0ZTsKIH0KIAogc3RhdGljIHVuc2ln
bmVkIHBhcnNlQm9yZGVyV2lkdGhBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQpAQCAtMTkwLDEw
ICsxODgsMTQgQEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAg
IH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGxhbmdBdHRyKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBkaXJBdHRyKSB7Ci0g
ICAgICAgIGlmICghZXF1YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUoKSwgImF1dG8iKSkKKyAg
ICAgICAgYm9vbCBkaXJJc0F1dG8gPSBlcXVhbElnbm9yaW5nQ2FzZShhdHRyLT52YWx1ZSgpLCAi
YXV0byIpOworICAgICAgICBpZiAoIWRpcklzQXV0bykKICAgICAgICAgICAgIGFkZENTU1Byb3Bl
cnR5KGF0dHIsIENTU1Byb3BlcnR5RGlyZWN0aW9uLCBhdHRyLT52YWx1ZSgpKTsKICAgICAgICAg
ZGlyQXR0cmlidXRlQ2hhbmdlZChhdHRyKTsKLSAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwg
Q1NTUHJvcGVydHlVbmljb2RlQmlkaSwgdW5pY29kZUJpZGlBdHRyaWJ1dGVGb3JEaXJBdXRvKHRo
aXMpKTsKKyAgICAgICAgaWYgKGRpcklzQXV0bykKKyAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5
KGF0dHIsIENTU1Byb3BlcnR5VW5pY29kZUJpZGksIHVuaWNvZGVCaWRpQXR0cmlidXRlRm9yRGly
QXV0byh0aGlzKSk7CisgICAgICAgIGVsc2UgaWYgKCFoYXNUYWdOYW1lKGJkaVRhZykgJiYgIWhh
c1RhZ05hbWUoYmRvVGFnKSAmJiAhaGFzVGFnTmFtZShvdXRwdXRUYWcpKQorICAgICAgICAgICAg
YWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVydHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVFbWJl
ZCk7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gZHJhZ2dhYmxlQXR0cikgewogICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKICAgICAgICAg
aWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAidHJ1ZSIpKSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2aXNpb24gMTAxMTExKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFnTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDcgQEAgYXVk
aW8gd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbgogYiBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50CiBiYXNlCiBiYXNlZm9udCBpbnRlcmZhY2VOYW1lPUhUTUxCYXNlRm9udEVsZW1l
bnQKK2JkaSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBiZG8gaW50ZXJmYWNlTmFtZT1IVE1M
RWxlbWVudAogYmdzb3VuZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBiaWcgaW50ZXJmYWNl
TmFtZT1IVE1MRWxlbWVudApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTAxMTE3KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMjMg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgZGlyPWF1dG8gc2hv
dWxkIGltcGx5IHVuaWNvZGUtYmlkaTppc29sYXRlIGJ5IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTAzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGVuc3VyZSBX
ZWJLaXQgaW1wbGVtZW50cyBIVE1MNSBiaWRpcmVjdGlvbmFsIHRleHQgc3VwcG9ydCBwcm9wZXJs
eToKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2Jp
ZGlyZWN0aW9uYWwtdGV4dAorCisgICAgICAgICogZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1y
dWxlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2RlZmF1bHQtYmlk
aS1jc3MtcnVsZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMjMgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFJlbW92ZSBzdHlsZXNoZWV0
IGxpbmtzIGZyb20gbGF5b3V0IHRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9kZWZh
dWx0LWJpZGktY3NzLXJ1bGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9kZWZhdWx0LWJpZGktY3NzLXJ1bGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2RlZmF1bHQtYmlkaS1jc3MtcnVsZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
ZSBkZWZhdWx0IHJ1bGVzIGZvciBkaXJlY3Rpb24gYW5kIHVuaWNvZGUtYmlkaSBDU1MgcHJvcGVy
dGllcy4KKworUEFTUyBzdHlsZU9mKCJkaXYiLCB7fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNT
IHN0eWxlT2YoImRpdiIsIHt9KS51bmljb2RlQmlkaSBpcyAibm9ybWFsIgorUEFTUyBzdHlsZU9m
KCJkaXYiLCB7ImRpciI6Imx0ciJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigi
ZGl2IiwgeyJkaXIiOiJsdHIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9m
KCJkaXYiLCB7ImRpciI6InJ0bCJ9KS5kaXJlY3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5bGVPZigi
ZGl2IiwgeyJkaXIiOiJydGwifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9m
KCJkaXYiLCB7ImRpciI6ImF1dG8ifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2Yo
ImRpdiIsIHsiZGlyIjoiYXV0byJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29sYXRlIgor
UEFTUyBzdHlsZU9mKCJkaXYiLCB7ImRpciI6IiJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mg
c3R5bGVPZigiZGl2IiwgeyJkaXIiOiIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBz
dHlsZU9mKCJzcGFuIiwge30pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJzcGFu
Iiwge30pLnVuaWNvZGVCaWRpIGlzICJub3JtYWwiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRp
ciI6Imx0ciJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsiZGly
IjoibHRyIn0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsi
ZGlyIjoicnRsIn0pLmRpcmVjdGlvbiBpcyAicnRsIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwgeyJk
aXIiOiJydGwifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwg
eyJkaXIiOiJhdXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwg
eyJkaXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0
eWxlT2YoInNwYW4iLCB7ImRpciI6IiJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVP
Zigic3BhbiIsIHsiZGlyIjoiIn0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVP
ZigiYmRpIiwge30pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7fSku
dW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJk
aXIiOiJsdHIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitGQUlMIHN0eWxlT2YoImJkaSIsIHsiZGly
IjoibHRyIn0pLnVuaWNvZGVCaWRpIHNob3VsZCBiZSAtd2Via2l0LWlzb2xhdGUuIFdhcyBlbWJl
ZC4KK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJkaXIiOiJydGwifSkuZGlyZWN0aW9uIGlzICJydGwi
CitGQUlMIHN0eWxlT2YoImJkaSIsIHsiZGlyIjoicnRsIn0pLnVuaWNvZGVCaWRpIHNob3VsZCBi
ZSAtd2Via2l0LWlzb2xhdGUuIFdhcyBlbWJlZC4KK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJkaXIi
OiJhdXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7ImRpciI6
ImF1dG8ifSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigi
YmRpIiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitGQUlMIHN0eWxlT2YoImJkaSIs
IHsiZGlyIjoiIn0pLnVuaWNvZGVCaWRpIHNob3VsZCBiZSAtd2Via2l0LWlzb2xhdGUuIFdhcyBl
bWJlZC4KK1BBU1Mgc3R5bGVPZigib3V0cHV0Iiwge30pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFT
UyBzdHlsZU9mKCJvdXRwdXQiLCB7fSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIK
K1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJsdHIifSkuZGlyZWN0aW9uIGlzICJsdHIi
CitGQUlMIHN0eWxlT2YoIm91dHB1dCIsIHsiZGlyIjoibHRyIn0pLnVuaWNvZGVCaWRpIHNob3Vs
ZCBiZSAtd2Via2l0LWlzb2xhdGUuIFdhcyBlbWJlZC4KK1BBU1Mgc3R5bGVPZigib3V0cHV0Iiwg
eyJkaXIiOiJydGwifSkuZGlyZWN0aW9uIGlzICJydGwiCitGQUlMIHN0eWxlT2YoIm91dHB1dCIs
IHsiZGlyIjoicnRsIn0pLnVuaWNvZGVCaWRpIHNob3VsZCBiZSAtd2Via2l0LWlzb2xhdGUuIFdh
cyBlbWJlZC4KK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJhdXRvIn0pLmRpcmVjdGlv
biBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJvdXRwdXQiLCB7ImRpciI6ImF1dG8ifSkudW5pY29k
ZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIi
OiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitGQUlMIHN0eWxlT2YoIm91dHB1dCIsIHsiZGlyIjoi
In0pLnVuaWNvZGVCaWRpIHNob3VsZCBiZSAtd2Via2l0LWlzb2xhdGUuIFdhcyBlbWJlZC4KK1BB
U1Mgc3R5bGVPZigiYmRvIiwge30pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJi
ZG8iLCB7fSkudW5pY29kZUJpZGkgaXMgImJpZGktb3ZlcnJpZGUiCitQQVNTIHN0eWxlT2YoImJk
byIsIHsiZGlyIjoibHRyIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZG8i
LCB7ImRpciI6Imx0ciJ9KS51bmljb2RlQmlkaSBpcyAiYmlkaS1vdmVycmlkZSIKK1BBU1Mgc3R5
bGVPZigiYmRvIiwgeyJkaXIiOiJydGwifSkuZGlyZWN0aW9uIGlzICJydGwiCitQQVNTIHN0eWxl
T2YoImJkbyIsIHsiZGlyIjoicnRsIn0pLnVuaWNvZGVCaWRpIGlzICJiaWRpLW92ZXJyaWRlIgor
UEFTUyBzdHlsZU9mKCJiZG8iLCB7ImRpciI6ImF1dG8ifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQ
QVNTIHN0eWxlT2YoImJkbyIsIHsiZGlyIjoiYXV0byJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtp
dC1pc29sYXRlIgorUEFTUyBzdHlsZU9mKCJiZG8iLCB7ImRpciI6IiJ9KS5kaXJlY3Rpb24gaXMg
Imx0ciIKK1BBU1Mgc3R5bGVPZigiYmRvIiwgeyJkaXIiOiIifSkudW5pY29kZUJpZGkgaXMgImJp
ZGktb3ZlcnJpZGUiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwge30pLmRpcmVjdGlvbiBpcyAi
bHRyIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHt9KS51bmljb2RlQmlkaSBpcyAibm9ybWFs
IgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGlyIjoibHRyIn0pLmRpcmVjdGlvbiBpcyAi
bHRyIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGlyIjoibHRyIn0pLnVuaWNvZGVCaWRp
IGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigidGV4dGFyZWEiLCB7ImRpciI6InJ0bCJ9KS5kaXJl
Y3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5bGVPZigidGV4dGFyZWEiLCB7ImRpciI6InJ0bCJ9KS51
bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIiOiJh
dXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGly
IjoiYXV0byJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1wbGFpbnRleHQiCitQQVNTIHN0eWxl
T2YoInRleHRhcmVhIiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxl
T2YoInRleHRhcmVhIiwgeyJkaXIiOiIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBz
dHlsZU9mKCJwcmUiLCB7fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInByZSIs
IHt9KS51bmljb2RlQmlkaSBpcyAibm9ybWFsIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6
Imx0ciJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigicHJlIiwgeyJkaXIiOiJs
dHIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6
InJ0bCJ9KS5kaXJlY3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5bGVPZigicHJlIiwgeyJkaXIiOiJy
dGwifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6
ImF1dG8ifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGlyIjoi
YXV0byJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1wbGFpbnRleHQiCitQQVNTIHN0eWxlT2Yo
InByZSIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJwcmUi
LCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3NzL2RlZmF1bHQtYmlkaS1jc3MtcnVsZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL2RlZmF1bHQtYmlkaS1jc3MtcnVsZXMuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw3NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8cD5U
aGlzIHRlc3QgY2hlY2tzIDxhIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNiaWRpcmVjdGlvbmFsLXRleHQiPnRoZSBkZWZhdWx0IHJ1bGVzIGZvciBkaXJl
Y3Rpb24gYW5kIHVuaWNvZGUtYmlkaSBDU1MgcHJvcGVydGllczwvYT4uPC9wPgorPGRpdiBpZD0i
Y29udGFpbmVyIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKKwor
ZnVuY3Rpb24gc3R5bGVPZihuYW1lLCBhdHRyaWJ1dGVzKSB7CisgICAgdmFyIGVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KG5hbWUpOworICAgIGZvciAodmFyIG5hbWUgaW4gYXR0cmli
dXRlcykgeworICAgICAgICB2YXIgdmFsdWUgPSBhdHRyaWJ1dGVzW25hbWVdOworICAgICAgICBl
bGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisgICAgfQorICAgIGNvbnRhaW5lci5h
cHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
KTsKK30KKwordmFyIHRlc3RzID0gWworICAgIFsnZGl2Jywge30sICdsdHInLCAnbm9ybWFsJ10s
CisgICAgWydkaXYnLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsnZGl2
JywgeydkaXInOiAncnRsJ30sICdydGwnLCAnZW1iZWQnXSwKKyAgICBbJ2RpdicsIHsnZGlyJzog
J2F1dG8nfSwgJ2x0cicsICctd2Via2l0LWlzb2xhdGUnXSwKKyAgICBbJ2RpdicsIHsnZGlyJzog
Jyd9LCAnbHRyJywgJ2VtYmVkJ10sCisKKyAgICBbJ3NwYW4nLCB7fSwgJ2x0cicsICdub3JtYWwn
XSwKKyAgICBbJ3NwYW4nLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsn
c3BhbicsIHsnZGlyJzogJ3J0bCd9LCAncnRsJywgJ2VtYmVkJ10sCisgICAgWydzcGFuJywgeydk
aXInOiAnYXV0byd9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnc3BhbicsIHsn
ZGlyJzogJyd9LCAnbHRyJywgJ2VtYmVkJ10sCisKKyAgICBbJ2JkaScsIHt9LCAnbHRyJywgJy13
ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnYmRpJywgeydkaXInOiAnbHRyJ30sICdsdHInLCAnLXdl
YmtpdC1pc29sYXRlJ10sCisgICAgWydiZGknLCB7J2Rpcic6ICdydGwnfSwgJ3J0bCcsICctd2Vi
a2l0LWlzb2xhdGUnXSwKKyAgICBbJ2JkaScsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0cicsICctd2Vi
a2l0LWlzb2xhdGUnXSwKKyAgICBbJ2JkaScsIHsnZGlyJzogJyd9LCAnbHRyJywgJy13ZWJraXQt
aXNvbGF0ZSddLAorCisgICAgWydvdXRwdXQnLCB7fSwgJ2x0cicsICctd2Via2l0LWlzb2xhdGUn
XSwKKyAgICBbJ291dHB1dCcsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0
ZSddLAorICAgIFsnb3V0cHV0JywgeydkaXInOiAncnRsJ30sICdydGwnLCAnLXdlYmtpdC1pc29s
YXRlJ10sCisgICAgWydvdXRwdXQnLCB7J2Rpcic6ICdhdXRvJ30sICdsdHInLCAnLXdlYmtpdC1p
c29sYXRlJ10sCisgICAgWydvdXRwdXQnLCB7J2Rpcic6ICcnfSwgJ2x0cicsICctd2Via2l0LWlz
b2xhdGUnXSwKKworICAgIFsnYmRvJywge30sICdsdHInLCAnYmlkaS1vdmVycmlkZSddLAorICAg
IFsnYmRvJywgeydkaXInOiAnbHRyJ30sICdsdHInLCAnYmlkaS1vdmVycmlkZSddLAorICAgIFsn
YmRvJywgeydkaXInOiAncnRsJ30sICdydGwnLCAnYmlkaS1vdmVycmlkZSddLAorICAgIFsnYmRv
JywgeydkaXInOiAnYXV0byd9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnYmRv
JywgeydkaXInOiAnJ30sICdsdHInLCAnYmlkaS1vdmVycmlkZSddLAorCisgICAgWyd0ZXh0YXJl
YScsIHt9LCAnbHRyJywgJ25vcm1hbCddLAorICAgIFsndGV4dGFyZWEnLCB7J2Rpcic6ICdsdHIn
fSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsndGV4dGFyZWEnLCB7J2Rpcic6ICdydGwnfSwgJ3J0
bCcsICdlbWJlZCddLAorICAgIFsndGV4dGFyZWEnLCB7J2Rpcic6ICdhdXRvJ30sICdsdHInLCAn
LXdlYmtpdC1wbGFpbnRleHQnXSwKKyAgICBbJ3RleHRhcmVhJywgeydkaXInOiAnJ30sICdsdHIn
LCAnZW1iZWQnXSwKKworICAgIFsncHJlJywge30sICdsdHInLCAnbm9ybWFsJ10sCisgICAgWydw
cmUnLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsncHJlJywgeydkaXIn
OiAncnRsJ30sICdydGwnLCAnZW1iZWQnXSwKKyAgICBbJ3ByZScsIHsnZGlyJzogJ2F1dG8nfSwg
J2x0cicsICctd2Via2l0LXBsYWludGV4dCddLAorICAgIFsncHJlJywgeydkaXInOiAnJ30sICds
dHInLCAnZW1iZWQnXSwKK10uZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgeworICAgIHNob3VsZEJl
KCdzdHlsZU9mKCInICsgdGVzdFswXSArICciLCAnICsgSlNPTi5zdHJpbmdpZnkodGVzdFsxXSkg
KyAnKS5kaXJlY3Rpb24nLCAnIicgKyB0ZXN0WzJdICsgJyInKTsKKyAgICBjb250YWluZXIuaW5u
ZXJIVE1MID0gJyc7CisgICAgc2hvdWxkQmUoJ3N0eWxlT2YoIicgKyB0ZXN0WzBdICsgJyIsICcg
KyBKU09OLnN0cmluZ2lmeSh0ZXN0WzFdKSArICcpLnVuaWNvZGVCaWRpJywgJyInICsgdGVzdFsz
XSArICciJyk7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworfSk7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116479</attachid>
            <date>2011-11-23 21:20:07 -0800</date>
            <delta_ts>2011-11-23 21:20:07 -0800</delta_ts>
            <desc>A test case for the default unicode-bidi value, covering https://bugs.webkit.org/show_bug.cgi?id=70373, https://bugs.webkit.org/show_bug.cgi?id=63903, and https://bugs.webkit.org/show_bug.cgi?id=71188</desc>
            <filename>test-computed-unicode-bidi.html</filename>
            <type>text/html</type>
            <size>2874</size>
            <attacher name="Aharon (Vladimir) Lanin">aharon</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+DQo8aHRtbD48aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQt
VHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiPg0KPHRpdGxlPnRlc3QtdW5p
Y29kZS1iaWRpLWNvbXB1dGVkLXN0eWxlPC90aXRsZT4NCjxzdHlsZT4NCiAgLmhpZGUgew0KICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiAtMTAwMDBweDsNCiAgfQ0KPC9zdHlsZT4N
CjwvaGVhZD48Ym9keT4NCjxzY3JpcHQ+DQogIGZ1bmN0aW9uIGdldFVuaWNvZGVCaWRpKGlkKSB7
DQogICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7DQogICAgdmFy
IHN0eWxlID0gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBu
dWxsKTsNCiAgICB2YXIgdW5pY29kZUJpZGkgPSBzdHlsZVsndW5pY29kZUJpZGknXTsNCiAgICBm
b3IgKDs7KSB7DQogICAgICB2YXIgcHJlZml4ZWQgPSB1bmljb2RlQmlkaS5pbmRleE9mKCctd2Vi
a2l0LScpOw0KICAgICAgaWYgKHByZWZpeGVkIDwgMCkgew0KICAgICAgICBicmVhazsNCiAgICAg
IH0NCiAgICAgIHVuaWNvZGVCaWRpID0gdW5pY29kZUJpZGkuc3Vic3RyaW5nKDAsIHByZWZpeGVk
KSArDQogICAgICAgICAgdW5pY29kZUJpZGkuc3Vic3RyaW5nKHByZWZpeGVkICsgOCk7DQogICAg
fQ0KICAgIHJldHVybiB1bmljb2RlQmlkaTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGV4cGVjdGVkVW5p
Y29kZUJpZGkoZWxlbWVudCwgZGlyKSB7DQogICAgaWYgKGRpciA9PSAnbm9uZScpIHsNCiAgICAg
IHN3aXRjaCAoZWxlbWVudCkgew0KICAgICAgICBjYXNlICdiZGknOg0KICAgICAgICBjYXNlICdv
dXRwdXQnOg0KICAgICAgICAgIC8vIFRPRE86IHVuLWNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5l
IG9uY2UgImJsb2NrIiBlbGVtZW50cyBnZXQgDQogICAgICAgICAgLy8gJ2lzb2xhdGUnIGJ5IGRl
ZmF1bHQuDQovLyAgICAgIGNhc2UgJ3ByZSc6DQogICAgICAgICAgcmV0dXJuICdpc29sYXRlJzsN
CiAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICByZXR1cm4gJ25vcm1hbCc7DQogICAgICB9DQog
ICAgfQ0KICAgIGlmIChkaXIgPT0gJ2F1dG8nKSB7DQogICAgICBzd2l0Y2ggKGVsZW1lbnQpIHsN
CiAgICAgICAgY2FzZSAndGV4dGFyZWEnOg0KICAgICAgICBjYXNlICdwcmUnOg0KICAgICAgICAg
IHJldHVybiAncGxhaW50ZXh0JzsNCiAgICAgICAgY2FzZSAnYmRvJzoNCiAgICAgICAgICByZXR1
cm4gJ2JpZGktb3ZlcnJpZGUgaXNvbGF0ZSc7DQogICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAg
cmV0dXJuICdpc29sYXRlJzsNCiAgICAgIH0NCiAgICB9DQogICAgc3dpdGNoIChlbGVtZW50KSB7
DQogICAgICBjYXNlICdiZGknOg0KICAgICAgY2FzZSAnb3V0cHV0JzoNCiAgICAgICAgLy8gVE9E
TzogdW4tY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgb25jZSAiYmxvY2siIGVsZW1lbnRzIGdl
dCANCiAgICAgICAgLy8gJ2lzb2xhdGUnIGJ5IGRlZmF1bHQuDQovLyAgICBjYXNlICdwcmUnOg0K
ICAgICAgICByZXR1cm4gJ2lzb2xhdGUnOw0KICAgICAgY2FzZSAnYmRvJzoNCiAgICAgICAgcmV0
dXJuICdiaWRpLW92ZXJyaWRlJzsNCiAgICAgIGRlZmF1bHQ6DQogICAgICAgIHJldHVybiAnZW1i
ZWQnOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIGxvZyhsaW5lKSB7DQogICAgZG9jdW1lbnQu
d3JpdGUoJzxkaXY+JyArIGxpbmUgKyAnPC9kaXY+Jyk7DQogIH0NCg0KICBmdW5jdGlvbiBjaGVj
a1VuaWNvZGVCaWRpKGlkLCBlbGVtZW50LCBkaXIpIHsNCiAgICB2YXIgYWN0dWFsID0gZ2V0VW5p
Y29kZUJpZGkoaWQpOw0KICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGVkVW5pY29kZUJpZGkoZWxl
bWVudCwgZGlyKTsNCiAgICBpZiAoYWN0dWFsID09IGV4cGVjdGVkKSB7DQogICAgICBsb2coJ3Bh
c3NlZDogJyArIGlkICsgJyAoJyArIGV4cGVjdGVkICsgJyknKTsNCiAgICB9IGVsc2Ugew0KICAg
ICAgbG9nKCdGQUlMRUQ6ICcgKyBpZCArICcgKGV4cGVjdGVkICcgKyBleHBlY3RlZCArICcsIGJ1
dCBnb3QgJyArIGFjdHVhbCArICcpJyk7DQogICAgfQ0KICB9DQoNCiAgZnVuY3Rpb24gdGVzdFVu
aWNvZGVCaWRpKCkgew0KICAgIHZhciBkaXJWYWx1ZXMgPSBbJ25vbmUnLCAnbHRyJywgJ3J0bCcs
ICdhdXRvJ107DQogICAgdmFyIGVsZW1lbnRzID0gWydzcGFuJywgJ2JkaScsICdvdXRwdXQnLCAn
YmRvJywgJ3RleHRhcmVhJywgJ3ByZSddOw0KDQogICAgZm9yICh2YXIgZGlyID0gMDsgZGlyIDwg
ZGlyVmFsdWVzLmxlbmd0aDsgZGlyKyspIHsNCiAgICAgIGZvciAodmFyIGVsZW1lbnQgPSAwOyBl
bGVtZW50IDwgZWxlbWVudHMubGVuZ3RoOyBlbGVtZW50KyspIHsNCiAgICAgICAgdmFyIGlkID0g
ZWxlbWVudHNbZWxlbWVudF0gKyAnLScgKyBkaXJWYWx1ZXNbZGlyXTsNCiAgICAgICAgZG9jdW1l
bnQud3JpdGUoJzxkaXYgY2xhc3M9ImhpZGUiPjwnICsgZWxlbWVudHNbZWxlbWVudF0gKw0KICAg
ICAgICAgICAgJyBpZD0iJyArIGlkICsgJyInICsNCiAgICAgICAgICAgIChkaXJWYWx1ZXNbZGly
XSA9PSAnbm9uZScgPyAnJyA6ICcgZGlyPSInICsgZGlyVmFsdWVzW2Rpcl0gKyAnIicpICsNCiAg
ICAgICAgICAgICc+PC8nICsgZWxlbWVudHNbZWxlbWVudF0gKyAnPjwvZGl2PicpOw0KICAgICAg
ICBjaGVja1VuaWNvZGVCaWRpKGlkLCBlbGVtZW50c1tlbGVtZW50XSwgZGlyVmFsdWVzW2Rpcl0p
Ow0KICAgICAgfQ0KICAgIH0NCiAgfQ0KDQogIHRyeSB7DQogICAgdGVzdFVuaWNvZGVCaWRpKCk7
DQogIH0gY2F0Y2goZSkgew0KICAgIGxvZygnRkFJTEVEOiBleGNlcHRpb24nKTsNCiAgfQ0KPC9z
Y3JpcHQ+DQo8L2JvZHk+PC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116574</attachid>
            <date>2011-11-25 00:12:46 -0800</date>
            <delta_ts>2011-11-27 00:26:15 -0800</delta_ts>
            <desc>Ready for review but can&apos;t land until the bug 73116 is fixed</desc>
            <filename>bug-63903-20111125001245.patch</filename>
            <type>text/plain</type>
            <size>15298</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTE1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDExLTExLTI1ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGRpcj1hdXRvIHNob3VsZCBpbXBs
eSB1bmljb2RlLWJpZGk6aXNvbGF0ZSBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2RlZmF1bHQtYmlkaS1jc3Mt
cnVsZXMuaHRtbAorCisgICAgICAgIEZpeGVkIFdlYktpdCdzIGltcGxlbWVudGF0aW9uIG9mIGJk
bywgYmRpLCBhbmQgb3V0cHV0IGVsZW1lbnRzIHRvIG1hdGNoIEhUTUw1IHNwZWMgc2VjdGlvbiAx
MC4zLjU6CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRt
bCNiaWRpcmVjdGlvbmFsLXRleHQKKworICAgICAgICBBbnkgZWxlbWVudCBvdGhlciB0aGFuIGJk
bywgdGV4dGFyZWEsIGFuZCBwcmUgd2l0aCBkaXI9YXV0byBzaG91bGQgdXNlIHVuaWNvZGUtYmlk
aTogLXdlYmtpdC1pc29sYXRlCisgICAgICAgIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKiBjc3Mv
aHRtbC5jc3M6CisgICAgICAgIChiZGksIG91dHB1dCk6IGJkaSBhbmQgb3V0cHV0IHNob3VsZCBi
b3RoIHVzZSAtd2Via2l0LWlzb2xhdGUgYXMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHVuaWNvZGUt
YmlkaS4KKyAgICAgICAgKGJkbyk6IGJkbyBzaG91bGQgdXNlIC13ZWJraXQtb3ZlcnJpZGUgYXMg
dGhlIGRlZmF1bHQgdmFsdWUgZm9yIHVuaWNvZGUtYmlkaS4KKyAgICAgICAgKiBkb20vTWFwcGVk
QXR0cmlidXRlRW50cnkuaDogQWRkIGVCREksIHdoaWNoIGlzIHVzZWQgYnkgYmRpIGFuZCBvdXRw
dXQgZWxlbWVudHMuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRWxlbWVudDo6bWFwVG9FbnRyeSk6IERvbid0IHNoYXJlIHRoZSBjYWNoZSBm
b3IgZGlyIGF0dHJpYnV0ZSBiZXR3ZWVuIGJkaSBhbmQgb3RoZXIgZWxlbWVudHMKKyAgICAgICAg
anVzdCBsaWtlIHdlIGRvbid0IHNoYXJlIHRoZSBjYWNoZSBmb3IgZGlyIGF0dHJpYnV0ZSBiZXR3
ZWVuIGJkbyBhbmQgb3RoZXIgZWxlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjp1bmljb2RlQmlk
aUF0dHJpYnV0ZUZvckRpckF1dG8pOiBEb24ndCBzZXQgYmlkaS1vdmVycmlkZSBmb3IgYmRvIGVs
ZW1lbnQgc2luY2UgdGhpcyBpcyBkb25lCisgICAgICAgIGluIHRoZSBVQSBzdHlsZXNoZWV0IG5v
dy4gQWxzbyByZXR1cm4gLXdlYmtpdC1pc29sYXRlIGFzIHRoZSBkZWZhdWx0IGJlY2F1c2Ugbm93
IHRoYXQgdGhpcyBmdW5jdGlvbiBpcworICAgICAgICBjYWxsZWQgd2hlbiBkaXI9YXV0byBhcyB0
aGUgbmFtZSBpbXBsaWVzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKTogRG9uJ3QgY2FsbCB1bmljb2RlQmlkaUF0dHJpYnV0ZUZvckRpckF1dG8g
d2hlbiBkaXIgaXMgbm90CisgICAgICAgIGF1dG8uIEFsc28gc2V0IHVuaWNvZGUtYmlkaSB0byBl
bWJlZCB3aGVuIGRpciBpcyBub3QgYXV0byBhbmQgdGhlIGVsZW1lbnQgaXMgbmVpdGhlciBiZGks
IGJkbywgbm9yIG91dHB1dC4KKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxPdXRwdXRFbGVtZW50OjptYXBUb0VudHJ5KTogRG9uJ3Qg
c2hhcmUgdGhlIGNhY2hlIGZvciBkaXIgYXR0cmlidXRlIGJldHdlZW4gb3V0cHV0IGFuZCBvdGhl
ciBlbGVtZW50cy4KKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MVGFnTmFtZXMuaW46CisKIDIwMTEtMTEtMjQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluaXRpYWxpemUgZ2xvYmFsIHZhcmlhYmxl
cyBkdXJpbmcgSURMUGFyc2VyIG9iamVjdCBjcmVhdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL2h0bWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwko
cmV2aXNpb24gMTAxMTE4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCSh3b3JraW5n
IGNvcHkpCkBAIC05OTIsMTAgKzk5MiwxNCBAQCBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFy
a2VyIHsKICAgICBtYXJnaW4tcmlnaHQ6IDAuNGVtOwogfQogCi1iZGkgeworYmRpLCBvdXRwdXQg
ewogICAgIHVuaWNvZGUtYmlkaTogLXdlYmtpdC1pc29sYXRlOwogfQogCitiZG8geworICAgIHVu
aWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTsKK30KKwogLyogcGFnZSAqLwogCiBAcGFnZSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTWFwcGVkQXR0cmlidXRlRW50cnkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTWFwcGVkQXR0cmlidXRlRW50cnkuaAkocmV2aXNpb24g
MTAxMTE4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01hcHBlZEF0dHJpYnV0ZUVudHJ5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgZW51bSBNYXBwZWRBdHRyaWJ1dGVFbnRyeSB7
CiAgICAgLCBlVGFibGUKICAgICAsIGVDZWxsCiAgICAgLCBlQ2FwdGlvbgorICAgICwgZUJESQog
ICAgICwgZUJETwogICAgICwgZVByZQogI2lmIEVOQUJMRShTVkcpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMTAxMTE4KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw3ICsxMjcsMTIgQEAg
Ym9vbCBIVE1MRWxlbWVudDo6bWFwVG9FbnRyeShjb25zdCBRdWFsaQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogICAgIGlmIChhdHRyTmFtZSA9PSBkaXJBdHRyKSB7Ci0gICAgICAgIHJl
c3VsdCA9IGhhc0xvY2FsTmFtZShiZG9UYWcpID8gZUJETyA6IGVVbml2ZXJzYWw7CisgICAgICAg
IGlmIChoYXNMb2NhbE5hbWUoYmRvVGFnKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGVCRE87Cisg
ICAgICAgIGVsc2UgaWYgKGhhc0xvY2FsTmFtZShiZGlUYWcpKQorICAgICAgICAgICAgcmVzdWx0
ID0gZUJESTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gZVVuaXZlcnNhbDsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0xMzYsMTEgKzE0MSw5IEBAIGJvb2wg
SFRNTEVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGkKIAogc3RhdGljIGlubGluZSBpbnQg
dW5pY29kZUJpZGlBdHRyaWJ1dGVGb3JEaXJBdXRvKEhUTUxFbGVtZW50KiBlbGVtZW50KQogewot
ICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUoYmRvVGFnKSkKLSAgICAgICAgcmV0dXJuIENT
U1ZhbHVlQmlkaU92ZXJyaWRlOwogICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUocHJlVGFn
KSB8fCBlbGVtZW50LT5oYXNMb2NhbE5hbWUodGV4dGFyZWFUYWcpKQogICAgICAgICByZXR1cm4g
Q1NTVmFsdWVXZWJraXRQbGFpbnRleHQ7Ci0gICAgcmV0dXJuIENTU1ZhbHVlRW1iZWQ7CisgICAg
cmV0dXJuIENTU1ZhbHVlV2Via2l0SXNvbGF0ZTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIHBhcnNl
Qm9yZGVyV2lkdGhBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQpAQCAtMTkwLDEwICsxOTMsMTQg
QEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IGxhbmdBdHRyKSB7CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBkaXJBdHRyKSB7Ci0gICAgICAgIGlm
ICghZXF1YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUoKSwgImF1dG8iKSkKKyAgICAgICAgYm9v
bCBkaXJJc0F1dG8gPSBlcXVhbElnbm9yaW5nQ2FzZShhdHRyLT52YWx1ZSgpLCAiYXV0byIpOwor
ICAgICAgICBpZiAoIWRpcklzQXV0bykKICAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIs
IENTU1Byb3BlcnR5RGlyZWN0aW9uLCBhdHRyLT52YWx1ZSgpKTsKICAgICAgICAgZGlyQXR0cmli
dXRlQ2hhbmdlZChhdHRyKTsKLSAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVy
dHlVbmljb2RlQmlkaSwgdW5pY29kZUJpZGlBdHRyaWJ1dGVGb3JEaXJBdXRvKHRoaXMpKTsKKyAg
ICAgICAgaWYgKGRpcklzQXV0bykKKyAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENT
U1Byb3BlcnR5VW5pY29kZUJpZGksIHVuaWNvZGVCaWRpQXR0cmlidXRlRm9yRGlyQXV0byh0aGlz
KSk7CisgICAgICAgIGVsc2UgaWYgKCFoYXNUYWdOYW1lKGJkaVRhZykgJiYgIWhhc1RhZ05hbWUo
YmRvVGFnKSAmJiAhaGFzVGFnTmFtZShvdXRwdXRUYWcpKQorICAgICAgICAgICAgYWRkQ1NTUHJv
cGVydHkoYXR0ciwgQ1NTUHJvcGVydHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVFbWJlZCk7CiAgICAg
fSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gZHJhZ2dhYmxlQXR0cikgewogICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKICAgICAgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHZhbHVlLCAidHJ1ZSIpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPdXRwdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPdXRwdXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTAxMTE4KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYx
LDE0IEBAIGJvb2wgSFRNTE91dHB1dEVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSAKICAgICByZXR1
cm4gTm9kZTo6c3VwcG9ydHNGb2N1cygpICYmICFkaXNhYmxlZCgpOwogfQogCitib29sIEhUTUxP
dXRwdXRFbGVtZW50OjptYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBN
YXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBjb25zdAoreworICAgIGlmIChhdHRyTmFtZSA9
PSBIVE1MTmFtZXM6OmRpckF0dHIpCisgICAgICAgIHJldHVybiBlQkRPOworCisgICAgcmV0dXJu
IEhUTUxFbGVtZW50OjptYXBUb0VudHJ5KGF0dHJOYW1lLCByZXN1bHQpOworfQorCiB2b2lkIEhU
TUxPdXRwdXRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7
CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmZvckF0dHIpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCShyZXZpc2lvbiAxMDExMTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU1LDYgKzU1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBIVE1MT3V0cHV0RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqKTsKIAorICAg
IHZpcnR1YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBN
YXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBpc0VudW1lcmF0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhZ05hbWVzLmluCShyZXZpc2lvbiAxMDExMTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTUsNiArMTUsNyBAQCBh
dWRpbyB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uCiBiIGludGVyZmFjZU5hbWU9
SFRNTEVsZW1lbnQKIGJhc2UKIGJhc2Vmb250IGludGVyZmFjZU5hbWU9SFRNTEJhc2VGb250RWxl
bWVudAorYmRpIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGJkbyBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50CiBiZ3NvdW5kIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGJpZyBpbnRlcmZh
Y2VOYW1lPUhUTUxFbGVtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDExNTMpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMS0y
NCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBkaXI9YXV0byBz
aG91bGQgaW1wbHkgdW5pY29kZS1iaWRpOmlzb2xhdGUgYnkgZGVmYXVsdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gZW5zdXJl
IFdlYktpdCBpbXBsZW1lbnRzIEhUTUw1IGJpZGlyZWN0aW9uYWwgdGV4dCBzdXBwb3J0IHByb3Bl
cmx5OgorICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwj
YmlkaXJlY3Rpb25hbC10ZXh0CisKKyAgICAgICAgKiBmYXN0L2Nzcy9kZWZhdWx0LWJpZGktY3Nz
LXJ1bGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZGVmYXVsdC1i
aWRpLWNzcy1ydWxlcy5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0yNCAgQXJrbyBTYWhhICA8YXJr
b0Btb3Rvcm9sYS5jb20+CiAKICAgICAgICAgTWljcm9kYXRhOiBTdXBwb3J0IGZvciBwcm9wZXJ0
aWVzIGF0dHJpYnV0ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2RlZmF1bHQtYmlkaS1j
c3MtcnVsZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2RlZmF1bHQtYmlkaS1jc3MtcnVsZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIGRlZmF1bHQg
cnVsZXMgZm9yIGRpcmVjdGlvbiBhbmQgdW5pY29kZS1iaWRpIENTUyBwcm9wZXJ0aWVzLgorCitQ
QVNTIHN0eWxlT2YoImRpdiIsIHt9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigi
ZGl2Iiwge30pLnVuaWNvZGVCaWRpIGlzICJub3JtYWwiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsi
ZGlyIjoibHRyIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJkaXYiLCB7ImRp
ciI6Imx0ciJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsi
ZGlyIjoicnRsIn0pLmRpcmVjdGlvbiBpcyAicnRsIgorUEFTUyBzdHlsZU9mKCJkaXYiLCB7ImRp
ciI6InJ0bCJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsi
ZGlyIjoiYXV0byJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigiZGl2IiwgeyJk
aXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxl
T2YoImRpdiIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJk
aXYiLCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInNw
YW4iLCB7fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7fSkudW5p
Y29kZUJpZGkgaXMgIm5vcm1hbCIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsiZGlyIjoibHRyIn0p
LmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwgeyJkaXIiOiJsdHIifSku
dW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwgeyJkaXIiOiJydGwi
fSkuZGlyZWN0aW9uIGlzICJydGwiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6InJ0bCJ9
KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6ImF1
dG8ifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6ImF1
dG8ifSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigic3Bh
biIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwg
eyJkaXIiOiIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7
fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoImJkaSIsIHt9KS51bmljb2RlQmlk
aSBpcyAiLXdlYmtpdC1pc29sYXRlIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7ImRpciI6Imx0ciJ9
KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJkaXIiOiJsdHIifSku
dW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJk
aXIiOiJydGwifSkuZGlyZWN0aW9uIGlzICJydGwiCitQQVNTIHN0eWxlT2YoImJkaSIsIHsiZGly
IjoicnRsIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxlT2Yo
ImJkaSIsIHsiZGlyIjoiYXV0byJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigi
YmRpIiwgeyJkaXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQ
QVNTIHN0eWxlT2YoImJkaSIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBz
dHlsZU9mKCJiZGkiLCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29sYXRl
IgorUEFTUyBzdHlsZU9mKCJvdXRwdXQiLCB7fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0
eWxlT2YoIm91dHB1dCIsIHt9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29sYXRlIgorUEFT
UyBzdHlsZU9mKCJvdXRwdXQiLCB7ImRpciI6Imx0ciJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BB
U1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJsdHIifSkudW5pY29kZUJpZGkgaXMgIi13ZWJr
aXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJydGwifSkuZGlyZWN0
aW9uIGlzICJydGwiCitQQVNTIHN0eWxlT2YoIm91dHB1dCIsIHsiZGlyIjoicnRsIn0pLnVuaWNv
ZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxlT2YoIm91dHB1dCIsIHsiZGly
IjoiYXV0byJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJk
aXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxl
T2YoIm91dHB1dCIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9m
KCJvdXRwdXQiLCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29sYXRlIgor
UEFTUyBzdHlsZU9mKCJiZG8iLCB7fSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2Yo
ImJkbyIsIHt9KS51bmljb2RlQmlkaSBpcyAiYmlkaS1vdmVycmlkZSIKK1BBU1Mgc3R5bGVPZigi
YmRvIiwgeyJkaXIiOiJsdHIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoImJk
byIsIHsiZGlyIjoibHRyIn0pLnVuaWNvZGVCaWRpIGlzICJiaWRpLW92ZXJyaWRlIgorUEFTUyBz
dHlsZU9mKCJiZG8iLCB7ImRpciI6InJ0bCJ9KS5kaXJlY3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5
bGVPZigiYmRvIiwgeyJkaXIiOiJydGwifSkudW5pY29kZUJpZGkgaXMgImJpZGktb3ZlcnJpZGUi
CitQQVNTIHN0eWxlT2YoImJkbyIsIHsiZGlyIjoiYXV0byJ9KS5kaXJlY3Rpb24gaXMgImx0ciIK
K1BBU1Mgc3R5bGVPZigiYmRvIiwgeyJkaXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Vi
a2l0LWlzb2xhdGUiCitQQVNTIHN0eWxlT2YoImJkbyIsIHsiZGlyIjoiIn0pLmRpcmVjdGlvbiBp
cyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZG8iLCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAi
YmlkaS1vdmVycmlkZSIKK1BBU1Mgc3R5bGVPZigidGV4dGFyZWEiLCB7fSkuZGlyZWN0aW9uIGlz
ICJsdHIiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwge30pLnVuaWNvZGVCaWRpIGlzICJub3Jt
YWwiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIiOiJsdHIifSkuZGlyZWN0aW9uIGlz
ICJsdHIiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIiOiJsdHIifSkudW5pY29kZUJp
ZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGlyIjoicnRsIn0pLmRp
cmVjdGlvbiBpcyAicnRsIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGlyIjoicnRsIn0p
LnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigidGV4dGFyZWEiLCB7ImRpciI6
ImF1dG8ifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJk
aXIiOiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LXBsYWludGV4dCIKK1BBU1Mgc3R5
bGVPZigidGV4dGFyZWEiLCB7ImRpciI6IiJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5
bGVPZigidGV4dGFyZWEiLCB7ImRpciI6IiJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNT
IHN0eWxlT2YoInByZSIsIHt9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigicHJl
Iiwge30pLnVuaWNvZGVCaWRpIGlzICJub3JtYWwiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGly
IjoibHRyIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6
Imx0ciJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGly
IjoicnRsIn0pLmRpcmVjdGlvbiBpcyAicnRsIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6
InJ0bCJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGly
IjoiYXV0byJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigicHJlIiwgeyJkaXIi
OiJhdXRvIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LXBsYWludGV4dCIKK1BBU1Mgc3R5bGVP
ZigicHJlIiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInBy
ZSIsIHsiZGlyIjoiIn0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9kZWZhdWx0LWJpZGktY3NzLXJ1bGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDc0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxw
PlRoaXMgdGVzdCBjaGVja3MgPGEgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9P
dmVydmlldy5odG1sI2JpZGlyZWN0aW9uYWwtdGV4dCI+dGhlIGRlZmF1bHQgcnVsZXMgZm9yIGRp
cmVjdGlvbiBhbmQgdW5pY29kZS1iaWRpIENTUyBwcm9wZXJ0aWVzPC9hPi48L3A+Cis8ZGl2IGlk
PSJjb250YWluZXIiPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwor
CitmdW5jdGlvbiBzdHlsZU9mKG5hbWUsIGF0dHJpYnV0ZXMpIHsKKyAgICB2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmFtZSk7CisgICAgZm9yICh2YXIgbmFtZSBpbiBhdHRy
aWJ1dGVzKSB7CisgICAgICAgIHZhciB2YWx1ZSA9IGF0dHJpYnV0ZXNbbmFtZV07CisgICAgICAg
IGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICB9CisgICAgY29udGFpbmVy
LmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQpOworfQorCit2YXIgdGVzdHMgPSBbCisgICAgWydkaXYnLCB7fSwgJ2x0cicsICdub3JtYWwn
XSwKKyAgICBbJ2RpdicsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAgWydk
aXYnLCB7J2Rpcic6ICdydGwnfSwgJ3J0bCcsICdlbWJlZCddLAorICAgIFsnZGl2JywgeydkaXIn
OiAnYXV0byd9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnZGl2JywgeydkaXIn
OiAnJ30sICdsdHInLCAnZW1iZWQnXSwKKworICAgIFsnc3BhbicsIHt9LCAnbHRyJywgJ25vcm1h
bCddLAorICAgIFsnc3BhbicsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAg
WydzcGFuJywgeydkaXInOiAncnRsJ30sICdydGwnLCAnZW1iZWQnXSwKKyAgICBbJ3NwYW4nLCB7
J2Rpcic6ICdhdXRvJ30sICdsdHInLCAnLXdlYmtpdC1pc29sYXRlJ10sCisgICAgWydzcGFuJywg
eydkaXInOiAnJ30sICdsdHInLCAnZW1iZWQnXSwKKworICAgIFsnYmRpJywge30sICdsdHInLCAn
LXdlYmtpdC1pc29sYXRlJ10sCisgICAgWydiZGknLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICct
d2Via2l0LWlzb2xhdGUnXSwKKyAgICBbJ2JkaScsIHsnZGlyJzogJ3J0bCd9LCAncnRsJywgJy13
ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnYmRpJywgeydkaXInOiAnYXV0byd9LCAnbHRyJywgJy13
ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnYmRpJywgeydkaXInOiAnJ30sICdsdHInLCAnLXdlYmtp
dC1pc29sYXRlJ10sCisKKyAgICBbJ291dHB1dCcsIHt9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0
ZSddLAorICAgIFsnb3V0cHV0JywgeydkaXInOiAnbHRyJ30sICdsdHInLCAnLXdlYmtpdC1pc29s
YXRlJ10sCisgICAgWydvdXRwdXQnLCB7J2Rpcic6ICdydGwnfSwgJ3J0bCcsICctd2Via2l0LWlz
b2xhdGUnXSwKKyAgICBbJ291dHB1dCcsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0cicsICctd2Via2l0
LWlzb2xhdGUnXSwKKyAgICBbJ291dHB1dCcsIHsnZGlyJzogJyd9LCAnbHRyJywgJy13ZWJraXQt
aXNvbGF0ZSddLAorCisgICAgWydiZG8nLCB7fSwgJ2x0cicsICdiaWRpLW92ZXJyaWRlJ10sCisg
ICAgWydiZG8nLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdiaWRpLW92ZXJyaWRlJ10sCisgICAg
WydiZG8nLCB7J2Rpcic6ICdydGwnfSwgJ3J0bCcsICdiaWRpLW92ZXJyaWRlJ10sCisgICAgWydi
ZG8nLCB7J2Rpcic6ICdhdXRvJ30sICdsdHInLCAnLXdlYmtpdC1pc29sYXRlJ10sCisgICAgWydi
ZG8nLCB7J2Rpcic6ICcnfSwgJ2x0cicsICdiaWRpLW92ZXJyaWRlJ10sCisKKyAgICBbJ3RleHRh
cmVhJywge30sICdsdHInLCAnbm9ybWFsJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ2x0
cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ3J0bCd9LCAn
cnRsJywgJ2VtYmVkJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0cics
ICctd2Via2l0LXBsYWludGV4dCddLAorICAgIFsndGV4dGFyZWEnLCB7J2Rpcic6ICcnfSwgJ2x0
cicsICdlbWJlZCddLAorCisgICAgWydwcmUnLCB7fSwgJ2x0cicsICdub3JtYWwnXSwKKyAgICBb
J3ByZScsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAgWydwcmUnLCB7J2Rp
cic6ICdydGwnfSwgJ3J0bCcsICdlbWJlZCddLAorICAgIFsncHJlJywgeydkaXInOiAnYXV0byd9
LCAnbHRyJywgJy13ZWJraXQtcGxhaW50ZXh0J10sCisgICAgWydwcmUnLCB7J2Rpcic6ICcnfSwg
J2x0cicsICdlbWJlZCddLAorXS5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgc2hvdWxk
QmUoJ3N0eWxlT2YoIicgKyB0ZXN0WzBdICsgJyIsICcgKyBKU09OLnN0cmluZ2lmeSh0ZXN0WzFd
KSArICcpLmRpcmVjdGlvbicsICciJyArIHRlc3RbMl0gKyAnIicpOworICAgIGNvbnRhaW5lci5p
bm5lckhUTUwgPSAnJzsKKyAgICBzaG91bGRCZSgnc3R5bGVPZigiJyArIHRlc3RbMF0gKyAnIiwg
JyArIEpTT04uc3RyaW5naWZ5KHRlc3RbMV0pICsgJykudW5pY29kZUJpZGknLCAnIicgKyB0ZXN0
WzNdICsgJyInKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116667</attachid>
            <date>2011-11-27 00:26:22 -0800</date>
            <delta_ts>2011-11-28 11:13:32 -0800</delta_ts>
            <desc>Fixed per Aharon&apos;s comment</desc>
            <filename>bug-63903-20111127002622.patch</filename>
            <type>text/plain</type>
            <size>15754</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTE4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDExLTExLTI1ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGRpcj1hdXRvIHNob3VsZCBpbXBs
eSB1bmljb2RlLWJpZGk6aXNvbGF0ZSBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIFdlYktpdCdzIGltcGxlbWVudGF0aW9uIG9m
IGJkbywgYmRpLCBhbmQgb3V0cHV0IGVsZW1lbnRzIHRvIG1hdGNoIEhUTUw1IHNwZWMgc2VjdGlv
biAxMC4zLjU6CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcu
aHRtbCNiaWRpcmVjdGlvbmFsLXRleHQKKworICAgICAgICBBbnkgZWxlbWVudCBvdGhlciB0aGFu
IGJkbywgdGV4dGFyZWEsIGFuZCBwcmUgd2l0aCBkaXI9YXV0byBzaG91bGQgdXNlIHVuaWNvZGUt
YmlkaTogLXdlYmtpdC1pc29sYXRlCisgICAgICAgIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgV2Ug
c3RpbGwgZG9uJ3QgdXNlIC13ZWJraXQtaXNvbGF0ZSBmb3Igbm9uLXBocmFzaW5nIGVsZW1lbnRz
IGJ5IGRlZmF1bHQgYW5kIHVuaWNvZGUtb3ZlcnJpZGUgLXdlYmtpdC1pc29sYXRlIGZvciBiZG9b
ZGlyPWF1dG9dCisgICAgICAgIHNvIHRoZXNlIHR3byBjYXNlcyBhcmUgZmFpbGluZyBpbiB0aGUg
YWRkZWQgdGVzdC4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9kZWZhdWx0LWJpZGktY3NzLXJ1
bGVzLmh0bWwKKworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKGJkaSwgb3V0cHV0
KTogYmRpIGFuZCBvdXRwdXQgc2hvdWxkIGJvdGggdXNlIC13ZWJraXQtaXNvbGF0ZSBhcyB0aGUg
ZGVmYXVsdCB2YWx1ZSBmb3IgdW5pY29kZS1iaWRpLgorICAgICAgICAoYmRvKTogYmRvIHNob3Vs
ZCB1c2UgLXdlYmtpdC1vdmVycmlkZSBhcyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdW5pY29kZS1i
aWRpLgorICAgICAgICAqIGRvbS9NYXBwZWRBdHRyaWJ1dGVFbnRyeS5oOiBBZGQgZUJESSwgd2hp
Y2ggaXMgdXNlZCBieSBiZGkgYW5kIG91dHB1dCBlbGVtZW50cy4KKyAgICAgICAgKiBodG1sL0hU
TUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjptYXBUb0VudHJ5
KTogRG9uJ3Qgc2hhcmUgdGhlIGNhY2hlIGZvciBkaXIgYXR0cmlidXRlIGJldHdlZW4gYmRpIGFu
ZCBvdGhlciBlbGVtZW50cworICAgICAgICBqdXN0IGxpa2Ugd2UgZG9uJ3Qgc2hhcmUgdGhlIGNh
Y2hlIGZvciBkaXIgYXR0cmlidXRlIGJldHdlZW4gYmRvIGFuZCBvdGhlciBlbGVtZW50cy4KKyAg
ICAgICAgKFdlYkNvcmU6OnVuaWNvZGVCaWRpQXR0cmlidXRlRm9yRGlyQXV0byk6IERvbid0IHNl
dCBiaWRpLW92ZXJyaWRlIGZvciBiZG8gZWxlbWVudCBzaW5jZSB0aGlzIGlzIGRvbmUKKyAgICAg
ICAgaW4gdGhlIFVBIHN0eWxlc2hlZXQgbm93LiBBbHNvIHJldHVybiAtd2Via2l0LWlzb2xhdGUg
YXMgdGhlIGRlZmF1bHQgYmVjYXVzZSBub3cgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzCisgICAgICAg
IGNhbGxlZCB3aGVuIGRpcj1hdXRvIGFzIHRoZSBuYW1lIGltcGxpZXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBEb24ndCBjYWxsIHVuaWNv
ZGVCaWRpQXR0cmlidXRlRm9yRGlyQXV0byB3aGVuIGRpciBpcyBub3QKKyAgICAgICAgYXV0by4g
QWxzbyBzZXQgdW5pY29kZS1iaWRpIHRvIGVtYmVkIHdoZW4gZGlyIGlzIG5vdCBhdXRvIGFuZCB0
aGUgZWxlbWVudCBpcyBuZWl0aGVyIGJkaSwgYmRvLCBub3Igb3V0cHV0LgorICAgICAgICAqIGh0
bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVs
ZW1lbnQ6Om1hcFRvRW50cnkpOiBEb24ndCBzaGFyZSB0aGUgY2FjaGUgZm9yIGRpciBhdHRyaWJ1
dGUgYmV0d2VlbiBvdXRwdXQgYW5kIG90aGVyIGVsZW1lbnRzLgorICAgICAgICAqIGh0bWwvSFRN
TE91dHB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWdOYW1lcy5pbjoKKwogMjAx
MS0xMS0yNSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgYWRkQ3VlIGFuZCByZW1vdmVDdWUgaW4gVGV4dFRyYWNrCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L2h0bWwuY3NzCShyZXZpc2lvbiAxMDExODgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5j
c3MJKHdvcmtpbmcgY29weSkKQEAgLTk5MiwxMCArOTkyLDE0IEBAIHN1bW1hcnk6Oi13ZWJraXQt
ZGV0YWlscy1tYXJrZXIgewogICAgIG1hcmdpbi1yaWdodDogMC40ZW07CiB9CiAKLWJkaSB7Citi
ZGksIG91dHB1dCB7CiAgICAgdW5pY29kZS1iaWRpOiAtd2Via2l0LWlzb2xhdGU7CiB9CiAKK2Jk
byB7CisgICAgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlOworfQorCiAvKiBwYWdlICovCiAK
IEBwYWdlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGVFbnRyeS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGVFbnRyeS5o
CShyZXZpc2lvbiAxMDExODgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWFwcGVkQXR0cmlidXRl
RW50cnkuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBlbnVtIE1hcHBlZEF0dHJp
YnV0ZUVudHJ5IHsKICAgICAsIGVUYWJsZQogICAgICwgZUNlbGwKICAgICAsIGVDYXB0aW9uCisg
ICAgLCBlQkRJCiAgICAgLCBlQkRPCiAgICAgLCBlUHJlCiAjaWYgRU5BQkxFKFNWRykKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxMDExODgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcg
KzEyNywxMiBAQCBib29sIEhUTUxFbGVtZW50OjptYXBUb0VudHJ5KGNvbnN0IFF1YWxpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGF0dHJOYW1lID09IGRpckF0dHIpIHsK
LSAgICAgICAgcmVzdWx0ID0gaGFzTG9jYWxOYW1lKGJkb1RhZykgPyBlQkRPIDogZVVuaXZlcnNh
bDsKKyAgICAgICAgaWYgKGhhc0xvY2FsTmFtZShiZG9UYWcpKQorICAgICAgICAgICAgcmVzdWx0
ID0gZUJETzsKKyAgICAgICAgZWxzZSBpZiAoaGFzTG9jYWxOYW1lKGJkaVRhZykpCisgICAgICAg
ICAgICByZXN1bHQgPSBlQkRJOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBl
VW5pdmVyc2FsOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTEzNiwxMSArMTQx
LDEwIEBAIGJvb2wgSFRNTEVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGkKIAogc3RhdGlj
IGlubGluZSBpbnQgdW5pY29kZUJpZGlBdHRyaWJ1dGVGb3JEaXJBdXRvKEhUTUxFbGVtZW50KiBl
bGVtZW50KQogewotICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUoYmRvVGFnKSkKLSAgICAg
ICAgcmV0dXJuIENTU1ZhbHVlQmlkaU92ZXJyaWRlOwogICAgIGlmIChlbGVtZW50LT5oYXNMb2Nh
bE5hbWUocHJlVGFnKSB8fCBlbGVtZW50LT5oYXNMb2NhbE5hbWUodGV4dGFyZWFUYWcpKQogICAg
ICAgICByZXR1cm4gQ1NTVmFsdWVXZWJraXRQbGFpbnRleHQ7Ci0gICAgcmV0dXJuIENTU1ZhbHVl
RW1iZWQ7CisgICAgLy8gRm9yIGJkbyBlbGVtZW50LCBkaXI9ImF1dG8iIHNob3VsZCByZXN1bHQg
aW4gImJpZGktb3ZlcnJpZGUgaXNvbGF0ZSIgYnV0IHdlIGRvbid0IHN1cHBvcnQgaGF2aW5nIG11
bHRpcGxlIHZhbHVlcyBpbiB1bmljb2RlLWJpZGkgeWV0LgorICAgIHJldHVybiBDU1NWYWx1ZVdl
YmtpdElzb2xhdGU7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBwYXJzZUJvcmRlcldpZHRoQXR0cmli
dXRlKEF0dHJpYnV0ZSogYXR0cikKQEAgLTE5MCwxMCArMTk0LDE0IEBAIHZvaWQgSFRNTEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEEKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBsYW5nQXR0cikgewogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50CiAgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gZGlyQXR0cikgewotICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdD
YXNlKGF0dHItPnZhbHVlKCksICJhdXRvIikpCisgICAgICAgIGJvb2wgZGlySXNBdXRvID0gZXF1
YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUoKSwgImF1dG8iKTsKKyAgICAgICAgaWYgKCFkaXJJ
c0F1dG8pCiAgICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eURpcmVj
dGlvbiwgYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIGRpckF0dHJpYnV0ZUNoYW5nZWQoYXR0cik7
Ci0gICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5VW5pY29kZUJpZGksIHVu
aWNvZGVCaWRpQXR0cmlidXRlRm9yRGlyQXV0byh0aGlzKSk7CisgICAgICAgIGlmIChkaXJJc0F1
dG8pCisgICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eVVuaWNvZGVC
aWRpLCB1bmljb2RlQmlkaUF0dHJpYnV0ZUZvckRpckF1dG8odGhpcykpOworICAgICAgICBlbHNl
IGlmICghaGFzVGFnTmFtZShiZGlUYWcpICYmICFoYXNUYWdOYW1lKGJkb1RhZykgJiYgIWhhc1Rh
Z05hbWUob3V0cHV0VGFnKSkKKyAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1By
b3BlcnR5VW5pY29kZUJpZGksIENTU1ZhbHVlRW1iZWQpOwogICAgIH0gZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IGRyYWdnYWJsZUF0dHIpIHsKICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSA9IGF0dHItPnZhbHVlKCk7CiAgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1
ZSwgInRydWUiKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVu
dC5jcHAJKHJldmlzaW9uIDEwMTE4OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1
dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSwxNiBAQCBib29sIEhUTUxP
dXRwdXRFbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgCiAgICAgcmV0dXJuIE5vZGU6OnN1cHBvcnRz
Rm9jdXMoKSAmJiAhZGlzYWJsZWQoKTsKIH0KIAorYm9vbCBIVE1MT3V0cHV0RWxlbWVudDo6bWFw
VG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgTWFwcGVkQXR0cmlidXRlRW50
cnkmIHJlc3VsdCkgY29uc3QKK3sKKyAgICBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpkaXJB
dHRyKSB7CisgICAgICAgIHJlc3VsdCA9IGVCREk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHJldHVybiBIVE1MRWxlbWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0
KTsKK30KKwogdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKiBhdHRyKQogewogICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpmb3JB
dHRyKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaAkocmV2aXNp
b24gMTAxMTg4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSFRN
TE91dHB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1F
bGVtZW50Kik7CiAKKyAgICB2aXJ0dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSwgTWFwcGVkQXR0cmlidXRlRW50cnkmIHJlc3VsdCkgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwog
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2aXNpb24gMTAxMTg4KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAg
LTE1LDYgKzE1LDcgQEAgYXVkaW8gd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbgog
YiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBiYXNlCiBiYXNlZm9udCBpbnRlcmZhY2VOYW1l
PUhUTUxCYXNlRm9udEVsZW1lbnQKK2JkaSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBiZG8g
aW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYmdzb3VuZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50CiBiaWcgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTAx
MTg4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTEtMTEtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgZGlyPWF1dG8gc2hvdWxkIGltcGx5IHVuaWNvZGUtYmlkaTppc29sYXRlIGJ5IGRlZmF1
bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
YSB0ZXN0IHRvIGVuc3VyZSBXZWJLaXQgaW1wbGVtZW50cyBIVE1MNSBiaWRpcmVjdGlvbmFsIHRl
eHQgc3VwcG9ydCBwcm9wZXJseToKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3Bl
Yy9PdmVydmlldy5odG1sI2JpZGlyZWN0aW9uYWwtdGV4dAorCisgICAgICAgICogZmFzdC9jc3Mv
ZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvY3NzL2RlZmF1bHQtYmlkaS1jc3MtcnVsZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMjUg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVt
ZW50IGFkZEN1ZSBhbmQgcmVtb3ZlQ3VlIGluIFRleHRUcmFjawpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1ydWxlcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9kZWZhdWx0LWJpZGktY3Nz
LXJ1bGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NiBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGUgZGVmYXVsdCBydWxlcyBmb3IgZGlyZWN0aW9uIGFuZCB1bmljb2RlLWJp
ZGkgQ1NTIHByb3BlcnRpZXMuCisKK1BBU1Mgc3R5bGVPZigiZGl2Iiwge30pLmRpcmVjdGlvbiBp
cyAibHRyIgorRkFJTCBzdHlsZU9mKCJkaXYiLCB7fSkudW5pY29kZUJpZGkgc2hvdWxkIGJlIC13
ZWJraXQtaXNvbGF0ZS4gV2FzIG5vcm1hbC4KK1BBU1Mgc3R5bGVPZigiZGl2IiwgeyJkaXIiOiJs
dHIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsiZGlyIjoibHRy
In0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigiZGl2IiwgeyJkaXIiOiJy
dGwifSkuZGlyZWN0aW9uIGlzICJydGwiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsiZGlyIjoicnRs
In0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigiZGl2IiwgeyJkaXIiOiJh
dXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJkaXYiLCB7ImRpciI6ImF1
dG8ifSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigiZGl2
IiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoImRpdiIsIHsi
ZGlyIjoiIn0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHt9
KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHt9KS51bmljb2RlQmlk
aSBpcyAibm9ybWFsIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwgeyJkaXIiOiJsdHIifSkuZGlyZWN0
aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6Imx0ciJ9KS51bmljb2Rl
QmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6InJ0bCJ9KS5kaXJl
Y3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsiZGlyIjoicnRsIn0pLnVuaWNv
ZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsiZGlyIjoiYXV0byJ9KS5k
aXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigic3BhbiIsIHsiZGlyIjoiYXV0byJ9KS51
bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29sYXRlIgorUEFTUyBzdHlsZU9mKCJzcGFuIiwgeyJk
aXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInNwYW4iLCB7ImRpciI6
IiJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQiCitQQVNTIHN0eWxlT2YoImJkaSIsIHt9KS5kaXJl
Y3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigiYmRpIiwge30pLnVuaWNvZGVCaWRpIGlzICIt
d2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxlT2YoImJkaSIsIHsiZGlyIjoibHRyIn0pLmRpcmVj
dGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7ImRpciI6Imx0ciJ9KS51bmljb2Rl
QmlkaSBpcyAiLXdlYmtpdC1pc29sYXRlIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7ImRpciI6InJ0
bCJ9KS5kaXJlY3Rpb24gaXMgInJ0bCIKK1BBU1Mgc3R5bGVPZigiYmRpIiwgeyJkaXIiOiJydGwi
fSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigiYmRpIiwg
eyJkaXIiOiJhdXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJiZGkiLCB7
ImRpciI6ImF1dG8ifSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5
bGVPZigiYmRpIiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2Yo
ImJkaSIsIHsiZGlyIjoiIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNT
IHN0eWxlT2YoIm91dHB1dCIsIHt9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigi
b3V0cHV0Iiwge30pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0eWxl
T2YoIm91dHB1dCIsIHsiZGlyIjoibHRyIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHls
ZU9mKCJvdXRwdXQiLCB7ImRpciI6Imx0ciJ9KS51bmljb2RlQmlkaSBpcyAiLXdlYmtpdC1pc29s
YXRlIgorUEFTUyBzdHlsZU9mKCJvdXRwdXQiLCB7ImRpciI6InJ0bCJ9KS5kaXJlY3Rpb24gaXMg
InJ0bCIKK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJydGwifSkudW5pY29kZUJpZGkg
aXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigib3V0cHV0IiwgeyJkaXIiOiJhdXRv
In0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJvdXRwdXQiLCB7ImRpciI6ImF1
dG8ifSkudW5pY29kZUJpZGkgaXMgIi13ZWJraXQtaXNvbGF0ZSIKK1BBU1Mgc3R5bGVPZigib3V0
cHV0IiwgeyJkaXIiOiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoIm91dHB1
dCIsIHsiZGlyIjoiIn0pLnVuaWNvZGVCaWRpIGlzICItd2Via2l0LWlzb2xhdGUiCitQQVNTIHN0
eWxlT2YoImJkbyIsIHt9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigiYmRvIiwg
e30pLnVuaWNvZGVCaWRpIGlzICJiaWRpLW92ZXJyaWRlIgorUEFTUyBzdHlsZU9mKCJiZG8iLCB7
ImRpciI6Imx0ciJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigiYmRvIiwgeyJk
aXIiOiJsdHIifSkudW5pY29kZUJpZGkgaXMgImJpZGktb3ZlcnJpZGUiCitQQVNTIHN0eWxlT2Yo
ImJkbyIsIHsiZGlyIjoicnRsIn0pLmRpcmVjdGlvbiBpcyAicnRsIgorUEFTUyBzdHlsZU9mKCJi
ZG8iLCB7ImRpciI6InJ0bCJ9KS51bmljb2RlQmlkaSBpcyAiYmlkaS1vdmVycmlkZSIKK1BBU1Mg
c3R5bGVPZigiYmRvIiwgeyJkaXIiOiJhdXRvIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorRkFJTCBz
dHlsZU9mKCJiZG8iLCB7ImRpciI6ImF1dG8ifSkudW5pY29kZUJpZGkgc2hvdWxkIGJlIGJpZGkt
b3ZlcnJpZGUgLXdlYmtpdC1pc29sYXRlLiBXYXMgLXdlYmtpdC1pc29sYXRlLgorUEFTUyBzdHls
ZU9mKCJiZG8iLCB7ImRpciI6IiJ9KS5kaXJlY3Rpb24gaXMgImx0ciIKK1BBU1Mgc3R5bGVPZigi
YmRvIiwgeyJkaXIiOiIifSkudW5pY29kZUJpZGkgaXMgImJpZGktb3ZlcnJpZGUiCitQQVNTIHN0
eWxlT2YoInRleHRhcmVhIiwge30pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJ0
ZXh0YXJlYSIsIHt9KS51bmljb2RlQmlkaSBpcyAibm9ybWFsIgorUEFTUyBzdHlsZU9mKCJ0ZXh0
YXJlYSIsIHsiZGlyIjoibHRyIn0pLmRpcmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJ0
ZXh0YXJlYSIsIHsiZGlyIjoibHRyIn0pLnVuaWNvZGVCaWRpIGlzICJlbWJlZCIKK1BBU1Mgc3R5
bGVPZigidGV4dGFyZWEiLCB7ImRpciI6InJ0bCJ9KS5kaXJlY3Rpb24gaXMgInJ0bCIKK1BBU1Mg
c3R5bGVPZigidGV4dGFyZWEiLCB7ImRpciI6InJ0bCJ9KS51bmljb2RlQmlkaSBpcyAiZW1iZWQi
CitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIiOiJhdXRvIn0pLmRpcmVjdGlvbiBpcyAi
bHRyIgorUEFTUyBzdHlsZU9mKCJ0ZXh0YXJlYSIsIHsiZGlyIjoiYXV0byJ9KS51bmljb2RlQmlk
aSBpcyAiLXdlYmtpdC1wbGFpbnRleHQiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIi
OiIifSkuZGlyZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInRleHRhcmVhIiwgeyJkaXIi
OiIifSkudW5pY29kZUJpZGkgaXMgImVtYmVkIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7fSkuZGly
ZWN0aW9uIGlzICJsdHIiCitQQVNTIHN0eWxlT2YoInByZSIsIHt9KS51bmljb2RlQmlkaSBpcyAi
bm9ybWFsIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6Imx0ciJ9KS5kaXJlY3Rpb24gaXMg
Imx0ciIKK1BBU1Mgc3R5bGVPZigicHJlIiwgeyJkaXIiOiJsdHIifSkudW5pY29kZUJpZGkgaXMg
ImVtYmVkIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6InJ0bCJ9KS5kaXJlY3Rpb24gaXMg
InJ0bCIKK1BBU1Mgc3R5bGVPZigicHJlIiwgeyJkaXIiOiJydGwifSkudW5pY29kZUJpZGkgaXMg
ImVtYmVkIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6ImF1dG8ifSkuZGlyZWN0aW9uIGlz
ICJsdHIiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGlyIjoiYXV0byJ9KS51bmljb2RlQmlkaSBp
cyAiLXdlYmtpdC1wbGFpbnRleHQiCitQQVNTIHN0eWxlT2YoInByZSIsIHsiZGlyIjoiIn0pLmRp
cmVjdGlvbiBpcyAibHRyIgorUEFTUyBzdHlsZU9mKCJwcmUiLCB7ImRpciI6IiJ9KS51bmljb2Rl
QmlkaSBpcyAiZW1iZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZGVmYXVsdC1iaWRpLWNzcy1y
dWxlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2RlZmF1bHQtYmlk
aS1jc3MtcnVsZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2Rl
ZmF1bHQtYmlkaS1jc3MtcnVsZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIDxhIGhy
ZWY9Imh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNiaWRpcmVjdGlv
bmFsLXRleHQiPnRoZSBkZWZhdWx0IHJ1bGVzIGZvciBkaXJlY3Rpb24gYW5kIHVuaWNvZGUtYmlk
aSBDU1MgcHJvcGVydGllczwvYT4uPC9wPgorPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIGNvbnRhaW5lciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKKworZnVuY3Rpb24gc3R5bGVPZihuYW1l
LCBhdHRyaWJ1dGVzKSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KG5hbWUpOworICAgIGZvciAodmFyIG5hbWUgaW4gYXR0cmlidXRlcykgeworICAgICAgICB2YXIg
dmFsdWUgPSBhdHRyaWJ1dGVzW25hbWVdOworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShu
YW1lLCB2YWx1ZSk7CisgICAgfQorICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbGVtZW50KTsK
KyAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsKK30KKwordmFyIHRlc3RzID0g
WworICAgIFsnZGl2Jywge30sICdsdHInLCAnLXdlYmtpdC1pc29sYXRlJ10sCisgICAgWydkaXYn
LCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsnZGl2JywgeydkaXInOiAn
cnRsJ30sICdydGwnLCAnZW1iZWQnXSwKKyAgICBbJ2RpdicsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0
cicsICctd2Via2l0LWlzb2xhdGUnXSwKKyAgICBbJ2RpdicsIHsnZGlyJzogJyd9LCAnbHRyJywg
J2VtYmVkJ10sCisKKyAgICBbJ3NwYW4nLCB7fSwgJ2x0cicsICdub3JtYWwnXSwKKyAgICBbJ3Nw
YW4nLCB7J2Rpcic6ICdsdHInfSwgJ2x0cicsICdlbWJlZCddLAorICAgIFsnc3BhbicsIHsnZGly
JzogJ3J0bCd9LCAncnRsJywgJ2VtYmVkJ10sCisgICAgWydzcGFuJywgeydkaXInOiAnYXV0byd9
LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAorICAgIFsnc3BhbicsIHsnZGlyJzogJyd9LCAn
bHRyJywgJ2VtYmVkJ10sCisKKyAgICBbJ2JkaScsIHt9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0
ZSddLAorICAgIFsnYmRpJywgeydkaXInOiAnbHRyJ30sICdsdHInLCAnLXdlYmtpdC1pc29sYXRl
J10sCisgICAgWydiZGknLCB7J2Rpcic6ICdydGwnfSwgJ3J0bCcsICctd2Via2l0LWlzb2xhdGUn
XSwKKyAgICBbJ2JkaScsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0cicsICctd2Via2l0LWlzb2xhdGUn
XSwKKyAgICBbJ2JkaScsIHsnZGlyJzogJyd9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAor
CisgICAgWydvdXRwdXQnLCB7fSwgJ2x0cicsICctd2Via2l0LWlzb2xhdGUnXSwKKyAgICBbJ291
dHB1dCcsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJy13ZWJraXQtaXNvbGF0ZSddLAorICAgIFsn
b3V0cHV0JywgeydkaXInOiAncnRsJ30sICdydGwnLCAnLXdlYmtpdC1pc29sYXRlJ10sCisgICAg
WydvdXRwdXQnLCB7J2Rpcic6ICdhdXRvJ30sICdsdHInLCAnLXdlYmtpdC1pc29sYXRlJ10sCisg
ICAgWydvdXRwdXQnLCB7J2Rpcic6ICcnfSwgJ2x0cicsICctd2Via2l0LWlzb2xhdGUnXSwKKwor
ICAgIFsnYmRvJywge30sICdsdHInLCAnYmlkaS1vdmVycmlkZSddLAorICAgIFsnYmRvJywgeydk
aXInOiAnbHRyJ30sICdsdHInLCAnYmlkaS1vdmVycmlkZSddLAorICAgIFsnYmRvJywgeydkaXIn
OiAncnRsJ30sICdydGwnLCAnYmlkaS1vdmVycmlkZSddLAorICAgIFsnYmRvJywgeydkaXInOiAn
YXV0byd9LCAnbHRyJywgJ2JpZGktb3ZlcnJpZGUgLXdlYmtpdC1pc29sYXRlJ10sCisgICAgWydi
ZG8nLCB7J2Rpcic6ICcnfSwgJ2x0cicsICdiaWRpLW92ZXJyaWRlJ10sCisKKyAgICBbJ3RleHRh
cmVhJywge30sICdsdHInLCAnbm9ybWFsJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ2x0
cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ3J0bCd9LCAn
cnRsJywgJ2VtYmVkJ10sCisgICAgWyd0ZXh0YXJlYScsIHsnZGlyJzogJ2F1dG8nfSwgJ2x0cics
ICctd2Via2l0LXBsYWludGV4dCddLAorICAgIFsndGV4dGFyZWEnLCB7J2Rpcic6ICcnfSwgJ2x0
cicsICdlbWJlZCddLAorCisgICAgWydwcmUnLCB7fSwgJ2x0cicsICdub3JtYWwnXSwKKyAgICBb
J3ByZScsIHsnZGlyJzogJ2x0cid9LCAnbHRyJywgJ2VtYmVkJ10sCisgICAgWydwcmUnLCB7J2Rp
cic6ICdydGwnfSwgJ3J0bCcsICdlbWJlZCddLAorICAgIFsncHJlJywgeydkaXInOiAnYXV0byd9
LCAnbHRyJywgJy13ZWJraXQtcGxhaW50ZXh0J10sCisgICAgWydwcmUnLCB7J2Rpcic6ICcnfSwg
J2x0cicsICdlbWJlZCddLAorXS5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgc2hvdWxk
QmUoJ3N0eWxlT2YoIicgKyB0ZXN0WzBdICsgJyIsICcgKyBKU09OLnN0cmluZ2lmeSh0ZXN0WzFd
KSArICcpLmRpcmVjdGlvbicsICciJyArIHRlc3RbMl0gKyAnIicpOworICAgIGNvbnRhaW5lci5p
bm5lckhUTUwgPSAnJzsKKyAgICBzaG91bGRCZSgnc3R5bGVPZigiJyArIHRlc3RbMF0gKyAnIiwg
JyArIEpTT04uc3RyaW5naWZ5KHRlc3RbMV0pICsgJykudW5pY29kZUJpZGknLCAnIicgKyB0ZXN0
WzNdICsgJyInKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="115893"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>