<?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>3674</bug_id>
          
          <creation_ts>2005-06-23 03:10:19 -0700</creation_ts>
          <short_desc>GW: Add CGPoint and other small fixes to KWQPoint*</short_desc>
          <delta_ts>2005-07-06 23:40:22 -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>New Bugs</component>
          <version>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>3250</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12910</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-06-23 03:10:19 -0700</bug_when>
    <thetext>Add CGPoint and other small fixes to KWQPoint*

including adding:
QPoint::setX(int)
QPoint::setY(int)
QPoint::isNull()

QPointArray::QPointArray(QRect)
QPointArray::boundingRect()
QPointArray::copy()
QPointArray::point(int, int *, int *)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12911</commentid>
    <comment_count>1</comment_count>
      <attachid>2578</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-06-23 03:12:01 -0700</bug_when>
    <thetext>Created attachment 2578
Adds CGPoint support, as well as various other small fixes

Please pardon the few additional white-space changes.  I ran a &quot;re-indent&quot;
command over the entire file to replace tabs w/ spaces... it added a few spaces
where there were not before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12924</commentid>
    <comment_count>2</comment_count>
      <attachid>2578</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-23 07:19:24 -0700</bug_when>
    <thetext>Comment on attachment 2578
Adds CGPoint support, as well as various other small fixes

The operator * implementation does not match our coding style. The &quot;{&quot; should
be on a second line.

The implementation of isNull() has some extra punctuation and spaces in it.
Should just be &quot;return xCoord == 0 &amp;&amp; yCoord == 0;&quot;.

There are extra spaces in the setPoints call inside the QPointArray constructor
that takes a QRect. I know that matches the existing constructor, but it does
not match our coding cuidelines.

In QPointArray::copy, it would be better to use a static_cast rather than a
C-style cast.

The boundingRect and point functions have the &quot;{&quot; o the same line as the
function declaration, but it should be on the next line.

The call to QMemArray&lt;QPoint&gt;::at(index) inside QPointArray::point, should just
be a call to at(index).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12986</commentid>
    <comment_count>3</comment_count>
      <attachid>2604</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-06-23 12:49:30 -0700</bug_when>
    <thetext>Created attachment 2604
Formatting oversights now fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13018</commentid>
    <comment_count>4</comment_count>
      <attachid>2604</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-23 22:57:42 -0700</bug_when>
    <thetext>Comment on attachment 2604
Formatting oversights now fixed.

Forward declaration of class QRect should be at the top of the file.

No space after &quot;-=&quot; in operator -= declaration.

When importing things in the KWQ directory, don&apos;t use forwarding headers. Hence
it should be:

    #import &quot;KWQRect.h&quot;

Otherwise, looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13538</commentid>
    <comment_count>5</comment_count>
      <attachid>2713</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-06-30 03:21:17 -0700</bug_when>
    <thetext>Created attachment 2713
addressed Darin&apos;s concerns</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14022</commentid>
    <comment_count>6</comment_count>
    <who name="Maks Orlovich">maksim</who>
    <bug_when>2005-07-05 12:12:22 -0700</bug_when>
    <thetext>Is it just me, or does this never use minX &gt; 0, minY &gt; 0 for the top-left 
corner of the rectangle?  
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14033</commentid>
    <comment_count>7</comment_count>
      <attachid>2824</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-07-05 17:21:14 -0700</bug_when>
    <thetext>Created attachment 2824
Addressed SadEagle&apos;s boundingRect() concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14034</commentid>
    <comment_count>8</comment_count>
      <attachid>2713</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-07-05 17:22:57 -0700</bug_when>
    <thetext>Comment on attachment 2713
addressed Darin&apos;s concerns

Replaced patch to fix SadEagle&apos;s boundingRect() concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14084</commentid>
    <comment_count>9</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-07-06 22:23:12 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2578</attachid>
            <date>2005-06-23 03:12:01 -0700</date>
            <delta_ts>2005-06-23 12:49:30 -0700</delta_ts>
            <desc>Adds CGPoint support, as well as various other small fixes</desc>
            <filename>qpoint.patch</filename>
            <type>text/plain</type>
            <size>4426</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUVBvaW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FQb2ludC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXAgLXUgLXIx
LjkgS1dRUG9pbnQubW0KLS0tIEtXUVBvaW50Lm1tCTIwMDQvMDUvMDQgMTY6Mjk6NTAJMS45Cisr
KyBLV1FQb2ludC5tbQkyMDA1LzA2LzIzIDEwOjA2OjI2CkBAIC00Miw2ICs0MiwxMSBAQCBRUG9p
bnQ6Om9wZXJhdG9yIE5TUG9pbnQoKSBjb25zdAogICAgIHJldHVybiBOU01ha2VQb2ludCh4Q29v
cmQsIHlDb29yZCk7CiB9CiAKK1FQb2ludDo6b3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIENHUG9pbnRNYWtlKHhDb29yZCwgeUNvb3JkKTsKK30KKwogUVBvaW50IG9wZXJh
dG9yKyhjb25zdCBRUG9pbnQgJmEsIGNvbnN0IFFQb2ludCAmYikKIHsKICAgICByZXR1cm4gUVBv
aW50KGEueENvb3JkICsgYi54Q29vcmQsIGEueUNvb3JkICsgYi55Q29vcmQpOwpAQCAtNTIsOSAr
NTcsMTMgQEAgUVBvaW50IG9wZXJhdG9yLShjb25zdCBRUG9pbnQgJmEsIGNvbnN0IAogICAgIHJl
dHVybiBRUG9pbnQoYS54Q29vcmQgLSBiLnhDb29yZCwgYS55Q29vcmQgLSBiLnlDb29yZCk7CiB9
CiAKK2NvbnN0IFFQb2ludCBvcGVyYXRvciooY29uc3QgUVBvaW50ICZwLCBkb3VibGUgcykgewor
ICAgIHJldHVybiBRUG9pbnQoKGludCkocC54Q29vcmQgKiBzKSwgKGludCkocC55Q29vcmQgKiBz
KSk7Cit9CisKICNpZmRlZiBfS1dRX0lPU1RSRUFNXwogc3RkOjpvc3RyZWFtICZvcGVyYXRvcjw8
KHN0ZDo6b3N0cmVhbSAmbywgY29uc3QgUVBvaW50ICZwKQogewotCXJldHVybiBvIDw8ICJRUG9p
bnQ6IFt4OiAiIDw8IHAueCgpIDw8ICI7IGg6ICIgPDwgcC55KCkgPDwgIl0iOworICAgIHJldHVy
biBvIDw8ICJRUG9pbnQ6IFt4OiAiIDw8IHAueCgpIDw8ICI7IGg6ICIgPDwgcC55KCkgPDwgIl0i
OwogfQogI2VuZGlmCkluZGV4OiBLV1FQb2ludEFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva3dxL0tXUVBvaW50QXJyYXkuaCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4yNgpkaWZmIC1wIC11IC1yMS4yNiBLV1FQb2ludEFycmF5LmgKLS0tIEtXUVBvaW50QXJy
YXkuaAkyMDA0LzA1LzA0IDE2OjI5OjUwCTEuMjYKKysrIEtXUVBvaW50QXJyYXkuaAkyMDA1LzA2
LzIzIDEwOjA2OjI3CkBAIC0zNSwzMyArMzUsNTAgQEAKICNpbmNsdWRlICJLV1FNZW1BcnJheS5o
IgogCiB0eXBlZGVmIHN0cnVjdCBfTlNQb2ludCBOU1BvaW50OwordHlwZWRlZiBzdHJ1Y3QgQ0dQ
b2ludCBDR1BvaW50OwogCiBjbGFzcyBRUG9pbnQgewogcHVibGljOgogICAgIFFQb2ludCgpOwog
ICAgIFFQb2ludChpbnQsIGludCk7CiAgICAgZXhwbGljaXQgUVBvaW50KGNvbnN0IE5TUG9pbnQg
Jik7IC8vIGRvbid0IGRvIHRoaXMgaW1wbGljaXRseSBzaW5jZSBpdCdzIGxvc3N5Ci0KKyAgICAK
ICAgICBpbnQgeCgpIGNvbnN0IHsgcmV0dXJuIHhDb29yZDsgfQogICAgIGludCB5KCkgY29uc3Qg
eyByZXR1cm4geUNvb3JkOyB9Ci0KKyAgICAKKyAgICB2b2lkIHNldFgoaW50IHgpIHsgeENvb3Jk
ID0geDsgfQorICAgIHZvaWQgc2V0WShpbnQgeSkgeyB5Q29vcmQgPSB5OyB9CisgICAgCisgICAg
Ym9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiAoICh4Q29vcmQgPT0gMCkgJiYgKHlDb29yZCA9
PSAwKSApOyB9CisgICAgCisgICAgUVBvaW50ICZvcGVyYXRvciAtPSAoY29uc3QgUVBvaW50ICZ0
d28pIHsgeENvb3JkIC09IHR3by54Q29vcmQ7IHlDb29yZCAtPSB0d28ueUNvb3JkOyByZXR1cm4g
KnRoaXM7IH0KKyAgICBmcmllbmQgY29uc3QgUVBvaW50IG9wZXJhdG9yKihjb25zdCBRUG9pbnQg
JnAsIGRvdWJsZSBzKTsKICAgICBmcmllbmQgUVBvaW50IG9wZXJhdG9yKyhjb25zdCBRUG9pbnQg
JiwgY29uc3QgUVBvaW50ICYpOwogICAgIGZyaWVuZCBRUG9pbnQgb3BlcmF0b3ItKGNvbnN0IFFQ
b2ludCAmLCBjb25zdCBRUG9pbnQgJik7CiAgICAgCiAgICAgb3BlcmF0b3IgTlNQb2ludCgpIGNv
bnN0OwotCisgICAgb3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0OworICAgIAogcHJpdmF0ZToKICAg
ICBpbnQgeENvb3JkOwogICAgIGludCB5Q29vcmQ7CiB9OwogCitjbGFzcyBRUmVjdDsKKwogY2xh
c3MgUVBvaW50QXJyYXkgOiBwdWJsaWMgUU1lbUFycmF5PFFQb2ludD4gewogcHVibGljOgogICAg
IFFQb2ludEFycmF5KCkgeyB9CiAgICAgUVBvaW50QXJyYXkoaW50IHNpemUpIDogUU1lbUFycmF5
PFFQb2ludD4oc2l6ZSkgeyB9Ci0KKyAgICBRUG9pbnRBcnJheShjb25zdCBRUmVjdCAmcmVjdCk7
CisgICAgCiAgICAgUVBvaW50QXJyYXkoaW50LCBjb25zdCBpbnQgKik7Ci0KKyAgICAKKyAgICBR
UmVjdCBib3VuZGluZ1JlY3QoKSBjb25zdDsKKyAgICAKKyAgICBRUG9pbnRBcnJheSBjb3B5KCkg
Y29uc3Q7CisgICAgCisgICAgdm9pZCBwb2ludCh1aW50LCBpbnQgKiwgaW50ICopOwogICAgIHZv
aWQgc2V0UG9pbnQodWludCwgaW50LCBpbnQpOwogI2lmIDAKICAgICAvLyBGSVhNRTogV29ya2Fy
b3VuZCBmb3IgUmFkYXIgMjkyMTA2MS4KQEAgLTc0LDcgKzkxLDcgQEAgcHVibGljOgogI2lmZGVm
IF9LV1FfSU9TVFJFQU1fCiAgICAgZnJpZW5kIHN0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8PChzdGQ6
Om9zdHJlYW0gJiwgY29uc3QgUVBvaW50ICYpOwogI2VuZGlmCi0KKyAgICAKIH07CiAKICNlbmRp
ZgpJbmRleDogS1dRUG9pbnRBcnJheS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViQ29yZS9rd3EvS1dRUG9pbnRBcnJheS5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRp
ZmYgLXAgLXUgLXIxLjkgS1dRUG9pbnRBcnJheS5tbQotLS0gS1dRUG9pbnRBcnJheS5tbQkyMDAz
LzAxLzIyIDAwOjEyOjM1CTEuOQorKysgS1dRUG9pbnRBcnJheS5tbQkyMDA1LzA2LzIzIDEwOjA2
OjI4CkBAIC0yNiwxMSArMjYsNTIgQEAKICNpbXBvcnQgIktXUVBvaW50QXJyYXkuaCIKICNpbXBv
cnQgPHN0ZGFyZy5oPgogCisjaW1wb3J0IDxxcmVjdC5oPgorCiBRUG9pbnRBcnJheTo6UVBvaW50
QXJyYXkoaW50IG5Qb2ludHMsIGNvbnN0IGludCAqcG9pbnRzKQogewogICAgIHNldFBvaW50cygg
blBvaW50cywgcG9pbnRzICk7CiB9CiAKK1FQb2ludEFycmF5OjpRUG9pbnRBcnJheShjb25zdCBR
UmVjdCAmcmVjdCkKK3sKKyAgICBzZXRQb2ludHMoIDQsIHJlY3QudG9wTGVmdCgpLngoKSwgcmVj
dC50b3BMZWZ0KCkueSgpLAorICAgICAgICAgICAgICAgcmVjdC50b3BSaWdodCgpLngoKSwgcmVj
dC50b3BSaWdodCgpLnkoKSwKKyAgICAgICAgICAgICAgIHJlY3QuYm90dG9tUmlnaHQoKS54KCks
IHJlY3QuYm90dG9tUmlnaHQoKS55KCksCisgICAgICAgICAgICAgICByZWN0LmJvdHRvbUxlZnQo
KS54KCksIHJlY3QuYm90dG9tTGVmdCgpLnkoKSApOworfQorCitRUG9pbnRBcnJheSBRUG9pbnRB
cnJheTo6Y29weSgpIGNvbnN0Cit7CisgICAgUVBvaW50QXJyYXkgYTsKKyAgICByZXR1cm4gKigo
UVBvaW50QXJyYXkqKSZhLmR1cGxpY2F0ZSgqdGhpcykpOworfQorCitRUmVjdCBRUG9pbnRBcnJh
eTo6Ym91bmRpbmdSZWN0KCkgY29uc3QgeworICAgIGludCBuUG9pbnRzID0gY291bnQoKTsKKyAg
ICAKKyAgICBpbnQgbWluWCA9IDAsIG1heFggPSAwLCBtaW5ZID0gMCwgbWF4WSA9IDA7CisgICAg
CisgICAgd2hpbGUgKG5Qb2ludHMgPiAwKSB7CisgICAgICAgIFFQb2ludCBwID0gYXQoblBvaW50
cyk7CisgICAgICAgIGludCB4ID0gcC54KCksIHkgPSBwLnkoKTsKKyAgICAgICAgCisgICAgICAg
IGlmICh4IDwgbWluWCkgbWluWCA9IHg7CisgICAgICAgIGlmICh4ID4gbWF4WCkgbWF4WCA9IHg7
CisgICAgICAgIGlmICh5IDwgbWluWSkgbWluWSA9IHk7CisgICAgICAgIGlmICh5ID4gbWF4WSkg
bWF4WSA9IHk7CisgICAgICAgIAorICAgICAgICBuUG9pbnRzLS07CisgICAgfQorICAgIAorICAg
IHJldHVybiBRUmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCArIDEsIG1heFkgLSBtaW5ZICsg
MSk7Cit9CisKK3ZvaWQgUVBvaW50QXJyYXk6OnBvaW50KHVpbnQgaW5kZXgsIGludCAqeCwgaW50
ICp5KSB7CisgICAgUVBvaW50IHAgPSBRTWVtQXJyYXk8UVBvaW50Pjo6YXQoaW5kZXgpOworICAg
ICp4ID0gcC54KCk7CisgICAgKnkgPSBwLnkoKTsKK30KIAogdm9pZCBRUG9pbnRBcnJheTo6c2V0
UG9pbnQoIHVpbnQgaW5kZXgsIGludCB4LCBpbnQgeSApCiB7Cg==
</data>
<flag name="review"
          id="82"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2604</attachid>
            <date>2005-06-23 12:49:30 -0700</date>
            <delta_ts>2005-06-30 03:21:17 -0700</delta_ts>
            <desc>Formatting oversights now fixed.</desc>
            <filename>point2.patch</filename>
            <type>text/plain</type>
            <size>4429</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUVBvaW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FQb2ludC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXAgLXUgLXIx
LjkgS1dRUG9pbnQubW0KLS0tIEtXUVBvaW50Lm1tCTIwMDQvMDUvMDQgMTY6Mjk6NTAJMS45Cisr
KyBLV1FQb2ludC5tbQkyMDA1LzA2LzIzIDE5OjE3OjM5CkBAIC00Miw2ICs0MiwxMSBAQCBRUG9p
bnQ6Om9wZXJhdG9yIE5TUG9pbnQoKSBjb25zdAogICAgIHJldHVybiBOU01ha2VQb2ludCh4Q29v
cmQsIHlDb29yZCk7CiB9CiAKK1FQb2ludDo6b3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIENHUG9pbnRNYWtlKHhDb29yZCwgeUNvb3JkKTsKK30KKwogUVBvaW50IG9wZXJh
dG9yKyhjb25zdCBRUG9pbnQgJmEsIGNvbnN0IFFQb2ludCAmYikKIHsKICAgICByZXR1cm4gUVBv
aW50KGEueENvb3JkICsgYi54Q29vcmQsIGEueUNvb3JkICsgYi55Q29vcmQpOwpAQCAtNTIsOSAr
NTcsMTQgQEAgUVBvaW50IG9wZXJhdG9yLShjb25zdCBRUG9pbnQgJmEsIGNvbnN0IAogICAgIHJl
dHVybiBRUG9pbnQoYS54Q29vcmQgLSBiLnhDb29yZCwgYS55Q29vcmQgLSBiLnlDb29yZCk7CiB9
CiAKK2NvbnN0IFFQb2ludCBvcGVyYXRvciooY29uc3QgUVBvaW50ICZwLCBkb3VibGUgcykKK3sK
KyAgICByZXR1cm4gUVBvaW50KChpbnQpKHAueENvb3JkICogcyksIChpbnQpKHAueUNvb3JkICog
cykpOworfQorCiAjaWZkZWYgX0tXUV9JT1NUUkVBTV8KIHN0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8
PChzdGQ6Om9zdHJlYW0gJm8sIGNvbnN0IFFQb2ludCAmcCkKIHsKLQlyZXR1cm4gbyA8PCAiUVBv
aW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8IHAueSgpIDw8ICJdIjsKKyAgICByZXR1
cm4gbyA8PCAiUVBvaW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8IHAueSgpIDw8ICJd
IjsKIH0KICNlbmRpZgpJbmRleDogS1dRUG9pbnRBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FQb2ludEFycmF5LmgsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMjYKZGlmZiAtcCAtdSAtcjEuMjYgS1dRUG9pbnRBcnJheS5oCi0tLSBLV1FQb2ludEFy
cmF5LmgJMjAwNC8wNS8wNCAxNjoyOTo1MAkxLjI2CisrKyBLV1FQb2ludEFycmF5LmgJMjAwNS8w
Ni8yMyAxOToxNzozOQpAQCAtMzUsMzMgKzM1LDUwIEBACiAjaW5jbHVkZSAiS1dRTWVtQXJyYXku
aCIKIAogdHlwZWRlZiBzdHJ1Y3QgX05TUG9pbnQgTlNQb2ludDsKK3R5cGVkZWYgc3RydWN0IENH
UG9pbnQgQ0dQb2ludDsKIAogY2xhc3MgUVBvaW50IHsKIHB1YmxpYzoKICAgICBRUG9pbnQoKTsK
ICAgICBRUG9pbnQoaW50LCBpbnQpOwogICAgIGV4cGxpY2l0IFFQb2ludChjb25zdCBOU1BvaW50
ICYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQotCisgICAg
CiAgICAgaW50IHgoKSBjb25zdCB7IHJldHVybiB4Q29vcmQ7IH0KICAgICBpbnQgeSgpIGNvbnN0
IHsgcmV0dXJuIHlDb29yZDsgfQotCisgICAgCisgICAgdm9pZCBzZXRYKGludCB4KSB7IHhDb29y
ZCA9IHg7IH0KKyAgICB2b2lkIHNldFkoaW50IHkpIHsgeUNvb3JkID0geTsgfQorICAgIAorICAg
IGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4geENvb3JkID09IDAgJiYgeUNvb3JkID09IDA7
IH0KKyAgICAKKyAgICBRUG9pbnQgJm9wZXJhdG9yIC09IChjb25zdCBRUG9pbnQgJnR3bykgeyB4
Q29vcmQgLT0gdHdvLnhDb29yZDsgeUNvb3JkIC09IHR3by55Q29vcmQ7IHJldHVybiAqdGhpczsg
fQorICAgIGZyaWVuZCBjb25zdCBRUG9pbnQgb3BlcmF0b3IqKGNvbnN0IFFQb2ludCAmcCwgZG91
YmxlIHMpOwogICAgIGZyaWVuZCBRUG9pbnQgb3BlcmF0b3IrKGNvbnN0IFFQb2ludCAmLCBjb25z
dCBRUG9pbnQgJik7CiAgICAgZnJpZW5kIFFQb2ludCBvcGVyYXRvci0oY29uc3QgUVBvaW50ICYs
IGNvbnN0IFFQb2ludCAmKTsKICAgICAKICAgICBvcGVyYXRvciBOU1BvaW50KCkgY29uc3Q7Ci0K
KyAgICBvcGVyYXRvciBDR1BvaW50KCkgY29uc3Q7CisgICAgCiBwcml2YXRlOgogICAgIGludCB4
Q29vcmQ7CiAgICAgaW50IHlDb29yZDsKIH07CiAKK2NsYXNzIFFSZWN0OworCiBjbGFzcyBRUG9p
bnRBcnJheSA6IHB1YmxpYyBRTWVtQXJyYXk8UVBvaW50PiB7CiBwdWJsaWM6CiAgICAgUVBvaW50
QXJyYXkoKSB7IH0KICAgICBRUG9pbnRBcnJheShpbnQgc2l6ZSkgOiBRTWVtQXJyYXk8UVBvaW50
PihzaXplKSB7IH0KLQorICAgIFFQb2ludEFycmF5KGNvbnN0IFFSZWN0ICZyZWN0KTsKKyAgICAK
ICAgICBRUG9pbnRBcnJheShpbnQsIGNvbnN0IGludCAqKTsKLQorICAgIAorICAgIFFSZWN0IGJv
dW5kaW5nUmVjdCgpIGNvbnN0OworICAgIAorICAgIFFQb2ludEFycmF5IGNvcHkoKSBjb25zdDsK
KyAgICAKKyAgICB2b2lkIHBvaW50KHVpbnQsIGludCAqLCBpbnQgKik7CiAgICAgdm9pZCBzZXRQ
b2ludCh1aW50LCBpbnQsIGludCk7CiAjaWYgMAogICAgIC8vIEZJWE1FOiBXb3JrYXJvdW5kIGZv
ciBSYWRhciAyOTIxMDYxLgpAQCAtNzQsNyArOTEsNyBAQCBwdWJsaWM6CiAjaWZkZWYgX0tXUV9J
T1NUUkVBTV8KICAgICBmcmllbmQgc3RkOjpvc3RyZWFtICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVh
bSAmLCBjb25zdCBRUG9pbnQgJik7CiAjZW5kaWYKLQorICAgIAogfTsKIAogI2VuZGlmCkluZGV4
OiBLV1FQb2ludEFycmF5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FQb2ludEFycmF5Lm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtcCAt
dSAtcjEuOSBLV1FQb2ludEFycmF5Lm1tCi0tLSBLV1FQb2ludEFycmF5Lm1tCTIwMDMvMDEvMjIg
MDA6MTI6MzUJMS45CisrKyBLV1FQb2ludEFycmF5Lm1tCTIwMDUvMDYvMjMgMTk6MTc6NDAKQEAg
LTI2LDExICsyNiw1NSBAQAogI2ltcG9ydCAiS1dRUG9pbnRBcnJheS5oIgogI2ltcG9ydCA8c3Rk
YXJnLmg+CiAKKyNpbXBvcnQgPHFyZWN0Lmg+CisKIFFQb2ludEFycmF5OjpRUG9pbnRBcnJheShp
bnQgblBvaW50cywgY29uc3QgaW50ICpwb2ludHMpCit7CisgICAgc2V0UG9pbnRzKG5Qb2ludHMs
IHBvaW50cyk7Cit9CisKK1FQb2ludEFycmF5OjpRUG9pbnRBcnJheShjb25zdCBRUmVjdCAmcmVj
dCkKK3sKKyAgICBzZXRQb2ludHMoNCwgcmVjdC50b3BMZWZ0KCkueCgpLCByZWN0LnRvcExlZnQo
KS55KCksCisgICAgICAgICAgICAgIHJlY3QudG9wUmlnaHQoKS54KCksIHJlY3QudG9wUmlnaHQo
KS55KCksCisgICAgICAgICAgICAgIHJlY3QuYm90dG9tUmlnaHQoKS54KCksIHJlY3QuYm90dG9t
UmlnaHQoKS55KCksCisgICAgICAgICAgICAgIHJlY3QuYm90dG9tTGVmdCgpLngoKSwgcmVjdC5i
b3R0b21MZWZ0KCkueSgpKTsKK30KKworUVBvaW50QXJyYXkgUVBvaW50QXJyYXk6OmNvcHkoKSBj
b25zdAoreworICAgIFFQb2ludEFycmF5IGNvcHk7CisgICAgY29weS5kdXBsaWNhdGUoKnRoaXMp
OworICAgIHJldHVybiBjb3B5OworfQorCitRUmVjdCBRUG9pbnRBcnJheTo6Ym91bmRpbmdSZWN0
KCkgY29uc3QKIHsKLSAgICBzZXRQb2ludHMoIG5Qb2ludHMsIHBvaW50cyApOworICAgIGludCBu
UG9pbnRzID0gY291bnQoKTsKKyAgICAKKyAgICBpbnQgbWluWCA9IDAsIG1heFggPSAwLCBtaW5Z
ID0gMCwgbWF4WSA9IDA7CisgICAgCisgICAgd2hpbGUgKG5Qb2ludHMgPiAwKSB7CisgICAgICAg
IFFQb2ludCBwID0gYXQoblBvaW50cyk7CisgICAgICAgIGludCB4ID0gcC54KCksIHkgPSBwLnko
KTsKKyAgICAgICAgCisgICAgICAgIGlmICh4IDwgbWluWCkgbWluWCA9IHg7CisgICAgICAgIGlm
ICh4ID4gbWF4WCkgbWF4WCA9IHg7CisgICAgICAgIGlmICh5IDwgbWluWSkgbWluWSA9IHk7Cisg
ICAgICAgIGlmICh5ID4gbWF4WSkgbWF4WSA9IHk7CisgICAgICAgIAorICAgICAgICBuUG9pbnRz
LS07CisgICAgfQorICAgIAorICAgIHJldHVybiBRUmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWlu
WCArIDEsIG1heFkgLSBtaW5ZICsgMSk7CiB9CiAKK3ZvaWQgUVBvaW50QXJyYXk6OnBvaW50KHVp
bnQgaW5kZXgsIGludCAqeCwgaW50ICp5KQoreworICAgIFFQb2ludCBwID0gYXQoaW5kZXgpOwor
ICAgICp4ID0gcC54KCk7CisgICAgKnkgPSBwLnkoKTsKK30KIAogdm9pZCBRUG9pbnRBcnJheTo6
c2V0UG9pbnQoIHVpbnQgaW5kZXgsIGludCB4LCBpbnQgeSApCiB7Cg==
</data>
<flag name="review"
          id="91"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2713</attachid>
            <date>2005-06-30 03:21:17 -0700</date>
            <delta_ts>2005-07-05 17:22:57 -0700</delta_ts>
            <desc>addressed Darin&apos;s concerns</desc>
            <filename>point3.patch</filename>
            <type>text/plain</type>
            <size>4430</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUVBvaW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FQb2ludC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXAgLXUgLXIx
LjkgS1dRUG9pbnQubW0KLS0tIEtXUVBvaW50Lm1tCTIwMDQvMDUvMDQgMTY6Mjk6NTAJMS45Cisr
KyBLV1FQb2ludC5tbQkyMDA1LzA2LzMwIDEwOjIxOjMxCkBAIC00Miw2ICs0MiwxMSBAQCBRUG9p
bnQ6Om9wZXJhdG9yIE5TUG9pbnQoKSBjb25zdAogICAgIHJldHVybiBOU01ha2VQb2ludCh4Q29v
cmQsIHlDb29yZCk7CiB9CiAKK1FQb2ludDo6b3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIENHUG9pbnRNYWtlKHhDb29yZCwgeUNvb3JkKTsKK30KKwogUVBvaW50IG9wZXJh
dG9yKyhjb25zdCBRUG9pbnQgJmEsIGNvbnN0IFFQb2ludCAmYikKIHsKICAgICByZXR1cm4gUVBv
aW50KGEueENvb3JkICsgYi54Q29vcmQsIGEueUNvb3JkICsgYi55Q29vcmQpOwpAQCAtNTIsOSAr
NTcsMTQgQEAgUVBvaW50IG9wZXJhdG9yLShjb25zdCBRUG9pbnQgJmEsIGNvbnN0IAogICAgIHJl
dHVybiBRUG9pbnQoYS54Q29vcmQgLSBiLnhDb29yZCwgYS55Q29vcmQgLSBiLnlDb29yZCk7CiB9
CiAKK2NvbnN0IFFQb2ludCBvcGVyYXRvciooY29uc3QgUVBvaW50ICZwLCBkb3VibGUgcykKK3sK
KyAgICByZXR1cm4gUVBvaW50KChpbnQpKHAueENvb3JkICogcyksIChpbnQpKHAueUNvb3JkICog
cykpOworfQorCiAjaWZkZWYgX0tXUV9JT1NUUkVBTV8KIHN0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8
PChzdGQ6Om9zdHJlYW0gJm8sIGNvbnN0IFFQb2ludCAmcCkKIHsKLQlyZXR1cm4gbyA8PCAiUVBv
aW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8IHAueSgpIDw8ICJdIjsKKyAgICByZXR1
cm4gbyA8PCAiUVBvaW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8IHAueSgpIDw8ICJd
IjsKIH0KICNlbmRpZgpJbmRleDogS1dRUG9pbnRBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FQb2ludEFycmF5LmgsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMjYKZGlmZiAtcCAtdSAtcjEuMjYgS1dRUG9pbnRBcnJheS5oCi0tLSBLV1FQb2ludEFy
cmF5LmgJMjAwNC8wNS8wNCAxNjoyOTo1MAkxLjI2CisrKyBLV1FQb2ludEFycmF5LmgJMjAwNS8w
Ni8zMCAxMDoyMTozMgpAQCAtMzUsMjEgKzM1LDMyIEBACiAjaW5jbHVkZSAiS1dRTWVtQXJyYXku
aCIKIAogdHlwZWRlZiBzdHJ1Y3QgX05TUG9pbnQgTlNQb2ludDsKK3R5cGVkZWYgc3RydWN0IENH
UG9pbnQgQ0dQb2ludDsKIAorY2xhc3MgUVJlY3Q7CisKIGNsYXNzIFFQb2ludCB7CiBwdWJsaWM6
CiAgICAgUVBvaW50KCk7CiAgICAgUVBvaW50KGludCwgaW50KTsKICAgICBleHBsaWNpdCBRUG9p
bnQoY29uc3QgTlNQb2ludCAmKTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBsaWNpdGx5IHNpbmNlIGl0
J3MgbG9zc3kKLQorICAgIAogICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4geENvb3JkOyB9CiAg
ICAgaW50IHkoKSBjb25zdCB7IHJldHVybiB5Q29vcmQ7IH0KLQorICAgIAorICAgIHZvaWQgc2V0
WChpbnQgeCkgeyB4Q29vcmQgPSB4OyB9CisgICAgdm9pZCBzZXRZKGludCB5KSB7IHlDb29yZCA9
IHk7IH0KKyAgICAKKyAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIHhDb29yZCA9PSAw
ICYmIHlDb29yZCA9PSAwOyB9CisgICAgCisgICAgUVBvaW50ICZvcGVyYXRvciAtPShjb25zdCBR
UG9pbnQgJnR3bykgeyB4Q29vcmQgLT0gdHdvLnhDb29yZDsgeUNvb3JkIC09IHR3by55Q29vcmQ7
IHJldHVybiAqdGhpczsgfQorICAgIGZyaWVuZCBjb25zdCBRUG9pbnQgb3BlcmF0b3IqKGNvbnN0
IFFQb2ludCAmcCwgZG91YmxlIHMpOwogICAgIGZyaWVuZCBRUG9pbnQgb3BlcmF0b3IrKGNvbnN0
IFFQb2ludCAmLCBjb25zdCBRUG9pbnQgJik7CiAgICAgZnJpZW5kIFFQb2ludCBvcGVyYXRvci0o
Y29uc3QgUVBvaW50ICYsIGNvbnN0IFFQb2ludCAmKTsKICAgICAKICAgICBvcGVyYXRvciBOU1Bv
aW50KCkgY29uc3Q7Ci0KKyAgICBvcGVyYXRvciBDR1BvaW50KCkgY29uc3Q7CisgICAgCiBwcml2
YXRlOgogICAgIGludCB4Q29vcmQ7CiAgICAgaW50IHlDb29yZDsKQEAgLTU5LDkgKzcwLDE0IEBA
IGNsYXNzIFFQb2ludEFycmF5IDogcHVibGljIFFNZW1BcnJheTxRUG8KIHB1YmxpYzoKICAgICBR
UG9pbnRBcnJheSgpIHsgfQogICAgIFFQb2ludEFycmF5KGludCBzaXplKSA6IFFNZW1BcnJheTxR
UG9pbnQ+KHNpemUpIHsgfQotCisgICAgUVBvaW50QXJyYXkoY29uc3QgUVJlY3QgJnJlY3QpOwog
ICAgIFFQb2ludEFycmF5KGludCwgY29uc3QgaW50ICopOwotCisgICAgCisgICAgUVJlY3QgYm91
bmRpbmdSZWN0KCkgY29uc3Q7CisgICAgCisgICAgUVBvaW50QXJyYXkgY29weSgpIGNvbnN0Owor
ICAgIAorICAgIHZvaWQgcG9pbnQodWludCwgaW50ICosIGludCAqKTsKICAgICB2b2lkIHNldFBv
aW50KHVpbnQsIGludCwgaW50KTsKICNpZiAwCiAgICAgLy8gRklYTUU6IFdvcmthcm91bmQgZm9y
IFJhZGFyIDI5MjEwNjEuCkBAIC03NCw3ICs5MCw3IEBAIHB1YmxpYzoKICNpZmRlZiBfS1dRX0lP
U1RSRUFNXwogICAgIGZyaWVuZCBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFt
ICYsIGNvbnN0IFFQb2ludCAmKTsKICNlbmRpZgotCisgICAgCiB9OwogCiAjZW5kaWYKSW5kZXg6
IEtXUVBvaW50QXJyYXkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUv
a3dxL0tXUVBvaW50QXJyYXkubW0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC1wIC11
IC1yMS45IEtXUVBvaW50QXJyYXkubW0KLS0tIEtXUVBvaW50QXJyYXkubW0JMjAwMy8wMS8yMiAw
MDoxMjozNQkxLjkKKysrIEtXUVBvaW50QXJyYXkubW0JMjAwNS8wNi8zMCAxMDoyMTozMwpAQCAt
MjYsMTEgKzI2LDU1IEBACiAjaW1wb3J0ICJLV1FQb2ludEFycmF5LmgiCiAjaW1wb3J0IDxzdGRh
cmcuaD4KIAorI2ltcG9ydCAiS1dRUmVjdC5oIgorCiBRUG9pbnRBcnJheTo6UVBvaW50QXJyYXko
aW50IG5Qb2ludHMsIGNvbnN0IGludCAqcG9pbnRzKQoreworICAgIHNldFBvaW50cyhuUG9pbnRz
LCBwb2ludHMpOworfQorCitRUG9pbnRBcnJheTo6UVBvaW50QXJyYXkoY29uc3QgUVJlY3QgJnJl
Y3QpCit7CisgICAgc2V0UG9pbnRzKDQsIHJlY3QudG9wTGVmdCgpLngoKSwgcmVjdC50b3BMZWZ0
KCkueSgpLAorICAgICAgICAgICAgICByZWN0LnRvcFJpZ2h0KCkueCgpLCByZWN0LnRvcFJpZ2h0
KCkueSgpLAorICAgICAgICAgICAgICByZWN0LmJvdHRvbVJpZ2h0KCkueCgpLCByZWN0LmJvdHRv
bVJpZ2h0KCkueSgpLAorICAgICAgICAgICAgICByZWN0LmJvdHRvbUxlZnQoKS54KCksIHJlY3Qu
Ym90dG9tTGVmdCgpLnkoKSk7Cit9CisKK1FQb2ludEFycmF5IFFQb2ludEFycmF5Ojpjb3B5KCkg
Y29uc3QKK3sKKyAgICBRUG9pbnRBcnJheSBjb3B5OworICAgIGNvcHkuZHVwbGljYXRlKCp0aGlz
KTsKKyAgICByZXR1cm4gY29weTsKK30KKworUVJlY3QgUVBvaW50QXJyYXk6OmJvdW5kaW5nUmVj
dCgpIGNvbnN0CiB7Ci0gICAgc2V0UG9pbnRzKCBuUG9pbnRzLCBwb2ludHMgKTsKKyAgICBpbnQg
blBvaW50cyA9IGNvdW50KCk7CisgICAgCisgICAgaW50IG1pblggPSAwLCBtYXhYID0gMCwgbWlu
WSA9IDAsIG1heFkgPSAwOworICAgIAorICAgIHdoaWxlIChuUG9pbnRzID4gMCkgeworICAgICAg
ICBRUG9pbnQgcCA9IGF0KG5Qb2ludHMpOworICAgICAgICBpbnQgeCA9IHAueCgpLCB5ID0gcC55
KCk7CisgICAgICAgIAorICAgICAgICBpZiAoeCA8IG1pblgpIG1pblggPSB4OworICAgICAgICBp
ZiAoeCA+IG1heFgpIG1heFggPSB4OworICAgICAgICBpZiAoeSA8IG1pblkpIG1pblkgPSB5Owor
ICAgICAgICBpZiAoeSA+IG1heFkpIG1heFkgPSB5OworICAgICAgICAKKyAgICAgICAgblBvaW50
cy0tOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gUVJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1p
blggKyAxLCBtYXhZIC0gbWluWSArIDEpOwogfQogCit2b2lkIFFQb2ludEFycmF5Ojpwb2ludCh1
aW50IGluZGV4LCBpbnQgKngsIGludCAqeSkKK3sKKyAgICBRUG9pbnQgcCA9IGF0KGluZGV4KTsK
KyAgICAqeCA9IHAueCgpOworICAgICp5ID0gcC55KCk7Cit9CiAKIHZvaWQgUVBvaW50QXJyYXk6
OnNldFBvaW50KCB1aW50IGluZGV4LCBpbnQgeCwgaW50IHkgKQogewo=
</data>
<flag name="review"
          id="181"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2824</attachid>
            <date>2005-07-05 17:21:14 -0700</date>
            <delta_ts>2005-07-06 22:23:31 -0700</delta_ts>
            <desc>Addressed SadEagle&apos;s boundingRect() concern.</desc>
            <filename>qpoint.patch</filename>
            <type>text/plain</type>
            <size>4539</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUVBvaW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FQb2ludC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXAgLXUgLXIx
LjkgS1dRUG9pbnQubW0KLS0tIEtXUVBvaW50Lm1tCTQgTWF5IDIwMDQgMTY6Mjk6NTAgLTAwMDAJ
MS45CisrKyBLV1FQb2ludC5tbQk2IEp1bCAyMDA1IDAwOjA1OjA3IC0wMDAwCkBAIC00Miw2ICs0
MiwxMSBAQCBRUG9pbnQ6Om9wZXJhdG9yIE5TUG9pbnQoKSBjb25zdAogICAgIHJldHVybiBOU01h
a2VQb2ludCh4Q29vcmQsIHlDb29yZCk7CiB9CiAKK1FQb2ludDo6b3BlcmF0b3IgQ0dQb2ludCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIENHUG9pbnRNYWtlKHhDb29yZCwgeUNvb3JkKTsKK30KKwog
UVBvaW50IG9wZXJhdG9yKyhjb25zdCBRUG9pbnQgJmEsIGNvbnN0IFFQb2ludCAmYikKIHsKICAg
ICByZXR1cm4gUVBvaW50KGEueENvb3JkICsgYi54Q29vcmQsIGEueUNvb3JkICsgYi55Q29vcmQp
OwpAQCAtNTIsOSArNTcsMTQgQEAgUVBvaW50IG9wZXJhdG9yLShjb25zdCBRUG9pbnQgJmEsIGNv
bnN0IAogICAgIHJldHVybiBRUG9pbnQoYS54Q29vcmQgLSBiLnhDb29yZCwgYS55Q29vcmQgLSBi
LnlDb29yZCk7CiB9CiAKK2NvbnN0IFFQb2ludCBvcGVyYXRvciooY29uc3QgUVBvaW50ICZwLCBk
b3VibGUgcykKK3sKKyAgICByZXR1cm4gUVBvaW50KChpbnQpKHAueENvb3JkICogcyksIChpbnQp
KHAueUNvb3JkICogcykpOworfQorCiAjaWZkZWYgX0tXUV9JT1NUUkVBTV8KIHN0ZDo6b3N0cmVh
bSAmb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0gJm8sIGNvbnN0IFFQb2ludCAmcCkKIHsKLQlyZXR1
cm4gbyA8PCAiUVBvaW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8IHAueSgpIDw8ICJd
IjsKKyAgICByZXR1cm4gbyA8PCAiUVBvaW50OiBbeDogIiA8PCBwLngoKSA8PCAiOyBoOiAiIDw8
IHAueSgpIDw8ICJdIjsKIH0KICNlbmRpZgpJbmRleDogS1dRUG9pbnRBcnJheS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FQb2ludEFycmF5LmgsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMjYKZGlmZiAtcCAtdSAtcjEuMjYgS1dRUG9pbnRBcnJheS5oCi0t
LSBLV1FQb2ludEFycmF5LmgJNCBNYXkgMjAwNCAxNjoyOTo1MCAtMDAwMAkxLjI2CisrKyBLV1FQ
b2ludEFycmF5LmgJNiBKdWwgMjAwNSAwMDowNTowOCAtMDAwMApAQCAtMzUsMjEgKzM1LDMyIEBA
CiAjaW5jbHVkZSAiS1dRTWVtQXJyYXkuaCIKIAogdHlwZWRlZiBzdHJ1Y3QgX05TUG9pbnQgTlNQ
b2ludDsKK3R5cGVkZWYgc3RydWN0IENHUG9pbnQgQ0dQb2ludDsKKworY2xhc3MgUVJlY3Q7CiAK
IGNsYXNzIFFQb2ludCB7CiBwdWJsaWM6CiAgICAgUVBvaW50KCk7CiAgICAgUVBvaW50KGludCwg
aW50KTsKICAgICBleHBsaWNpdCBRUG9pbnQoY29uc3QgTlNQb2ludCAmKTsgLy8gZG9uJ3QgZG8g
dGhpcyBpbXBsaWNpdGx5IHNpbmNlIGl0J3MgbG9zc3kKLQorICAgIAogICAgIGludCB4KCkgY29u
c3QgeyByZXR1cm4geENvb3JkOyB9CiAgICAgaW50IHkoKSBjb25zdCB7IHJldHVybiB5Q29vcmQ7
IH0KLQorICAgIAorICAgIHZvaWQgc2V0WChpbnQgeCkgeyB4Q29vcmQgPSB4OyB9CisgICAgdm9p
ZCBzZXRZKGludCB5KSB7IHlDb29yZCA9IHk7IH0KKyAgICAKKyAgICBib29sIGlzTnVsbCgpIGNv
bnN0IHsgcmV0dXJuIHhDb29yZCA9PSAwICYmIHlDb29yZCA9PSAwOyB9CisgICAgCisgICAgUVBv
aW50ICZvcGVyYXRvciAtPShjb25zdCBRUG9pbnQgJnR3bykgeyB4Q29vcmQgLT0gdHdvLnhDb29y
ZDsgeUNvb3JkIC09IHR3by55Q29vcmQ7IHJldHVybiAqdGhpczsgfQorICAgIGZyaWVuZCBjb25z
dCBRUG9pbnQgb3BlcmF0b3IqKGNvbnN0IFFQb2ludCAmcCwgZG91YmxlIHMpOwogICAgIGZyaWVu
ZCBRUG9pbnQgb3BlcmF0b3IrKGNvbnN0IFFQb2ludCAmLCBjb25zdCBRUG9pbnQgJik7CiAgICAg
ZnJpZW5kIFFQb2ludCBvcGVyYXRvci0oY29uc3QgUVBvaW50ICYsIGNvbnN0IFFQb2ludCAmKTsK
ICAgICAKICAgICBvcGVyYXRvciBOU1BvaW50KCkgY29uc3Q7Ci0KKyAgICBvcGVyYXRvciBDR1Bv
aW50KCkgY29uc3Q7CisgICAgCiBwcml2YXRlOgogICAgIGludCB4Q29vcmQ7CiAgICAgaW50IHlD
b29yZDsKQEAgLTU5LDkgKzcwLDE0IEBAIGNsYXNzIFFQb2ludEFycmF5IDogcHVibGljIFFNZW1B
cnJheTxRUG8KIHB1YmxpYzoKICAgICBRUG9pbnRBcnJheSgpIHsgfQogICAgIFFQb2ludEFycmF5
KGludCBzaXplKSA6IFFNZW1BcnJheTxRUG9pbnQ+KHNpemUpIHsgfQotCisgICAgUVBvaW50QXJy
YXkoY29uc3QgUVJlY3QgJnJlY3QpOwogICAgIFFQb2ludEFycmF5KGludCwgY29uc3QgaW50ICop
OwotCisgICAgCisgICAgUVJlY3QgYm91bmRpbmdSZWN0KCkgY29uc3Q7CisgICAgCisgICAgUVBv
aW50QXJyYXkgY29weSgpIGNvbnN0OworICAgIAorICAgIHZvaWQgcG9pbnQodWludCwgaW50ICos
IGludCAqKTsKICAgICB2b2lkIHNldFBvaW50KHVpbnQsIGludCwgaW50KTsKICNpZiAwCiAgICAg
Ly8gRklYTUU6IFdvcmthcm91bmQgZm9yIFJhZGFyIDI5MjEwNjEuCkBAIC03NCw3ICs5MCw3IEBA
IHB1YmxpYzoKICNpZmRlZiBfS1dRX0lPU1RSRUFNXwogICAgIGZyaWVuZCBzdGQ6Om9zdHJlYW0g
Jm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtICYsIGNvbnN0IFFQb2ludCAmKTsKICNlbmRpZgotCisg
ICAgCiB9OwogCiAjZW5kaWYKSW5kZXg6IEtXUVBvaW50QXJyYXkubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L1dlYkNvcmUva3dxL0tXUVBvaW50QXJyYXkubW0sdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuOQpkaWZmIC1wIC11IC1yMS45IEtXUVBvaW50QXJyYXkubW0KLS0tIEtXUVBv
aW50QXJyYXkubW0JMjIgSmFuIDIwMDMgMDA6MTI6MzUgLTAwMDAJMS45CisrKyBLV1FQb2ludEFy
cmF5Lm1tCTYgSnVsIDIwMDUgMDA6MDU6MTAgLTAwMDAKQEAgLTI2LDExICsyNiw1OCBAQAogI2lt
cG9ydCAiS1dRUG9pbnRBcnJheS5oIgogI2ltcG9ydCA8c3RkYXJnLmg+CiAKKyNpbXBvcnQgIktX
UVJlY3QuaCIKKwogUVBvaW50QXJyYXk6OlFQb2ludEFycmF5KGludCBuUG9pbnRzLCBjb25zdCBp
bnQgKnBvaW50cykKIHsKLSAgICBzZXRQb2ludHMoIG5Qb2ludHMsIHBvaW50cyApOworICAgIHNl
dFBvaW50cyhuUG9pbnRzLCBwb2ludHMpOworfQorCitRUG9pbnRBcnJheTo6UVBvaW50QXJyYXko
Y29uc3QgUVJlY3QgJnJlY3QpCit7CisgICAgc2V0UG9pbnRzKDQsIHJlY3QudG9wTGVmdCgpLngo
KSwgcmVjdC50b3BMZWZ0KCkueSgpLAorICAgICAgICAgICAgICByZWN0LnRvcFJpZ2h0KCkueCgp
LCByZWN0LnRvcFJpZ2h0KCkueSgpLAorICAgICAgICAgICAgICByZWN0LmJvdHRvbVJpZ2h0KCku
eCgpLCByZWN0LmJvdHRvbVJpZ2h0KCkueSgpLAorICAgICAgICAgICAgICByZWN0LmJvdHRvbUxl
ZnQoKS54KCksIHJlY3QuYm90dG9tTGVmdCgpLnkoKSk7Cit9CisKK1FQb2ludEFycmF5IFFQb2lu
dEFycmF5Ojpjb3B5KCkgY29uc3QKK3sKKyAgICBRUG9pbnRBcnJheSBjb3B5OworICAgIGNvcHku
ZHVwbGljYXRlKCp0aGlzKTsKKyAgICByZXR1cm4gY29weTsKIH0KIAorUVJlY3QgUVBvaW50QXJy
YXk6OmJvdW5kaW5nUmVjdCgpIGNvbnN0Cit7CisgICAgaW50IG5Qb2ludHMgPSBjb3VudCgpOwor
ICAgIAorICAgIGlmIChuUG9pbnRzIDwgMSkgcmV0dXJuIFFSZWN0KDAsMCwwLDApOworICAgIAor
ICAgIGludCBtaW5YID0gSU5UX01BWCwgbWF4WCA9IDA7CisgICAgaW50IG1pblkgPSBJTlRfTUFY
LCBtYXhZID0gMDsKKyAgICAKKyAgICB3aGlsZSAoblBvaW50cyA+IDApIHsKKyAgICAgICAgUVBv
aW50IHAgPSBhdChuUG9pbnRzKTsKKyAgICAgICAgaW50IHggPSBwLngoKSwgeSA9IHAueSgpOwor
ICAgICAgICAKKyAgICAgICAgaWYgKHggPCBtaW5YKSBtaW5YID0geDsKKyAgICAgICAgaWYgKHgg
PiBtYXhYKSBtYXhYID0geDsKKyAgICAgICAgaWYgKHkgPCBtaW5ZKSBtaW5ZID0geTsKKyAgICAg
ICAgaWYgKHkgPiBtYXhZKSBtYXhZID0geTsKKyAgICAgICAgCisgICAgICAgIG5Qb2ludHMtLTsK
KyAgICB9CisgICAgCisgICAgcmV0dXJuIFFSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YICsg
MSwgbWF4WSAtIG1pblkgKyAxKTsKK30KKwordm9pZCBRUG9pbnRBcnJheTo6cG9pbnQodWludCBp
bmRleCwgaW50ICp4LCBpbnQgKnkpCit7CisgICAgUVBvaW50IHAgPSBhdChpbmRleCk7CisgICAg
KnggPSBwLngoKTsKKyAgICAqeSA9IHAueSgpOworfQogCiB2b2lkIFFQb2ludEFycmF5OjpzZXRQ
b2ludCggdWludCBpbmRleCwgaW50IHgsIGludCB5ICkKIHsK
</data>
<flag name="review"
          id="180"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>