<?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>87066</bug_id>
          
          <creation_ts>2012-05-21 18:25:46 -0700</creation_ts>
          <short_desc>[chromium] Add unit testing for WebTransformationMatrix::blend()</short_desc>
          <delta_ts>2012-05-22 14:22:20 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>629816</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-21 18:25:46 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=86421 did not finish adding unit tests for WebTransformationMatrix::blend().   This patch fills the missing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629825</commentid>
    <comment_count>1</comment_count>
      <attachid>143162</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-21 18:33:13 -0700</bug_when>
    <thetext>Created attachment 143162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629836</commentid>
    <comment_count>2</comment_count>
      <attachid>143162</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-21 18:42:21 -0700</bug_when>
    <thetext>Comment on attachment 143162
Patch

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

&gt; Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp:27
&gt;  #include &quot;../../../../Platform/chromium/public/WebTransformationMatrix.h&quot;

what on earth happened here? this should be &lt;public/WebTransformationMatrix.h&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630460</commentid>
    <comment_count>3</comment_count>
      <attachid>143316</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-22 09:48:10 -0700</bug_when>
    <thetext>Created attachment 143316
Also fix a badly hardcoded include file

This will cause style bots to complain, but I think its actually the style we want</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630464</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 09:50:27 -0700</bug_when>
    <thetext>Attachment 143316 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1
Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp:29:  Alphabetical sorting problem.  [build/include_order] [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>630734</commentid>
    <comment_count>5</comment_count>
      <attachid>143316</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-05-22 14:09:24 -0700</bug_when>
    <thetext>Comment on attachment 143316
Also fix a badly hardcoded include file

R=me.  The skewY case is sad, but handling it like that seems pretty reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630741</commentid>
    <comment_count>6</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-22 14:16:01 -0700</bug_when>
    <thetext>Thanks, as always =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630758</commentid>
    <comment_count>7</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-22 14:22:20 -0700</bug_when>
    <thetext>Committed r118054: &lt;http://trac.webkit.org/changeset/118054&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143162</attachid>
            <date>2012-05-21 18:33:13 -0700</date>
            <delta_ts>2012-05-22 09:48:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87066-20120521183312.patch</filename>
            <type>text/plain</type>
            <size>14292</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDk0OWI0ZTVlNGM3M2U5ZDc3M2FmMDJmOGQ2NTNmNmI5MTVkYWEwMTMuLjFiOTc0NDE4OGJhZmE2
MDRkNzUyY2RmODI2MmZlMjdhZmI5Y2MwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMDUtMjEgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgdW5pdCB0ZXN0aW5nIGZvciBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6YmxlbmQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICA4IG1vcmUgdW5pdCB0ZXN0cyBhZGRlZDoKKyAgICAgICAgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yVHJhbnNsYXRpb24KKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2NhbGUKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2tld1gKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2tld1kKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yUm90YXRpb25BYm91
dFgKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yUm90
YXRpb25BYm91dFkKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJs
ZW5kRm9yUm90YXRpb25BYm91dFoKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0
LnZlcmlmeUJsZW5kRm9yQ29tcG9zaXRlVHJhbnNmb3JtCisKKyAgICAgICAgKiB0ZXN0cy9XZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OnByaW50VHJhbnNmb3JtKToKKwogMjAx
Mi0wNS0xOCAgTWljaGFlbCBOb3JkbWFuICA8bWljaGFlbG5AZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbVN0b3JhZ2UgZXZlbnRzIGhhbmRsaW5nIG5lZWRzIFRMQyAoMikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXhUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXhUZXN0LmNwcAppbmRleCBhZjI5MTY5OGFhMDI3NTU0NzJhZDg2NmFmZWM3MTAx
MWFiYjE4OTk4Li4zZTE0MWQ5N2RjZWU2MTE5ODRiZWFjN2NhZDA5ZTFiZDk2MWExZTk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlRyYW5zZm9ybWF0aW9uTWF0
cml4VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeFRlc3QuY3BwCkBAIC0yNiw3ICsyNiw5IEBACiAKICNpbmNsdWRlICIuLi8u
Li8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCIKIAorI2luY2x1ZGUgIkNDTGF5ZXJUcmVlVGVzdENvbW1vbi5oIgogI2luY2x1ZGUgPGd0ZXN0
L2d0ZXN0Lmg+CisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2RlZmluZSBFWFBFQ1Rf
Uk9XMV9FUShhLCBiLCBjLCBkLCBtYXRyaXgpICAgICAgXAogICAgIEVYUEVDVF9GTE9BVF9FUSgo
YSksIChtYXRyaXgpLm0xMSgpKTsgICAgICAgXApAQCAtNzQsNiArNzYsNyBAQAogICAgIEVYUEVD
VF9ORUFSKChkKSwgKG1hdHJpeCkubTQzKCksIChlcnJvclRocmVzaG9sZCkpOwogCiAjZGVmaW5l
IEVSUk9SX1RIUkVTSE9MRCAxZS0xNAorI2RlZmluZSBMT09TRV9FUlJPUl9USFJFU0hPTEQgMWUt
NwogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBAIC05MjYsNyArOTI5LDcgQEAgVEVTVChX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUlzSWRlbnRpdHlPclRyYW5zbGF0aW9u
KQogICAgIEVYUEVDVF9GQUxTRShBLmlzSWRlbnRpdHlPclRyYW5zbGF0aW9uKCkpOwogfQogCi1U
RVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgaXNJbnRlZ2VyVHJhbnNsYXRpb24pCitU
RVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgdmVyaWZ5SXNJbnRlZ2VyVHJhbnNsYXRp
b24pCiB7CiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggQTsKIApAQCAtOTUzLDQgKzk1Niwz
MjkgQEAgVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIGlzSW50ZWdlclRyYW5zbGF0
aW9uKQogICAgIEVYUEVDVF9UUlVFKEEuaXNJbnRlZ2VyVHJhbnNsYXRpb24oKSk7CiB9CiAKK1RF
U1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LCB2ZXJpZnlCbGVuZEZvclRyYW5zbGF0aW9u
KQoreworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGZyb207CisgICAgZnJvbS50cmFuc2xh
dGUzZCgxMDAsIDIwMCwgMTAwKTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHRvOwor
CisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8udHJhbnNsYXRlM2QoMjAwLCAxMDAsIDMw
MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01B
VFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by50cmFu
c2xhdGUzZCgyMDAsIDEwMCwgMzAwKTsKKyAgICB0by5ibGVuZChmcm9tLCAwLjI1KTsKKyAgICBF
WFBFQ1RfUk9XMV9FUSgxLCAwLCAwLCAxMjUsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAx
LCAwLCAxNzUsIHRvKTsKKyAgICBFWFBFQ1RfUk9XM19FUSgwLCAwLCAxLCAxNTAsIHRvKTsKKyAg
ICBFWFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAgMSwgIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0
eSgpOworICAgIHRvLnRyYW5zbGF0ZTNkKDIwMCwgMTAwLCAzMDApOworICAgIHRvLmJsZW5kKGZy
b20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMSwgMCwgMCwgMTUwLCB0byk7CisgICAgRVhQ
RUNUX1JPVzJfRVEoMCwgMSwgMCwgMTUwLCB0byk7CisgICAgRVhQRUNUX1JPVzNfRVEoMCwgMCwg
MSwgMjAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgIDEsICB0byk7CisKKyAg
ICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by50cmFuc2xhdGUzZCgyMDAsIDEwMCwgMzAwKTsK
KyAgICB0by5ibGVuZChmcm9tLCAxKTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgxLCAwLCAwLCAyMDAs
IHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAxLCAwLCAxMDAsIHRvKTsKKyAgICBFWFBFQ1Rf
Uk9XM19FUSgwLCAwLCAxLCAzMDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAg
MSwgIHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUJs
ZW5kRm9yU2NhbGUpCit7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbTsKKyAgICBm
cm9tLnNjYWxlM2QoMTAwLCAyMDAsIDEwMCk7CisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCB0bzsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNjYWxlM2QoMjAwLCAxMDAs
IDMwMCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9O
X01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5z
Y2FsZTNkKDIwMCwgMTAwLCAzMDApOworICAgIHRvLmJsZW5kKGZyb20sIDAuMjUpOworICAgIEVY
UEVDVF9ST1cxX0VRKDEyNSwgMCwgIDAsICAwLCB0byk7CisgICAgRVhQRUNUX1JPVzJfRVEoMCwg
IDE3NSwgMCwgIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XM19FUSgwLCAgIDAsIDE1MCwgMCwgdG8p
OworICAgIEVYUEVDVF9ST1c0X0VRKDAsICAgMCwgIDAsICAxLCB0byk7CisKKyAgICB0by5tYWtl
SWRlbnRpdHkoKTsKKyAgICB0by5zY2FsZTNkKDIwMCwgMTAwLCAzMDApOworICAgIHRvLmJsZW5k
KGZyb20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMTUwLCAwLCAgMCwgIDAsIHRvKTsKKyAg
ICBFWFBFQ1RfUk9XMl9FUSgwLCAgMTUwLCAwLCAgMCwgdG8pOworICAgIEVYUEVDVF9ST1czX0VR
KDAsICAgMCwgMjAwLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgICAwLCAgMCwgIDEs
IHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNjYWxlM2QoMjAwLCAxMDAs
IDMwMCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMjAwLCAw
LCAgMCwgIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAgMTAwLCAwLCAgMCwgdG8pOwor
ICAgIEVYUEVDVF9ST1czX0VRKDAsICAgMCwgMzAwLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRf
RVEoMCwgICAwLCAgMCwgIDEsIHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eFRlc3QsIHZlcmlmeUJsZW5kRm9yU2tld1gpCit7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZnJvbTsKKyAgICBmcm9tLnNrZXdYKDApOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggdG87CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3WCg0NSk7CisgICAg
dG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShm
cm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3WCg0NSk7Cisg
ICAgdG8uYmxlbmQoZnJvbSwgMC41KTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgxLCAwLjUsIDAsIDAs
IHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAgMSwgIDAsIDAsIHRvKTsKKyAgICBFWFBFQ1Rf
Uk9XM19FUSgwLCAgMCwgIDEsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAgMCwgIDAs
IDEsIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNrZXdYKDQ1KTsKKyAg
ICB0by5ibGVuZChmcm9tLCAwLjI1KTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgxLCAwLjI1LCAwLCAw
LCB0byk7CisgICAgRVhQRUNUX1JPVzJfRVEoMCwgICAxLCAgMCwgMCwgdG8pOworICAgIEVYUEVD
VF9ST1czX0VRKDAsICAgMCwgIDEsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAgIDAs
ICAwLCAxLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3WCg0NSk7
CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMSwgMSwgMCwgMCwg
dG8pOworICAgIEVYUEVDVF9ST1cyX0VRKDAsIDEsIDAsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9X
M19FUSgwLCAwLCAxLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgMSwgdG8p
OworfQorCitURVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgdmVyaWZ5QmxlbmRGb3JT
a2V3WSkKK3sKKyAgICAvLyBOT1RFIENBUkVGVUxMWTogRGVjb21wb3NpdGlvbiBvZiBza2V3IGFu
ZCByb3RhdGlvbiB0ZXJtcyBvZiB0aGUgbWF0cml4IGlzCisgICAgLy8gaW5oZXJlbnRseSB1bmRl
cmNvbnN0cmFpbmVkLCBhbmQgc28gaXQgZG9lcyBub3QgYWx3YXlzIGNvbXB1dGUgdGhlIG9yaWdp
bmFsbHkKKyAgICAvLyBpbnRlbmRlZCBza2V3IHBhcmFtZXRlcnMuIFRoZSBjdXJyZW50IGltcGxl
bWVudGF0aW9uIHVzZXMgUVIgZGVjb21wb3NpdGlvbiwgd2hpY2gKKyAgICAvLyBkZWNvbXBvc2Vz
IHRoZSBzaGVhciBpbnRvIGEgcm90YXRpb24gKyBub24tdW5pZm9ybSBzY2FsZS4KKyAgICAvLwor
ICAgIC8vIEl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGRlY29tcG9zaXRpb24gaW1wbGVtZW50YXRp
b24gd2lsbCBuZWVkIHRvIGNoYW5nZSB2ZXJ5CisgICAgLy8gb2Z0ZW4sIHNvIHRvIGdldCBhbnkg
dGVzdCBjb3ZlcmFnZSwgdGhlIGNvbXByb21pc2UgaXMgdG8gdmVyaWZ5IHRoZSBleGFjdCBtYXRy
aXgKKyAgICAvLyB0aGF0IHRoZSBibGVuZCgpIG9wZXJhdGlvbiBwcm9kdWNlcy4KKyAgICAvLwor
ICAgIC8vIFRoaXMgcHJvYmxlbSBhbHNvIHBvdGVudGlhbGx5IGV4aXN0cyBmb3Igc2tld1gsIGJ1
dCB0aGUgY3VycmVudCBRUiBkZWNvbXBvc2l0aW9uCisgICAgLy8gaW1wbGVtZW50YXRpb24ganVz
dCBoYXBwZW5zIHRvIGRlY29tcG9zZSB0aG9zZSB0ZXN0IG1hdHJpY2VzIGludHVpdGl2ZWx5Lgor
CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbTsKKyAgICBmcm9tLnNrZXdZKDApOwor
CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdG87CisKKyAgICB0by5tYWtlSWRlbnRpdHko
KTsKKyAgICB0by5za2V3WSg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNU
X1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRp
dHkoKTsKKyAgICB0by5za2V3WSg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC4yNSk7CisgICAg
RVhQRUNUX1JPVzFfTkVBUigxLjA4MjM0ODk0NDkyODA5NDc0NzE5NzYzMzMsIDAuMDQ2NDM3MDcx
OTE0NTA1Mzg0NTE3ODIzOSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNU
X1JPVzJfTkVBUigwLjIxNTI5MjU5MDk2NjUyMjQ1MTMxMjMxNTAsIDAuOTU0MTcwMjQ0MTc1MDg2
MTEzMDAzMjAzNSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNf
RVEoMCwgMCwgMSwgMCwgdG8pOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAsIDEsIHRvKTsK
KworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNrZXdZKDQ1KTsKKyAgICB0by5ibGVu
ZChmcm9tLCAwLjUpOworICAgIEVYUEVDVF9ST1cxX05FQVIoMS4xMTUyMjEyOTI1ODA5MDY2MzEy
ODY1NTI1LCAwLjA2NzY0OTUxNDQwMDczMjY2MzE5OTYzMzUsIDAsIDAsIHRvLCBFUlJPUl9USFJF
U0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMC40NjE5Mzk3ODQ0MzQyNjQ4NjYyNDE5MDM3
LCAwLjk1MTkwMDkwNDU3MjQ3NzQ0NjQ4NTgzNDIsIDAsIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQp
OworICAgIEVYUEVDVF9ST1czX0VRKDAsIDAsIDEsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9F
USgwLCAwLCAwLCAxLCB0byk7CisKKyAgICAvLyBVbmZvcnR1bmF0ZWx5LCB0aGlzIGNhc2Ugc3Vm
ZmVycyBmcm9tIHVuY29tZm9ydGFibHkgbGFyZ2UgcHJlY2lzaW9uIGVycm9yLgorICAgIHRvLm1h
a2VJZGVudGl0eSgpOworICAgIHRvLnNrZXdZKDQ1KTsKKyAgICB0by5ibGVuZChmcm9tLCAxKTsK
KyAgICBFWFBFQ1RfUk9XMV9ORUFSKDEsIDAsIDAsIDAsIHRvLCBMT09TRV9FUlJPUl9USFJFU0hP
TEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMSwgMSwgMCwgMCwgdG8sIExPT1NFX0VSUk9SX1RI
UkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfRVEoMCwgMCwgMSwgMCwgdG8pOworICAgIEVYUEVD
VF9ST1c0X0VRKDAsIDAsIDAsIDEsIHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeFRlc3QsIHZlcmlmeUJsZW5kRm9yUm90YXRpb25BYm91dFgpCit7CisgICAgLy8gRXZlbiB0
aG91Z2ggYmxlbmRpbmcgdXNlcyBxdWF0ZXJuaW9ucywgYXhpcy1hbGlnbmVkIHJvdGF0aW9ucyBz
aG91bGQgYmxlbmQgdGhlIHNhbWUKKyAgICAvLyB3aXRoIHF1YXRlcm5pb25zIG9yIEV1bGVyIGFu
Z2xlcy4gU28gd2UgY2FuIHRlc3Qgcm90YXRpb24gYmxlbmRpbmcgYnkgY29tcGFyaW5nCisgICAg
Ly8gYWdhaW5zdCBtYW51YWxseSBzcGVjaWZpZWQgbWF0cmljZXMgZnJvbSBFdWxlciBhbmdsZXMu
CisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBmcm9tOworICAgIGZyb20ucm90YXRlM2Qo
MSwgMCwgMCwgMCk7CisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0bzsKKworICAgIHRv
Lm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0ZTNkKDEsIDAsIDAsIDkwKTsKKyAgICB0by5i
bGVuZChmcm9tLCAwKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGZyb20s
IHRvKTsKKworICAgIGRvdWJsZSBleHBlY3RlZFJvdGF0aW9uQW5nbGUgPSAyMi41ICogcGlEb3Vi
bGUgLyAxODAuMDsKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUzZCgxLCAw
LCAwLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC4yNSk7CisgICAgRVhQRUNUX1JPVzFfTkVB
UigxLCAwLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XMl9ORUFS
KDAsIGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVkUm90YXRpb25Bbmds
ZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX05FQVIoMCwgc2lu
KGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwg
dG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgMSwgdG8p
OworCisgICAgZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlID0gNDUuMCAqIHBpRG91YmxlIC8gMTgwLjA7
CisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRlM2QoMSwgMCwgMCwgOTApOwor
ICAgIHRvLmJsZW5kKGZyb20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfTkVBUigxLCAwLCAwLCAw
LCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XMl9ORUFSKDAsIGNvcyhleHBl
Y3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksIDAsIHRvLCBF
UlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX05FQVIoMCwgc2luKGV4cGVjdGVkUm90
YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgdG8sIEVSUk9SX1RI
UkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgMSwgdG8pOworCisgICAgdG8u
bWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRlM2QoMSwgMCwgMCwgOTApOworICAgIHRvLmJs
ZW5kKGZyb20sIDEpOworICAgIEVYUEVDVF9ST1cxX05FQVIoMSwgMCwgIDAsIDAsIHRvLCBFUlJP
Ul9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMCwgMCwgLTEsIDAsIHRvLCBFUlJP
Ul9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX05FQVIoMCwgMSwgIDAsIDAsIHRvLCBFUlJP
Ul9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAsIDEsIHRvKTsKK30KKwor
VEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUJsZW5kRm9yUm90YXRpb25B
Ym91dFkpCit7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbTsKKyAgICBmcm9tLnJv
dGF0ZTNkKDAsIDEsIDAsIDApOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdG87CisK
KyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUzZCgwLCAxLCAwLCA5MCk7Cisg
ICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9F
UShmcm9tLCB0byk7CisKKyAgICBkb3VibGUgZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlID0gMjIuNSAq
IHBpRG91YmxlIC8gMTgwLjA7CisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRl
M2QoMCwgMSwgMCwgOTApOworICAgIHRvLmJsZW5kKGZyb20sIDAuMjUpOworICAgIEVYUEVDVF9S
T1cxX05FQVIoY29zKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICAwLCBzaW4oZXhwZWN0ZWRSb3Rh
dGlvbkFuZ2xlKSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzJfTkVB
UigwLCAxLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XM19ORUFS
KC1zaW4oZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgY29zKGV4cGVjdGVkUm90YXRpb25Bbmds
ZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAs
IDEsIHRvKTsKKworICAgIGV4cGVjdGVkUm90YXRpb25BbmdsZSA9IDQ1LjAgKiBwaURvdWJsZSAv
IDE4MC4wOworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0ZTNkKDAsIDEsIDAs
IDkwKTsKKyAgICB0by5ibGVuZChmcm9tLCAwLjUpOworICAgIEVYUEVDVF9ST1cxX05FQVIoY29z
KGV4cGVjdGVkUm90YXRpb25BbmdsZSksICAwLCBzaW4oZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwg
MCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzJfTkVBUigwLCAxLCAwLCAw
LCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XM19ORUFSKC1zaW4oZXhwZWN0
ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgY29zKGV4cGVjdGVkUm90YXRpb25BbmdsZSksIDAsIHRvLCBF
UlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAsIDEsIHRvKTsKKwor
ICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0ZTNkKDAsIDEsIDAsIDkwKTsKKyAg
ICB0by5ibGVuZChmcm9tLCAxKTsKKyAgICBFWFBFQ1RfUk9XMV9ORUFSKDAsICAwLCAxLCAwLCB0
bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XMl9ORUFSKDAsICAxLCAwLCAwLCB0
bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XM19ORUFSKC0xLCAwLCAwLCAwLCB0
bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAxLCB0byk7
Cit9CisKK1RFU1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LCB2ZXJpZnlCbGVuZEZvclJv
dGF0aW9uQWJvdXRaKQoreworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGZyb207CisgICAg
ZnJvbS5yb3RhdGUzZCgwLCAwLCAxLCAwKTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
IHRvOworCisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRlM2QoMCwgMCwgMSwg
OTApOworICAgIHRvLmJsZW5kKGZyb20sIDApOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9N
QVRSSVhfRVEoZnJvbSwgdG8pOworCisgICAgZG91YmxlIGV4cGVjdGVkUm90YXRpb25BbmdsZSA9
IDIyLjUgKiBwaURvdWJsZSAvIDE4MC4wOworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRv
LnJvdGF0ZTNkKDAsIDAsIDEsIDkwKTsKKyAgICB0by5ibGVuZChmcm9tLCAwLjI1KTsKKyAgICBF
WFBFQ1RfUk9XMV9ORUFSKGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVk
Um90YXRpb25BbmdsZSksIDAsIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9S
T1cyX05FQVIoc2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlv
bkFuZ2xlKSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfTkVB
UigwLCAwLCAxLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgw
LCAwLCAwLCAxLCB0byk7CisKKyAgICBleHBlY3RlZFJvdGF0aW9uQW5nbGUgPSA0NS4wICogcGlE
b3VibGUgLyAxODAuMDsKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUzZCgw
LCAwLCAxLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC41KTsKKyAgICBFWFBFQ1RfUk9XMV9O
RUFSKGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVkUm90YXRpb25Bbmds
ZSksIDAsIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoc2lu
KGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwg
MCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfTkVBUigwLCAwLCAxLCAw
LCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAxLCB0
byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUzZCgwLCAwLCAxLCA5
MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JPVzFfTkVBUigwLCAtMSwg
MCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzJfTkVBUigxLCAgMCwg
MCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfTkVBUigwLCAgMCwg
MSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwg
MSwgdG8pOworfQorCisKK1RFU1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LCB2ZXJpZnlC
bGVuZEZvckNvbXBvc2l0ZVRyYW5zZm9ybSkKK3sKKyAgICAvLyBWZXJpZnkgdGhhdCB0aGUgYmxl
bmRpbmcgd2FzIGRvbmUgd2l0aCBhIGRlY29tcG9zaXRpb24gaW4gY29ycmVjdCBvcmRlciBieSBi
bGVuZGluZworICAgIC8vIGEgY29tcG9zaXRlIHRyYW5zZm9ybS4KKyAgICAvLyBVc2luZyBtYXRy
aXggeCB2ZWN0b3Igbm90YXRpb24gKEF4ID0gYiwgd2hlcmUgeCBpcyBjb2x1bW4gdmVjdG9yKSwg
dGhlIG9yZGVyaW5nIHNob3VsZCBiZToKKyAgICAvLyBwZXJzcGVjdGl2ZSAqIHRyYW5zbGF0aW9u
ICogcm90YXRpb24gKiBza2V3ICogc2NhbGUKKyAgICAvLworICAgIC8vIEl0IGlzIG5vdCBhcyBp
bXBvcnRhbnQgKG9yIG1lYW5pbmdmdWwpIHRvIGNoZWNrIGludGVybWVkaWF0ZSBpbnRlcnBvbGF0
aW9uczsgb3JkZXIKKyAgICAvLyBvZiBvcGVyYXRpb25zIHdpbGwgYmUgdGVzdGVkIHdlbGwgZW5v
dWdoIGJ5IHRoZSBlbmQgY2FzZXMgdGhhdCBhcmUgZWFzaWVyIHRvCisgICAgLy8gc3BlY2lmeS4K
KyAgICAKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBmcm9tOworICAgIFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4IHRvOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRF
bmRPZkFuaW1hdGlvbjsKKyAgICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLmFwcGx5UGVyc3BlY3Rp
dmUoMSk7CisgICAgZXhwZWN0ZWRFbmRPZkFuaW1hdGlvbi50cmFuc2xhdGUzZCgxMCwgMjAsIDMw
KTsKKyAgICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLnJvdGF0ZTNkKDAsIDAsIDEsIDI1KTsKKyAg
ICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLnNrZXdZKDQ1KTsKKyAgICBleHBlY3RlZEVuZE9mQW5p
bWF0aW9uLnNjYWxlM2QoNiwgNywgOCk7CisgICAgCisgICAgdG8gPSBleHBlY3RlZEVuZE9mQW5p
bWF0aW9uOworICAgIHRvLmJsZW5kKGZyb20sIDApOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElP
Tl9NQVRSSVhfRVEoZnJvbSwgdG8pOworCisgICAgdG8gPSBleHBlY3RlZEVuZE9mQW5pbWF0aW9u
OworICAgIHRvLmJsZW5kKGZyb20sIDEpOworCisgICAgLy8gUmVjb21wb3NpbmcgdGhlIG1hdHJp
eCByZXN1bHRzIGluIGEgbm9ybWFsaXplZCBtYXRyaXgsIHNvIHRvIHZlcmlmeSB3ZSBuZWVkIHRv
CisgICAgLy8gbm9ybWFsaXplIHRoZSBleHBlY3RlZEVuZE9mQW5pbWF0aW9uIGJlZm9yZSBjb21w
YXJpbmcgZWxlbWVudHMuIE5vcm1hbGl6aW5nIG1lYW5zCisgICAgLy8gZGl2aWRpbmcgZXZlcnl0
aGluZyBieSBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLm00NCgpLgorICAgIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4IG5vcm1hbGl6ZWRFeHBlY3RlZEVuZE9mQW5pbWF0aW9uID0gZXhwZWN0ZWRFbmRP
ZkFuaW1hdGlvbjsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBub3JtYWxpemF0aW9uTWF0
cml4OworICAgIG5vcm1hbGl6YXRpb25NYXRyaXguc2V0TTExKDEgLyBleHBlY3RlZEVuZE9mQW5p
bWF0aW9uLm00NCgpKTsKKyAgICBub3JtYWxpemF0aW9uTWF0cml4LnNldE0yMigxIC8gZXhwZWN0
ZWRFbmRPZkFuaW1hdGlvbi5tNDQoKSk7CisgICAgbm9ybWFsaXphdGlvbk1hdHJpeC5zZXRNMzMo
MSAvIGV4cGVjdGVkRW5kT2ZBbmltYXRpb24ubTQ0KCkpOworICAgIG5vcm1hbGl6YXRpb25NYXRy
aXguc2V0TTQ0KDEgLyBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLm00NCgpKTsKKyAgICBub3JtYWxp
emVkRXhwZWN0ZWRFbmRPZkFuaW1hdGlvbi5tdWx0aXBseShub3JtYWxpemF0aW9uTWF0cml4KTsK
KworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEobm9ybWFsaXplZEV4cGVjdGVk
RW5kT2ZBbmltYXRpb24sIHRvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143316</attachid>
            <date>2012-05-22 09:48:10 -0700</date>
            <delta_ts>2012-05-22 14:09:23 -0700</delta_ts>
            <desc>Also fix a badly hardcoded include file</desc>
            <filename>bug-87066-20120522094809.patch</filename>
            <type>text/plain</type>
            <size>14361</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDk0OWI0ZTVlNGM3M2U5ZDc3M2FmMDJmOGQ2NTNmNmI5MTVkYWEwMTMuLjFiOTc0NDE4OGJhZmE2
MDRkNzUyY2RmODI2MmZlMjdhZmI5Y2MwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMDUtMjEgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgdW5pdCB0ZXN0aW5nIGZvciBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6YmxlbmQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICA4IG1vcmUgdW5pdCB0ZXN0cyBhZGRlZDoKKyAgICAgICAgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yVHJhbnNsYXRpb24KKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2NhbGUKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2tld1gKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yU2tld1kKKyAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yUm90YXRpb25BYm91
dFgKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJsZW5kRm9yUm90
YXRpb25BYm91dFkKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LnZlcmlmeUJs
ZW5kRm9yUm90YXRpb25BYm91dFoKKyAgICAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0
LnZlcmlmeUJsZW5kRm9yQ29tcG9zaXRlVHJhbnNmb3JtCisKKyAgICAgICAgKiB0ZXN0cy9XZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OnByaW50VHJhbnNmb3JtKToKKwogMjAx
Mi0wNS0xOCAgTWljaGFlbCBOb3JkbWFuICA8bWljaGFlbG5AZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbVN0b3JhZ2UgZXZlbnRzIGhhbmRsaW5nIG5lZWRzIFRMQyAoMikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXhUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXhUZXN0LmNwcAppbmRleCBhZjI5MTY5OGFhMDI3NTU0NzJhZDg2NmFmZWM3MTAx
MWFiYjE4OTk4Li4yODg4ZTBkN2NjZTU0OWU3YzIwM2QyNmE0ZmM0OTdlOTYyY2VkNDlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlRyYW5zZm9ybWF0aW9uTWF0
cml4VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeFRlc3QuY3BwCkBAIC0yNCw5ICsyNCwxMSBAQAogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAKLSNpbmNsdWRlICIuLi8uLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXguaD4KIAorI2luY2x1ZGUgIkNDTGF5ZXJUcmVlVGVzdENvbW1vbi5oIgogI2lu
Y2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2Rl
ZmluZSBFWFBFQ1RfUk9XMV9FUShhLCBiLCBjLCBkLCBtYXRyaXgpICAgICAgXAogICAgIEVYUEVD
VF9GTE9BVF9FUSgoYSksIChtYXRyaXgpLm0xMSgpKTsgICAgICAgXApAQCAtNzQsNiArNzYsNyBA
QAogICAgIEVYUEVDVF9ORUFSKChkKSwgKG1hdHJpeCkubTQzKCksIChlcnJvclRocmVzaG9sZCkp
OwogCiAjZGVmaW5lIEVSUk9SX1RIUkVTSE9MRCAxZS0xNAorI2RlZmluZSBMT09TRV9FUlJPUl9U
SFJFU0hPTEQgMWUtNwogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBAIC05MjYsNyArOTI5
LDcgQEAgVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUlzSWRlbnRpdHlP
clRyYW5zbGF0aW9uKQogICAgIEVYUEVDVF9GQUxTRShBLmlzSWRlbnRpdHlPclRyYW5zbGF0aW9u
KCkpOwogfQogCi1URVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgaXNJbnRlZ2VyVHJh
bnNsYXRpb24pCitURVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgdmVyaWZ5SXNJbnRl
Z2VyVHJhbnNsYXRpb24pCiB7CiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggQTsKIApAQCAt
OTUzLDQgKzk1NiwzMjkgQEAgVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIGlzSW50
ZWdlclRyYW5zbGF0aW9uKQogICAgIEVYUEVDVF9UUlVFKEEuaXNJbnRlZ2VyVHJhbnNsYXRpb24o
KSk7CiB9CiAKK1RFU1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LCB2ZXJpZnlCbGVuZEZv
clRyYW5zbGF0aW9uKQoreworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGZyb207CisgICAg
ZnJvbS50cmFuc2xhdGUzZCgxMDAsIDIwMCwgMTAwKTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4IHRvOworCisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8udHJhbnNsYXRlM2Qo
MjAwLCAxMDAsIDMwMCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5T
Rk9STUFUSU9OX01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsK
KyAgICB0by50cmFuc2xhdGUzZCgyMDAsIDEwMCwgMzAwKTsKKyAgICB0by5ibGVuZChmcm9tLCAw
LjI1KTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgxLCAwLCAwLCAxMjUsIHRvKTsKKyAgICBFWFBFQ1Rf
Uk9XMl9FUSgwLCAxLCAwLCAxNzUsIHRvKTsKKyAgICBFWFBFQ1RfUk9XM19FUSgwLCAwLCAxLCAx
NTAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAgMSwgIHRvKTsKKworICAgIHRv
Lm1ha2VJZGVudGl0eSgpOworICAgIHRvLnRyYW5zbGF0ZTNkKDIwMCwgMTAwLCAzMDApOworICAg
IHRvLmJsZW5kKGZyb20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMSwgMCwgMCwgMTUwLCB0
byk7CisgICAgRVhQRUNUX1JPVzJfRVEoMCwgMSwgMCwgMTUwLCB0byk7CisgICAgRVhQRUNUX1JP
VzNfRVEoMCwgMCwgMSwgMjAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgIDEs
ICB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by50cmFuc2xhdGUzZCgyMDAs
IDEwMCwgMzAwKTsKKyAgICB0by5ibGVuZChmcm9tLCAxKTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgx
LCAwLCAwLCAyMDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAxLCAwLCAxMDAsIHRvKTsK
KyAgICBFWFBFQ1RfUk9XM19FUSgwLCAwLCAxLCAzMDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9F
USgwLCAwLCAwLCAgMSwgIHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRl
c3QsIHZlcmlmeUJsZW5kRm9yU2NhbGUpCit7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgg
ZnJvbTsKKyAgICBmcm9tLnNjYWxlM2QoMTAwLCAyMDAsIDEwMCk7CisKKyAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCB0bzsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNjYWxl
M2QoMjAwLCAxMDAsIDMwMCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RS
QU5TRk9STUFUSU9OX01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHko
KTsKKyAgICB0by5zY2FsZTNkKDIwMCwgMTAwLCAzMDApOworICAgIHRvLmJsZW5kKGZyb20sIDAu
MjUpOworICAgIEVYUEVDVF9ST1cxX0VRKDEyNSwgMCwgIDAsICAwLCB0byk7CisgICAgRVhQRUNU
X1JPVzJfRVEoMCwgIDE3NSwgMCwgIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XM19FUSgwLCAgIDAs
IDE1MCwgMCwgdG8pOworICAgIEVYUEVDVF9ST1c0X0VRKDAsICAgMCwgIDAsICAxLCB0byk7CisK
KyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5zY2FsZTNkKDIwMCwgMTAwLCAzMDApOwor
ICAgIHRvLmJsZW5kKGZyb20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfRVEoMTUwLCAwLCAgMCwg
IDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAgMTUwLCAwLCAgMCwgdG8pOworICAgIEVY
UEVDVF9ST1czX0VRKDAsICAgMCwgMjAwLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwg
ICAwLCAgMCwgIDEsIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNjYWxl
M2QoMjAwLCAxMDAsIDMwMCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JP
VzFfRVEoMjAwLCAwLCAgMCwgIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAgMTAwLCAw
LCAgMCwgdG8pOworICAgIEVYUEVDVF9ST1czX0VRKDAsICAgMCwgMzAwLCAwLCB0byk7CisgICAg
RVhQRUNUX1JPVzRfRVEoMCwgICAwLCAgMCwgIDEsIHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUJsZW5kRm9yU2tld1gpCit7CisgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggZnJvbTsKKyAgICBmcm9tLnNrZXdYKDApOworCisgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggdG87CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3
WCg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9O
X01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5z
a2V3WCg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC41KTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgx
LCAwLjUsIDAsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XMl9FUSgwLCAgMSwgIDAsIDAsIHRvKTsK
KyAgICBFWFBFQ1RfUk9XM19FUSgwLCAgMCwgIDEsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9XNF9F
USgwLCAgMCwgIDAsIDEsIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNr
ZXdYKDQ1KTsKKyAgICB0by5ibGVuZChmcm9tLCAwLjI1KTsKKyAgICBFWFBFQ1RfUk9XMV9FUSgx
LCAwLjI1LCAwLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzJfRVEoMCwgICAxLCAgMCwgMCwgdG8p
OworICAgIEVYUEVDVF9ST1czX0VRKDAsICAgMCwgIDEsIDAsIHRvKTsKKyAgICBFWFBFQ1RfUk9X
NF9FUSgwLCAgIDAsICAwLCAxLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0
by5za2V3WCg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JPVzFfRVEo
MSwgMSwgMCwgMCwgdG8pOworICAgIEVYUEVDVF9ST1cyX0VRKDAsIDEsIDAsIDAsIHRvKTsKKyAg
ICBFWFBFQ1RfUk9XM19FUSgwLCAwLCAxLCAwLCB0byk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwg
MCwgMCwgMSwgdG8pOworfQorCitURVNUKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4VGVzdCwgdmVy
aWZ5QmxlbmRGb3JTa2V3WSkKK3sKKyAgICAvLyBOT1RFIENBUkVGVUxMWTogRGVjb21wb3NpdGlv
biBvZiBza2V3IGFuZCByb3RhdGlvbiB0ZXJtcyBvZiB0aGUgbWF0cml4IGlzCisgICAgLy8gaW5o
ZXJlbnRseSB1bmRlcmNvbnN0cmFpbmVkLCBhbmQgc28gaXQgZG9lcyBub3QgYWx3YXlzIGNvbXB1
dGUgdGhlIG9yaWdpbmFsbHkKKyAgICAvLyBpbnRlbmRlZCBza2V3IHBhcmFtZXRlcnMuIFRoZSBj
dXJyZW50IGltcGxlbWVudGF0aW9uIHVzZXMgUVIgZGVjb21wb3NpdGlvbiwgd2hpY2gKKyAgICAv
LyBkZWNvbXBvc2VzIHRoZSBzaGVhciBpbnRvIGEgcm90YXRpb24gKyBub24tdW5pZm9ybSBzY2Fs
ZS4KKyAgICAvLworICAgIC8vIEl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGRlY29tcG9zaXRpb24g
aW1wbGVtZW50YXRpb24gd2lsbCBuZWVkIHRvIGNoYW5nZSB2ZXJ5CisgICAgLy8gb2Z0ZW4sIHNv
IHRvIGdldCBhbnkgdGVzdCBjb3ZlcmFnZSwgdGhlIGNvbXByb21pc2UgaXMgdG8gdmVyaWZ5IHRo
ZSBleGFjdCBtYXRyaXgKKyAgICAvLyB0aGF0IHRoZSBibGVuZCgpIG9wZXJhdGlvbiBwcm9kdWNl
cy4KKyAgICAvLworICAgIC8vIFRoaXMgcHJvYmxlbSBhbHNvIHBvdGVudGlhbGx5IGV4aXN0cyBm
b3Igc2tld1gsIGJ1dCB0aGUgY3VycmVudCBRUiBkZWNvbXBvc2l0aW9uCisgICAgLy8gaW1wbGVt
ZW50YXRpb24ganVzdCBoYXBwZW5zIHRvIGRlY29tcG9zZSB0aG9zZSB0ZXN0IG1hdHJpY2VzIGlu
dHVpdGl2ZWx5LgorCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbTsKKyAgICBmcm9t
LnNrZXdZKDApOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdG87CisKKyAgICB0by5t
YWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3WSg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7
CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICB0
by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5za2V3WSg0NSk7CisgICAgdG8uYmxlbmQoZnJvbSwg
MC4yNSk7CisgICAgRVhQRUNUX1JPVzFfTkVBUigxLjA4MjM0ODk0NDkyODA5NDc0NzE5NzYzMzMs
IDAuMDQ2NDM3MDcxOTE0NTA1Mzg0NTE3ODIzOSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7
CisgICAgRVhQRUNUX1JPVzJfTkVBUigwLjIxNTI5MjU5MDk2NjUyMjQ1MTMxMjMxNTAsIDAuOTU0
MTcwMjQ0MTc1MDg2MTEzMDAzMjAzNSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAg
RVhQRUNUX1JPVzNfRVEoMCwgMCwgMSwgMCwgdG8pOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAs
IDAsIDEsIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNrZXdZKDQ1KTsK
KyAgICB0by5ibGVuZChmcm9tLCAwLjUpOworICAgIEVYUEVDVF9ST1cxX05FQVIoMS4xMTUyMjEy
OTI1ODA5MDY2MzEyODY1NTI1LCAwLjA2NzY0OTUxNDQwMDczMjY2MzE5OTYzMzUsIDAsIDAsIHRv
LCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMC40NjE5Mzk3ODQ0MzQy
NjQ4NjYyNDE5MDM3LCAwLjk1MTkwMDkwNDU3MjQ3NzQ0NjQ4NTgzNDIsIDAsIDAsIHRvLCBFUlJP
Ul9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX0VRKDAsIDAsIDEsIDAsIHRvKTsKKyAgICBF
WFBFQ1RfUk9XNF9FUSgwLCAwLCAwLCAxLCB0byk7CisKKyAgICAvLyBVbmZvcnR1bmF0ZWx5LCB0
aGlzIGNhc2Ugc3VmZmVycyBmcm9tIHVuY29tZm9ydGFibHkgbGFyZ2UgcHJlY2lzaW9uIGVycm9y
LgorICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnNrZXdZKDQ1KTsKKyAgICB0by5ibGVu
ZChmcm9tLCAxKTsKKyAgICBFWFBFQ1RfUk9XMV9ORUFSKDEsIDAsIDAsIDAsIHRvLCBMT09TRV9F
UlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMSwgMSwgMCwgMCwgdG8sIExP
T1NFX0VSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfRVEoMCwgMCwgMSwgMCwgdG8p
OworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAsIDEsIHRvKTsKK30KKworVEVTVChXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUJsZW5kRm9yUm90YXRpb25BYm91dFgpCit7Cisg
ICAgLy8gRXZlbiB0aG91Z2ggYmxlbmRpbmcgdXNlcyBxdWF0ZXJuaW9ucywgYXhpcy1hbGlnbmVk
IHJvdGF0aW9ucyBzaG91bGQgYmxlbmQgdGhlIHNhbWUKKyAgICAvLyB3aXRoIHF1YXRlcm5pb25z
IG9yIEV1bGVyIGFuZ2xlcy4gU28gd2UgY2FuIHRlc3Qgcm90YXRpb24gYmxlbmRpbmcgYnkgY29t
cGFyaW5nCisgICAgLy8gYWdhaW5zdCBtYW51YWxseSBzcGVjaWZpZWQgbWF0cmljZXMgZnJvbSBF
dWxlciBhbmdsZXMuCisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBmcm9tOworICAgIGZy
b20ucm90YXRlM2QoMSwgMCwgMCwgMCk7CisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0
bzsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0ZTNkKDEsIDAsIDAsIDkw
KTsKKyAgICB0by5ibGVuZChmcm9tLCAwKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFU
UklYX0VRKGZyb20sIHRvKTsKKworICAgIGRvdWJsZSBleHBlY3RlZFJvdGF0aW9uQW5nbGUgPSAy
Mi41ICogcGlEb3VibGUgLyAxODAuMDsKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5y
b3RhdGUzZCgxLCAwLCAwLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC4yNSk7CisgICAgRVhQ
RUNUX1JPVzFfTkVBUigxLCAwLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBF
Q1RfUk9XMl9ORUFSKDAsIGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVk
Um90YXRpb25BbmdsZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cz
X05FQVIoMCwgc2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlv
bkFuZ2xlKSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwg
MCwgMCwgMSwgdG8pOworCisgICAgZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlID0gNDUuMCAqIHBpRG91
YmxlIC8gMTgwLjA7CisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRlM2QoMSwg
MCwgMCwgOTApOworICAgIHRvLmJsZW5kKGZyb20sIDAuNSk7CisgICAgRVhQRUNUX1JPVzFfTkVB
UigxLCAwLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XMl9ORUFS
KDAsIGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVkUm90YXRpb25Bbmds
ZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX05FQVIoMCwgc2lu
KGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwg
dG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRfRVEoMCwgMCwgMCwgMSwgdG8p
OworCisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRlM2QoMSwgMCwgMCwgOTAp
OworICAgIHRvLmJsZW5kKGZyb20sIDEpOworICAgIEVYUEVDVF9ST1cxX05FQVIoMSwgMCwgIDAs
IDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1cyX05FQVIoMCwgMCwgLTEs
IDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1czX05FQVIoMCwgMSwgIDAs
IDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAsIDEs
IHRvKTsKK30KKworVEVTVChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeFRlc3QsIHZlcmlmeUJsZW5k
Rm9yUm90YXRpb25BYm91dFkpCit7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbTsK
KyAgICBmcm9tLnJvdGF0ZTNkKDAsIDEsIDAsIDApOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXggdG87CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUzZCgwLCAx
LCAwLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMCk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFU
SU9OX01BVFJJWF9FUShmcm9tLCB0byk7CisKKyAgICBkb3VibGUgZXhwZWN0ZWRSb3RhdGlvbkFu
Z2xlID0gMjIuNSAqIHBpRG91YmxlIC8gMTgwLjA7CisgICAgdG8ubWFrZUlkZW50aXR5KCk7Cisg
ICAgdG8ucm90YXRlM2QoMCwgMSwgMCwgOTApOworICAgIHRvLmJsZW5kKGZyb20sIDAuMjUpOwor
ICAgIEVYUEVDVF9ST1cxX05FQVIoY29zKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICAwLCBzaW4o
ZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQ
RUNUX1JPVzJfTkVBUigwLCAxLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBF
Q1RfUk9XM19ORUFSKC1zaW4oZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgY29zKGV4cGVjdGVk
Um90YXRpb25BbmdsZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0
X0VRKDAsIDAsIDAsIDEsIHRvKTsKKworICAgIGV4cGVjdGVkUm90YXRpb25BbmdsZSA9IDQ1LjAg
KiBwaURvdWJsZSAvIDE4MC4wOworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0
ZTNkKDAsIDEsIDAsIDkwKTsKKyAgICB0by5ibGVuZChmcm9tLCAwLjUpOworICAgIEVYUEVDVF9S
T1cxX05FQVIoY29zKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICAwLCBzaW4oZXhwZWN0ZWRSb3Rh
dGlvbkFuZ2xlKSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzJfTkVB
UigwLCAxLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XM19ORUFS
KC1zaW4oZXhwZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgY29zKGV4cGVjdGVkUm90YXRpb25Bbmds
ZSksIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9ST1c0X0VRKDAsIDAsIDAs
IDEsIHRvKTsKKworICAgIHRvLm1ha2VJZGVudGl0eSgpOworICAgIHRvLnJvdGF0ZTNkKDAsIDEs
IDAsIDkwKTsKKyAgICB0by5ibGVuZChmcm9tLCAxKTsKKyAgICBFWFBFQ1RfUk9XMV9ORUFSKDAs
ICAwLCAxLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XMl9ORUFSKDAs
ICAxLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XM19ORUFSKC0x
LCAwLCAwLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgwLCAw
LCAwLCAxLCB0byk7Cit9CisKK1RFU1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhUZXN0LCB2ZXJp
ZnlCbGVuZEZvclJvdGF0aW9uQWJvdXRaKQoreworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
IGZyb207CisgICAgZnJvbS5yb3RhdGUzZCgwLCAwLCAxLCAwKTsKKworICAgIFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4IHRvOworCisgICAgdG8ubWFrZUlkZW50aXR5KCk7CisgICAgdG8ucm90YXRl
M2QoMCwgMCwgMSwgOTApOworICAgIHRvLmJsZW5kKGZyb20sIDApOworICAgIEVYUEVDVF9UUkFO
U0ZPUk1BVElPTl9NQVRSSVhfRVEoZnJvbSwgdG8pOworCisgICAgZG91YmxlIGV4cGVjdGVkUm90
YXRpb25BbmdsZSA9IDIyLjUgKiBwaURvdWJsZSAvIDE4MC4wOworICAgIHRvLm1ha2VJZGVudGl0
eSgpOworICAgIHRvLnJvdGF0ZTNkKDAsIDAsIDEsIDkwKTsKKyAgICB0by5ibGVuZChmcm9tLCAw
LjI1KTsKKyAgICBFWFBFQ1RfUk9XMV9ORUFSKGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAt
c2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksIDAsIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOwor
ICAgIEVYUEVDVF9ST1cyX05FQVIoc2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhw
ZWN0ZWRSb3RhdGlvbkFuZ2xlKSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQ
RUNUX1JPVzNfTkVBUigwLCAwLCAxLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBF
Q1RfUk9XNF9FUSgwLCAwLCAwLCAxLCB0byk7CisKKyAgICBleHBlY3RlZFJvdGF0aW9uQW5nbGUg
PSA0NS4wICogcGlEb3VibGUgLyAxODAuMDsKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0
by5yb3RhdGUzZCgwLCAwLCAxLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMC41KTsKKyAgICBF
WFBFQ1RfUk9XMV9ORUFSKGNvcyhleHBlY3RlZFJvdGF0aW9uQW5nbGUpLCAtc2luKGV4cGVjdGVk
Um90YXRpb25BbmdsZSksIDAsIDAsIHRvLCBFUlJPUl9USFJFU0hPTEQpOworICAgIEVYUEVDVF9S
T1cyX05FQVIoc2luKGV4cGVjdGVkUm90YXRpb25BbmdsZSksICBjb3MoZXhwZWN0ZWRSb3RhdGlv
bkFuZ2xlKSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNfTkVB
UigwLCAwLCAxLCAwLCB0bywgRVJST1JfVEhSRVNIT0xEKTsKKyAgICBFWFBFQ1RfUk9XNF9FUSgw
LCAwLCAwLCAxLCB0byk7CisKKyAgICB0by5tYWtlSWRlbnRpdHkoKTsKKyAgICB0by5yb3RhdGUz
ZCgwLCAwLCAxLCA5MCk7CisgICAgdG8uYmxlbmQoZnJvbSwgMSk7CisgICAgRVhQRUNUX1JPVzFf
TkVBUigwLCAtMSwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzJf
TkVBUigxLCAgMCwgMCwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzNf
TkVBUigwLCAgMCwgMSwgMCwgdG8sIEVSUk9SX1RIUkVTSE9MRCk7CisgICAgRVhQRUNUX1JPVzRf
RVEoMCwgMCwgMCwgMSwgdG8pOworfQorCisKK1RFU1QoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXhU
ZXN0LCB2ZXJpZnlCbGVuZEZvckNvbXBvc2l0ZVRyYW5zZm9ybSkKK3sKKyAgICAvLyBWZXJpZnkg
dGhhdCB0aGUgYmxlbmRpbmcgd2FzIGRvbmUgd2l0aCBhIGRlY29tcG9zaXRpb24gaW4gY29ycmVj
dCBvcmRlciBieSBibGVuZGluZworICAgIC8vIGEgY29tcG9zaXRlIHRyYW5zZm9ybS4KKyAgICAv
LyBVc2luZyBtYXRyaXggeCB2ZWN0b3Igbm90YXRpb24gKEF4ID0gYiwgd2hlcmUgeCBpcyBjb2x1
bW4gdmVjdG9yKSwgdGhlIG9yZGVyaW5nIHNob3VsZCBiZToKKyAgICAvLyBwZXJzcGVjdGl2ZSAq
IHRyYW5zbGF0aW9uICogcm90YXRpb24gKiBza2V3ICogc2NhbGUKKyAgICAvLworICAgIC8vIEl0
IGlzIG5vdCBhcyBpbXBvcnRhbnQgKG9yIG1lYW5pbmdmdWwpIHRvIGNoZWNrIGludGVybWVkaWF0
ZSBpbnRlcnBvbGF0aW9uczsgb3JkZXIKKyAgICAvLyBvZiBvcGVyYXRpb25zIHdpbGwgYmUgdGVz
dGVkIHdlbGwgZW5vdWdoIGJ5IHRoZSBlbmQgY2FzZXMgdGhhdCBhcmUgZWFzaWVyIHRvCisgICAg
Ly8gc3BlY2lmeS4KKyAgICAKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBmcm9tOworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHRvOworCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRFbmRPZkFuaW1hdGlvbjsKKyAgICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLmFw
cGx5UGVyc3BlY3RpdmUoMSk7CisgICAgZXhwZWN0ZWRFbmRPZkFuaW1hdGlvbi50cmFuc2xhdGUz
ZCgxMCwgMjAsIDMwKTsKKyAgICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLnJvdGF0ZTNkKDAsIDAs
IDEsIDI1KTsKKyAgICBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLnNrZXdZKDQ1KTsKKyAgICBleHBl
Y3RlZEVuZE9mQW5pbWF0aW9uLnNjYWxlM2QoNiwgNywgOCk7CisgICAgCisgICAgdG8gPSBleHBl
Y3RlZEVuZE9mQW5pbWF0aW9uOworICAgIHRvLmJsZW5kKGZyb20sIDApOworICAgIEVYUEVDVF9U
UkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZnJvbSwgdG8pOworCisgICAgdG8gPSBleHBlY3RlZEVu
ZE9mQW5pbWF0aW9uOworICAgIHRvLmJsZW5kKGZyb20sIDEpOworCisgICAgLy8gUmVjb21wb3Np
bmcgdGhlIG1hdHJpeCByZXN1bHRzIGluIGEgbm9ybWFsaXplZCBtYXRyaXgsIHNvIHRvIHZlcmlm
eSB3ZSBuZWVkIHRvCisgICAgLy8gbm9ybWFsaXplIHRoZSBleHBlY3RlZEVuZE9mQW5pbWF0aW9u
IGJlZm9yZSBjb21wYXJpbmcgZWxlbWVudHMuIE5vcm1hbGl6aW5nIG1lYW5zCisgICAgLy8gZGl2
aWRpbmcgZXZlcnl0aGluZyBieSBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLm00NCgpLgorICAgIFdl
YlRyYW5zZm9ybWF0aW9uTWF0cml4IG5vcm1hbGl6ZWRFeHBlY3RlZEVuZE9mQW5pbWF0aW9uID0g
ZXhwZWN0ZWRFbmRPZkFuaW1hdGlvbjsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBub3Jt
YWxpemF0aW9uTWF0cml4OworICAgIG5vcm1hbGl6YXRpb25NYXRyaXguc2V0TTExKDEgLyBleHBl
Y3RlZEVuZE9mQW5pbWF0aW9uLm00NCgpKTsKKyAgICBub3JtYWxpemF0aW9uTWF0cml4LnNldE0y
MigxIC8gZXhwZWN0ZWRFbmRPZkFuaW1hdGlvbi5tNDQoKSk7CisgICAgbm9ybWFsaXphdGlvbk1h
dHJpeC5zZXRNMzMoMSAvIGV4cGVjdGVkRW5kT2ZBbmltYXRpb24ubTQ0KCkpOworICAgIG5vcm1h
bGl6YXRpb25NYXRyaXguc2V0TTQ0KDEgLyBleHBlY3RlZEVuZE9mQW5pbWF0aW9uLm00NCgpKTsK
KyAgICBub3JtYWxpemVkRXhwZWN0ZWRFbmRPZkFuaW1hdGlvbi5tdWx0aXBseShub3JtYWxpemF0
aW9uTWF0cml4KTsKKworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEobm9ybWFs
aXplZEV4cGVjdGVkRW5kT2ZBbmltYXRpb24sIHRvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UK
</data>
<flag name="review"
          id="149855"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>