<?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>98962</bug_id>
          
          <creation_ts>2012-10-10 15:53:13 -0700</creation_ts>
          <short_desc>[CSS Shaders] Clamp input colors before blending</short_desc>
          <delta_ts>2012-11-30 10:48:19 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71392</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Max Vujovic">mvujovic</reporter>
          <assigned_to name="Michelangelo De Simone">michelangelo</assigned_to>
          <cc>achicu</cc>
    
    <cc>dino</cc>
    
    <cc>dongseong.hwang</cc>
    
    <cc>kenneth</cc>
    
    <cc>michelangelo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739356</commentid>
    <comment_count>0</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-10 15:53:13 -0700</bug_when>
    <thetext>In CustomFilterValidatedProgram.cpp, we use the following GLSL code to blend the element texture (premultiplied with css_ColorMatrix) and css_MixColor.

mediump vec4 originalColor = texture2D(css_u_texture, css_v_texCoord);
mediump vec4 multipliedColor = css_ColorMatrix * originalColor;
mediump vec3 blendedColor = css_BlendColor(multipliedColor.rgb, css_MixColor.rgb);

The css_BlendColor function and blending in general expects valid color values between [0.0, 1.0]. Thus, we should clamp multipliedColor and css_MixColor to [0.0, 1.0].

If we clamp the input colors to css_BlendColor, css_BlendColor will return a color in the range [0.0, 1.0].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775990</commentid>
    <comment_count>1</comment_count>
      <attachid>176096</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-11-26 15:45:31 -0800</bug_when>
    <thetext>Created attachment 176096
Patch not for formal review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776052</commentid>
    <comment_count>2</comment_count>
      <attachid>176096</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-11-26 16:37:20 -0800</bug_when>
    <thetext>Comment on attachment 176096
Patch not for formal review

Looks good! A couple of comments:

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Multiplied color values are now clamped in [0.0, 1.0].

I would mention css_ColorMatrix in this description because &quot;multiplied color values&quot; can be ambiguous. Multiplied color values can refer to either:
1) The result of the css_ColorMatrix * originalColor
2) The result of (css_ColorMatrix * originalColor) * css_MixColor, if the blend mode is multiply.

Say something like:
&quot;The result of css_ColorMatrix multiplication is now clamped to [0.0, 1.0] before the blending step.&quot;

And provide a link to the processing model diagram in the spec.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:276
&gt; +            mediump vec4 multipliedColor = clamp(css_ColorMatrix * originalColor, 0.0, 1.0);

Looks good.

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping-expected.html:1
&gt; +&lt;!DOCTYPE HTML&gt;

Based on the previous point, make the name of these tests more specific like &quot;custom-filter-clamp-css-color-matrix-result.html&quot;.

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping-expected.html:5
&gt; +    &lt;title&gt;Color Clamping Test (negative)&lt;/title&gt;

Similarly, update the title to specifically say what is being tested:
&quot;Tests that the css_ColorMatrix multiplication result is clamped to 0.&quot;

On the positive test, say:
&quot;Tests that the css_ColorMatrix multiplication result is clamped to 1.&quot;

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping-expected.html:8
&gt; +            width: 300px;

Nit: When there&apos;s no space issue, let&apos;s just stick with 100px divs in our tests to be consistent.

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping-negative.html:24
&gt; +            background: rgb(45, 45, 45);

If you take my suggestion below, change this to rgb(20%, 20%, 20%), because it&apos;s easier to do the math with floating point color values (e.g. 0.2) rather than 8-bit (e.g. 45).

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping-negative.html:39
&gt; +        If div&apos;s background color is 0, 0, 0 the test has passed.

This comment might be easier to follow if it was expressed as math rather than words, e.g.:

Let:
clamp(value) = A function that clamps values between 0.0 and 1.0
elementColor = vec4(0.2, 0.2, 0.2, 1.0)
css_ColorMatrix = Matrix with diagonal (-10.0, -10.0, -10.0, 1.0)
css_MixColor = vec4(-0.5, -0.5, -0.5, 1.0)

Correct clamped result:
result = clamp(css_ColorMatrix * elementColor) * css_MixColor
result.r = clamp(-10.0 * 0.2) * 0.5
result.r = clamp(-2.0) * 0.5
result.r = 0.0 * -0.5
result.r = 0.0
result.r = result.g = result.b =&gt; black

Incorrect unclamped result:
result = (css_ColorMatrix * elementColor) * css_MixColor
result.r = (-10.0 * 0.2) * 0.5
result.r = -2.0 * -0.5
result.r = 1.0
result.r = result.g = result.b =&gt; white

&gt; LayoutTests/css3/filters/custom/custom-filter-color-clamping.html:31
&gt; +        We&apos;re checking that multiplied color values are correctly clamped between [0.0, 1.0]; in order to achieve that

Ditto.

&gt; LayoutTests/css3/filters/resources/custom-filter-color-clamping-negative.fs:1
&gt; +precision mediump float;

Also update the names of the shaders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777053</commentid>
    <comment_count>3</comment_count>
      <attachid>176312</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-11-27 11:53:13 -0800</bug_when>
    <thetext>Created attachment 176312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780225</commentid>
    <comment_count>4</comment_count>
      <attachid>176312</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 10:48:15 -0800</bug_when>
    <thetext>Comment on attachment 176312
Patch

Clearing flags on attachment: 176312

Committed r136254: &lt;http://trac.webkit.org/changeset/136254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780226</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 10:48:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176096</attachid>
            <date>2012-11-26 15:45:31 -0800</date>
            <delta_ts>2012-11-27 11:53:11 -0800</delta_ts>
            <desc>Patch not for formal review</desc>
            <filename>bug-98962-20121126154309.patch</filename>
            <type>text/plain</type>
            <size>10411</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI5NDBhMjFlNzQ4Y2I4
N2JmMDY0ODJkZDhlYTU0YmFlNTQwNWM1Yi4uMzEzNGQwZmQ5OGMzZTU3YWUxNDY4ZWQ0NmQ2OWQ2
YjM3ODQ1NWRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTExLTI2ICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
W0NTUyBTaGFkZXJzXSBDbGFtcCBpbnB1dCBjb2xvcnMgYmVmb3JlIGJsZW5kaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE11bHRpcGxpZWQgY29sb3Ig
dmFsdWVzIGFyZSBub3cgY2xhbXBlZCBpbiBbMC4wLCAxLjBdLgorCisgICAgICAgIFRlc3RzOiBj
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmctbmVnYXRpdmUu
aHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNv
bG9yLWNsYW1waW5nLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpyZXdyaXRlTWl4RnJhZ21lbnRTaGFkZXIpOgorCiAy
MDEyLTExLTI2ICBBZGVuaWxzb24gQ2F2YWxjYW50aSAgPGNhdmFsY2FudGlpQGdtYWlsLmNvbT4K
IAogICAgICAgICBSZW1vdmluZyB1bm5lY2Vzc2FyeSBmcmllbmQgY2xhc3NlcyBpbiBSZW5kZXJP
YmplY3Q6IExheW91dFJlcGFpbnRlciwgUmVuZGVyU1ZHQ29udGFpbmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCA3MmFkOGZmNGMwMmYxNWJh
MmUwMjFhNzU0MTBmOTQyMmFlYzYzY2Q0Li5jZjlkZWYxODI5ODZjMTAyZWRhOGUwMTlkMTlhNDll
MjBmYzdmMDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW06OnJld3JpdGVNaXhGcmFnbWVudFNoYWRlcigpCiAgICAgICAgIHsKICAgICAgICAgICAgIGNz
c19tYWluKCk7CiAgICAgICAgICAgICBtZWRpdW1wIHZlYzQgb3JpZ2luYWxDb2xvciA9IHRleHR1
cmUyRChjc3NfdV90ZXh0dXJlLCBjc3Nfdl90ZXhDb29yZCk7Ci0gICAgICAgICAgICBtZWRpdW1w
IHZlYzQgbXVsdGlwbGllZENvbG9yID0gY3NzX0NvbG9yTWF0cml4ICogb3JpZ2luYWxDb2xvcjsK
KyAgICAgICAgICAgIG1lZGl1bXAgdmVjNCBtdWx0aXBsaWVkQ29sb3IgPSBjbGFtcChjc3NfQ29s
b3JNYXRyaXggKiBvcmlnaW5hbENvbG9yLCAwLjAsIDEuMCk7CiAgICAgICAgICAgICBtZWRpdW1w
IHZlYzMgYmxlbmRlZENvbG9yID0gY3NzX0JsZW5kQ29sb3IobXVsdGlwbGllZENvbG9yLnJnYiwg
Y3NzX01peENvbG9yLnJnYik7CiAgICAgICAgICAgICBnbF9GcmFnQ29sb3IgPSBjc3NfQ29tcG9z
aXRlKG11bHRpcGxpZWRDb2xvci5yZ2IsIG11bHRpcGxpZWRDb2xvci5hLCBibGVuZGVkQ29sb3Iu
cmdiLCBjc3NfTWl4Q29sb3IuYSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYmI0YzU2ZTcxODY5OTcz
ODI3Njg1NDJkNGM2ZmM5OWE2NGEzNDVkLi5hZmJiZmE4ODRiYWVlZTRlMmU3MWRkMzQyMmJjODll
OTkyY2Y3MDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTEtMjYgIE1pY2hlbGFuZ2Vs
byBEZSBTaW1vbmUgIDxtaWNoZWxhbmdlbG9Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNo
YWRlcnNdIENsYW1wIGlucHV0IGNvbG9ycyBiZWZvcmUgYmxlbmRpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTYyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0byBjaGVjayB0aGUgY29ycmVj
dCBjbGFtcGluZyBvZiBjb2xvciB2YWx1ZXMuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3Vz
dG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5n
LW5lZ2F0aXZlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1uZWdhdGl2ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBp
bmcuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9jdXN0b20t
ZmlsdGVyLWNvbG9yLWNsYW1waW5nLW5lZ2F0aXZlLmZzOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmcuZnM6IEFkZGVk
LgorCiAyMDEyLTExLTI2ICBSb2JlcnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZzogZmFpbHVyZSBpbiBmYXN0L3RleHQvYXRz
dWktc21hbGwtY2Fwcy1wdW5jdHVhdGlvbi1zaXplLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVy
LWNvbG9yLWNsYW1waW5nLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM2MTdmNzMwYzA1ODMz
MzE4NjkzZDI1YmQ4YmM0ZjhiYWFlNGIwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWwgbGFuZz0iZW4i
PgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5Db2xvciBD
bGFtcGluZyBUZXN0IChuZWdhdGl2ZSk8L3RpdGxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgI2xv
bmVseWRpdiB7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6
IDMwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kOiByZ2IoMTI4LCAxMjgsIDEyOCk7CisgICAgICAgIH0KKyAgICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0ibG9uZWx5ZGl2Ij48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20v
Y3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1uZWdhdGl2ZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5n
LW5lZ2F0aXZlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTlmYzBmMzY2NGVkZDRiMGQzOWMx
NTY2ZTQ0NmIzNzJlNDA0NTFmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1uZWdhdGl2ZS1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWwgbGFuZz0i
ZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5Db2xv
ciBDbGFtcGluZyBUZXN0PC90aXRsZT4KKyAgICA8c3R5bGU+CisgICAgICAgICNsb25lbHlkaXYg
eworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsK
KyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICAgICAgYmFja2dy
b3VuZDogcmdiKDAsIDAsIDApOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgaWQ9ImxvbmVseWRpdiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXIt
Y29sb3ItY2xhbXBpbmctbmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1uZWdhdGl2ZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVlOTA2ZjdiZDM0MWY5OGI2YjUwMzA1OTUwNDRiYjJhMzFmOTIyMTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29s
b3ItY2xhbXBpbmctbmVnYXRpdmUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgSFRN
TD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
KyAgICA8dGl0bGU+Q29sb3IgQ2xhbXBpbmcgVGVzdCAobmVnYXRpdmUpPC90aXRsZT4KKyAgICA8
c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVy
RW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFm
dGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQuCisgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjbG9uZWx5
ZGl2IHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzAw
cHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgICAgIGJh
Y2tncm91bmQ6IHJnYig0NSwgNDUsIDQ1KTsKKyAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBj
dXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY3VzdG9tLWZpbHRlci1jb2xvci1jbGFt
cGluZy1uZWdhdGl2ZS5mcycpIG11bHRpcGx5IHNvdXJjZS1hdG9wKSk7CisgICAgICAgIH0KKyAg
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDwhLS0K
KyAgICAgICAgV2UncmUgY2hlY2tpbmcgdGhhdCBtdWx0aXBsaWVkIGNvbG9yIHZhbHVlcyBhcmUg
Y29ycmVjdGx5IGNsYW1wZWQgYmV0d2VlbiBbMC4wLCAxLjBdOyBpbiBvcmRlciB0byBhY2hpZXZl
IHRoYXQKKyAgICAgICAgd2Ugc2V0IGEgcGxhaW4gcmdiKDQ1LCA0NSwgNDUpIGJhY2tncm91bmQg
Y29sb3IgdG8gYSBkaXYuIEFmdGVyIHRoYXQgYSBmcmFnbWVudCBzaGFkZXIgd2lsbCBtdWx0aXBs
eSBkaXYncworICAgICAgICBiYWNrZ3JvdW5kIGNvbG9yIHdpdGggYSBjb2xvciBtYXRyaXggdGhh
dCBoYXMgZXhjZWVkaW5nIG5lZ2F0aXZlIHZhbHVlcyBvbiB0aGUgZGlhZ29uYWwuIFRoZSByZXN1
bHQgb2YgdGhpcyBvcGVyYXRpb24KKyAgICAgICAgd2lsbCBwcm9kdWNlIHZhbHVlcyBmYXIgc21h
bGxlciB0aGFuIDAsIDAsIDAsLgorICAgICAgICBUaGUgbGFzdCBvcGVyYXRpb24gcGVyZm9ybWVk
IGJ5IHRoZSBmcmFnbWVudCBzaGFkZXIgaXMgYSBkaXZpc2lvbiBvZiB0aG9zZSB2YWx1ZXMsIGFp
bWVkIHRvIG9idGFpbiBhIGNvbG9yIHZhbHVlCisgICAgICAgIG9mIDAuCisKKyAgICAgICAgSWYg
ZGl2J3MgYmFja2dyb3VuZCBjb2xvciBpcyBub3QgYSBwbGFpbiBibGFjazogdGhlIHRlc3QgaGFz
IGZhaWxlZCAodGhlIGZpbmFsIGNvbG9yIGlzIHN0aWxsIGFib3ZlIDAsIDAsIDApLgorICAgICAg
ICBJZiBkaXYncyBiYWNrZ3JvdW5kIGNvbG9yIGlzIDAsIDAsIDAgdGhlIHRlc3QgaGFzIHBhc3Nl
ZC4KKyAgICAtLT4KKyAgICA8ZGl2IGlkPSJsb25lbHlkaXYiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLWNvbG9yLWNsYW1waW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3Vz
dG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjc3MzAx
MmFmYTk4ZTY4NWNjODRlZTE3YTQ4NGQyYjIxOGYzZTcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5n
Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPkNvbG9yIENs
YW1waW5nIFRlc3Q8L3RpdGxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwg
IjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAvLyBX
ZSBuZWVkIHRvIHJ1biB0aGUgdGVzdHMgYWZ0ZXIgdGhlIGRvd25sb2FkaW5nIHN1Y2NlZWRlZC4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAg
ICA8c3R5bGU+CisgICAgICAgICNsb25lbHlkaXYgeworICAgICAgICAgICAgd2lkdGg6IDMwMHB4
OworICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsYWNrOworICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDQ1LCA0NSwgNDUpOworICAg
ICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNl
cy9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5nLmZzJykgbXVsdGlwbHkgc291cmNlLWF0b3Ap
KTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+CisgICAgPCEtLQorICAgICAgICBXZSdyZSBjaGVja2luZyB0aGF0IG11bHRpcGxpZWQg
Y29sb3IgdmFsdWVzIGFyZSBjb3JyZWN0bHkgY2xhbXBlZCBiZXR3ZWVuIFswLjAsIDEuMF07IGlu
IG9yZGVyIHRvIGFjaGlldmUgdGhhdAorICAgICAgICB3ZSBzZXQgYSBwbGFpbiByZ2IoNDUsIDQ1
LCA0NSkgYmFja2dyb3VuZCBjb2xvciB0byBhIGRpdi4gQWZ0ZXIgdGhhdCBhIGZyYWdtZW50IHNo
YWRlciB3aWxsIG11bHRpcGx5IGRpdidzCisgICAgICAgIGJhY2tncm91bmQgY29sb3Igd2l0aCBh
IGNvbG9yIG1hdHJpeCB0aGF0IGhhcyBleGNlZWRpbmcgdmFsdWVzIG9uIHRoZSBkaWFnb25hbC4g
VGhlIHJlc3VsdCBvZiB0aGlzIG9wZXJhdGlvbgorICAgICAgICB3aWxsIHByb2R1Y2UgdmFsdWVz
IGZhciBncmVhdGVyIHRoYW4gMjU1LCAyNTUsIDI1NS4KKyAgICAgICAgVGhlIGxhc3Qgb3BlcmF0
aW9uIHBlcmZvcm1lZCBieSB0aGUgZnJhZ21lbnQgc2hhZGVyIGlzIGEgZGl2aXNpb24gb2YgdGhv
c2UgdmFsdWVzLCBhaW1lZCB0byBvYnRhaW4gYSBjb2xvciB2YWx1ZQorICAgICAgICAwIDwgY29s
b3IgPCAyNTUuCisKKyAgICAgICAgSWYgZGl2J3MgYmFja2dyb3VuZCBjb2xvciBpcyBhIHRvdGFs
IHdoaXRlOiB0aGUgdGVzdCBoYXMgZmFpbGVkICh0aGUgZmluYWwgY29sb3IgaXMgc3RpbGwgd2F5
IGFib3ZlIDI1NSwgMjU1LCAyNTUpLgorICAgICAgICBJZiBkaXYncyBiYWNrZ3JvdW5kIGNvbG9y
IGlzIDEyOCwgMTI4LCAxMjggKGEgbmljZSBncmF5OikpIHRoZSB0ZXN0IGhhcyBwYXNzZWQuCisg
ICAgLS0+CisKKyAgICA8ZGl2IGlkPSJsb25lbHlkaXYiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9jdXN0b20t
ZmlsdGVyLWNvbG9yLWNsYW1waW5nLW5lZ2F0aXZlLmZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3Jlc291cmNlcy9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5nLW5lZ2F0aXZlLmZzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFlMGU3ZTNmNTdmNjhiYWRjOWVmMGZlNTliZmM4MWFmOGM1MzIyOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1m
aWx0ZXItY29sb3ItY2xhbXBpbmctbmVnYXRpdmUuZnMKQEAgLTAsMCArMSwxMCBAQAorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZvaWQgbWFpbih2b2lkKQoreworICAgIGNzc19Db2xvck1h
dHJpeCA9IG1hdDQoLTEwLjAsIDAuMCwgMC4wLCAwLjAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLjAsIC0xMC4wLCAwLjAsIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAu
MCwgMC4wLCAtMTAuMCwgMC4wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCAwLjAs
IDAuMCwgMS4wKTsKKyAgICBjc3NfTWl4Q29sb3IgPSB2ZWM0KC0wLjUsIC0wLjUsIC0wLjUsIDEu
MCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1
c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmcuZnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmcuZnMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBl
ZWEwNzZjMzE0ZWQ4ZjgwMDQwMjBjOTM2YzI2NWUwZWViNGYzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvY3VzdG9tLWZpbHRlci1jb2xvci1j
bGFtcGluZy5mcwpAQCAtMCwwICsxLDEwIEBACitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwor
dm9pZCBtYWluKHZvaWQpCit7CisgICAgY3NzX0NvbG9yTWF0cml4ID0gbWF0NCgxMC4wLCAwLjAs
IDAuMCwgMC4wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCAxMC4wLCAwLjAsIDAu
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMC4wLCAxMC4wLCAwLjAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLjAsIDAuMCwgMC4wLCAxMC4wKTsKKyAgICBjc3NfTWl4
Q29sb3IgPSB2ZWM0KDAuNSwgMC41LCAwLjUsIDEuMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176312</attachid>
            <date>2012-11-27 11:53:13 -0800</date>
            <delta_ts>2012-11-30 10:48:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98962-20121127115050.patch</filename>
            <type>text/plain</type>
            <size>10990</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU2NjhmZWYxMDBjZjUz
ZDU5YTRjOTBmZDNkNTM0YzFmNzk3M2M1NS4uOGYyM2UxODNjZjgwZDEzMWFkNWYzM2UyMmQyNDI2
YzFmMWY2MmQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTI3ICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
W0NTUyBTaGFkZXJzXSBDbGFtcCBpbnB1dCBjb2xvcnMgYmVmb3JlIGJsZW5kaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZXN1bHQgb2YgY3Nz
X0NvbG9yTWF0cml4IG11bHRpcGxpY2F0aW9uIGlzIG5vdyBjbGFtcGVkIGluIFswLjAsIDEuMF0K
KyAgICAgICAgYmVmb3JlIHRoZSBibGVuZGluZyBzdGVwLgorCisgICAgICAgIFJlbGV2YW50IHNw
ZWMgc2VjdGlvbiBpczoKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL0ZYVEYvcmF3LWZp
bGUvdGlwL2ZpbHRlcnMvaW5kZXguaHRtbCNzaGFkZXItcHJvY2Vzc2luZy1tb2RlbAorCisgICAg
ICAgIFRlc3RzOiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBp
bmctbmVnYXRpdmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbG9yLWNsYW1waW5nLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpyZXdyaXRlTWl4RnJhZ21lbnRT
aGFkZXIpOiBBZGRlZCBjbGFtcGluZworICAgICAgICBjb2RlLgorCiAyMDEyLTExLTI3ICBSb2dl
ciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBzcGVjaWZp
YyBpbXBsZW1lbnRhdGlvbiBvZiB1c2VzVGlsZUNhY2hlTGF5ZXIgbmVlZGVkIGFmdGVyIHIxMzMw
NTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRl
eCA3MmFkOGZmNGMwMmYxNWJhMmUwMjFhNzU0MTBmOTQyMmFlYzYzY2Q0Li5jZjlkZWYxODI5ODZj
MTAyZWRhOGUwMTlkMTlhNDllMjBmYzdmMDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIEN1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW06OnJld3JpdGVNaXhGcmFnbWVudFNoYWRlcigpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGNzc19tYWluKCk7CiAgICAgICAgICAgICBtZWRpdW1wIHZlYzQgb3Jp
Z2luYWxDb2xvciA9IHRleHR1cmUyRChjc3NfdV90ZXh0dXJlLCBjc3Nfdl90ZXhDb29yZCk7Ci0g
ICAgICAgICAgICBtZWRpdW1wIHZlYzQgbXVsdGlwbGllZENvbG9yID0gY3NzX0NvbG9yTWF0cml4
ICogb3JpZ2luYWxDb2xvcjsKKyAgICAgICAgICAgIG1lZGl1bXAgdmVjNCBtdWx0aXBsaWVkQ29s
b3IgPSBjbGFtcChjc3NfQ29sb3JNYXRyaXggKiBvcmlnaW5hbENvbG9yLCAwLjAsIDEuMCk7CiAg
ICAgICAgICAgICBtZWRpdW1wIHZlYzMgYmxlbmRlZENvbG9yID0gY3NzX0JsZW5kQ29sb3IobXVs
dGlwbGllZENvbG9yLnJnYiwgY3NzX01peENvbG9yLnJnYik7CiAgICAgICAgICAgICBnbF9GcmFn
Q29sb3IgPSBjc3NfQ29tcG9zaXRlKG11bHRpcGxpZWRDb2xvci5yZ2IsIG11bHRpcGxpZWRDb2xv
ci5hLCBibGVuZGVkQ29sb3IucmdiLCBjc3NfTWl4Q29sb3IuYSk7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBhYjFmZGQ5MGM5ZjBlMTk5ZDhiM2JkODRiZTc0MDk2NWZiZjRjOWI3Li45YmE2MjYwYmYyYTg4
MWU1ZTNmMjc4YjI1YzdiY2ViNjQ4OWMxNWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTIt
MTEtMjcgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNoZWxhbmdlbG9Ad2Via2l0Lm9yZz4K
KworICAgICAgICBbQ1NTIFNoYWRlcnNdIENsYW1wIGlucHV0IGNvbG9ycyBiZWZvcmUgYmxlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0
byBjaGVjayB0aGUgY29ycmVjdCBjbGFtcGluZyBvZiBjb2xvciB2YWx1ZXMuCisKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29sb3ItY2xhbXBpbmctZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLWNvbG9yLWNsYW1waW5nLW5lZ2F0aXZlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci1jbGFtcGluZy1uZWdh
dGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1m
aWx0ZXItY29sb3ItY2xhbXBpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJz
L3Jlc291cmNlcy9jdXN0b20tZmlsdGVyLWNvbG9yLWNsYW1waW5nLW5lZ2F0aXZlLmZzOiBBZGRl
ZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY29sb3It
Y2xhbXBpbmcuZnM6IEFkZGVkLgorCiAyMDEyLTExLTI3ICBSb2dlciBGb25nICA8cm9nZXJfZm9u
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBv
ZiB1c2VzVGlsZUNhY2hlTGF5ZXIgbmVlZGVkIGFmdGVyIHIxMzMwNTYuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNv
bG9yLW1hdHJpeC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1tYXRyaXgtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNjZiNGUxZTE5Y2MwZTI5YjcyNWViYzI5NWRiNmI4YTIwY2Q5Y2RlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVy
LWNsYW1wLWNzcy1jb2xvci1tYXRyaXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjc3NfY29sb3JNYXRyaXggbXVsdGlw
bGljYXRpb24gcmVzdWx0IGlzIGNsYW1wZWQgdG8gMTwvdGl0bGU+CisgICAgPHN0eWxlPgorICAg
ICAgICAjbG9uZWx5ZGl2IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAg
ICAgICAgICAgIGJhY2tncm91bmQ6IHJnYig1MCUsIDUwJSwgNTAlKTsKKyAgICAgICAgfQorICAg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJsb25lbHlkaXYiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2N1c3RvbS9jdXN0b20tZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1tYXRyaXgtbmVnYXRpdmUtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1jbGFtcC1jc3MtY29sb3ItbWF0cml4LW5lZ2F0aXZlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzIzMmQ4YzQ4Y2YxYWFlM2U4MzdiODhjNWZjYWI0NjVmZjkyMzhmNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jbGFt
cC1jc3MtY29sb3ItbWF0cml4LW5lZ2F0aXZlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3NzX2NvbG9yTWF0cml4IG11
bHRpcGxpY2F0aW9uIHJlc3VsdCBpcyBjbGFtcGVkIHRvIDA8L3RpdGxlPgorICAgIDxzdHlsZT4K
KyAgICAgICAgI2xvbmVseWRpdiB7CisgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgMCwgMCk7CisgICAgICAgIH0KKyAgICA8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0ibG9uZWx5ZGl2Ij48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1jbGFtcC1jc3MtY29sb3ItbWF0cml4LW5lZ2F0aXZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3Nz
LWNvbG9yLW1hdHJpeC1uZWdhdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5ZjQ3MzU0M2VmNzcyYTgw
ZmI0NTMzZDU2MDQzYWU4Zjk2YmZjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNvbG9yLW1hdHJpeC1u
ZWdhdGl2ZS5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyB0aGF0IGNzc19jb2xvck1hdHJpeCBtdWx0aXBsaWNhdGlvbiByZXN1bHQgaXMgY2xhbXBl
ZCB0byAwPC90aXRsZT4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7
CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgLy8gV2UgbmVl
ZCB0byBydW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQuCisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHN0
eWxlPgorICAgICAgICAjbG9uZWx5ZGl2IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBi
bGFjazsKKyAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigyMCUsIDIwJSwgMjAlKTsKKyAgICAg
ICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
Y3VzdG9tLWZpbHRlci1jbGFtcC1jc3MtY29sb3ItbWF0cml4LW5lZ2F0aXZlLmZzJykgbXVsdGlw
bHkgc291cmNlLWF0b3ApKTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPCEtLQorICAgICAgICBMZXQ6CisgICAgICAgIGNs
YW1wKHZhbHVlKSA9IEEgZnVuY3Rpb24gdGhhdCBjbGFtcHMgdmFsdWVzIGJldHdlZW4gMC4wIGFu
ZCAxLjAKKyAgICAgICAgZWxlbWVudENvbG9yID0gdmVjNCgwLjIsIDAuMiwgMC4yLCAxLjApCisg
ICAgICAgIGNzc19Db2xvck1hdHJpeCA9IE1hdHJpeCB3aXRoIGRpYWdvbmFsICgtMTAuMCwgLTEw
LjAsIC0xMC4wLCAxLjApCisgICAgICAgIGNzc19NaXhDb2xvciA9IHZlYzQoLTAuNSwgLTAuNSwg
LTAuNSwgMS4wKQorCisgICAgICAgIENvcnJlY3QgY2xhbXBlZCByZXN1bHQ6CisgICAgICAgIHJl
c3VsdCA9IGNsYW1wKGNzc19Db2xvck1hdHJpeCAqIGVsZW1lbnRDb2xvcikgKiBjc3NfTWl4Q29s
b3IKKyAgICAgICAgcmVzdWx0LnIgPSBjbGFtcCgtMTAuMCAqIDAuMikgKiAwLjUKKyAgICAgICAg
cmVzdWx0LnIgPSBjbGFtcCgtMi4wKSAqIDAuNQorICAgICAgICByZXN1bHQuciA9IDAuMCAqIC0w
LjUKKyAgICAgICAgcmVzdWx0LnIgPSAwLjAKKyAgICAgICAgcmVzdWx0LnIgPSByZXN1bHQuZyA9
IHJlc3VsdC5iID0+IGJsYWNrCisKKyAgICAgICAgSW5jb3JyZWN0IHVuY2xhbXBlZCByZXN1bHQ6
CisgICAgICAgIHJlc3VsdCA9IChjc3NfQ29sb3JNYXRyaXggKiBlbGVtZW50Q29sb3IpICogY3Nz
X01peENvbG9yCisgICAgICAgIHJlc3VsdC5yID0gKC0xMC4wICogMC4yKSAqIDAuNQorICAgICAg
ICByZXN1bHQuciA9IC0yLjAgKiAtMC41CisgICAgICAgIHJlc3VsdC5yID0gMS4wCisgICAgICAg
IHJlc3VsdC5yID0gcmVzdWx0LmcgPSByZXN1bHQuYiA9PiB3aGl0ZQorICAgIC0tPgorICAgIDxk
aXYgaWQ9ImxvbmVseWRpdiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNv
bG9yLW1hdHJpeC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1tYXRyaXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTE2MGE4N2Rj
ZWIxYTcyNTExODNkNDBkYzExYWY3NWYyMzc5ZWZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1t
YXRyaXguaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sIGxhbmc9
ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVz
dHMgdGhhdCBjc3NfY29sb3JNYXRyaXggbXVsdGlwbGljYXRpb24gcmVzdWx0IGlzIGNsYW1wZWQg
dG8gMTwvdGl0bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwor
ICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIC8vIFdlIG5lZWQg
dG8gcnVuIHRoZSB0ZXN0cyBhZnRlciB0aGUgZG93bmxvYWRpbmcgc3VjY2VlZGVkLgorICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzdHls
ZT4KKyAgICAgICAgI2xvbmVseWRpdiB7CisgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxh
Y2s7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjAlLCAyMCUsIDIwJSk7CisgICAgICAg
ICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2N1
c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNvbG9yLW1hdHJpeC5mcycpIG11bHRpcGx5IHNvdXJjZS1h
dG9wKSk7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorICAgIDwhLS0KKyAgICAgICAgTGV0OgorICAgICAgICBjbGFtcCh2YWx1ZSkg
PSBBIGZ1bmN0aW9uIHRoYXQgY2xhbXBzIHZhbHVlcyBiZXR3ZWVuIDAuMCBhbmQgMS4wCisgICAg
ICAgIGVsZW1lbnRDb2xvciA9IHZlYzQoMC4yLCAwLjIsIDAuMiwgMS4wKQorICAgICAgICBjc3Nf
Q29sb3JNYXRyaXggPSBNYXRyaXggd2l0aCBkaWFnb25hbCAoMTAuMCwgMTAuMCwgMTAuMCwgMTAu
MCkKKyAgICAgICAgY3NzX01peENvbG9yID0gdmVjNCgwLjUsIDAuNSwgMC41LCAxLjApCisKKyAg
ICAgICAgQ29ycmVjdCBjbGFtcGVkIHJlc3VsdDoKKyAgICAgICAgcmVzdWx0ID0gY2xhbXAoY3Nz
X0NvbG9yTWF0cml4ICogZWxlbWVudENvbG9yKSAqIGNzc19NaXhDb2xvcgorICAgICAgICByZXN1
bHQuciA9IGNsYW1wKDEwLjAgKiAwLjIpICogMC41CisgICAgICAgIHJlc3VsdC5yID0gY2xhbXAo
Mi4wKSAqIDAuNQorICAgICAgICByZXN1bHQuciA9IDEuMCAqIDAuNQorICAgICAgICByZXN1bHQu
ciA9IDAuNQorICAgICAgICByZXN1bHQuciA9IHJlc3VsdC5nID0gcmVzdWx0LmIgPT4gZ3JheQor
CisgICAgICAgIEluY29ycmVjdCB1bmNsYW1wZWQgcmVzdWx0OgorICAgICAgICByZXN1bHQgPSAo
Y3NzX0NvbG9yTWF0cml4ICogZWxlbWVudENvbG9yKSAqIGNzc19NaXhDb2xvcgorICAgICAgICBy
ZXN1bHQuciA9ICgxMC4wICogMC4yKSAqIDAuNQorICAgICAgICByZXN1bHQuciA9IDIuMCAqIDAu
NQorICAgICAgICByZXN1bHQuciA9IDEuMAorICAgICAgICByZXN1bHQuciA9IHJlc3VsdC5nID0g
cmVzdWx0LmIgPT4gd2hpdGUKKyAgICAtLT4KKyAgICA8ZGl2IGlkPSJsb25lbHlkaXYiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L3Jlc291cmNlcy9jdXN0b20tZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1tYXRyaXgtbmVnYXRpdmUu
ZnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY2xh
bXAtY3NzLWNvbG9yLW1hdHJpeC1uZWdhdGl2ZS5mcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTBlN2UzZjU3ZjY4
YmFkYzllZjBmZTU5YmZjODFhZjhjNTMyMjhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9jdXN0b20tZmlsdGVyLWNsYW1wLWNzcy1jb2xvci1t
YXRyaXgtbmVnYXRpdmUuZnMKQEAgLTAsMCArMSwxMCBAQAorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisKK3ZvaWQgbWFpbih2b2lkKQoreworICAgIGNzc19Db2xvck1hdHJpeCA9IG1hdDQoLTEw
LjAsIDAuMCwgMC4wLCAwLjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAsIC0xMC4w
LCAwLjAsIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMC4wLCAtMTAuMCwg
MC4wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCAwLjAsIDAuMCwgMS4wKTsKKyAg
ICBjc3NfTWl4Q29sb3IgPSB2ZWM0KC0wLjUsIC0wLjUsIC0wLjUsIDEuMCk7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY2xh
bXAtY3NzLWNvbG9yLW1hdHJpeC5mcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvY3VzdG9tLWZpbHRlci1jbGFtcC1jc3MtY29sb3ItbWF0cml4LmZzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAw
ZWVhMDc2YzMxNGVkOGY4MDA0MDIwYzkzNmMyNjVlMGVlYjRmMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2N1c3RvbS1maWx0ZXItY2xhbXAt
Y3NzLWNvbG9yLW1hdHJpeC5mcwpAQCAtMCwwICsxLDEwIEBACitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordm9pZCBtYWluKHZvaWQpCit7CisgICAgY3NzX0NvbG9yTWF0cml4ID0gbWF0NCgx
MC4wLCAwLjAsIDAuMCwgMC4wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCAxMC4w
LCAwLjAsIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMC4wLCAxMC4wLCAw
LjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAsIDAuMCwgMC4wLCAxMC4wKTsKKyAg
ICBjc3NfTWl4Q29sb3IgPSB2ZWM0KDAuNSwgMC41LCAwLjUsIDEuMCk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>