<?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>124057</bug_id>
          
          <creation_ts>2013-11-08 11:12:53 -0800</creation_ts>
          <short_desc>Characters too close together in complex Arabic text</short_desc>
          <delta_ts>2013-11-11 15:29:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>948743</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 11:12:53 -0800</bug_when>
    <thetext>Characters too close together in complex Arabic text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948751</commentid>
    <comment_count>1</comment_count>
      <attachid>216415</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 11:25:02 -0800</bug_when>
    <thetext>Created attachment 216415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948755</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 11:26:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/14944133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948757</commentid>
    <comment_count>3</comment_count>
      <attachid>216415</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-11-08 11:28:26 -0800</bug_when>
    <thetext>Comment on attachment 216415
Patch

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

&gt; LayoutTests/fast/text/complex-grapheme-cluster-with-initial-advance-expected.html:7
&gt; +&lt;span style=&quot;font-size: 100pt; background: red;&quot;&gt;&amp;#1604;&amp;#1575;&amp;#1611; &lt;span&gt;&amp;#1609;&lt;/span&gt; z&lt;/span&gt;&lt;/body&gt;

please don&apos;t use red in the pass case of a layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948765</commentid>
    <comment_count>4</comment_count>
      <attachid>216419</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 11:31:41 -0800</bug_when>
    <thetext>Created attachment 216419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948771</commentid>
    <comment_count>5</comment_count>
      <attachid>216419</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-08 11:43:05 -0800</bug_when>
    <thetext>Comment on attachment 216419
Patch

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

&gt; Source/WebCore/platform/graphics/mac/ComplexTextController.cpp:586
&gt; +        } else {
&gt; +            firstInitialAdvanceDelta = complexTextRun.initialAdvance().width;
&gt;          }

No braces here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948774</commentid>
    <comment_count>6</comment_count>
      <attachid>216419</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-08 11:46:47 -0800</bug_when>
    <thetext>Comment on attachment 216419
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        which we shouldn&apos;t do. Instead, we can bake the initial advance
&gt; +        into the current character&apos;s advance.

I don’t understand why this is correct. The initial advance comes before the first glyph. Adding it to the first glyph’s advance means that it will occur after the first glyph.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948800</commentid>
    <comment_count>7</comment_count>
      <attachid>216427</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 12:47:48 -0800</bug_when>
    <thetext>Created attachment 216427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948819</commentid>
    <comment_count>8</comment_count>
      <attachid>216427</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-08 13:29:16 -0800</bug_when>
    <thetext>Comment on attachment 216427
Patch

I don’t quite follow this patch. When we talked about this, you said that there was a bug in that Font::drawGlyphBuffer() was ignoring the x component of the initial advance, but I don’t see that being addressed here. It also doesn’t look like your test covers the offsetOfPosition() part of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948821</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-08 13:41:32 -0800</bug_when>
    <thetext>mitz:
It is true that Font::drawGlyphBuffer() doesn&apos;t use glyphBuffer.initialAdvance().width() directly, however, upon more inspection I realized that the point that is passed into Font::drawGlyphBuffer() has already been adjusted by Font::drawComplexText(). getGlyphsAndAdvancesForComplexText() calculates the initial advance by subtracting the runWidthSoFar from the total width of the run (which this patch modifies to include the initial offset), and then returns it to Font::drawComplexText().

You&apos;re right that the offsetOfPosition() part isn&apos;t tested. I&apos;ll add another test for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949111</commentid>
    <comment_count>10</comment_count>
      <attachid>216515</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-09 22:57:55 -0800</bug_when>
    <thetext>Created attachment 216515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949191</commentid>
    <comment_count>11</comment_count>
      <attachid>216515</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-10 17:30:13 -0800</bug_when>
    <thetext>Comment on attachment 216515
Patch

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

review- because this puts a Mac-specific result into a platform-independent test result folder.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Characters too close together in complex Arabic text

Bug title should say [Mac] since this is a bug and fix in Mac-specific code.

&gt; Source/WebCore/platform/graphics/mac/ComplexTextController.cpp:197
&gt; +            CGFloat adjustedAdvance = 0;
&gt; +            if (!index)
&gt; +                adjustedAdvance += complexTextRun.initialAdvance().width;
&gt; +            adjustedAdvance += m_adjustedAdvances[index].width;

Since addition is commutative, even for floating point, I’d write it like this instead:

    CGFloat adjustedAdvance = m_adjustedAdvances[index].width;
    if (!index)
        adjustedAdvance += complexTextRun.initialAdvance().width;

&gt; LayoutTests/ChangeLog:21
&gt; +        doesn&apos;t crash when there is an initial advance. HOWEVER: Note that with kerning and
&gt; +        ligatures turned off, CoreText doesn&apos;t appear to ever create text runs with nonzero
&gt; +        initial advances. This actually causes glyphs to be drawn differently (Without kerning
&gt; +        and ligatures, the accent in this test is drawn on the left side of the character).
&gt; +        Therefore, this code change can&apos;t actually be tested without kerning and ligatures.
&gt; +        It&apos;s possible to to turn on kerning and ligatures by writing defaults such that
&gt; +        [[NSUserDefaults standardUserDefaults] boolForKey:@&quot;WebKitKerningAndLigaturesEnabledByDefault&quot;]
&gt; +        returns true in DumpRenderTree.

We need a test that actually runs, not one that an expert could run in some special way. If necessary, we will need to add a way to turn on kerning and ligatures from inside a test. Or figure out some good strategy to make sure that we test both code paths.

&gt; LayoutTests/ChangeLog:27
&gt; +        * fast/text/complex-grapheme-cluster-with-initial-advance-expected.html: Added.
&gt; +        * fast/text/complex-grapheme-cluster-with-initial-advance.html: Added.
&gt; +        * fast/text/selection-in-initial-advance-region-expected.txt: added
&gt; +        * fast/text/selection-in-initial-advance-region.html: added

Is it really OK to put these tests in across platforms if the fix is only for the Mac? Do these tests pass on the other platforms? We certainly can’t expect the render tree result to work on other platforms, so it should not be checked into the fast/text directory; instead it should be in platform/mac/fast/text, but there may be a better approach.

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:2
&gt; +&lt;div id=&quot;div&quot; dir=&quot;RTL&quot; style=&quot;font-size: 100pt;&quot;&gt;&lt;span id=&quot;c&quot; style=&quot;background: yellow;&quot;&gt;&amp;#1604;&amp;#1575;&amp;#1611;&lt;/span&gt;&lt;/div&gt;

Seems strange to use &quot;pt&quot; here instead of &quot;px&quot;.

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:3
&gt; +&lt;ul id=&quot;console&quot;&gt;&lt;/ul&gt;

A little strange to use a &lt;ul&gt; where we will have a bullet in front of each line in the console.

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:12
&gt; +if (window.testRunner) {

This test doesn’t actually use testRunner, so this if statement should say:

if (window.eventSender)

Also, I prefer to put the test inside a function rather than just having it all be top level code.

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:28
&gt; +    var steps = 20;

Where does the magic number 20 come from?

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:34
&gt; +    eventSender.mouseMoveTo(endx, endy);
&gt; +    eventSender.mouseUp();

This test should do something to verify that appropriate text got selected, to make it harder to accidentally succeed just by not successfully creating a selection at all.

Then you could use dumpAsText and not require a pixel dump for the result. That would make the text runnable on non-Mac platforms without requiring unique results on each.

&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:38
&gt; +    log(&quot;This uses the eventSender to perform a drag select.  To run it manually, click on the left half of the character and drag to the right half of the character.&quot;);

Should probably say “slowly drag” since you could miss the crash if you drag to fast. Is that right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949192</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-10 17:30:32 -0800</bug_when>
    <thetext>Looks like a great fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949196</commentid>
    <comment_count>13</comment_count>
      <attachid>216515</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-10 17:56:33 -0800</bug_when>
    <thetext>Comment on attachment 216515
Patch

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

&gt;&gt; LayoutTests/ChangeLog:21
&gt;&gt; +        returns true in DumpRenderTree.
&gt; 
&gt; We need a test that actually runs, not one that an expert could run in some special way. If necessary, we will need to add a way to turn on kerning and ligatures from inside a test. Or figure out some good strategy to make sure that we test both code paths.

The user default only controls whether kerning and ligatures are enabled by default. The CSS properties -webkit-font-kerning and -webkit-font-variant-ligatures can be used to control these features regardless of their default state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949371</commentid>
    <comment_count>14</comment_count>
      <attachid>216515</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-11 11:06:14 -0800</bug_when>
    <thetext>Comment on attachment 216515
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Characters too close together in complex Arabic text
&gt; 
&gt; Bug title should say [Mac] since this is a bug and fix in Mac-specific code.

Done.

&gt;&gt; Source/WebCore/platform/graphics/mac/ComplexTextController.cpp:197
&gt;&gt; +            adjustedAdvance += m_adjustedAdvances[index].width;
&gt; 
&gt; Since addition is commutative, even for floating point, I’d write it like this instead:
&gt; 
&gt;     CGFloat adjustedAdvance = m_adjustedAdvances[index].width;
&gt;     if (!index)
&gt;         adjustedAdvance += complexTextRun.initialAdvance().width;

Done.

&gt;&gt;&gt; LayoutTests/ChangeLog:21
&gt;&gt;&gt; +        returns true in DumpRenderTree.
&gt;&gt; 
&gt;&gt; We need a test that actually runs, not one that an expert could run in some special way. If necessary, we will need to add a way to turn on kerning and ligatures from inside a test. Or figure out some good strategy to make sure that we test both code paths.
&gt; 
&gt; The user default only controls whether kerning and ligatures are enabled by default. The CSS properties -webkit-font-kerning and -webkit-font-variant-ligatures can be used to control these features regardless of their default state.

Done! Thanks so much for that, Mitz!

&gt;&gt; LayoutTests/ChangeLog:27
&gt;&gt; +        * fast/text/selection-in-initial-advance-region.html: added
&gt; 
&gt; Is it really OK to put these tests in across platforms if the fix is only for the Mac? Do these tests pass on the other platforms? We certainly can’t expect the render tree result to work on other platforms, so it should not be checked into the fast/text directory; instead it should be in platform/mac/fast/text, but there may be a better approach.

Used dumpAsText() to circumvent this problem. Done.

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:2
&gt;&gt; +&lt;div id=&quot;div&quot; dir=&quot;RTL&quot; style=&quot;font-size: 100pt;&quot;&gt;&lt;span id=&quot;c&quot; style=&quot;background: yellow;&quot;&gt;&amp;#1604;&amp;#1575;&amp;#1611;&lt;/span&gt;&lt;/div&gt;
&gt; 
&gt; Seems strange to use &quot;pt&quot; here instead of &quot;px&quot;.

Done.

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:3
&gt;&gt; +&lt;ul id=&quot;console&quot;&gt;&lt;/ul&gt;
&gt; 
&gt; A little strange to use a &lt;ul&gt; where we will have a bullet in front of each line in the console.

Done. I was using an existing test as a model.

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:12
&gt;&gt; +if (window.testRunner) {
&gt; 
&gt; This test doesn’t actually use testRunner, so this if statement should say:
&gt; 
&gt; if (window.eventSender)
&gt; 
&gt; Also, I prefer to put the test inside a function rather than just having it all be top level code.

Done. Just curious: why do you prefer a function?

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:28
&gt;&gt; +    var steps = 20;
&gt; 
&gt; Where does the magic number 20 come from?

Nowhere, I just need some number of steps that the mouse should drag through. Is there a better way of representing this?

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:34
&gt;&gt; +    eventSender.mouseUp();
&gt; 
&gt; This test should do something to verify that appropriate text got selected, to make it harder to accidentally succeed just by not successfully creating a selection at all.
&gt; 
&gt; Then you could use dumpAsText and not require a pixel dump for the result. That would make the text runnable on non-Mac platforms without requiring unique results on each.

Done.

&gt;&gt; LayoutTests/fast/text/selection-in-initial-advance-region.html:38
&gt;&gt; +    log(&quot;This uses the eventSender to perform a drag select.  To run it manually, click on the left half of the character and drag to the right half of the character.&quot;);
&gt; 
&gt; Should probably say “slowly drag” since you could miss the crash if you drag to fast. Is that right?

Yeah, one of the ticks has to be inside the initial offset region.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949374</commentid>
    <comment_count>15</comment_count>
      <attachid>216590</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2013-11-11 11:10:51 -0800</bug_when>
    <thetext>Created attachment 216590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949470</commentid>
    <comment_count>16</comment_count>
      <attachid>216590</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-11 15:29:11 -0800</bug_when>
    <thetext>Comment on attachment 216590
Patch

Clearing flags on attachment: 216590

Committed r159076: &lt;http://trac.webkit.org/changeset/159076&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949471</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-11 15:29:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216415</attachid>
            <date>2013-11-08 11:25:02 -0800</date>
            <delta_ts>2013-11-08 11:31:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124057-20131108112501.patch</filename>
            <type>text/plain</type>
            <size>6106</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIwODdkMGExOTJlOTZi
YTVjY2FlNjRkMjhkMzhiZjM4Y2FiMjRmYy4uYzZkODg5ZDJhNWU1YjZiZWY4NDBlNDBhNWZlODMy
ZWZlYjJiNjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTExLTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVy
cyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHdheSB3ZSBoYW5kbGUgQ1RS
dW5zIHdpdGggaW5pdGlhbCBhZHZhbmNlcyBpcyB0byBiYWtlIHRoaXMgCisgICAgICAgIGluaXRp
YWwgYWR2YW5jZSBpbnRvIHRoZSBwcmV2aW91cyBydW4ncyBsYXN0IGNoYXJhY3RlcidzIGFkdmFu
Y2UuCisgICAgICAgIEhvd2V2ZXIsIHdoZW4gdXBkYXRpbmcgdGhlIHByZXZpb3VzIGNoYXJhY3Rl
cidzIGFkdmFuY2UsCisgICAgICAgIHdlIHdlcmVuJ3QgdXBkYXRpbmcgb3VyIHRvdGFsIHdpZHRo
IHZhcmlhYmxlLCBsZWFkaW5nIHRvIHdpZHRocworICAgICAgICB0aGF0IHdlcmUgdG9vIG5hcnJv
dy4gSW4gYWRkaXRpb24sIGlmIHRoZXJlIGlzIG5vIHByZXZpb3VzCisgICAgICAgIGNoYXJhY3Rl
ciwgd2Ugd2VyZSBzaW1wbHkgaWdub3JpbmcgdGhlIENUUnVuJ3MgaW5pdGlhbCBhZHZhbmNlLAor
ICAgICAgICB3aGljaCB3ZSBzaG91bGRuJ3QgZG8uIEluc3RlYWQsIHdlIGNhbiBiYWtlIHRoZSBp
bml0aWFsIGFkdmFuY2UKKyAgICAgICAgaW50byB0aGUgY3VycmVudCBjaGFyYWN0ZXIncyBhZHZh
bmNlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXIt
d2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4
VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKToKKwogMjAxMy0xMS0wNiAg
QmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgcmVn
aW9uIGxpbmUgb2Zmc2V0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKaW5kZXgg
NTU2Yzg1ZGU0YzE2MmY1ZjFjN2RlMDY5MTU3MzgxYWQ1MTc3NWM2YS4uMzQwMDQ5NmRhZmYzNTZm
NTNkMTk5YmYxZWM5ZTM0YTgyNTJlYzI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
QEAgLTU3MSw2ICs1NzEsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5
cGhzQW5kQWR2YW5jZXMoKQogICAgICAgICBDb21wbGV4VGV4dFJ1biYgY29tcGxleFRleHRSdW4g
PSAqbV9jb21wbGV4VGV4dFJ1bnNbcl07CiAgICAgICAgIHVuc2lnbmVkIGdseXBoQ291bnQgPSBj
b21wbGV4VGV4dFJ1bi5nbHlwaENvdW50KCk7CiAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBmb250RGF0YSA9IGNvbXBsZXhUZXh0UnVuLmZvbnREYXRhKCk7CisgICAgICAgIGZsb2F0IGZp
cnN0SW5pdGlhbEFkdmFuY2VEZWx0YTsKIAogICAgICAgICAvLyBSZXByZXNlbnQgdGhlIGluaXRp
YWwgYWR2YW5jZSBmb3IgYSB0ZXh0IHJ1biBieSBhZGp1c3RpbmcgdGhlIGFkdmFuY2UKICAgICAg
ICAgLy8gb2YgdGhlIGxhc3QgZ2x5cGggb2YgdGhlIHByZXZpb3VzIHRleHQgcnVuIGluIHRoZSBn
bHlwaCBidWZmZXIuCkBAIC01NzgsNyArNTc5LDEwIEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9s
bGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgICAgICBDR1NpemUgcHJldmlv
dXNBZHZhbmNlID0gbV9hZGp1c3RlZEFkdmFuY2VzLmxhc3QoKTsKICAgICAgICAgICAgIHByZXZp
b3VzQWR2YW5jZS53aWR0aCArPSBjb21wbGV4VGV4dFJ1bi5pbml0aWFsQWR2YW5jZSgpLndpZHRo
OwogICAgICAgICAgICAgcHJldmlvdXNBZHZhbmNlLmhlaWdodCAtPSBjb21wbGV4VGV4dFJ1bi5p
bml0aWFsQWR2YW5jZSgpLmhlaWdodDsKKyAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Q29tbWl0
ICs9IGNvbXBsZXhUZXh0UnVuLmluaXRpYWxBZHZhbmNlKCkud2lkdGg7CiAgICAgICAgICAgICBt
X2FkanVzdGVkQWR2YW5jZXNbbV9hZGp1c3RlZEFkdmFuY2VzLnNpemUoKSAtIDFdID0gcHJldmlv
dXNBZHZhbmNlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmlyc3RJbml0aWFsQWR2
YW5jZURlbHRhID0gY29tcGxleFRleHRSdW4uaW5pdGlhbEFkdmFuY2UoKS53aWR0aDsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICghY29tcGxleFRleHRSdW4uaXNMVFIoKSkKQEAgLTYxOCw2ICs2
MjIsOCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5j
ZXMoKQogICAgICAgICAgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Ojp0cmVhdEFzU3BhY2Uo
Y2gpOwogICAgICAgICAgICAgQ0dHbHlwaCBnbHlwaCA9IHRyZWF0QXNTcGFjZSA/IGZvbnREYXRh
LT5zcGFjZUdseXBoKCkgOiBnbHlwaHNbaV07CiAgICAgICAgICAgICBDR1NpemUgYWR2YW5jZSA9
IHRyZWF0QXNTcGFjZSA/IENHU2l6ZU1ha2Uoc3BhY2VXaWR0aCwgYWR2YW5jZXNbaV0uaGVpZ2h0
KSA6IGFkdmFuY2VzW2ldOworICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmaXJzdEluaXRp
YWxBZHZhbmNlRGVsdGE7CisgICAgICAgICAgICBmaXJzdEluaXRpYWxBZHZhbmNlRGVsdGEgPSAw
OwogCiAgICAgICAgICAgICBpZiAoY2ggPT0gJ1x0JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKICAg
ICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gbV9mb250LnRhYldpZHRoKCpmb250RGF0YSwg
bV9ydW4udGFiU2l6ZSgpLCBtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3aWR0aFNpbmNl
TGFzdENvbW1pdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTkwNjFlZmI0NDA4YzQzMDU1NzhhNTFkYzk4MmY0MDY5ZjQ2
NjY4Ny4uZjcyNmE1MjVmN2I2M2FhZDkzMmY0ODFlNDNkYWM5ZDNjN2Q0OGU5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEzLTExLTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVycyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29t
cGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBuZXcgdGVzdHMgYWRkcyBhIHNwYW4gYXJvdW5kIGEgd29yZCBpbiBzb21l
IGNvbXBsZXggQXJhYmljIHRleHQsCisgICAgICAgIGFuZCBleHBlY3RzIHRoYXQgdGhlIHdvcmQg
c3BhY2luZyBpcyB0aGUgc2FtZSBhcyB3aXRob3V0IHRoZSBzcGFuCisKKyAgICAgICAgKiBmYXN0
L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNs
dXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbDogQWRkZWQuCisKIDIwMTMtMTEtMDYgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGVzdCBjYXNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVy
LXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2Q0ZDllYmNhYWE4Yzg2MmQ1YzBiZDUwMjNhNzg4MDgyNmQ2YWNj
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBo
ZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPjwvaGVhZD4KKzxib2R5PgorPHA+VGhlIGZpcnN0IGdyYXBoZW1lIGNsdXN0ZXIgaGVyZSBj
b250YWlucyB0aHJlZSBjb2RlIHBvaW50czogdHdvIGNoYXJhY3RlcnMgKExvIHVuaWNvZGUgY2F0
ZWdvcnkpIHdoaWNoIGpvaW4gdXAgdG8gYmUgZHJhd24gd2l0aCBhIHNpbmdsZSBnbHlwaCwgYW5k
IGEgdGhpcmQgY29kZSBwb2ludCB3aGljaCBpcyBhIG5vbnNwYWNpbmcgbWFyayAoTW4gdW5pY29k
ZSBjYXRlZ29yeSksIHdoaWNoIGlzIGRyYXduIGFzIGEgc2Vjb25kIGdseXBoIG9uIHRvcCBvZiB0
aGUgZmlyc3QgZ2x5cGgsIHVzaW5nIGEgbmVnYXRpdmUgYWR2YW5jZS4gVGhpcyBydW4gaGFzIGFu
IGluaXRpYWwgYWR2YW5jZS48L3A+Cis8ZGl2IGRpcj0iUlRMIj4KKzxzcGFuIHN0eWxlPSJmb250
LXNpemU6IDEwMHB0OyBiYWNrZ3JvdW5kOiByZWQ7Ij4mIzE2MDQ7JiMxNTc1OyYjMTYxMTsgPHNw
YW4+JiMxNjA5Ozwvc3Bhbj4gejwvc3Bhbj48L2JvZHk+Cis8L2Rpdj4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0
aC1pbml0aWFsLWFkdmFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdy
YXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTUx
YTZiNmRjNzk5MTIzNmY0MThiMWE4N2NlOTgwMWY0NDQ4N2ZkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWluaXRp
YWwtYWR2YW5jZS5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4K
KzxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+PC9oZWFkPgorPGJvZHk+Cis8cD5UaGUgZmly
c3QgZ3JhcGhlbWUgY2x1c3RlciBoZXJlIGNvbnRhaW5zIHRocmVlIGNvZGUgcG9pbnRzOiB0d28g
Y2hhcmFjdGVycyAoTG8gdW5pY29kZSBjYXRlZ29yeSkgd2hpY2ggam9pbiB1cCB0byBiZSBkcmF3
biB3aXRoIGEgc2luZ2xlIGdseXBoLCBhbmQgYSB0aGlyZCBjb2RlIHBvaW50IHdoaWNoIGlzIGEg
bm9uc3BhY2luZyBtYXJrIChNbiB1bmljb2RlIGNhdGVnb3J5KSwgd2hpY2ggaXMgZHJhd24gYXMg
YSBzZWNvbmQgZ2x5cGggb24gdG9wIG9mIHRoZSBmaXJzdCBnbHlwaCwgdXNpbmcgYSBuZWdhdGl2
ZSBhZHZhbmNlLiBUaGlzIHJ1biBoYXMgYW4gaW5pdGlhbCBhZHZhbmNlLjwvcD4KKzxkaXYgZGly
PSJSVEwiPgorPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAwcHQ7IGJhY2tncm91bmQ6IHJlZDsi
PiYjMTYwNDsmIzE1NzU7JiMxNjExOyAmIzE2MDk7IHo8L3NwYW4+PC9ib2R5PgorPC9kaXY+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216419</attachid>
            <date>2013-11-08 11:31:41 -0800</date>
            <delta_ts>2013-11-08 12:47:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124057-20131108113141.patch</filename>
            <type>text/plain</type>
            <size>6108</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIwODdkMGExOTJlOTZi
YTVjY2FlNjRkMjhkMzhiZjM4Y2FiMjRmYy4uYzZkODg5ZDJhNWU1YjZiZWY4NDBlNDBhNWZlODMy
ZWZlYjJiNjQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTExLTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVy
cyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHdheSB3ZSBoYW5kbGUgQ1RS
dW5zIHdpdGggaW5pdGlhbCBhZHZhbmNlcyBpcyB0byBiYWtlIHRoaXMgCisgICAgICAgIGluaXRp
YWwgYWR2YW5jZSBpbnRvIHRoZSBwcmV2aW91cyBydW4ncyBsYXN0IGNoYXJhY3RlcidzIGFkdmFu
Y2UuCisgICAgICAgIEhvd2V2ZXIsIHdoZW4gdXBkYXRpbmcgdGhlIHByZXZpb3VzIGNoYXJhY3Rl
cidzIGFkdmFuY2UsCisgICAgICAgIHdlIHdlcmVuJ3QgdXBkYXRpbmcgb3VyIHRvdGFsIHdpZHRo
IHZhcmlhYmxlLCBsZWFkaW5nIHRvIHdpZHRocworICAgICAgICB0aGF0IHdlcmUgdG9vIG5hcnJv
dy4gSW4gYWRkaXRpb24sIGlmIHRoZXJlIGlzIG5vIHByZXZpb3VzCisgICAgICAgIGNoYXJhY3Rl
ciwgd2Ugd2VyZSBzaW1wbHkgaWdub3JpbmcgdGhlIENUUnVuJ3MgaW5pdGlhbCBhZHZhbmNlLAor
ICAgICAgICB3aGljaCB3ZSBzaG91bGRuJ3QgZG8uIEluc3RlYWQsIHdlIGNhbiBiYWtlIHRoZSBp
bml0aWFsIGFkdmFuY2UKKyAgICAgICAgaW50byB0aGUgY3VycmVudCBjaGFyYWN0ZXIncyBhZHZh
bmNlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXIt
d2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4
VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKToKKwogMjAxMy0xMS0wNiAg
QmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgcmVn
aW9uIGxpbmUgb2Zmc2V0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKaW5kZXgg
NTU2Yzg1ZGU0YzE2MmY1ZjFjN2RlMDY5MTU3MzgxYWQ1MTc3NWM2YS4uMzQwMDQ5NmRhZmYzNTZm
NTNkMTk5YmYxZWM5ZTM0YTgyNTJlYzI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
QEAgLTU3MSw2ICs1NzEsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5
cGhzQW5kQWR2YW5jZXMoKQogICAgICAgICBDb21wbGV4VGV4dFJ1biYgY29tcGxleFRleHRSdW4g
PSAqbV9jb21wbGV4VGV4dFJ1bnNbcl07CiAgICAgICAgIHVuc2lnbmVkIGdseXBoQ291bnQgPSBj
b21wbGV4VGV4dFJ1bi5nbHlwaENvdW50KCk7CiAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBmb250RGF0YSA9IGNvbXBsZXhUZXh0UnVuLmZvbnREYXRhKCk7CisgICAgICAgIGZsb2F0IGZp
cnN0SW5pdGlhbEFkdmFuY2VEZWx0YTsKIAogICAgICAgICAvLyBSZXByZXNlbnQgdGhlIGluaXRp
YWwgYWR2YW5jZSBmb3IgYSB0ZXh0IHJ1biBieSBhZGp1c3RpbmcgdGhlIGFkdmFuY2UKICAgICAg
ICAgLy8gb2YgdGhlIGxhc3QgZ2x5cGggb2YgdGhlIHByZXZpb3VzIHRleHQgcnVuIGluIHRoZSBn
bHlwaCBidWZmZXIuCkBAIC01NzgsNyArNTc5LDEwIEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9s
bGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgICAgICBDR1NpemUgcHJldmlv
dXNBZHZhbmNlID0gbV9hZGp1c3RlZEFkdmFuY2VzLmxhc3QoKTsKICAgICAgICAgICAgIHByZXZp
b3VzQWR2YW5jZS53aWR0aCArPSBjb21wbGV4VGV4dFJ1bi5pbml0aWFsQWR2YW5jZSgpLndpZHRo
OwogICAgICAgICAgICAgcHJldmlvdXNBZHZhbmNlLmhlaWdodCAtPSBjb21wbGV4VGV4dFJ1bi5p
bml0aWFsQWR2YW5jZSgpLmhlaWdodDsKKyAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Q29tbWl0
ICs9IGNvbXBsZXhUZXh0UnVuLmluaXRpYWxBZHZhbmNlKCkud2lkdGg7CiAgICAgICAgICAgICBt
X2FkanVzdGVkQWR2YW5jZXNbbV9hZGp1c3RlZEFkdmFuY2VzLnNpemUoKSAtIDFdID0gcHJldmlv
dXNBZHZhbmNlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmlyc3RJbml0aWFsQWR2
YW5jZURlbHRhID0gY29tcGxleFRleHRSdW4uaW5pdGlhbEFkdmFuY2UoKS53aWR0aDsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICghY29tcGxleFRleHRSdW4uaXNMVFIoKSkKQEAgLTYxOCw2ICs2
MjIsOCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5j
ZXMoKQogICAgICAgICAgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Ojp0cmVhdEFzU3BhY2Uo
Y2gpOwogICAgICAgICAgICAgQ0dHbHlwaCBnbHlwaCA9IHRyZWF0QXNTcGFjZSA/IGZvbnREYXRh
LT5zcGFjZUdseXBoKCkgOiBnbHlwaHNbaV07CiAgICAgICAgICAgICBDR1NpemUgYWR2YW5jZSA9
IHRyZWF0QXNTcGFjZSA/IENHU2l6ZU1ha2Uoc3BhY2VXaWR0aCwgYWR2YW5jZXNbaV0uaGVpZ2h0
KSA6IGFkdmFuY2VzW2ldOworICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmaXJzdEluaXRp
YWxBZHZhbmNlRGVsdGE7CisgICAgICAgICAgICBmaXJzdEluaXRpYWxBZHZhbmNlRGVsdGEgPSAw
OwogCiAgICAgICAgICAgICBpZiAoY2ggPT0gJ1x0JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKICAg
ICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gbV9mb250LnRhYldpZHRoKCpmb250RGF0YSwg
bV9ydW4udGFiU2l6ZSgpLCBtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3aWR0aFNpbmNl
TGFzdENvbW1pdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTkwNjFlZmI0NDA4YzQzMDU1NzhhNTFkYzk4MmY0MDY5ZjQ2
NjY4Ny4uZjcyNmE1MjVmN2I2M2FhZDkzMmY0ODFlNDNkYWM5ZDNjN2Q0OGU5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEzLTExLTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVycyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29t
cGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBuZXcgdGVzdHMgYWRkcyBhIHNwYW4gYXJvdW5kIGEgd29yZCBpbiBzb21l
IGNvbXBsZXggQXJhYmljIHRleHQsCisgICAgICAgIGFuZCBleHBlY3RzIHRoYXQgdGhlIHdvcmQg
c3BhY2luZyBpcyB0aGUgc2FtZSBhcyB3aXRob3V0IHRoZSBzcGFuCisKKyAgICAgICAgKiBmYXN0
L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNs
dXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbDogQWRkZWQuCisKIDIwMTMtMTEtMDYgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGVzdCBjYXNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVy
LXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDhkNDhlNDJhMDJkMjZjNWNkNjYxYTdmOTBlOTQ0NWE5MDY4ZjI4
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBo
ZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPjwvaGVhZD4KKzxib2R5PgorPHA+VGhlIGZpcnN0IGdyYXBoZW1lIGNsdXN0ZXIgaGVyZSBj
b250YWlucyB0aHJlZSBjb2RlIHBvaW50czogdHdvIGNoYXJhY3RlcnMgKExvIHVuaWNvZGUgY2F0
ZWdvcnkpIHdoaWNoIGpvaW4gdXAgdG8gYmUgZHJhd24gd2l0aCBhIHNpbmdsZSBnbHlwaCwgYW5k
IGEgdGhpcmQgY29kZSBwb2ludCB3aGljaCBpcyBhIG5vbnNwYWNpbmcgbWFyayAoTW4gdW5pY29k
ZSBjYXRlZ29yeSksIHdoaWNoIGlzIGRyYXduIGFzIGEgc2Vjb25kIGdseXBoIG9uIHRvcCBvZiB0
aGUgZmlyc3QgZ2x5cGgsIHVzaW5nIGEgbmVnYXRpdmUgYWR2YW5jZS4gVGhpcyBydW4gaGFzIGFu
IGluaXRpYWwgYWR2YW5jZS48L3A+Cis8ZGl2IGRpcj0iUlRMIj4KKzxzcGFuIHN0eWxlPSJmb250
LXNpemU6IDEwMHB0OyBiYWNrZ3JvdW5kOiBibHVlOyI+JiMxNjA0OyYjMTU3NTsmIzE2MTE7IDxz
cGFuPiYjMTYwOTs8L3NwYW4+IHo8L3NwYW4+PC9ib2R5PgorPC9kaXY+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdp
dGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1n
cmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNh
MWVjZWFmZTBhOGQxODcyNTgwNTk3MmU3M2NhYzZkYWUyN2UyOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0
aWFsLWFkdmFuY2UuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPjwvaGVhZD4KKzxib2R5PgorPHA+VGhlIGZp
cnN0IGdyYXBoZW1lIGNsdXN0ZXIgaGVyZSBjb250YWlucyB0aHJlZSBjb2RlIHBvaW50czogdHdv
IGNoYXJhY3RlcnMgKExvIHVuaWNvZGUgY2F0ZWdvcnkpIHdoaWNoIGpvaW4gdXAgdG8gYmUgZHJh
d24gd2l0aCBhIHNpbmdsZSBnbHlwaCwgYW5kIGEgdGhpcmQgY29kZSBwb2ludCB3aGljaCBpcyBh
IG5vbnNwYWNpbmcgbWFyayAoTW4gdW5pY29kZSBjYXRlZ29yeSksIHdoaWNoIGlzIGRyYXduIGFz
IGEgc2Vjb25kIGdseXBoIG9uIHRvcCBvZiB0aGUgZmlyc3QgZ2x5cGgsIHVzaW5nIGEgbmVnYXRp
dmUgYWR2YW5jZS4gVGhpcyBydW4gaGFzIGFuIGluaXRpYWwgYWR2YW5jZS48L3A+Cis8ZGl2IGRp
cj0iUlRMIj4KKzxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwMHB0OyBiYWNrZ3JvdW5kOiBibHVl
OyI+JiMxNjA0OyYjMTU3NTsmIzE2MTE7ICYjMTYwOTsgejwvc3Bhbj48L2JvZHk+Cis8L2Rpdj4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216427</attachid>
            <date>2013-11-08 12:47:48 -0800</date>
            <delta_ts>2013-11-09 22:57:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124057-20131108124748.patch</filename>
            <type>text/plain</type>
            <size>5682</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIwODdkMGExOTJlOTZi
YTVjY2FlNjRkMjhkMzhiZjM4Y2FiMjRmYy4uNjc2M2I3Y2U3NmRjODQwMWJhNmY3MTExZmUyNDVj
Y2E0ODI0ZWM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTExLTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVy
cyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZW4ndCB1cGRhdGluZyBv
dXIgdG90YWwgd2lkdGggdmFyaWFibGUgd2l0aCBydW4ncyBpbml0aWFsCisgICAgICAgIGFkdmFu
Y2UgaW5mb3JtYXRpb24sIGxlYWRpbmcgdG8gd2lkdGhzIHRoYXQgd2VyZSB0b28gbmFycm93Lgor
CisgICAgICAgIEluIGFkZGl0aW9uLCB3aGlsZSBpbml0aWFsIGFkdmFuY2VzIGZvciBydW5zIHRo
YXQgYXJlbid0IHRoZSBmaXJzdAorICAgICAgICBydW4gYXJlIGFjY291bnRlZCBmb3IgYnkgYmFr
aW5nIGluIHRoZSBpbml0aWFsIGFkdmFuY2VzIGludG8gdGhlCisgICAgICAgIHByZXZpb3VzIGNo
YXJhY3RlcidzIGFkdmFuY2UsIHRoZSBpbml0aWFsIGFkdmFuY2UgZm9yIHRoZSBmaXJzdCBydW4K
KyAgICAgICAgaGFzIHRvIGJlIGFjY291bnRlZCBmb3IgaW4gQ29tcGxleFRleHRDb250cm9sbGVy
OjpvZmZzZXRGb3JQb3NpdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L3RleHQvY29tcGxleC1n
cmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwKKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcyk6
IFVwZGF0ZQorICAgICAgICB0b3RhbCB3aWR0aCB2YXJpYWJsZQorICAgICAgICAoV2ViQ29yZTo6
Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRPZlBvc2l0aW9uKTogQWNjb3VudCBmb3IKKyAg
ICAgICAgdGhlIGZpcnN0IHJ1bidzIGluaXRpYWwgYWR2YW5jZS4KKwogMjAxMy0xMS0wNiAgQmVt
IEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5hbWUgcmVnaW9u
IGxpbmUgb2Zmc2V0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKaW5kZXggNTU2
Yzg1ZGU0YzE2MmY1ZjFjN2RlMDY5MTU3MzgxYWQ1MTc3NWM2YS4uOWU4ODkxNWZmYjQ3YzA3MzA4
YTY1NjVlMWM3OTcyYTUzNzUxMWQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKQEAg
LTE5MCw3ICsxOTAsMTEgQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9z
aXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykKICAgICBmb3IgKHNpemVf
dCByID0gMDsgciA8IHJ1bkNvdW50OyArK3IpIHsKICAgICAgICAgY29uc3QgQ29tcGxleFRleHRS
dW4mIGNvbXBsZXhUZXh0UnVuID0gKm1fY29tcGxleFRleHRSdW5zW3JdOwogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGogPSAwOyBqIDwgY29tcGxleFRleHRSdW4uZ2x5cGhDb3VudCgpOyArK2opIHsK
LSAgICAgICAgICAgIENHRmxvYXQgYWRqdXN0ZWRBZHZhbmNlID0gbV9hZGp1c3RlZEFkdmFuY2Vz
W29mZnNldEludG9BZGp1c3RlZEdseXBocyArIGpdLndpZHRoOworICAgICAgICAgICAgc2l6ZV90
IGluZGV4ID0gb2Zmc2V0SW50b0FkanVzdGVkR2x5cGhzICsgajsKKyAgICAgICAgICAgIENHRmxv
YXQgYWRqdXN0ZWRBZHZhbmNlID0gMDsKKyAgICAgICAgICAgIGlmICghaW5kZXgpCisgICAgICAg
ICAgICAgICAgYWRqdXN0ZWRBZHZhbmNlICs9IGNvbXBsZXhUZXh0UnVuLmluaXRpYWxBZHZhbmNl
KCkud2lkdGg7CisgICAgICAgICAgICBhZGp1c3RlZEFkdmFuY2UgKz0gbV9hZGp1c3RlZEFkdmFu
Y2VzW2luZGV4XS53aWR0aDsKICAgICAgICAgICAgIGlmICh4IDwgYWRqdXN0ZWRBZHZhbmNlKSB7
CiAgICAgICAgICAgICAgICAgQ0ZJbmRleCBoaXRHbHlwaFN0YXJ0ID0gY29tcGxleFRleHRSdW4u
aW5kZXhBdChqKTsKICAgICAgICAgICAgICAgICBDRkluZGV4IGhpdEdseXBoRW5kOwpAQCAtNTgw
LDYgKzU4NCw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRB
ZHZhbmNlcygpCiAgICAgICAgICAgICBwcmV2aW91c0FkdmFuY2UuaGVpZ2h0IC09IGNvbXBsZXhU
ZXh0UnVuLmluaXRpYWxBZHZhbmNlKCkuaGVpZ2h0OwogICAgICAgICAgICAgbV9hZGp1c3RlZEFk
dmFuY2VzW21fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkgLSAxXSA9IHByZXZpb3VzQWR2YW5jZTsK
ICAgICAgICAgfQorICAgICAgICB3aWR0aFNpbmNlTGFzdENvbW1pdCArPSBjb21wbGV4VGV4dFJ1
bi5pbml0aWFsQWR2YW5jZSgpLndpZHRoOwogCiAgICAgICAgIGlmICghY29tcGxleFRleHRSdW4u
aXNMVFIoKSkKICAgICAgICAgICAgIG1faXNMVFJPbmx5ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTkwNjFl
ZmI0NDA4YzQzMDU1NzhhNTFkYzk4MmY0MDY5ZjQ2NjY4Ny4uZjcyNmE1MjVmN2I2M2FhZDkzMmY0
ODFlNDNkYWM5ZDNjN2Q0OGU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTExLTA4ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFj
dGVycyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBuZXcgdGVzdHMgYWRk
cyBhIHNwYW4gYXJvdW5kIGEgd29yZCBpbiBzb21lIGNvbXBsZXggQXJhYmljIHRleHQsCisgICAg
ICAgIGFuZCBleHBlY3RzIHRoYXQgdGhlIHdvcmQgc3BhY2luZyBpcyB0aGUgc2FtZSBhcyB3aXRo
b3V0IHRoZSBzcGFuCisKKyAgICAgICAgKiBmYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVz
dGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2Uu
aHRtbDogQWRkZWQuCisKIDIwMTMtMTEtMDYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggdGVzdCBjYXNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVy
LXdpdGgtaW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhkNDhlNDJh
MDJkMjZjNWNkNjYxYTdmOTBlOTQ0NWE5MDY4ZjI4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFk
dmFuY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPjwvaGVhZD4KKzxib2R5PgorPHA+VGhl
IGZpcnN0IGdyYXBoZW1lIGNsdXN0ZXIgaGVyZSBjb250YWlucyB0aHJlZSBjb2RlIHBvaW50czog
dHdvIGNoYXJhY3RlcnMgKExvIHVuaWNvZGUgY2F0ZWdvcnkpIHdoaWNoIGpvaW4gdXAgdG8gYmUg
ZHJhd24gd2l0aCBhIHNpbmdsZSBnbHlwaCwgYW5kIGEgdGhpcmQgY29kZSBwb2ludCB3aGljaCBp
cyBhIG5vbnNwYWNpbmcgbWFyayAoTW4gdW5pY29kZSBjYXRlZ29yeSksIHdoaWNoIGlzIGRyYXdu
IGFzIGEgc2Vjb25kIGdseXBoIG9uIHRvcCBvZiB0aGUgZmlyc3QgZ2x5cGgsIHVzaW5nIGEgbmVn
YXRpdmUgYWR2YW5jZS4gVGhpcyBydW4gaGFzIGFuIGluaXRpYWwgYWR2YW5jZS48L3A+Cis8ZGl2
IGRpcj0iUlRMIj4KKzxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwMHB0OyBiYWNrZ3JvdW5kOiBi
bHVlOyI+JiMxNjA0OyYjMTU3NTsmIzE2MTE7IDxzcGFuPiYjMTYwOTs8L3NwYW4+IHo8L3NwYW4+
PC9ib2R5PgorPC9kaXY+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlh
bC1hZHZhbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNhMWVjZWFmZTBhOGQxODcyNTgwNTk3MmU3M2Nh
YzZkYWUyN2UyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21w
bGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPjwvaGVhZD4KKzxib2R5PgorPHA+VGhlIGZpcnN0IGdyYXBoZW1lIGNsdXN0ZXIgaGVyZSBj
b250YWlucyB0aHJlZSBjb2RlIHBvaW50czogdHdvIGNoYXJhY3RlcnMgKExvIHVuaWNvZGUgY2F0
ZWdvcnkpIHdoaWNoIGpvaW4gdXAgdG8gYmUgZHJhd24gd2l0aCBhIHNpbmdsZSBnbHlwaCwgYW5k
IGEgdGhpcmQgY29kZSBwb2ludCB3aGljaCBpcyBhIG5vbnNwYWNpbmcgbWFyayAoTW4gdW5pY29k
ZSBjYXRlZ29yeSksIHdoaWNoIGlzIGRyYXduIGFzIGEgc2Vjb25kIGdseXBoIG9uIHRvcCBvZiB0
aGUgZmlyc3QgZ2x5cGgsIHVzaW5nIGEgbmVnYXRpdmUgYWR2YW5jZS4gVGhpcyBydW4gaGFzIGFu
IGluaXRpYWwgYWR2YW5jZS48L3A+Cis8ZGl2IGRpcj0iUlRMIj4KKzxzcGFuIHN0eWxlPSJmb250
LXNpemU6IDEwMHB0OyBiYWNrZ3JvdW5kOiBibHVlOyI+JiMxNjA0OyYjMTU3NTsmIzE2MTE7ICYj
MTYwOTsgejwvc3Bhbj48L2JvZHk+Cis8L2Rpdj4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216515</attachid>
            <date>2013-11-09 22:57:55 -0800</date>
            <delta_ts>2013-11-11 11:10:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124057-20131109225754.patch</filename>
            <type>text/plain</type>
            <size>9793</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIwODdkMGExOTJlOTZi
YTVjY2FlNjRkMjhkMzhiZjM4Y2FiMjRmYy4uM2YyYjFkMjM4OGJkOTQ5OTMwM2MwMTA0M2RhMjAx
ODY2MTIwOGUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTExLTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhcmFjdGVy
cyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZW4ndCB1cGRhdGluZyBv
dXIgdG90YWwgd2lkdGggdmFyaWFibGUgd2l0aCBydW4ncyBpbml0aWFsCisgICAgICAgIGFkdmFu
Y2UgaW5mb3JtYXRpb24sIGxlYWRpbmcgdG8gd2lkdGhzIHRoYXQgd2VyZSB0b28gbmFycm93Lgor
CisgICAgICAgIEluIGFkZGl0aW9uLCB3aGlsZSBpbml0aWFsIGFkdmFuY2VzIGZvciBydW5zIHRo
YXQgYXJlbid0IHRoZSBmaXJzdAorICAgICAgICBydW4gYXJlIGFjY291bnRlZCBmb3IgYnkgYmFr
aW5nIGluIHRoZSBpbml0aWFsIGFkdmFuY2VzIGludG8gdGhlCisgICAgICAgIHByZXZpb3VzIGNo
YXJhY3RlcidzIGFkdmFuY2UsIHRoZSBpbml0aWFsIGFkdmFuY2UgZm9yIHRoZSBmaXJzdCBydW4K
KyAgICAgICAgaGFzIHRvIGJlIGFjY291bnRlZCBmb3IgaW4gQ29tcGxleFRleHRDb250cm9sbGVy
OjpvZmZzZXRGb3JQb3NpdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L3RleHQvY29tcGxleC1n
cmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwKKyAgICAgICAgVGVzdDog
ZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFsLWFkdmFuY2UtcmVnaW9uLmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRB
ZHZhbmNlcyk6IFVwZGF0ZQorICAgICAgICB0b3RhbCB3aWR0aCB2YXJpYWJsZQorICAgICAgICAo
V2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRPZlBvc2l0aW9uKTogQWNjb3Vu
dCBmb3IKKyAgICAgICAgdGhlIGZpcnN0IHJ1bidzIGluaXRpYWwgYWR2YW5jZS4KKwogMjAxMy0x
MS0wNiAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW5h
bWUgcmVnaW9uIGxpbmUgb2Zmc2V0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
aW5kZXggNTU2Yzg1ZGU0YzE2MmY1ZjFjN2RlMDY5MTU3MzgxYWQ1MTc3NWM2YS4uOWU4ODkxNWZm
YjQ3YzA3MzA4YTY1NjVlMWM3OTcyYTUzNzUxMWQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxl
ci5jcHAKQEAgLTE5MCw3ICsxOTAsMTEgQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zm
c2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykKICAgICBm
b3IgKHNpemVfdCByID0gMDsgciA8IHJ1bkNvdW50OyArK3IpIHsKICAgICAgICAgY29uc3QgQ29t
cGxleFRleHRSdW4mIGNvbXBsZXhUZXh0UnVuID0gKm1fY29tcGxleFRleHRSdW5zW3JdOwogICAg
ICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgY29tcGxleFRleHRSdW4uZ2x5cGhDb3VudCgp
OyArK2opIHsKLSAgICAgICAgICAgIENHRmxvYXQgYWRqdXN0ZWRBZHZhbmNlID0gbV9hZGp1c3Rl
ZEFkdmFuY2VzW29mZnNldEludG9BZGp1c3RlZEdseXBocyArIGpdLndpZHRoOworICAgICAgICAg
ICAgc2l6ZV90IGluZGV4ID0gb2Zmc2V0SW50b0FkanVzdGVkR2x5cGhzICsgajsKKyAgICAgICAg
ICAgIENHRmxvYXQgYWRqdXN0ZWRBZHZhbmNlID0gMDsKKyAgICAgICAgICAgIGlmICghaW5kZXgp
CisgICAgICAgICAgICAgICAgYWRqdXN0ZWRBZHZhbmNlICs9IGNvbXBsZXhUZXh0UnVuLmluaXRp
YWxBZHZhbmNlKCkud2lkdGg7CisgICAgICAgICAgICBhZGp1c3RlZEFkdmFuY2UgKz0gbV9hZGp1
c3RlZEFkdmFuY2VzW2luZGV4XS53aWR0aDsKICAgICAgICAgICAgIGlmICh4IDwgYWRqdXN0ZWRB
ZHZhbmNlKSB7CiAgICAgICAgICAgICAgICAgQ0ZJbmRleCBoaXRHbHlwaFN0YXJ0ID0gY29tcGxl
eFRleHRSdW4uaW5kZXhBdChqKTsKICAgICAgICAgICAgICAgICBDRkluZGV4IGhpdEdseXBoRW5k
OwpAQCAtNTgwLDYgKzU4NCw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgICAgICBwcmV2aW91c0FkdmFuY2UuaGVpZ2h0IC09
IGNvbXBsZXhUZXh0UnVuLmluaXRpYWxBZHZhbmNlKCkuaGVpZ2h0OwogICAgICAgICAgICAgbV9h
ZGp1c3RlZEFkdmFuY2VzW21fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkgLSAxXSA9IHByZXZpb3Vz
QWR2YW5jZTsKICAgICAgICAgfQorICAgICAgICB3aWR0aFNpbmNlTGFzdENvbW1pdCArPSBjb21w
bGV4VGV4dFJ1bi5pbml0aWFsQWR2YW5jZSgpLndpZHRoOwogCiAgICAgICAgIGlmICghY29tcGxl
eFRleHRSdW4uaXNMVFIoKSkKICAgICAgICAgICAgIG1faXNMVFJPbmx5ID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZTkwNjFlZmI0NDA4YzQzMDU1NzhhNTFkYzk4MmY0MDY5ZjQ2NjY4Ny4uMTdlOWY1MDZhZjFl
MzhjYzQxN2YxNmEwNjlhMDBhNjE2YTQ5ZDczMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEz
LTExLTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQ2hhcmFjdGVycyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY29tcGxleC1n
cmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlIGFkZHMgYSBzcGFuIGFyb3VuZCBh
IHdvcmQgaW4gc29tZQorICAgICAgICBjb21wbGV4IEFyYWJpYyB0ZXh0LCBhbmQgZXhwZWN0cyB0
aGF0IHRoZSB3b3JkIHNwYWNpbmcgaXMgdGhlIHNhbWUgYXMgd2l0aG91dCB0aGUKKyAgICAgICAg
c3Bhbi4KKworICAgICAgICBzZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbiBzaW11
bGF0ZXMgYSBtb3VzZSBkcmFnIGFjcm9zcyBhIGNvbXBsZXggdGV4dCBydW4KKyAgICAgICAgd2l0
aCBhbiBpbml0aWFsIGFkdmFuY2UuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IENvbXBsZXhUZXh0Q29u
dHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24KKyAgICAgICAgZG9lc24ndCBjcmFzaCB3aGVuIHRo
ZXJlIGlzIGFuIGluaXRpYWwgYWR2YW5jZS4gSE9XRVZFUjogTm90ZSB0aGF0IHdpdGgga2Vybmlu
ZyBhbmQKKyAgICAgICAgbGlnYXR1cmVzIHR1cm5lZCBvZmYsIENvcmVUZXh0IGRvZXNuJ3QgYXBw
ZWFyIHRvIGV2ZXIgY3JlYXRlIHRleHQgcnVucyB3aXRoIG5vbnplcm8KKyAgICAgICAgaW5pdGlh
bCBhZHZhbmNlcy4gVGhpcyBhY3R1YWxseSBjYXVzZXMgZ2x5cGhzIHRvIGJlIGRyYXduIGRpZmZl
cmVudGx5IChXaXRob3V0IGtlcm5pbmcKKyAgICAgICAgYW5kIGxpZ2F0dXJlcywgdGhlIGFjY2Vu
dCBpbiB0aGlzIHRlc3QgaXMgZHJhd24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgY2hhcmFjdGVy
KS4KKyAgICAgICAgVGhlcmVmb3JlLCB0aGlzIGNvZGUgY2hhbmdlIGNhbid0IGFjdHVhbGx5IGJl
IHRlc3RlZCB3aXRob3V0IGtlcm5pbmcgYW5kIGxpZ2F0dXJlcy4KKyAgICAgICAgSXQncyBwb3Nz
aWJsZSB0byB0byB0dXJuIG9uIGtlcm5pbmcgYW5kIGxpZ2F0dXJlcyBieSB3cml0aW5nIGRlZmF1
bHRzIHN1Y2ggdGhhdAorICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBib29sRm9yS2V5OkAiV2ViS2l0S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1
bHQiXQorICAgICAgICByZXR1cm5zIHRydWUgaW4gRHVtcFJlbmRlclRyZWUuCisKKworICAgICAg
ICAqIGZhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFu
Y2UtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2NvbXBsZXgtZ3Jh
cGhlbWUtY2x1c3Rlci13aXRoLWluaXRpYWwtYWR2YW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvc2VsZWN0aW9uLWluLWluaXRpYWwtYWR2YW5jZS1yZWdpb24tZXhwZWN0ZWQu
dHh0OiBhZGRlZAorICAgICAgICAqIGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZh
bmNlLXJlZ2lvbi5odG1sOiBhZGRlZAorCiAyMDEzLTExLTA2ICBPbGl2ZXIgSHVudCAgPG9saXZl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRlc3QgY2FzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWluaXRpYWwtYWR2
YW5jZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhl
bWUtY2x1c3Rlci13aXRoLWluaXRpYWwtYWR2YW5jZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ4ZDQ4ZTQyYTAyZDI2YzVjZDY2MWE3ZjkwZTk0NDVhOTA2OGYyOGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgt
aW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiLz48L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoZSBmaXJzdCBncmFwaGVtZSBjbHVzdGVyIGhlcmUgY29udGFpbnMgdGhyZWUgY29k
ZSBwb2ludHM6IHR3byBjaGFyYWN0ZXJzIChMbyB1bmljb2RlIGNhdGVnb3J5KSB3aGljaCBqb2lu
IHVwIHRvIGJlIGRyYXduIHdpdGggYSBzaW5nbGUgZ2x5cGgsIGFuZCBhIHRoaXJkIGNvZGUgcG9p
bnQgd2hpY2ggaXMgYSBub25zcGFjaW5nIG1hcmsgKE1uIHVuaWNvZGUgY2F0ZWdvcnkpLCB3aGlj
aCBpcyBkcmF3biBhcyBhIHNlY29uZCBnbHlwaCBvbiB0b3Agb2YgdGhlIGZpcnN0IGdseXBoLCB1
c2luZyBhIG5lZ2F0aXZlIGFkdmFuY2UuIFRoaXMgcnVuIGhhcyBhbiBpbml0aWFsIGFkdmFuY2Uu
PC9wPgorPGRpdiBkaXI9IlJUTCI+Cis8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMDBwdDsgYmFj
a2dyb3VuZDogYmx1ZTsiPiYjMTYwNDsmIzE1NzU7JiMxNjExOyA8c3Bhbj4mIzE2MDk7PC9zcGFu
PiB6PC9zcGFuPjwvYm9keT4KKzwvZGl2PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWluaXRpYWwtYWR2YW5j
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13
aXRoLWluaXRpYWwtYWR2YW5jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYTFlY2VhZmUwYThkMTg3MjU4
MDU5NzJlNzNjYWM2ZGFlMjdlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwK
QEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+PG1ldGEgY2hh
cnNldD0idXRmLTgiLz48L2hlYWQ+Cis8Ym9keT4KKzxwPlRoZSBmaXJzdCBncmFwaGVtZSBjbHVz
dGVyIGhlcmUgY29udGFpbnMgdGhyZWUgY29kZSBwb2ludHM6IHR3byBjaGFyYWN0ZXJzIChMbyB1
bmljb2RlIGNhdGVnb3J5KSB3aGljaCBqb2luIHVwIHRvIGJlIGRyYXduIHdpdGggYSBzaW5nbGUg
Z2x5cGgsIGFuZCBhIHRoaXJkIGNvZGUgcG9pbnQgd2hpY2ggaXMgYSBub25zcGFjaW5nIG1hcmsg
KE1uIHVuaWNvZGUgY2F0ZWdvcnkpLCB3aGljaCBpcyBkcmF3biBhcyBhIHNlY29uZCBnbHlwaCBv
biB0b3Agb2YgdGhlIGZpcnN0IGdseXBoLCB1c2luZyBhIG5lZ2F0aXZlIGFkdmFuY2UuIFRoaXMg
cnVuIGhhcyBhbiBpbml0aWFsIGFkdmFuY2UuPC9wPgorPGRpdiBkaXI9IlJUTCI+Cis8c3BhbiBz
dHlsZT0iZm9udC1zaXplOiAxMDBwdDsgYmFja2dyb3VuZDogYmx1ZTsiPiYjMTYwNDsmIzE1NzU7
JiMxNjExOyAmIzE2MDk7IHo8L3NwYW4+PC9ib2R5PgorPC9kaXY+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2VsZWN0aW9uLWluLWluaXRpYWwtYWR2YW5jZS1y
ZWdpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1p
bml0aWFsLWFkdmFuY2UtcmVnaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2UyOWI4YThm
N2FlYzBhY2NkNDliMDRhNTJmNGIxMWNlZDMxY2YzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFsLWFkdmFuY2UtcmVnaW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMjE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjE2OiAi
VGhpcyB0ZXN0cyBmb3IgYSBkcmFnIHNlbGVjdCBjcmFzaGVyLiIKKyAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4NHgxODEKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDcweDE1MyBbYmdjb2xvcj0jRkZGRjAwXQorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNzE0LDgpIHNpemUgNzB4MTUzCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNzE0LDgpIHdpZHRoIDcwIFJUTDogIlx4ezY0NH1ceHs2Mjd9XHh7NjRCfSIKKyAgICAg
IFJlbmRlckJsb2NrIHtVTH0gYXQgKDAsMjMxKSBzaXplIDc4NHgwCitzZWxlY3Rpb24gc3RhcnQ6
IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxk
IDIge0RJVn0gb2YgYm9keQorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAzIG9mIGNoaWxkIDAg
eyN0ZXh0fSBvZiBjaGlsZCAwIHtTUEFOfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGJvZHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNl
LXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFs
LWFkdmFuY2UtcmVnaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBkZDdkYjhhYTQ4NWMzYzdjOTE4ZmI1
YzU1MTMyNjJkMDM5NWU0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5odG1sCkBAIC0wLDAgKzEsNDAg
QEAKKzxwPlRoaXMgdGVzdHMgZm9yIGEgZHJhZyBzZWxlY3QgY3Jhc2hlci48L3A+Cis8ZGl2IGlk
PSJkaXYiIGRpcj0iUlRMIiBzdHlsZT0iZm9udC1zaXplOiAxMDBwdDsiPjxzcGFuIGlkPSJjIiBz
dHlsZT0iYmFja2dyb3VuZDogeWVsbG93OyI+JiMxNjA0OyYjMTU3NTsmIzE2MTE7PC9zcGFuPjwv
ZGl2PgorPHVsIGlkPSJjb25zb2xlIj48L3VsPgorCis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKHN0
cikgeworICAgIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgbGku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgdmFyIGNvbnNv
bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGUuYXBw
ZW5kQ2hpbGQobGkpOworfQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgCisgICAgdmFy
IGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYiKTsKKyAgICB2YXIgc2VsID0gd2lu
ZG93LmdldFNlbGVjdGlvbigpOworICAgIHNlbC5zZXRQb3NpdGlvbihkaXYsIDApOworICAgIAor
ICAgIHZhciBzdGFydCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjIik7CisgICAgdmFyIHN0
YXJ0eCA9IHN0YXJ0Lm9mZnNldExlZnQgKyAxOworICAgIHZhciBzdGFydHkgPSBzdGFydC5vZmZz
ZXRUb3AgKyBzdGFydC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHN0YXJ0eCwgc3RhcnR5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKworICAg
IHZhciBlbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOworICAgIGVuZHggPSBlbmQu
b2Zmc2V0TGVmdCArIGVuZC5vZmZzZXRXaWR0aCAtIDE7CisgICAgZW5keSA9IGVuZC5vZmZzZXRU
b3AgKyBlbmQub2Zmc2V0SGVpZ2h0IC8gMjsKKworICAgIHZhciBzdGVwcyA9IDIwOworICAgIGZv
ciAodmFyIGkgPSAxOyBpIDw9IHN0ZXBzOyBpKyspIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oc3RhcnR4ICsgTWF0aC5hYnMoc3RhcnR4IC0gZW5keCkgKiAoaSAvIHN0ZXBzKSwg
c3RhcnR5ICsgTWF0aC5hYnMoc3RhcnR5IC0gZW5keSkgKiAoaSAvIHN0ZXBzKSk7CisgICAgfQor
CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oZW5keCwgZW5keSk7CisgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworCisgICAgCit9IGVsc2UgeworICAgIGxvZygiVGhpcyB1c2VzIHRoZSBl
dmVudFNlbmRlciB0byBwZXJmb3JtIGEgZHJhZyBzZWxlY3QuICBUbyBydW4gaXQgbWFudWFsbHks
IGNsaWNrIG9uIHRoZSBsZWZ0IGhhbGYgb2YgdGhlIGNoYXJhY3RlciBhbmQgZHJhZyB0byB0aGUg
cmlnaHQgaGFsZiBvZiB0aGUgY2hhcmFjdGVyLiIpOworfQorPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216590</attachid>
            <date>2013-11-11 11:10:51 -0800</date>
            <delta_ts>2013-11-11 15:29:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124057-20131111111050.patch</filename>
            <type>text/plain</type>
            <size>9116</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIwODdkMGExOTJlOTZi
YTVjY2FlNjRkMjhkMzhiZjM4Y2FiMjRmYy4uNjg1NDhlZTY1MzYxNzBjMjg4Mjc5NDc5ZTRhOGQ4
Yzg1MmNhZmI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTExLTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gQ2hh
cmFjdGVycyB0b28gY2xvc2UgdG9nZXRoZXIgaW4gY29tcGxleCBBcmFiaWMgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MDU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZW4ndCB1cGRh
dGluZyBvdXIgdG90YWwgd2lkdGggdmFyaWFibGUgd2l0aCBydW4ncyBpbml0aWFsCisgICAgICAg
IGFkdmFuY2UgaW5mb3JtYXRpb24sIGxlYWRpbmcgdG8gd2lkdGhzIHRoYXQgd2VyZSB0b28gbmFy
cm93LgorCisgICAgICAgIEluIGFkZGl0aW9uLCB3aGlsZSBpbml0aWFsIGFkdmFuY2VzIGZvciBy
dW5zIHRoYXQgYXJlbid0IHRoZSBmaXJzdAorICAgICAgICBydW4gYXJlIGFjY291bnRlZCBmb3Ig
YnkgYmFraW5nIGluIHRoZSBpbml0aWFsIGFkdmFuY2VzIGludG8gdGhlCisgICAgICAgIHByZXZp
b3VzIGNoYXJhY3RlcidzIGFkdmFuY2UsIHRoZSBpbml0aWFsIGFkdmFuY2UgZm9yIHRoZSBmaXJz
dCBydW4KKyAgICAgICAgaGFzIHRvIGJlIGFjY291bnRlZCBmb3IgaW4gQ29tcGxleFRleHRDb250
cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L3RleHQvY29t
cGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgtaW5pdGlhbC1hZHZhbmNlLmh0bWwKKyAgICAgICAg
VGVzdDogZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFsLWFkdmFuY2UtcmVnaW9uLmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHNBbmRBZHZhbmNlcyk6IFVwZGF0ZQorICAgICAgICB0b3RhbCB3aWR0aCB2YXJpYWJsZQorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRPZlBvc2l0aW9uKTog
QWNjb3VudCBmb3IKKyAgICAgICAgdGhlIGZpcnN0IHJ1bidzIGluaXRpYWwgYWR2YW5jZS4KKwog
MjAxMy0xMS0wNiAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAg
ICBSZW5hbWUgcmVnaW9uIGxpbmUgb2Zmc2V0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggNTU2Yzg1ZGU0YzE2MmY1ZjFjN2RlMDY5MTU3MzgxYWQ1MTc3NWM2YS4uZGYy
NzFiNDAyYzM4NGM0OWI4YjhmMzY4YjIzZGM5ZGRkNTU3YzQ2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29u
dHJvbGxlci5jcHAKQEAgLTE5MCw3ICsxOTAsMTAgQEAgaW50IENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykK
ICAgICBmb3IgKHNpemVfdCByID0gMDsgciA8IHJ1bkNvdW50OyArK3IpIHsKICAgICAgICAgY29u
c3QgQ29tcGxleFRleHRSdW4mIGNvbXBsZXhUZXh0UnVuID0gKm1fY29tcGxleFRleHRSdW5zW3Jd
OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgY29tcGxleFRleHRSdW4uZ2x5cGhD
b3VudCgpOyArK2opIHsKLSAgICAgICAgICAgIENHRmxvYXQgYWRqdXN0ZWRBZHZhbmNlID0gbV9h
ZGp1c3RlZEFkdmFuY2VzW29mZnNldEludG9BZGp1c3RlZEdseXBocyArIGpdLndpZHRoOworICAg
ICAgICAgICAgc2l6ZV90IGluZGV4ID0gb2Zmc2V0SW50b0FkanVzdGVkR2x5cGhzICsgajsKKyAg
ICAgICAgICAgIENHRmxvYXQgYWRqdXN0ZWRBZHZhbmNlID0gbV9hZGp1c3RlZEFkdmFuY2VzW2lu
ZGV4XS53aWR0aDsKKyAgICAgICAgICAgIGlmICghaW5kZXgpCisgICAgICAgICAgICAgICAgYWRq
dXN0ZWRBZHZhbmNlICs9IGNvbXBsZXhUZXh0UnVuLmluaXRpYWxBZHZhbmNlKCkud2lkdGg7CiAg
ICAgICAgICAgICBpZiAoeCA8IGFkanVzdGVkQWR2YW5jZSkgewogICAgICAgICAgICAgICAgIENG
SW5kZXggaGl0R2x5cGhTdGFydCA9IGNvbXBsZXhUZXh0UnVuLmluZGV4QXQoaik7CiAgICAgICAg
ICAgICAgICAgQ0ZJbmRleCBoaXRHbHlwaEVuZDsKQEAgLTU4MCw2ICs1ODMsNyBAQCB2b2lkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMoKQogICAgICAgICAg
ICAgcHJldmlvdXNBZHZhbmNlLmhlaWdodCAtPSBjb21wbGV4VGV4dFJ1bi5pbml0aWFsQWR2YW5j
ZSgpLmhlaWdodDsKICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2FkanVzdGVkQWR2
YW5jZXMuc2l6ZSgpIC0gMV0gPSBwcmV2aW91c0FkdmFuY2U7CiAgICAgICAgIH0KKyAgICAgICAg
d2lkdGhTaW5jZUxhc3RDb21taXQgKz0gY29tcGxleFRleHRSdW4uaW5pdGlhbEFkdmFuY2UoKS53
aWR0aDsKIAogICAgICAgICBpZiAoIWNvbXBsZXhUZXh0UnVuLmlzTFRSKCkpCiAgICAgICAgICAg
ICBtX2lzTFRST25seSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU5MDYxZWZiNDQwOGM0MzA1NTc4YTUxZGM5
ODJmNDA2OWY0NjY2ODcuLjgwZjY2MjZlY2Q0MmU4NjBmOGQxNzNlNGIwNGIzYjU3Nzg5MzI5OGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0xMS0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIENoYXJhY3RlcnMgdG9vIGNsb3Nl
IHRvZ2V0aGVyIGluIGNvbXBsZXggQXJhYmljIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDA1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWlu
aXRpYWwtYWR2YW5jZSBhZGRzIGEgc3BhbiBhcm91bmQgYSB3b3JkIGluIHNvbWUKKyAgICAgICAg
Y29tcGxleCBBcmFiaWMgdGV4dCwgYW5kIGV4cGVjdHMgdGhhdCB0aGUgd29yZCBzcGFjaW5nIGlz
IHRoZSBzYW1lIGFzIHdpdGhvdXQgdGhlCisgICAgICAgIHNwYW4uCisKKyAgICAgICAgc2VsZWN0
aW9uLWluLWluaXRpYWwtYWR2YW5jZS1yZWdpb24gc2ltdWxhdGVzIGEgbW91c2UgZHJhZyBhY3Jv
c3MgYSBjb21wbGV4IHRleHQgcnVuCisgICAgICAgIHdpdGggYW4gaW5pdGlhbCBhZHZhbmNlLiBU
aGlzIG1ha2VzIHN1cmUgdGhhdCBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0
aW9uCisgICAgICAgIGRvZXNuJ3QgY3Jhc2ggd2hlbiB0aGVyZSBpcyBhbiBpbml0aWFsIGFkdmFu
Y2UuCisKKyAgICAgICAgKiBmYXN0L3RleHQvY29tcGxleC1ncmFwaGVtZS1jbHVzdGVyLXdpdGgt
aW5pdGlhbC1hZHZhbmNlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFsLWFkdmFuY2UtcmVn
aW9uLWV4cGVjdGVkLnR4dDogYWRkZWQKKyAgICAgICAgKiBmYXN0L3RleHQvc2VsZWN0aW9uLWlu
LWluaXRpYWwtYWR2YW5jZS1yZWdpb24uaHRtbDogYWRkZWQKKwogMjAxMy0xMS0wNiAgT2xpdmVy
IEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0ZXN0IGNhc2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0
aC1pbml0aWFsLWFkdmFuY2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9j
b21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOGQ0OGU0MmEwMmQyNmM1Y2Q2NjFhN2Y5MGU5NDQ1YTkwNjhmMjhmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUt
Y2x1c3Rlci13aXRoLWluaXRpYWwtYWR2YW5jZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOSBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGUgZmlyc3QgZ3JhcGhlbWUgY2x1c3RlciBoZXJlIGNvbnRh
aW5zIHRocmVlIGNvZGUgcG9pbnRzOiB0d28gY2hhcmFjdGVycyAoTG8gdW5pY29kZSBjYXRlZ29y
eSkgd2hpY2ggam9pbiB1cCB0byBiZSBkcmF3biB3aXRoIGEgc2luZ2xlIGdseXBoLCBhbmQgYSB0
aGlyZCBjb2RlIHBvaW50IHdoaWNoIGlzIGEgbm9uc3BhY2luZyBtYXJrIChNbiB1bmljb2RlIGNh
dGVnb3J5KSwgd2hpY2ggaXMgZHJhd24gYXMgYSBzZWNvbmQgZ2x5cGggb24gdG9wIG9mIHRoZSBm
aXJzdCBnbHlwaCwgdXNpbmcgYSBuZWdhdGl2ZSBhZHZhbmNlLiBUaGlzIHJ1biBoYXMgYW4gaW5p
dGlhbCBhZHZhbmNlLjwvcD4KKzxkaXYgZGlyPSJSVEwiPgorPHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZTogMTAwcHQ7IGJhY2tncm91bmQ6IGJsdWU7Ij4mIzE2MDQ7JiMxNTc1OyYjMTYxMTsgPHNwYW4+
JiMxNjA5Ozwvc3Bhbj4gejwvc3Bhbj48L2JvZHk+Cis8L2Rpdj4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBoZW1lLWNsdXN0ZXItd2l0aC1p
bml0aWFsLWFkdmFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jb21wbGV4LWdyYXBo
ZW1lLWNsdXN0ZXItd2l0aC1pbml0aWFsLWFkdmFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2ExZWNl
YWZlMGE4ZDE4NzI1ODA1OTcyZTczY2FjNmRhZTI3ZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWluaXRpYWwt
YWR2YW5jZS5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+PC9oZWFkPgorPGJvZHk+Cis8cD5UaGUgZmlyc3Qg
Z3JhcGhlbWUgY2x1c3RlciBoZXJlIGNvbnRhaW5zIHRocmVlIGNvZGUgcG9pbnRzOiB0d28gY2hh
cmFjdGVycyAoTG8gdW5pY29kZSBjYXRlZ29yeSkgd2hpY2ggam9pbiB1cCB0byBiZSBkcmF3biB3
aXRoIGEgc2luZ2xlIGdseXBoLCBhbmQgYSB0aGlyZCBjb2RlIHBvaW50IHdoaWNoIGlzIGEgbm9u
c3BhY2luZyBtYXJrIChNbiB1bmljb2RlIGNhdGVnb3J5KSwgd2hpY2ggaXMgZHJhd24gYXMgYSBz
ZWNvbmQgZ2x5cGggb24gdG9wIG9mIHRoZSBmaXJzdCBnbHlwaCwgdXNpbmcgYSBuZWdhdGl2ZSBh
ZHZhbmNlLiBUaGlzIHJ1biBoYXMgYW4gaW5pdGlhbCBhZHZhbmNlLjwvcD4KKzxkaXYgZGlyPSJS
VEwiPgorPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAwcHQ7IGJhY2tncm91bmQ6IGJsdWU7Ij4m
IzE2MDQ7JiMxNTc1OyYjMTYxMTsgJiMxNjA5OyB6PC9zcGFuPjwvYm9keT4KKzwvZGl2PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0
aWFsLWFkdmFuY2UtcmVnaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
ZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmRmZTJjODY3YWE5OTAzOWE0OGNmMDNlNmM0NjM3MmFjZDQzMzdmZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNl
LXJlZ2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUaGlzIHRlc3RzIGZvciBhIGRy
YWcgc2VsZWN0IGNyYXNoZXIuCisKK9mE2KfZiworUEFTUyBzZWwucmFuZ2VDb3VudCBpcyAxCitQ
QVNTIHIuc3RhcnRDb250YWluZXIgaXMgci5lbmRDb250YWluZXIKK1BBU1Mgci5zdGFydE9mZnNl
dCBpcyAwCitQQVNTIHIuZW5kT2Zmc2V0IGlzIDMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0aWFsLWFkdmFuY2UtcmVnaW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvc2VsZWN0aW9uLWluLWluaXRpYWwtYWR2YW5jZS1yZWdpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZThlMGFmYzkwYjFiNTgyOGQxMDQ1ODBkZDA2M2ViZjUzMmU1NjJmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NlbGVjdGlvbi1pbi1pbml0
aWFsLWFkdmFuY2UtcmVnaW9uLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIGZvciBhIGRyYWcgc2VsZWN0IGNyYXNoZXIu
PC9wPgorPGRpdiBpZD0iZGl2IiBkaXI9IlJUTCIgc3R5bGU9Ii13ZWJraXQtZm9udC12YXJpYW50
LWxpZ2F0dXJlczogbm9ybWFsOyAtd2Via2l0LWZvbnQta2VybmluZzogbm9ybWFsOyBmb250LXNp
emU6IDEwMHB4OyI+PHNwYW4gaWQ9ImMiIHN0eWxlPSJiYWNrZ3JvdW5kOiB5ZWxsb3c7Ij4mIzE2
MDQ7JiMxNTc1OyYjMTYxMTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciBzZWw7Cit2YXIgcjsKKworZnVuY3Rpb24gbG9nKHN0cikgeworICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXYuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgdmFyIGNvbnNvbGUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGUuYXBwZW5kQ2hp
bGQoZGl2KTsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyICYmIHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYiKTsKKyAgICAgICAgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBz
ZWwuc2V0UG9zaXRpb24oZGl2LCAwKTsKKyAgICAgICAgCisgICAgICAgIHZhciBzdGFydCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjIik7CisgICAgICAgIHZhciBzdGFydHggPSBzdGFydC5v
ZmZzZXRMZWZ0ICsgMTsKKyAgICAgICAgdmFyIHN0YXJ0eSA9IHN0YXJ0Lm9mZnNldFRvcCArIHN0
YXJ0Lm9mZnNldEhlaWdodCAvIDI7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0
YXJ0eCwgc3RhcnR5KTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgCisg
ICAgICAgIHZhciBlbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOworICAgICAgICBl
bmR4ID0gZW5kLm9mZnNldExlZnQgKyBlbmQub2Zmc2V0V2lkdGggLSAxOworICAgICAgICBlbmR5
ID0gZW5kLm9mZnNldFRvcCArIGVuZC5vZmZzZXRIZWlnaHQgLyAyOworICAgIAorICAgICAgICB2
YXIgc3RlcHMgPSAyMDsKKyAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gc3RlcHM7IGkrKykg
eworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnR4ICsgTWF0aC5hYnMo
c3RhcnR4IC0gZW5keCkgKiAoaSAvIHN0ZXBzKSwgc3RhcnR5ICsgTWF0aC5hYnMoc3RhcnR5IC0g
ZW5keSkgKiAoaSAvIHN0ZXBzKSk7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oZW5keCwgZW5keSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKKyAgICAKKyAgICAgICAgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBz
aG91bGRCZSgic2VsLnJhbmdlQ291bnQiLCAiMSIpOworICAgICAgICByID0gc2VsLmdldFJhbmdl
QXQoMCk7CisgICAgICAgIHNob3VsZEJlKCJyLnN0YXJ0Q29udGFpbmVyIiwgInIuZW5kQ29udGFp
bmVyIik7CisgICAgICAgIHNob3VsZEJlKCJyLnN0YXJ0T2Zmc2V0IiwgIjAiKTsKKyAgICAgICAg
c2hvdWxkQmUoInIuZW5kT2Zmc2V0IiwgIjMiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2co
IlRoaXMgdXNlcyB0aGUgZXZlbnRTZW5kZXIgdG8gcGVyZm9ybSBhIHNsb3cgZHJhZyBzZWxlY3Qu
ICBUbyBydW4gaXQgbWFudWFsbHksIGNsaWNrIG9uIHRoZSBsZWZ0IGhhbGYgb2YgdGhlIGNoYXJh
Y3RlciBhbmQgc2xvd2x5IGRyYWcgdG8gdGhlIHJpZ2h0IGhhbGYgb2YgdGhlIGNoYXJhY3Rlci4i
KTsKKyAgICB9Cit9CisKK3Rlc3QoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>