<?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>17767</bug_id>
          
          <creation_ts>2008-03-11 07:46:36 -0700</creation_ts>
          <short_desc>frameborder=&quot;no&quot; on frameset is ignored if border attribute set</short_desc>
          <delta_ts>2012-06-28 17:56:08 -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>Layout and Rendering</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>http://estbioinfo.stat.ub.es/apli/serbgov13/index.php</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Sherlock">gsherloc</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>esprehn</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73311</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Sherlock">gsherloc</who>
    <bug_when>2008-03-11 07:46:36 -0700</bug_when>
    <thetext>Everything on the page is shifted down, with the main content of the page being in a tiny frame on the bottom right.  Renders correctly in Firefox.  Tested with r30939 and release Safari on 10.5.2.  Have not tested if it is a regression from Safari 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76490</commentid>
    <comment_count>1</comment_count>
    <who name="Marcus">gamander</who>
    <bug_when>2008-04-07 06:21:26 -0700</bug_when>
    <thetext>The page has two framesets with these attributes:
framespacing=&quot;0&quot; frameborder=&quot;NO&quot; border=&quot;800&quot;

IE 7 prefers framespacing=&quot;0&quot; over border=&quot;800&quot; and draws no border between the frames.
Safari 3.1 ignores the framespacing attribute and draws a 800-pixel wide border.
Firefox 3 also ignores the framespacing attribute but interprets frameborder=&quot;NO&quot; to signify that no border should be drawn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95346</commentid>
    <comment_count>2</comment_count>
    <who name="Jon@Chromium">jon</who>
    <bug_when>2008-10-14 13:23:28 -0700</bug_when>
    <thetext>Also see Chromium bug http://code.google.com/p/chromium/issues/detail?id=1365</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656972</commentid>
    <comment_count>3</comment_count>
      <attachid>149383</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-25 16:12:17 -0700</bug_when>
    <thetext>Created attachment 149383
Reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657080</commentid>
    <comment_count>4</comment_count>
      <attachid>149410</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-25 17:55:03 -0700</bug_when>
    <thetext>Created attachment 149410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657672</commentid>
    <comment_count>5</comment_count>
      <attachid>149410</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-26 09:54:39 -0700</bug_when>
    <thetext>Comment on attachment 149410
Patch

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

How good is our coverage of |frameborder| and |border|? I had a hard time understanding why you wouldn&apos;t break any case: checking |m_frameborder| would normally be dependent on the attribute ordering but here works because it defaults to true. If something changes, some of cases will break which why I would like you to point out or provide more coverage for those.

&gt; Source/WebCore/html/HTMLFrameSetElement.cpp:113
&gt;              if (!m_border)
&gt;                  m_frameborder = false;

This should go into the &quot;if (m_frameborder)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657681</commentid>
    <comment_count>6</comment_count>
      <attachid>149410</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-26 10:03:10 -0700</bug_when>
    <thetext>Comment on attachment 149410
Patch

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

&gt; LayoutTests/fast/frames/frame-frameborder-overides-border.html:5
&gt; +    WebKit doesn&apos;t ignore border=&quot;...&quot; when frameborder is NO while all other
&gt; +    browsers will.

I would probably use a dumpAsText test instead.  It&apos;s slightly easier to maintain than a reftest.  Also, for dumpAsText or reftests, I would include the description text in the generated output.  It might also be nice to add tests for frameborder={0,1,yes}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657798</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-26 11:42:42 -0700</bug_when>
    <thetext>Ah, I didn&apos;t realize order matters.  Seems like we need more test cases!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657932</commentid>
    <comment_count>8</comment_count>
      <attachid>149410</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-26 13:36:55 -0700</bug_when>
    <thetext>Comment on attachment 149410
Patch

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

&gt;&gt; LayoutTests/fast/frames/frame-frameborder-overides-border.html:5
&gt;&gt; +    browsers will.
&gt; 
&gt; I would probably use a dumpAsText test instead.  It&apos;s slightly easier to maintain than a reftest.  Also, for dumpAsText or reftests, I would include the description text in the generated output.  It might also be nice to add tests for frameborder={0,1,yes}.

So I should dump the borders using getComputedStyle?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657937</commentid>
    <comment_count>9</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-26 13:39:38 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Ah, I didn&apos;t realize order matters.  Seems like we need more test cases!

Yeah it works because the default is true as required by IE compatibility behavior. I&apos;ll add more tests since this might not be obvious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657952</commentid>
    <comment_count>10</comment_count>
      <attachid>149410</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-26 13:48:28 -0700</bug_when>
    <thetext>Comment on attachment 149410
Patch

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

&gt;&gt;&gt; LayoutTests/fast/frames/frame-frameborder-overides-border.html:5
&gt;&gt;&gt; +    browsers will.
&gt;&gt; 
&gt;&gt; I would probably use a dumpAsText test instead.  It&apos;s slightly easier to maintain than a reftest.  Also, for dumpAsText or reftests, I would include the description text in the generated output.  It might also be nice to add tests for frameborder={0,1,yes}.
&gt; 
&gt; So I should dump the borders using getComputedStyle?

Yeah, that&apos;s what I was thinking.  Maybe that doesn&apos;t work for framesets or frames?  You could also get the clientWidth of the frames and make sure they&apos;re the right size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658015</commentid>
    <comment_count>11</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-26 14:51:12 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 149410 [details])
&gt; ...
&gt; &gt; Source/WebCore/html/HTMLFrameSetElement.cpp:113
&gt; &gt;              if (!m_border)
&gt; &gt;                  m_frameborder = false;
&gt; 
&gt; This should go into the &quot;if (m_frameborder)&quot;.

They logically have the same effect but that&apos;s more nesting. Is there a reason?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658030</commentid>
    <comment_count>12</comment_count>
      <attachid>149410</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-26 15:11:20 -0700</bug_when>
    <thetext>Comment on attachment 149410
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLFrameSetElement.cpp:113
&gt;&gt;&gt;                  m_frameborder = false;
&gt;&gt; 
&gt;&gt; This should go into the &quot;if (m_frameborder)&quot;.
&gt; 
&gt; They logically have the same effect but that&apos;s more nesting. Is there a reason?

I don&apos;t see what the issue with more nesting is. With the new logic, we don&apos;t need to run this check if m_frameborder is false (in which case m_border will be false anyway).

&gt; LayoutTests/fast/frames/frame-frameborder-overides-border.html:14
&gt; +    but instead you see the above with lots of white spaces around it because
&gt; +    the frameborder still renders.
&gt; +--&gt;

Also this description should be dumped in the output if it doesn&apos;t make your test platform dependent (which is the case for ref-tests and dumpAsText). I also advise to add the bug title and number but other reviewers have other opinions on that. That makes tests whose output are easier to read and maintain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659782</commentid>
    <comment_count>13</comment_count>
      <attachid>150005</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-28 13:50:27 -0700</bug_when>
    <thetext>Created attachment 150005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659796</commentid>
    <comment_count>14</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-28 13:59:46 -0700</bug_when>
    <thetext>It turns out there was more brokeness in there like frameborder actually being parsed to an int making frameborder=yes the same as frameborder=no.

I&apos;ve done a bunch of fix up on the parsing and handling of inheritance and added lots of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659821</commentid>
    <comment_count>15</comment_count>
      <attachid>150013</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-28 14:19:24 -0700</bug_when>
    <thetext>Created attachment 150013
Patch

Fix funky whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659837</commentid>
    <comment_count>16</comment_count>
      <attachid>150013</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-28 14:35:02 -0700</bug_when>
    <thetext>Comment on attachment 150013
Patch

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

&gt; Source/WebCore/html/HTMLFrameSetElement.cpp:101
&gt; +            } else if (equalIgnoringCase(value, &quot;yes&quot;) || equalIgnoringCase(value, &quot;1&quot;)) {
&gt; +                // Default is true.

I think this comment is confusing (it&apos;s not obvious we&apos;re talking about m_border). I would just remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659862</commentid>
    <comment_count>17</comment_count>
      <attachid>150021</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-06-28 15:06:21 -0700</bug_when>
    <thetext>Created attachment 150021
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659995</commentid>
    <comment_count>18</comment_count>
      <attachid>150021</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-28 17:56:02 -0700</bug_when>
    <thetext>Comment on attachment 150021
Patch for landing

Clearing flags on attachment: 150021

Committed r121494: &lt;http://trac.webkit.org/changeset/121494&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659996</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-28 17:56:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>149383</attachid>
            <date>2012-06-25 16:12:17 -0700</date>
            <delta_ts>2012-06-25 17:33:36 -0700</delta_ts>
            <desc>Reduction</desc>
            <filename>Reduction.html</filename>
            <type>text/html</type>
            <size>756</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+DQoNCjwhLS0NCiAgICBXZWJLaXQgZG9lc24ndCBpZ25vcmUgYm9yZGVy
PSIuLi4iIHdoZW4gZnJhbWVib3JkZXIgaXMgTk8gd2hpbGUgYWxsIG90aGVyDQogICAgYnJvd3Nl
cnMgd2lsbC4NCg0KICAgIFlvdSBzaG91bGQgc2VlDQoNCiAgICB+fn5+fn5+fn5+IEdyZWVuIH5+
fn5+fn5+fn5+DQogICAgfn4gUmVkIH5+IHwgfn5+fn4gQmx1ZSB+fn5+fg0KDQogICAgYnV0IGlu
c3RlYWQgeW91IHNlZSB0aGUgYWJvdmUgd2l0aCBsb3RzIG9mIHdoaXRlIHNwYWNlcyBhcm91bmQg
aXQgYmVjYXVzZQ0KICAgIHRoZSBmcmFtZWJvcmRlciBzdGlsbCByZW5kZXJzLg0KLS0+DQo8ZnJh
bWVzZXQgcm93cz0iOTQsKiIgY29scz0iKiIgZnJhbWVzcGFjaW5nPSIwIiBmcmFtZWJvcmRlcj0i
Tk8iIGJvcmRlcj0iODAwIj4NCiAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJv
ZHkgc3R5bGU9J2JhY2tncm91bmQ6Z3JlZW4nPiI+DQogICAgICAgIDxmcmFtZXNldCByb3dzPSIq
IiBjb2xzPSIxNzAsKiIgZnJhbWVzcGFjaW5nPSIwIiBmcmFtZWJvcmRlcj0iTk8iIGJvcmRlcj0i
ODAwIj4NCiAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IHN0eWxl
PSdiYWNrZ3JvdW5kOnJlZCc+Ij4NCiAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9o
dG1sLDxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kOmJsdWUnPiI+DQogICAgICAgIDwvZnJhbWVzZXQ+
DQo8L2ZyYW1lc2V0Pg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149410</attachid>
            <date>2012-06-25 17:55:03 -0700</date>
            <delta_ts>2012-06-28 13:50:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-17767-20120625175502.patch</filename>
            <type>text/plain</type>
            <size>4199</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFmNGYyMmE5MGQxNDlk
ZDhjZDY2YjYwYmExODcwNzI4M2IzMWY3My4uYzFjOTgzNTc5YzllMjAwYjBjODg1ZWE5NWZjNjk1
YTRjZGZlM2EyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI1ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AZ21haWwuY29tPgorCisgICAgICAgIEZyYW1lc2V0IHBhZ2Ug
cmVuZGVycyBpbmNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlcyBmcmFtZWJvcmRlcj0ibm8iIG92ZXJyaWRlIGJvcmRlcj0ibnVtYmVy
Ii4KKworICAgICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9mcmFtZS1mcmFtZWJvcmRlci1vdmVyaWRl
cy1ib3JkZXIuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZVNldEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTog
V2UgdXNlZCB0byBpbmNvcnJlY3RseSBtYWtlIGJvcmRlcj0iWFgiIG92ZXJyaWRlIGZyYW1lYm9y
ZGVyPSJubyIKKwogMjAxMi0wNi0yMSAgT2xpIExhbiAgPG9saWxhbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgQWRkIG1ldGhvZHMgdG8gc2VsZWN0IGJldHdlZW4gb2Zmc2V0cyBpbiBhbiBlZGl0
YWJsZSBmaWVsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3Bw
CmluZGV4IGIwZTdmMDQyN2EwNmQyMGExOWU5MDVhOGZhMWIyNDk0NmMwYTRhZjUuLjgwZjNmYzli
YmUzNmJhMjIzNTJiYzQzYmQxY2Y1N2JkZjY3MWRmMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcApAQCAtMTA3LDcgKzEwNyw4IEBAIHZvaWQgSFRNTEZy
YW1lU2V0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUp
CiAgICAgICAgIG1fbm9yZXNpemUgPSB0cnVlOwogICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlLm5h
bWUoKSA9PSBib3JkZXJBdHRyKSB7CiAgICAgICAgIGlmICghYXR0cmlidXRlLmlzTnVsbCgpKSB7
Ci0gICAgICAgICAgICBtX2JvcmRlciA9IGF0dHJpYnV0ZS52YWx1ZSgpLnRvSW50KCk7CisgICAg
ICAgICAgICBpZiAobV9mcmFtZWJvcmRlcikKKyAgICAgICAgICAgICAgICBtX2JvcmRlciA9IGF0
dHJpYnV0ZS52YWx1ZSgpLnRvSW50KCk7CiAgICAgICAgICAgICBpZiAoIW1fYm9yZGVyKQogICAg
ICAgICAgICAgICAgIG1fZnJhbWVib3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgIG1fYm9yZGVy
U2V0ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA3ZjZkNjQ0NDdhYmI4YjM4NGYxMGNkMGM1ZDBmOGMwNmQ5OGM5
NjA4Li5hZDc0MGQ1YzRhZGNmNTcyZGNlNWVlZDFhMDk3M2M5YWMyYTQxMDY1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTItMDYtMjUgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBnbWFpbC5j
b20+CisKKyAgICAgICAgRnJhbWVzZXQgcGFnZSByZW5kZXJzIGluY29ycmVjdGx5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc2NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCB2ZXJpZmll
cyB0aGF0IGZyYW1lYm9yZGVyPSJubyIgb3ZlcnJpZGVzIGJvcmRlcj0ibnVtYmVyIgorCisgICAg
ICAgICogZmFzdC9mcmFtZXMvZnJhbWUtZnJhbWVib3JkZXItb3ZlcmlkZXMtYm9yZGVyLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1lLWZyYW1lYm9yZGVy
LW92ZXJpZGVzLWJvcmRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0yMSAgS2VubmV0aCBSdXNz
ZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBMYXlvdXQgVGVzdCBm
YXN0L3NwZWVjaC9zY3JpcHRlZC9zcGVlY2hncmFtbWFyLWJhc2ljcy5odG1sIGlzIGZsYWt5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS1mcmFtZWJvcmRlci1vdmVy
aWRlcy1ib3JkZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1l
LWZyYW1lYm9yZGVyLW92ZXJpZGVzLWJvcmRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4
NzVjZjU1YmM3ZjUxZDM5OWE1Nzk2ODczYzk0ZWY0MjlmYzZhY2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS1mcmFtZWJvcmRlci1vdmVyaWRlcy1ib3Jk
ZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhZG9jdHlwZSBodG1sPgorCis8ZnJh
bWVzZXQgcm93cz0iOTQsKiIgY29scz0iKiIgZnJhbWVib3JkZXI9Im5vIiBib3JkZXI9IjgwMCI+
CisgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHlzdHlsZT0nYmFja2dyb3VuZDpn
cmVlbic+Ij4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iMTcwLCoiIGZyYW1lYm9yZGVy
PSJubyIgYm9yZGVyPSI4MDAiPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8
Ym9keXN0eWxlPSdiYWNrZ3JvdW5kOnJlZCc+Ij4KKyAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0
ZXh0L2h0bWwsPGJvZHlzdHlsZT0nYmFja2dyb3VuZDpibHVlJz4iPgorICAgIDwvZnJhbWVzZXQ+
Cis8L2ZyYW1lc2V0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUt
ZnJhbWVib3JkZXItb3ZlcmlkZXMtYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mcmFtZS1mcmFtZWJvcmRlci1vdmVyaWRlcy1ib3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2Ew
NjYzNDcyZDA2NGYwYzgxY2Y1NGIwYjgyNzhlZDBhODM1NWU1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtZnJhbWVib3JkZXItb3ZlcmlkZXMtYm9yZGVy
Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFkb2N0eXBlIGh0bWw+CisKKzwhLS0KKyAgICBXZWJL
aXQgZG9lc24ndCBpZ25vcmUgYm9yZGVyPSIuLi4iIHdoZW4gZnJhbWVib3JkZXIgaXMgTk8gd2hp
bGUgYWxsIG90aGVyCisgICAgYnJvd3NlcnMgd2lsbC4KKworICAgIFlvdSBzaG91bGQgc2VlCisK
KyAgICB+fn5+fn5+fn5+IEdyZWVuIH5+fn5+fn5+fn5+CisgICAgfn4gUmVkIH5+IHwgfn5+fn4g
Qmx1ZSB+fn5+fgorCisgICAgYnV0IGluc3RlYWQgeW91IHNlZSB0aGUgYWJvdmUgd2l0aCBsb3Rz
IG9mIHdoaXRlIHNwYWNlcyBhcm91bmQgaXQgYmVjYXVzZQorICAgIHRoZSBmcmFtZWJvcmRlciBz
dGlsbCByZW5kZXJzLgorLS0+Cis8ZnJhbWVzZXQgcm93cz0iOTQsKiIgY29scz0iKiIgZnJhbWVi
b3JkZXI9Im5vIiBib3JkZXI9IjgwMCI+CisgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWws
PGJvZHlzdHlsZT0nYmFja2dyb3VuZDpncmVlbic+Ij4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIg
Y29scz0iMTcwLCoiIGZyYW1lYm9yZGVyPSJubyIgYm9yZGVyPSI4MDAiPgorICAgICAgICA8ZnJh
bWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keXN0eWxlPSdiYWNrZ3JvdW5kOnJlZCc+Ij4KKyAg
ICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHlzdHlsZT0nYmFja2dyb3VuZDpi
bHVlJz4iPgorICAgIDwvZnJhbWVzZXQ+Cis8L2ZyYW1lc2V0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150005</attachid>
            <date>2012-06-28 13:50:27 -0700</date>
            <delta_ts>2012-06-28 14:19:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-17767-20120628135027.patch</filename>
            <type>text/plain</type>
            <size>16823</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFmNGYyMmE5MGQxNDlk
ZDhjZDY2YjYwYmExODcwNzI4M2IzMWY3My4uMDU0ZjM3MmU1MWRiOTZkNjYwYjA5NGYwODEzZWMy
ZDY0YjJhNTM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTI4ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AZ21haWwuY29tPgorCisgICAgICAgIGZyYW1lYm9yZGVyPSJu
byIgb24gZnJhbWVzZXQgaXMgaWdub3JlZCBpZiBib3JkZXIgYXR0cmlidXRlIHNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyA8ZnJhbWVzZXQ+
IGZyYW1lYm9yZGVyIGFuZCBib3JkZXIgaGFuZGxpbmcuIFByZXZpb3VzbHkgd2UnZAorICAgICAg
ICBvdmVycmlkZSB0aGUgZnJhbWVib3JkZXI9bm8gc2V0dGluZyBpZiBib3JkZXIgd2FzIHNldC4g
V2UgYWxzbworICAgICAgICB0cmVhdGVkIGZyYW1lYm9yZGVyPSJhbnl0aGluZyIgdGhlIHNhbWUg
YXMgZnJhbWVib3JkZXI9MCBzaW5jZSB3ZQorICAgICAgICB3ZSBqdXN0IGNvbnZlcnRlZCBpdCB0
byBhIG51bWJlciBzbyBmcmFtZWJvcmRlcj15ZXMgd2FzIGluY29ycmVjdGx5CisgICAgICAgIHRy
ZWF0ZWQgdGhlIHNhbWUgYXMgZnJhbWVib3JkZXI9bm8uCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLW92ZXJyaWRl
cy1ib3JkZXIuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDog
UHJvcGVyIHBhcnNpbmcgb2YgeWVzLG5vLDEsMCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MRnJhbWVTZXRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVTZXRFbGVtZW50
Ojpib3JkZXIpOiBCb3JkZXIgc2hvdWxkIGJlIDAgaWYgZnJhbWVib3JkZXI9bm8uCisKIDIwMTIt
MDYtMjEgIE9saSBMYW4gIDxvbGlsYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBtZXRo
b2RzIHRvIHNlbGVjdCBiZXR3ZWVuIG9mZnNldHMgaW4gYW4gZWRpdGFibGUgZmllbGQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcAppbmRleCBiMGU3ZjA0Mjdh
MDZkMjBhMTllOTA1YThmYTFiMjQ5NDZjMGE0YWY1Li5mNWNmNzVlZWQ0YjIwMDY0NzRhMTU0ZDEx
MTUxNDNiZmZkZTAzYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZVNldEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxl
bWVudC5jcHAKQEAgLTkzLDEyICs5MywxNCBAQCB2b2lkIEhUTUxGcmFtZVNldEVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IGZyYW1lYm9yZGVyQXR0cikgewogICAgICAg
ICBpZiAoIWF0dHJpYnV0ZS5pc051bGwoKSkgewotICAgICAgICAgICAgLy8gZmFsc2Ugb3IgIm5v
IiBvciAiMCIuLgotICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZS52YWx1ZSgpLnRvSW50KCkgPT0g
MCkgeworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHJpYnV0ZS52
YWx1ZSgpOworICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAibm8iKSB8
fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgIjAiKSkgewogICAgICAgICAgICAgICAgIG1fZnJh
bWVib3JkZXIgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBtX2JvcmRlciA9IDA7CisgICAgICAg
ICAgICAgICAgbV9mcmFtZWJvcmRlclNldCA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAieWVzIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFs
dWUsICIxIikpIHsKKyAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGlzIHRydWUuCisgICAgICAg
ICAgICAgICAgbV9mcmFtZWJvcmRlclNldCA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBtX2ZyYW1lYm9yZGVyU2V0ID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIG1fZnJhbWVib3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgIG1fZnJhbWVib3JkZXJTZXQg
PSBmYWxzZTsKQEAgLTEwOCw4ICsxMTAsNiBAQCB2b2lkIEhUTUxGcmFtZVNldEVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgIH0gZWxzZSBpZiAo
YXR0cmlidXRlLm5hbWUoKSA9PSBib3JkZXJBdHRyKSB7CiAgICAgICAgIGlmICghYXR0cmlidXRl
LmlzTnVsbCgpKSB7CiAgICAgICAgICAgICBtX2JvcmRlciA9IGF0dHJpYnV0ZS52YWx1ZSgpLnRv
SW50KCk7Ci0gICAgICAgICAgICBpZiAoIW1fYm9yZGVyKQotICAgICAgICAgICAgICAgIG1fZnJh
bWVib3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgIG1fYm9yZGVyU2V0ID0gdHJ1ZTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBtX2JvcmRlclNldCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaAppbmRleCBhNGMzOTFiOTQ3ZWFlYzIzNTFiMGU3
Y2U4ODhkNTY2N2U4ZjI2N2YwLi45YzMzMTFhMjc4MjE4MWFhMzEyMDAzZDU4OGI4YjVkNThhZGI0
YTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaApAQCAtMzgs
NyArMzgsNyBAQCBwdWJsaWM6CiAKICAgICBpbnQgdG90YWxSb3dzKCkgY29uc3QgeyByZXR1cm4g
bV90b3RhbFJvd3M7IH0KICAgICBpbnQgdG90YWxDb2xzKCkgY29uc3QgeyByZXR1cm4gbV90b3Rh
bENvbHM7IH0KLSAgICBpbnQgYm9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9ib3JkZXI7IH0KKyAg
ICBpbnQgYm9yZGVyKCkgY29uc3QgeyByZXR1cm4gaGFzRnJhbWVCb3JkZXIoKSA/IG1fYm9yZGVy
IDogMDsgfQogCiAgICAgYm9vbCBoYXNCb3JkZXJDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fYm9y
ZGVyQ29sb3JTZXQ7IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdmNmQ2NDQ0N2FiYjhiMzg0ZjEwY2QwYzVkMGY4YzA2
ZDk4Yzk2MDguLjRhOWY2MWE2MTZjZGU2NGQ1YTVhYzg5MTdjOGQ3Y2QxMDNjMThhOWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNi0yOCAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGdt
YWlsLmNvbT4KKworICAgICAgICBmcmFtZWJvcmRlcj0ibm8iIG9uIGZyYW1lc2V0IGlzIGlnbm9y
ZWQgaWYgYm9yZGVyIGF0dHJpYnV0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGxvdHMgb2YgdGVzdHMgZm9yIDxmcmFtZXNldD4gZnJhbWVi
b3JkZXIgYW5kIGJvcmRlciBoYW5kbGluZy4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1l
c2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVhbi12YWx1ZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFt
ZXNldC1mcmFtZWJvcmRlci1pbmhlcml0YW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3Zl
cnJpZGVzLWJvcmRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0yMSAgS2VubmV0aCBSdXNzZWxs
ICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBMYXlvdXQgVGVzdCBmYXN0
L3NwZWVjaC9zY3JpcHRlZC9zcGVlY2hncmFtbWFyLWJhc2ljcy5odG1sIGlzIGZsYWt5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1ib29s
ZWFuLXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNl
dC1mcmFtZWJvcmRlci1ib29sZWFuLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjA4
OTBjM2FjYmJmYjJhYjQ2YzliOTkwMjk0ZGVlNTgxYzZhNjg5OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFs
dWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVjayBmcmFtZXNldCBmcmFtZWJv
cmRlciBhdHRyaWJ1dGUgYWxsb3dzIDEseWVzIGZvciB0cnVlIGFuZCAwLG5vIGZvciBmYWxzZQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZnJhbWVib3JkZXI9MSBpcyB0cnVlCitQ
QVNTIGZyYW1lc1swXS5vZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVzWzFdLm9mZnNldFdp
ZHRoIGlzIDE0NQorCisKK2ZyYW1lYm9yZGVyPXllcyBpcyB0cnVlCitQQVNTIGZyYW1lc1swXS5v
ZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVzWzFdLm9mZnNldFdpZHRoIGlzIDE0NQorCisK
K2ZyYW1lYm9yZGVyPTAgaXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1
MAorUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJhbWVib3JkZXI9bm8g
aXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFTUyBmcmFtZXNb
MV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworSW52YWxpZCB2YWx1ZXMgbGlrZSBmcmFtZWJvcmRl
cj1mYWxzZSBhcmUgaWdub3JlZAorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTQ3CitQ
QVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDcKKworCitJbnZhbGlkIHZhbHVlcyBsaWtl
IGZyYW1lYm9yZGVyPTIgYXJlIGlnbm9yZWQKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlz
IDE0NworUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ3CisKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgICAgICAgIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVhbi12
YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVy
LWJvb2xlYW4tdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ4MmFmOWRkMjRmZTc4Y2ZkMDdjZjk0
Yjk3M2M4NDNmOWVkNjgwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwKQEAgLTAsMCArMSw4
MSBAQAorPCFkb2N0eXBlIGh0bWw+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCis8aWZyYW1lIGRhdGEtdGVzdD0iZnJhbWVib3JkZXI9
MSBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAgICA8IWRvY3R5cGUg
aHRtbD4KKyAgICA8IS0tCisgICAgICAgIFRvIHRlc3QgdHJ1ZSB2YWx1ZXMgd2UgbmVlZCB0byBu
ZXN0IGluIGEgZmFsc2UgdmFsdWUgZmlyc3Qgc2luY2UgdGhlCisgICAgICAgIGRlZmF1bHQgdmFs
dWUgaXMgYWxyZWFkeSB0cnVlLiBJZiB3ZSBkaWRuJ3QgZG8gdGhpcyB0aGVuIHRoZSB0ZXN0cyB3
b3VsZAorICAgICAgICBwYXNzIGV2ZW4gaWYgdGhlIGJyb3dzZXIgaWdub3JlZCB0aGUgYXR0cmli
dXRlIGVudGlyZWx5LgorICAgIC0tPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSIqIiBm
cmFtZWJvcmRlcj0iMCI+CisgICAgICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIg
ZnJhbWVib3JkZXI9IjEiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0
YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9
ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2ZyYW1lc2V0
PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9ImZyYW1l
Ym9yZGVyPXllcyBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAgICA8
IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVib3Jk
ZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9y
ZGVyPSJ5ZXMiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0
L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6
dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAg
IDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9ImZyYW1lYm9yZGVy
PTAgaXMgZmFsc2UiIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNTAiPgorICAgIDwhZG9jdHlw
ZSBodG1sPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIgZnJhbWVib3JkZXI9
IjAiPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPXJl
ZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPWJs
dWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUgZGF0YS10ZXN0PSJm
cmFtZWJvcmRlcj1ubyBpcyBmYWxzZSIgZGF0YS1hc3NlcnQtZnJhbWUtd2lkdGg9IjE1MCI+Cisg
ICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBm
cmFtZWJvcmRlcj0ibk8iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPXJlZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUg
ZGF0YS10ZXN0PSJJbnZhbGlkIHZhbHVlcyBsaWtlIGZyYW1lYm9yZGVyPWZhbHNlIGFyZSBpZ25v
cmVkIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ3Ij4KKyAgICA8IWRvY3R5cGUgaHRtbD4K
KyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9yZGVyPSJmYWxzZSI+
CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9cmVkPiI+
CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4i
PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9IkludmFs
aWQgdmFsdWVzIGxpa2UgZnJhbWVib3JkZXI9MiBhcmUgaWdub3JlZCIgZGF0YS1hc3NlcnQtZnJh
bWUtd2lkdGg9IjE0NyI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9
IioiIGNvbHM9IjUwLDUwIiBmcmFtZWJvcmRlcj0iMiI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRh
dGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9cmVkPiI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRh
dGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgIDwvZnJhbWVzZXQ+Cis8L2lm
cmFtZT4KKworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbignQ2hlY2sgZnJhbWVzZXQgZnJhbWVi
b3JkZXIgYXR0cmlidXRlIGFsbG93cyAxLHllcyBmb3IgdHJ1ZSBhbmQgMCxubyBmb3IgZmFsc2Un
KTsKKworICAgIGlmcmFtZXMgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoJ2lmcmFtZScpKTsKKyAgICBpZnJhbWVzLmZvckVhY2goZnVuY3Rpb24oaWZyYW1lKSB7Cisg
ICAgICAgIC8vIENhbid0IHVzZSBzcmNkb2Mgc2luY2UgdGhhdCB3b3VsZG4ndCBzeW5jaHJvbm91
c2x5IGxvYWQgdGhlIGNvbnRlbnQuCisgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3Jp
dGUoaWZyYW1lLnRleHRDb250ZW50KTsKKyAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5j
bG9zZSgpOworCisgICAgICAgIGZyYW1lc2V0ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdmcmFtZXNldCcpOworICAgICAgICBleHBlY3RlZFdpZHRoID0gaWZyYW1lLmRh
dGFzZXQuYXNzZXJ0RnJhbWVXaWR0aDsKKyAgICAgICAgZnJhbWVzID0gZnJhbWVzZXQucXVlcnlT
ZWxlY3RvckFsbCgnZnJhbWUnKTsKKyAgICAgICAgZGVidWcoaWZyYW1lLmRhdGFzZXQudGVzdCk7
CisgICAgICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lkdGgnLCBleHBlY3RlZFdpZHRo
KTsKKyAgICAgICAgc2hvdWxkQmUoJ2ZyYW1lc1sxXS5vZmZzZXRXaWR0aCcsIGV4cGVjdGVkV2lk
dGgpOworICAgICAgICBkZWJ1ZygnPGJyPicpOworICAgIH0pOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZy
YW1lYm9yZGVyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzhiZmEwYWVh
YTRjZTdkODdlYzk0ZjNlZDU0NDg5NzBiNmY2NjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0NoZWNrIGZyYW1lc2V0IGZyYW1lYm9yZGVyIGFuZCBi
b3JkZXIgYXR0cmlidXRlIGluaGVyaXRhbmNlCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCittaXNzaW5nIGZyYW1lYm9yZGVyIGF0dHJpYnV0ZSBzaG91bGQgaW5oZXJpdCBpdAorUEFT
UyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0
aCBpcyAxNTAKKworCitpbmhlcml0ZWQgZnJhbWVib3JkZXI9bm8gc2hvdWxkIGluaGVyaXQgYm9y
ZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFTUyBmcmFtZXNbMV0u
b2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJhbWVib3JkZXI9eWVzIGFuZCBib3JkZXIgc2hvdWxk
IG92ZXJyaWRlIGluaGVyaXRlZCB2YWx1ZQorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMg
MTQ1CitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDUKKworCitpbmhlcml0ZWQgZnJh
bWVib3JkZXI9MCBzaG91bGQgaGF2ZSBib3JkZXI9MCBldmVuIGlmIHNwZWNpZmllZCBkaWZmZXJl
bnRseQorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sxXS5v
ZmZzZXRXaWR0aCBpcyAxNTAKKworCitib3JkZXJjb2xvciBzaG91bGQgaW5oZXJpdCBldmVuIGlm
IGZyYW1lYm9yZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE0NQorUEFTUyBm
cmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ1CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZnJhbWVz
ZXQpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKKworCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgICAgIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJpdGFuY2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRh
bmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNhY2FkODNiODYwNTc2MmZlYmRiZWYzODQzMDczNTVhZmEy
MjdmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0
LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzwhZG9jdHlw
ZSBodG1sPgorCis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKworPGlmcmFtZQorICAgIGRhdGEtdGVzdD0ibWlzc2luZyBmcmFtZWJvcmRlciBh
dHRyaWJ1dGUgc2hvdWxkIGluaGVyaXQgaXQiCisKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13aWR0
aD0iMTUwIj4KKyAgICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29s
cz0iKiIgZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0i
NTAsNTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdj
b2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5
IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8
L2lmcmFtZT4KKworPGlmcmFtZQorCisgICAgZGF0YS10ZXN0PSJpbmhlcml0ZWQgZnJhbWVib3Jk
ZXI9bm8gc2hvdWxkIGluaGVyaXQgYm9yZGVyPTAiCisKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13
aWR0aD0iMTUwIj4KKyAgICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIg
Y29scz0iKiIgZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29s
cz0iNTAsNTAiIGZyYW1lYm9yZGVyPSIxIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6
dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Z3JlZW4+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9
ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9eWVsbG93PiI+CisgICAgICAgIDwvZnJhbWVz
ZXQ+CisgICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8aWZyYW1lCisKKyAgICBkYXRhLXRl
c3Q9ImZyYW1lYm9yZGVyPXllcyBhbmQgYm9yZGVyIHNob3VsZCBvdmVycmlkZSBpbmhlcml0ZWQg
dmFsdWUiCisKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAgICA8IWRvY3R5
cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVib3JkZXI9IjAi
PgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9yZGVyPSIx
IiBib3JkZXI9IjEwIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxi
b2R5IGJnY29sb3I9b3JhbmdlPiI+CisgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQv
aHRtbCw8Ym9keSBiZ2NvbG9yPXBpbms+Ij4KKyAgICAgICAgPC9mcmFtZXNldD4KKyAgICA8L2Zy
YW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUKKworICAgIGRhdGEtdGVzdD0iaW5oZXJpdGVk
IGZyYW1lYm9yZGVyPTAgc2hvdWxkIGhhdmUgYm9yZGVyPTAgZXZlbiBpZiBzcGVjaWZpZWQgZGlm
ZmVyZW50bHkiCisKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTUwIj4KKyAgICA8IWRv
Y3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVib3JkZXI9
IjAiIGJvcmRlcj0iMTAiPgorICAgICAgICA8IS0tCisKKyAgICAgICAgICAgIFRoaXMgaW5oZXJp
dHMgZnJhbWVib3JkZXI9IjAiIHNvIHRoZSBib3JkZXI9IjIwIiBzaG91bGQgYmUgaWdub3JlZAor
ICAgICAgICAgICAgYW5kIGNoaWxkcmVuIG9mIGl0IHNob3VsZCBpbmhlcml0IGJvcmRlcj0iMCIu
CisgICAgICAgIC0tPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgYm9yZGVy
PSIyMCI+CisgICAgICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1l
Ym9yZGVyPSIxIj4KKyAgICAgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8
Ym9keSBiZ2NvbG9yPWdyZWVuPiI+CisgICAgICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0
ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj15ZWxsb3c+Ij4KKyAgICAgICAgICAgIDwvZnJhbWVzZXQ+
CisgICAgICAgIDwvZnJhbWVzZXQ+CisgICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8aWZy
YW1lCisKKyAgICBkYXRhLXRlc3Q9ImJvcmRlcmNvbG9yIHNob3VsZCBpbmhlcml0IGV2ZW4gaWYg
ZnJhbWVib3JkZXI9MCIKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1IgorICAgIGRh
dGEtYXNzZXJ0LWJvcmRlci1jb2xvcj0icmdiKDAsIDEyOCwgMCkiPgorICAgIDwhZG9jdHlwZSBo
dG1sPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSIqIiBmcmFtZWJvcmRlcj0iMCIgYm9y
ZGVyY29sb3I9ImdyZWVuIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGZy
YW1lYm9yZGVyPSIxIj4KKyAgICAgICAgICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1
MCIgYm9yZGVyPSIxMCI+CisgICAgICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0
bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRh
OnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICAgICAgICAgIDwvZnJhbWVzZXQ+
CisgICAgICAgIDwvZnJhbWVzZXQ+CisgICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8c2Ny
aXB0PgorICAgIGRlc2NyaXB0aW9uKCdDaGVjayBmcmFtZXNldCBmcmFtZWJvcmRlciBhbmQgYm9y
ZGVyIGF0dHJpYnV0ZSBpbmhlcml0YW5jZScpOworCisgICAgaWZyYW1lcyA9IFtdLnNsaWNlLmNh
bGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaWZyYW1lJykpOworICAgIGlmcmFtZXMuZm9y
RWFjaChmdW5jdGlvbihpZnJhbWUpIHsKKyAgICAgICAgLy8gQ2FuJ3QgdXNlIHNyY2RvYyBzaW5j
ZSB0aGF0IHdvdWxkbid0IHN5bmNocm9ub3VzbHkgbG9hZCB0aGUgY29udGVudC4KKyAgICAgICAg
aWZyYW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShpZnJhbWUudGV4dENvbnRlbnQpOworICAgICAg
ICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7CisKKyAgICAgICAgZnJhbWVzZXQgPSBp
ZnJhbWUuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ZyYW1lc2V0Jyk7CisgICAgICAg
IGV4cGVjdGVkV2lkdGggPSBpZnJhbWUuZGF0YXNldC5hc3NlcnRGcmFtZVdpZHRoOworICAgICAg
ICBleHBlY3RlZEJvcmRlckNvbG9yID0gaWZyYW1lLmRhdGFzZXQuYXNzZXJ0Qm9yZGVyQ29sb3I7
CisgICAgICAgIGZyYW1lcyA9IGZyYW1lc2V0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ZyYW1lJyk7Cisg
ICAgICAgIGRlYnVnKGlmcmFtZS5kYXRhc2V0LnRlc3QpOworICAgICAgICBzaG91bGRCZSgnZnJh
bWVzWzBdLm9mZnNldFdpZHRoJywgZXhwZWN0ZWRXaWR0aCk7CisgICAgICAgIHNob3VsZEJlKCdm
cmFtZXNbMV0ub2Zmc2V0V2lkdGgnLCBleHBlY3RlZFdpZHRoKTsKKyAgICAgICAgaWYgKGV4cGVj
dGVkQm9yZGVyQ29sb3IpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgY2hlY2sgd29uJ3Qgd29yayBp
biBHZWNrbyBzaW5jZSB0aGV5IGRvbid0IGV4cG9zZSB0aGUgYm9yZGVyIGNvbG9yIHByb3Blcmx5
LgorICAgICAgICAgICAgZnJhbWVzZXQgPSBmcmFtZXNbMF0ucGFyZW50Tm9kZTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShmcmFtZXNldCkuYm9y
ZGVyQ29sb3InLCBleHBlY3RlZEJvcmRlckNvbG9yKTsKKyAgICAgICAgfQorICAgICAgICBkZWJ1
ZygnPGJyPicpOworICAgIH0pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLW92ZXJyaWRlcy1ib3JkZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3Zl
cnJpZGVzLWJvcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEwNTIyYjg0NzE5N2VhYTll
MTM2NjFiZjg2OGE0MWE5NjkxYzgyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLW92ZXJyaWRlcy1ib3JkZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK0J1ZyAxNzc2NzogRnJhbWVzZXQgd2l0aCBmcmFtZWJvcmRl
cj0wIGFuZCBib3JkZXI9TiBzaG91bGQgbm90IHNob3cgYSBib3JkZXIKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFT
UyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY5MjdjOTViMGJhYjkwMDJhYTY1MWZkYzU4ODQ0MjRhMWU4YTg5Y2UK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFt
ZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFkb2N0eXBl
IGh0bWw+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorCis8aWZyYW1lPgorICAgIDwhZG9jdHlwZSBodG1sPgorICAgIDxmcmFtZXNldCBy
b3dzPSIqIiBjb2xzPSIxNTAsKiIgZnJhbWVib3JkZXI9IjAiIGJvcmRlcj0iMTAiPgorICAgICAg
ICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPWdyZWVuPiI+CisgICAg
ICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9eWVsbG93PiI+Cisg
ICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8c2NyaXB0PgorICAgIC8vIENhbid0IHVzZSBz
cmNkb2Mgc2luY2UgdGhhdCB3b3VsZG4ndCBzeW5jaHJvbm91c2x5IGxvYWQgdGhlIGNvbnRlbnQu
CisgICAgZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKyAgICBmcmFt
ZURvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudDsKKyAgICBmcmFtZURvYy53cml0ZShmcmFtZS50
ZXh0Q29udGVudCk7CisgICAgZnJhbWVEb2MuY2xvc2UoKTsKKworICAgIGRlc2NyaXB0aW9uKCdC
dWcgMTc3Njc6IEZyYW1lc2V0IHdpdGggZnJhbWVib3JkZXI9MCBhbmQgYm9yZGVyPU4gc2hvdWxk
IG5vdCBzaG93IGEgYm9yZGVyJyk7CisgICAgZnJhbWVzID0gZnJhbWVEb2MucXVlcnlTZWxlY3Rv
ckFsbCgnZnJhbWUnKTsKKyAgICBzaG91bGRCZSgnZnJhbWVzWzBdLm9mZnNldFdpZHRoJywgJzE1
MCcpOworICAgIHNob3VsZEJlKCdmcmFtZXNbMV0ub2Zmc2V0V2lkdGgnLCAnMTUwJyk7Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150013</attachid>
            <date>2012-06-28 14:19:24 -0700</date>
            <delta_ts>2012-06-28 15:06:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-17767-20120628141924.patch</filename>
            <type>text/plain</type>
            <size>16807</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFmNGYyMmE5MGQxNDlk
ZDhjZDY2YjYwYmExODcwNzI4M2IzMWY3My4uMDU0ZjM3MmU1MWRiOTZkNjYwYjA5NGYwODEzZWMy
ZDY0YjJhNTM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTI4ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AZ21haWwuY29tPgorCisgICAgICAgIGZyYW1lYm9yZGVyPSJu
byIgb24gZnJhbWVzZXQgaXMgaWdub3JlZCBpZiBib3JkZXIgYXR0cmlidXRlIHNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyA8ZnJhbWVzZXQ+
IGZyYW1lYm9yZGVyIGFuZCBib3JkZXIgaGFuZGxpbmcuIFByZXZpb3VzbHkgd2UnZAorICAgICAg
ICBvdmVycmlkZSB0aGUgZnJhbWVib3JkZXI9bm8gc2V0dGluZyBpZiBib3JkZXIgd2FzIHNldC4g
V2UgYWxzbworICAgICAgICB0cmVhdGVkIGZyYW1lYm9yZGVyPSJhbnl0aGluZyIgdGhlIHNhbWUg
YXMgZnJhbWVib3JkZXI9MCBzaW5jZSB3ZQorICAgICAgICB3ZSBqdXN0IGNvbnZlcnRlZCBpdCB0
byBhIG51bWJlciBzbyBmcmFtZWJvcmRlcj15ZXMgd2FzIGluY29ycmVjdGx5CisgICAgICAgIHRy
ZWF0ZWQgdGhlIHNhbWUgYXMgZnJhbWVib3JkZXI9bm8uCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLW92ZXJyaWRl
cy1ib3JkZXIuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDog
UHJvcGVyIHBhcnNpbmcgb2YgeWVzLG5vLDEsMCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MRnJhbWVTZXRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVTZXRFbGVtZW50
Ojpib3JkZXIpOiBCb3JkZXIgc2hvdWxkIGJlIDAgaWYgZnJhbWVib3JkZXI9bm8uCisKIDIwMTIt
MDYtMjEgIE9saSBMYW4gIDxvbGlsYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBtZXRo
b2RzIHRvIHNlbGVjdCBiZXR3ZWVuIG9mZnNldHMgaW4gYW4gZWRpdGFibGUgZmllbGQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcAppbmRleCBiMGU3ZjA0Mjdh
MDZkMjBhMTllOTA1YThmYTFiMjQ5NDZjMGE0YWY1Li5mNWNmNzVlZWQ0YjIwMDY0NzRhMTU0ZDEx
MTUxNDNiZmZkZTAzYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZVNldEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxl
bWVudC5jcHAKQEAgLTkzLDEyICs5MywxNCBAQCB2b2lkIEhUTUxGcmFtZVNldEVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IGZyYW1lYm9yZGVyQXR0cikgewogICAgICAg
ICBpZiAoIWF0dHJpYnV0ZS5pc051bGwoKSkgewotICAgICAgICAgICAgLy8gZmFsc2Ugb3IgIm5v
IiBvciAiMCIuLgotICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZS52YWx1ZSgpLnRvSW50KCkgPT0g
MCkgeworICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHJpYnV0ZS52
YWx1ZSgpOworICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAibm8iKSB8
fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgIjAiKSkgewogICAgICAgICAgICAgICAgIG1fZnJh
bWVib3JkZXIgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBtX2JvcmRlciA9IDA7CisgICAgICAg
ICAgICAgICAgbV9mcmFtZWJvcmRlclNldCA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAieWVzIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFs
dWUsICIxIikpIHsKKyAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGlzIHRydWUuCisgICAgICAg
ICAgICAgICAgbV9mcmFtZWJvcmRlclNldCA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBtX2ZyYW1lYm9yZGVyU2V0ID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIG1fZnJhbWVib3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgIG1fZnJhbWVib3JkZXJTZXQg
PSBmYWxzZTsKQEAgLTEwOCw4ICsxMTAsNiBAQCB2b2lkIEhUTUxGcmFtZVNldEVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgIH0gZWxzZSBpZiAo
YXR0cmlidXRlLm5hbWUoKSA9PSBib3JkZXJBdHRyKSB7CiAgICAgICAgIGlmICghYXR0cmlidXRl
LmlzTnVsbCgpKSB7CiAgICAgICAgICAgICBtX2JvcmRlciA9IGF0dHJpYnV0ZS52YWx1ZSgpLnRv
SW50KCk7Ci0gICAgICAgICAgICBpZiAoIW1fYm9yZGVyKQotICAgICAgICAgICAgICAgIG1fZnJh
bWVib3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgIG1fYm9yZGVyU2V0ID0gdHJ1ZTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBtX2JvcmRlclNldCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaAppbmRleCBhNGMzOTFiOTQ3ZWFlYzIzNTFiMGU3
Y2U4ODhkNTY2N2U4ZjI2N2YwLi45YzMzMTFhMjc4MjE4MWFhMzEyMDAzZDU4OGI4YjVkNThhZGI0
YTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaApAQCAtMzgs
NyArMzgsNyBAQCBwdWJsaWM6CiAKICAgICBpbnQgdG90YWxSb3dzKCkgY29uc3QgeyByZXR1cm4g
bV90b3RhbFJvd3M7IH0KICAgICBpbnQgdG90YWxDb2xzKCkgY29uc3QgeyByZXR1cm4gbV90b3Rh
bENvbHM7IH0KLSAgICBpbnQgYm9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9ib3JkZXI7IH0KKyAg
ICBpbnQgYm9yZGVyKCkgY29uc3QgeyByZXR1cm4gaGFzRnJhbWVCb3JkZXIoKSA/IG1fYm9yZGVy
IDogMDsgfQogCiAgICAgYm9vbCBoYXNCb3JkZXJDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fYm9y
ZGVyQ29sb3JTZXQ7IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdmNmQ2NDQ0N2FiYjhiMzg0ZjEwY2QwYzVkMGY4YzA2
ZDk4Yzk2MDguLjRhOWY2MWE2MTZjZGU2NGQ1YTVhYzg5MTdjOGQ3Y2QxMDNjMThhOWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNi0yOCAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGdt
YWlsLmNvbT4KKworICAgICAgICBmcmFtZWJvcmRlcj0ibm8iIG9uIGZyYW1lc2V0IGlzIGlnbm9y
ZWQgaWYgYm9yZGVyIGF0dHJpYnV0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGxvdHMgb2YgdGVzdHMgZm9yIDxmcmFtZXNldD4gZnJhbWVi
b3JkZXIgYW5kIGJvcmRlciBoYW5kbGluZy4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1l
c2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVhbi12YWx1ZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFt
ZXNldC1mcmFtZWJvcmRlci1pbmhlcml0YW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3Zl
cnJpZGVzLWJvcmRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0yMSAgS2VubmV0aCBSdXNzZWxs
ICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBMYXlvdXQgVGVzdCBmYXN0
L3NwZWVjaC9zY3JpcHRlZC9zcGVlY2hncmFtbWFyLWJhc2ljcy5odG1sIGlzIGZsYWt5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1ib29s
ZWFuLXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNl
dC1mcmFtZWJvcmRlci1ib29sZWFuLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjA4
OTBjM2FjYmJmYjJhYjQ2YzliOTkwMjk0ZGVlNTgxYzZhNjg5OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFs
dWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVjayBmcmFtZXNldCBmcmFtZWJv
cmRlciBhdHRyaWJ1dGUgYWxsb3dzIDEseWVzIGZvciB0cnVlIGFuZCAwLG5vIGZvciBmYWxzZQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZnJhbWVib3JkZXI9MSBpcyB0cnVlCitQ
QVNTIGZyYW1lc1swXS5vZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVzWzFdLm9mZnNldFdp
ZHRoIGlzIDE0NQorCisKK2ZyYW1lYm9yZGVyPXllcyBpcyB0cnVlCitQQVNTIGZyYW1lc1swXS5v
ZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVzWzFdLm9mZnNldFdpZHRoIGlzIDE0NQorCisK
K2ZyYW1lYm9yZGVyPTAgaXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1
MAorUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJhbWVib3JkZXI9bm8g
aXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFTUyBmcmFtZXNb
MV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworSW52YWxpZCB2YWx1ZXMgbGlrZSBmcmFtZWJvcmRl
cj1mYWxzZSBhcmUgaWdub3JlZAorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTQ3CitQ
QVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDcKKworCitJbnZhbGlkIHZhbHVlcyBsaWtl
IGZyYW1lYm9yZGVyPTIgYXJlIGlnbm9yZWQKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlz
IDE0NworUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ3CisKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgICAgICAgIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVhbi12
YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVy
LWJvb2xlYW4tdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ4MmFmOWRkMjRmZTc4Y2ZkMDdjZjk0
Yjk3M2M4NDNmOWVkNjgwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwKQEAgLTAsMCArMSw4
MSBAQAorPCFkb2N0eXBlIGh0bWw+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCis8aWZyYW1lIGRhdGEtdGVzdD0iZnJhbWVib3JkZXI9
MSBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAgICA8IWRvY3R5cGUg
aHRtbD4KKyAgICA8IS0tCisgICAgICAgIFRvIHRlc3QgdHJ1ZSB2YWx1ZXMgd2UgbmVlZCB0byBu
ZXN0IGluIGEgZmFsc2UgdmFsdWUgZmlyc3Qgc2luY2UgdGhlCisgICAgICAgIGRlZmF1bHQgdmFs
dWUgaXMgYWxyZWFkeSB0cnVlLiBJZiB3ZSBkaWRuJ3QgZG8gdGhpcyB0aGVuIHRoZSB0ZXN0cyB3
b3VsZAorICAgICAgICBwYXNzIGV2ZW4gaWYgdGhlIGJyb3dzZXIgaWdub3JlZCB0aGUgYXR0cmli
dXRlIGVudGlyZWx5LgorICAgIC0tPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSIqIiBm
cmFtZWJvcmRlcj0iMCI+CisgICAgICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIg
ZnJhbWVib3JkZXI9IjEiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0
YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9
ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2ZyYW1lc2V0
PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9ImZyYW1l
Ym9yZGVyPXllcyBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAgICA8
IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVib3Jk
ZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9y
ZGVyPSJ5ZXMiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0
L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6
dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAg
IDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9ImZyYW1lYm9yZGVy
PTAgaXMgZmFsc2UiIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNTAiPgorICAgIDwhZG9jdHlw
ZSBodG1sPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIgZnJhbWVib3JkZXI9
IjAiPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPXJl
ZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9yPWJs
dWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUgZGF0YS10ZXN0PSJm
cmFtZWJvcmRlcj1ubyBpcyBmYWxzZSIgZGF0YS1hc3NlcnQtZnJhbWUtd2lkdGg9IjE1MCI+Cisg
ICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBm
cmFtZWJvcmRlcj0ibk8iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPXJlZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUg
ZGF0YS10ZXN0PSJJbnZhbGlkIHZhbHVlcyBsaWtlIGZyYW1lYm9yZGVyPWZhbHNlIGFyZSBpZ25v
cmVkIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ3Ij4KKyAgICA8IWRvY3R5cGUgaHRtbD4K
KyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9yZGVyPSJmYWxzZSI+
CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9cmVkPiI+
CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4i
PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9IkludmFs
aWQgdmFsdWVzIGxpa2UgZnJhbWVib3JkZXI9MiBhcmUgaWdub3JlZCIgZGF0YS1hc3NlcnQtZnJh
bWUtd2lkdGg9IjE0NyI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9
IioiIGNvbHM9IjUwLDUwIiBmcmFtZWJvcmRlcj0iMiI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRh
dGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9cmVkPiI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRh
dGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgIDwvZnJhbWVzZXQ+Cis8L2lm
cmFtZT4KKworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbignQ2hlY2sgZnJhbWVzZXQgZnJhbWVi
b3JkZXIgYXR0cmlidXRlIGFsbG93cyAxLHllcyBmb3IgdHJ1ZSBhbmQgMCxubyBmb3IgZmFsc2Un
KTsKKworICAgIGlmcmFtZXMgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoJ2lmcmFtZScpKTsKKyAgICBpZnJhbWVzLmZvckVhY2goZnVuY3Rpb24oaWZyYW1lKSB7Cisg
ICAgICAgIC8vIENhbid0IHVzZSBzcmNkb2Mgc2luY2UgdGhhdCB3b3VsZG4ndCBzeW5jaHJvbm91
c2x5IGxvYWQgdGhlIGNvbnRlbnQuCisgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3Jp
dGUoaWZyYW1lLnRleHRDb250ZW50KTsKKyAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5j
bG9zZSgpOworCisgICAgICAgIGZyYW1lc2V0ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdmcmFtZXNldCcpOworICAgICAgICBleHBlY3RlZFdpZHRoID0gaWZyYW1lLmRh
dGFzZXQuYXNzZXJ0RnJhbWVXaWR0aDsKKyAgICAgICAgZnJhbWVzID0gZnJhbWVzZXQucXVlcnlT
ZWxlY3RvckFsbCgnZnJhbWUnKTsKKyAgICAgICAgZGVidWcoaWZyYW1lLmRhdGFzZXQudGVzdCk7
CisgICAgICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lkdGgnLCBleHBlY3RlZFdpZHRo
KTsKKyAgICAgICAgc2hvdWxkQmUoJ2ZyYW1lc1sxXS5vZmZzZXRXaWR0aCcsIGV4cGVjdGVkV2lk
dGgpOworICAgICAgICBkZWJ1ZygnPGJyPicpOworICAgIH0pOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZy
YW1lYm9yZGVyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzhiZmEwYWVh
YTRjZTdkODdlYzk0ZjNlZDU0NDg5NzBiNmY2NjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0NoZWNrIGZyYW1lc2V0IGZyYW1lYm9yZGVyIGFuZCBi
b3JkZXIgYXR0cmlidXRlIGluaGVyaXRhbmNlCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCittaXNzaW5nIGZyYW1lYm9yZGVyIGF0dHJpYnV0ZSBzaG91bGQgaW5oZXJpdCBpdAorUEFT
UyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0
aCBpcyAxNTAKKworCitpbmhlcml0ZWQgZnJhbWVib3JkZXI9bm8gc2hvdWxkIGluaGVyaXQgYm9y
ZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFTUyBmcmFtZXNbMV0u
b2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJhbWVib3JkZXI9eWVzIGFuZCBib3JkZXIgc2hvdWxk
IG92ZXJyaWRlIGluaGVyaXRlZCB2YWx1ZQorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMg
MTQ1CitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDUKKworCitpbmhlcml0ZWQgZnJh
bWVib3JkZXI9MCBzaG91bGQgaGF2ZSBib3JkZXI9MCBldmVuIGlmIHNwZWNpZmllZCBkaWZmZXJl
bnRseQorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sxXS5v
ZmZzZXRXaWR0aCBpcyAxNTAKKworCitib3JkZXJjb2xvciBzaG91bGQgaW5oZXJpdCBldmVuIGlm
IGZyYW1lYm9yZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE0NQorUEFTUyBm
cmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ1CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZnJhbWVz
ZXQpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKKworCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgICAgIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJpdGFuY2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRh
bmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVkMzAzMGEzZDRiYzAxMzAyNzE0ZGFkMDhjNjE0ZDM4OTA1
YzA3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0
LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLmh0bWwKQEAgLTAsMCArMSwxMDAgQEAKKzwhZG9jdHlw
ZSBodG1sPgorCis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKworPGlmcmFtZQorICAgIGRhdGEtdGVzdD0ibWlzc2luZyBmcmFtZWJvcmRlciBh
dHRyaWJ1dGUgc2hvdWxkIGluaGVyaXQgaXQiCisgICAgZGF0YS1hc3NlcnQtZnJhbWUtd2lkdGg9
IjE1MCI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9
IioiIGZyYW1lYm9yZGVyPSIwIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUw
LDUwIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29s
b3I9cmVkPiI+CisgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBi
Z2NvbG9yPWJsdWU+Ij4KKyAgICAgICAgPC9mcmFtZXNldD4KKyAgICA8L2ZyYW1lc2V0PgorPC9p
ZnJhbWU+CisKKzxpZnJhbWUKKyAgICBkYXRhLXRlc3Q9ImluaGVyaXRlZCBmcmFtZWJvcmRlcj1u
byBzaG91bGQgaW5oZXJpdCBib3JkZXI9MCIKKyAgICBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0i
MTUwIj4KKyAgICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0i
KiIgZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAs
NTAiIGZyYW1lYm9yZGVyPSIxIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9o
dG1sLDxib2R5IGJnY29sb3I9Z3JlZW4+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6
dGV4dC9odG1sLDxib2R5IGJnY29sb3I9eWVsbG93PiI+CisgICAgICAgIDwvZnJhbWVzZXQ+Cisg
ICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8aWZyYW1lCisgICAgZGF0YS10ZXN0PSJmcmFt
ZWJvcmRlcj15ZXMgYW5kIGJvcmRlciBzaG91bGQgb3ZlcnJpZGUgaW5oZXJpdGVkIHZhbHVlIgor
ICAgIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNDUiPgorICAgIDwhZG9jdHlwZSBodG1sPgor
ICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSIqIiBmcmFtZWJvcmRlcj0iMCI+CisgICAgICAg
IDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIgZnJhbWVib3JkZXI9IjEiIGJvcmRlcj0i
MTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xv
cj1vcmFuZ2U+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5
IGJnY29sb3I9cGluaz4iPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8
L2lmcmFtZT4KKworPGlmcmFtZQorICAgIGRhdGEtdGVzdD0iaW5oZXJpdGVkIGZyYW1lYm9yZGVy
PTAgc2hvdWxkIGhhdmUgYm9yZGVyPTAgZXZlbiBpZiBzcGVjaWZpZWQgZGlmZmVyZW50bHkiCisg
ICAgZGF0YS1hc3NlcnQtZnJhbWUtd2lkdGg9IjE1MCI+CisgICAgPCFkb2N0eXBlIGh0bWw+Cisg
ICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXI9IjEw
Ij4KKyAgICAgICAgPCEtLQorCisgICAgICAgICAgICBUaGlzIGluaGVyaXRzIGZyYW1lYm9yZGVy
PSIwIiBzbyB0aGUgYm9yZGVyPSIyMCIgc2hvdWxkIGJlIGlnbm9yZWQKKyAgICAgICAgICAgIGFu
ZCBjaGlsZHJlbiBvZiBpdCBzaG91bGQgaW5oZXJpdCBib3JkZXI9IjAiLgorICAgICAgICAtLT4K
KyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGJvcmRlcj0iMjAiPgorICAgICAg
ICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBmcmFtZWJvcmRlcj0iMSI+Cisg
ICAgICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj1n
cmVlbj4iPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5
IGJnY29sb3I9eWVsbG93PiI+CisgICAgICAgICAgICA8L2ZyYW1lc2V0PgorICAgICAgICA8L2Zy
YW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZQorICAgIGRhdGEt
dGVzdD0iYm9yZGVyY29sb3Igc2hvdWxkIGluaGVyaXQgZXZlbiBpZiBmcmFtZWJvcmRlcj0wIgor
ICAgIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNDUiCisgICAgZGF0YS1hc3NlcnQtYm9yZGVy
LWNvbG9yPSJyZ2IoMCwgMTI4LCAwKSI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1l
c2V0IHJvd3M9IioiIGNvbHM9IioiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXJjb2xvcj0iZ3JlZW4i
PgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVib3JkZXI9IjEiPgor
ICAgICAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBib3JkZXI9IjEwIj4K
KyAgICAgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9keSBiZ2NvbG9y
PXJlZD4iPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5
IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICAgICAgPC9mcmFtZXNldD4KKyAgICAgICAgPC9mcmFt
ZXNldD4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxzY3JpcHQ+CisgICAgZGVzY3Jp
cHRpb24oJ0NoZWNrIGZyYW1lc2V0IGZyYW1lYm9yZGVyIGFuZCBib3JkZXIgYXR0cmlidXRlIGlu
aGVyaXRhbmNlJyk7CisKKyAgICBpZnJhbWVzID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCdpZnJhbWUnKSk7CisgICAgaWZyYW1lcy5mb3JFYWNoKGZ1bmN0aW9uKGlm
cmFtZSkgeworICAgICAgICAvLyBDYW4ndCB1c2Ugc3JjZG9jIHNpbmNlIHRoYXQgd291bGRuJ3Qg
c3luY2hyb25vdXNseSBsb2FkIHRoZSBjb250ZW50LgorICAgICAgICBpZnJhbWUuY29udGVudERv
Y3VtZW50LndyaXRlKGlmcmFtZS50ZXh0Q29udGVudCk7CisgICAgICAgIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQuY2xvc2UoKTsKKworICAgICAgICBmcmFtZXNldCA9IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQucXVlcnlTZWxlY3RvcignZnJhbWVzZXQnKTsKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCA9
IGlmcmFtZS5kYXRhc2V0LmFzc2VydEZyYW1lV2lkdGg7CisgICAgICAgIGV4cGVjdGVkQm9yZGVy
Q29sb3IgPSBpZnJhbWUuZGF0YXNldC5hc3NlcnRCb3JkZXJDb2xvcjsKKyAgICAgICAgZnJhbWVz
ID0gZnJhbWVzZXQucXVlcnlTZWxlY3RvckFsbCgnZnJhbWUnKTsKKyAgICAgICAgZGVidWcoaWZy
YW1lLmRhdGFzZXQudGVzdCk7CisgICAgICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lk
dGgnLCBleHBlY3RlZFdpZHRoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2ZyYW1lc1sxXS5vZmZzZXRX
aWR0aCcsIGV4cGVjdGVkV2lkdGgpOworICAgICAgICBpZiAoZXhwZWN0ZWRCb3JkZXJDb2xvcikg
eworICAgICAgICAgICAgLy8gVGhpcyBjaGVjayB3b24ndCB3b3JrIGluIEdlY2tvIHNpbmNlIHRo
ZXkgZG9uJ3QgZXhwb3NlIHRoZSBib3JkZXIgY29sb3IgcHJvcGVybHkuCisgICAgICAgICAgICBm
cmFtZXNldCA9IGZyYW1lc1swXS5wYXJlbnROb2RlOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGZyYW1lc2V0KS5ib3JkZXJDb2xvcicsIGV4cGVj
dGVkQm9yZGVyQ29sb3IpOworICAgICAgICB9CisgICAgICAgIGRlYnVnKCc8YnI+Jyk7CisgICAg
fSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJh
bWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTA1MjJiODQ3MTk3ZWFhOWUxMzY2MWJmODY4YTQxYTk2
OTFjODIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVz
ZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorQnVnIDE3NzY3OiBGcmFtZXNldCB3aXRoIGZyYW1lYm9yZGVyPTAgYW5kIGJvcmRlcj1O
IHNob3VsZCBub3Qgc2hvdyBhIGJvcmRlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sxXS5vZmZz
ZXRXaWR0aCBpcyAxNTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1m
cmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjkyN2M5NWIwYmFiOTAwMmFhNjUxZmRjNTg4NDQyNGExZThhODljZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLW92ZXJyaWRl
cy1ib3JkZXIuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IWRvY3R5cGUgaHRtbD4KKworPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxpZnJh
bWU+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjE1
MCwqIiBmcmFtZWJvcmRlcj0iMCIgYm9yZGVyPSIxMCI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRh
dGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Z3JlZW4+Ij4KKyAgICAgICAgPGZyYW1lIHNyYz0i
ZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj15ZWxsb3c+Ij4KKyAgICA8L2ZyYW1lc2V0Pgor
PC9pZnJhbWU+CisKKzxzY3JpcHQ+CisgICAgLy8gQ2FuJ3QgdXNlIHNyY2RvYyBzaW5jZSB0aGF0
IHdvdWxkbid0IHN5bmNocm9ub3VzbHkgbG9hZCB0aGUgY29udGVudC4KKyAgICBmcmFtZSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworICAgIGZyYW1lRG9jID0gZnJhbWUuY29u
dGVudERvY3VtZW50OworICAgIGZyYW1lRG9jLndyaXRlKGZyYW1lLnRleHRDb250ZW50KTsKKyAg
ICBmcmFtZURvYy5jbG9zZSgpOworCisgICAgZGVzY3JpcHRpb24oJ0J1ZyAxNzc2NzogRnJhbWVz
ZXQgd2l0aCBmcmFtZWJvcmRlcj0wIGFuZCBib3JkZXI9TiBzaG91bGQgbm90IHNob3cgYSBib3Jk
ZXInKTsKKyAgICBmcmFtZXMgPSBmcmFtZURvYy5xdWVyeVNlbGVjdG9yQWxsKCdmcmFtZScpOwor
ICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lkdGgnLCAnMTUwJyk7CisgICAgc2hvdWxk
QmUoJ2ZyYW1lc1sxXS5vZmZzZXRXaWR0aCcsICcxNTAnKTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150021</attachid>
            <date>2012-06-28 15:06:21 -0700</date>
            <delta_ts>2012-06-28 17:56:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-17767-20120628150621.patch</filename>
            <type>text/plain</type>
            <size>16762</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFmNGYyMmE5MGQxNDlk
ZDhjZDY2YjYwYmExODcwNzI4M2IzMWY3My4uNjdkMGEwNGI5NDM3NThjOTVjYzJiYjllYjBiY2I3
ZTRjYmFiNGUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTI4ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AZ21haWwuY29tPgorCisgICAgICAgIGZyYW1lYm9yZGVyPSJu
byIgb24gZnJhbWVzZXQgaXMgaWdub3JlZCBpZiBib3JkZXIgYXR0cmlidXRlIHNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgIEZpeGVzIDxmcmFtZXNldD4gZnJh
bWVib3JkZXIgYW5kIGJvcmRlciBoYW5kbGluZy4gUHJldmlvdXNseSB3ZSdkCisgICAgICAgIG92
ZXJyaWRlIHRoZSBmcmFtZWJvcmRlcj1ubyBzZXR0aW5nIGlmIGJvcmRlciB3YXMgc2V0LiBXZSBh
bHNvCisgICAgICAgIHRyZWF0ZWQgZnJhbWVib3JkZXI9ImFueXRoaW5nIiB0aGUgc2FtZSBhcyBm
cmFtZWJvcmRlcj0wIHNpbmNlIHdlCisgICAgICAgIHdlIGp1c3QgY29udmVydGVkIGl0IHRvIGEg
bnVtYmVyIHNvIGZyYW1lYm9yZGVyPXllcyB3YXMgaW5jb3JyZWN0bHkKKyAgICAgICAgdHJlYXRl
ZCB0aGUgc2FtZSBhcyBmcmFtZWJvcmRlcj1uby4KKworICAgICAgICBUZXN0czogZmFzdC9mcmFt
ZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVhbi12YWx1ZXMuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJpdGFuY2UuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJv
cmRlci5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwOiBQcm9w
ZXIgcGFyc2luZyBvZiB5ZXMsbm8sMSwwIHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxG
cmFtZVNldEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFt
ZVNldEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZVNldEVsZW1lbnQ6OmJv
cmRlcik6IEJvcmRlciBzaG91bGQgYmUgMCBpZiBmcmFtZWJvcmRlcj1uby4KKwogMjAxMi0wNi0y
MSAgT2xpIExhbiAgPG9saWxhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIG1ldGhvZHMg
dG8gc2VsZWN0IGJldHdlZW4gb2Zmc2V0cyBpbiBhbiBlZGl0YWJsZSBmaWVsZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwCmluZGV4IGIwZTdmMDQyN2EwNmQy
MGExOWU5MDVhOGZhMWIyNDk0NmMwYTRhZjUuLmEyZTJmODI5YTQ2ZTExYzFiNjA3MThlZDlkNDE1
ZWYzYzc1YmY4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50
LmNwcApAQCAtOTMsMTIgKzkzLDEzIEBAIHZvaWQgSFRNTEZyYW1lU2V0RWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgIH0KICAgICB9IGVs
c2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gZnJhbWVib3JkZXJBdHRyKSB7CiAgICAgICAgIGlm
ICghYXR0cmlidXRlLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAvLyBmYWxzZSBvciAibm8iIG9y
ICIwIi4uCi0gICAgICAgICAgICBpZiAoYXR0cmlidXRlLnZhbHVlKCkudG9JbnQoKSA9PSAwKSB7
CisgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0cmlidXRlLnZhbHVl
KCk7CisgICAgICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJubyIpIHx8IGVx
dWFsSWdub3JpbmdDYXNlKHZhbHVlLCAiMCIpKSB7CiAgICAgICAgICAgICAgICAgbV9mcmFtZWJv
cmRlciA9IGZhbHNlOwotICAgICAgICAgICAgICAgIG1fYm9yZGVyID0gMDsKKyAgICAgICAgICAg
ICAgICBtX2ZyYW1lYm9yZGVyU2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJ5ZXMiKSB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwg
IjEiKSkgeworICAgICAgICAgICAgICAgIG1fZnJhbWVib3JkZXJTZXQgPSB0cnVlOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgbV9mcmFtZWJvcmRlclNldCA9IHRydWU7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICBtX2ZyYW1lYm9yZGVyID0gZmFsc2U7CiAgICAgICAgICAgICBt
X2ZyYW1lYm9yZGVyU2V0ID0gZmFsc2U7CkBAIC0xMDgsOCArMTA5LDYgQEAgdm9pZCBIVE1MRnJh
bWVTZXRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkK
ICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gYm9yZGVyQXR0cikgewogICAgICAg
ICBpZiAoIWF0dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAgICAgbV9ib3JkZXIgPSBhdHRy
aWJ1dGUudmFsdWUoKS50b0ludCgpOwotICAgICAgICAgICAgaWYgKCFtX2JvcmRlcikKLSAgICAg
ICAgICAgICAgICBtX2ZyYW1lYm9yZGVyID0gZmFsc2U7CiAgICAgICAgICAgICBtX2JvcmRlclNl
dCA9IHRydWU7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV9ib3JkZXJTZXQgPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKaW5kZXggYTRjMzkx
Yjk0N2VhZWMyMzUxYjBlN2NlODg4ZDU2NjdlOGYyNjdmMC4uOWMzMzExYTI3ODIxODFhYTMxMjAw
M2Q1ODhiOGI1ZDU4YWRiNGEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRF
bGVtZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgogCiAgICAgaW50IHRvdGFsUm93cygp
IGNvbnN0IHsgcmV0dXJuIG1fdG90YWxSb3dzOyB9CiAgICAgaW50IHRvdGFsQ29scygpIGNvbnN0
IHsgcmV0dXJuIG1fdG90YWxDb2xzOyB9Ci0gICAgaW50IGJvcmRlcigpIGNvbnN0IHsgcmV0dXJu
IG1fYm9yZGVyOyB9CisgICAgaW50IGJvcmRlcigpIGNvbnN0IHsgcmV0dXJuIGhhc0ZyYW1lQm9y
ZGVyKCkgPyBtX2JvcmRlciA6IDA7IH0KIAogICAgIGJvb2wgaGFzQm9yZGVyQ29sb3IoKSBjb25z
dCB7IHJldHVybiBtX2JvcmRlckNvbG9yU2V0OyB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZjZkNjQ0NDdhYmI4YjM4
NGYxMGNkMGM1ZDBmOGMwNmQ5OGM5NjA4Li41NDcwMjZiOTJlOTEzMzQ0YzU3ZTBmMWFmMGVjM2Iz
OTkyZmFlOGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDYtMjggIEVsbGlvdHQgU3By
ZWhuICA8ZXNwcmVobkBnbWFpbC5jb20+CisKKyAgICAgICAgZnJhbWVib3JkZXI9Im5vIiBvbiBm
cmFtZXNldCBpcyBpZ25vcmVkIGlmIGJvcmRlciBhdHRyaWJ1dGUgc2V0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc2NworCisgICAgICAgIFJldmll
d2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgQWRkIGxvdHMgb2YgdGVzdHMgZm9yIDxmcmFt
ZXNldD4gZnJhbWVib3JkZXIgYW5kIGJvcmRlciBoYW5kbGluZy4KKworICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItYm9vbGVh
bi12YWx1ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJh
bWVib3JkZXItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1pbmhlcml0YW5jZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJh
bWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0yMSAgS2Vu
bmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBMYXlv
dXQgVGVzdCBmYXN0L3NwZWVjaC9zY3JpcHRlZC9zcGVlY2hncmFtbWFyLWJhc2ljcy5odG1sIGlz
IGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFt
ZWJvcmRlci1ib29sZWFuLXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1ib29sZWFuLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjA4OTBjM2FjYmJmYjJhYjQ2YzliOTkwMjk0ZGVlNTgxYzZhNjg5OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVy
LWJvb2xlYW4tdmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVjayBmcmFt
ZXNldCBmcmFtZWJvcmRlciBhdHRyaWJ1dGUgYWxsb3dzIDEseWVzIGZvciB0cnVlIGFuZCAwLG5v
IGZvciBmYWxzZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZnJhbWVib3JkZXI9
MSBpcyB0cnVlCitQQVNTIGZyYW1lc1swXS5vZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVz
WzFdLm9mZnNldFdpZHRoIGlzIDE0NQorCisKK2ZyYW1lYm9yZGVyPXllcyBpcyB0cnVlCitQQVNT
IGZyYW1lc1swXS5vZmZzZXRXaWR0aCBpcyAxNDUKK1BBU1MgZnJhbWVzWzFdLm9mZnNldFdpZHRo
IGlzIDE0NQorCisKK2ZyYW1lYm9yZGVyPTAgaXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNl
dFdpZHRoIGlzIDE1MAorUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJh
bWVib3JkZXI9bm8gaXMgZmFsc2UKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAor
UEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworSW52YWxpZCB2YWx1ZXMgbGlr
ZSBmcmFtZWJvcmRlcj1mYWxzZSBhcmUgaWdub3JlZAorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lk
dGggaXMgMTQ3CitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDcKKworCitJbnZhbGlk
IHZhbHVlcyBsaWtlIGZyYW1lYm9yZGVyPTIgYXJlIGlnbm9yZWQKK1BBU1MgZnJhbWVzWzBdLm9m
ZnNldFdpZHRoIGlzIDE0NworUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ3CisKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgICAgICAg
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3Jk
ZXItYm9vbGVhbi12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0
LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ4MmFmOWRkMjRm
ZTc4Y2ZkMDdjZjk0Yjk3M2M4NDNmOWVkNjgwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWJvb2xlYW4tdmFsdWVzLmh0bWwK
QEAgLTAsMCArMSw4MSBAQAorPCFkb2N0eXBlIGh0bWw+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCis8aWZyYW1lIGRhdGEtdGVzdD0i
ZnJhbWVib3JkZXI9MSBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ1Ij4KKyAg
ICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8IS0tCisgICAgICAgIFRvIHRlc3QgdHJ1ZSB2YWx1ZXMg
d2UgbmVlZCB0byBuZXN0IGluIGEgZmFsc2UgdmFsdWUgZmlyc3Qgc2luY2UgdGhlCisgICAgICAg
IGRlZmF1bHQgdmFsdWUgaXMgYWxyZWFkeSB0cnVlLiBJZiB3ZSBkaWRuJ3QgZG8gdGhpcyB0aGVu
IHRoZSB0ZXN0cyB3b3VsZAorICAgICAgICBwYXNzIGV2ZW4gaWYgdGhlIGJyb3dzZXIgaWdub3Jl
ZCB0aGUgYXR0cmlidXRlIGVudGlyZWx5LgorICAgIC0tPgorICAgIDxmcmFtZXNldCByb3dzPSIq
IiBjb2xzPSIqIiBmcmFtZWJvcmRlcj0iMCI+CisgICAgICAgIDxmcmFtZXNldCByb3dzPSIqIiBj
b2xzPSI1MCw1MCIgZnJhbWVib3JkZXI9IjEiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZy
YW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAg
IDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAg
ICA8L2ZyYW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRh
LXRlc3Q9ImZyYW1lYm9yZGVyPXllcyBpcyB0cnVlIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0i
MTQ1Ij4KKyAgICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0i
KiIgZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAs
NTAiIGZyYW1lYm9yZGVyPSJ5ZXMiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNy
Yz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj1yZWQ+Ij4KKyAgICAgICAgICAgIDxmcmFt
ZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICA8L2Zy
YW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRhLXRlc3Q9
ImZyYW1lYm9yZGVyPTAgaXMgZmFsc2UiIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNTAiPgor
ICAgIDwhZG9jdHlwZSBodG1sPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIg
ZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPXJlZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUg
ZGF0YS10ZXN0PSJmcmFtZWJvcmRlcj1ubyBpcyBmYWxzZSIgZGF0YS1hc3NlcnQtZnJhbWUtd2lk
dGg9IjE1MCI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNv
bHM9IjUwLDUwIiBmcmFtZWJvcmRlcj0ibk8iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRl
eHQvaHRtbCw8Ym9keSBiZ2NvbG9yPXJlZD4iPgorICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRl
eHQvaHRtbCw8Ym9keSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+
CisKKzxpZnJhbWUgZGF0YS10ZXN0PSJJbnZhbGlkIHZhbHVlcyBsaWtlIGZyYW1lYm9yZGVyPWZh
bHNlIGFyZSBpZ25vcmVkIiBkYXRhLWFzc2VydC1mcmFtZS13aWR0aD0iMTQ3Ij4KKyAgICA8IWRv
Y3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iNTAsNTAiIGZyYW1lYm9y
ZGVyPSJmYWxzZSI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJn
Y29sb3I9cmVkPiI+CisgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJn
Y29sb3I9Ymx1ZT4iPgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZSBkYXRh
LXRlc3Q9IkludmFsaWQgdmFsdWVzIGxpa2UgZnJhbWVib3JkZXI9MiBhcmUgaWdub3JlZCIgZGF0
YS1hc3NlcnQtZnJhbWUtd2lkdGg9IjE0NyI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZy
YW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBmcmFtZWJvcmRlcj0iMiI+CisgICAgICAgIDxm
cmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9cmVkPiI+CisgICAgICAgIDxm
cmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgIDwvZnJh
bWVzZXQ+Cis8L2lmcmFtZT4KKworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbignQ2hlY2sgZnJh
bWVzZXQgZnJhbWVib3JkZXIgYXR0cmlidXRlIGFsbG93cyAxLHllcyBmb3IgdHJ1ZSBhbmQgMCxu
byBmb3IgZmFsc2UnKTsKKworICAgIGlmcmFtZXMgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTsKKyAgICBpZnJhbWVzLmZvckVhY2goZnVuY3Rpb24o
aWZyYW1lKSB7CisgICAgICAgIC8vIENhbid0IHVzZSBzcmNkb2Mgc2luY2UgdGhhdCB3b3VsZG4n
dCBzeW5jaHJvbm91c2x5IGxvYWQgdGhlIGNvbnRlbnQuCisgICAgICAgIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQud3JpdGUoaWZyYW1lLnRleHRDb250ZW50KTsKKyAgICAgICAgaWZyYW1lLmNvbnRl
bnREb2N1bWVudC5jbG9zZSgpOworCisgICAgICAgIGZyYW1lc2V0ID0gaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmcmFtZXNldCcpOworICAgICAgICBleHBlY3RlZFdpZHRo
ID0gaWZyYW1lLmRhdGFzZXQuYXNzZXJ0RnJhbWVXaWR0aDsKKyAgICAgICAgZnJhbWVzID0gZnJh
bWVzZXQucXVlcnlTZWxlY3RvckFsbCgnZnJhbWUnKTsKKyAgICAgICAgZGVidWcoaWZyYW1lLmRh
dGFzZXQudGVzdCk7CisgICAgICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lkdGgnLCBl
eHBlY3RlZFdpZHRoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2ZyYW1lc1sxXS5vZmZzZXRXaWR0aCcs
IGV4cGVjdGVkV2lkdGgpOworICAgICAgICBkZWJ1ZygnPGJyPicpOworICAgIH0pOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1l
Ym9yZGVyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNzhiZmEwYWVhYTRjZTdkODdlYzk0ZjNlZDU0NDg5NzBiNmY2NjVjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0NoZWNrIGZyYW1lc2V0IGZyYW1l
Ym9yZGVyIGFuZCBib3JkZXIgYXR0cmlidXRlIGluaGVyaXRhbmNlCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCittaXNzaW5nIGZyYW1lYm9yZGVyIGF0dHJpYnV0ZSBzaG91bGQgaW5o
ZXJpdCBpdAorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZyYW1lc1sx
XS5vZmZzZXRXaWR0aCBpcyAxNTAKKworCitpbmhlcml0ZWQgZnJhbWVib3JkZXI9bm8gc2hvdWxk
IGluaGVyaXQgYm9yZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlzIDE1MAorUEFT
UyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTUwCisKKworZnJhbWVib3JkZXI9eWVzIGFuZCBi
b3JkZXIgc2hvdWxkIG92ZXJyaWRlIGluaGVyaXRlZCB2YWx1ZQorUEFTUyBmcmFtZXNbMF0ub2Zm
c2V0V2lkdGggaXMgMTQ1CitQQVNTIGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNDUKKworCitp
bmhlcml0ZWQgZnJhbWVib3JkZXI9MCBzaG91bGQgaGF2ZSBib3JkZXI9MCBldmVuIGlmIHNwZWNp
ZmllZCBkaWZmZXJlbnRseQorUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNT
IGZyYW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNTAKKworCitib3JkZXJjb2xvciBzaG91bGQgaW5o
ZXJpdCBldmVuIGlmIGZyYW1lYm9yZGVyPTAKK1BBU1MgZnJhbWVzWzBdLm9mZnNldFdpZHRoIGlz
IDE0NQorUEFTUyBmcmFtZXNbMV0ub2Zmc2V0V2lkdGggaXMgMTQ1CitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZnJhbWVzZXQpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKKworCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgICAgIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItaW5o
ZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9y
ZGVyLWluaGVyaXRhbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVkMzAzMGEzZDRiYzAxMzAyNzE0ZGFk
MDhjNjE0ZDM4OTA1YzA3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNlLmh0bWwKQEAgLTAsMCArMSwxMDAg
QEAKKzwhZG9jdHlwZSBodG1sPgorCis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGlmcmFtZQorICAgIGRhdGEtdGVzdD0ibWlzc2luZyBm
cmFtZWJvcmRlciBhdHRyaWJ1dGUgc2hvdWxkIGluaGVyaXQgaXQiCisgICAgZGF0YS1hc3NlcnQt
ZnJhbWUtd2lkdGg9IjE1MCI+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJv
d3M9IioiIGNvbHM9IioiIGZyYW1lYm9yZGVyPSIwIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9
IioiIGNvbHM9IjUwLDUwIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1s
LDxib2R5IGJnY29sb3I9cmVkPiI+CisgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQv
aHRtbCw8Ym9keSBiZ2NvbG9yPWJsdWU+Ij4KKyAgICAgICAgPC9mcmFtZXNldD4KKyAgICA8L2Zy
YW1lc2V0PgorPC9pZnJhbWU+CisKKzxpZnJhbWUKKyAgICBkYXRhLXRlc3Q9ImluaGVyaXRlZCBm
cmFtZWJvcmRlcj1ubyBzaG91bGQgaW5oZXJpdCBib3JkZXI9MCIKKyAgICBkYXRhLWFzc2VydC1m
cmFtZS13aWR0aD0iMTUwIj4KKyAgICA8IWRvY3R5cGUgaHRtbD4KKyAgICA8ZnJhbWVzZXQgcm93
cz0iKiIgY29scz0iKiIgZnJhbWVib3JkZXI9IjAiPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0i
KiIgY29scz0iNTAsNTAiIGZyYW1lYm9yZGVyPSIxIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9
ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Z3JlZW4+Ij4KKyAgICAgICAgICAgIDxmcmFt
ZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9eWVsbG93PiI+CisgICAgICAgIDwv
ZnJhbWVzZXQ+CisgICAgPC9mcmFtZXNldD4KKzwvaWZyYW1lPgorCis8aWZyYW1lCisgICAgZGF0
YS10ZXN0PSJmcmFtZWJvcmRlcj15ZXMgYW5kIGJvcmRlciBzaG91bGQgb3ZlcnJpZGUgaW5oZXJp
dGVkIHZhbHVlIgorICAgIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNDUiPgorICAgIDwhZG9j
dHlwZSBodG1sPgorICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSIqIiBmcmFtZWJvcmRlcj0i
MCI+CisgICAgICAgIDxmcmFtZXNldCByb3dzPSIqIiBjb2xzPSI1MCw1MCIgZnJhbWVib3JkZXI9
IjEiIGJvcmRlcj0iMTAiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWws
PGJvZHkgYmdjb2xvcj1vcmFuZ2U+Ij4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4
dC9odG1sLDxib2R5IGJnY29sb3I9cGluaz4iPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgIDwv
ZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFtZQorICAgIGRhdGEtdGVzdD0iaW5oZXJpdGVk
IGZyYW1lYm9yZGVyPTAgc2hvdWxkIGhhdmUgYm9yZGVyPTAgZXZlbiBpZiBzcGVjaWZpZWQgZGlm
ZmVyZW50bHkiCisgICAgZGF0YS1hc3NlcnQtZnJhbWUtd2lkdGg9IjE1MCI+CisgICAgPCFkb2N0
eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGZyYW1lYm9yZGVyPSIw
IiBib3JkZXI9IjEwIj4KKyAgICAgICAgPCEtLQorCisgICAgICAgICAgICBUaGlzIGluaGVyaXRz
IGZyYW1lYm9yZGVyPSIwIiBzbyB0aGUgYm9yZGVyPSIyMCIgc2hvdWxkIGJlIGlnbm9yZWQKKyAg
ICAgICAgICAgIGFuZCBjaGlsZHJlbiBvZiBpdCBzaG91bGQgaW5oZXJpdCBib3JkZXI9IjAiLgor
ICAgICAgICAtLT4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGJvcmRlcj0i
MjAiPgorICAgICAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBmcmFtZWJv
cmRlcj0iMSI+CisgICAgICAgICAgICAgICAgPGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJv
ZHkgYmdjb2xvcj1ncmVlbj4iPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4
dC9odG1sLDxib2R5IGJnY29sb3I9eWVsbG93PiI+CisgICAgICAgICAgICA8L2ZyYW1lc2V0Pgor
ICAgICAgICA8L2ZyYW1lc2V0PgorICAgIDwvZnJhbWVzZXQ+Cis8L2lmcmFtZT4KKworPGlmcmFt
ZQorICAgIGRhdGEtdGVzdD0iYm9yZGVyY29sb3Igc2hvdWxkIGluaGVyaXQgZXZlbiBpZiBmcmFt
ZWJvcmRlcj0wIgorICAgIGRhdGEtYXNzZXJ0LWZyYW1lLXdpZHRoPSIxNDUiCisgICAgZGF0YS1h
c3NlcnQtYm9yZGVyLWNvbG9yPSJyZ2IoMCwgMTI4LCAwKSI+CisgICAgPCFkb2N0eXBlIGh0bWw+
CisgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IioiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXJj
b2xvcj0iZ3JlZW4iPgorICAgICAgICA8ZnJhbWVzZXQgcm93cz0iKiIgY29scz0iKiIgZnJhbWVi
b3JkZXI9IjEiPgorICAgICAgICAgICAgPGZyYW1lc2V0IHJvd3M9IioiIGNvbHM9IjUwLDUwIiBi
b3JkZXI9IjEwIj4KKyAgICAgICAgICAgICAgICA8ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8
Ym9keSBiZ2NvbG9yPXJlZD4iPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9ImRhdGE6dGV4
dC9odG1sLDxib2R5IGJnY29sb3I9Ymx1ZT4iPgorICAgICAgICAgICAgPC9mcmFtZXNldD4KKyAg
ICAgICAgPC9mcmFtZXNldD4KKyAgICA8L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxzY3JpcHQ+
CisgICAgZGVzY3JpcHRpb24oJ0NoZWNrIGZyYW1lc2V0IGZyYW1lYm9yZGVyIGFuZCBib3JkZXIg
YXR0cmlidXRlIGluaGVyaXRhbmNlJyk7CisKKyAgICBpZnJhbWVzID0gW10uc2xpY2UuY2FsbChk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpZnJhbWUnKSk7CisgICAgaWZyYW1lcy5mb3JFYWNo
KGZ1bmN0aW9uKGlmcmFtZSkgeworICAgICAgICAvLyBDYW4ndCB1c2Ugc3JjZG9jIHNpbmNlIHRo
YXQgd291bGRuJ3Qgc3luY2hyb25vdXNseSBsb2FkIHRoZSBjb250ZW50LgorICAgICAgICBpZnJh
bWUuY29udGVudERvY3VtZW50LndyaXRlKGlmcmFtZS50ZXh0Q29udGVudCk7CisgICAgICAgIGlm
cmFtZS5jb250ZW50RG9jdW1lbnQuY2xvc2UoKTsKKworICAgICAgICBmcmFtZXNldCA9IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignZnJhbWVzZXQnKTsKKyAgICAgICAgZXhw
ZWN0ZWRXaWR0aCA9IGlmcmFtZS5kYXRhc2V0LmFzc2VydEZyYW1lV2lkdGg7CisgICAgICAgIGV4
cGVjdGVkQm9yZGVyQ29sb3IgPSBpZnJhbWUuZGF0YXNldC5hc3NlcnRCb3JkZXJDb2xvcjsKKyAg
ICAgICAgZnJhbWVzID0gZnJhbWVzZXQucXVlcnlTZWxlY3RvckFsbCgnZnJhbWUnKTsKKyAgICAg
ICAgZGVidWcoaWZyYW1lLmRhdGFzZXQudGVzdCk7CisgICAgICAgIHNob3VsZEJlKCdmcmFtZXNb
MF0ub2Zmc2V0V2lkdGgnLCBleHBlY3RlZFdpZHRoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2ZyYW1l
c1sxXS5vZmZzZXRXaWR0aCcsIGV4cGVjdGVkV2lkdGgpOworICAgICAgICBpZiAoZXhwZWN0ZWRC
b3JkZXJDb2xvcikgeworICAgICAgICAgICAgLy8gVGhpcyBjaGVjayB3b24ndCB3b3JrIGluIEdl
Y2tvIHNpbmNlIHRoZXkgZG9uJ3QgZXhwb3NlIHRoZSBib3JkZXIgY29sb3IgcHJvcGVybHkuCisg
ICAgICAgICAgICBmcmFtZXNldCA9IGZyYW1lc1swXS5wYXJlbnROb2RlOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGZyYW1lc2V0KS5ib3JkZXJD
b2xvcicsIGV4cGVjdGVkQm9yZGVyQ29sb3IpOworICAgICAgICB9CisgICAgICAgIGRlYnVnKCc8
YnI+Jyk7CisgICAgfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlk
ZXMtYm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTA1MjJiODQ3MTk3ZWFhOWUxMzY2
MWJmODY4YTQxYTk2OTFjODIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZnJhbWVzZXQtZnJhbWVib3JkZXItb3ZlcnJpZGVzLWJvcmRlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorQnVnIDE3NzY3OiBGcmFtZXNldCB3aXRoIGZyYW1lYm9yZGVyPTAg
YW5kIGJvcmRlcj1OIHNob3VsZCBub3Qgc2hvdyBhIGJvcmRlcgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBmcmFtZXNbMF0ub2Zmc2V0V2lkdGggaXMgMTUwCitQQVNTIGZy
YW1lc1sxXS5vZmZzZXRXaWR0aCBpcyAxNTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mcmFtZXNldC1mcmFtZWJvcmRlci1vdmVycmlkZXMtYm9yZGVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjkyN2M5NWIwYmFiOTAwMmFhNjUxZmRjNTg4NDQyNGExZThhODljZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9y
ZGVyLW92ZXJyaWRlcy1ib3JkZXIuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IWRvY3R5cGUgaHRt
bD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CisKKzxpZnJhbWU+CisgICAgPCFkb2N0eXBlIGh0bWw+CisgICAgPGZyYW1lc2V0IHJvd3M9
IioiIGNvbHM9IjE1MCwqIiBmcmFtZWJvcmRlcj0iMCIgYm9yZGVyPSIxMCI+CisgICAgICAgIDxm
cmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxib2R5IGJnY29sb3I9Z3JlZW4+Ij4KKyAgICAgICAg
PGZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHkgYmdjb2xvcj15ZWxsb3c+Ij4KKyAgICA8
L2ZyYW1lc2V0PgorPC9pZnJhbWU+CisKKzxzY3JpcHQ+CisgICAgLy8gQ2FuJ3QgdXNlIHNyY2Rv
YyBzaW5jZSB0aGF0IHdvdWxkbid0IHN5bmNocm9ub3VzbHkgbG9hZCB0aGUgY29udGVudC4KKyAg
ICBmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworICAgIGZyYW1lRG9j
ID0gZnJhbWUuY29udGVudERvY3VtZW50OworICAgIGZyYW1lRG9jLndyaXRlKGZyYW1lLnRleHRD
b250ZW50KTsKKyAgICBmcmFtZURvYy5jbG9zZSgpOworCisgICAgZGVzY3JpcHRpb24oJ0J1ZyAx
Nzc2NzogRnJhbWVzZXQgd2l0aCBmcmFtZWJvcmRlcj0wIGFuZCBib3JkZXI9TiBzaG91bGQgbm90
IHNob3cgYSBib3JkZXInKTsKKyAgICBmcmFtZXMgPSBmcmFtZURvYy5xdWVyeVNlbGVjdG9yQWxs
KCdmcmFtZScpOworICAgIHNob3VsZEJlKCdmcmFtZXNbMF0ub2Zmc2V0V2lkdGgnLCAnMTUwJyk7
CisgICAgc2hvdWxkQmUoJ2ZyYW1lc1sxXS5vZmZzZXRXaWR0aCcsICcxNTAnKTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>