<?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>145642</bug_id>
          
          <creation_ts>2015-06-04 09:35:44 -0700</creation_ts>
          <short_desc>Latching algorithm in findEnclosingOverflowScroll is broken</short_desc>
          <delta_ts>2015-06-04 18:36:04 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145655</dependson>
          <blocked>145649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1099493</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 09:35:44 -0700</bug_when>
    <thetext>I discovered this problem while debugging Bug 145637.

The logic in findEnclosingOverflowScroll uses the RenderBox &quot;canBeScrolledAndHasScrollableArea&quot; to identify the nearest enclosing element that can be scrolled. However, this method considers horizontal and vertical scrolling as equally relevant. This is a problem when we want to perform a vertical scroll, but the element underneath the mouse pointer can only be scrolled in a horizontal direction.

When we have this scenario, the latching logic chooses the horizontally scrollable region and attempts to latch to it. When it discovers that it cannot be scrolled in the user&apos;s gesture direction, it gives up and passes control to the next enclosing latching context. When we are working on a single page, this means the document body, and things generally work as the user expects. But when we have nested iframes, this causes us to pop up to the enclosing iframe, which looks wrong to the user.

The test case I added in Bug 145637 highlights this problem if you modify the &lt;img&gt; style to remove the &quot;max-width:100%&quot; in &apos;inner_content.html&apos;.

I think the right fix here is to modify &apos;findEnclosingOverflowScroll&apos; so that it takes the gesture&apos;s dominant direction into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099494</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-06-04 09:36:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/21242308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099542</commentid>
    <comment_count>2</comment_count>
      <attachid>254281</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 11:23:07 -0700</bug_when>
    <thetext>Created attachment 254281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099547</commentid>
    <comment_count>3</comment_count>
      <attachid>254281</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-04 11:30:11 -0700</bug_when>
    <thetext>Comment on attachment 254281
Patch

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:795
&gt; +            if ((verticalScroll &amp;&amp; box-&gt;hasScrollableOverflowY()) || (!verticalScroll &amp;&amp; box-&gt;hasScrollableOverflowX()))
&gt; +                return candidate;

I&apos;m not sure I like the idea of adding &quot;predominantly vertical&quot; logic here. The event could have non-zero X delta, and box-&gt;hasScrollableOverflowX() could be true, but we would not return that box as a candidate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099548</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 11:31:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 254281 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254281&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/mac/EventHandlerMac.mm:795
&gt; &gt; +            if ((verticalScroll &amp;&amp; box-&gt;hasScrollableOverflowY()) || (!verticalScroll &amp;&amp; box-&gt;hasScrollableOverflowX()))
&gt; &gt; +                return candidate;
&gt; 
&gt; I&apos;m not sure I like the idea of adding &quot;predominantly vertical&quot; logic here.
&gt; The event could have non-zero X delta, and box-&gt;hasScrollableOverflowX()
&gt; could be true, but we would not return that box as a candidate.

Ah! Good point.

Maybe something like &quot;deltaX &amp;&amp; box-&gt;hasScrollableOverflowX() || deltaY &amp;&amp; box-&gt;hasScrollableOverflowY()&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099549</commentid>
    <comment_count>5</comment_count>
      <attachid>254282</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 11:36:35 -0700</bug_when>
    <thetext>Created attachment 254282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099551</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 11:56:07 -0700</bug_when>
    <thetext>Committed r185208: &lt;http://trac.webkit.org/changeset/185208&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099600</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-04 14:02:32 -0700</bug_when>
    <thetext>This broke platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-select.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099603</commentid>
    <comment_count>8</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-06-04 14:08:22 -0700</bug_when>
    <thetext>@@ -8,7 +8,7 @@
 
 TEST COMPLETE
 PASS Page did not receive wheel events.
-PASS IFrame did not receive wheel events.
+FAIL IFrame consumed wheel events.
 PASS Select consumed wheel events.
 PASS successfullyParsed is true

Rolling out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099606</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-04 14:09:02 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 145655</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099658</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-04 16:15:50 -0700</bug_when>
    <thetext>Rolling out r185211 too (which just added tests that now fail).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099696</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 17:54:35 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; This broke
&gt; platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-select.
&gt; html

Ah! Indeed it does. The &lt;select&gt; case doesn&apos;t work the same way because it doesn&apos;t treat its scrollable area as overflow. So the &quot;scrollsOverflowY()&quot; returns false for &lt;select&gt;, even though it does satisfy &quot;canBeScrolledAndHasScrollableArea&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099697</commentid>
    <comment_count>12</comment_count>
      <attachid>254323</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 17:59:43 -0700</bug_when>
    <thetext>Created attachment 254323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099706</commentid>
    <comment_count>13</comment_count>
      <attachid>254325</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 18:21:42 -0700</bug_when>
    <thetext>Created attachment 254325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099712</commentid>
    <comment_count>14</comment_count>
      <attachid>254325</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-04 18:25:20 -0700</bug_when>
    <thetext>Comment on attachment 254325
Patch

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:782
&gt; +static ContainerNode* findEnclosingOverflowScrollForDominantDirection(ContainerNode* node, float deltaX, float deltaY)

This isn&apos;t really &quot;dominant direction&quot; any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099719</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-04 18:36:04 -0700</bug_when>
    <thetext>Committed r185234: &lt;http://trac.webkit.org/changeset/185234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254281</attachid>
            <date>2015-06-04 11:23:07 -0700</date>
            <delta_ts>2015-06-04 11:36:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145642-20150604112246.patch</filename>
            <type>text/plain</type>
            <size>5501</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE1LTA2LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRo
bSBpbiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIxMjQyMzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvaWZyYW1lX2luX2lmcmFtZS5odG1sCisKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpkZWx0YUlzUHJlZG9taW5hbnRseVZlcnRpY2Fs
KTogTW92ZSBlYXJsaWVyIGluIGZpbGUgc28gaXQgY2FuCisgICAgICAgIGJlIHVzZWQgYnkgZmlu
ZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9yRG9taW5hbnREaXJlY3Rpb24uCisgICAgICAgIChX
ZWJDb3JlOjpmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGxGb3JEb21pbmFudERpcmVjdGlvbik6
IFJlbmFtZWQgZnJvbQorICAgICAgICAnZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsJy4gT25s
eSBpZGVudGlmeSBlbGVtZW50IGFzIG91ciBvdmVyZmxvdworICAgICAgICBzY3JvbGwgZWxlbWVu
dCBpZiBpdCBjYW4gYmUgc2Nyb2xsZWQgaW4gdGhlIGdlc3R1cmUncyBkb21pbmFudCBkaXJlY3Rp
b24uCisgICAgICAgIChXZWJDb3JlOjpzY3JvbGxlZFRvRWRnZUluRG9taW5hbnREaXJlY3Rpb24p
OiBSZW5hbWVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBh
cmVGb3JXaGVlbEV2ZW50cyk6IFVzZSBuZXcgZnVuY3Rpb24KKyAgICAgICAgbmFtZSwgYW5kIHBh
c3MgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgZGVsdGFzLgorICAgICAgICAoV2ViQ29yZTo6Zmlu
ZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsKTogRGVsZXRlZC4KKwogMjAxNS0wNi0wMyAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTgx
ODc5KTogU2Nyb2xsaW5nIG9yZGVyIG9uIHBhZ2VzIHdpdGggZm9jdXNlZCBpZnJhbWUgaXMgYnJv
a2VuLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQko
cmV2aXNpb24gMTg1MjAxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03NzEsOCArNzcxLDE1IEBAIHVuc2lnbmVkIEV2ZW50
SGFuZGxlcjo6YWNjZXNzS2V5TW9kaWZpZXIKICAgICByZXR1cm4gUGxhdGZvcm1FdmVudDo6Q3Ry
bEtleSB8IFBsYXRmb3JtRXZlbnQ6OkFsdEtleTsKIH0KIAotc3RhdGljIENvbnRhaW5lck5vZGUq
IGZpbmRFbmNsb3NpbmdPdmVyZmxvd1Njcm9sbChDb250YWluZXJOb2RlKiBub2RlKQorc3RhdGlj
IGJvb2wgZGVsdGFJc1ByZWRvbWluYW50bHlWZXJ0aWNhbChmbG9hdCBkZWx0YVgsIGZsb2F0IGRl
bHRhWSkKK3sKKyAgICByZXR1cm4gc3RkOjphYnMoZGVsdGFZKSA+IHN0ZDo6YWJzKGRlbHRhWCk7
Cit9CisgICAgCitzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xvc2luZ092ZXJmbG93U2Ny
b2xsRm9yRG9taW5hbnREaXJlY3Rpb24oQ29udGFpbmVyTm9kZSogbm9kZSwgZmxvYXQgZGVsdGFY
LCBmbG9hdCBkZWx0YVkpCiB7CisgICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbCA9IGRlbHRhSXNQcmVk
b21pbmFudGx5VmVydGljYWwoZGVsdGFYLCBkZWx0YVkpOworCiAgICAgLy8gRmluZCB0aGUgZmly
c3Qgbm9kZSB3aXRoIGEgdmFsaWQgc2Nyb2xsYWJsZSBhcmVhIHN0YXJ0aW5nIHdpdGggdGhlIGN1
cnJlbnQKICAgICAvLyBub2RlIGFuZCB0cmF2ZXJzaW5nIGl0cyBwYXJlbnRzIChvciBzaGFkb3cg
aG9zdHMpLgogICAgIGZvciAoQ29udGFpbmVyTm9kZSogY2FuZGlkYXRlID0gbm9kZTsgY2FuZGlk
YXRlOyBjYW5kaWRhdGUgPSBjYW5kaWRhdGUtPnBhcmVudE9yU2hhZG93SG9zdE5vZGUoKSkgewpA
QCAtNzgzLDE4ICs3OTAsMTUgQEAgc3RhdGljIENvbnRhaW5lck5vZGUqIGZpbmRFbmNsb3NpbmdP
dmVyZgogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgUmVuZGVyQm94KiBi
b3ggPSBjYW5kaWRhdGUtPnJlbmRlckJveCgpOwotICAgICAgICBpZiAoYm94ICYmIGJveC0+Y2Fu
QmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpCi0gICAgICAgICAgICByZXR1cm4gY2Fu
ZGlkYXRlOworICAgICAgICBpZiAoYm94ICYmIGJveC0+Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9s
bGFibGVBcmVhKCkpIHsKKyAgICAgICAgICAgIGlmICgodmVydGljYWxTY3JvbGwgJiYgYm94LT5o
YXNTY3JvbGxhYmxlT3ZlcmZsb3dZKCkpIHx8ICghdmVydGljYWxTY3JvbGwgJiYgYm94LT5oYXNT
Y3JvbGxhYmxlT3ZlcmZsb3dYKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7
CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRp
YyBib29sIGRlbHRhSXNQcmVkb21pbmFudGx5VmVydGljYWwoZmxvYXQgZGVsdGFYLCBmbG9hdCBk
ZWx0YVkpCi17Ci0gICAgcmV0dXJuIHN0ZDo6YWJzKGRlbHRhWSkgPiBzdGQ6OmFicyhkZWx0YVgp
OwotfQotICAgIAogc3RhdGljIGJvb2wgc2Nyb2xsZWRUb0VkZ2VJbkRvbWluYW50RGlyZWN0aW9u
KGNvbnN0IENvbnRhaW5lck5vZGUmIGNvbnRhaW5lciwgY29uc3QgU2Nyb2xsYWJsZUFyZWEmIGFy
ZWEsIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZKQogewogICAgIGlmICghY29udGFpbmVyLnJl
bmRlcmVyKCkpCkBAIC05MTYsNyArOTIwLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnBsYXRmb3Jt
UHJlcGFyZUZvcldoZQogICAgICAgICAgICAgc2Nyb2xsYWJsZUNvbnRhaW5lciA9IHdoZWVsRXZl
bnRUYXJnZXQ7CiAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYSA9IHNjcm9sbFZpZXdGb3JFdmVu
dFRhcmdldCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwo
d2hlZWxFdmVudFRhcmdldC5nZXQoKSk7CisgICAgICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVy
ID0gZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9yRG9taW5hbnREaXJlY3Rpb24od2hlZWxF
dmVudFRhcmdldC5nZXQoKSwgd2hlZWxFdmVudC5kZWx0YVgoKSwgd2hlZWxFdmVudC5kZWx0YVko
KSk7CiAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUNvbnRhaW5lcikKICAgICAgICAgICAgICAg
ICBzY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhRm9yQ29udGFpbmVyTm9kZSgqc2Nyb2xs
YWJsZUNvbnRhaW5lcik7CiAgICAgICAgICAgICBlbHNlIHsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4
NTIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDE1LTA2LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRobSBpbiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3Jv
bGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMjQyMzA4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmlzZSB0aGUgbmV3IGxh
dGNoaW5nIHRlc3QgdG8gcmVtb3ZlIHRoZSBpbWFnZSAibWF4LXdpZHRoOiAxMDAlIiBzdHlsZSwg
d2hpY2ggd2FzCisgICAgICAgIHByZXZlbnRpbmcgdGhpcyBleGFtcGxlIGZyb20gaGF2aW5nIGEg
aG9yaXpvbnRhbCBzY3JvbGxhYmxlIHJlZ2lvbiBhdCB0aGUgdG9wIG9mIHRoZQorICAgICAgICBm
aWxlLgorICAgICAgICAKKyAgICAgICAgSXQgc3RpbGwgY29ycmVjdGx5IHRlc3RzIHRoZSBzdWJw
aXhlbCBidWcgZnJvbSBCdWcgMTQ1NjM3LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVudC5odG1sOiBSZW1v
dmUgd2lkdGgKKyAgICAgICAgYWRqdXN0bWVudCBvbiBpbWFnZS4KKwogMjAxNS0wNi0wMyAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
MTgxODc5KTogU2Nyb2xsaW5nIG9yZGVyIG9uIHBhZ2VzIHdpdGggZm9jdXNlZCBpZnJhbWUgaXMg
YnJva2VuLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVzb3Vy
Y2VzL2lubmVyX2NvbnRlbnQuaHRtbAkocmV2aXNpb24gMTg1MjAxKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9yZXNvdXJjZXMvaW5uZXJf
Y29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDEyICszLDYgQEAKICAgICA8aGVhZD4K
ICAgICAgICAgPHRpdGxlPklubmVyIGlGcmFtZSBFeGFtcGxlPC90aXRsZT4KICAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiPgotICAgICAgICA8c3R5bGU+Ci0gICAgICAgIGltZyB7Ci0gICAg
ICAgICAgICBkaXNwbGF5OmJsb2NrOwotICAgICAgICAgICAgbWF4LXdpZHRoOjEwMCU7Ci0gICAg
ICAgIH0KLSAgICAgICAgPC9zdHlsZT4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHkgc3R5bGU9InBv
c2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMTAwJTsgdG9wOiAwcHg7Ij4KICAgICAgICAg
PGRpdiBzdHlsZT0ib3ZlcmZsb3c6YXV0bzsiPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254282</attachid>
            <date>2015-06-04 11:36:35 -0700</date>
            <delta_ts>2015-06-04 17:59:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145642-20150604113614.patch</filename>
            <type>text/plain</type>
            <size>4727</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA2LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRo
bSBpbiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIxMjQyMzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvaWZyYW1lX2luX2lmcmFtZS5odG1sCisKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGxG
b3JEb21pbmFudERpcmVjdGlvbik6IFJlbmFtZWQgZnJvbQorICAgICAgICAnZmluZEVuY2xvc2lu
Z092ZXJmbG93U2Nyb2xsJy4gT25seSBpZGVudGlmeSBlbGVtZW50IGFzIG91ciBvdmVyZmxvdwor
ICAgICAgICBzY3JvbGwgZWxlbWVudCBpZiBpdCBjYW4gYmUgc2Nyb2xsZWQgaW4gZWl0aGVyIGF4
aXMgb2YgdGhlIGdlc3R1cmUncworICAgICAgICBtb3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpz
Y3JvbGxlZFRvRWRnZUluRG9taW5hbnREaXJlY3Rpb24pOiBSZW5hbWVkLgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVzZSBu
ZXcgZnVuY3Rpb24KKyAgICAgICAgbmFtZSwgYW5kIHBhc3MgaG9yaXpvbnRhbCBhbmQgdmVydGlj
YWwgZGVsdGFzLgorICAgICAgICAoV2ViQ29yZTo6ZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xs
KTogRGVsZXRlZC4KKwogMjAxNS0wNi0wMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTgxODc5KTogU2Nyb2xsaW5nIG9yZGVyIG9u
IHBhZ2VzIHdpdGggZm9jdXNlZCBpZnJhbWUgaXMgYnJva2VuLgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQkocmV2aXNpb24gMTg1MjAxKQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC03NzEsNyArNzcxLDcgQEAgdW5zaWduZWQgRXZlbnRIYW5kbGVyOjphY2Nlc3NLZXlNb2RpZmll
cgogICAgIHJldHVybiBQbGF0Zm9ybUV2ZW50OjpDdHJsS2V5IHwgUGxhdGZvcm1FdmVudDo6QWx0
S2V5OwogfQogCi1zdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xvc2luZ092ZXJmbG93U2Ny
b2xsKENvbnRhaW5lck5vZGUqIG5vZGUpCitzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xv
c2luZ092ZXJmbG93U2Nyb2xsRm9yRG9taW5hbnREaXJlY3Rpb24oQ29udGFpbmVyTm9kZSogbm9k
ZSwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVkpCiB7CiAgICAgLy8gRmluZCB0aGUgZmlyc3Qg
bm9kZSB3aXRoIGEgdmFsaWQgc2Nyb2xsYWJsZSBhcmVhIHN0YXJ0aW5nIHdpdGggdGhlIGN1cnJl
bnQKICAgICAvLyBub2RlIGFuZCB0cmF2ZXJzaW5nIGl0cyBwYXJlbnRzIChvciBzaGFkb3cgaG9z
dHMpLgpAQCAtNzgzLDggKzc4MywxMCBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xv
c2luZ092ZXJmCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBSZW5kZXJC
b3gqIGJveCA9IGNhbmRpZGF0ZS0+cmVuZGVyQm94KCk7Ci0gICAgICAgIGlmIChib3ggJiYgYm94
LT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSkKLSAgICAgICAgICAgIHJldHVy
biBjYW5kaWRhdGU7CisgICAgICAgIGlmIChib3ggJiYgYm94LT5jYW5CZVNjcm9sbGVkQW5kSGFz
U2Nyb2xsYWJsZUFyZWEoKSkgeworICAgICAgICAgICAgaWYgKChkZWx0YVkgJiYgYm94LT5oYXNT
Y3JvbGxhYmxlT3ZlcmZsb3dZKCkpIHx8IChkZWx0YVggJiYgYm94LT5oYXNTY3JvbGxhYmxlT3Zl
cmZsb3dYKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CisgICAgICAgIH0K
ICAgICB9CiAgICAgCiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05MTYsNyArOTE4LDcgQEAgdm9p
ZCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtUHJlcGFyZUZvcldoZQogICAgICAgICAgICAgc2Nyb2xs
YWJsZUNvbnRhaW5lciA9IHdoZWVsRXZlbnRUYXJnZXQ7CiAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYSA9IHNjcm9sbFZpZXdGb3JFdmVudFRhcmdldCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsK
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5k
RW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwod2hlZWxFdmVudFRhcmdldC5nZXQoKSk7CisgICAgICAg
ICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9y
RG9taW5hbnREaXJlY3Rpb24od2hlZWxFdmVudFRhcmdldC5nZXQoKSwgd2hlZWxFdmVudC5kZWx0
YVgoKSwgd2hlZWxFdmVudC5kZWx0YVkoKSk7CiAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUNv
bnRhaW5lcikKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVh
Rm9yQ29udGFpbmVyTm9kZSgqc2Nyb2xsYWJsZUNvbnRhaW5lcik7CiAgICAgICAgICAgICBlbHNl
IHsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA2LTA0ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRobSBpbiBm
aW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzIxMjQyMzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJldmlzZSB0aGUgbmV3IGxhdGNoaW5nIHRlc3QgdG8gcmVtb3ZlIHRoZSBpbWFnZSAi
bWF4LXdpZHRoOiAxMDAlIiBzdHlsZSwgd2hpY2ggd2FzCisgICAgICAgIHByZXZlbnRpbmcgdGhp
cyBleGFtcGxlIGZyb20gaGF2aW5nIGEgaG9yaXpvbnRhbCBzY3JvbGxhYmxlIHJlZ2lvbiBhdCB0
aGUgdG9wIG9mIHRoZQorICAgICAgICBmaWxlLgorICAgICAgICAKKyAgICAgICAgSXQgc3RpbGwg
Y29ycmVjdGx5IHRlc3RzIHRoZSBzdWJwaXhlbCBidWcgZnJvbSBCdWcgMTQ1NjM3LgorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9yZXNvdXJjZXMv
aW5uZXJfY29udGVudC5odG1sOiBSZW1vdmUgd2lkdGgKKyAgICAgICAgYWRqdXN0bWVudCBvbiBp
bWFnZS4KKwogMjAxNS0wNi0wMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMTgxODc5KTogU2Nyb2xsaW5nIG9yZGVyIG9uIHBhZ2Vz
IHdpdGggZm9jdXNlZCBpZnJhbWUgaXMgYnJva2VuLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvcmVzb3VyY2VzL2lubmVyX2NvbnRlbnQuaHRtbAkocmV2aXNpb24g
MTg1MjAxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDEyICszLDYgQEAKICAgICA8aGVhZD4KICAgICAgICAgPHRpdGxlPklubmVyIGlGcmFtZSBFeGFt
cGxlPC90aXRsZT4KICAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICAgICAgICA8c3R5
bGU+Ci0gICAgICAgIGltZyB7Ci0gICAgICAgICAgICBkaXNwbGF5OmJsb2NrOwotICAgICAgICAg
ICAgbWF4LXdpZHRoOjEwMCU7Ci0gICAgICAgIH0KLSAgICAgICAgPC9zdHlsZT4KICAgICA8L2hl
YWQ+CiAgICAgPGJvZHkgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMTAw
JTsgdG9wOiAwcHg7Ij4KICAgICAgICAgPGRpdiBzdHlsZT0ib3ZlcmZsb3c6YXV0bzsiPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254323</attachid>
            <date>2015-06-04 17:59:43 -0700</date>
            <delta_ts>2015-06-04 18:21:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145642-20150604175921.patch</filename>
            <type>text/plain</type>
            <size>5892</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTIyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA2LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRo
bSBpbiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIxMjQyMzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2lmcmFtZV9pbl9pZnJhbWUuaHRtbAorCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9y
RG9taW5hbnREaXJlY3Rpb24pOiBSZW5hbWVkIGZyb20KKyAgICAgICAgJ2ZpbmRFbmNsb3NpbmdP
dmVyZmxvd1Njcm9sbCcuIE9ubHkgaWRlbnRpZnkgZWxlbWVudCBhcyBvdXIgb3ZlcmZsb3cKKyAg
ICAgICAgc2Nyb2xsIGVsZW1lbnQgaWYgaXQgY2FuIGJlIHNjcm9sbGVkIGluIGVpdGhlciBheGlz
IG9mIHRoZSBnZXN0dXJlJ3MKKyAgICAgICAgbW90aW9uLgorICAgICAgICAoV2ViQ29yZTo6c2Ny
b2xsZWRUb0VkZ2VJbkRvbWluYW50RGlyZWN0aW9uKTogUmVuYW1lZC4KKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxFdmVudHMpOiBVc2UgbmV3
IGZ1bmN0aW9uCisgICAgICAgIG5hbWUsIGFuZCBwYXNzIGhvcml6b250YWwgYW5kIHZlcnRpY2Fs
IGRlbHRhcy4KKyAgICAgICAgKFdlYkNvcmU6OmZpbmRFbmNsb3NpbmdPdmVyZmxvd1Njcm9sbCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94OjpoYXNTY3JvbGxhYmxlWCk6IFByb3ZpZGUgdmVyc2lvbiBvZiAnaGFz
U2Nyb2xsYWJsZU92ZXJmbG93WScKKyAgICAgICAgdGhhdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQg
J3Njcm9sbHNPdmVyZmxvd1gnIGlzIHRydWUuIFRoaXMgaXMgbmVlZGVkIGZvcgorICAgICAgICB0
aGUgUmVuZGVyTGlzdEJveCBjYXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNT
Y3JvbGxhYmxlWSk6IERpdHRvLgorCiAyMDE1LTA2LTA0ICBNYXR0IFJhamNhICA8bXJhamNhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgTWVkaWFTZXNzaW9uTWFuYWdlciB0byBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIgZm9yIGNvbnNpc3RlbmN5IHdpdGggUGxhdGZvcm1NZWRpYVNl
c3Npb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CShyZXZpc2lvbiAxODUyMjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTc3MSw3ICs3NzEsNyBAQCB1bnNpZ25lZCBFdmVu
dEhhbmRsZXI6OmFjY2Vzc0tleU1vZGlmaWVyCiAgICAgcmV0dXJuIFBsYXRmb3JtRXZlbnQ6OkN0
cmxLZXkgfCBQbGF0Zm9ybUV2ZW50OjpBbHRLZXk7CiB9CiAKLXN0YXRpYyBDb250YWluZXJOb2Rl
KiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwoQ29udGFpbmVyTm9kZSogbm9kZSkKK3N0YXRp
YyBDb250YWluZXJOb2RlKiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGxGb3JEb21pbmFudERp
cmVjdGlvbihDb250YWluZXJOb2RlKiBub2RlLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSkK
IHsKICAgICAvLyBGaW5kIHRoZSBmaXJzdCBub2RlIHdpdGggYSB2YWxpZCBzY3JvbGxhYmxlIGFy
ZWEgc3RhcnRpbmcgd2l0aCB0aGUgY3VycmVudAogICAgIC8vIG5vZGUgYW5kIHRyYXZlcnNpbmcg
aXRzIHBhcmVudHMgKG9yIHNoYWRvdyBob3N0cykuCkBAIC03ODMsOCArNzgzLDEwIEBAIHN0YXRp
YyBDb250YWluZXJOb2RlKiBmaW5kRW5jbG9zaW5nT3ZlcmYKICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgICAgIFJlbmRlckJveCogYm94ID0gY2FuZGlkYXRlLT5yZW5kZXJCb3go
KTsKLSAgICAgICAgaWYgKGJveCAmJiBib3gtPmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxl
QXJlYSgpKQotICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTsKKyAgICAgICAgaWYgKGJveCAm
JiBib3gtPmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpKSB7CisgICAgICAgICAg
ICBpZiAoKGRlbHRhWSAmJiBib3gtPmhhc1Njcm9sbGFibGVZKCkpIHx8IChkZWx0YVggJiYgYm94
LT5oYXNTY3JvbGxhYmxlWCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlOwor
ICAgICAgICB9CiAgICAgfQogICAgIAogICAgIHJldHVybiBudWxscHRyOwpAQCAtOTE2LDcgKzkx
OCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGUKICAgICAgICAg
ICAgIHNjcm9sbGFibGVDb250YWluZXIgPSB3aGVlbEV2ZW50VGFyZ2V0OwogICAgICAgICAgICAg
c2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxWaWV3Rm9yRXZlbnRUYXJnZXQod2hlZWxFdmVudFRhcmdl
dC5nZXQoKSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBzY3JvbGxhYmxlQ29udGFp
bmVyID0gZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsKHdoZWVsRXZlbnRUYXJnZXQuZ2V0KCkp
OworICAgICAgICAgICAgc2Nyb2xsYWJsZUNvbnRhaW5lciA9IGZpbmRFbmNsb3NpbmdPdmVyZmxv
d1Njcm9sbEZvckRvbWluYW50RGlyZWN0aW9uKHdoZWVsRXZlbnRUYXJnZXQuZ2V0KCksIHdoZWVs
RXZlbnQuZGVsdGFYKCksIHdoZWVsRXZlbnQuZGVsdGFZKCkpOwogICAgICAgICAgICAgaWYgKHNj
cm9sbGFibGVDb250YWluZXIpCiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEgPSBzY3Jv
bGxhYmxlQXJlYUZvckNvbnRhaW5lck5vZGUoKnNjcm9sbGFibGVDb250YWluZXIpOwogICAgICAg
ICAgICAgZWxzZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZp
c2lvbiAxODUyMjgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ3OSw2ICs0NzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxz
T3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCku
b3ZlcmZsb3dZKCkgPT0gT1NDUk9MTCB8fCBoYXNWZXJ0aWNhbFNjcm9sbGJhcldpdGhBdXRvQmVo
YXZpb3IoKSk7IH0KICAgICBib29sIGhhc1Njcm9sbGFibGVPdmVyZmxvd1goKSBjb25zdCB7IHJl
dHVybiBzY3JvbGxzT3ZlcmZsb3dYKCkgJiYgc2Nyb2xsV2lkdGgoKSAhPSByb3VuZFRvSW50KGNs
aWVudFdpZHRoKCkpOyB9CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlT3ZlcmZsb3dZKCkgY29uc3Qg
eyByZXR1cm4gc2Nyb2xsc092ZXJmbG93WSgpICYmIHNjcm9sbEhlaWdodCgpICE9IHJvdW5kVG9J
bnQoY2xpZW50SGVpZ2h0KCkpOyB9CisgICAgYm9vbCBoYXNTY3JvbGxhYmxlWCgpIGNvbnN0IHsg
cmV0dXJuIHNjcm9sbFdpZHRoKCkgIT0gcm91bmRUb0ludChjbGllbnRXaWR0aCgpKTsgfQorICAg
IGJvb2wgaGFzU2Nyb2xsYWJsZVkoKSBjb25zdCB7IHJldHVybiBzY3JvbGxIZWlnaHQoKSAhPSBy
b3VuZFRvSW50KGNsaWVudEhlaWdodCgpKTsgfQogCiAgICAgYm9vbCB1c2VzQ29tcG9zaXRlZFNj
cm9sbGluZygpIGNvbnN0OwogICAgIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1MjI4KQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTUt
MDYtMDQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgTGF0
Y2hpbmcgYWxnb3JpdGhtIGluIGZpbmRFbmNsb3NpbmdPdmVyZmxvd1Njcm9sbCBpcyBicm9rZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTY0Mgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjEyNDIzMDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgorCisgICAgICAgIFJldmlzZSB0aGUgbmV3IGxhdGNoaW5nIHRlc3QgdG8g
cmVtb3ZlIHRoZSBpbWFnZSAibWF4LXdpZHRoOiAxMDAlIiBzdHlsZSwgd2hpY2ggd2FzCisgICAg
ICAgIHByZXZlbnRpbmcgdGhpcyBleGFtcGxlIGZyb20gaGF2aW5nIGEgaG9yaXpvbnRhbCBzY3Jv
bGxhYmxlIHJlZ2lvbiBhdCB0aGUgdG9wIG9mIHRoZQorICAgICAgICBmaWxlLgorICAgICAgICAK
KyAgICAgICAgSXQgc3RpbGwgY29ycmVjdGx5IHRlc3RzIHRoZSBzdWJwaXhlbCBidWcgZnJvbSBC
dWcgMTQ1NjM3LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVudC5odG1sOiBSZW1vdmUgd2lkdGgKKyAgICAg
ICAgYWRqdXN0bWVudCBvbiBpbWFnZS4KKwogMjAxNS0wNi0wNCAgU2FpZCBBYm91LUhhbGxhd2Eg
IDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgZmFpbGVkIGxheW91dCB0
ZXN0cyBmb2xsb3dpbmcgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE4NTIwNz4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvcmVzb3VyY2VzL2lubmVyX2NvbnRlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Jlc291cmNlcy9pbm5l
cl9jb250ZW50Lmh0bWwJKHJldmlzaW9uIDE4NTIyOCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVzb3VyY2VzL2lubmVyX2NvbnRlbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMywxMiArMyw2IEBACiAgICAgPGhlYWQ+CiAgICAgICAg
IDx0aXRsZT5Jbm5lciBpRnJhbWUgRXhhbXBsZTwvdGl0bGU+CiAgICAgICAgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KLSAgICAgICAgPHN0eWxlPgotICAgICAgICBpbWcgewotICAgICAgICAgICAg
ZGlzcGxheTpibG9jazsKLSAgICAgICAgICAgIG1heC13aWR0aDoxMDAlOwotICAgICAgICB9Ci0g
ICAgICAgIDwvc3R5bGU+CiAgICAgPC9oZWFkPgogICAgIDxib2R5IHN0eWxlPSJwb3NpdGlvbjog
cmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDEwMCU7IHRvcDogMHB4OyI+CiAgICAgICAgIDxkaXYgc3R5
bGU9Im92ZXJmbG93OmF1dG87Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254325</attachid>
            <date>2015-06-04 18:21:42 -0700</date>
            <delta_ts>2015-06-04 18:25:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145642-20150604182120.patch</filename>
            <type>text/plain</type>
            <size>5967</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTIyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA2LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIExhdGNoaW5nIGFsZ29yaXRo
bSBpbiBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGwgaXMgYnJva2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2NDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIxMjQyMzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2lmcmFtZV9pbl9pZnJhbWUuaHRtbAorCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9y
RG9taW5hbnREaXJlY3Rpb24pOiBSZW5hbWVkIGZyb20KKyAgICAgICAgJ2ZpbmRFbmNsb3NpbmdP
dmVyZmxvd1Njcm9sbCcuIE9ubHkgaWRlbnRpZnkgZWxlbWVudCBhcyBvdXIgb3ZlcmZsb3cKKyAg
ICAgICAgc2Nyb2xsIGVsZW1lbnQgaWYgaXQgY2FuIGJlIHNjcm9sbGVkIGluIGVpdGhlciBheGlz
IG9mIHRoZSBnZXN0dXJlJ3MKKyAgICAgICAgbW90aW9uLgorICAgICAgICAoV2ViQ29yZTo6c2Ny
b2xsZWRUb0VkZ2VJbkRvbWluYW50RGlyZWN0aW9uKTogUmVuYW1lZC4KKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxFdmVudHMpOiBVc2UgbmV3
IGZ1bmN0aW9uCisgICAgICAgIG5hbWUsIGFuZCBwYXNzIGhvcml6b250YWwgYW5kIHZlcnRpY2Fs
IGRlbHRhcy4KKyAgICAgICAgKFdlYkNvcmU6OmZpbmRFbmNsb3NpbmdPdmVyZmxvd1Njcm9sbCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94OjpoYXNTY3JvbGxhYmxlWCk6IFByb3ZpZGUgdmVyc2lvbiBvZiAnaGFz
U2Nyb2xsYWJsZU92ZXJmbG93WScKKyAgICAgICAgdGhhdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQg
J3Njcm9sbHNPdmVyZmxvd1gnIGlzIHRydWUuIFRoaXMgaXMgbmVlZGVkIGZvcgorICAgICAgICB0
aGUgUmVuZGVyTGlzdEJveCBjYXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNT
Y3JvbGxhYmxlWSk6IERpdHRvLgorCiAyMDE1LTA2LTA0ICBNYXR0IFJhamNhICA8bXJhamNhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgTWVkaWFTZXNzaW9uTWFuYWdlciB0byBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIgZm9yIGNvbnNpc3RlbmN5IHdpdGggUGxhdGZvcm1NZWRpYVNl
c3Npb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CShyZXZpc2lvbiAxODUyMjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTc3MSw3ICs3NzEsMTUgQEAgdW5zaWduZWQgRXZl
bnRIYW5kbGVyOjphY2Nlc3NLZXlNb2RpZmllcgogICAgIHJldHVybiBQbGF0Zm9ybUV2ZW50OjpD
dHJsS2V5IHwgUGxhdGZvcm1FdmVudDo6QWx0S2V5OwogfQogCi1zdGF0aWMgQ29udGFpbmVyTm9k
ZSogZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsKENvbnRhaW5lck5vZGUqIG5vZGUpCitzdGF0
aWMgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhRm9yQm94KFJlbmRlckJveCYgYm94KQor
eworICAgIGlmIChpczxSZW5kZXJMaXN0Qm94Pihib3gpKQorICAgICAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyTGlzdEJveD4oJmJveCk7CisKKyAgICByZXR1cm4gYm94LmxheWVyKCk7Cit9Cisg
ICAgCitzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xvc2luZ092ZXJmbG93U2Nyb2xsRm9y
RG9taW5hbnREaXJlY3Rpb24oQ29udGFpbmVyTm9kZSogbm9kZSwgZmxvYXQgZGVsdGFYLCBmbG9h
dCBkZWx0YVkpCiB7CiAgICAgLy8gRmluZCB0aGUgZmlyc3Qgbm9kZSB3aXRoIGEgdmFsaWQgc2Ny
b2xsYWJsZSBhcmVhIHN0YXJ0aW5nIHdpdGggdGhlIGN1cnJlbnQKICAgICAvLyBub2RlIGFuZCB0
cmF2ZXJzaW5nIGl0cyBwYXJlbnRzIChvciBzaGFkb3cgaG9zdHMpLgpAQCAtNzgzLDggKzc5MSwx
NCBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xvc2luZ092ZXJmCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IGNhbmRpZGF0ZS0+
cmVuZGVyQm94KCk7Ci0gICAgICAgIGlmIChib3ggJiYgYm94LT5jYW5CZVNjcm9sbGVkQW5kSGFz
U2Nyb2xsYWJsZUFyZWEoKSkKLSAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CisgICAgICAg
IGlmIChib3ggJiYgYm94LT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSkgewor
ICAgICAgICAgICAgaWYgKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFi
bGVBcmVhRm9yQm94KCpib3gpKSB7CisgICAgICAgICAgICAgICAgaWYgKCgoZGVsdGFZID49IDAp
ICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb1RvcCgpKSB8fCAoKGRlbHRhWSA8IDApICYm
ICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb0JvdHRvbSgpKQorICAgICAgICAgICAgICAgICAg
ICB8fCAoKGRlbHRhWCA+PSAwKSAmJiAhc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbGVkVG9SaWdodCgp
KSB8fCAoKGRlbHRhWCA8IDApICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb0xlZnQoKSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC04ODcsMTIgKzkwMSw4IEBAIHN0YXRpYyBTY3JvbGxhYmxlQXJlYSogc2Nyb2xs
YWJsZUFyZWFGb3IKIHsKICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEgPSBudWxs
cHRyOwogCi0gICAgaWYgKFJlbmRlckJveCogYm94ID0gY29udGFpbmVyLnJlbmRlckJveCgpKSB7
Ci0gICAgICAgIGlmIChpczxSZW5kZXJMaXN0Qm94PigqYm94KSkKLSAgICAgICAgICAgIHNjcm9s
bGFibGVBcmVhID0gZG93bmNhc3Q8UmVuZGVyTGlzdEJveD4oYm94KTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEgPSBib3gtPmxheWVyKCk7Ci0gICAgfQorICAgIGlm
IChSZW5kZXJCb3gqIGJveCA9IGNvbnRhaW5lci5yZW5kZXJCb3goKSkKKyAgICAgICAgc2Nyb2xs
YWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckJveCgqYm94KTsKIAogICAgIHJldHVybiBzY3Jv
bGxhYmxlQXJlYTsKIH0KQEAgLTkxNiw3ICs5MjYsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cGxh
dGZvcm1QcmVwYXJlRm9yV2hlCiAgICAgICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gd2hl
ZWxFdmVudFRhcmdldDsKICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0gc2Nyb2xsVmlld0Zv
ckV2ZW50VGFyZ2V0KHdoZWVsRXZlbnRUYXJnZXQuZ2V0KCkpOwogICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgc2Nyb2xsYWJsZUNvbnRhaW5lciA9IGZpbmRFbmNsb3NpbmdPdmVyZmxvd1Nj
cm9sbCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsKKyAgICAgICAgICAgIHNjcm9sbGFibGVDb250
YWluZXIgPSBmaW5kRW5jbG9zaW5nT3ZlcmZsb3dTY3JvbGxGb3JEb21pbmFudERpcmVjdGlvbih3
aGVlbEV2ZW50VGFyZ2V0LmdldCgpLCB3aGVlbEV2ZW50LmRlbHRhWCgpLCB3aGVlbEV2ZW50LmRl
bHRhWSgpKTsKICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyKQogICAgICAgICAg
ICAgICAgIHNjcm9sbGFibGVBcmVhID0gc2Nyb2xsYWJsZUFyZWFGb3JDb250YWluZXJOb2RlKCpz
Y3JvbGxhYmxlQ29udGFpbmVyKTsKICAgICAgICAgICAgIGVsc2UgewpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTg1MjI4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTUtMDYtMDQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgTGF0Y2hpbmcgYWxnb3JpdGhtIGluIGZpbmRFbmNsb3NpbmdPdmVyZmxv
d1Njcm9sbCBpcyBicm9rZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NTY0MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjEyNDIzMDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFJldmlzZSB0aGUgbmV3
IGxhdGNoaW5nIHRlc3QgdG8gcmVtb3ZlIHRoZSBpbWFnZSAibWF4LXdpZHRoOiAxMDAlIiBzdHls
ZSwgd2hpY2ggd2FzCisgICAgICAgIHByZXZlbnRpbmcgdGhpcyBleGFtcGxlIGZyb20gaGF2aW5n
IGEgaG9yaXpvbnRhbCBzY3JvbGxhYmxlIHJlZ2lvbiBhdCB0aGUgdG9wIG9mIHRoZQorICAgICAg
ICBmaWxlLgorICAgICAgICAKKyAgICAgICAgSXQgc3RpbGwgY29ycmVjdGx5IHRlc3RzIHRoZSBz
dWJwaXhlbCBidWcgZnJvbSBCdWcgMTQ1NjM3LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9yZXNvdXJjZXMvaW5uZXJfY29udGVudC5odG1sOiBS
ZW1vdmUgd2lkdGgKKyAgICAgICAgYWRqdXN0bWVudCBvbiBpbWFnZS4KKwogMjAxNS0wNi0wNCAg
U2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFNr
aXAgZmFpbGVkIGxheW91dCB0ZXN0cyBmb2xsb3dpbmcgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzE4NTIwNz4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVzb3VyY2VzL2lubmVyX2NvbnRlbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Jlc291cmNlcy9pbm5lcl9jb250ZW50Lmh0bWwJKHJldmlzaW9uIDE4NTIyOCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVzb3Vy
Y2VzL2lubmVyX2NvbnRlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMywxMiArMyw2IEBACiAg
ICAgPGhlYWQ+CiAgICAgICAgIDx0aXRsZT5Jbm5lciBpRnJhbWUgRXhhbXBsZTwvdGl0bGU+CiAg
ICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICAgICAgPHN0eWxlPgotICAgICAgICBp
bWcgewotICAgICAgICAgICAgZGlzcGxheTpibG9jazsKLSAgICAgICAgICAgIG1heC13aWR0aDox
MDAlOwotICAgICAgICB9Ci0gICAgICAgIDwvc3R5bGU+CiAgICAgPC9oZWFkPgogICAgIDxib2R5
IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDEwMCU7IHRvcDogMHB4OyI+
CiAgICAgICAgIDxkaXYgc3R5bGU9Im92ZXJmbG93OmF1dG87Ij4K
</data>
<flag name="review"
          id="279307"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>