<?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>25750</bug_id>
          
          <creation_ts>2009-05-13 09:03:04 -0700</creation_ts>
          <short_desc>Gmail popup menus are incorrectly placed when using full page zoom</short_desc>
          <delta_ts>2009-06-02 20:59:11 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brett Wilson (Google)">brettw</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>arv</cc>
    
    <cc>hyatt</cc>
    
    <cc>ojan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tal.ayal.cohen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121041</commentid>
    <comment_count>0</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-13 09:03:04 -0700</bug_when>
    <thetext>The code for this popup uses getBoundingClientRect which doesn&apos;t account for full page zoom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121042</commentid>
    <comment_count>1</comment_count>
      <attachid>30278</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-13 09:04:54 -0700</bug_when>
    <thetext>Created attachment 30278
Preliminary patch

This is a preliminary patch. The code is messy and lacks a test, but I wanted to get feedback before moving on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121043</commentid>
    <comment_count>2</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-13 09:06:24 -0700</bug_when>
    <thetext>Hyatt, could you take a quick look at this patch? There are several FIXMEs in there for things I don&apos;t understand.

I&apos;m also not sure if the change to Element::getClientRects is necessary. Gmail does not trigger this code path, and I don&apos;t know how to test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121044</commentid>
    <comment_count>3</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-13 09:07:36 -0700</bug_when>
    <thetext>To clarify, the test case is to go to gmail and click on the &quot;More Options&quot; popup with full page zoom enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121051</commentid>
    <comment_count>4</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-13 10:12:12 -0700</bug_when>
    <thetext>Don&apos;t click &quot;Move to&quot; or &quot;Labels&quot; because of bug 25751.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121080</commentid>
    <comment_count>5</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-05-13 13:07:36 -0700</bug_when>
    <thetext>Can this be tested in a layout test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121138</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-13 16:29:23 -0700</bug_when>
    <thetext>Yes, you can build a layout test to use getBoundingClientRect.

I think adding a test to this patch would actually help me understand what you&apos;re trying to do better.

Also, all your copy/paste point manipulation could be moved into an inline function.  I don&apos;t know if this is the right approach until I can better see the results of this change (via a test).  But maybe Hyatt or Simon understand better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121143</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-13 16:33:08 -0700</bug_when>
    <thetext>I recall some discussion about whether getBoundingClientRect should change under zoom. iirc, hyatt said that in IE it did not, so WebKit doesn&apos;t either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121185</commentid>
    <comment_count>8</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-05-13 17:51:19 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I recall some discussion about whether getBoundingClientRect should change
&gt; under zoom. iirc, hyatt said that in IE it did not, so WebKit doesn&apos;t either.

IE is also broken.

I don&apos;t think it makes sense for client code to have to care about full page zoom. It should just work.

Currently, offsetWidth, style.width and others take the zoom value into account but getBoundingClientRect does not. This should be made consistent or we will end up with bugs like the one Gmail is having.

We could tell the Gmail people to adjust their code to do something like this:

var dummyElement = document.createElement(&apos;div&apos;);
dummyElement.style.cssText = &apos;position:absolute;width:100px;height:100px;top:-1000px;overflow:hidden&apos;;
document.body.appendChild(dummyElement);
var rect = dummyElement.getBoundingClientRect();
var zoomFactor = (rect.bottom - rect.top) / 100;

and then tell them to multiply by the zoomFactor every single time they use getBoundingClientRect(). They would also have to detect zoom changes which requires more lines of hacky code.

...or we can just fix this bug :-)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121293</commentid>
    <comment_count>9</comment_count>
      <attachid>30340</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-14 07:56:44 -0700</bug_when>
    <thetext>Created attachment 30340
Testcase

I think it&apos;s pretty clear that this function not taking into account zoom is a bug. Otherwise, what use could it possibly be? Every other time the page sees a coordinate or a size, it is adjusted for full page zoom.

I&apos;ve attached a testcase. When you load it, it will position the green square over the red one. Try this: load it at 100% zoom then do full page zoom, the green square will stay over the red one. Then hit reload, the green square will now be in some crazy place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121659</commentid>
    <comment_count>10</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-16 15:58:15 -0700</bug_when>
    <thetext>In response to Eric&apos;s comment that the rectangle moving could use a function: I agree, but I wasn&apos;t sure if the heavily duplicated code was needed at all. Only the second function causes the Gmail problem. I was hoping to get somebody who knows layout to comment on that, since I don&apos;t understand the cases in which it gets called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123597</commentid>
    <comment_count>11</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-05-29 13:20:32 -0700</bug_when>
    <thetext>Yeah fixing it sounds good.  Seems like having a function to adjust a rect would be good rather than having four lines of code like that.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123652</commentid>
    <comment_count>12</comment_count>
      <attachid>30797</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-05-29 16:42:47 -0700</bug_when>
    <thetext>Created attachment 30797
Patch with layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123802</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 00:45:26 -0700</bug_when>
    <thetext>Will land.  I hate this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123806</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 01:12:12 -0700</bug_when>
    <thetext>Sending        LayoutTests/ChangeLog
Adding         LayoutTests/fast/transforms/bounding-rect-zoom.html
Adding         LayoutTests/platform/mac/fast/transforms/bounding-rect-zoom-expected.txt
Sending        WebCore/ChangeLog
Sending        WebCore/dom/Element.cpp
Transmitting file data .....
Committed revision 44315.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124045</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-02 13:44:44 -0700</bug_when>
    <thetext>*** Bug 24177 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124047</commentid>
    <comment_count>16</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2009-06-02 13:50:44 -0700</bug_when>
    <thetext>*** Bug 24357 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30278</attachid>
            <date>2009-05-13 09:04:54 -0700</date>
            <delta_ts>2009-05-29 16:42:47 -0700</delta_ts>
            <desc>Preliminary patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>2238</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">SW5kZXg6IGRvbS9FbGVtZW50LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGRvbS9FbGVtZW50LmNwcAko
cmV2aXNpb24gNDM1NTMpDQorKysgZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAt
NDQ5LDYgKzQ0OSwzMSBAQA0KICAgICAgICAgSW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSB2
aWV3LT52aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBxdWFkcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIHF1YWRzW2ldLm1vdmUoLXZpc2libGVD
b250ZW50UmVjdC54KCksIC12aXNpYmxlQ29udGVudFJlY3QueSgpKTsKKworICAgICAgICAvLyBG
SVhNRShicmV0dHcpIGlzIHRoaXMgc3VwcG9zZWQgdG8gYmUgaW4gdGhlIGlmIHN0YXRlbWVudCBh
Ym92ZT8KKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxdWFkcy5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgLy8gRklYTUUoYnJldHR3KSBpdCBzZWVtcyBsaWtlIHRoaXMgY29tcHV0
YXRpb24gc2hvdWxkIGJlIGRvbmUgaW4gZmxvYXRzIGluc3RlYWQuCisgICAgICAgICAgICAvLyBJ
ZiB3ZSBkbyB0aGF0LCB3aGF0IGFib3V0IHRoZSB3ZWlyZCByb3VuZGluZyBiZWhhdmlvciBpbiBh
ZGp1c3RGb3JBYnNvbHV0ZVpvb20/CisgICAgICAgICAgICBGbG9hdFBvaW50IHAgPSBxdWFkc1tp
XS5wMSgpOworICAgICAgICAgICAgcC5zZXRYKGFkanVzdEZvckFic29sdXRlWm9vbShzdGF0aWNf
Y2FzdDxpbnQ+KHAueCgpKSwgcmVuZGVyQm94TW9kZWxPYmplY3QpKTsKKyAgICAgICAgICAgIHAu
c2V0WShhZGp1c3RGb3JBYnNvbHV0ZVpvb20oc3RhdGljX2Nhc3Q8aW50PihwLnkoKSksIHJlbmRl
ckJveE1vZGVsT2JqZWN0KSk7CisgICAgICAgICAgICBxdWFkc1tpXS5zZXRQMShwKTsKKworICAg
ICAgICAgICAgcCA9IHF1YWRzW2ldLnAyKCk7CisgICAgICAgICAgICBwLnNldFgoYWRqdXN0Rm9y
QWJzb2x1dGVab29tKHN0YXRpY19jYXN0PGludD4ocC54KCkpLCByZW5kZXJCb3hNb2RlbE9iamVj
dCkpOworICAgICAgICAgICAgcC5zZXRZKGFkanVzdEZvckFic29sdXRlWm9vbShzdGF0aWNfY2Fz
dDxpbnQ+KHAueSgpKSwgcmVuZGVyQm94TW9kZWxPYmplY3QpKTsKKyAgICAgICAgICAgIHF1YWRz
W2ldLnNldFAyKHApOworCisgICAgICAgICAgICBwID0gcXVhZHNbaV0ucDMoKTsKKyAgICAgICAg
ICAgIHAuc2V0WChhZGp1c3RGb3JBYnNvbHV0ZVpvb20oc3RhdGljX2Nhc3Q8aW50PihwLngoKSks
IHJlbmRlckJveE1vZGVsT2JqZWN0KSk7CisgICAgICAgICAgICBwLnNldFkoYWRqdXN0Rm9yQWJz
b2x1dGVab29tKHN0YXRpY19jYXN0PGludD4ocC55KCkpLCByZW5kZXJCb3hNb2RlbE9iamVjdCkp
OworICAgICAgICAgICAgcXVhZHNbaV0uc2V0UDMocCk7CisKKyAgICAgICAgICAgIHAgPSBxdWFk
c1tpXS5wNCgpOworICAgICAgICAgICAgcC5zZXRYKGFkanVzdEZvckFic29sdXRlWm9vbShzdGF0
aWNfY2FzdDxpbnQ+KHAueCgpKSwgcmVuZGVyQm94TW9kZWxPYmplY3QpKTsKKyAgICAgICAgICAg
IHAuc2V0WShhZGp1c3RGb3JBYnNvbHV0ZVpvb20oc3RhdGljX2Nhc3Q8aW50PihwLnkoKSksIHJl
bmRlckJveE1vZGVsT2JqZWN0KSk7CisgICAgICAgICAgICBxdWFkc1tpXS5zZXRQNChwKTsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiBDbGllbnRSZWN0TGlzdDo6Y3JlYXRlKHF1YWRz
KTsKQEAgLTQ3Niw2ICs1MDEsMTEgQEANCiAgICAgICAgIHJlc3VsdC5tb3ZlKC12aXNpYmxlQ29u
dGVudFJlY3QueCgpLCAtdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSk7CiAgICAgfQogCisgICAgcmVz
dWx0LnNldFgoYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlc3VsdC54KCksIHJlbmRlckJveE1vZGVs
T2JqZWN0KSk7CisgICAgcmVzdWx0LnNldFkoYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlc3VsdC55
KCksIHJlbmRlckJveE1vZGVsT2JqZWN0KSk7CisgICAgcmVzdWx0LnNldFdpZHRoKGFkanVzdEZv
ckFic29sdXRlWm9vbShyZXN1bHQud2lkdGgoKSwgcmVuZGVyQm94TW9kZWxPYmplY3QpKTsKKyAg
ICByZXN1bHQuc2V0SGVpZ2h0KGFkanVzdEZvckFic29sdXRlWm9vbShyZXN1bHQuaGVpZ2h0KCks
IHJlbmRlckJveE1vZGVsT2JqZWN0KSk7CisKICAgICByZXR1cm4gQ2xpZW50UmVjdDo6Y3JlYXRl
KHJlc3VsdCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30340</attachid>
            <date>2009-05-14 07:56:44 -0700</date>
            <delta_ts>2009-05-14 07:56:44 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>clientRect.html</filename>
            <type>text/html</type>
            <size>687</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KZnVuY3Rpb24gZG9pdCgpIHsNCiAgdmFy
IGJhc2VsaW5lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2VsaW5lIik7DQogIHZhciBt
b3ZlbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW92ZW1lIik7DQoNCiAgdmFyIGJvdW5k
cyA9IGJhc2VsaW5lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOw0KICBtb3ZlbWUuc3R5bGUubGVm
dCA9IGJvdW5kcy5sZWZ0Ow0KICBtb3ZlbWUuc3R5bGUudG9wID0gYm91bmRzLnRvcDsNCiAgbW92
ZW1lLnN0eWxlLndpZHRoID0gYm91bmRzLnJpZ2h0IC0gYm91bmRzLmxlZnQ7DQogIG1vdmVtZS5z
dHlsZS5oZWlnaHQgPSBib3VuZHMuYm90dG9tIC0gYm91bmRzLnRvcDsNCn0NCjwvc2NyaXB0Pg0K
DQo8Ym9keSBvbmxvYWQ9ImRvaXQoKTsiPg0KDQo8ZGl2IGlkPSJiYXNlbGluZSIgc3R5bGU9InBv
c2l0aW9uOmFic29sdXRlOyBsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IGJhY2tncm91bmQtY29sb3I6cmVkOyI+PC9kaXY+DQoNCjxkaXYgaWQ9Im1vdmVt
ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0OjBweDsgdG9wOjBweDsgd2lkdGg6NTBw
eDsgaGVpZ2h0OjUwcHg7IGJhY2tncm91bmQtY29sb3I6Z3JlZW47Ij48L2Rpdj4NCg0KPC9ib2R5
Pg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30797</attachid>
            <date>2009-05-29 16:42:47 -0700</date>
            <delta_ts>2009-06-01 00:27:29 -0700</delta_ts>
            <desc>Patch with layout test</desc>
            <filename>element.diff</filename>
            <type>text/plain</type>
            <size>9678</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0YjMyMTVhLi4zYWVjNTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDUt
MjkgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI1NzUwCisgICAgICAgIFRlc3Q6IGZhc3QvdHJhbnNmb3Jtcy9ib3Vu
ZGluZy1yZWN0LXpvb20uaHRtbAorCisgICAgICAgIE1ha2UgZ2V0Q2xpZW50UmVjdHMgYW5kIGdl
dEJvdW5kaW5nQ2xpZW50UmVjdCBhY2NvdW50IGZvciB0aGVyIHpvb20KKyAgICAgICAgZmFjdG9y
LgorCisgICAgICAgICogZmFzdC90cmFuc2Zvcm1zL2JvdW5kaW5nLXJlY3Qtem9vbS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90cmFuc2Zvcm1zL2JvdW5kaW5nLXJl
Y3Qtem9vbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDA5LTA1LTI5ICBUYWtlc2hpIFlvc2hp
bm8gIDx0eW9zaGlub0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFs
ZGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90cmFuc2Zvcm1zL2JvdW5kaW5nLXJl
Y3Qtem9vbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90cmFuc2Zvcm1zL2JvdW5kaW5nLXJlY3Qt
em9vbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZTY2OTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RyYW5zZm9ybXMvYm91bmRpbmctcmVj
dC16b29tLmh0bWwKQEAgLTAsMCArMSw3NSBAQAorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uIHJlY3RzU2hvdWxkQmVFcXVhbChiYXNlbGluZSwgb3Ro
ZXIsIG91dHB1dEVsdCkKK3sKKyAgaWYgKGJhc2VsaW5lLmxlZnQgIT0gb3RoZXIubGVmdCB8fAor
ICAgICAgYmFzZWxpbmUudG9wICE9IG90aGVyLnRvcCB8fAorICAgICAgYmFzZWxpbmUucmlnaHQg
IT0gb3RoZXIucmlnaHQgfHwKKyAgICAgIGJhc2VsaW5lLmJvdHRvbSAhPSBvdGhlci5ib3R0b20p
CisgICAgICBvdXRwdXRFbHQuaW5uZXJIVE1MID0gJzxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7Ij48
Yj5GQUlMPEJSPjwvYj48L3NwYW4+JyArCisgICAgICAgICAgImxlZnQgc2hvdWxkIGJlICIgKyBi
YXNlbGluZS5sZWZ0ICsgIiBidXQgaXMgIiArIG90aGVyLmxlZnQgKyAiPEJSPiIgKworICAgICAg
ICAgICJ0b3Agc2hvdWxkIGJlICIgKyBiYXNlbGluZS50b3AgKyAiIGJ1dCBpcyAiICsgb3RoZXIu
dG9wICsgIjxCUj4iICsKKyAgICAgICAgICAicmlnaHQgc2hvdWxkIGJlICIgKyBiYXNlbGluZS5y
aWdodCArICIgYnV0IGlzICIgKyBvdGhlci5yaWdodCArICI8QlI+IiArCisgICAgICAgICAgImJv
dHRvbSBzaG91bGQgYmUgIiArIGJhc2VsaW5lLmJvdHRvbSArICIgYnV0IGlzICIgKyBvdGhlci5i
b3R0b207CisgIGVsc2UKKyAgICAgIG91dHB1dEVsdC5pbm5lckhUTUwgPSAnPHNwYW4gc3R5bGU9
ImNvbG9yOmdyZWVuOyI+PGI+UEFTUzwvYj48L3NwYW4+JzsKK30KKworZnVuY3Rpb24gdGVzdEdl
dENsaWVudEJvdW5kaW5nUmVjdCgpCit7CisgICAgdmFyIGJhc2VsaW5lID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImJhc2VsaW5lMSIpOworICAgIHZhciBtb3ZlbWUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibW92ZW1lMSIpOworCisgICAgdmFyIGJvdW5kcyA9IGJhc2VsaW5lLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOworICAgIG1vdmVtZS5zdHlsZS5sZWZ0ID0gYm91bmRzLmxlZnQ7
CisgICAgbW92ZW1lLnN0eWxlLnRvcCA9IGJvdW5kcy50b3A7CisgICAgbW92ZW1lLnN0eWxlLndp
ZHRoID0gYm91bmRzLnJpZ2h0IC0gYm91bmRzLmxlZnQ7CisgICAgbW92ZW1lLnN0eWxlLmhlaWdo
dCA9IGJvdW5kcy5ib3R0b20gLSBib3VuZHMudG9wOworCisgICAgdmFyIG5ld0JvdW5kcyA9IG1v
dmVtZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICByZWN0c1Nob3VsZEJlRXF1YWwoYm91
bmRzLCBuZXdCb3VuZHMsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzMSIpKTsKK30K
KworZnVuY3Rpb24gdGVzdEdldENsaWVudFJlY3RzKCkKK3sKKyAgICB2YXIgYmFzZWxpbmUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmFzZWxpbmUyIik7CisgICAgdmFyIG1vdmVtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb3ZlbWUyIik7CisKKyAgICB2YXIgYm91bmRzTGlzdCA9
IGJhc2VsaW5lLmdldENsaWVudFJlY3RzKCk7CisgICAgbW92ZW1lLnN0eWxlLmxlZnQgPSBib3Vu
ZHNMaXN0WzBdLmxlZnQ7CisgICAgbW92ZW1lLnN0eWxlLnRvcCA9IGJvdW5kc0xpc3RbMF0udG9w
OworICAgIG1vdmVtZS5zdHlsZS53aWR0aCA9IGJvdW5kc0xpc3RbMF0ucmlnaHQgLSBib3VuZHNM
aXN0WzBdLmxlZnQ7CisgICAgbW92ZW1lLnN0eWxlLmhlaWdodCA9IGJvdW5kc0xpc3RbMF0uYm90
dG9tIC0gYm91bmRzTGlzdFswXS50b3A7CisKKyAgICB2YXIgbmV3Qm91bmRMaXN0ID0gbW92ZW1l
LmdldENsaWVudFJlY3RzKCk7CisgICAgcmVjdHNTaG91bGRCZUVxdWFsKGJvdW5kc0xpc3RbMF0s
IG5ld0JvdW5kTGlzdFswXSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMyIikpOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgZG9jdW1lbnQuYm9keS5zdHlsZS56b29tID0g
IjAuOSI7CisgIHRlc3RHZXRDbGllbnRCb3VuZGluZ1JlY3QoKTsKKyAgdGVzdEdldENsaWVudFJl
Y3RzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
CisKKzxwPlRlc3RzIHRoYXQgdGhlc2UgZnVuY3Rpb25zIGFjY291bnQgZm9yIGZ1bGwgcGFnZSB6
b29tLjxicj5UaGVyZSBzaG91bGQgYmUgbm8gcmVkIHZpc2libGUuPC9wPgorCis8dGFibGUgd2lk
dGg9IjEwMCUiPjx0cj48dGQgd2lkdGg9IjIwMHB4Ij5nZXRDbGllbnRCb3VuZGluZ1JlY3QoKToK
KworPGRpdiBpZD0iYmFzZWxpbmUxIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MTAw
cHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZC1jb2xv
cjpyZWQ7Ij48L2Rpdj4KKzxkaXYgaWQ9Im1vdmVtZTEiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0
ZTsgbGVmdDowcHg7IHRvcDowcHg7IHdpZHRoOjUwcHg7IGhlaWdodDo1MHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOmdyZWVuOyI+PC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzMSIgc3R5bGU9InBvc2l0aW9u
OmFic29sdXRlOyBsZWZ0OjEwcHg7IHRvcDoyMjBweCI+Li4uPC9kaXY+CisKKzwvdGQ+PHRkPmdl
dENsaWVudFJlY3RzKCk6CisKKzxkaXYgaWQ9ImJhc2VsaW5lMiIgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlOyBsZWZ0OjMwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IGJhY2tncm91bmQtY29sb3I6cmVkOyI+PC9kaXY+Cis8ZGl2IGlkPSJtb3ZlbWUyIiBzdHlsZT0i
cG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MHB4OyB0b3A6MHB4OyB3aWR0aDo1MHB4OyBoZWlnaHQ6
NTBweDsgYmFja2dyb3VuZC1jb2xvcjpncmVlbjsiPjwvZGl2PgorPGRpdiBpZD0icmVzdWx0czIi
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDoyMjBweDsgdG9wOjIyMHB4Ij4uLi48L2Rp
dj4KKworPC90ZD4KKworPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdHJhbnNmb3Jtcy9ib3VuZGluZy1yZWN0LXpvb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdHJhbnNmb3Jtcy9ib3VuZGluZy1yZWN0LXpvb20t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhZmZjMzYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90cmFuc2Zv
cm1zL2JvdW5kaW5nLXJlY3Qtem9vbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NiBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg3LDcpIHNpemUg
Nzg2eDU4NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg2eDM0CisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMwM3gxNworICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDMwMzogIlRlc3RzIHRoYXQgdGhlc2UgZnVuY3Rpb25zIGFj
Y291bnQgZm9yIGZ1bGwgcGFnZSB6b29tLiIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMzAz
LDEzKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTcpIHNpemUg
MTc2eDE3CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTcpIHdpZHRoIDE3NjogIlRoZXJlIHNo
b3VsZCBiZSBubyByZWQgdmlzaWJsZS4iCisgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDQ4KSBzaXplIDc4NngyMQorICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAo
MCwwKSBzaXplIDc4NngyMQorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMSkg
c2l6ZSA3ODZ4MTkKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxLDEpIHNp
emUgMTgyeDE5IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxLDEpIHNpemUgMTQ1eDE3CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDEsMSkgd2lkdGggMTQ1OiAiZ2V0Q2xpZW50Qm91bmRpbmdSZWN0KCk6IgorICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDE4NCwxKSBzaXplIDYwMXgxOSBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDk1eDE3CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggOTU6ICJnZXRDbGllbnRSZWN0cygpOiIKKyAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg5MCw5MCkg
c2l6ZSA5MHg5MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDkwLDkwKSBz
aXplIDkweDkwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXllciBhdCAoOTAsOTApIHNpemUgOTB4OTAK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg5MCw5MCkgc2l6ZSA5MHg5MCBb
Ymdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDksMTk4KSBzaXplIDM1eDE3CisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOSwxOTgpIHNpemUgMzV4MTcKKyAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzV4MTcgW2NvbG9yPSMwMDgwMDBdCisgICAgICBS
ZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMzV4MTcKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMzV4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAzNTogIlBBU1MiCitsYXllciBhdCAoMjcwLDkwKSBzaXplIDkweDkwCisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjcwLDkwKSBzaXplIDkweDkwIFtiZ2NvbG9yPSNG
RjAwMDBdCitsYXllciBhdCAoMjcwLDkwKSBzaXplIDkweDkwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMjcwLDkwKSBzaXplIDkweDkwIFtiZ2NvbG9yPSMwMDgwMDBdCits
YXllciBhdCAoMTk4LDE5OCkgc2l6ZSAzNXgxNworICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDE5OCwxOTgpIHNpemUgMzV4MTcKKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMzV4MTcgW2NvbG9yPSMwMDgwMDBdCisgICAgICBSZW5kZXJJbmxpbmUge0J9
IGF0ICgwLDApIHNpemUgMzV4MTcKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMzV4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNTogIlBBU1Mi
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDlhMDczMmMuLjY0MjVjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDUtMjkgIEJyZXR0IFdpbHNv
biAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI1NzUwCisgICAgICAgIFRlc3Q6IGZhc3QvdHJhbnNmb3Jtcy9ib3VuZGluZy1yZWN0LXpvb20u
aHRtbAorCisgICAgICAgIE1ha2UgZ2V0Q2xpZW50UmVjdHMgYW5kIGdldEJvdW5kaW5nQ2xpZW50
UmVjdCBhY2NvdW50IGZvciB0aGVyIHpvb20KKyAgICAgICAgZmFjdG9yLgorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRqdXN0RmxvYXRQb2ludEZvckFi
c29sdXRlWm9vbSk6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RGbG9hdFF1YWRGb3JBYnNvbHV0
ZVpvb20pOgorICAgICAgICAoV2ViQ29yZTo6YWRqdXN0SW50UmVjdEZvckFic29sdXRlWm9vbSk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpnZXRDbGllbnRSZWN0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpnZXRCb3VuZGluZ0NsaWVudFJlY3QpOgorCiAyMDA5LTA1LTI5ICBE
YXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKGJ1aWxkIGZpeCBmb3Igd2luZG93cykuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGI0ZTg3MWQuLjRjZjQ5
YmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCkBAIC0yODksNiArMjg5LDMxIEBAIHN0YXRpYyBpbnQgYWRqdXN0Rm9yQWJz
b2x1dGVab29tKGludCB2YWx1ZSwgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAvIHpvb21GYWN0b3IpOwogfQogCitzdGF0aWMgRmxvYXRQ
b2ludCBhZGp1c3RGbG9hdFBvaW50Rm9yQWJzb2x1dGVab29tKGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50LCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIC8vIFRoZSByZXN1bHQgaGVyZSBp
cyBpbiBmbG9hdHMsIHNvIHdlIGRvbid0IG5lZWQgdGhlIHRydW5jYXRpb24gaGFjayBmcm9tIHRo
ZSBpbnRlZ2VyIHZlcnNpb24gYWJvdmUuCisgICAgZmxvYXQgem9vbUZhY3RvciA9IHJlbmRlcmVy
LT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCk7CisgICAgaWYgKHpvb21GYWN0b3IgPT0gMSkKKyAg
ICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiBGbG9hdFBvaW50KHBvaW50LngoKSAvIHpv
b21GYWN0b3IsIHBvaW50LnkoKSAvIHpvb21GYWN0b3IpOworfQorCitzdGF0aWMgdm9pZCBhZGp1
c3RGbG9hdFF1YWRGb3JBYnNvbHV0ZVpvb20oRmxvYXRRdWFkJiBxdWFkLCBSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQoreworICAgIHF1YWQuc2V0UDEoYWRqdXN0RmxvYXRQb2ludEZvckFic29sdXRl
Wm9vbShxdWFkLnAxKCksIHJlbmRlcmVyKSk7CisgICAgcXVhZC5zZXRQMihhZGp1c3RGbG9hdFBv
aW50Rm9yQWJzb2x1dGVab29tKHF1YWQucDIoKSwgcmVuZGVyZXIpKTsKKyAgICBxdWFkLnNldFAz
KGFkanVzdEZsb2F0UG9pbnRGb3JBYnNvbHV0ZVpvb20ocXVhZC5wMygpLCByZW5kZXJlcikpOwor
ICAgIHF1YWQuc2V0UDQoYWRqdXN0RmxvYXRQb2ludEZvckFic29sdXRlWm9vbShxdWFkLnA0KCks
IHJlbmRlcmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIGFkanVzdEludFJlY3RGb3JBYnNvbHV0ZVpv
b20oSW50UmVjdCYgcmVjdCwgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICByZWN0LnNl
dFgoYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlY3QueCgpLCByZW5kZXJlcikpOworICAgIHJlY3Qu
c2V0WShhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocmVjdC55KCksIHJlbmRlcmVyKSk7CisgICAgcmVj
dC5zZXRXaWR0aChhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocmVjdC53aWR0aCgpLCByZW5kZXJlcikp
OworICAgIHJlY3Quc2V0SGVpZ2h0KGFkanVzdEZvckFic29sdXRlWm9vbShyZWN0LmhlaWdodCgp
LCByZW5kZXJlcikpOworfQorCiBpbnQgRWxlbWVudDo6b2Zmc2V0TGVmdCgpCiB7CiAgICAgZG9j
dW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CkBAIC00NDcs
OCArNDcyLDEwIEBAIFBhc3NSZWZQdHI8Q2xpZW50UmVjdExpc3Q+IEVsZW1lbnQ6OmdldENsaWVu
dFJlY3RzKCkgY29uc3QKIAogICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudCgpLT52
aWV3KCkpIHsKICAgICAgICAgSW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSB2aWV3LT52aXNp
YmxlQ29udGVudFJlY3QoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxdWFkcy5z
aXplKCk7ICsraSkKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxdWFkcy5zaXplKCk7
ICsraSkgewogICAgICAgICAgICAgcXVhZHNbaV0ubW92ZSgtdmlzaWJsZUNvbnRlbnRSZWN0Lngo
KSwgLXZpc2libGVDb250ZW50UmVjdC55KCkpOworICAgICAgICAgICAgYWRqdXN0RmxvYXRRdWFk
Rm9yQWJzb2x1dGVab29tKHF1YWRzW2ldLCByZW5kZXJCb3hNb2RlbE9iamVjdCk7CisgICAgICAg
IH0KICAgICB9CiAKICAgICByZXR1cm4gQ2xpZW50UmVjdExpc3Q6OmNyZWF0ZShxdWFkcyk7CkBA
IC00NzYsNiArNTAzLDggQEAgUGFzc1JlZlB0cjxDbGllbnRSZWN0PiBFbGVtZW50OjpnZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKSBjb25zdAogICAgICAgICByZXN1bHQubW92ZSgtdmlzaWJsZUNvbnRl
bnRSZWN0LngoKSwgLXZpc2libGVDb250ZW50UmVjdC55KCkpOwogICAgIH0KIAorICAgIGFkanVz
dEludFJlY3RGb3JBYnNvbHV0ZVpvb20ocmVzdWx0LCByZW5kZXJCb3hNb2RlbE9iamVjdCk7CisK
ICAgICByZXR1cm4gQ2xpZW50UmVjdDo6Y3JlYXRlKHJlc3VsdCk7CiB9CiAK
</data>
<flag name="review"
          id="15626"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>