<?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>68588</bug_id>
          
          <creation_ts>2011-09-21 17:23:57 -0700</creation_ts>
          <short_desc>[CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn&apos;t get optimized out</short_desc>
          <delta_ts>2011-09-21 19:03:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>471291</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 17:23:57 -0700</bug_when>
    <thetext>The test of &quot;unmultiplied&quot; inside the inner loop of ImageBufferData::getData is unnecessary; unmultiplied won&apos;t change during the course of this calculation.

I would have expected this to be optimized out by the compiler, but this patch provides a consistent and reproducible 1.7x speedup (visible with Instruments) in ImageBufferData::getData in the not-unmultiplied case with the attached test case (requires filters to be turned on).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471292</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-09-21 17:24:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/10164955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471295</commentid>
    <comment_count>2</comment_count>
      <attachid>108257</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 17:29:11 -0700</bug_when>
    <thetext>Created attachment 108257
&quot;repro&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471297</commentid>
    <comment_count>3</comment_count>
      <attachid>108259</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 17:29:39 -0700</bug_when>
    <thetext>Created attachment 108259
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471298</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-21 17:32:31 -0700</bug_when>
    <thetext>Attachment 108259 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp:195:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471299</commentid>
    <comment_count>5</comment_count>
      <attachid>108260</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 17:35:42 -0700</bug_when>
    <thetext>Created attachment 108260
style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471300</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 17:36:11 -0700</bug_when>
    <thetext>I should note that I was testing this on a release build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471309</commentid>
    <comment_count>7</comment_count>
      <attachid>108263</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-21 18:07:49 -0700</bug_when>
    <thetext>Created attachment 108263
patch

Mark noted that with this patch, I&apos;m not assigning any data in the case of 0 alpha. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471316</commentid>
    <comment_count>8</comment_count>
      <attachid>108263</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-21 18:38:51 -0700</bug_when>
    <thetext>Comment on attachment 108263
patch

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

This code grows more and more unwieldy with each change.

&gt; Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp:195
&gt; +                    reinterpret_cast&lt;uint32_t*&gt;(destRows + x)[0] = reinterpret_cast&lt;uint32_t*&gt;(srcRows + x)[0];

Can this be a memcpy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471319</commentid>
    <comment_count>9</comment_count>
      <attachid>108263</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-21 19:03:36 -0700</bug_when>
    <thetext>Comment on attachment 108263
patch

Clearing flags on attachment: 108263

Committed r95695: &lt;http://trac.webkit.org/changeset/95695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471320</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-21 19:03:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>108257</attachid>
            <date>2011-09-21 17:29:11 -0700</date>
            <delta_ts>2011-09-21 17:29:11 -0700</delta_ts>
            <desc>&quot;repro&quot;</desc>
            <filename>testFEGaussianBlur.svg</filename>
            <type>image/svg+xml</type>
            <size>732</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCiJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9T
VkcvMS4xL0RURC9zdmcxMS5kdGQiPgoKPHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2
ZXJzaW9uPSIxLjEiCnhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgo8ZGVmcz4K
PGZpbHRlciBpZD0iR2F1c3NpYW5fQmx1ciI+CjxmZUdhdXNzaWFuQmx1ciBpbj0iU291cmNlR3Jh
cGhpYyIgc3RkRGV2aWF0aW9uPSI0MCIvPgo8L2ZpbHRlcj4KPC9kZWZzPgoKPGVsbGlwc2UgY3g9
IjM0MCIgY3k9IjM0MCIgcng9IjAiIHJ5PSI0MCIgZmlsdGVyPSJ1cmwoI0dhdXNzaWFuX0JsdXIp
Ij4KPGFuaW1hdGVDb2xvciBhdHRyaWJ1dGVOYW1lPSJmaWxsIiAKICAgICAgICAgZnJvbT0icmVk
IiB0bz0iYmx1ZSIgZHVyPSIwLjAxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+Cjxhbmlt
YXRlIGF0dHJpYnV0ZU5hbWU9InJ4IiAKICAgICAgICAgZnJvbT0iNTk5IiB0bz0iNjAwIiBkdXI9
IjAuMDFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KPGFuaW1hdGUgaWQ9ImFuaW0iIGF0
dHJpYnV0ZU5hbWU9InJ5IiAKICAgICAgICAgZnJvbT0iNTk5IiB0bz0iNjAwIiBkdXI9IjAuMDFz
IiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KPC9lbGxpcHNlPgoKPC9zdmc+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108259</attachid>
            <date>2011-09-21 17:29:39 -0700</date>
            <delta_ts>2011-09-21 17:35:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>ibd.patch</filename>
            <type>text/plain</type>
            <size>5448</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NDM4Y2FkLi40ZGQ1MzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDktMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NHXSBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEgaGFzIGFuIGludmFyaWFudCBj
b21wYXJpc29uIGluIHRoZSBpbm5lciBwYXJ0IG9mIGEgbG9vcCB3aGljaCBkb2Vzbid0IGdldCBv
cHRpbWl6ZWQgb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODU4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAxNjQ5NTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmFjdG9yIHRoZSB1bm11bHRp
cGxpZWQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wLCByZXN1bHRpbmcgaW4gYQorICAgICAg
ICBzcGVlZCBidW1wIGluIEltYWdlQnVmZmVyRGF0YTo6Z2V0RGF0YS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VCdWZmZXJEYXRhOjpnZXREYXRhKToKKwogMjAxMS0wOS0yMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmUgcGFydCBvZjogUHJldmVudCB0aGUgV2Vi
S2l0IGZyYW1ld29ya3MgZnJvbSBkZWZpbmluZyBpbmFwcHJvcHJpYXRlbHktbmFtZWQgT2JqZWN0
aXZlLUMgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwCmluZGV4IDA4NjUyYzkuLmY1NzRkYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
RGF0YUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckRhdGFDRy5jcHAKQEAgLTE3MywyMCArMTczLDI5IEBAIFBhc3NSZWZQdHI8Qnl0ZUFy
cmF5PiBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3Qg
SW50U2l6CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKICAgICAgICAgfQog
I2VuZGlmCi0gICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKLSAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewotICAgICAgICAgICAgICAg
IGludCBiYXNleCA9IHggKiA0OwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEg
PSBzcmNSb3dzW2Jhc2V4ICsgM107Ci0gICAgICAgICAgICAgICAgaWYgKHVubXVsdGlwbGllZCAm
JiBhbHBoYSkgewotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0gPSAoc3JjUm93
c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jh
c2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFdICogMjU1KSAvIGFscGhhOwotICAgICAgICAg
ICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gKHNyY1Jvd3NbYmFzZXggKyAyXSAqIDI1
NSkgLyBhbHBoYTsKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IGFs
cGhhOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICByZWludGVy
cHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdFJvd3MgKyBiYXNleClbMF0gPSByZWludGVycHJldF9j
YXN0PHVpbnQzMl90Kj4oc3JjUm93cyArIGJhc2V4KVswXTsKKyAgICAgICAgaWYgKHVubXVsdGlw
bGllZCkgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewor
ICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAg
ICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKKyAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGFscGhhKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0g
PSAoc3JjUm93c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkZXN0Um93c1tiYXNleCArIDFdID0gKHNyY1Jvd3NbYmFzZXggKyAxXSAqIDI1NSkgLyBhbHBo
YTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgMl0gPSAoc3JjUm93
c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dFJvd3NbYmFzZXggKyAzXSA9IGFscGhhOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJSb3c7Cisg
ICAgICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OworICAgICAgICAgICAg
fQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWln
aHQ7ICsreSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGggKiA0
OyB4ICs9IDQpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50MzJf
dCo+KGRlc3RSb3dzICsgeClbMF0gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oc3JjUm93
cyArIHgpWzBdOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzcmNSb3dzICs9
IHNyY0J5dGVzUGVyUm93OworICAgICAgICAgICAgICAgIGRlc3RSb3dzICs9IGRlc3RCeXRlc1Bl
clJvdzsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJS
b3c7Ci0gICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0ZXNQZXJSb3c7CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgewogI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUpCkBA
IC0yMjMsMjQgKzIzMiwzMyBAQCBQYXNzUmVmUHRyPEJ5dGVBcnJheT4gSW1hZ2VCdWZmZXJEYXRh
OjpnZXREYXRhKGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IEludFNpegogICAgICAgICAgICAg
dkltYWdlUGVybXV0ZUNoYW5uZWxzX0FSR0I4ODg4KCZzcmMsICZkZXN0LCBtYXAsIGt2SW1hZ2VO
b0ZsYWdzKTsKICAgICAgICAgfQogI2Vsc2UKLSAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgewotICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsr
KSB7Ci0gICAgICAgICAgICAgICAgaW50IGJhc2V4ID0geCAqIDQ7Ci0gICAgICAgICAgICAgICAg
dW5zaWduZWQgY2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKLSAgICAgICAgICAgICAg
ICBpZiAodW5tdWx0aXBsaWVkICYmIGFscGhhKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RS
b3dzW2Jhc2V4XSA9IChzcmNSb3dzW2Jhc2V4ICsgMl0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAg
ICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFdICog
MjU1KSAvIGFscGhhOwotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0g
KHNyY1Jvd3NbYmFzZXhdICogMjU1KSAvIGFscGhhOwotICAgICAgICAgICAgICAgICAgICBkZXN0
Um93c1tiYXNleCArIDNdID0gYWxwaGE7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKHVubXVsdGlwbGllZCkgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7
IHgrKykgeworICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKKyAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGFscGhhKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBk
ZXN0Um93c1tiYXNleF0gPSAoc3JjUm93c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOworICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAxXSA9IChzcmNSb3dzW2Jhc2V4
ICsgMV0gKiAyNTUpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1ti
YXNleCArIDJdID0gKHNyY1Jvd3NbYmFzZXhdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAg
ICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IGFscGhhOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3Jj
Qnl0ZXNQZXJSb3c7CisgICAgICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93
OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChpbnQg
eSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAw
OyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICog
NDsKICAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXhdID0gc3JjUm93c1tiYXNleCAr
IDJdOwogICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDFdID0gc3JjUm93c1ti
YXNleCArIDFdOwogICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gc3Jj
Um93c1tiYXNleF07Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgM10gPSBh
bHBoYTsKKyAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IHNyY1Jvd3Nb
YmFzZXggKyAzXTsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3JjUm93cyAr
PSBzcmNCeXRlc1BlclJvdzsKKyAgICAgICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0ZXNQ
ZXJSb3c7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVzUGVy
Um93OwotICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OwogICAgICAgICB9
CiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEUpCiAgICAgICAgIElPU3VyZmFjZVVubG9jayhzdXJm
YWNlLCBrSU9TdXJmYWNlTG9ja1JlYWRPbmx5LCAwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108260</attachid>
            <date>2011-09-21 17:35:42 -0700</date>
            <delta_ts>2011-09-21 18:07:49 -0700</delta_ts>
            <desc>style fix</desc>
            <filename>ibd.patch</filename>
            <type>text/plain</type>
            <size>5427</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NDM4Y2FkLi40ZGQ1MzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDktMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NHXSBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEgaGFzIGFuIGludmFyaWFudCBj
b21wYXJpc29uIGluIHRoZSBpbm5lciBwYXJ0IG9mIGEgbG9vcCB3aGljaCBkb2Vzbid0IGdldCBv
cHRpbWl6ZWQgb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODU4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAxNjQ5NTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmFjdG9yIHRoZSB1bm11bHRp
cGxpZWQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wLCByZXN1bHRpbmcgaW4gYQorICAgICAg
ICBzcGVlZCBidW1wIGluIEltYWdlQnVmZmVyRGF0YTo6Z2V0RGF0YS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VCdWZmZXJEYXRhOjpnZXREYXRhKToKKwogMjAxMS0wOS0yMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmUgcGFydCBvZjogUHJldmVudCB0aGUgV2Vi
S2l0IGZyYW1ld29ya3MgZnJvbSBkZWZpbmluZyBpbmFwcHJvcHJpYXRlbHktbmFtZWQgT2JqZWN0
aXZlLUMgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwCmluZGV4IDA4NjUyYzkuLjA4MTdlMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
RGF0YUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckRhdGFDRy5jcHAKQEAgLTE3MywyMCArMTczLDI4IEBAIFBhc3NSZWZQdHI8Qnl0ZUFy
cmF5PiBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3Qg
SW50U2l6CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKICAgICAgICAgfQog
I2VuZGlmCi0gICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKLSAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewotICAgICAgICAgICAgICAg
IGludCBiYXNleCA9IHggKiA0OwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEg
PSBzcmNSb3dzW2Jhc2V4ICsgM107Ci0gICAgICAgICAgICAgICAgaWYgKHVubXVsdGlwbGllZCAm
JiBhbHBoYSkgewotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0gPSAoc3JjUm93
c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jh
c2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFdICogMjU1KSAvIGFscGhhOwotICAgICAgICAg
ICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gKHNyY1Jvd3NbYmFzZXggKyAyXSAqIDI1
NSkgLyBhbHBoYTsKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IGFs
cGhhOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICByZWludGVy
cHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdFJvd3MgKyBiYXNleClbMF0gPSByZWludGVycHJldF9j
YXN0PHVpbnQzMl90Kj4oc3JjUm93cyArIGJhc2V4KVswXTsKKyAgICAgICAgaWYgKHVubXVsdGlw
bGllZCkgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewor
ICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAg
ICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKKyAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGFscGhhKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0g
PSAoc3JjUm93c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkZXN0Um93c1tiYXNleCArIDFdID0gKHNyY1Jvd3NbYmFzZXggKyAxXSAqIDI1NSkgLyBhbHBo
YTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgMl0gPSAoc3JjUm93
c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dFJvd3NbYmFzZXggKyAzXSA9IGFscGhhOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJSb3c7Cisg
ICAgICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OworICAgICAgICAgICAg
fQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWln
aHQ7ICsreSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGggKiA0
OyB4ICs9IDQpCisgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Qq
PihkZXN0Um93cyArIHgpWzBdID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KHNyY1Jvd3Mg
KyB4KVswXTsKKyAgICAgICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVzUGVyUm93OworICAg
ICAgICAgICAgICAgIGRlc3RSb3dzICs9IGRlc3RCeXRlc1BlclJvdzsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJSb3c7Ci0gICAgICAgICAgICBkZXN0
Um93cyArPSBkZXN0Qnl0ZXNQZXJSb3c7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewogI2lmIFVT
RShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUpCkBAIC0yMjMsMjQgKzIzMSwzMyBAQCBQ
YXNzUmVmUHRyPEJ5dGVBcnJheT4gSW1hZ2VCdWZmZXJEYXRhOjpnZXREYXRhKGNvbnN0IEludFJl
Y3QmIHJlY3QsIGNvbnN0IEludFNpegogICAgICAgICAgICAgdkltYWdlUGVybXV0ZUNoYW5uZWxz
X0FSR0I4ODg4KCZzcmMsICZkZXN0LCBtYXAsIGt2SW1hZ2VOb0ZsYWdzKTsKICAgICAgICAgfQog
I2Vsc2UKLSAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewotICAgICAg
ICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7Ci0gICAgICAgICAgICAgICAg
aW50IGJhc2V4ID0geCAqIDQ7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBhbHBoYSA9
IHNyY1Jvd3NbYmFzZXggKyAzXTsKLSAgICAgICAgICAgICAgICBpZiAodW5tdWx0aXBsaWVkICYm
IGFscGhhKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4XSA9IChzcmNSb3dz
W2Jhc2V4ICsgMl0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dz
W2Jhc2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFdICogMjU1KSAvIGFscGhhOwotICAgICAg
ICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gKHNyY1Jvd3NbYmFzZXhdICogMjU1
KSAvIGFscGhhOwotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDNdID0gYWxw
aGE7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHVubXVsdGlwbGllZCkg
eworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgeworICAgICAg
ICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAg
ICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGFscGhhKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0gPSAoc3Jj
Um93c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzdFJvd3NbYmFzZXggKyAxXSA9IChzcmNSb3dzW2Jhc2V4ICsgMV0gKiAyNTUpIC8gYWxwaGE7
CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gKHNyY1Jvd3Nb
YmFzZXhdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3Nb
YmFzZXggKyAzXSA9IGFscGhhOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJSb3c7CisgICAgICAg
ICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OworICAgICAgICAgICAgfQorICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsr
eSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewor
ICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKICAgICAgICAgICAgICAgICAg
ICAgZGVzdFJvd3NbYmFzZXhdID0gc3JjUm93c1tiYXNleCArIDJdOwogICAgICAgICAgICAgICAg
ICAgICBkZXN0Um93c1tiYXNleCArIDFdID0gc3JjUm93c1tiYXNleCArIDFdOwogICAgICAgICAg
ICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gc3JjUm93c1tiYXNleF07Ci0gICAgICAg
ICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgM10gPSBhbHBoYTsKKyAgICAgICAgICAgICAg
ICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgc3JjUm93cyArPSBzcmNCeXRlc1BlclJvdzsKKyAg
ICAgICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0ZXNQZXJSb3c7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVzUGVyUm93OwotICAgICAgICAgICAgZGVz
dFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OwogICAgICAgICB9CiAjZW5kaWYgLy8gVVNFKEFDQ0VM
RVJBVEUpCiAgICAgICAgIElPU3VyZmFjZVVubG9jayhzdXJmYWNlLCBrSU9TdXJmYWNlTG9ja1Jl
YWRPbmx5LCAwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108263</attachid>
            <date>2011-09-21 18:07:49 -0700</date>
            <delta_ts>2011-09-21 19:03:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>ibd.patch</filename>
            <type>text/plain</type>
            <size>5847</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NDM4Y2FkLi40ZGQ1MzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDktMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NHXSBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEgaGFzIGFuIGludmFyaWFudCBj
b21wYXJpc29uIGluIHRoZSBpbm5lciBwYXJ0IG9mIGEgbG9vcCB3aGljaCBkb2Vzbid0IGdldCBv
cHRpbWl6ZWQgb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODU4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAxNjQ5NTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmFjdG9yIHRoZSB1bm11bHRp
cGxpZWQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wLCByZXN1bHRpbmcgaW4gYQorICAgICAg
ICBzcGVlZCBidW1wIGluIEltYWdlQnVmZmVyRGF0YTo6Z2V0RGF0YS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VCdWZmZXJEYXRhOjpnZXREYXRhKToKKwogMjAxMS0wOS0yMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmUgcGFydCBvZjogUHJldmVudCB0aGUgV2Vi
S2l0IGZyYW1ld29ya3MgZnJvbSBkZWZpbmluZyBpbmFwcHJvcHJpYXRlbHktbmFtZWQgT2JqZWN0
aXZlLUMgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwCmluZGV4IDA4NjUyYzkuLjBkMmUxNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
RGF0YUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckRhdGFDRy5jcHAKQEAgLTE3MywyMCArMTczLDI5IEBAIFBhc3NSZWZQdHI8Qnl0ZUFy
cmF5PiBJbWFnZUJ1ZmZlckRhdGE6OmdldERhdGEoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3Qg
SW50U2l6CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKICAgICAgICAgfQog
I2VuZGlmCi0gICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKLSAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewotICAgICAgICAgICAgICAg
IGludCBiYXNleCA9IHggKiA0OwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEg
PSBzcmNSb3dzW2Jhc2V4ICsgM107Ci0gICAgICAgICAgICAgICAgaWYgKHVubXVsdGlwbGllZCAm
JiBhbHBoYSkgewotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0gPSAoc3JjUm93
c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jh
c2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFdICogMjU1KSAvIGFscGhhOwotICAgICAgICAg
ICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gKHNyY1Jvd3NbYmFzZXggKyAyXSAqIDI1
NSkgLyBhbHBoYTsKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IGFs
cGhhOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICByZWludGVy
cHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdFJvd3MgKyBiYXNleClbMF0gPSByZWludGVycHJldF9j
YXN0PHVpbnQzMl90Kj4oc3JjUm93cyArIGJhc2V4KVswXTsKKyAgICAgICAgaWYgKHVubXVsdGlw
bGllZCkgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewor
ICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAg
ICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICogNDsKKyAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciBhbHBoYSA9IHNyY1Jvd3NbYmFzZXggKyAzXTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGFscGhhKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleF0g
PSAoc3JjUm93c1tiYXNleF0gKiAyNTUpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkZXN0Um93c1tiYXNleCArIDFdID0gKHNyY1Jvd3NbYmFzZXggKyAxXSAqIDI1NSkgLyBhbHBo
YTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgMl0gPSAoc3JjUm93
c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dFJvd3NbYmFzZXggKyAzXSA9IGFscGhhOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihkZXN0Um93
cyArIGJhc2V4KVswXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihzcmNSb3dzICsgYmFz
ZXgpWzBdOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzcmNSb3dzICs9IHNy
Y0J5dGVzUGVyUm93OworICAgICAgICAgICAgICAgIGRlc3RSb3dzICs9IGRlc3RCeXRlc1BlclJv
dzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAoaW50
IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGludCB4ID0g
MDsgeCA8IHdpZHRoICogNDsgeCArPSA0KQorICAgICAgICAgICAgICAgICAgICByZWludGVycHJl
dF9jYXN0PHVpbnQzMl90Kj4oZGVzdFJvd3MgKyB4KVswXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dDMyX3QqPihzcmNSb3dzICsgeClbMF07CisgICAgICAgICAgICAgICAgc3JjUm93cyArPSBzcmNC
eXRlc1BlclJvdzsKKyAgICAgICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0ZXNQZXJSb3c7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVzUGVyUm93Owot
ICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OwogICAgICAgICB9CiAgICAg
fSBlbHNlIHsKICNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQpAQCAtMjIz
LDI0ICsyMzIsMzggQEAgUGFzc1JlZlB0cjxCeXRlQXJyYXk+IEltYWdlQnVmZmVyRGF0YTo6Z2V0
RGF0YShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRTaXoKICAgICAgICAgICAgIHZJbWFn
ZVBlcm11dGVDaGFubmVsc19BUkdCODg4OCgmc3JjLCAmZGVzdCwgbWFwLCBrdkltYWdlTm9GbGFn
cyk7CiAgICAgICAgIH0KICNlbHNlCi0gICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0
OyArK3kpIHsKLSAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewot
ICAgICAgICAgICAgICAgIGludCBiYXNleCA9IHggKiA0OwotICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgYWxwaGEgPSBzcmNSb3dzW2Jhc2V4ICsgM107Ci0gICAgICAgICAgICAgICAgaWYg
KHVubXVsdGlwbGllZCAmJiBhbHBoYSkgewotICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1ti
YXNleF0gPSAoc3JjUm93c1tiYXNleCArIDJdICogMjU1KSAvIGFscGhhOwotICAgICAgICAgICAg
ICAgICAgICBkZXN0Um93c1tiYXNleCArIDFdID0gKHNyY1Jvd3NbYmFzZXggKyAxXSAqIDI1NSkg
LyBhbHBoYTsKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAyXSA9IChzcmNS
b3dzW2Jhc2V4XSAqIDI1NSkgLyBhbHBoYTsKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3Nb
YmFzZXggKyAzXSA9IGFscGhhOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgIGlm
ICh1bm11bHRpcGxpZWQpIHsKKyAgICAgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0
OyArK3kpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4Kysp
IHsKKyAgICAgICAgICAgICAgICAgICAgaW50IGJhc2V4ID0geCAqIDQ7CisgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEgPSBzcmNSb3dzW2Jhc2V4ICsgM107CisgICAgICAg
ICAgICAgICAgICAgIGlmIChhbHBoYSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZGVzdFJv
d3NbYmFzZXhdID0gKHNyY1Jvd3NbYmFzZXggKyAyXSAqIDI1NSkgLyBhbHBoYTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgMV0gPSAoc3JjUm93c1tiYXNleCArIDFd
ICogMjU1KSAvIGFscGhhOworICAgICAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXgg
KyAyXSA9IChzcmNSb3dzW2Jhc2V4XSAqIDI1NSkgLyBhbHBoYTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgM10gPSBhbHBoYTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4XSA9IHNyY1Jv
d3NbYmFzZXggKyAyXTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsg
MV0gPSBzcmNSb3dzW2Jhc2V4ICsgMV07CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0Um93
c1tiYXNleCArIDJdID0gc3JjUm93c1tiYXNleF07CisgICAgICAgICAgICAgICAgICAgICAgICBk
ZXN0Um93c1tiYXNleCArIDNdID0gc3JjUm93c1tiYXNleCArIDNdOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3Jj
Qnl0ZXNQZXJSb3c7CisgICAgICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93
OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChpbnQg
eSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAw
OyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZXggPSB4ICog
NDsKICAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXhdID0gc3JjUm93c1tiYXNleCAr
IDJdOwogICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDFdID0gc3JjUm93c1ti
YXNleCArIDFdOwogICAgICAgICAgICAgICAgICAgICBkZXN0Um93c1tiYXNleCArIDJdID0gc3Jj
Um93c1tiYXNleF07Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSb3dzW2Jhc2V4ICsgM10gPSBh
bHBoYTsKKyAgICAgICAgICAgICAgICAgICAgZGVzdFJvd3NbYmFzZXggKyAzXSA9IHNyY1Jvd3Nb
YmFzZXggKyAzXTsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3JjUm93cyAr
PSBzcmNCeXRlc1BlclJvdzsKKyAgICAgICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0ZXNQ
ZXJSb3c7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVzUGVy
Um93OwotICAgICAgICAgICAgZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OwogICAgICAgICB9
CiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEUpCiAgICAgICAgIElPU3VyZmFjZVVubG9jayhzdXJm
YWNlLCBrSU9TdXJmYWNlTG9ja1JlYWRPbmx5LCAwKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>