<?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>45020</bug_id>
          
          <creation_ts>2010-09-01 00:07:33 -0700</creation_ts>
          <short_desc>Support &quot;block-flow&quot; and &quot;writing-mode&quot;: interpret properties into RenderStyle</short_desc>
          <delta_ts>2010-09-28 23:57:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Takumi Takano">takano</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>daviseago</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>johnnyg</cc>
    
    <cc>kennyluck</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>272665</commentid>
    <comment_count>0</comment_count>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-01 00:07:33 -0700</bug_when>
    <thetext>This is a subtask bug of &lt;https://bugs.webkit.org/show_bug.cgi?id=45019&gt;.

As the first step, add code that interprets &quot;block-flow&quot; property and &quot;writing-mode&quot; property settings into a RenderStyle object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272672</commentid>
    <comment_count>1</comment_count>
      <attachid>66174</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-01 00:28:57 -0700</bug_when>
    <thetext>Created attachment 66174
Proposed patch file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272674</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-01 00:31:32 -0700</bug_when>
    <thetext>Attachment 66174 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/style/RenderStyle.h:181:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/style/RenderStyle.h:210:  _block_flow is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273440</commentid>
    <comment_count>3</comment_count>
      <attachid>66174</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-09-02 10:34:07 -0700</bug_when>
    <thetext>Comment on attachment 66174
Proposed patch file

Its not clear to me whether the style warnings are important here.  I guess _block_flow should be _blockFlow, but the other warning goes against the existing style here, so I think we should leave it as is. This generally seems ok to me, but I&apos;d like Dan or Hyatt to give it the once-over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273494</commentid>
    <comment_count>4</comment_count>
      <attachid>66174</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-02 12:16:24 -0700</bug_when>
    <thetext>Comment on attachment 66174
Proposed patch file

This patch is missing the &quot;bt&quot; value for the block-flow property.  I only see &quot;tb&quot;, &quot;rl&quot; and &quot;lr&quot;.

I&apos;d prefer descriptive names for the block flow direction rather than the abbreviations.  Instead of BFLR, BFLR, BFTB, I&apos;d prefer:

LeftToRightBlockFlow, RightToLeftBlockFlow, TopToBottomBlockFlow, BottomToTopBlockFlow

I would go ahead and add computed style support (see CSSComputedStyleDeclaration) for the new properties to this patch, since that will enable you to have actual tests that verify that the values are being parsed and inherited correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274470</commentid>
    <comment_count>5</comment_count>
      <attachid>66604</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-05 21:17:56 -0700</bug_when>
    <thetext>Created attachment 66604
Modified patch. Incorporated feedback from Adele and Dave.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274471</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-05 21:20:29 -0700</bug_when>
    <thetext>Attachment 66604 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/style/RenderStyle.h:181:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/style/RenderStyle.h:210:  _blockFlow is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274750</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-06 12:29:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=66604) [details]
&gt; Modified patch. Incorporated feedback from Adele and Dave.

It seems like this patch doesn&apos;t have any tests. Is that because this doesn&apos;t implement the feature but just adds support to the parser?  As hyatt suggested, I think you can still test the parser by calling set property value and getting computed style back.  Also, why are we only supporting -webkit-writing-mode and not writing-mode?  Is that a standard procedure when we add a support for new feature?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275097</commentid>
    <comment_count>8</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-09-07 09:50:20 -0700</bug_when>
    <thetext>Its standard procedure if a property is in a draft specification and is likely to change in the future.

(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; Created an attachment (id=66604) [details] [details]
&gt; &gt; Modified patch. Incorporated feedback from Adele and Dave.
&gt; 
&gt; It seems like this patch doesn&apos;t have any tests. Is that because this doesn&apos;t implement the feature but just adds support to the parser?  As hyatt suggested, I think you can still test the parser by calling set property value and getting computed style back.  Also, why are we only supporting -webkit-writing-mode and not writing-mode?  Is that a standard procedure when we add a support for new feature?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275115</commentid>
    <comment_count>9</comment_count>
      <attachid>66604</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-07 10:11:05 -0700</bug_when>
    <thetext>Comment on attachment 66604
Modified patch. Incorporated feedback from Adele and Dave.

(1) You need to move all of the value keywords for writing-mode and block-flow out of SVGCSSValueKeywords.in, so that your code will compile even when ENABLE(SVG) is false.  I&apos;m not sure what some of them are doing in that file anyway.  Just move them all over to the main CSS keywords file.

(2) You need to patch the RenderStyle::diff() method to make sure changes in block-flow trigger a layout.

(3) I&apos;d still like to see computed style support added (CSSComputedStyleDeclaration.cpp).

(4) Once you add computed style support in (3), you can add some layout tests to this patch as well.  I&apos;d suggest fast/text/vertical as a good place for new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275119</commentid>
    <comment_count>10</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-09-07 10:13:20 -0700</bug_when>
    <thetext>You can read some general info about creating tests here: http://webkit.org/quality/testwriting.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275754</commentid>
    <comment_count>11</comment_count>
      <attachid>66881</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-08 04:44:32 -0700</bug_when>
    <thetext>Created attachment 66881
Another modified patch

Incorporated Dave&apos;s feedback. Added a test to check if the parser correctly write/retrieve block-flow values to/from RenderStyle object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275757</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-08 04:47:08 -0700</bug_when>
    <thetext>Attachment 66881 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/style/RenderStyle.h:181:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/style/RenderStyle.h:210:  _blockFlow is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278479</commentid>
    <comment_count>13</comment_count>
      <attachid>66881</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-13 14:25:19 -0700</bug_when>
    <thetext>Comment on attachment 66881
Another modified patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278482</commentid>
    <comment_count>14</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-13 14:26:22 -0700</bug_when>
    <thetext>Keep in mind that all the computed style tests will start failing when you land this, so you&apos;ll need to fix those as well.  There are 3-4 of them, and they&apos;ll be really obvious if you just run-webkit-tests before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278492</commentid>
    <comment_count>15</comment_count>
      <attachid>66881</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-13 14:51:15 -0700</bug_when>
    <thetext>Comment on attachment 66881
Another modified patch

Changing this to a minus, since the patch needs the revised results for the various computed style tests before it can be landed via commit-queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279474</commentid>
    <comment_count>16</comment_count>
      <attachid>67659</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-15 02:24:00 -0700</bug_when>
    <thetext>Created attachment 67659
New patch file: incorporated Dave&apos;s feedback on computed style tests

Incorporated Dave&apos;s feedback on computed style tests. I revised expected result files at the top level of LayoutTests directory but haven&apos;t changed results in each platform. Is this okay?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279476</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-15 02:29:39 -0700</bug_when>
    <thetext>Attachment 67659 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/style/RenderStyle.h:181:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/style/RenderStyle.h:210:  _blockFlow is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279477</commentid>
    <comment_count>18</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-15 02:31:13 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I revised expected result files at the top level of LayoutTests directory but haven&apos;t changed results in each platform. Is this okay?

It should be ok.  These test results are platform-neutral.

&gt; Index: LayoutTests/fast/text/international/block-flow-parser-test.html
&gt; ===================================================================
&gt; --- LayoutTests/fast/text/international/block-flow-parser-test.html	(revision 0)
&gt; +++ LayoutTests/fast/text/international/block-flow-parser-test.html	(revision 0)
&gt; @@ -0,0 +1,39 @@
&gt; +&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; 
&gt; +&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&gt; +&lt;html&gt;
&gt; +&lt;head&gt;
&gt; +&lt;title&gt;block-flow parser test&lt;/title&gt;
&gt; +&lt;script&gt;
&gt; +function print(message)
&gt; +{
&gt; +    var paragraph = document.createElement(&quot;li&quot;);
&gt; +    paragraph.appendChild(document.createTextNode(message));
&gt; +    document.getElementById(&quot;console&quot;).appendChild(paragraph);
&gt; +}

We have a lot of helper functions in LayoutTests/fast/js/resources/js-test-pre.js.  You may use it in this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280309</commentid>
    <comment_count>19</comment_count>
      <attachid>67659</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-16 13:32:26 -0700</bug_when>
    <thetext>Comment on attachment 67659
New patch file: incorporated Dave&apos;s feedback on computed style tests

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280365</commentid>
    <comment_count>20</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-16 14:37:28 -0700</bug_when>
    <thetext>Landed in r67667.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280416</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-16 15:47:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67667 might have broken SnowLeopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280460</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-16 17:10:41 -0700</bug_when>
    <thetext>This resulted in a bunch of layout test failures:

http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r67673%20(17683)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280507</commentid>
    <comment_count>23</comment_count>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-16 19:17:03 -0700</bug_when>
    <thetext>Oops, this is a side effect of moving svg writing-mode values to standard css value definition. Working on...

(In reply to comment #22)
&gt; This resulted in a bunch of layout test failures:
&gt; 
&gt; http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r67673%20(17683)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280532</commentid>
    <comment_count>24</comment_count>
      <attachid>67881</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-09-16 21:43:21 -0700</bug_when>
    <thetext>Created attachment 67881
Patch to fix the above SVG test regression</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280547</commentid>
    <comment_count>25</comment_count>
      <attachid>67881</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-16 23:08:52 -0700</bug_when>
    <thetext>Comment on attachment 67881
Patch to fix the above SVG test regression

The patch looks good.  I&apos;ll confirm the patch fixes the tests and commit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280548</commentid>
    <comment_count>26</comment_count>
      <attachid>67881</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-16 23:23:14 -0700</bug_when>
    <thetext>Comment on attachment 67881
Patch to fix the above SVG test regression

Landed as r67695.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280689</commentid>
    <comment_count>27</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-09-17 09:42:49 -0700</bug_when>
    <thetext>*** Bug 45947 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66174</attachid>
            <date>2010-09-01 00:28:57 -0700</date>
            <delta_ts>2010-09-08 04:44:32 -0700</delta_ts>
            <desc>Proposed patch file</desc>
            <filename>WK45020Patch.txt</filename>
            <type>text/plain</type>
            <size>9295</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjU4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDktMDEgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMAorICAgICAg
ICBTdXBwb3J0ICJibG9jay1mbG93IiBhbmQgIndyaXRpbmctbW9kZSI6IGludGVycHJldCBwcm9w
ZXJ0aWVzIGludG8gUmVuZGVyU3R5bGUKKworICAgICAgICBBZGRlZCBjb2RlIHRoYXQgaW50ZXJw
cmV0cyAiYmxvY2stZmxvdyIgcHJvcGVydHkgYW5kICJ3cml0aW5nLW1vZGUiIHByb3BlcnR5IHNl
dHRpbmdzCisgICAgICAgIGludG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1
ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJsb2NrRmxvd0RpcmVjdGlv
bik6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6
CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0Qml0RGVmYXVsdHMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmJsb2NrRmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0QmxvY2tGbG93KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjppbml0aWFsQmxvY2tGbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKwogMjAxMC0wOC0zMSAgSnVzdGluIEdhcmNpYSAg
PGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJu
c3RlaW4uCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDY2NDQ5KQorKysgV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyMiw2ICsxNzIyLDE5IEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGIKICAgICAgICAgYnJlYWs7CiAjZW5k
aWYKIAorICAgIC8vIENTUyBUZXh0IExheW91dCBNb2R1bGUgTGV2ZWwgMzogVmVydGljYWwgd3Jp
dGluZyBzdXBwb3J0CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJsb2NrRmxvdzoKKyAgICAg
ICAgLy8gWyAidGIiIHwgInJsIiB8ICJsciIgLyp8ICJidCIqLyBdCisgICAgICAgIGlmIChpZCA9
PSBDU1NWYWx1ZVRiIHx8IGlkID09IENTU1ZhbHVlUmwgfHwgaWQgPT0gQ1NTVmFsdWVMcikKKyAg
ICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0V3JpdGluZ01vZGU6CisgICAgICAgIC8vIFsgImxyLXRiIiB8
ICJybC10YiIgfCAidGItcmwiIC8qfCAiYnQtcmwiIHwgInRiLWxyIiB8ICJidC1sciIqLyBdCisg
ICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZUxyVGIgfHwgaWQgPT0gQ1NTVmFsdWVSbFRiIHx8IGlk
ID09IENTU1ZhbHVlVGJSbCkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAg
ICAgICAgYnJlYWs7CisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBwYXJzZVNWR1ZhbHVlKHByb3BJZCwgaW1wb3J0YW50KTsKSW5kZXg6IFdlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDY2NDQ5KQorKysgV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAzLDYg
KzIwMDMsMzggQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZQogICAg
IH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKEVCbG9ja0Zsb3dEaXJlY3Rpb24gZSkKKyAgICA6IG1fdHlwZShDU1NfSURFTlQpCisg
ICAgLCBtX2hhc0NhY2hlZENTU1RleHQoZmFsc2UpCit7CisgICAgc3dpdGNoIChlKSB7CisgICAg
Y2FzZSBCRkxSOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVMcjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBCRlJMOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVS
bDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBCRlRCOgorICAgICAgICBtX3ZhbHVlLmlkZW50
ID0gQ1NTVmFsdWVUYjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJsb2NrRmxvd0RpcmVjdGlvbigpIGNv
bnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1ZUxy
OgorICAgICAgICByZXR1cm4gQkZMUjsKKyAgICBjYXNlIENTU1ZhbHVlUmw6CisgICAgICAgIHJl
dHVybiBCRlJMOworICAgIGNhc2UgQ1NTVmFsdWVUYjoKKyAgICAgICAgcmV0dXJuIEJGVEI7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBCRkxSOworICAgIH0KK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZlbnRzIGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lE
RU5UKQogICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0KGZhbHNlKQpJbmRleDogV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCShyZXZpc2lvbiA2NjQ0OSkKKysrIFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOCBAQCB6LWluZGV4CiAjIGEgc2lu
Z2xlIHZhbHVlOiAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogbDsgaXMgZXF1aXZhbGVudCB0byBi
YWNrZ3JvdW5kLXNpemU6IGwgbDsKICMgd2hlcmVhcyBiYWNrZ3JvdW5kLXNpemU6IGw7IGlzIGVx
dWl2YWxlbnQgdG8gYmFja2dyb3VuZC1zaXplOiBsIGF1dG87CiAtd2Via2l0LWJhY2tncm91bmQt
c2l6ZQorIyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcg
c3VwcG9ydAorLXdlYmtpdC1ibG9jay1mbG93CiAtd2Via2l0LWJvcmRlci1lbmQKIC13ZWJraXQt
Ym9yZGVyLWVuZC1jb2xvcgogLXdlYmtpdC1ib3JkZXItZW5kLXN0eWxlCkBAIC0yNzUsMyArMjc3
LDUgQEAgei1pbmRleAogLXdlYmtpdC11c2VyLW1vZGlmeQogLXdlYmtpdC11c2VyLXNlbGVjdAog
LXdlYmtpdC12YXJpYWJsZS1kZWNsYXJhdGlvbi1ibG9jaworIyBDU1MgVGV4dCBMYXlvdXQgTW9k
dWxlIExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAorLXdlYmtpdC13cml0aW5nLW1v
ZGUKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA2NjQ0OSkKKysrIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTMxLDYg
KzU1MzEsNDEgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAg
ICAgICByZXR1cm47CiAjZW5kaWYgCiAKKyAgICAvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExl
dmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRCbG9ja0Zsb3c6CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklN
SVRJVkUoYmxvY2tGbG93LCBCbG9ja0Zsb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRXcml0aW5nTW9kZToKKyAgICAgICAgLy8gVGhlICd3cml0aW5nLW1v
ZGUnIHByb3BlcnR5IGlzIGEgc2hvcnRoYW5kIHByb3BlcnR5IGZvciB0aGUgJ2RpcmVjdGlvbicg
cHJvcGVydHkgYW5kIHRoZSAnYmxvY2stZmxvdycgcHJvcGVydHkuIAorICAgICAgICBpZiAoaXNJ
bmhlcml0KSB7CisgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24obV9wYXJlbnRTdHls
ZS0+ZGlyZWN0aW9uKCkpOworICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KG1fcGFy
ZW50U3R5bGUtPmJsb2NrRmxvdygpKTsKKyAgICAgICAgfSBlbHNlIGlmIChpc0luaXRpYWwpIHsK
KyAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihtX3N0eWxlLT5pbml0aWFsRGlyZWN0
aW9uKCkpOworICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KG1fc3R5bGUtPmluaXRp
YWxCbG9ja0Zsb3coKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIXByaW1p
dGl2ZVZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHN3aXRjaCAo
cHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVM
clRiOgorICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihMVFIpOworICAgICAg
ICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxvdyhCRlRCKTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVSbFRiOgorICAgICAgICAgICAgICAgIG1f
c3R5bGUtPnNldERpcmVjdGlvbihSVEwpOworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJs
b2NrRmxvdyhCRlRCKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVUYlJsOgorICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihMVFIp
OworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxvdyhCRlJMKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworCiAjaWYgRU5B
QkxFKFNWRykKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBUcnkgdGhlIFNWRyBwcm9wZXJ0aWVz
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDY2NDQ5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTc4LDcgKzE3OCw4IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICAgICAgICAoX3Zp
c3VhbGx5T3JkZXJlZCA9PSBvdGhlci5fdmlzdWFsbHlPcmRlcmVkKSAmJgogICAgICAgICAgICAg
ICAgICAgIChfZm9yY2VfYmFja2dyb3VuZHNfdG9fd2hpdGUgPT0gb3RoZXIuX2ZvcmNlX2JhY2tn
cm91bmRzX3RvX3doaXRlKSAmJgogICAgICAgICAgICAgICAgICAgIChfcG9pbnRlckV2ZW50cyA9
PSBvdGhlci5fcG9pbnRlckV2ZW50cykgJiYKLSAgICAgICAgICAgICAgICAgICAoX2luc2lkZUxp
bmsgPT0gb3RoZXIuX2luc2lkZUxpbmspOworICAgICAgICAgICAgICAgICAgIChfaW5zaWRlTGlu
ayA9PSBvdGhlci5faW5zaWRlTGluaykgJiYKKyAgICAgICAgICAgICAgICAgICAoX2Jsb2NrX2Zs
b3cgPT0gb3RoZXIuX2Jsb2NrX2Zsb3cpOwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBvcGVy
YXRvciE9KGNvbnN0IEluaGVyaXRlZEZsYWdzJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhp
cyA9PSBvdGhlcik7IH0KQEAgLTIwNCw2ICsyMDUsMTAgQEAgcHJvdGVjdGVkOgogICAgICAgICB1
bnNpZ25lZCBfcG9pbnRlckV2ZW50cyA6IDQ7IC8vIEVQb2ludGVyRXZlbnRzCiAgICAgICAgIHVu
c2lnbmVkIF9pbnNpZGVMaW5rIDogMjsgLy8gRUluc2lkZUxpbmsKICAgICAgICAgLy8gNDMgYml0
cworCisgICAgICAgIC8vIENTUyBUZXh0IExheW91dCBNb2R1bGUgTGV2ZWwgMzogVmVydGljYWwg
d3JpdGluZyBzdXBwb3J0CisgICAgICAgIHVuc2lnbmVkIF9ibG9ja19mbG93IDogMjsgLy8gRUJs
b2NrRmxvdworICAgICAgICAvLyA0NSBiaXRzCiAgICAgfSBpbmhlcml0ZWRfZmxhZ3M7CiAKIC8v
IGRvbid0IGluaGVyaXQKQEAgLTI3OSw2ICsyODQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGlu
aGVyaXRlZF9mbGFncy5fZm9yY2VfYmFja2dyb3VuZHNfdG9fd2hpdGUgPSBmYWxzZTsKICAgICAg
ICAgaW5oZXJpdGVkX2ZsYWdzLl9wb2ludGVyRXZlbnRzID0gaW5pdGlhbFBvaW50ZXJFdmVudHMo
KTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5rID0gTm90SW5zaWRlTGluazsK
KyAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9ibG9ja19mbG93ID0gaW5pdGlhbEJsb2NrRmxvdygp
OwogCiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fZWZmZWN0aXZlRGlzcGxheSA9IG5vbmlu
aGVyaXRlZF9mbGFncy5fb3JpZ2luYWxEaXNwbGF5ID0gaW5pdGlhbERpc3BsYXkoKTsKICAgICAg
ICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1ggPSBpbml0aWFsT3ZlcmZsb3dYKCk7CkBA
IC03MTIsNiArNzE4LDggQEAgcHVibGljOgogICAgIGJvb2wgdGV4dFNpemVBZGp1c3QoKSBjb25z
dCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNpemVBZGp1c3Q7IH0KICAgICBFVGV4
dFNlY3VyaXR5IHRleHRTZWN1cml0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUZXh0
U2VjdXJpdHk+KHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2VjdXJpdHkpOyB9CiAKKyAgICBFQmxv
Y2tGbG93RGlyZWN0aW9uIGJsb2NrRmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVC
bG9ja0Zsb3dEaXJlY3Rpb24+KGluaGVyaXRlZF9mbGFncy5fYmxvY2tfZmxvdyk7IH0KKwogLy8g
YXR0cmlidXRlIHNldHRlciBtZXRob2RzCiAKICAgICB2b2lkIHNldERpc3BsYXkoRURpc3BsYXkg
dikgeyBub25pbmhlcml0ZWRfZmxhZ3MuX2VmZmVjdGl2ZURpc3BsYXkgPSB2OyB9CkBAIC0xMDgy
LDYgKzEwOTAsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICBvcmlnaW5hbERpc3BsYXkoKSA9
PSBJTkxJTkVfQk9YIHx8IG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9UQUJMRTsKICAgICB9
CiAKKyAgICB2b2lkIHNldEJsb2NrRmxvdyhFQmxvY2tGbG93RGlyZWN0aW9uIHYpIHsgaW5oZXJp
dGVkX2ZsYWdzLl9ibG9ja19mbG93ID0gdjsgfQorCiAgICAgLy8gVG8gdGVsbCBpZiB0aGlzIHN0
eWxlIG1hdGNoZWQgYXR0cmlidXRlIHNlbGVjdG9ycy4gVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxl
IHRvIHNoYXJlLgogICAgIGJvb2wgYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycygpIGNvbnN0
IHsgcmV0dXJuIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9yczsgfQogICAgIHZvaWQgc2V0
QWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycygpIHsgbV9hZmZlY3RlZEJ5QXR0cmlidXRlU2Vs
ZWN0b3JzID0gdHJ1ZTsgfQpAQCAtMTEyMSw2ICsxMTMxLDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBFQ2FwdGlvblNpZGUgaW5pdGlhbENhcHRpb25TaWRlKCkgeyByZXR1cm4gQ0FQVE9QOyB9CiAg
ICAgc3RhdGljIEVDbGVhciBpbml0aWFsQ2xlYXIoKSB7IHJldHVybiBDTk9ORTsgfQogICAgIHN0
YXRpYyBUZXh0RGlyZWN0aW9uIGluaXRpYWxEaXJlY3Rpb24oKSB7IHJldHVybiBMVFI7IH0KKyAg
ICBzdGF0aWMgRUJsb2NrRmxvd0RpcmVjdGlvbiBpbml0aWFsQmxvY2tGbG93KCkgeyByZXR1cm4g
QkZMUjsgfQogICAgIHN0YXRpYyBFRGlzcGxheSBpbml0aWFsRGlzcGxheSgpIHsgcmV0dXJuIElO
TElORTsgfQogICAgIHN0YXRpYyBFRW1wdHlDZWxsIGluaXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1
cm4gU0hPVzsgfQogICAgIHN0YXRpYyBFRmxvYXQgaW5pdGlhbEZsb2F0aW5nKCkgeyByZXR1cm4g
Rk5PTkU7IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3Rh
bnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaAkocmV2aXNpb24gNjY0NDkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZUNvbnN0YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDExIEBA
IGVudW0gRVVuaWNvZGVCaWRpIHsKICAgICBVQk5vcm1hbCwgRW1iZWQsIE92ZXJyaWRlCiB9Owog
CisvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3Vw
cG9ydAorZW51bSBFQmxvY2tGbG93RGlyZWN0aW9uIHsKKyAgICBCRkxSLCBCRlJMLCBCRlRCCit9
OworCiBlbnVtIEVGaWxsQXR0YWNobWVudCB7CiAgICAgU2Nyb2xsQmFja2dyb3VuZEF0dGFjaG1l
bnQsIExvY2FsQmFja2dyb3VuZEF0dGFjaG1lbnQsIEZpeGVkQmFja2dyb3VuZEF0dGFjaG1lbnQK
IH07Cg==
</data>
<flag name="review"
          id="55110"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66604</attachid>
            <date>2010-09-05 21:17:56 -0700</date>
            <delta_ts>2010-09-08 04:44:32 -0700</delta_ts>
            <desc>Modified patch. Incorporated feedback from Adele and Dave.</desc>
            <filename>WK45020Patch_100906.txt</filename>
            <type>text/plain</type>
            <size>10597</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDktMDUgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMAorICAgICAg
ICBTdXBwb3J0ICJibG9jay1mbG93IiBhbmQgIndyaXRpbmctbW9kZSI6IGludGVycHJldCBwcm9w
ZXJ0aWVzIGludG8gUmVuZGVyU3R5bGUKKworICAgICAgICBBZGRlZCBjb2RlIHRoYXQgaW50ZXJw
cmV0cyAiYmxvY2stZmxvdyIgcHJvcGVydHkgYW5kICJ3cml0aW5nLW1vZGUiIHByb3BlcnR5IHNl
dHRpbmdzCisgICAgICAgIGludG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1
ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJsb2NrRmxvd0RpcmVjdGlv
bik6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6c2V0Qml0RGVmYXVsdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5o
ZXJpdGVkRmxhZ3M6OmJsb2NrRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFn
czo6c2V0QmxvY2tGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0
aWFsQmxvY2tGbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaDoKKwogMjAxMC0wOS0wNSAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOYXRlIENoYXBpbi4KSW5kZXg6IFdlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAko
cmV2aXNpb24gNjY4MDcpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzIyLDYgKzE3MjIsMTkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50
IHByb3BJZCwgYgogICAgICAgICBicmVhazsKICNlbmRpZgogCisgICAgLy8gQ1NTIFRleHQgTGF5
b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QmxvY2tGbG93OgorICAgICAgICAvLyBbICJ0YiIgfCAicmwiIHwgImxy
IiB8ICJidCIgXQorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVUYiB8fCBpZCA9PSBDU1NWYWx1
ZVJsIHx8IGlkID09IENTU1ZhbHVlTHIgfHwgaWQgPT0gQ1NTVmFsdWVCdCkKKyAgICAgICAgICAg
IHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0V3JpdGluZ01vZGU6CisgICAgICAgIC8vIFsgImxyLXRiIiB8ICJybC10YiIg
fCAidGItcmwiIHwgImJ0LXJsIiB8ICJ0Yi1sciIgfCAiYnQtbHIiIF0KKyAgICAgICAgaWYgKGlk
ID09IENTU1ZhbHVlTHJUYiB8fCBpZCA9PSBDU1NWYWx1ZVJsVGIgfHwgaWQgPT0gQ1NTVmFsdWVU
YlJsIHx8IGlkID09IENTU1ZhbHVlQnRSbCB8fCBpZCA9PSBDU1NWYWx1ZVRiTHIgfHwgaWQgPT0g
Q1NTVmFsdWVCdExyKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAg
ICBicmVhazsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJu
IHBhcnNlU1ZHVmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNjY4MDcpCisrKyBXZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMDMsNiArMjAw
Myw0MyBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgfQog
fQogCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUoRUJsb2NrRmxvd0RpcmVjdGlvbiBlKQorICAgIDogbV90eXBlKENTU19JREVOVCkKKyAgICAs
IG1faGFzQ2FjaGVkQ1NTVGV4dChmYWxzZSkKK3sKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNl
IExlZnRUb1JpZ2h0QmxvY2tGbG93OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVM
cjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSaWdodFRvTGVmdEJsb2NrRmxvdzoKKyAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlUmw7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
VG9wVG9Cb3R0b21CbG9ja0Zsb3c6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVRi
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEJvdHRvbVRvVG9wQmxvY2tGbG93OgorICAgICAg
ICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVCdDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQor
Cit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJsb2NrRmxv
d0RpcmVjdGlvbigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAg
Y2FzZSBDU1NWYWx1ZUxyOgorICAgICAgICByZXR1cm4gTGVmdFRvUmlnaHRCbG9ja0Zsb3c7Cisg
ICAgY2FzZSBDU1NWYWx1ZVJsOgorICAgICAgICByZXR1cm4gUmlnaHRUb0xlZnRCbG9ja0Zsb3c7
CisgICAgY2FzZSBDU1NWYWx1ZVRiOgorICAgICAgICByZXR1cm4gVG9wVG9Cb3R0b21CbG9ja0Zs
b3c7CisgICAgY2FzZSBDU1NWYWx1ZUJ0OgorICAgICAgICByZXR1cm4gQm90dG9tVG9Ub3BCbG9j
a0Zsb3c7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBMZWZ0VG9SaWdodEJsb2NrRmxvdzsKKyAgICB9Cit9CisKIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFUG9pbnRlckV2ZW50
cyBlKQogICAgIDogbV90eXBlKENTU19JREVOVCkKICAgICAsIG1faGFzQ2FjaGVkQ1NTVGV4dChm
YWxzZSkKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkocmV2aXNpb24gNjY4MDcpCisrKyBX
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNiAr
MTczLDggQEAgei1pbmRleAogIyBhIHNpbmdsZSB2YWx1ZTogLXdlYmtpdC1iYWNrZ3JvdW5kLXNp
emU6IGw7IGlzIGVxdWl2YWxlbnQgdG8gYmFja2dyb3VuZC1zaXplOiBsIGw7CiAjIHdoZXJlYXMg
YmFja2dyb3VuZC1zaXplOiBsOyBpcyBlcXVpdmFsZW50IHRvIGJhY2tncm91bmQtc2l6ZTogbCBh
dXRvOwogLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUKKyMgQ1NTIFRleHQgTGF5b3V0IE1vZHVsZSBM
ZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKy13ZWJraXQtYmxvY2stZmxvdwogLXdl
YmtpdC1ib3JkZXItZW5kCiAtd2Via2l0LWJvcmRlci1lbmQtY29sb3IKIC13ZWJraXQtYm9yZGVy
LWVuZC1zdHlsZQpAQCAtMjc1LDMgKzI3Nyw1IEBAIHotaW5kZXgKIC13ZWJraXQtdXNlci1tb2Rp
ZnkKIC13ZWJraXQtdXNlci1zZWxlY3QKIC13ZWJraXQtdmFyaWFibGUtZGVjbGFyYXRpb24tYmxv
Y2sKKyMgQ1NTIFRleHQgTGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1
cHBvcnQKKy13ZWJraXQtd3JpdGluZy1tb2RlCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAkocmV2aXNpb24gNjY4MDcpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTUyNSw2ICs1NTI1LDUzIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rv
cjo6YXBwbHlQcm9wZXJ0eShpbnQKICAgICAgICAgcmV0dXJuOwogI2VuZGlmIAogCisgICAgLy8g
Q1NTIFRleHQgTGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQK
KyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxvY2tGbG93OgorICAgICAgICBIQU5ETEVfSU5I
RVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGJsb2NrRmxvdywgQmxvY2tGbG93KQorICAg
ICAgICByZXR1cm47CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JpdGluZ01vZGU6Cisg
ICAgICAgIC8vIFRoZSAnd3JpdGluZy1tb2RlJyBwcm9wZXJ0eSBpcyBhIHNob3J0aGFuZCBwcm9w
ZXJ0eSBmb3IgdGhlICdkaXJlY3Rpb24nIHByb3BlcnR5IGFuZCB0aGUgJ2Jsb2NrLWZsb3cnIHBy
b3BlcnR5LiAKKyAgICAgICAgaWYgKGlzSW5oZXJpdCkgeworICAgICAgICAgICAgbV9zdHlsZS0+
c2V0RGlyZWN0aW9uKG1fcGFyZW50U3R5bGUtPmRpcmVjdGlvbigpKTsKKyAgICAgICAgICAgIG1f
c3R5bGUtPnNldEJsb2NrRmxvdyhtX3BhcmVudFN0eWxlLT5ibG9ja0Zsb3coKSk7CisgICAgICAg
IH0gZWxzZSBpZiAoaXNJbml0aWFsKSB7CisgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rp
b24obV9zdHlsZS0+aW5pdGlhbERpcmVjdGlvbigpKTsKKyAgICAgICAgICAgIG1fc3R5bGUtPnNl
dEJsb2NrRmxvdyhtX3N0eWxlLT5pbml0aWFsQmxvY2tGbG93KCkpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICBzd2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpKSB7Cisg
ICAgICAgICAgICBjYXNlIENTU1ZhbHVlTHJUYjoKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5z
ZXREaXJlY3Rpb24oTFRSKTsKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXRCbG9ja0Zsb3co
VG9wVG9Cb3R0b21CbG9ja0Zsb3cpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgY2FzZSBDU1NWYWx1ZVJsVGI6CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0
aW9uKFJUTCk7CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KFRvcFRvQm90
dG9tQmxvY2tGbG93KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVUYlJsOgorICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihMVFIp
OworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxvdyhSaWdodFRvTGVmdEJsb2Nr
Rmxvdyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVl
QnRSbDoKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24oUlRMKTsKKyAgICAg
ICAgICAgICAgICBtX3N0eWxlLT5zZXRCbG9ja0Zsb3coUmlnaHRUb0xlZnRCbG9ja0Zsb3cpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZVRiTHI6Cisg
ICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKExUUik7CisgICAgICAgICAgICAg
ICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KExlZnRUb1JpZ2h0QmxvY2tGbG93KTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVCdExyOgorICAgICAgICAg
ICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihSVEwpOworICAgICAgICAgICAgICAgIG1fc3R5
bGUtPnNldEJsb2NrRmxvdyhMZWZ0VG9SaWdodEJsb2NrRmxvdyk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKwogI2lmIEVOQUJMRShTVkcp
CiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gVHJ5IHRoZSBTVkcgcHJvcGVydGllcwpJbmRleDog
V2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUv
Y3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI4Miw2ICsyODIs
MTAgQEAgbm9uLXNjYWxpbmctc3Ryb2tlCiBsci10YgogcmwtdGIKIHRiLXJsCitidC1ybAordGIt
bHIKK2J0LWxyCiBscgogcmwKIHRiCitidApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OCw3ICsxNzgsOCBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgICAgICAgICAgICAgKF92aXN1YWxseU9yZGVyZWQgPT0gb3RoZXIuX3Zpc3VhbGx5
T3JkZXJlZCkgJiYKICAgICAgICAgICAgICAgICAgICAoX2ZvcmNlX2JhY2tncm91bmRzX3RvX3do
aXRlID09IG90aGVyLl9mb3JjZV9iYWNrZ3JvdW5kc190b193aGl0ZSkgJiYKICAgICAgICAgICAg
ICAgICAgICAoX3BvaW50ZXJFdmVudHMgPT0gb3RoZXIuX3BvaW50ZXJFdmVudHMpICYmCi0gICAg
ICAgICAgICAgICAgICAgKF9pbnNpZGVMaW5rID09IG90aGVyLl9pbnNpZGVMaW5rKTsKKyAgICAg
ICAgICAgICAgICAgICAoX2luc2lkZUxpbmsgPT0gb3RoZXIuX2luc2lkZUxpbmspICYmCisgICAg
ICAgICAgICAgICAgICAgKF9ibG9ja0Zsb3cgPT0gb3RoZXIuX2Jsb2NrRmxvdyk7CiAgICAgICAg
IH0KIAogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5oZXJpdGVkRmxhZ3MmIG90aGVy
KSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQpAQCAtMjA0LDYgKzIwNSwxMCBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF9wb2ludGVyRXZlbnRzIDogNDsgLy8gRVBv
aW50ZXJFdmVudHMKICAgICAgICAgdW5zaWduZWQgX2luc2lkZUxpbmsgOiAyOyAvLyBFSW5zaWRl
TGluawogICAgICAgICAvLyA0MyBiaXRzCisKKyAgICAgICAgLy8gQ1NTIFRleHQgTGF5b3V0IE1v
ZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKyAgICAgICAgdW5zaWduZWQg
X2Jsb2NrRmxvdyA6IDI7IC8vIEVCbG9ja0Zsb3cKKyAgICAgICAgLy8gNDUgYml0cwogICAgIH0g
aW5oZXJpdGVkX2ZsYWdzOwogCiAvLyBkb24ndCBpbmhlcml0CkBAIC0yNzksNiArMjg0LDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2ZvcmNlX2JhY2tncm91bmRzX3Rv
X3doaXRlID0gZmFsc2U7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fcG9pbnRlckV2ZW50cyA9
IGluaXRpYWxQb2ludGVyRXZlbnRzKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5faW5zaWRl
TGluayA9IE5vdEluc2lkZUxpbms7CisgICAgICAgIGluaGVyaXRlZF9mbGFncy5fYmxvY2tGbG93
ID0gaW5pdGlhbEJsb2NrRmxvdygpOwogCiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fZWZm
ZWN0aXZlRGlzcGxheSA9IG5vbmluaGVyaXRlZF9mbGFncy5fb3JpZ2luYWxEaXNwbGF5ID0gaW5p
dGlhbERpc3BsYXkoKTsKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1ggPSBp
bml0aWFsT3ZlcmZsb3dYKCk7CkBAIC03MTIsNiArNzE4LDggQEAgcHVibGljOgogICAgIGJvb2wg
dGV4dFNpemVBZGp1c3QoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNp
emVBZGp1c3Q7IH0KICAgICBFVGV4dFNlY3VyaXR5IHRleHRTZWN1cml0eSgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEVUZXh0U2VjdXJpdHk+KHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2Vj
dXJpdHkpOyB9CiAKKyAgICBFQmxvY2tGbG93RGlyZWN0aW9uIGJsb2NrRmxvdygpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEVCbG9ja0Zsb3dEaXJlY3Rpb24+KGluaGVyaXRlZF9mbGFncy5f
YmxvY2tGbG93KTsgfQorCiAvLyBhdHRyaWJ1dGUgc2V0dGVyIG1ldGhvZHMKIAogICAgIHZvaWQg
c2V0RGlzcGxheShFRGlzcGxheSB2KSB7IG5vbmluaGVyaXRlZF9mbGFncy5fZWZmZWN0aXZlRGlz
cGxheSA9IHY7IH0KQEAgLTEwODcsNiArMTA5NSw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAg
IG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9CT1ggfHwgb3JpZ2luYWxEaXNwbGF5KCkgPT0g
SU5MSU5FX1RBQkxFOwogICAgIH0KIAorICAgIHZvaWQgc2V0QmxvY2tGbG93KEVCbG9ja0Zsb3dE
aXJlY3Rpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX2Jsb2NrRmxvdyA9IHY7IH0KKwogICAgIC8v
IFRvIHRlbGwgaWYgdGhpcyBzdHlsZSBtYXRjaGVkIGF0dHJpYnV0ZSBzZWxlY3RvcnMuIFRoaXMg
bWFrZXMgaXQgaW1wb3NzaWJsZSB0byBzaGFyZS4KICAgICBib29sIGFmZmVjdGVkQnlBdHRyaWJ1
dGVTZWxlY3RvcnMoKSBjb25zdCB7IHJldHVybiBtX2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3Rv
cnM7IH0KICAgICB2b2lkIHNldEFmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMoKSB7IG1fYWZm
ZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyA9IHRydWU7IH0KQEAgLTExMjYsNiArMTEzNiw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgRUNhcHRpb25TaWRlIGluaXRpYWxDYXB0aW9uU2lkZSgpIHsg
cmV0dXJuIENBUFRPUDsgfQogICAgIHN0YXRpYyBFQ2xlYXIgaW5pdGlhbENsZWFyKCkgeyByZXR1
cm4gQ05PTkU7IH0KICAgICBzdGF0aWMgVGV4dERpcmVjdGlvbiBpbml0aWFsRGlyZWN0aW9uKCkg
eyByZXR1cm4gTFRSOyB9CisgICAgc3RhdGljIEVCbG9ja0Zsb3dEaXJlY3Rpb24gaW5pdGlhbEJs
b2NrRmxvdygpIHsgcmV0dXJuIExlZnRUb1JpZ2h0QmxvY2tGbG93OyB9CiAgICAgc3RhdGljIEVE
aXNwbGF5IGluaXRpYWxEaXNwbGF5KCkgeyByZXR1cm4gSU5MSU5FOyB9CiAgICAgc3RhdGljIEVF
bXB0eUNlbGwgaW5pdGlhbEVtcHR5Q2VsbHMoKSB7IHJldHVybiBTSE9XOyB9CiAgICAgc3RhdGlj
IEVGbG9hdCBpbml0aWFsRmxvYXRpbmcoKSB7IHJldHVybiBGTk9ORTsgfQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCShyZXZpc2lvbiA2
NjgwNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOCw2ICsxMjgsMTEgQEAgZW51bSBFVW5pY29kZUJpZGkgewog
ICAgIFVCTm9ybWFsLCBFbWJlZCwgT3ZlcnJpZGUKIH07CiAKKy8vIENTUyBUZXh0IExheW91dCBN
b2R1bGUgTGV2ZWwgMzogVmVydGljYWwgd3JpdGluZyBzdXBwb3J0CitlbnVtIEVCbG9ja0Zsb3dE
aXJlY3Rpb24geworICAgIExlZnRUb1JpZ2h0QmxvY2tGbG93LCBSaWdodFRvTGVmdEJsb2NrRmxv
dywgVG9wVG9Cb3R0b21CbG9ja0Zsb3csIEJvdHRvbVRvVG9wQmxvY2tGbG93Cit9OworCiBlbnVt
IEVGaWxsQXR0YWNobWVudCB7CiAgICAgU2Nyb2xsQmFja2dyb3VuZEF0dGFjaG1lbnQsIExvY2Fs
QmFja2dyb3VuZEF0dGFjaG1lbnQsIEZpeGVkQmFja2dyb3VuZEF0dGFjaG1lbnQKIH07Cg==
</data>
<flag name="review"
          id="55655"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66881</attachid>
            <date>2010-09-08 04:44:32 -0700</date>
            <delta_ts>2010-09-15 02:24:00 -0700</delta_ts>
            <desc>Another modified patch</desc>
            <filename>WK45020Patch_100908.txt</filename>
            <type>text/plain</type>
            <size>16452</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Njk2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTAtMDktMDggIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMAorICAgICAg
ICBTdXBwb3J0ICJibG9jay1mbG93IiBhbmQgIndyaXRpbmctbW9kZSI6IGludGVycHJldCBwcm9w
ZXJ0aWVzIGludG8gUmVuZGVyU3R5bGUKKyAKKyAgICAgICAgQWRkZWQgY29kZSB0aGF0IGludGVy
cHJldHMgImJsb2NrLWZsb3ciIHByb3BlcnR5IGFuZCAid3JpdGluZy1tb2RlIiBwcm9wZXJ0eSBz
ZXR0aW5ncworICAgICAgICBpbnRvIGEgUmVuZGVyU3R5bGUgb2JqZWN0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jsb2NrLWZsb3ctcGFyc2VyLXRlc3QuaHRtbAor
CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFs
dWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBF
QmxvY2tGbG93RGlyZWN0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEJpdERlZmF1bHRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpibG9ja0Zsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEJsb2NrRmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEJsb2NrRmxvdyk6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisKIDIwMTAtMDgtMzAgIE1hY2llaiBTdGFj
aG93aWFrICA8bWpzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAko
cmV2aXNpb24gNjY4MDcpCisrKyBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDcgQEAgc3RhdGljIGNvbnN0IGlu
dCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IAogICAgIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3Vu
ZENvbXBvc2l0ZSwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sCiAgICAg
Q1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kU2l6ZSwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEJs
b2NrRmxvdywKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckZpdCwKICAgICBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nLAogICAgIENTU1Byb3BlcnR5V2Via2l0Qm9y
ZGVySW1hZ2UsCkBAIC0xMzExLDYgKzEzMTIsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjCiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+YXBwZWFyYW5jZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEJhY2tmYWNlVmlzaWJpbGl0eToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlSWRlbnRpZmllcigoc3R5bGUtPmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJhY2tm
YWNlVmlzaWJpbGl0eUhpZGRlbikgPyBDU1NWYWx1ZUhpZGRlbiA6IENTU1ZhbHVlVmlzaWJsZSk7
CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCbG9ja0Zsb3c6CisgICAgICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+YmxvY2tGbG93KCkpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2U6CiAgICAgICAgICAgICByZXR1
cm4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZShzdHlsZS0+Ym9yZGVySW1hZ2UoKSk7CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2U6CkBAIC0xNDMwLDYgKzE0MzMsNyBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjCiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlMaXN0U3R5bGU6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW46CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlQYWRkaW5nOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0V3JpdGluZ01vZGU6CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAvKiBVbmlt
cGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0aGFuZCBwcm9w
ZXJ0aWVzKSAqLwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MjIsNiArMTcyMiwxOSBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBiCiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAKKyAgICAvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVsIDM6IFZlcnRpY2Fs
IHdyaXRpbmcgc3VwcG9ydAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCbG9ja0Zsb3c6Cisg
ICAgICAgIC8vIFsgInRiIiB8ICJybCIgfCAibHIiIHwgImJ0IiBdCisgICAgICAgIGlmIChpZCA9
PSBDU1NWYWx1ZVRiIHx8IGlkID09IENTU1ZhbHVlUmwgfHwgaWQgPT0gQ1NTVmFsdWVMciB8fCBp
ZCA9PSBDU1NWYWx1ZUJ0KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAg
ICAgICBicmVhazsKKworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcml0aW5nTW9kZToKKyAg
ICAgICAgLy8gWyAibHItdGIiIHwgInJsLXRiIiB8ICJ0Yi1ybCIgfCAiYnQtcmwiIHwgInRiLWxy
IiB8ICJidC1sciIgXQorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVMclRiIHx8IGlkID09IENT
U1ZhbHVlUmxUYiB8fCBpZCA9PSBDU1NWYWx1ZVRiUmwgfHwgaWQgPT0gQ1NTVmFsdWVCdFJsIHx8
IGlkID09IENTU1ZhbHVlVGJMciB8fCBpZCA9PSBDU1NWYWx1ZUJ0THIpCisgICAgICAgICAgICB2
YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworCiAjaWYgRU5BQkxFKFNWRykK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gcGFyc2VTVkdWYWx1ZShwcm9wSWQsIGltcG9y
dGFudCk7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZp
c2lvbiA2NjgwNykKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMjAwMyw2ICsyMDAzLDQzIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpvcGUKICAgICB9CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFQmxvY2tGbG93RGlyZWN0aW9uIGUpCisg
ICAgOiBtX3R5cGUoQ1NTX0lERU5UKQorICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0KGZhbHNlKQor
eworICAgIHN3aXRjaCAoZSkgeworICAgIGNhc2UgVG9wVG9Cb3R0b21CbG9ja0Zsb3c6CisgICAg
ICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVRiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFJpZ2h0VG9MZWZ0QmxvY2tGbG93OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVS
bDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMZWZ0VG9SaWdodEJsb2NrRmxvdzoKKyAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTHI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Qm90dG9tVG9Ub3BCbG9ja0Zsb3c6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUJ0
OworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpvcGVyYXRvciBFQmxvY2tGbG93RGlyZWN0aW9uKCkgY29uc3QKK3sKKyAgICBz
d2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENTU1ZhbHVlVGI6CisgICAgICAgIHJl
dHVybiBUb3BUb0JvdHRvbUJsb2NrRmxvdzsKKyAgICBjYXNlIENTU1ZhbHVlUmw6CisgICAgICAg
IHJldHVybiBSaWdodFRvTGVmdEJsb2NrRmxvdzsKKyAgICBjYXNlIENTU1ZhbHVlTHI6CisgICAg
ICAgIHJldHVybiBMZWZ0VG9SaWdodEJsb2NrRmxvdzsKKyAgICBjYXNlIENTU1ZhbHVlQnQ6Cisg
ICAgICAgIHJldHVybiBCb3R0b21Ub1RvcEJsb2NrRmxvdzsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFRvcFRvQm90dG9tQmxvY2tG
bG93OworICAgIH0KK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZlbnRzIGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5U
KQogICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0KGZhbHNlKQpJbmRleDogV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOCBAQCB6LWluZGV4CiAjIGEgc2luZ2xl
IHZhbHVlOiAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogbDsgaXMgZXF1aXZhbGVudCB0byBiYWNr
Z3JvdW5kLXNpemU6IGwgbDsKICMgd2hlcmVhcyBiYWNrZ3JvdW5kLXNpemU6IGw7IGlzIGVxdWl2
YWxlbnQgdG8gYmFja2dyb3VuZC1zaXplOiBsIGF1dG87CiAtd2Via2l0LWJhY2tncm91bmQtc2l6
ZQorIyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3Vw
cG9ydAorLXdlYmtpdC1ibG9jay1mbG93CiAtd2Via2l0LWJvcmRlci1lbmQKIC13ZWJraXQtYm9y
ZGVyLWVuZC1jb2xvcgogLXdlYmtpdC1ib3JkZXItZW5kLXN0eWxlCkBAIC0yNzUsMyArMjc3LDUg
QEAgei1pbmRleAogLXdlYmtpdC11c2VyLW1vZGlmeQogLXdlYmtpdC11c2VyLXNlbGVjdAogLXdl
YmtpdC12YXJpYWJsZS1kZWNsYXJhdGlvbi1ibG9jaworIyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxl
IExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAorLXdlYmtpdC13cml0aW5nLW1vZGUK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTI1LDYgKzU1
MjUsNTMgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAg
ICByZXR1cm47CiAjZW5kaWYgCiAKKyAgICAvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVs
IDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
bG9ja0Zsb3c6CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJ
VkUoYmxvY2tGbG93LCBCbG9ja0Zsb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRXcml0aW5nTW9kZToKKyAgICAgICAgLy8gVGhlICd3cml0aW5nLW1vZGUn
IHByb3BlcnR5IGlzIGEgc2hvcnRoYW5kIHByb3BlcnR5IGZvciB0aGUgJ2RpcmVjdGlvbicgcHJv
cGVydHkgYW5kIHRoZSAnYmxvY2stZmxvdycgcHJvcGVydHkuIAorICAgICAgICBpZiAoaXNJbmhl
cml0KSB7CisgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24obV9wYXJlbnRTdHlsZS0+
ZGlyZWN0aW9uKCkpOworICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KG1fcGFyZW50
U3R5bGUtPmJsb2NrRmxvdygpKTsKKyAgICAgICAgfSBlbHNlIGlmIChpc0luaXRpYWwpIHsKKyAg
ICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihtX3N0eWxlLT5pbml0aWFsRGlyZWN0aW9u
KCkpOworICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KG1fc3R5bGUtPmluaXRpYWxC
bG9ja0Zsb3coKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIXByaW1pdGl2
ZVZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHN3aXRjaCAocHJp
bWl0aXZlVmFsdWUtPmdldElkZW50KCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVMclRi
OgorICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihMVFIpOworICAgICAgICAg
ICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxvdyhUb3BUb0JvdHRvbUJsb2NrRmxvdyk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlUmxUYjoKKyAgICAg
ICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24oUlRMKTsKKyAgICAgICAgICAgICAgICBt
X3N0eWxlLT5zZXRCbG9ja0Zsb3coVG9wVG9Cb3R0b21CbG9ja0Zsb3cpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZVRiUmw6CisgICAgICAgICAgICAg
ICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKExUUik7CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+
c2V0QmxvY2tGbG93KFJpZ2h0VG9MZWZ0QmxvY2tGbG93KTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVCdFJsOgorICAgICAgICAgICAgICAgIG1fc3R5
bGUtPnNldERpcmVjdGlvbihSVEwpOworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2Nr
RmxvdyhSaWdodFRvTGVmdEJsb2NrRmxvdyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBjYXNlIENTU1ZhbHVlVGJMcjoKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXRE
aXJlY3Rpb24oTFRSKTsKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXRCbG9ja0Zsb3coTGVm
dFRvUmlnaHRCbG9ja0Zsb3cpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBDU1NWYWx1ZUJ0THI6CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9u
KFJUTCk7CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KExlZnRUb1JpZ2h0
QmxvY2tGbG93KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuOworCiAjaWYgRU5BQkxFKFNWRykKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBU
cnkgdGhlIFNWRyBwcm9wZXJ0aWVzCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlz
aW9uIDY2ODA3KQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBj
b3B5KQpAQCAtNzQwLDMgKzc0MCwxNyBAQCB3aW5kb3dlZAogIyBub25lCiBtYW51YWwKICMgYXV0
bworCisjIC13ZWJraXQtYmxvY2stZmxvdwordGIKK3JsCitscgorYnQKKworIyAtd2Via2l0LXdy
aXRpbmctbW9kZQorbHItdGIKK3JsLXRiCit0Yi1ybAorYnQtcmwKK3RiLWxyCitidC1scgpJbmRl
eDogV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNv
cmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI3NiwxMiAr
Mjc2LDMgQEAgcmVzZXQtc2l6ZQogIyBDU1NfUFJPUF9WRUNUT1JfRUZGRUNUCiAjIG5vbmUKIG5v
bi1zY2FsaW5nLXN0cm9rZQotCi0KLSMgQ1NTX1BST1BfV1JJVElOR19NT0RFCi1sci10Ygotcmwt
dGIKLXRiLXJsCi1scgotcmwKLXRiCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuY3BwCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQxLDYgKzQ0MSwxMCBAQCBTdHlsZURp
ZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgCiAgICAgICAgIG5vbmluaGVyaXRlZF9m
bGFncy5fY2xlYXIgIT0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fY2xlYXIpCiAgICAgICAg
IHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKKyAgICAvLyBDaGVjayBibG9jayBmbG93
IGRpcmVjdGlvbi4KKyAgICBpZiAoaW5oZXJpdGVkX2ZsYWdzLl9ibG9ja0Zsb3cgIT0gb3RoZXIt
PmluaGVyaXRlZF9mbGFncy5fYmxvY2tGbG93KQorICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJl
bmNlTGF5b3V0OworCiAgICAgLy8gT3ZlcmZsb3cgcmV0dXJucyBhIGxheW91dCBoaW50LgogICAg
IGlmIChub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJmbG93WCAhPSBvdGhlci0+bm9uaW5oZXJpdGVk
X2ZsYWdzLl9vdmVyZmxvd1ggfHwKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxv
d1kgIT0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dZKQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OCw3ICsx
NzgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICAgICAgICAgKF92aXN1YWxseU9yZGVyZWQg
PT0gb3RoZXIuX3Zpc3VhbGx5T3JkZXJlZCkgJiYKICAgICAgICAgICAgICAgICAgICAoX2ZvcmNl
X2JhY2tncm91bmRzX3RvX3doaXRlID09IG90aGVyLl9mb3JjZV9iYWNrZ3JvdW5kc190b193aGl0
ZSkgJiYKICAgICAgICAgICAgICAgICAgICAoX3BvaW50ZXJFdmVudHMgPT0gb3RoZXIuX3BvaW50
ZXJFdmVudHMpICYmCi0gICAgICAgICAgICAgICAgICAgKF9pbnNpZGVMaW5rID09IG90aGVyLl9p
bnNpZGVMaW5rKTsKKyAgICAgICAgICAgICAgICAgICAoX2luc2lkZUxpbmsgPT0gb3RoZXIuX2lu
c2lkZUxpbmspICYmCisgICAgICAgICAgICAgICAgICAgKF9ibG9ja0Zsb3cgPT0gb3RoZXIuX2Js
b2NrRmxvdyk7CiAgICAgICAgIH0KIAogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5o
ZXJpdGVkRmxhZ3MmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQpA
QCAtMjA0LDYgKzIwNSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF9wb2ludGVy
RXZlbnRzIDogNDsgLy8gRVBvaW50ZXJFdmVudHMKICAgICAgICAgdW5zaWduZWQgX2luc2lkZUxp
bmsgOiAyOyAvLyBFSW5zaWRlTGluawogICAgICAgICAvLyA0MyBiaXRzCisKKyAgICAgICAgLy8g
Q1NTIFRleHQgTGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQK
KyAgICAgICAgdW5zaWduZWQgX2Jsb2NrRmxvdyA6IDI7IC8vIEVCbG9ja0Zsb3dEaXJlY3Rpb24K
KyAgICAgICAgLy8gNDUgYml0cwogICAgIH0gaW5oZXJpdGVkX2ZsYWdzOwogCiAvLyBkb24ndCBp
bmhlcml0CkBAIC0yNzksNiArMjg0LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRf
ZmxhZ3MuX2ZvcmNlX2JhY2tncm91bmRzX3RvX3doaXRlID0gZmFsc2U7CiAgICAgICAgIGluaGVy
aXRlZF9mbGFncy5fcG9pbnRlckV2ZW50cyA9IGluaXRpYWxQb2ludGVyRXZlbnRzKCk7CiAgICAg
ICAgIGluaGVyaXRlZF9mbGFncy5faW5zaWRlTGluayA9IE5vdEluc2lkZUxpbms7CisgICAgICAg
IGluaGVyaXRlZF9mbGFncy5fYmxvY2tGbG93ID0gaW5pdGlhbEJsb2NrRmxvdygpOwogCiAgICAg
ICAgIG5vbmluaGVyaXRlZF9mbGFncy5fZWZmZWN0aXZlRGlzcGxheSA9IG5vbmluaGVyaXRlZF9m
bGFncy5fb3JpZ2luYWxEaXNwbGF5ID0gaW5pdGlhbERpc3BsYXkoKTsKICAgICAgICAgbm9uaW5o
ZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1ggPSBpbml0aWFsT3ZlcmZsb3dYKCk7CkBAIC03MTIsNiAr
NzE4LDggQEAgcHVibGljOgogICAgIGJvb2wgdGV4dFNpemVBZGp1c3QoKSBjb25zdCB7IHJldHVy
biByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNpemVBZGp1c3Q7IH0KICAgICBFVGV4dFNlY3VyaXR5
IHRleHRTZWN1cml0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUZXh0U2VjdXJpdHk+
KHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2VjdXJpdHkpOyB9CiAKKyAgICBFQmxvY2tGbG93RGly
ZWN0aW9uIGJsb2NrRmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVCbG9ja0Zsb3dE
aXJlY3Rpb24+KGluaGVyaXRlZF9mbGFncy5fYmxvY2tGbG93KTsgfQorCiAvLyBhdHRyaWJ1dGUg
c2V0dGVyIG1ldGhvZHMKIAogICAgIHZvaWQgc2V0RGlzcGxheShFRGlzcGxheSB2KSB7IG5vbmlu
aGVyaXRlZF9mbGFncy5fZWZmZWN0aXZlRGlzcGxheSA9IHY7IH0KQEAgLTEwODcsNiArMTA5NSw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgIG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9C
T1ggfHwgb3JpZ2luYWxEaXNwbGF5KCkgPT0gSU5MSU5FX1RBQkxFOwogICAgIH0KIAorICAgIHZv
aWQgc2V0QmxvY2tGbG93KEVCbG9ja0Zsb3dEaXJlY3Rpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3Mu
X2Jsb2NrRmxvdyA9IHY7IH0KKwogICAgIC8vIFRvIHRlbGwgaWYgdGhpcyBzdHlsZSBtYXRjaGVk
IGF0dHJpYnV0ZSBzZWxlY3RvcnMuIFRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBzaGFyZS4K
ICAgICBib29sIGFmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMoKSBjb25zdCB7IHJldHVybiBt
X2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnM7IH0KICAgICB2b2lkIHNldEFmZmVjdGVkQnlB
dHRyaWJ1dGVTZWxlY3RvcnMoKSB7IG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyA9IHRy
dWU7IH0KQEAgLTExMjYsNiArMTEzNiw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUNhcHRpb25T
aWRlIGluaXRpYWxDYXB0aW9uU2lkZSgpIHsgcmV0dXJuIENBUFRPUDsgfQogICAgIHN0YXRpYyBF
Q2xlYXIgaW5pdGlhbENsZWFyKCkgeyByZXR1cm4gQ05PTkU7IH0KICAgICBzdGF0aWMgVGV4dERp
cmVjdGlvbiBpbml0aWFsRGlyZWN0aW9uKCkgeyByZXR1cm4gTFRSOyB9CisgICAgc3RhdGljIEVC
bG9ja0Zsb3dEaXJlY3Rpb24gaW5pdGlhbEJsb2NrRmxvdygpIHsgcmV0dXJuIFRvcFRvQm90dG9t
QmxvY2tGbG93OyB9CiAgICAgc3RhdGljIEVEaXNwbGF5IGluaXRpYWxEaXNwbGF5KCkgeyByZXR1
cm4gSU5MSU5FOyB9CiAgICAgc3RhdGljIEVFbXB0eUNlbGwgaW5pdGlhbEVtcHR5Q2VsbHMoKSB7
IHJldHVybiBTSE9XOyB9CiAgICAgc3RhdGljIEVGbG9hdCBpbml0aWFsRmxvYXRpbmcoKSB7IHJl
dHVybiBGTk9ORTsgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZUNvbnN0YW50cy5oCShyZXZpc2lvbiA2NjgwNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw2ICsxMjgs
MTEgQEAgZW51bSBFVW5pY29kZUJpZGkgewogICAgIFVCTm9ybWFsLCBFbWJlZCwgT3ZlcnJpZGUK
IH07CiAKKy8vIENTUyBUZXh0IExheW91dCBNb2R1bGUgTGV2ZWwgMzogVmVydGljYWwgd3JpdGlu
ZyBzdXBwb3J0CitlbnVtIEVCbG9ja0Zsb3dEaXJlY3Rpb24geworICAgIFRvcFRvQm90dG9tQmxv
Y2tGbG93LCBSaWdodFRvTGVmdEJsb2NrRmxvdywgTGVmdFRvUmlnaHRCbG9ja0Zsb3csIEJvdHRv
bVRvVG9wQmxvY2tGbG93Cit9OworCiBlbnVtIEVGaWxsQXR0YWNobWVudCB7CiAgICAgU2Nyb2xs
QmFja2dyb3VuZEF0dGFjaG1lbnQsIExvY2FsQmFja2dyb3VuZEF0dGFjaG1lbnQsIEZpeGVkQmFj
a2dyb3VuZEF0dGFjaG1lbnQKIH07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2Njk2OCkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA5
LTA4ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUwMjAKKyAgICAgICAgU3VwcG9ydCAiYmxvY2stZmxvdyIg
YW5kICJ3cml0aW5nLW1vZGUiOiBpbnRlcnByZXQgcHJvcGVydGllcyBpbnRvIFJlbmRlclN0eWxl
CisgCisgICAgICAgIEFkZGVkIGNvZGUgdGhhdCBpbnRlcnByZXRzICJibG9jay1mbG93IiBwcm9w
ZXJ0eSBhbmQgIndyaXRpbmctbW9kZSIgcHJvcGVydHkgc2V0dGluZ3MKKyAgICAgICAgaW50byBh
IFJlbmRlclN0eWxlIG9iamVjdC4KKworICAgICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L2Jsb2NrLWZsb3ctcGFyc2VyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBhcnNlci10ZXN0Lmh0bWw6IEFkZGVk
LgorCiAyMDEwLTA5LTA4ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1bHplLgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwvYmxvY2stZmxvdy1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmxvY2st
Zmxvdy1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBhcnNlci10ZXN0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorYmxvY2stZmxvdyBwYXJzZXIgdGVz
dAorCistd2Via2l0LWJsb2NrLWZsb3c6dGIKKy13ZWJraXQtYmxvY2stZmxvdzpybAorLXdlYmtp
dC1ibG9jay1mbG93OmxyCistd2Via2l0LWJsb2NrLWZsb3c6YnQKK09rYXkgaWYgLXdlYmtpdC1i
bG9jay1mbG93IHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLgorCistd2Via2l0
LWJsb2NrLWZsb3c6dGIKKy13ZWJraXQtYmxvY2stZmxvdzpybAorLXdlYmtpdC1ibG9jay1mbG93
OmxyCistd2Via2l0LWJsb2NrLWZsb3c6YnQKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmxvY2stZmxvdy1wYXJzZXItdGVzdC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jsb2NrLWZsb3ctcGFyc2VyLXRl
c3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlv
bmFsL2Jsb2NrLWZsb3ctcGFyc2VyLXRlc3QuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
OSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNp
dGlvbmFsLy9FTiIgCisiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+YmxvY2stZmxvdyBwYXJzZXIgdGVzdDwvdGl0bGU+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gcHJpbnQobWVzc2FnZSkKK3sKKyAgICB2YXIgcGFyYWdyYXBoID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAgICBwYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQocGFyYWdyYXBoKTsKK30KK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworCXZhciBibG9ja0Zsb3dWYWx1ZXMgPSBb
InRiIiwgInJsIiwgImxyIiwgImJ0Il07CisJdmFyIHBFbGVtcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJkaXYiKTsKKwlmb3IgKCBpID0gMCA7IGkgPCBwRWxlbXMubGVuZ3RoIDsg
KytpICkKKwl7CisJCXZhciBlbGVtID0gcEVsZW1zW2ldOworCQllbGVtLnN0eWxlLndlYmtpdEJs
b2NrRmxvdyA9IGJsb2NrRmxvd1ZhbHVlc1tpXTsKKwkJcHJpbnQoIi13ZWJraXQtYmxvY2stZmxv
dzoiICsgZWxlbS5zdHlsZS53ZWJraXRCbG9ja0Zsb3cpOworCX0KK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+YmxvY2stZmxvdyBwYXJzZXIgdGVzdDwv
cD4KKzxkaXY+LXdlYmtpdC1ibG9jay1mbG93OnRiPC9kaXY+Cis8ZGl2Pi13ZWJraXQtYmxvY2st
ZmxvdzpybDwvZGl2PgorPGRpdj4td2Via2l0LWJsb2NrLWZsb3c6bHI8L2Rpdj4KKzxkaXY+LXdl
YmtpdC1ibG9jay1mbG93OmJ0PC9kaXY+Cis8cD5Pa2F5IGlmIC13ZWJraXQtYmxvY2stZmxvdyB2
YWx1ZXMgYWJvdmUgYW5kIGJlbG93IGFyZSB0aGUgc2FtZS48L3A+Cis8aHI+Cis8cD48b2wgaWQ9
Y29uc29sZT48L29sPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="56012"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67659</attachid>
            <date>2010-09-15 02:24:00 -0700</date>
            <delta_ts>2010-09-16 13:32:26 -0700</delta_ts>
            <desc>New patch file: incorporated Dave&apos;s feedback on computed style tests</desc>
            <filename>WK45020Patch_100915.txt</filename>
            <type>text/plain</type>
            <size>19512</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzU0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTAtMDktMTUgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMAorICAgICAg
ICBTdXBwb3J0ICJibG9jay1mbG93IiBhbmQgIndyaXRpbmctbW9kZSI6IGludGVycHJldCBwcm9w
ZXJ0aWVzIGludG8gUmVuZGVyU3R5bGUKKyAKKyAgICAgICAgQWRkZWQgY29kZSB0aGF0IGludGVy
cHJldHMgImJsb2NrLWZsb3ciIHByb3BlcnR5IGFuZCAid3JpdGluZy1tb2RlIiBwcm9wZXJ0eSBz
ZXR0aW5ncworICAgICAgICBpbnRvIGEgUmVuZGVyU3R5bGUgb2JqZWN0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jsb2NrLWZsb3ctcGFyc2VyLXRlc3QuaHRtbAor
CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFs
dWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBF
QmxvY2tGbG93RGlyZWN0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEJpdERlZmF1bHRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpibG9ja0Zsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEJsb2NrRmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEJsb2NrRmxvdyk6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisKIDIwMTAtMDktMTUgIFBhdHJpY2sgR2Fu
c3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9uIDY3NTM1KQorKysgV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSAKICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRCYWNr
Z3JvdW5kT3JpZ2luLAogICAgIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZFNpemUsCisgICAg
Q1NTUHJvcGVydHlXZWJraXRCbG9ja0Zsb3csCiAgICAgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJG
aXQsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9udGFsU3BhY2luZywKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlckltYWdlLApAQCAtMTMzOCw2ICsxMzM5LDggQEAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlYwogICAgICAgICAgICAgcmV0dXJuIENT
U1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmFwcGVhcmFuY2UoKSk7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6CiAgICAgICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoKHN0eWxlLT5iYWNrZmFjZVZp
c2liaWxpdHkoKSA9PSBCYWNrZmFjZVZpc2liaWxpdHlIaWRkZW4pID8gQ1NTVmFsdWVIaWRkZW4g
OiBDU1NWYWx1ZVZpc2libGUpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxvY2tG
bG93OgorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUt
PmJsb2NrRmxvdygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckltYWdl
OgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yTmluZVBpZWNlSW1hZ2Uoc3R5bGUtPmJvcmRl
ckltYWdlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlOgpA
QCAtMTQ1Nyw2ICsxNDYwLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHls
ZURlYwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlOgogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5TWFyZ2luOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFkZGluZzoKKyAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyaXRpbmdNb2RlOgogICAgICAgICAgICAgYnJlYWs7
CiAKICAgICAgICAgLyogVW5pbXBsZW1lbnRlZCBDU1MgMyBwcm9wZXJ0aWVzIChpbmNsdWRpbmcg
Q1NTMyBzaG9ydGhhbmQgcHJvcGVydGllcykgKi8KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24g
Njc1MzUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzIwLDYgKzE3MjAsMTkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwg
YgogICAgICAgICBicmVhazsKICNlbmRpZgogCisgICAgLy8gQ1NTIFRleHQgTGF5b3V0IE1vZHVs
ZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0QmxvY2tGbG93OgorICAgICAgICAvLyBbICJ0YiIgfCAicmwiIHwgImxyIiB8ICJidCIg
XQorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVUYiB8fCBpZCA9PSBDU1NWYWx1ZVJsIHx8IGlk
ID09IENTU1ZhbHVlTHIgfHwgaWQgPT0gQ1NTVmFsdWVCdCkKKyAgICAgICAgICAgIHZhbGlkUHJp
bWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0V3JpdGluZ01vZGU6CisgICAgICAgIC8vIFsgImxyLXRiIiB8ICJybC10YiIgfCAidGItcmwi
IHwgImJ0LXJsIiB8ICJ0Yi1sciIgfCAiYnQtbHIiIF0KKyAgICAgICAgaWYgKGlkID09IENTU1Zh
bHVlTHJUYiB8fCBpZCA9PSBDU1NWYWx1ZVJsVGIgfHwgaWQgPT0gQ1NTVmFsdWVUYlJsIHx8IGlk
ID09IENTU1ZhbHVlQnRSbCB8fCBpZCA9PSBDU1NWYWx1ZVRiTHIgfHwgaWQgPT0gQ1NTVmFsdWVC
dExyKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsK
KwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZH
VmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNjc1MzUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMDMsNiArMjAwMyw0MyBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgfQogfQogCit0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUJsb2Nr
Rmxvd0RpcmVjdGlvbiBlKQorICAgIDogbV90eXBlKENTU19JREVOVCkKKyAgICAsIG1faGFzQ2Fj
aGVkQ1NTVGV4dChmYWxzZSkKK3sKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNlIFRvcFRvQm90
dG9tQmxvY2tGbG93OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVUYjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBSaWdodFRvTGVmdEJsb2NrRmxvdzoKKyAgICAgICAgbV92YWx1
ZS5pZGVudCA9IENTU1ZhbHVlUmw7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTGVmdFRvUmln
aHRCbG9ja0Zsb3c6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUxyOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEJvdHRvbVRvVG9wQmxvY2tGbG93OgorICAgICAgICBtX3ZhbHVl
LmlkZW50ID0gQ1NTVmFsdWVCdDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJsb2NrRmxvd0RpcmVjdGlv
bigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NW
YWx1ZVRiOgorICAgICAgICByZXR1cm4gVG9wVG9Cb3R0b21CbG9ja0Zsb3c7CisgICAgY2FzZSBD
U1NWYWx1ZVJsOgorICAgICAgICByZXR1cm4gUmlnaHRUb0xlZnRCbG9ja0Zsb3c7CisgICAgY2Fz
ZSBDU1NWYWx1ZUxyOgorICAgICAgICByZXR1cm4gTGVmdFRvUmlnaHRCbG9ja0Zsb3c7CisgICAg
Y2FzZSBDU1NWYWx1ZUJ0OgorICAgICAgICByZXR1cm4gQm90dG9tVG9Ub3BCbG9ja0Zsb3c7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBUb3BUb0JvdHRvbUJsb2NrRmxvdzsKKyAgICB9Cit9CisKIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFUG9pbnRlckV2ZW50cyBlKQogICAg
IDogbV90eXBlKENTU19JREVOVCkKICAgICAsIG1faGFzQ2FjaGVkQ1NTVGV4dChmYWxzZSkKSW5k
ZXg6IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkocmV2aXNpb24gNjc1MzUpCisrKyBXZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNiArMTczLDggQEAg
ei1pbmRleAogIyBhIHNpbmdsZSB2YWx1ZTogLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGw7IGlz
IGVxdWl2YWxlbnQgdG8gYmFja2dyb3VuZC1zaXplOiBsIGw7CiAjIHdoZXJlYXMgYmFja2dyb3Vu
ZC1zaXplOiBsOyBpcyBlcXVpdmFsZW50IHRvIGJhY2tncm91bmQtc2l6ZTogbCBhdXRvOwogLXdl
YmtpdC1iYWNrZ3JvdW5kLXNpemUKKyMgQ1NTIFRleHQgTGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBW
ZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKy13ZWJraXQtYmxvY2stZmxvdwogLXdlYmtpdC1ib3Jk
ZXItZW5kCiAtd2Via2l0LWJvcmRlci1lbmQtY29sb3IKIC13ZWJraXQtYm9yZGVyLWVuZC1zdHls
ZQpAQCAtMjc1LDMgKzI3Nyw1IEBAIHotaW5kZXgKIC13ZWJraXQtdXNlci1tb2RpZnkKIC13ZWJr
aXQtdXNlci1zZWxlY3QKIC13ZWJraXQtdmFyaWFibGUtZGVjbGFyYXRpb24tYmxvY2sKKyMgQ1NT
IFRleHQgTGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKy13
ZWJraXQtd3JpdGluZy1tb2RlCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNp
b24gNjc1MzUpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTUyMSw2ICs1NTIxLDUzIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQ
cm9wZXJ0eShpbnQKICAgICAgICAgcmV0dXJuOwogI2VuZGlmIAogCisgICAgLy8gQ1NTIFRleHQg
TGF5b3V0IE1vZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKKyAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QmxvY2tGbG93OgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRf
SU5JVElBTF9BTkRfUFJJTUlUSVZFKGJsb2NrRmxvdywgQmxvY2tGbG93KQorICAgICAgICByZXR1
cm47CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JpdGluZ01vZGU6CisgICAgICAgIC8v
IFRoZSAnd3JpdGluZy1tb2RlJyBwcm9wZXJ0eSBpcyBhIHNob3J0aGFuZCBwcm9wZXJ0eSBmb3Ig
dGhlICdkaXJlY3Rpb24nIHByb3BlcnR5IGFuZCB0aGUgJ2Jsb2NrLWZsb3cnIHByb3BlcnR5LiAK
KyAgICAgICAgaWYgKGlzSW5oZXJpdCkgeworICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0
aW9uKG1fcGFyZW50U3R5bGUtPmRpcmVjdGlvbigpKTsKKyAgICAgICAgICAgIG1fc3R5bGUtPnNl
dEJsb2NrRmxvdyhtX3BhcmVudFN0eWxlLT5ibG9ja0Zsb3coKSk7CisgICAgICAgIH0gZWxzZSBp
ZiAoaXNJbml0aWFsKSB7CisgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24obV9zdHls
ZS0+aW5pdGlhbERpcmVjdGlvbigpKTsKKyAgICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxv
dyhtX3N0eWxlLT5pbml0aWFsQmxvY2tGbG93KCkpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICBzd2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpKSB7CisgICAgICAgICAg
ICBjYXNlIENTU1ZhbHVlTHJUYjoKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rp
b24oTFRSKTsKKyAgICAgICAgICAgICAgICBtX3N0eWxlLT5zZXRCbG9ja0Zsb3coVG9wVG9Cb3R0
b21CbG9ja0Zsb3cpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBD
U1NWYWx1ZVJsVGI6CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKFJUTCk7
CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0QmxvY2tGbG93KFRvcFRvQm90dG9tQmxvY2tG
bG93KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVU
YlJsOgorICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldERpcmVjdGlvbihMVFIpOworICAgICAg
ICAgICAgICAgIG1fc3R5bGUtPnNldEJsb2NrRmxvdyhSaWdodFRvTGVmdEJsb2NrRmxvdyk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlQnRSbDoKKyAg
ICAgICAgICAgICAgICBtX3N0eWxlLT5zZXREaXJlY3Rpb24oUlRMKTsKKyAgICAgICAgICAgICAg
ICBtX3N0eWxlLT5zZXRCbG9ja0Zsb3coUmlnaHRUb0xlZnRCbG9ja0Zsb3cpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZVRiTHI6CisgICAgICAgICAg
ICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKExUUik7CisgICAgICAgICAgICAgICAgbV9zdHls
ZS0+c2V0QmxvY2tGbG93KExlZnRUb1JpZ2h0QmxvY2tGbG93KTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVCdExyOgorICAgICAgICAgICAgICAgIG1f
c3R5bGUtPnNldERpcmVjdGlvbihSVEwpOworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJs
b2NrRmxvdyhMZWZ0VG9SaWdodEJsb2NrRmxvdyk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVm
YXVsdDoKICAgICAgICAgLy8gVHJ5IHRoZSBTVkcgcHJvcGVydGllcwpJbmRleDogV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCShyZXZpc2lvbiA2NzUzNSkKKysrIFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc0MiwzICs3NDIsMTcgQEAgd2luZG93ZWQKICMg
bm9uZQogbWFudWFsCiAjIGF1dG8KKworIyAtd2Via2l0LWJsb2NrLWZsb3cKK3RiCitybAorbHIK
K2J0CisKKyMgLXdlYmtpdC13cml0aW5nLW1vZGUKK2xyLXRiCitybC10YgordGItcmwKK2J0LXJs
Cit0Yi1scgorYnQtbHIKSW5kZXg6IFdlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgkocmV2aXNp
b24gNjc1MzUpCisrKyBXZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzYsMTIgKzI3NiwzIEBAIHJlc2V0LXNpemUKICMgQ1NTX1BST1BfVkVDVE9S
X0VGRkVDVAogIyBub25lCiBub24tc2NhbGluZy1zdHJva2UKLQotCi0jIENTU19QUk9QX1dSSVRJ
TkdfTU9ERQotbHItdGIKLXJsLXRiCi10Yi1ybAotbHIKLXJsCi10YgpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gNjc1MzUpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0MSw2
ICs0NDEsMTAgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0eWxlOjpkaWZmKGNvbnN0IAogICAg
ICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2NsZWFyICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxh
Z3MuX2NsZWFyKQogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwogCisgICAg
Ly8gQ2hlY2sgYmxvY2sgZmxvdyBkaXJlY3Rpb24uCisgICAgaWYgKGluaGVyaXRlZF9mbGFncy5f
YmxvY2tGbG93ICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3MuX2Jsb2NrRmxvdykKKyAgICAgICAg
cmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKKwogICAgIC8vIE92ZXJmbG93IHJldHVybnMg
YSBsYXlvdXQgaGludC4KICAgICBpZiAobm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1ggIT0g
b3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYIHx8CiAgICAgICAgIG5vbmluaGVy
aXRlZF9mbGFncy5fb3ZlcmZsb3dZICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJm
bG93WSkKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24g
Njc1MzUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzgsNyArMTc4LDggQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgICAgICAg
IChfdmlzdWFsbHlPcmRlcmVkID09IG90aGVyLl92aXN1YWxseU9yZGVyZWQpICYmCiAgICAgICAg
ICAgICAgICAgICAgKF9mb3JjZV9iYWNrZ3JvdW5kc190b193aGl0ZSA9PSBvdGhlci5fZm9yY2Vf
YmFja2dyb3VuZHNfdG9fd2hpdGUpICYmCiAgICAgICAgICAgICAgICAgICAgKF9wb2ludGVyRXZl
bnRzID09IG90aGVyLl9wb2ludGVyRXZlbnRzKSAmJgotICAgICAgICAgICAgICAgICAgIChfaW5z
aWRlTGluayA9PSBvdGhlci5faW5zaWRlTGluayk7CisgICAgICAgICAgICAgICAgICAgKF9pbnNp
ZGVMaW5rID09IG90aGVyLl9pbnNpZGVMaW5rKSAmJgorICAgICAgICAgICAgICAgICAgIChfYmxv
Y2tGbG93ID09IG90aGVyLl9ibG9ja0Zsb3cpOwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IEluaGVyaXRlZEZsYWdzJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgq
dGhpcyA9PSBvdGhlcik7IH0KQEAgLTIwNCw2ICsyMDUsMTAgQEAgcHJvdGVjdGVkOgogICAgICAg
ICB1bnNpZ25lZCBfcG9pbnRlckV2ZW50cyA6IDQ7IC8vIEVQb2ludGVyRXZlbnRzCiAgICAgICAg
IHVuc2lnbmVkIF9pbnNpZGVMaW5rIDogMjsgLy8gRUluc2lkZUxpbmsKICAgICAgICAgLy8gNDMg
Yml0cworCisgICAgICAgIC8vIENTUyBUZXh0IExheW91dCBNb2R1bGUgTGV2ZWwgMzogVmVydGlj
YWwgd3JpdGluZyBzdXBwb3J0CisgICAgICAgIHVuc2lnbmVkIF9ibG9ja0Zsb3cgOiAyOyAvLyBF
QmxvY2tGbG93RGlyZWN0aW9uCisgICAgICAgIC8vIDQ1IGJpdHMKICAgICB9IGluaGVyaXRlZF9m
bGFnczsKIAogLy8gZG9uJ3QgaW5oZXJpdApAQCAtMjc5LDYgKzI4NCw3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9mb3JjZV9iYWNrZ3JvdW5kc190b193aGl0ZSA9IGZh
bHNlOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3BvaW50ZXJFdmVudHMgPSBpbml0aWFsUG9p
bnRlckV2ZW50cygpOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsgPSBOb3RJ
bnNpZGVMaW5rOworICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2Jsb2NrRmxvdyA9IGluaXRpYWxC
bG9ja0Zsb3coKTsKIAogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2VmZmVjdGl2ZURpc3Bs
YXkgPSBub25pbmhlcml0ZWRfZmxhZ3MuX29yaWdpbmFsRGlzcGxheSA9IGluaXRpYWxEaXNwbGF5
KCk7CiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYID0gaW5pdGlhbE92ZXJm
bG93WCgpOwpAQCAtNzEyLDYgKzcxOCw4IEBAIHB1YmxpYzoKICAgICBib29sIHRleHRTaXplQWRq
dXN0KCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRTaXplQWRqdXN0OyB9
CiAgICAgRVRleHRTZWN1cml0eSB0ZXh0U2VjdXJpdHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxFVGV4dFNlY3VyaXR5PihyYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNlY3VyaXR5KTsgfQog
CisgICAgRUJsb2NrRmxvd0RpcmVjdGlvbiBibG9ja0Zsb3coKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxFQmxvY2tGbG93RGlyZWN0aW9uPihpbmhlcml0ZWRfZmxhZ3MuX2Jsb2NrRmxvdyk7
IH0KKwogLy8gYXR0cmlidXRlIHNldHRlciBtZXRob2RzCiAKICAgICB2b2lkIHNldERpc3BsYXko
RURpc3BsYXkgdikgeyBub25pbmhlcml0ZWRfZmxhZ3MuX2VmZmVjdGl2ZURpc3BsYXkgPSB2OyB9
CkBAIC0xMDg3LDYgKzEwOTUsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICBvcmlnaW5hbERp
c3BsYXkoKSA9PSBJTkxJTkVfQk9YIHx8IG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9UQUJM
RTsKICAgICB9CiAKKyAgICB2b2lkIHNldEJsb2NrRmxvdyhFQmxvY2tGbG93RGlyZWN0aW9uIHYp
IHsgaW5oZXJpdGVkX2ZsYWdzLl9ibG9ja0Zsb3cgPSB2OyB9CisKICAgICAvLyBUbyB0ZWxsIGlm
IHRoaXMgc3R5bGUgbWF0Y2hlZCBhdHRyaWJ1dGUgc2VsZWN0b3JzLiBUaGlzIG1ha2VzIGl0IGlt
cG9zc2libGUgdG8gc2hhcmUuCiAgICAgYm9vbCBhZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3Jz
KCkgY29uc3QgeyByZXR1cm4gbV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzOyB9CiAgICAg
dm9pZCBzZXRBZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKCkgeyBtX2FmZmVjdGVkQnlBdHRy
aWJ1dGVTZWxlY3RvcnMgPSB0cnVlOyB9CkBAIC0xMTI2LDYgKzExMzYsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIEVDYXB0aW9uU2lkZSBpbml0aWFsQ2FwdGlvblNpZGUoKSB7IHJldHVybiBDQVBU
T1A7IH0KICAgICBzdGF0aWMgRUNsZWFyIGluaXRpYWxDbGVhcigpIHsgcmV0dXJuIENOT05FOyB9
CiAgICAgc3RhdGljIFRleHREaXJlY3Rpb24gaW5pdGlhbERpcmVjdGlvbigpIHsgcmV0dXJuIExU
UjsgfQorICAgIHN0YXRpYyBFQmxvY2tGbG93RGlyZWN0aW9uIGluaXRpYWxCbG9ja0Zsb3coKSB7
IHJldHVybiBUb3BUb0JvdHRvbUJsb2NrRmxvdzsgfQogICAgIHN0YXRpYyBFRGlzcGxheSBpbml0
aWFsRGlzcGxheSgpIHsgcmV0dXJuIElOTElORTsgfQogICAgIHN0YXRpYyBFRW1wdHlDZWxsIGlu
aXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1cm4gU0hPVzsgfQogICAgIHN0YXRpYyBFRmxvYXQgaW5p
dGlhbEZsb2F0aW5nKCkgeyByZXR1cm4gRk5PTkU7IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2aXNpb24gNjc1MzUpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjgsNiArMTI4LDExIEBAIGVudW0gRVVuaWNvZGVCaWRpIHsKICAgICBVQk5vcm1h
bCwgRW1iZWQsIE92ZXJyaWRlCiB9OwogCisvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxlIExldmVs
IDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAorZW51bSBFQmxvY2tGbG93RGlyZWN0aW9uIHsK
KyAgICBUb3BUb0JvdHRvbUJsb2NrRmxvdywgUmlnaHRUb0xlZnRCbG9ja0Zsb3csIExlZnRUb1Jp
Z2h0QmxvY2tGbG93LCBCb3R0b21Ub1RvcEJsb2NrRmxvdworfTsKKwogZW51bSBFRmlsbEF0dGFj
aG1lbnQgewogICAgIFNjcm9sbEJhY2tncm91bmRBdHRhY2htZW50LCBMb2NhbEJhY2tncm91bmRB
dHRhY2htZW50LCBGaXhlZEJhY2tncm91bmRBdHRhY2htZW50CiB9OwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gNjc1NDMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxOSBAQAorMjAxMC0wOS0xNSAgdGFrYW5vIHRha3VtaSAgPHRha2FubzFAYXNpYS5hcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MDIwCisgICAgICAgIFN1
cHBvcnQgImJsb2NrLWZsb3ciIGFuZCAid3JpdGluZy1tb2RlIjogaW50ZXJwcmV0IHByb3BlcnRp
ZXMgaW50byBSZW5kZXJTdHlsZQorIAorICAgICAgICBBZGRlZCBjb2RlIHRoYXQgaW50ZXJwcmV0
cyAiYmxvY2stZmxvdyIgcHJvcGVydHkgYW5kICJ3cml0aW5nLW1vZGUiIHByb3BlcnR5IHNldHRp
bmdzCisgICAgICAgIGludG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisKKyAgICAgICAgKiBmYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Js
b2NrLWZsb3ctcGFyc2VyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBhcnNlci10ZXN0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQ6CisK
IDIwMTAtMDktMTUgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQt
c3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzU0MykKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC05Niw2ICs5Niw3IEBAIHpvb206IDE7CiAtd2Via2l0LWJhY2tncm91bmQtY29t
cG9zaXRlOiBzb3VyY2Utb3ZlcjsKIC13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmct
Ym94OwogLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bzsKKy13ZWJraXQtYmxvY2st
ZmxvdzogdGI7CiAtd2Via2l0LWJvcmRlci1maXQ6IGJvcmRlcjsKIC13ZWJraXQtYm9yZGVyLWlt
YWdlOiBub25lOwogLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFjaW5nOiAwcHg7CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdp
dGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDY3NTQzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBl
bGVtZW50IHdob3NlIHBhcmVuCiAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZTogc291
cmNlLW92ZXIKICAgICAtd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveAogICAg
IC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG8KKyAgICAtd2Via2l0LWJsb2NrLWZs
b3c6IHRiCiAgICAgLXdlYmtpdC1ib3JkZXItZml0OiBib3JkZXIKICAgICAtd2Via2l0LWJvcmRl
ci1pbWFnZTogbm9uZQogICAgIC13ZWJraXQtYm9yZGVyLWhvcml6b250YWwtc3BhY2luZzogMHB4
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBh
cnNlci10ZXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBhcnNlci10ZXN0LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jsb2NrLWZs
b3ctcGFyc2VyLXRlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBA
CitibG9jay1mbG93IHBhcnNlciB0ZXN0CisKKy13ZWJraXQtYmxvY2stZmxvdzp0YgorLXdlYmtp
dC1ibG9jay1mbG93OnJsCistd2Via2l0LWJsb2NrLWZsb3c6bHIKKy13ZWJraXQtYmxvY2stZmxv
dzpidAorT2theSBpZiAtd2Via2l0LWJsb2NrLWZsb3cgdmFsdWVzIGFib3ZlIGFuZCBiZWxvdyBh
cmUgdGhlIHNhbWUuCisKKy13ZWJraXQtYmxvY2stZmxvdzp0YgorLXdlYmtpdC1ibG9jay1mbG93
OnJsCistd2Via2l0LWJsb2NrLWZsb3c6bHIKKy13ZWJraXQtYmxvY2stZmxvdzpidAorCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9ibG9jay1mbG93LXBhcnNlci10
ZXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmxvY2stZmxvdy1wYXJzZXItdGVzdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmxvY2stZmxvdy1wYXJzZXItdGVzdC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1cz
Qy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAKKyJodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5ibG9jay1mbG93IHBh
cnNlciB0ZXN0PC90aXRsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmludChtZXNzYWdlKQorewor
ICAgIHZhciBwYXJhZ3JhcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgIHBh
cmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7Cisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChwYXJhZ3Jh
cGgpOworfQorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisJ
dmFyIGJsb2NrRmxvd1ZhbHVlcyA9IFsidGIiLCAicmwiLCAibHIiLCAiYnQiXTsKKwl2YXIgcEVs
ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworCWZvciAoIGkgPSAw
IDsgaSA8IHBFbGVtcy5sZW5ndGggOyArK2kgKQorCXsKKwkJdmFyIGVsZW0gPSBwRWxlbXNbaV07
CisJCWVsZW0uc3R5bGUud2Via2l0QmxvY2tGbG93ID0gYmxvY2tGbG93VmFsdWVzW2ldOworCQlw
cmludCgiLXdlYmtpdC1ibG9jay1mbG93OiIgKyBlbGVtLnN0eWxlLndlYmtpdEJsb2NrRmxvdyk7
CisJfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cD5i
bG9jay1mbG93IHBhcnNlciB0ZXN0PC9wPgorPGRpdj4td2Via2l0LWJsb2NrLWZsb3c6dGI8L2Rp
dj4KKzxkaXY+LXdlYmtpdC1ibG9jay1mbG93OnJsPC9kaXY+Cis8ZGl2Pi13ZWJraXQtYmxvY2st
ZmxvdzpscjwvZGl2PgorPGRpdj4td2Via2l0LWJsb2NrLWZsb3c6YnQ8L2Rpdj4KKzxwPk9rYXkg
aWYgLXdlYmtpdC1ibG9jay1mbG93IHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1l
LjwvcD4KKzxocj4KKzxwPjxvbCBpZD1jb25zb2xlPjwvb2w+PC9wPgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5
bGUtYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzU0MykKKysrIExheW91dFRlc3RzL3N2
Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTIxMiw2ICsyMTIsOCBAQCByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQt
YmFjCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtYmFja2dyb3VuZC1v
cmlnaW4pIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUpIDogYXV0byBhdXRvCiByZWN0OiBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtYmFja2dyb3VuZC1zaXplKSA6IFtvYmplY3Qg
Q1NTVmFsdWVMaXN0XQorcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWJsb2Nr
LWZsb3cpIDogdGIKK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ibG9j
ay1mbG93KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKC13ZWJraXQtYm9yZGVyLWZpdCkgOiBib3JkZXIKIHJlY3Q6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ib3JkZXItZml0KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtYm9yZGVyLWhvcml6
b250YWwtc3BhY2luZykgOiAwcHgKQEAgLTYzMiw2ICs2MzQsOCBAQCBnOiBzdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKC13ZWJraXQtYmFja2dyCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13
ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4pIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6
IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUpIDogYXV0byBh
dXRvCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtYmFja2dyb3VuZC1zaXpl
KSA6IFtvYmplY3QgQ1NTVmFsdWVMaXN0XQorZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Vi
a2l0LWJsb2NrLWZsb3cpIDogdGIKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtp
dC1ibG9jay1mbG93KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKC13ZWJraXQtYm9yZGVyLWZpdCkgOiBib3JkZXIKIGc6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ib3JkZXItZml0KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtYm9yZGVyLWhvcml6b250
YWwtc3BhY2luZykgOiAwcHgK
</data>
<flag name="review"
          id="57025"
          type_id="1"
          status="+"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="57156"
          type_id="3"
          status="+"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67881</attachid>
            <date>2010-09-16 21:43:21 -0700</date>
            <delta_ts>2010-09-16 23:23:13 -0700</delta_ts>
            <desc>Patch to fix the above SVG test regression</desc>
            <filename>WK45020Patch_100917.txt</filename>
            <type>text/plain</type>
            <size>2282</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzY5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTYgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMAorICAgICAg
ICBTdXBwb3J0ICJibG9jay1mbG93IiBhbmQgIndyaXRpbmctbW9kZSI6IGludGVycHJldCBwcm9w
ZXJ0aWVzIGludG8gUmVuZGVyU3R5bGUKKyAKKyAgICAgICAgRml4ZWQgYSByZWdyZXNzaW9uIGlu
IFNWRyB0ZXN0IGludHJvZHVjZWQgYnkgbXkgcHJldmlvdXMgY2hhbmdlLgorCisgICAgICAgICog
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFV3JpdGluZ01vZGUpOgorICAgICAgICAqIGNzcy9TVkdD
U1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVl
KToKKwogMjAxMC0wOS0xNiAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZpc2lvbiA2NzY4MykKKysrIFdlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjY4NCw3ICsyNjg0
LDIzIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MKIAogdGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVXcml0aW5nTW9kZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEVXcml0aW5nTW9kZT4obV92YWx1ZS5pZGVu
dCAtIENTU1ZhbHVlTHJUYik7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2Fz
ZSBDU1NWYWx1ZUxyVGI6CisgICAgICAgIHJldHVybiBXTV9MUlRCOworICAgIGNhc2UgQ1NTVmFs
dWVMcjoKKyAgICAgICAgcmV0dXJuIFdNX0xSOworICAgIGNhc2UgQ1NTVmFsdWVSbFRiOgorICAg
ICAgICByZXR1cm4gV01fUkxUQjsKKyAgICBjYXNlIENTU1ZhbHVlUmw6CisgICAgICAgIHJldHVy
biBXTV9STDsKKyAgICBjYXNlIENTU1ZhbHVlVGJSbDoKKyAgICAgICAgcmV0dXJuIFdNX1RCUkw7
CisgICAgY2FzZSBDU1NWYWx1ZVRiOgorICAgICAgICByZXR1cm4gV01fVEI7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBXTV9MUlRC
OworICAgIH0KIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKEVWZWN0b3JFZmZlY3QgZSkKSW5kZXg6IFdlYkNvcmUvY3NzL1NWR0NTU1Bh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAkocmV2
aXNpb24gNjc2ODMpCisrKyBXZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMzIsNyArMjMyLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUoaW50
IHByb3BJZAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdyaXRpbmdNb2RlOgogICAgIC8vIGxyLXRi
IHwgcmxfdGIgfCB0Yi1ybCB8IGxyIHwgcmwgfCB0YiB8IGluaGVyaXQKLSAgICAgICAgaWYgKGlk
ID49IENTU1ZhbHVlTHJUYiAmJiBpZCA8PSBDU1NWYWx1ZVRiKQorICAgICAgICBpZiAoaWQgPT0g
Q1NTVmFsdWVMclRiIHx8IGlkID09IENTU1ZhbHVlUmxUYiB8fCBpZCA9PSBDU1NWYWx1ZVRiUmwg
fHwgaWQgPT0gQ1NTVmFsdWVMciB8fCBpZCA9PSBDU1NWYWx1ZVJsIHx8IGlkID09IENTU1ZhbHVl
VGIpCiAgICAgICAgICAgICB2YWxpZF9wcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>