<?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>41872</bug_id>
          
          <creation_ts>2010-07-08 10:52:57 -0700</creation_ts>
          <short_desc>Allow the TestPlugin to use Core Animation rendering for testing</short_desc>
          <delta_ts>2010-07-08 16:11:01 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>248338</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 10:52:57 -0700</bug_when>
    <thetext>It would be great if the TestPlugin could use CA mode, so that we can use it in layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248448</commentid>
    <comment_count>1</comment_count>
      <attachid>60934</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 12:50:31 -0700</bug_when>
    <thetext>Created attachment 60934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248451</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-08 12:52:09 -0700</bug_when>
    <thetext>Attachment 60934 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:162:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:164:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:169:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:176:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 4 in 5 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>248579</commentid>
    <comment_count>3</comment_count>
      <attachid>60969</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 15:15:02 -0700</bug_when>
    <thetext>Created attachment 60969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248581</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-08 15:17:20 -0700</bug_when>
    <thetext>Attachment 60969 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:163:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:165:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:170:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:177:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 4 in 5 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>248595</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 15:37:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/62857</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248610</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-08 16:11:01 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/62857 might have broken Tiger Intel Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/62857
http://trac.webkit.org/changeset/62858</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60934</attachid>
            <date>2010-07-08 12:50:31 -0700</date>
            <delta_ts>2010-07-08 15:14:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41872-20100708125030.patch</filename>
            <type>text/plain</type>
            <size>14055</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhNmIxZWM0OWUwZTQ4NjZlMTI0Nzk4MmMyNGEwN2Y4MzhmZGY2MzQ0Li4wMTFiMjBj
YzRjZjg4OGZlMzljNzljZThiMTE3NjMxN2Q5N2I3ZjlmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgdGhlIFRl
c3RQbHVnaW4gdG8gdXNlIENvcmUgQW5pbWF0aW9uIHJlbmRlcmluZyBmb3IgdGVzdGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4NzIKKyAgICAg
ICAgCisgICAgICAgIEFkZCB0aGUgYWJpbGl0eSBmb3IgdGhlIFRlc3RQbHVnaW4gdG8gdXNlIHRo
ZSBDb3JlQW5pbWF0aW9uIHJlbmRlcmluZyBtb2RlbAorICAgICAgICB3aGVuIGF2YWlsYWJsZSwg
YmFzZWQgb24gdGhlICJkcmF3aW5nbW9kZWwiIGF0dHJpYnV0ZSBvZiB0aGUgZW1iZWQgdGFnOgor
ICAgICAgICAgICAgZHJhd2luZ21vZGVsPSJjb3JlYW5pbWF0aW9uIgorCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBB
ZGQgUGx1Z2luT2JqZWN0TWFjLm1tCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL1BsdWdpbk9iamVjdC5oOiBBZGQgc29tZSBtYWNyb3Mgc28gd2UgY2FuIGRldGVj
dAorICAgICAgICB3aGVuIGJ1aWxkaW5nIG9uIFRpZ2VyLiBBZGQgYSB2b2lkKiBjb3JlQW5pbWF0
aW9uTGF5ZXIgbWVtYmVyLgorICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0
TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0TWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0
ZUNvcmVBbmltYXRpb25MYXllcik6IE9iai1DIG1ldGhvZHMgdG8gbWFuYWdlIHRoZSBDQUxheWVy
LgorICAgICAgICAocmVsZWFzZUNvcmVBbmltYXRpb25MYXllcik6CisgICAgICAgIChyZXRhaW5l
ZENvcmVBbmltYXRpb25MYXllcik6CisgICAgICAgIChyZXNpemVDb3JlQW5pbWF0aW9uTGF5ZXIp
OgorICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
bWFpbi5jcHA6CisgICAgICAgIChOUFBfTmV3KTogTG9vayBmb3IgdGhlIGRyYXdpbmdtb2RlbCBh
dHRyaWJ1dGUgdG8gZGVjaWRlIHdoaWNoIGRyYXdpbmcKKyAgICAgICAgbW9kZWwgdG8gdXNlLgor
ICAgICAgICAoTlBQX0Rlc3Ryb3kpOiBSZWxlYXNlIHRoZSBDQUxheWVyIGlmIHdlIGhhdmUgb25l
LgorICAgICAgICAoTlBQX1NldFdpbmRvdyk6IFJlc2l6ZSB0aGUgQ0FMYXllci4KKyAgICAgICAg
KE5QUF9HZXRWYWx1ZSk6IFJldHVybiB0aGUgcmV0YWluZWQgQ0FMYXllci4KKwogMjAxMC0wNy0w
OCAgSmF5IENpdmVsbGkgIDxqY2l2ZWxsaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gQWRkaW5nIG15c2VsZiBhcyBhIGNvbW1pdHRlci4KZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGY5OTQ2NDg4MzMyOGU2OTAwYjBjZDllYTdmOWY5OTU3MGFj
MTRmYzIuLjJlZDVkYWFmYjYxZTIzYmI2NTdhOTFhNjNiMGQ0ZDdlYWJhZTFlN2YgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQsNiArMjQsOCBAQAogLyogRW5k
IFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBz
ZWN0aW9uICovCisJCTBGMzdBNEE3MTFFNjYyODcwMDI3NUY1NCAvKiBQbHVnaW5PYmplY3RNYWMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM3QTRB
NjExRTY2Mjg3MDAyNzVGNTQgLyogUGx1Z2luT2JqZWN0TWFjLm1tICovOyB9OworCQkwRjM3QTRB
QTExRTY2MjkxMDAyNzVGNTQgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUE3NTJBMTA4QUY1RDFGMDAxMzhF
NDUgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTE0MUJGNDM1MDk2QTQ1NTkwMEUw
NzUzQyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTMzNTQzNUYwM0Q3NTUwMjAwODYzNUNFIC8qIFdlYktpdC5mcmFt
ZXdvcmsgKi87IH07CiAJCTE0MUJGNDM2MDk2QTQ1NTkwMEUwNzUzQyAvKiBDb2NvYS5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODRG
NjA4OTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJhbWV3b3JrICovOyB9OwogCQkxNDFCRjQz
ODA5NkE0NTU5MDBFMDc1M0MgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgxNzA5MDMwOEIxNjREMzAw
Q0NCOUZCIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsKQEAgLTE3OCw2ICsxODAs
NyBAQAogLyogRW5kIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJMEYzN0E0QTYxMUU2NjI4NzAwMjc1RjU0
IC8qIFBsdWdpbk9iamVjdE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBsdWdpbk9iamVjdE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MTQxQkYyMzMwOTZBNDRDRjAwRTA3NTNDIC8qIFRlc3ROZXRzY2FwZVBsdWdJbi5wbHVnaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2Zi
dW5kbGU7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFRlc3ROZXRzY2FwZVBsdWdJbi5wbHVn
aW47IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTE0MUJGNDQ3MDk2QTQ1
QzgwMEUwNzUzQyAvKiBQbHVnaW5PYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBsdWdpbk9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDFC
RjQ0ODA5NkE0NUM4MDBFMDc1M0MgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0
LnhtbDsgbmFtZSA9IEluZm8ucGxpc3Q7IHBhdGggPSBtYWMvSW5mby5wbGlzdDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MCw2ICsyOTMsNyBAQAogCQkJCTE0MUJGNDM2MDk2QTQ1
NTkwMEUwNzUzQyAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkxNDFC
RjQzODA5NkE0NTU5MDBFMDc1M0MgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCiAJCQkJMTQxQkY0MzUwOTZBNDU1OTAwRTA3NTNDIC8qIFdlYktpdC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQkwRjM3QTRBQTExRTY2MjkxMDAyNzVGNTQgLyogUXVh
cnR6Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTM1Niw2ICszNjAsNyBAQAog
CQkJCTE0MUJGNDQ4MDk2QTQ1QzgwMEUwNzUzQyAvKiBJbmZvLnBsaXN0ICovLAogCQkJCTFBQzZD
NzdGMEQwNzU4OUIwMENEMzE2MSAvKiBtYWluLmNwcCAqLywKIAkJCQkxQUM2Qzc4MDBEMDc1ODlC
MDBDRDMxNjEgLyogUGx1Z2luT2JqZWN0LmNwcCAqLywKKwkJCQkwRjM3QTRBNjExRTY2Mjg3MDAy
NzVGNTQgLyogUGx1Z2luT2JqZWN0TWFjLm1tICovLAogCQkJCTE0MUJGNDQ3MDk2QTQ1QzgwMEUw
NzUzQyAvKiBQbHVnaW5PYmplY3QuaCAqLywKIAkJCQkxQUM2Qzc4MTBEMDc1ODlCMDBDRDMxNjEg
LyogVGVzdE9iamVjdC5jcHAgKi8sCiAJCQkJMUE4RjAyNEMwQkI5QjA1NjAwOENGQTM0IC8qIFRl
c3RPYmplY3QuaCAqLywKQEAgLTY3OCw2ICs2ODMsNyBAQAogCQkJCTFBQzZDODQ5MEQwNzYzODYw
MENEMzE2MSAvKiBtYWluLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzZDODRBMEQwNzYzODYw
MENEMzE2MSAvKiBQbHVnaW5PYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDNkM4NEIw
RDA3NjM4NjAwQ0QzMTYxIC8qIFRlc3RPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYz
N0E0QTcxMUU2NjI4NzAwMjc1RjU0IC8qIFBsdWdpbk9iamVjdE1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL1BsdWdpbk9iamVjdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL1BsdWdpbk9iamVjdC5oCmluZGV4IGNlZWM0MGE4NmMwNjM4YTllMDdjMjNkZmRi
MGFjOTA2NTU0OTllNWEuLjQ0OTYxNzBlNzc4MWFhODJlNDA1YzIzMzQxZjM0OGNkZDBlNzc3YjEg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi9QbHVnaW5PYmplY3QuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmgKQEAgLTI1LDYgKzI1LDE2IEBACiAKICNpbmNsdWRl
IDxXZWJLaXQvbnBmdW5jdGlvbnMuaD4KIAorI2lmIFhQX01BQ09TWAorI2lmICFkZWZpbmVkKE1B
Q19PU19YX1ZFUlNJT05fMTBfNSkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1B
Q19PU19YX1ZFUlNJT05fMTBfNQorI2RlZmluZSBCVUlMRElOR19PTl9USUdFUiAxCisjZWxpZiAh
ZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFS
RCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEIDEKKyNlbmRpZgorI2VuZGlmIC8vIFhQX01BQ09TWAorCiBleHRl
cm4gTlBOZXRzY2FwZUZ1bmNzICpicm93c2VyOwogCiB0eXBlZGVmIHN0cnVjdCB7CkBAIC01Niw2
ICs2Niw5IEBAIHR5cGVkZWYgc3RydWN0IHsKICNpZmRlZiBYUF9NQUNPU1gKICAgICBOUEV2ZW50
TW9kZWwgZXZlbnRNb2RlbDsKICNlbmRpZgorI2lmIFhQX01BQ09TWCAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9USUdFUikKKyAgICB2b2lkKiBjb3JlQW5pbWF0aW9uTGF5ZXI7CisjZW5kaWYKICAg
ICBOUFdpbmRvdyBsYXN0V2luZG93OwogfSBQbHVnaW5PYmplY3Q7CiAKQEAgLTY2LDMgKzc5LDEx
IEBAIGV4dGVybiB2b2lkIHRlc3ROUFJ1bnRpbWUoTlBQIG5wcCk7CiBleHRlcm4gdm9pZCBwbHVn
aW5Mb2coTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLik7CiBleHRlcm4gYm9v
bCB0ZXN0RG9jdW1lbnRPcGVuKE5QUCBucHApOwogZXh0ZXJuIGJvb2wgdGVzdFdpbmRvd09wZW4o
TlBQIG5wcCk7CisKKyNpZiBYUF9NQUNPU1ggJiYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIp
CitleHRlcm4gdm9pZCogY3JlYXRlQ29yZUFuaW1hdGlvbkxheWVyKCk7CitleHRlcm4gdm9pZCog
cmV0YWluZWRDb3JlQW5pbWF0aW9uTGF5ZXIodm9pZCopOworZXh0ZXJuIHZvaWQgcmVsZWFzZUNv
cmVBbmltYXRpb25MYXllcih2b2lkKik7Cit2b2lkIHJlc2l6ZUNvcmVBbmltYXRpb25MYXllcih2
b2lkKiBsYXllciwgdWludDMyX3Qgd2lkdGgsIHVpbnQzMl90IGhlaWdodCk7CisjZW5kaWYKKwpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0lu
L1BsdWdpbk9iamVjdE1hYy5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRz
Y2FwZVBsdWdJbi9QbHVnaW5PYmplY3RNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ0NDY0ZWIwMjk1NWYy
MTliYjhhNDcxYWU2MWE3OWJiYjNkYzM3MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3RNYWMubW0KQEAg
LTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2luY2x1ZGUgIlBsdWdpbk9iamVjdC5oIgorCisjaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fVElHRVIpCisKKyNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
Kwordm9pZCogY3JlYXRlQ29yZUFuaW1hdGlvbkxheWVyKCkKK3sKKyAgICBDQUxheWVyICpjYUxh
eWVyID0gW1tDQUxheWVyIGFsbG9jXSBpbml0XTsKKworICAgIE5TTnVsbCAqbnVsbFZhbHVlID0g
W05TTnVsbCBudWxsXTsKKyAgICBOU0RpY3Rpb25hcnkgKmFjdGlvbnMgPSBbTlNEaWN0aW9uYXJ5
IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG51bGxWYWx1ZSwgQCJhbmNob3JQb2ludCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG51bGxWYWx1ZSwgQCJib3VuZHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBu
dWxsVmFsdWUsIEAiY29udGVudHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxs
VmFsdWUsIEAiY29udGVudHNSZWN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVs
bFZhbHVlLCBAIm9wYWNpdHkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFs
dWUsIEAicG9zaXRpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUs
IEAic2hhZG93Q29sb3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUs
IEAic3VibGF5ZXJUcmFuc2Zvcm0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxs
VmFsdWUsIEAic3VibGF5ZXJzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZh
bHVlLCBAInRyYW5zZm9ybSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1
ZSwgQCJ6UG9zaXRpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWxdOworICAg
IC8vIFR1cm4gb2ZmIGRlZmF1bHQgYW5pbWF0aW9ucy4KKyAgICBbY2FMYXllciBzZXRTdHlsZTpb
TlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OmFjdGlvbnMgZm9yS2V5OkAiYWN0aW9u
cyJdXTsKKyAgICAKKyAgICBDR0NvbG9yUmVmIGNvbG9yID0gQ0dDb2xvckNyZWF0ZUdlbmVyaWNS
R0IoMCwgMCwgMSwgMSk7CisgICAgW2NhTGF5ZXIgc2V0QmFja2dyb3VuZENvbG9yOmNvbG9yXTsK
KyAgICBDR0NvbG9yUmVsZWFzZShjb2xvcik7CisgICAgCisgICAgcmV0dXJuIGNhTGF5ZXI7Cit9
CisKK3ZvaWQgcmVsZWFzZUNvcmVBbmltYXRpb25MYXllcih2b2lkKiBsYXllcikKK3sKKyAgICBD
QUxheWVyICpjYUxheWVyID0gcmVpbnRlcnByZXRfY2FzdDxDQUxheWVyICo+KGxheWVyKTsKKyAg
ICBbY2FMYXllciByZWxlYXNlXTsKK30KKwordm9pZCogcmV0YWluZWRDb3JlQW5pbWF0aW9uTGF5
ZXIodm9pZCogbGF5ZXIpCit7CisgICAgQ0FMYXllciAqY2FMYXllciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8Q0FMYXllciAqPihsYXllcik7CisgICAgcmV0dXJuIFtjYUxheWVyIHJldGFpbl07Cit9CisK
K3ZvaWQgcmVzaXplQ29yZUFuaW1hdGlvbkxheWVyKHZvaWQqIGxheWVyLCB1aW50MzJfdCB3aWR0
aCwgdWludDMyX3QgaGVpZ2h0KQoreworICAgIENBTGF5ZXIgKmNhTGF5ZXIgPSByZWludGVycHJl
dF9jYXN0PENBTGF5ZXIgKj4obGF5ZXIpOworICAgIFtjYUxheWVyIHNldEJvdW5kczpDR1JlY3RN
YWtlKDAsIDAsIHdpZHRoLCBoZWlnaHQpXTsKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxE
SU5HX09OX1RJR0VSKQorCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAKaW5kZXggMTE3NTFhYWMwMDQwMGI3NjlmODA5NWIz
ZTY5NzIwOGQzODBjNzU4Ni4uZWNhMGM0ZjEyZjVlNmJkNDRiMzEwNTk4ZWZlMDY1MGY3MGFkNTQ0
NCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL21haW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2Fw
ZVBsdWdJbi9tYWluLmNwcApAQCAtODksNyArODksMTEgQEAgTlBFcnJvciBOUFBfTmV3KE5QTUlN
RVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3RhbmNlLCB1aW50MTZfdCBtb2RlLCBpbnQxNl90IGFy
Z2MKICAgICBpZiAoIXN1cHBvcnRzQ29yZUdyYXBoaWNzKQogICAgICAgICByZXR1cm4gTlBFUlJf
SU5DT01QQVRJQkxFX1ZFUlNJT05fRVJST1I7CiAKLSAgICBicm93c2VyLT5zZXR2YWx1ZShpbnN0
YW5jZSwgTlBQVnBsdWdpbkRyYXdpbmdNb2RlbCwgKHZvaWQgKilOUERyYXdpbmdNb2RlbENvcmVH
cmFwaGljcyk7CisgICAgTlBEcmF3aW5nTW9kZWwgZHJhd2luZ01vZGVsVG9Vc2UgPSBOUERyYXdp
bmdNb2RlbENvcmVHcmFwaGljczsKKyAgICAKKyAgICBOUEJvb2wgc3VwcG9ydHNDb3JlQW5pbWF0
aW9uOworICAgIGlmIChicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVnN1cHBvcnRzQ29y
ZUFuaW1hdGlvbkJvb2wsICZzdXBwb3J0c0NvcmVBbmltYXRpb24pICE9IE5QRVJSX05PX0VSUk9S
KQorICAgICAgICBzdXBwb3J0c0NvcmVBbmltYXRpb24gPSBmYWxzZTsKIAogI2lmbmRlZiBOUF9O
T19DQVJCT04KICAgICBOUEJvb2wgc3VwcG9ydHNDYXJib24gPSBmYWxzZTsKQEAgLTE1NSw3ICsx
NTksMjEgQEAgTlBFcnJvciBOUFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3Rh
bmNlLCB1aW50MTZfdCBtb2RlLCBpbnQxNl90IGFyZ2MKICAgICAgICAgICAgIG9iai0+dGVzdERv
Y3VtZW50T3BlbkluRGVzdHJveVN0cmVhbSA9IFRSVUU7CiAgICAgICAgIGVsc2UgaWYgKHN0cmNh
c2VjbXAoYXJnbltpXSwgInRlc3R3aW5kb3dvcGVuIikgPT0gMCkKICAgICAgICAgICAgIG9iai0+
dGVzdFdpbmRvd09wZW4gPSBUUlVFOwotICAgICAgICBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25b
aV0sICJ0ZXN0R2V0VVJMT25EZXN0cm95IikgPT0gMCkgeworICAgICAgICBlbHNlIGlmIChzdHJj
YXNlY21wKGFyZ25baV0sICJkcmF3aW5nbW9kZWwiKSA9PSAwKSB7CisgICAgICAgICAgICBjb25z
dCBjaGFyKiB2YWx1ZSA9IGFyZ3ZbaV07CisgICAgICAgICAgICBpZiAoc3RyY2FzZWNtcCh2YWx1
ZSwgImNvcmVhbmltYXRpb24iKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRz
Q29yZUFuaW1hdGlvbikKKyAgICAgICAgICAgICAgICAgICAgZHJhd2luZ01vZGVsVG9Vc2UgPSBO
UERyYXdpbmdNb2RlbENvcmVBbmltYXRpb247CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfSU5DT01QQVRJQkxFX1ZFUlNJT05fRVJST1I7Cisg
ICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjYXNlY21wKHZhbHVlLCAiY29yZWdyYXBoaWNzIikg
PT0gMCkgeworICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0c0NvcmVHcmFwaGljcykKKyAgICAg
ICAgICAgICAgICAgICAgZHJhd2luZ01vZGVsVG9Vc2UgPSBOUERyYXdpbmdNb2RlbENvcmVHcmFw
aGljczsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBO
UEVSUl9JTkNPTVBBVElCTEVfVkVSU0lPTl9FUlJPUjsKKyAgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfSU5DT01QQVRJQkxFX1ZFUlNJT05fRVJST1I7Cisg
ICAgICAgIH0gZWxzZSBpZiAoc3RyY2FzZWNtcChhcmduW2ldLCAidGVzdEdldFVSTE9uRGVzdHJv
eSIpID09IDApIHsKICNpZiBYUF9XSU4KICAgICAgICAgICAgIC8vIEZJWE1FOiBXaGVuIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTgzMSBpcyBmaXhlZCwgdGhpcyAj
aWZkZWYgY2FuIGJlIHJlbW92ZWQuCiAgICAgICAgICAgICBvYmotPnRlc3RHZXRVUkxPbkRlc3Ry
b3kgPSBUUlVFOwpAQCAtMTY0LDYgKzE4MiwxMiBAQCBOUEVycm9yIE5QUF9OZXcoTlBNSU1FVHlw
ZSBwbHVnaW5UeXBlLCBOUFAgaW5zdGFuY2UsIHVpbnQxNl90IG1vZGUsIGludDE2X3QgYXJnYwog
ICAgICAgICAgICAgb2JqLT50ZXN0S2V5Ym9hcmRGb2N1c0ZvclBsdWdpbnMgPSBUUlVFOwogICAg
IH0KIAorI2lmIFhQX01BQ09TWCAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikKKyAgICBi
cm93c2VyLT5zZXR2YWx1ZShpbnN0YW5jZSwgTlBQVnBsdWdpbkRyYXdpbmdNb2RlbCwgKHZvaWQg
KilkcmF3aW5nTW9kZWxUb1VzZSk7CisgICAgaWYgKGRyYXdpbmdNb2RlbFRvVXNlID09IE5QRHJh
d2luZ01vZGVsQ29yZUFuaW1hdGlvbikKKyAgICAgICAgb2JqLT5jb3JlQW5pbWF0aW9uTGF5ZXIg
PSBjcmVhdGVDb3JlQW5pbWF0aW9uTGF5ZXIoKTsKKyNlbmRpZgorCiAgICAgYnJvd3Nlci0+Z2V0
dmFsdWUoaW5zdGFuY2UsIE5QTlZwcml2YXRlTW9kZUJvb2wsICh2b2lkICopJm9iai0+Y2FjaGVk
UHJpdmF0ZUJyb3dzaW5nTW9kZSk7CiAgICAgICAgIAogICAgIHJldHVybiBOUEVSUl9OT19FUlJP
UjsKQEAgLTE5Niw2ICsyMjAsMTEgQEAgTlBFcnJvciBOUFBfRGVzdHJveShOUFAgaW5zdGFuY2Us
IE5QU2F2ZWREYXRhICoqc2F2ZSkKICAgICAgICAgaWYgKG9iai0+bG9nRGVzdHJveSkKICAgICAg
ICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgIk5QUF9EZXN0cm95Iik7CiAKKyNpZiBYUF9NQUNP
U1ggJiYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpCisgICAgICAgIGlmIChvYmotPmNvcmVB
bmltYXRpb25MYXllcikKKyAgICAgICAgICAgIHJlbGVhc2VDb3JlQW5pbWF0aW9uTGF5ZXIob2Jq
LT5jb3JlQW5pbWF0aW9uTGF5ZXIpOworI2VuZGlmCisKICAgICAgICAgYnJvd3Nlci0+cmVsZWFz
ZW9iamVjdCgmb2JqLT5oZWFkZXIpOwogICAgIH0KICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7
CkBAIC0yMjUsNiArMjU0LDExIEBAIE5QRXJyb3IgTlBQX1NldFdpbmRvdyhOUFAgaW5zdGFuY2Us
IE5QV2luZG93ICp3aW5kb3cpCiAgICAgICAgICAgICBvYmotPmV2ZW50TG9nZ2luZyA9IHRydWU7
CiAgICAgICAgICAgICBleGVjdXRlU2NyaXB0KG9iaiwgImV2ZW50U2VuZGVyLmtleURvd24oJ0En
KTsiKTsKICAgICAgICAgfQorICAgICAgICAKKyNpZiBYUF9NQUNPU1ggJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fVElHRVIpCisgICAgICAgIGlmIChvYmotPmNvcmVBbmltYXRpb25MYXllcikKKyAg
ICAgICAgICAgIHJlc2l6ZUNvcmVBbmltYXRpb25MYXllcihvYmotPmNvcmVBbmltYXRpb25MYXll
ciwgd2luZG93LT53aWR0aCwgd2luZG93LT5oZWlnaHQpOworI2VuZGlmCiAgICAgfQogICAgIAog
ICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKQEAgLTQ5Niw2ICs1MzAsMTcgQEAgTlBFcnJvciBO
UFBfR2V0VmFsdWUoTlBQIGluc3RhbmNlLCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFs
dWUpCiAgICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKICAgICB9CiAgICAgCisjaWYgWFBf
TUFDT1NYICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKQorICAgIGlmICh2YXJpYWJsZSA9
PSBOUFBWcGx1Z2luQ29yZUFuaW1hdGlvbkxheWVyKSB7CisgICAgICAgIGlmICghb2JqLT5jb3Jl
QW5pbWF0aW9uTGF5ZXIpCisgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJPUjsK
KyAgICAgICAgCisgICAgICAgIHZvaWQgKip2ID0gKHZvaWQgKiopdmFsdWU7CisgICAgICAgICp2
ID0gcmV0YWluZWRDb3JlQW5pbWF0aW9uTGF5ZXIob2JqLT5jb3JlQW5pbWF0aW9uTGF5ZXIpOwor
ICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAg
cmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60969</attachid>
            <date>2010-07-08 15:15:02 -0700</date>
            <delta_ts>2010-07-08 15:16:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41872-20100708151500.patch</filename>
            <type>text/plain</type>
            <size>14823</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhNmIxZWM0OWUwZTQ4NjZlMTI0Nzk4MmMyNGEwN2Y4MzhmZGY2MzQ0Li5jYTA3Njcx
N2JhYzliM2U3MDc3MzM2NGU0YjZhM2QzODg2NjQxMjIyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMTAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgdGhlIFRl
c3RQbHVnaW4gdG8gdXNlIENvcmUgQW5pbWF0aW9uIHJlbmRlcmluZyBmb3IgdGVzdGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4NzIKKyAgICAg
ICAgCisgICAgICAgIEFkZCB0aGUgYWJpbGl0eSBmb3IgdGhlIFRlc3RQbHVnaW4gdG8gdXNlIHRo
ZSBDb3JlQW5pbWF0aW9uIHJlbmRlcmluZyBtb2RlbAorICAgICAgICB3aGVuIGF2YWlsYWJsZSwg
YmFzZWQgb24gdGhlICJkcmF3aW5nbW9kZWwiIGF0dHJpYnV0ZSBvZiB0aGUgZW1iZWQgdGFnOgor
ICAgICAgICAgICAgZHJhd2luZ21vZGVsPSJjb3JlYW5pbWF0aW9uIgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRk
IFBsdWdpbk9iamVjdE1hYy5tbQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2Fw
ZVBsdWdJbi9QbHVnaW5PYmplY3QuaDogQWRkIHNvbWUgbWFjcm9zIHNvIHdlIGNhbiBkZXRlY3QK
KyAgICAgICAgd2hlbiBidWlsZGluZyBvbiBUaWdlci4gQWRkIGEgdm9pZCogY29yZUFuaW1hdGlv
bkxheWVyIG1lbWJlci4KKyAgICAgICAgCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5l
dHNjYXBlUGx1Z0luL1BsdWdpbk9iamVjdE1hYy5tbTogQWRkZWQuCisgICAgICAgIChjcmVhdGVD
b3JlQW5pbWF0aW9uTGF5ZXIpOiBPYmotQyBtZXRob2QgdG8gY3JlYXRlIHRoZSBDQUxheWVyLgor
ICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFp
bi5jcHA6CisgICAgICAgIChOUFBfTmV3KTogTG9vayBmb3IgdGhlIGRyYXdpbmdtb2RlbCBhdHRy
aWJ1dGUgdG8gZGVjaWRlIHdoaWNoIGRyYXdpbmcKKyAgICAgICAgbW9kZWwgdG8gdXNlLgorICAg
ICAgICAoTlBQX0Rlc3Ryb3kpOiBSZWxlYXNlIHRoZSBDQUxheWVyIGlmIHdlIGhhdmUgb25lLgor
ICAgICAgICAoTlBQX0dldFZhbHVlKTogUmV0dXJuIHRoZSByZXRhaW5lZCBDQUxheWVyLgorCiAy
MDEwLTA3LTA4ICBKYXkgQ2l2ZWxsaSAgPGpjaXZlbGxpQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLiBBZGRpbmcgbXlzZWxmIGFzIGEgY29tbWl0dGVyLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjk5NDY0ODgzMzI4ZTY5MDBiMGNkOWVhN2Y5
Zjk5NTcwYWMxNGZjMi4uMmVkNWRhYWZiNjFlMjNiYjY1N2E5MWE2M2IwZDRkN2VhYmFlMWU3ZiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9E
dW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNCw2ICsyNCw4IEBA
CiAvKiBFbmQgUEJYQWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQnVp
bGRGaWxlIHNlY3Rpb24gKi8KKwkJMEYzN0E0QTcxMUU2NjI4NzAwMjc1RjU0IC8qIFBsdWdpbk9i
amVjdE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMzdBNEE2MTFFNjYyODcwMDI3NUY1NCAvKiBQbHVnaW5PYmplY3RNYWMubW0gKi87IH07CisJ
CTBGMzdBNEFBMTFFNjYyOTEwMDI3NUY1NCAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QTc1MkExMDhBRjVE
MUYwMDEzOEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJMTQxQkY0MzUwOTZB
NDU1OTAwRTA3NTNDIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzM1NDM1RjAzRDc1NTAyMDA4NjM1Q0UgLyogV2Vi
S2l0LmZyYW1ld29yayAqLzsgfTsKIAkJMTQxQkY0MzYwOTZBNDU1OTAwRTA3NTNDIC8qIENvY29h
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NEY2MDg5MDhCMTM2REEwMEU5NzQ1RiAvKiBDb2NvYS5mcmFtZXdvcmsgKi87IH07CiAJ
CTE0MUJGNDM4MDk2QTQ1NTkwMEUwNzUzQyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODE3MDkwMzA4
QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwpAQCAtMTc4
LDYgKzE4MCw3IEBACiAvKiBFbmQgUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAK
IC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQkwRjM3QTRBNjExRTY2Mjg3
MDAyNzVGNTQgLyogUGx1Z2luT2JqZWN0TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gUGx1Z2luT2JqZWN0TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNDFCRjIzMzA5NkE0NENGMDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luLnBs
dWdpbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3Jh
cHBlci5jZmJ1bmRsZTsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gVGVzdE5ldHNjYXBlUGx1
Z0luLnBsdWdpbjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMTQxQkY0
NDcwOTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGx1Z2luT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTE0MUJGNDQ4MDk2QTQ1QzgwMEUwNzUzQyAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQucGxpc3QueG1sOyBuYW1lID0gSW5mby5wbGlzdDsgcGF0aCA9IG1hYy9JbmZvLnBsaXN0OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkwLDYgKzI5Myw3IEBACiAJCQkJMTQxQkY0
MzYwOTZBNDU1OTAwRTA3NTNDIC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTE0MUJGNDM4MDk2QTQ1NTkwMEUwNzUzQyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKIAkJCQkxNDFCRjQzNTA5NkE0NTU5MDBFMDc1M0MgLyogV2ViS2l0
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTBGMzdBNEFBMTFFNjYyOTEwMDI3NUY1
NCAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMzU2LDYgKzM2
MCw3IEBACiAJCQkJMTQxQkY0NDgwOTZBNDVDODAwRTA3NTNDIC8qIEluZm8ucGxpc3QgKi8sCiAJ
CQkJMUFDNkM3N0YwRDA3NTg5QjAwQ0QzMTYxIC8qIG1haW4uY3BwICovLAogCQkJCTFBQzZDNzgw
MEQwNzU4OUIwMENEMzE2MSAvKiBQbHVnaW5PYmplY3QuY3BwICovLAorCQkJCTBGMzdBNEE2MTFF
NjYyODcwMDI3NUY1NCAvKiBQbHVnaW5PYmplY3RNYWMubW0gKi8sCiAJCQkJMTQxQkY0NDcwOTZB
NDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5oICovLAogCQkJCTFBQzZDNzgxMEQwNzU4OUIw
MENEMzE2MSAvKiBUZXN0T2JqZWN0LmNwcCAqLywKIAkJCQkxQThGMDI0QzBCQjlCMDU2MDA4Q0ZB
MzQgLyogVGVzdE9iamVjdC5oICovLApAQCAtNjc4LDYgKzY4Myw3IEBACiAJCQkJMUFDNkM4NDkw
RDA3NjM4NjAwQ0QzMTYxIC8qIG1haW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDNkM4NEEw
RDA3NjM4NjAwQ0QzMTYxIC8qIFBsdWdpbk9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QUM2Qzg0QjBEMDc2Mzg2MDBDRDMxNjEgLyogVGVzdE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRjM3QTRBNzExRTY2Mjg3MDAyNzVGNTQgLyogUGx1Z2luT2JqZWN0TWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmgKaW5kZXggY2VlYzQwYTg2YzA2MzhhOWUw
N2MyM2RmZGIwYWM5MDY1NTQ5OWU1YS4uMDNiZWZiMDI1NDhkMDE5ZDYzNzY2MDdiNWZiOGIyMTM1
OWRjZDVmYSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL1BsdWdpbk9iamVjdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3QuaApAQCAtMjUsNiArMjUsMTYgQEAKIAog
I2luY2x1ZGUgPFdlYktpdC9ucGZ1bmN0aW9ucy5oPgogCisjaWYgWFBfTUFDT1NYCisjaWYgIWRl
ZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF81KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF81CisjZGVmaW5lIEJVSUxESU5HX09OX1RJR0VSIDEK
KyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgorI2RlZmluZSBCVUlMRElOR19P
Tl9MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2RlZmlu
ZSBCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQgMQorI2VuZGlmCisjZW5kaWYgLy8gWFBfTUFDT1NY
CisKIGV4dGVybiBOUE5ldHNjYXBlRnVuY3MgKmJyb3dzZXI7CiAKIHR5cGVkZWYgc3RydWN0IHsK
QEAgLTU2LDYgKzY2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgewogI2lmZGVmIFhQX01BQ09TWAogICAg
IE5QRXZlbnRNb2RlbCBldmVudE1vZGVsOwogI2VuZGlmCisjaWYgWFBfTUFDT1NYICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX1RJR0VSKQorICAgIHZvaWQqIGNvcmVBbmltYXRpb25MYXllcjsKKyNl
bmRpZgogICAgIE5QV2luZG93IGxhc3RXaW5kb3c7CiB9IFBsdWdpbk9iamVjdDsKIApAQCAtNjYs
MyArNzksOCBAQCBleHRlcm4gdm9pZCB0ZXN0TlBSdW50aW1lKE5QUCBucHApOwogZXh0ZXJuIHZv
aWQgcGx1Z2luTG9nKE5QUCBpbnN0YW5jZSwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pOwogZXh0
ZXJuIGJvb2wgdGVzdERvY3VtZW50T3BlbihOUFAgbnBwKTsKIGV4dGVybiBib29sIHRlc3RXaW5k
b3dPcGVuKE5QUCBucHApOworCisjaWYgWFBfTUFDT1NYICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1RJR0VSKQorZXh0ZXJuIHZvaWQqIGNyZWF0ZUNvcmVBbmltYXRpb25MYXllcigpOworI2VuZGlm
CisKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5PYmplY3RNYWMubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0TWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhZmY0NmQ4M2Jj
ZmNjYTNhNzlkN2JlOWM0OTY2MjhjNmQ0NDJmMDMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0TWFjLm1t
CkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiUGx1Z2luT2JqZWN0LmgiCisKKyNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9USUdFUikKKworI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29y
ZS5oPgorCitAaW50ZXJmYWNlIFRlc3RQbHVnaW5MYXllciA6IENBTGF5ZXIKK0BlbmQKKworQGlt
cGxlbWVudGF0aW9uIFRlc3RQbHVnaW5MYXllcgorCistICh2b2lkKWRyYXdJbkNvbnRleHQ6KENH
Q29udGV4dFJlZiljb250ZXh0Cit7CisgICAgQ0dSZWN0IGJvdW5kcyA9IFtzZWxmIGJvdW5kc107
CisgICAgY29uc3QgY2hhciogdGV4dCA9ICJUZXN0IFBsdWctaW4iOworICAgIENHQ29udGV4dFNl
bGVjdEZvbnQoY29udGV4dCwgIkhlbHZldGljYSIsIDI0LCBrQ0dFbmNvZGluZ01hY1JvbWFuKTsK
KyAgICBDR0NvbnRleHRTaG93VGV4dEF0UG9pbnQoY29udGV4dCwgYm91bmRzLm9yaWdpbi54ICsg
My4wZiwgYm91bmRzLm9yaWdpbi55ICsgYm91bmRzLnNpemUuaGVpZ2h0IC0gMzAuMGYsIHRleHQs
IHN0cmxlbih0ZXh0KSk7Cit9CisKK0BlbmQKKwordm9pZCogY3JlYXRlQ29yZUFuaW1hdGlvbkxh
eWVyKCkKK3sKKyAgICBDQUxheWVyICpjYUxheWVyID0gW1tUZXN0UGx1Z2luTGF5ZXIgYWxsb2Nd
IGluaXRdOworCisgICAgTlNOdWxsICpudWxsVmFsdWUgPSBbTlNOdWxsIG51bGxdOworICAgIE5T
RGljdGlvbmFyeSAqYWN0aW9ucyA9IFtOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Rz
QW5kS2V5czoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVlLCBAImFuY2hv
clBvaW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVlLCBAImJvdW5k
cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJjb250ZW50cyIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJjb250ZW50c1JlY3Qi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUsIEAib3BhY2l0eSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJwb3NpdGlvbiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJzaGFkb3dDb2xvciIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJzdWJsYXllclRyYW5zZm9ybSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxWYWx1ZSwgQCJzdWJsYXllcnMiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUsIEAidHJhbnNmb3JtIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVlLCBAInpQb3NpdGlvbiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF07CisgICAgLy8gVHVybiBvZmYgZGVmYXVsdCBh
bmltYXRpb25zLgorICAgIFtjYUxheWVyIHNldFN0eWxlOltOU0RpY3Rpb25hcnkgZGljdGlvbmFy
eVdpdGhPYmplY3Q6YWN0aW9ucyBmb3JLZXk6QCJhY3Rpb25zIl1dOworICAgIFtjYUxheWVyIHNl
dE5lZWRzRGlzcGxheU9uQm91bmRzQ2hhbmdlOllFU107CisKKyAgICBbY2FMYXllciBzZXRCb3Vu
ZHM6Q0dSZWN0TWFrZSgwLCAwLCAyMDAsIDEwMCldOworICAgIFtjYUxheWVyIHNldEFuY2hvclBv
aW50OkNHUG9pbnRaZXJvXTsKKyAgICAKKyAgICBDR0NvbG9yUmVmIGNvbG9yID0gQ0dDb2xvckNy
ZWF0ZUdlbmVyaWNSR0IoMC41LCAwLjUsIDEsIDEpOworICAgIFtjYUxheWVyIHNldEJhY2tncm91
bmRDb2xvcjpjb2xvcl07CisgICAgQ0dDb2xvclJlbGVhc2UoY29sb3IpOworICAgIAorICAgIFtj
YUxheWVyIHNldExheW91dE1hbmFnZXI6W0NBQ29uc3RyYWludExheW91dE1hbmFnZXIgbGF5b3V0
TWFuYWdlcl1dOworCisgICAgQ0FMYXllciAqc3VibGF5ZXIgPSBbQ0FMYXllciBsYXllcl07Cisg
ICAgLy8gVHVybiBvZmYgZGVmYXVsdCBhbmltYXRpb25zLgorICAgIFtzdWJsYXllciBzZXRTdHls
ZTpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OmFjdGlvbnMgZm9yS2V5OkAiYWN0
aW9ucyJdXTsKKworICAgIGNvbG9yID0gQ0dDb2xvckNyZWF0ZUdlbmVyaWNSR0IoMCwgMCwgMCwg
MC43NSk7CisgICAgW3N1YmxheWVyIHNldEJhY2tncm91bmRDb2xvcjpjb2xvcl07CisgICAgQ0dD
b2xvclJlbGVhc2UoY29sb3IpOworICAgIFtzdWJsYXllciBzZXRCb3VuZHM6Q0dSZWN0TWFrZSgw
LCAwLCAxODAsIDIwKV07CisKKyAgICBbc3VibGF5ZXIgYWRkQ29uc3RyYWludDpbQ0FDb25zdHJh
aW50IGNvbnN0cmFpbnRXaXRoQXR0cmlidXRlOmtDQUNvbnN0cmFpbnRNaW5ZCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86QCJz
dXBlcmxheWVyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlOmtDQUNvbnN0cmFpbnRNaW5ZXV07CisgICAgW3N1YmxheWVyIGFk
ZENvbnN0cmFpbnQ6W0NBQ29uc3RyYWludCBjb25zdHJhaW50V2l0aEF0dHJpYnV0ZTprQ0FDb25z
dHJhaW50TWluWAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWxhdGl2ZVRvOkAic3VwZXJsYXllciIKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTprQ0FDb25zdHJhaW50TWlu
WF1dOworICAgIFtzdWJsYXllciBhZGRDb25zdHJhaW50OltDQUNvbnN0cmFpbnQgY29uc3RyYWlu
dFdpdGhBdHRyaWJ1dGU6a0NBQ29uc3RyYWludE1heFgKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVUbzpAInN1cGVybGF5ZXIiCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGU6a0NBQ29uc3RyYWludE1heFhdXTsKKworICAgIFtjYUxheWVyIGFkZFN1YmxheWVyOnN1
YmxheWVyXTsKKyAgICByZXR1cm4gY2FMYXllcjsKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKEJV
SUxESU5HX09OX1RJR0VSKQorCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAKaW5kZXggMTE3NTFhYWMwMDQwMGI3NjlmODA5
NWIzZTY5NzIwOGQzODBjNzU4Ni4uNjczMzZmODRkNjVmN2RkZTE1Mjk5NDk4ZGE4OTk2ZGEzNWI0
ZGI3NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBl
UGx1Z0luL21haW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRz
Y2FwZVBsdWdJbi9tYWluLmNwcApAQCAtODksNyArODksMTEgQEAgTlBFcnJvciBOUFBfTmV3KE5Q
TUlNRVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3RhbmNlLCB1aW50MTZfdCBtb2RlLCBpbnQxNl90
IGFyZ2MKICAgICBpZiAoIXN1cHBvcnRzQ29yZUdyYXBoaWNzKQogICAgICAgICByZXR1cm4gTlBF
UlJfSU5DT01QQVRJQkxFX1ZFUlNJT05fRVJST1I7CiAKLSAgICBicm93c2VyLT5zZXR2YWx1ZShp
bnN0YW5jZSwgTlBQVnBsdWdpbkRyYXdpbmdNb2RlbCwgKHZvaWQgKilOUERyYXdpbmdNb2RlbENv
cmVHcmFwaGljcyk7CisgICAgTlBEcmF3aW5nTW9kZWwgZHJhd2luZ01vZGVsVG9Vc2UgPSBOUERy
YXdpbmdNb2RlbENvcmVHcmFwaGljczsKKyAgICAKKyAgICBOUEJvb2wgc3VwcG9ydHNDb3JlQW5p
bWF0aW9uOworICAgIGlmIChicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVnN1cHBvcnRz
Q29yZUFuaW1hdGlvbkJvb2wsICZzdXBwb3J0c0NvcmVBbmltYXRpb24pICE9IE5QRVJSX05PX0VS
Uk9SKQorICAgICAgICBzdXBwb3J0c0NvcmVBbmltYXRpb24gPSBmYWxzZTsKIAogI2lmbmRlZiBO
UF9OT19DQVJCT04KICAgICBOUEJvb2wgc3VwcG9ydHNDYXJib24gPSBmYWxzZTsKQEAgLTEyMyw2
ICsxMjcsNyBAQCBOUEVycm9yIE5QUF9OZXcoTlBNSU1FVHlwZSBwbHVnaW5UeXBlLCBOUFAgaW5z
dGFuY2UsIHVpbnQxNl90IG1vZGUsIGludDE2X3QgYXJnYwogCiAjaWYgWFBfTUFDT1NYCiAgICAg
b2JqLT5ldmVudE1vZGVsID0gZXZlbnRNb2RlbDsKKyAgICBvYmotPmNvcmVBbmltYXRpb25MYXll
ciA9IDA7CiAjZW5kaWYgLy8gWFBfTUFDT1NYCiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFy
Z2M7IGkrKykgewpAQCAtMTU1LDcgKzE2MCwyMSBAQCBOUEVycm9yIE5QUF9OZXcoTlBNSU1FVHlw
ZSBwbHVnaW5UeXBlLCBOUFAgaW5zdGFuY2UsIHVpbnQxNl90IG1vZGUsIGludDE2X3QgYXJnYwog
ICAgICAgICAgICAgb2JqLT50ZXN0RG9jdW1lbnRPcGVuSW5EZXN0cm95U3RyZWFtID0gVFJVRTsK
ICAgICAgICAgZWxzZSBpZiAoc3RyY2FzZWNtcChhcmduW2ldLCAidGVzdHdpbmRvd29wZW4iKSA9
PSAwKQogICAgICAgICAgICAgb2JqLT50ZXN0V2luZG93T3BlbiA9IFRSVUU7Ci0gICAgICAgIGVs
c2UgaWYgKHN0cmNhc2VjbXAoYXJnbltpXSwgInRlc3RHZXRVUkxPbkRlc3Ryb3kiKSA9PSAwKSB7
CisgICAgICAgIGVsc2UgaWYgKHN0cmNhc2VjbXAoYXJnbltpXSwgImRyYXdpbmdtb2RlbCIpID09
IDApIHsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIHZhbHVlID0gYXJndltpXTsKKyAgICAgICAg
ICAgIGlmIChzdHJjYXNlY21wKHZhbHVlLCAiY29yZWFuaW1hdGlvbiIpID09IDApIHsKKyAgICAg
ICAgICAgICAgICBpZiAoc3VwcG9ydHNDb3JlQW5pbWF0aW9uKQorICAgICAgICAgICAgICAgICAg
ICBkcmF3aW5nTW9kZWxUb1VzZSA9IE5QRHJhd2luZ01vZGVsQ29yZUFuaW1hdGlvbjsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9JTkNPTVBB
VElCTEVfVkVSU0lPTl9FUlJPUjsKKyAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNhc2VjbXAo
dmFsdWUsICJjb3JlZ3JhcGhpY3MiKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKHN1cHBv
cnRzQ29yZUdyYXBoaWNzKQorICAgICAgICAgICAgICAgICAgICBkcmF3aW5nTW9kZWxUb1VzZSA9
IE5QRHJhd2luZ01vZGVsQ29yZUdyYXBoaWNzOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0lOQ09NUEFUSUJMRV9WRVJTSU9OX0VSUk9SOwor
ICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9JTkNPTVBB
VElCTEVfVkVSU0lPTl9FUlJPUjsKKyAgICAgICAgfSBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25b
aV0sICJ0ZXN0R2V0VVJMT25EZXN0cm95IikgPT0gMCkgewogI2lmIFhQX1dJTgogICAgICAgICAg
ICAgLy8gRklYTUU6IFdoZW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQxODMxIGlzIGZpeGVkLCB0aGlzICNpZmRlZiBjYW4gYmUgcmVtb3ZlZC4KICAgICAgICAgICAg
IG9iai0+dGVzdEdldFVSTE9uRGVzdHJveSA9IFRSVUU7CkBAIC0xNjQsNiArMTgzLDEyIEBAIE5Q
RXJyb3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2
X3QgbW9kZSwgaW50MTZfdCBhcmdjCiAgICAgICAgICAgICBvYmotPnRlc3RLZXlib2FyZEZvY3Vz
Rm9yUGx1Z2lucyA9IFRSVUU7CiAgICAgfQogCisjaWYgWFBfTUFDT1NYICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1RJR0VSKQorICAgIGJyb3dzZXItPnNldHZhbHVlKGluc3RhbmNlLCBOUFBWcGx1
Z2luRHJhd2luZ01vZGVsLCAodm9pZCAqKWRyYXdpbmdNb2RlbFRvVXNlKTsKKyAgICBpZiAoZHJh
d2luZ01vZGVsVG9Vc2UgPT0gTlBEcmF3aW5nTW9kZWxDb3JlQW5pbWF0aW9uKQorICAgICAgICBv
YmotPmNvcmVBbmltYXRpb25MYXllciA9IGNyZWF0ZUNvcmVBbmltYXRpb25MYXllcigpOworI2Vu
ZGlmCisKICAgICBicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVnByaXZhdGVNb2RlQm9v
bCwgKHZvaWQgKikmb2JqLT5jYWNoZWRQcml2YXRlQnJvd3NpbmdNb2RlKTsKICAgICAgICAgCiAg
ICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOwpAQCAtMTk2LDYgKzIyMSwxMSBAQCBOUEVycm9yIE5Q
UF9EZXN0cm95KE5QUCBpbnN0YW5jZSwgTlBTYXZlZERhdGEgKipzYXZlKQogICAgICAgICBpZiAo
b2JqLT5sb2dEZXN0cm95KQogICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiTlBQX0Rl
c3Ryb3kiKTsKIAorI2lmIFhQX01BQ09TWCAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikK
KyAgICAgICAgaWYgKG9iai0+Y29yZUFuaW1hdGlvbkxheWVyKQorICAgICAgICAgICAgQ0ZSZWxl
YXNlKG9iai0+Y29yZUFuaW1hdGlvbkxheWVyKTsKKyNlbmRpZgorCiAgICAgICAgIGJyb3dzZXIt
PnJlbGVhc2VvYmplY3QoJm9iai0+aGVhZGVyKTsKICAgICB9CiAgICAgcmV0dXJuIE5QRVJSX05P
X0VSUk9SOwpAQCAtNDk2LDYgKzUyNiwxNyBAQCBOUEVycm9yIE5QUF9HZXRWYWx1ZShOUFAgaW5z
dGFuY2UsIE5QUFZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkICp2YWx1ZSkKICAgICAgICAgcmV0dXJu
IE5QRVJSX05PX0VSUk9SOwogICAgIH0KICAgICAKKyNpZiBYUF9NQUNPU1ggJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fVElHRVIpCisgICAgaWYgKHZhcmlhYmxlID09IE5QUFZwbHVnaW5Db3JlQW5p
bWF0aW9uTGF5ZXIpIHsKKyAgICAgICAgaWYgKCFvYmotPmNvcmVBbmltYXRpb25MYXllcikKKyAg
ICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworICAgICAgICAKKyAgICAgICAg
dm9pZCAqKnYgPSAodm9pZCAqKil2YWx1ZTsKKyAgICAgICAgKnYgPSAodm9pZCopQ0ZSZXRhaW4o
b2JqLT5jb3JlQW5pbWF0aW9uTGF5ZXIpOworICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7
CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiB9
CiAK
</data>
<flag name="review"
          id="48847"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>