<?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>11927</bug_id>
          
          <creation_ts>2006-12-22 07:00:08 -0800</creation_ts>
          <short_desc>[S60] Formdataautofill: If the form field contains single or double quotes the SQL query to insert, delete data does not work</short_desc>
          <delta_ts>2011-03-21 11:52:58 -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>420+</version>
          <rep_platform>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.google.com</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sornalatha Rathnasamy">sornalatha.rathnasamy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>40550</commentid>
    <comment_count>0</comment_count>
    <who name="Sornalatha Rathnasamy">sornalatha.rathnasamy</who>
    <bug_when>2006-12-22 07:00:08 -0800</bug_when>
    <thetext>While executing the following autoform fill tests,

With password field:
http://testsuite.nokia-boston.com/content/S60NG_AutoFill_Login/default.html

Without password field:
http://testsuite.nokia-boston.com/content/S60NG_AutoFill_input/default.html

if the text, text area or password fiels in the form contain single or double quotes the SQL query used to insert or delete data is not well-formed and the operation fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40552</commentid>
    <comment_count>1</comment_count>
      <attachid>11966</attachid>
    <who name="Sornalatha Rathnasamy">sornalatha.rathnasamy</who>
    <bug_when>2006-12-22 07:08:31 -0800</bug_when>
    <thetext>Created attachment 11966
use RDbTable APIs to insert, delete data instead of formatted SQL queries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40507</commentid>
    <comment_count>2</comment_count>
      <attachid>11966</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2006-12-22 08:56:34 -0800</bug_when>
    <thetext>Comment on attachment 11966
use RDbTable APIs to insert, delete data instead of formatted SQL queries.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39402</commentid>
    <comment_count>3</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2006-12-27 13:27:01 -0800</bug_when>
    <thetext>Why is this bug still in new?

Reverted: r18438 reverted the patch attached to this bug that was landed in
s60/trunk (r18389).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39237</commentid>
    <comment_count>4</comment_count>
    <who name="Sornalatha Rathnasamy">sornalatha.rathnasamy</who>
    <bug_when>2006-12-28 09:23:40 -0800</bug_when>
    <thetext>(In reply to comment #0)
test case:
1. Load google.com
2. type a text in the input box and click search button.
3. Load the same page again.
4. When you start entering the same search string again, it should show the complete value for auto-fill.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39238</commentid>
    <comment_count>5</comment_count>
      <attachid>12082</attachid>
    <who name="Sornalatha Rathnasamy">sornalatha.rathnasamy</who>
    <bug_when>2006-12-28 09:42:06 -0800</bug_when>
    <thetext>Created attachment 12082
Fix the syntax error in sql query</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39239</commentid>
    <comment_count>6</comment_count>
      <attachid>12083</attachid>
    <who name="Sornalatha Rathnasamy">sornalatha.rathnasamy</who>
    <bug_when>2006-12-28 09:42:53 -0800</bug_when>
    <thetext>Created attachment 12083
Fix the syntax error in sql query</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37287</commentid>
    <comment_count>7</comment_count>
      <attachid>12082</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2007-01-03 10:34:29 -0800</bug_when>
    <thetext>Comment on attachment 12082
Fix the syntax error in sql query

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37271</commentid>
    <comment_count>8</comment_count>
      <attachid>12083</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2007-01-03 10:54:23 -0800</bug_when>
    <thetext>Comment on attachment 12083
Fix the syntax error in sql query

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37273</commentid>
    <comment_count>9</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2007-01-03 10:54:43 -0800</bug_when>
    <thetext>Completed: At revision: 18548  
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35397</commentid>
    <comment_count>10</comment_count>
    <who name="Krishna">krishnamurty.podipireddy</who>
    <bug_when>2007-01-12 13:28:22 -0800</bug_when>
    <thetext>
TSW ID: SRAY-6WQKA6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20533</commentid>
    <comment_count>11</comment_count>
    <who name="Krishna">krishnamurty.podipireddy</who>
    <bug_when>2007-03-04 17:01:38 -0800</bug_when>
    <thetext>
Closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370646</commentid>
    <comment_count>12</comment_count>
    <who name="Joel Parks">joel.parks</who>
    <bug_when>2011-03-21 11:52:58 -0700</bug_when>
    <thetext>re-purposing InTSW keyword for use by QtWebkit team</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11966</attachid>
            <date>2006-12-22 07:08:31 -0800</date>
            <delta_ts>2006-12-22 08:56:34 -0800</delta_ts>
            <desc>use RDbTable APIs to insert, delete data instead of formatted SQL queries.</desc>
            <filename>bugzilla_11927.patch</filename>
            <type>text/plain</type>
            <size>14013</size>
            <attacher name="Sornalatha Rathnasamy">sornalatha.rathnasamy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9Ccm93c2VyVmlldy9pbmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmgNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRhQXV0b0ZpbGxTdG9y
ZS5oCShyZXZpc2lvbiAxODM4OCkNCisrKyBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtOTEsMTUgKzkxLDE1IEBADQogICAg
ICAgICAqLw0KICAgICAgICAgdm9pZCBHZXREYXRhTCAoQ0FycmF5UHRyRmxhdDxDT3B0aW9uRGF0
YT4mIGFPcHRpb25zLCBjb25zdCBURGVzQyYgYU5hbWUpOw0KIA0KLSAgICAvKioNCi0gICAgKiBT
YXZlIHRoZSBmaWVsZC92YWx1ZSBpbiBzdG9yZS4NCi0gICAgKi8NCi0gICAgdm9pZCBTYXZlRGF0
YSAoY29uc3QgQ0FycmF5UHRyRmxhdDxDV2ViQ29yZUZvcm1EYXRhRWxlbWVudD4mIGFGb3JtRGF0
YSk7DQorICAgICAgICAvKioNCisgICAgICAgICogU2F2ZSB0aGUgZmllbGQvdmFsdWUgaW4gc3Rv
cmUuDQorICAgICAgICAqLw0KKyAgICAgICAgdm9pZCBTYXZlRGF0YSAoY29uc3QgQ0FycmF5UHRy
RmxhdDxDV2ViQ29yZUZvcm1EYXRhRWxlbWVudD4mIGFGb3JtRGF0YSk7DQogDQotICAgIC8qKg0K
LSAgICAqIENsZWFyIHRoZSBzYXZlZCBkYXRhDQotICAgICovDQotICAgIHZvaWQgQ2xlYXJEYXRh
ICgpOw0KKyAgICAgICAgLyoqDQorICAgICAgICAqIENsZWFyIHRoZSBzYXZlZCBkYXRhDQorICAg
ICAgICAqLw0KKyAgICAgICAgdm9pZCBDbGVhckRhdGEgKCk7DQogDQogICAgICAgICAvKioNCiAg
ICAgICAgICogRGVzdHJ1Y3Rvcg0KQEAgLTExMyw0NyArMTEzLDcyIEBADQogICAgICAgICAqLw0K
ICAgICAgICAgdm9pZCBDb25zdHJ1Y3RMKCk7DQogDQotICAgIC8qKg0KLSAgICAqICBEZWZhdWx0
IGNvbnN0cnVjdG9yDQotICAgICovDQotICAgIENGb3JtRGF0YUF1dG9GaWxsU3RvcmUoKTsNCisg
ICAgICAgIC8qKg0KKyAgICAgICAgKiAgRGVmYXVsdCBjb25zdHJ1Y3Rvcg0KKyAgICAgICAgKi8N
CisgICAgICAgIENGb3JtRGF0YUF1dG9GaWxsU3RvcmUoKTsNCiANCi0gICAgLyoqDQotICAgICog
RGVsZXRlRGF0YQ0KLSAgICAqIERlbGV0ZXMgYSByb3cgZnJvbSB0aGUgZGF0YWJhc2UNCi0gICAg
Ki8NCi0gICAgdm9pZCBEZWxldGVEYXRhIChjb25zdCBURGVzQyYgYU5hbWUsIGNvbnN0IFREZXND
JiBhVmFsdWUpOw0KKyAgICAgICAgLyoqDQorICAgICAgICAqIERlbGV0ZURhdGFMDQorICAgICAg
ICAqIERlbGV0ZXMgYSByb3cgZnJvbSB0aGUgZGF0YWJhc2UNCisgICAgICAgICovDQorICAgICAg
ICB2b2lkIERlbGV0ZURhdGFMIChjb25zdCBURGVzQyYgYU5hbWUsIGNvbnN0IFREZXNDJiBhVmFs
dWUpOw0KIA0KLSAgICAvKioNCi0gICAgKiBJbnNlcnREYXRhDQotICAgICogSW5zZXJ0cyBhIHJv
dyBpbnRvIHRoZSBkYXRhYmFzZQ0KLSAgICAqLw0KLSAgICB2b2lkIEluc2VydERhdGEgKGNvbnN0
IFREZXNDJiBhTmFtZSwgY29uc3QgVERlc0MmIGFWYWx1ZSk7DQorICAgICAgICAvKioNCisgICAg
ICAgICogSW5zZXJ0RGF0YUwNCisgICAgICAgICogSW5zZXJ0cyBhIHJvdyBpbnRvIHRoZSBkYXRh
YmFzZQ0KKyAgICAgICAgKi8NCisgICAgICAgIHZvaWQgSW5zZXJ0RGF0YUwgKGNvbnN0IFREZXND
JiBhTmFtZSwgY29uc3QgVERlc0MmIGFWYWx1ZSk7DQogDQotICAgIC8qKg0KLSAgICAqICBPcGVu
IHRoZSBkYXRhYmFzZQ0KLSAgICAqLw0KLSAgICBUSW50IE9wZW5EYXRhYmFzZSgpOw0KKyAgICAg
ICAgLyoqDQorICAgICAgICAqICBPcGVuIHRoZSBkYXRhYmFzZQ0KKyAgICAgICAgKi8NCisgICAg
ICAgIFRJbnQgT3BlbkRhdGFiYXNlKCk7DQogDQotICAgIC8qKg0KLSAgICAqICBDbG9zZSB0aGUg
ZGF0YWJhc2UNCi0gICAgKi8NCi0gICAgdm9pZCBDbG9zZURhdGFiYXNlKCk7DQorICAgICAgICAv
KioNCisgICAgICAgICogIENsb3NlIHRoZSBkYXRhYmFzZQ0KKyAgICAgICAgKi8NCisgICAgICAg
IHZvaWQgQ2xvc2VEYXRhYmFzZSgpOw0KIA0KLSAgICAvKioNCi0gICAgKiAgQ3JlYXRlIHRoZSBk
YXRhYmFzZQ0KLSAgICAqLw0KLSAgICBUSW50IENyZWF0ZURhdGFiYXNlKCk7DQorICAgICAgICAv
KioNCisgICAgICAgICogIENyZWF0ZSB0aGUgZGF0YWJhc2UNCisgICAgICAgICovDQorICAgICAg
ICBUSW50IENyZWF0ZURhdGFiYXNlKCk7DQogDQotICAgIHZvaWQgQ3JlYXRlRm9ybURhdGFUYWJs
ZUwoKTsNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiAgQ3JlYXRlIHRoZSBmb3JtZGF0YSB0YWJs
ZQ0KKyAgICAgICAgKi8NCisgICAgICAgIHZvaWQgQ3JlYXRlRm9ybURhdGFUYWJsZUwoKTsNCiAN
Ci0gICAgICAgIC8qICBQcml2YXRlIE1lbWJlcnMgICovDQorICAgICAgICAvKioNCisgICAgICAg
ICogIE9wZW4gdGhlIGZvcm1kYXRhIHRhYmxlDQorICAgICAgICAqLw0KKyAgICAgICAgVEludCBP
cGVuVGFibGVGb3JVc2UoKTsNCiANCisgICAgICAgIC8qKg0KKyAgICAgICAgKiAgQ2xvc2UgdGhl
IGZvcm1kYXRhIHRhYmxlDQorICAgICAgICAqLw0KKyAgICAgICAgdm9pZCBDbG9zZVRhYmxlQWZ0
ZXJVc2UoKTsNCisNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiAgUmVhZHMgImxvbmciIHRleHQg
ZnJvbSB0aGUgZGF0YWJhc2UuDQorICAgICAgICAqLw0KKyAgICAgICAgdm9pZCBSZWFkTG9uZ1Rl
eHRMKFJEYlJvd1NldCYgYVRhYmxlLCBUSW50IGFDb2x1bW5JbmRleCwgSEJ1ZkMqJiBhVmFsdWUp
Ow0KKw0KKyAgICAgICAgLyoqDQorICAgICAgICAqICBXcml0ZXMgImxvbmciIHRleHQgdG8gdGhl
IGRhdGFiYXNlLg0KKyAgICAgICAgKi8NCisgICAgICAgIHZvaWQgV3JpdGVMb25nVGV4dEwoUkRi
Um93U2V0JiBhVGFibGUsIFRJbnQgYUNvbHVtbkluZGV4LCBjb25zdCBURGVzQyYgYVZhbHVlKTsN
CisNCisgICAgLyogIFByaXZhdGUgTWVtYmVycyAgKi8NCisNCiAgICAgcHJpdmF0ZSA6DQogDQot
ICAgIFJGcyAgICAgICAgICAgaURiU2Vzc2lvbjsNCi0gICAgUkRiTmFtZWREYXRhYmFzZSAgICBp
RGF0YWJhc2U7DQotICAgIEhCdWZDKiAgICAgICAgICBpRm9ybURhdGFEQkZpbGU7DQorICAgICAg
ICBSRnMgICAgICAgICAgICAgICAgIGlEYlNlc3Npb247DQorICAgICAgICBSRGJOYW1lZERhdGFi
YXNlICAgIGlEYXRhYmFzZTsNCisgICAgICAgIEhCdWZDKiAgICAgICAgICAgICAgaUZvcm1EYXRh
REJGaWxlOw0KKyAgICAgICAgUkRiVGFibGUgICAgICAgICAgICBpRm9ybURhdGFUYWJsZTsNCisg
ICAgICAgIENEYkNvbFNldCogICAgICAgICAgaUZvcm1EYXRhQ29sU2V0Ow0KICAgICB9Ow0KIA0K
ICNlbmRpZiAgLy8gRk9STURBVEFBVVRPRklMTFNUT1JFX0gNCkluZGV4OiBXZWJLaXQvQnJvd3Nl
clZpZXcvc3JjL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5jcHANCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJL
aXQvQnJvd3NlclZpZXcvc3JjL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5jcHAJKHJldmlzaW9uIDE4
Mzg4KQ0KKysrIFdlYktpdC9Ccm93c2VyVmlldy9zcmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmNw
cAkod29ya2luZyBjb3B5KQ0KQEAgLTY1LDkgKzY1LDExIEBADQogKiAgICAgICBOYW1lIC0gbmFt
ZSBhdHRyaWJ1dGUgb2YgdGhlIHRleHQgZmllbGQgd2lkZ2V0DQogKiAgICAgICBWYWx1ZSAtIHVz
ZXIgZW50ZXJlZCB2YWx1ZSBmb3IgdGhlIGZpZWxkDQogKi8NCisvLyBUYWJsZSBmaWVsZCBuYW1l
cw0KIF9MSVQoS0Zvcm1EYXRhSGlzdG9yeSwgImhpc3RvcnkiKTsNCiBfTElUKEtGb3JtRGF0YU5h
bWUsICJuYW1lIik7DQogX0xJVChLRm9ybURhdGFWYWx1ZSwgInZhbHVlIik7DQorDQogX0xJVChL
Rm9ybURhdGFUYWJsZSwgImZvcm1kYXRhIik7DQogX0xJVChLVmVyc2lvblRhYmxlU1FMLCAiQ1JF
QVRFIFRBQkxFIGRidmVyc2lvbihkYnZlciBDSEFSKDEwKSkiKTsNCiBfTElUKEtJbmRleDFTUUws
ICJDUkVBVEUgSU5ERVggbmFtZWlkeCBPTiBmb3JtZGF0YSAobmFtZSkiKTsNCkBAIC04NywxMiAr
ODksMTMgQEANCiAvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpOZXdMQw0KIC8vIFR3by1waGFz
ZWQgY29uc3RydWN0b3IuDQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi1DRm9ybURhdGFBdXRv
RmlsbFN0b3JlICogQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6TmV3TCAoKQ0KK0NGb3JtRGF0YUF1
dG9GaWxsU3RvcmUqIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6Ok5ld0wgKCkNCiAgICAgew0KICAg
ICBDRm9ybURhdGFBdXRvRmlsbFN0b3JlKiBzZWxmID0gbmV3IChFTGVhdmUpIENGb3JtRGF0YUF1
dG9GaWxsU3RvcmUoKTsNCisgICAgQ2xlYW51cFN0YWNrOjpQdXNoTChzZWxmKTsNCiAgICAgc2Vs
Zi0+Q29uc3RydWN0TCgpOw0KKyAgICBDbGVhbnVwU3RhY2s6OlBvcCgpOw0KICAgICByZXR1cm4g
c2VsZjsNCi0NCiAgICAgfQ0KIA0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpAQCAtMTEwLDcg
KzExMyw2IEBADQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiB2b2lkIENGb3JtRGF0YUF1dG9G
aWxsU3RvcmU6OkNvbnN0cnVjdEwoKQ0KICAgICB7DQotICAgIA0KICAgICAvLyBDcmVhdGUgdGhl
IGZpbGUgbmFtZSBmcm9tIFVJRA0KICAgICBSUHJvY2VzcyBteVByb2Nlc3M7IA0KICAgICBUQnVm
IDwyNTY+YnVmOyAgICANCkBAIC0xODksNTkgKzE5MSw3OCBAQA0KICAgICAgICAgICAgIHdoaWxl
ICh2aWV3LkF0Um93KCkpDQogICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgdmll
dy5HZXRMKCk7DQotICAgICAgICAgICAgICAgIERlbGV0ZURhdGEoYU5hbWUsIHZpZXcuQ29sRGVz
KEtWYWx1ZUNvbCkpOw0KKyAgICAgICAgICAgICAgICBpZiAoIE9wZW5UYWJsZUZvclVzZSgpID09
IEtFcnJOb25lICkNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
IFRSQVBfSUdOT1JFKCBEZWxldGVEYXRhTCggYU5hbWUsIHZpZXcuQ29sRGVzKCBLVmFsdWVDb2wg
KSApICk7DQorICAgICAgICAgICAgICAgICAgICBDbG9zZVRhYmxlQWZ0ZXJVc2UoKTsNCisgICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgdmlldy5OZXh0TCgpOw0KICAgICAg
ICAgICAgICAgICB9DQorDQorDQogICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICB2aWV3
LkNsb3NlKCk7DQogICAgIH0NCiANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLy8gQ0Zvcm1E
YXRhQXV0b0ZpbGxTdG9yZTo6RGVsZXRlRGF0YQ0KKy8vIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6
OkRlbGV0ZURhdGFMDQogLy8gRGVsZXRlcyBhIHNpbmdsZSByb3cgZnJvbSB0aGUgZGF0YWJhc2Uu
DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLXZvaWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6
RGVsZXRlRGF0YSAoY29uc3QgVERlc0MmIGFOYW1lLCBjb25zdCBURGVzQyYgYVZhbHVlKQ0KK3Zv
aWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6RGVsZXRlRGF0YUwgKGNvbnN0IFREZXNDJiBhTmFt
ZSwgY29uc3QgVERlc0MmIGFWYWx1ZSkNCiAgICAgew0KICAgICBIQnVmQyogcXVlcnkgPSBOVUxM
Ow0KLSAgICAvLyJERUxFVEUgRlJPTSBmb3JtZGF0YSBXSEVSRSBuYW1lID0gJyVTJyBBTkQgdmFs
dWUgPSAnJVMnIg0KLSAgICBfTElUKEtTUUxEZWxldGUsICJERUxFVEUgRlJPTSBmb3JtZGF0YSBX
SEVSRSBuYW1lID0gIik7DQotICAgIF9MSVQoS1NRTEFuZCwgIiBBTkQgdmFsdWUgPSAiKTsNCi0g
ICAgcXVlcnkgPSBIQnVmQzo6TmV3TEMoS1NRTERlbGV0ZSgpLkxlbmd0aCgpICsgYU5hbWUuTGVu
Z3RoKCkgDQotICAgICAgICAgICAgICAgICsgS1NRTEFuZCgpLkxlbmd0aCgpICsgYVZhbHVlLkxl
bmd0aCgpKTsNCi0gICAgcXVlcnktPkRlcygpLkNvcHkoS1NRTERlbGV0ZSgpKTsNCi0gICAgcXVl
cnktPkRlcygpLkFwcGVuZChhTmFtZSk7DQotICAgIHF1ZXJ5LT5EZXMoKS5BcHBlbmQoS1NRTEFu
ZCgpKTsNCi0gICAgcXVlcnktPkRlcygpLkFwcGVuZChhVmFsdWUpOw0KLSAgICBpRGF0YWJhc2Uu
RXhlY3V0ZSgqcXVlcnkpOw0KLSAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3kocXVlcnkp
Ow0KKyAgICBUSW50IHJldCA9IEtFcnJOb25lOw0KKw0KKyAgICAvL1RoZSBhY3R1YWwgcXVlcnkg
aXMgIkRFTEVURSBGUk9NIGZvcm1kYXRhIFdIRVJFIG5hbWUgPSAnJVMnIEFORCB2YWx1ZSA9ICcl
UyciDQorICAgIC8vIElub3JkZXIgdG8gYXZvaWQgYW4gaW52YWxpZCBxdWVyeSBpZiB0aGUgJ3Zh
bHVlJyBmaWVsZCBjb250YWlucyBxdW90ZXMsIA0KKyAgICAvLyByb3dzIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGdpdmVuICdhTmFtZScgYXJlIHNlbGVjdGVkIGFuZCBtYXRjaGVkIHdpdGggJ2FWYWx1
ZScgDQorICAgIF9MSVQoIEtTUUxTZWxlY3QsICJTRUxFQ1QgRlJPTSBmb3JtZGF0YSBXSEVSRSBu
YW1lID0gIiApOw0KKyAgICBxdWVyeSA9IEhCdWZDOjpOZXdMQyggS1NRTFNlbGVjdCgpLkxlbmd0
aCgpICsgYU5hbWUuTGVuZ3RoKCkgKTsNCisgICAgcXVlcnktPkRlcygpLkNvcHkoIEtTUUxTZWxl
Y3QoKSApOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKCBhTmFtZSApOw0KKyAgICBpRm9ybURh
dGFUYWJsZS5SZXNldCgpOw0KKyAgICBpRm9ybURhdGFUYWJsZS5GaW5kTCggUkRiUm93U2V0OjpF
Rm9yd2FyZHMsIFREYlF1ZXJ5KCpxdWVyeSkgKTsNCisNCisgICAgd2hpbGUoIHJldCAhPSBLRXJy
Tm90Rm91bmQgKQ0KKyAgICAgICAgew0KKyAgICAgICAgSEJ1ZkMqIHZhbHVlID0gTlVMTDsNCisg
ICAgICAgIGlGb3JtRGF0YVRhYmxlLkdldEwoKTsgICAgICAgICAgICAgICAgICAgIA0KKyAgICAg
ICAgLy8gR2V0IHRoZSBmb3JtZGF0YSB2YWx1ZS4NCisgICAgICAgIFJlYWRMb25nVGV4dEwoIGlG
b3JtRGF0YVRhYmxlLCBpRm9ybURhdGFDb2xTZXQtPkNvbE5vKCBLRm9ybURhdGFWYWx1ZSApLCB2
YWx1ZSApOw0KKyAgICAgICAgQ2xlYW51cFN0YWNrOjpQdXNoTCggdmFsdWUgKTsNCisgICAgICAg
IC8vIERlbGV0ZSB0aGUgcm93DQorICAgICAgICBpZiggYVZhbHVlLkNvbXBhcmVGKCAqdmFsdWUg
KSA9PSAwICkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgaUZvcm1EYXRhVGFibGUuRGVs
ZXRlTCgpOw0KKyAgICAgICAgICAgIENsZWFudXBTdGFjazo6UG9wQW5kRGVzdHJveSggdmFsdWUg
KTsgDQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgZWxzZQ0K
KyAgICAgICAgICAgIHsNCisgICAgICAgICAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3ko
IHZhbHVlICk7IA0KKyAgICAgICAgICAgIGlGb3JtRGF0YVRhYmxlLkZpbmRMKCBSRGJSb3dTZXQ6
OkVGb3J3YXJkcywgVERiUXVlcnkoICpxdWVyeSApICk7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgfQ0KKyAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3koIHF1ZXJ5ICk7DQogICAgIH0N
CiANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLy8gQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6
SW5zZXJ0RGF0YQ0KKy8vIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6Okluc2VydERhdGFMDQogLy8g
SW5zZXJ0cyBhIHNpbmdsZSByb3cgaW50byB0aGUgZGF0YWJhc2UuDQogLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KLXZvaWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6SW5zZXJ0RGF0YSAoY29uc3Qg
VERlc0MmIGFOYW1lLCBjb25zdCBURGVzQyYgYVZhbHVlKQ0KK3ZvaWQgQ0Zvcm1EYXRhQXV0b0Zp
bGxTdG9yZTo6SW5zZXJ0RGF0YUwgKGNvbnN0IFREZXNDJiBhTmFtZSwgY29uc3QgVERlc0MmIGFW
YWx1ZSkNCiAgICAgew0KLSAgICBIQnVmQyogcXVlcnkgPSBOVUxMOw0KLSAgICAvLyJJTlNFUlQg
SU5UTyBmb3JtZGF0YSAobmFtZSx2YWx1ZSkgVkFMVUVTICgnJVMnLCAnJVMnKSINCi0gICAgX0xJ
VChLU1FMSW5zZXJ0LCAiSU5TRVJUIElOVE8gZm9ybWRhdGEgKG5hbWUsdmFsdWUpIFZBTFVFUyAo
Iik7DQotICAgIF9MSVQoS1NRTENvbW1hLCAiLCAiKTsNCi0gICAgX0xJVChLU1FMQ2xvc2VCcmFj
a2V0LCAiKSIpOw0KLSAgICBxdWVyeSA9IEhCdWZDOjpOZXdMQyhLU1FMSW5zZXJ0KCkuTGVuZ3Ro
KCkgKyBhTmFtZS5MZW5ndGgoKSANCi0gICAgICAgICAgICArIEtTUUxDb21tYSgpLkxlbmd0aCgp
ICsgYVZhbHVlLkxlbmd0aCgpIA0KLSAgICAgICAgICAgICsgS1NRTENsb3NlQnJhY2tldCgpLkxl
bmd0aCgpKTsNCi0gICAgcXVlcnktPkRlcygpLkNvcHkoS1NRTEluc2VydCgpKTsNCi0gICAgcXVl
cnktPkRlcygpLkFwcGVuZChhTmFtZSk7DQotICAgIHF1ZXJ5LT5EZXMoKS5BcHBlbmQoS1NRTENv
bW1hKCkpOw0KLSAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKGFWYWx1ZSk7DQotICAgIHF1ZXJ5LT5E
ZXMoKS5BcHBlbmQoS1NRTENsb3NlQnJhY2tldCgpKTsNCi0gICAgaURhdGFiYXNlLkV4ZWN1dGUo
KnF1ZXJ5KTsNCi0gICAgQ2xlYW51cFN0YWNrOjpQb3BBbmREZXN0cm95KHF1ZXJ5KTsNCisgICAg
Ly8gVXBkYXRlIHRoZSBkYXRhYmFzZS4NCisgICAgaUZvcm1EYXRhVGFibGUuUmVzZXQoKTsNCisg
ICAgaUZvcm1EYXRhVGFibGUuSW5zZXJ0TCgpOw0KKyAgICBXcml0ZUxvbmdUZXh0TChpRm9ybURh
dGFUYWJsZSwgaUZvcm1EYXRhQ29sU2V0LT5Db2xObyhLRm9ybURhdGFOYW1lKSwgYU5hbWUpOw0K
KyAgICBXcml0ZUxvbmdUZXh0TChpRm9ybURhdGFUYWJsZSwgaUZvcm1EYXRhQ29sU2V0LT5Db2xO
byhLRm9ybURhdGFWYWx1ZSksIGFWYWx1ZSk7ICAgIA0KKyAgICBpRm9ybURhdGFUYWJsZS5QdXRM
KCk7DQogICAgIH0NCiANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLy8gQ0Zvcm1EYXRhQXV0
b0ZpbGxTdG9yZTo6U2F2ZURhdGFMDQorLy8gQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6U2F2ZURh
dGENCiAvLyBTYXZlIHRoZSBmb3JtIGRhdGEgaW4gc3RvcmUuDQogLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KIHZvaWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6U2F2ZURhdGEgKGNvbnN0IENBcnJh
eVB0ckZsYXQ8Q1dlYkNvcmVGb3JtRGF0YUVsZW1lbnQ+JiBhRm9ybURhdGEpDQpAQCAtMjU0LDgg
KzI3NSwxMiBAQA0KICAgICAgICAgICAgICYmIGVsZW0tPmlWYWx1ZS0+TGVuZ3RoKCkgPiAwICkN
CiAgICAgICAgICAgICB7DQogICAgICAgICAgICAgLy8gZGVsZXRlIGFuZCByZS1pbnNlcnQgd2ls
bCBtYWtlIHN1cmUgdGhhdCB0aGlzIGVudHJ5IHdpbGwgYmUgcGxhY2VkIGF0IHRoZSB0b3Agb2Yg
dGhlIGxpc3QNCi0gICAgICAgICAgICBEZWxldGVEYXRhKCooZWxlbS0+aUtleSksICooZWxlbS0+
aVZhbHVlKSk7DQotICAgICAgICAgICAgSW5zZXJ0RGF0YSgqKGVsZW0tPmlLZXkpLCAqKGVsZW0t
PmlWYWx1ZSkpOw0KKyAgICAgICAgICAgIGlmICggT3BlblRhYmxlRm9yVXNlKCkgPT0gS0Vyck5v
bmUgKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIFRSQVBfSUdOT1JFKERl
bGV0ZURhdGFMKCooZWxlbS0+aUtleSksICooZWxlbS0+aVZhbHVlKSkpOw0KKyAgICAgICAgICAg
ICAgICBUUkFQX0lHTk9SRShJbnNlcnREYXRhTCgqKGVsZW0tPmlLZXkpLCAqKGVsZW0tPmlWYWx1
ZSkpKTsNCisgICAgICAgICAgICAgICAgQ2xvc2VUYWJsZUFmdGVyVXNlKCk7DQorICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICB9DQogICAgICAgICB9DQogICAgIH0NCkBAIC0yODQsNiAr
MzA5LDMxIEBADQogICAgIGlEYXRhYmFzZS5DbG9zZSgpOw0KICAgICB9DQogDQorVEludCBDRm9y
bURhdGFBdXRvRmlsbFN0b3JlOjpPcGVuVGFibGVGb3JVc2UoKQ0KKyAgICB7DQorICAgIFRJbnQg
IHJldCA9IEtFcnJOb25lOw0KKyAgICAvLyBPcGVuIHRoZSBmb3JtZGF0YSB0YWJsZQ0KKyAgICBy
ZXQgPSBpRm9ybURhdGFUYWJsZS5PcGVuKGlEYXRhYmFzZSwgS0Zvcm1EYXRhVGFibGUsIFJEYlRh
YmxlOjpFVXBkYXRhYmxlKTsNCisgICAgaWYgKCByZXQgPT0gS0Vyck5vbmUgKQ0KKyAgICAgICAg
ew0KKyAgICAgICAgVFJBUChyZXQsIGlGb3JtRGF0YUNvbFNldCA9IGlGb3JtRGF0YVRhYmxlLkNv
bFNldEwoKSk7DQorICAgICAgICBpZiAoIHJldCAhPSBLRXJyTm9uZSApDQorICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgIGlGb3JtRGF0YVRhYmxlLkNsb3NlKCk7DQorICAgICAgICAgICAgcmV0
dXJuIHJldDsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAgIHJldHVybiByZXQ7DQor
ICAgIH0NCisNCit2b2lkIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNsb3NlVGFibGVBZnRlclVz
ZSgpDQorICAgIHsNCisgICAgLy8gQ2xvc2UgdGhlIGZvcm1kYXRhIHRhYmxlDQorICAgIGRlbGV0
ZSBpRm9ybURhdGFDb2xTZXQ7DQorICAgIGlGb3JtRGF0YUNvbFNldCA9IE5VTEw7DQorICAgIGlG
b3JtRGF0YVRhYmxlLkNsb3NlKCk7DQorICAgIH0NCisNCiBUSW50IENGb3JtRGF0YUF1dG9GaWxs
U3RvcmU6OkNyZWF0ZURhdGFiYXNlKCkNCiAgICAgew0KICAgICBUSW50IHJldCA9IGlEYXRhYmFz
ZS5SZXBsYWNlKGlEYlNlc3Npb24sICppRm9ybURhdGFEQkZpbGUpOw0KQEAgLTMyMiw0ICszNzIs
NTAgQEANCiAgICAgVXNlcjo6TGVhdmVJZkVycm9yKGlEYXRhYmFzZS5DcmVhdGVUYWJsZShLRm9y
bURhdGFUYWJsZSwgKmNvbFNldCkpOw0KICAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3ko
Y29sU2V0KTsNCiAgICAgfQ0KKw0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLy8gQ0Zvcm1E
YXRhQXV0b0ZpbGxTdG9yZTo6V3JpdGVMb25nVGV4dEwNCisvLw0KKy8vIFdyaXRlcyAibG9uZyIg
dGV4dCB0byB0aGUgZGF0YWJhc2UuDQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisvLw0KK3Zv
aWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6V3JpdGVMb25nVGV4dEwoUkRiUm93U2V0JiBhVGFi
bGUsIFRJbnQgYUNvbHVtbkluZGV4LCANCisgICAgICAgIGNvbnN0IFREZXNDJiBhVmFsdWUpDQor
ICAgIHsNCisgICAgUkRiQ29sV3JpdGVTdHJlYW0gIHN0cmVhbTsNCisgICAgDQorICAgIHN0cmVh
bS5PcGVuTEMoYVRhYmxlLCBhQ29sdW1uSW5kZXgpOw0KKyAgICBzdHJlYW0uV3JpdGVMKGFWYWx1
ZSk7DQorICAgIHN0cmVhbS5DbG9zZSgpOw0KKyAgICBDbGVhbnVwU3RhY2s6OlBvcCgvKnN0cmVh
bSovKTsNCisgICAgfQ0KKw0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLy8gQ0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZTo6UmVhZExvbmdUZXh0TA0KKy8vDQorLy8gUmVhZHMgImxvbmciIHRleHQg
ZnJvbSB0aGUgZGF0YWJhc2UuDQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisvLw0KK3ZvaWQg
Q0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6UmVhZExvbmdUZXh0TChSRGJSb3dTZXQmIGFUYWJsZSwg
VEludCBhQ29sdW1uSW5kZXgsIA0KKyAgICAgICAgSEJ1ZkMqJiBhVmFsdWUpDQorICAgIHsNCisg
ICAgUkRiQ29sUmVhZFN0cmVhbSAgc3RyZWFtOw0KKyAgICBIQnVmQyogICAgICAgICAgICB2YWx1
ZSA9IE5VTEw7DQorICAgIFRJbnQgICAgICAgICAgICAgIGxlbmd0aDsNCisgICAgDQorICAgIGxl
bmd0aCA9IGFUYWJsZS5Db2xMZW5ndGgoYUNvbHVtbkluZGV4KTsNCisgICAgdmFsdWUgPSBIQnVm
Qzo6TmV3TEMobGVuZ3RoKTsNCisgICAgVFB0ciAgdih2YWx1ZS0+RGVzKCkpOw0KKyAgICANCisg
ICAgaWYgKGxlbmd0aCA+IDApDQorICAgICAgICB7ICAgICAgICANCisgICAgICAgIHN0cmVhbS5P
cGVuTEMoYVRhYmxlLCBhQ29sdW1uSW5kZXgpOw0KKyAgICAgICAgc3RyZWFtLlJlYWRMKHYsIGxl
bmd0aCk7DQorICAgICAgICBzdHJlYW0uQ2xvc2UoKTsNCisgICAgICAgIENsZWFudXBTdGFjazo6
UG9wKC8qc3RyZWFtKi8pOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgIENsZWFudXBTdGFj
azo6UG9wKHZhbHVlKTsgICAgDQorICAgIGFWYWx1ZSA9IHZhbHVlOw0KKyAgICB9DQogLy8gIEVu
ZCBvZiBGaWxlDQpJbmRleDogV2ViS2l0L0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktp
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Mzg4KQ0KKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkNCkBAIC0xLDMgKzEsMjMgQEANCisyMDA2LTEyLTIyICByYXRobmFzYSAgPHNvcm5h
bGF0aGEucmF0aG5hc2FteUBub2tpYS5jb20+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBTdGV2
ZSBXaW5zaGlwIGFuZCBZb25nanVuIFpoYW5nLg0KKyAgICAgICAgREVTQzogVFNXIElEIyBTUkFZ
LTZXUUtBNjogRm9ybWRhdGFhdXRvZmlsbDogSWYgdGhlIGZvcm0gZmllbGQgY29udGFpbnMgc2lu
Z2xlIG9yIGRvdWJsZSBxdW90ZXMgdGhlIFNRTCBxdWVyeSB0byBpbnNlcnQsIGRlbGV0ZSBkYXRh
IGRvZXMgbm90IHdvcmsuDQorICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTkyNw0KKw0KKyAgICAgICAgKiBCcm93c2VyVmlldy9pbmMvRm9ybURhdGFBdXRv
RmlsbFN0b3JlLmg6DQorICAgICAgICAqIEJyb3dzZXJWaWV3L3NyYy9Gb3JtRGF0YUF1dG9GaWxs
U3RvcmUuY3BwOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6Ok5ld0wpOg0KKyAg
ICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNvbnN0cnVjdEwpOg0KKyAgICAgICAgKENG
b3JtRGF0YUF1dG9GaWxsU3RvcmU6OkdldERhdGFMKToNCisgICAgICAgIChDRm9ybURhdGFBdXRv
RmlsbFN0b3JlOjpEZWxldGVEYXRhTCk6DQorICAgICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9y
ZTo6SW5zZXJ0RGF0YUwpOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OlNhdmVE
YXRhKToNCisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpPcGVuVGFibGVGb3JVc2Up
Og0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNsb3NlVGFibGVBZnRlclVzZSk6
DQorICAgICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6Q3JlYXRlRm9ybURhdGFUYWJsZUwp
Og0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OldyaXRlTG9uZ1RleHRMKToNCisg
ICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpSZWFkTG9uZ1RleHRMKToNCisNCiAyMDA2
LTEyLTIxICByYXRobmFzYSAgPHNvcm5hbGF0aGEucmF0aG5hc2FteUBub2tpYS5jb20+DQogDQog
ICAgICAgICBSZXZpZXdlZCBieSA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+Lg0K
</data>
<flag name="review"
          id="4391"
          type_id="1"
          status="+"
          setter="yongjun.zhang"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12082</attachid>
            <date>2006-12-28 09:42:06 -0800</date>
            <delta_ts>2007-01-03 10:34:29 -0800</delta_ts>
            <desc>Fix the syntax error in sql query</desc>
            <filename>bugzilla_11927b.patch</filename>
            <type>text/plain</type>
            <size>22105</size>
            <attacher name="Sornalatha Rathnasamy">sornalatha.rathnasamy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9Ccm93c2VyVmlldy9pbmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmgNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRhQXV0b0ZpbGxTdG9y
ZS5oCShyZXZpc2lvbiAxODQ1MikNCisrKyBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtNTgsOCArNTgsNiBAQA0KIA0KIC8v
IENPTlNUQU5UUw0KIA0KLSNkZWZpbmUgS01heFNRTExlbmd0aCAoMTAyNCkvLyBtdXN0IGhhbmRs
ZSBuYW1lIGxlbmd0aCArIHZhbHVlIGxlbmd0aCArIGluc2VydCBzdGF0ZW1lbnQgbGVuZ3RoDQot
DQogLy8gTUFDUk9TDQogDQogLy8gREFUQSBUWVBFUw0KQEAgLTkzLDE1ICs5MSwxNSBAQA0KICAg
ICAgICAgKi8NCiAgICAgICAgIHZvaWQgR2V0RGF0YUwgKENBcnJheVB0ckZsYXQ8Q09wdGlvbkRh
dGE+JiBhT3B0aW9ucywgY29uc3QgVERlc0MmIGFOYW1lKTsNCiANCi0gICAgLyoqDQotICAgICog
U2F2ZSB0aGUgZmllbGQvdmFsdWUgaW4gc3RvcmUuDQotICAgICovDQotICAgIHZvaWQgU2F2ZURh
dGEgKGNvbnN0IENBcnJheVB0ckZsYXQ8Q1dlYkNvcmVGb3JtRGF0YUVsZW1lbnQ+JiBhRm9ybURh
dGEpOw0KKyAgICAgICAgLyoqDQorICAgICAgICAqIFNhdmUgdGhlIGZpZWxkL3ZhbHVlIGluIHN0
b3JlLg0KKyAgICAgICAgKi8NCisgICAgICAgIHZvaWQgU2F2ZURhdGEgKGNvbnN0IENBcnJheVB0
ckZsYXQ8Q1dlYkNvcmVGb3JtRGF0YUVsZW1lbnQ+JiBhRm9ybURhdGEpOw0KIA0KLSAgICAvKioN
Ci0gICAgKiBDbGVhciB0aGUgc2F2ZWQgZGF0YQ0KLSAgICAqLw0KLSAgICB2b2lkIENsZWFyRGF0
YSAoKTsNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiBDbGVhciB0aGUgc2F2ZWQgZGF0YQ0KKyAg
ICAgICAgKi8NCisgICAgICAgIHZvaWQgQ2xlYXJEYXRhICgpOw0KIA0KICAgICAgICAgLyoqDQog
ICAgICAgICAqIERlc3RydWN0b3INCkBAIC0xMTUsNDAgKzExMyw3MiBAQA0KICAgICAgICAgKi8N
CiAgICAgICAgIHZvaWQgQ29uc3RydWN0TCgpOw0KIA0KLSAgICAvKioNCi0gICAgKiAgRGVmYXVs
dCBjb25zdHJ1Y3Rvcg0KLSAgICAqLw0KLSAgICBDRm9ybURhdGFBdXRvRmlsbFN0b3JlKCk7DQor
ICAgICAgICAvKioNCisgICAgICAgICogIERlZmF1bHQgY29uc3RydWN0b3INCisgICAgICAgICov
DQorICAgICAgICBDRm9ybURhdGFBdXRvRmlsbFN0b3JlKCk7DQogDQotICAgIC8qKg0KLSAgICAq
IERlbGV0ZURhdGENCi0gICAgKiBEZWxldGVzIGEgcm93IGZyb20gdGhlIGRhdGFiYXNlDQotICAg
ICovDQotICAgIHZvaWQgRGVsZXRlRGF0YSAoY29uc3QgVERlc0MmIGFOYW1lLCBjb25zdCBURGVz
QyYgYVZhbHVlKTsNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiBEZWxldGVEYXRhTA0KKyAgICAg
ICAgKiBEZWxldGVzIGEgcm93IGZyb20gdGhlIGRhdGFiYXNlDQorICAgICAgICAqLw0KKyAgICAg
ICAgdm9pZCBEZWxldGVEYXRhTCAoY29uc3QgVERlc0MmIGFOYW1lLCBjb25zdCBURGVzQyYgYVZh
bHVlKTsNCiANCi0gICAgLyoqDQotICAgICogIE9wZW4gdGhlIGRhdGFiYXNlDQotICAgICovDQot
ICAgIFRJbnQgT3BlbkRhdGFiYXNlKCk7DQorICAgICAgICAvKioNCisgICAgICAgICogSW5zZXJ0
RGF0YUwNCisgICAgICAgICogSW5zZXJ0cyBhIHJvdyBpbnRvIHRoZSBkYXRhYmFzZQ0KKyAgICAg
ICAgKi8NCisgICAgICAgIHZvaWQgSW5zZXJ0RGF0YUwgKGNvbnN0IFREZXNDJiBhTmFtZSwgY29u
c3QgVERlc0MmIGFWYWx1ZSk7DQogDQotICAgIC8qKg0KLSAgICAqICBDbG9zZSB0aGUgZGF0YWJh
c2UNCi0gICAgKi8NCi0gICAgdm9pZCBDbG9zZURhdGFiYXNlKCk7DQorICAgICAgICAvKioNCisg
ICAgICAgICogIE9wZW4gdGhlIGRhdGFiYXNlDQorICAgICAgICAqLw0KKyAgICAgICAgVEludCBP
cGVuRGF0YWJhc2UoKTsNCiANCi0gICAgLyoqDQotICAgICogIENyZWF0ZSB0aGUgZGF0YWJhc2UN
Ci0gICAgKi8NCi0gICAgVEludCBDcmVhdGVEYXRhYmFzZSgpOw0KKyAgICAgICAgLyoqDQorICAg
ICAgICAqICBDbG9zZSB0aGUgZGF0YWJhc2UNCisgICAgICAgICovDQorICAgICAgICB2b2lkIENs
b3NlRGF0YWJhc2UoKTsNCiANCi0gICAgICAgIC8qICBQcml2YXRlIE1lbWJlcnMgICovDQorICAg
ICAgICAvKioNCisgICAgICAgICogIENyZWF0ZSB0aGUgZGF0YWJhc2UNCisgICAgICAgICovDQor
ICAgICAgICBUSW50IENyZWF0ZURhdGFiYXNlKCk7DQogDQorICAgICAgICAvKioNCisgICAgICAg
ICogIENyZWF0ZSB0aGUgZm9ybWRhdGEgdGFibGUNCisgICAgICAgICovDQorICAgICAgICB2b2lk
IENyZWF0ZUZvcm1EYXRhVGFibGVMKCk7DQorDQorICAgICAgICAvKioNCisgICAgICAgICogIE9w
ZW4gdGhlIGZvcm1kYXRhIHRhYmxlDQorICAgICAgICAqLw0KKyAgICAgICAgVEludCBPcGVuVGFi
bGVGb3JVc2UoKTsNCisNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiAgQ2xvc2UgdGhlIGZvcm1k
YXRhIHRhYmxlDQorICAgICAgICAqLw0KKyAgICAgICAgdm9pZCBDbG9zZVRhYmxlQWZ0ZXJVc2Uo
KTsNCisNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiAgUmVhZHMgImxvbmciIHRleHQgZnJvbSB0
aGUgZGF0YWJhc2UuDQorICAgICAgICAqLw0KKyAgICAgICAgdm9pZCBSZWFkTG9uZ1RleHRMKFJE
YlJvd1NldCYgYVRhYmxlLCBUSW50IGFDb2x1bW5JbmRleCwgSEJ1ZkMqJiBhVmFsdWUpOw0KKw0K
KyAgICAgICAgLyoqDQorICAgICAgICAqICBXcml0ZXMgImxvbmciIHRleHQgdG8gdGhlIGRhdGFi
YXNlLg0KKyAgICAgICAgKi8NCisgICAgICAgIHZvaWQgV3JpdGVMb25nVGV4dEwoUkRiUm93U2V0
JiBhVGFibGUsIFRJbnQgYUNvbHVtbkluZGV4LCBjb25zdCBURGVzQyYgYVZhbHVlKTsNCisNCisg
ICAgLyogIFByaXZhdGUgTWVtYmVycyAgKi8NCisNCiAgICAgcHJpdmF0ZSA6DQogDQotICAgIFJG
cyAgICAgICAgICAgaURiU2Vzc2lvbjsNCi0gICAgUkRiTmFtZWREYXRhYmFzZSAgICBpRGF0YWJh
c2U7DQotICAgIFRCdWY8S01heFNRTExlbmd0aD4gICBpU1FMU3RhdGVtZW50Ow0KLSAgICBIQnVm
QyogICAgICAgICAgaUZvcm1EYXRhREJGaWxlOw0KKyAgICAgICAgUkZzICAgICAgICAgICAgICAg
ICBpRGJTZXNzaW9uOw0KKyAgICAgICAgUkRiTmFtZWREYXRhYmFzZSAgICBpRGF0YWJhc2U7DQor
ICAgICAgICBIQnVmQyogICAgICAgICAgICAgIGlGb3JtRGF0YURCRmlsZTsNCisgICAgICAgIFJE
YlRhYmxlICAgICAgICAgICAgaUZvcm1EYXRhVGFibGU7DQorICAgICAgICBDRGJDb2xTZXQqICAg
ICAgICAgIGlGb3JtRGF0YUNvbFNldDsNCiAgICAgfTsNCiANCiAjZW5kaWYgIC8vIEZPUk1EQVRB
QVVUT0ZJTExTVE9SRV9IDQpJbmRleDogV2ViS2l0L0Jyb3dzZXJWaWV3L3NyYy9Gb3JtRGF0YUF1
dG9GaWxsU3RvcmUuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L0Jyb3dzZXJWaWV3L3NyYy9G
b3JtRGF0YUF1dG9GaWxsU3RvcmUuY3BwCShyZXZpc2lvbiAxODQ1MikNCisrKyBXZWJLaXQvQnJv
d3NlclZpZXcvc3JjL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkNCkBA
IC01Nyw3ICs1Nyw2IEBADQogDQogLy8gTE9DQUwgQ09OU1RBTlRTIEFORCBNQUNST1MNCiBfTElU
KEtGb3JtRGF0YURCRmlsZSwgImM6XFxwcml2YXRlXFwlMDh4XFxGb3JtRGF0YUF1dG9GaWxsU3Rv
cmUuZGIiKTsNCi0NCiBfTElUKEtTUUxJbnNlcnRWZXJzaW9uLCAiSU5TRVJUIElOVE8gZGJ2ZXJz
aW9uIChkYnZlcikgVkFMVUVTICgnMS4wJykiKTsNCiANCiAvKg0KQEAgLTY2LDEzICs2NSwxNCBA
QA0KICogICAgICAgTmFtZSAtIG5hbWUgYXR0cmlidXRlIG9mIHRoZSB0ZXh0IGZpZWxkIHdpZGdl
dA0KICogICAgICAgVmFsdWUgLSB1c2VyIGVudGVyZWQgdmFsdWUgZm9yIHRoZSBmaWVsZA0KICov
DQorLy8gVGFibGUgZmllbGQgbmFtZXMNCitfTElUKEtGb3JtRGF0YUhpc3RvcnksICJoaXN0b3J5
Iik7DQorX0xJVChLRm9ybURhdGFOYW1lLCAibmFtZSIpOw0KK19MSVQoS0Zvcm1EYXRhVmFsdWUs
ICJ2YWx1ZSIpOw0KKw0KK19MSVQoS0Zvcm1EYXRhVGFibGUsICJmb3JtZGF0YSIpOw0KIF9MSVQo
S1ZlcnNpb25UYWJsZVNRTCwgIkNSRUFURSBUQUJMRSBkYnZlcnNpb24oZGJ2ZXIgQ0hBUigxMCkp
Iik7DQotX0xJVChLTmFtZVZhbHVlVGFibGVTUUwsICJDUkVBVEUgVEFCTEUgZm9ybWRhdGEoaGlz
dG9yeSBDT1VOVEVSLCBuYW1lIFZBUkNIQVIoNTApLCB2YWx1ZSBWQVJDSEFSKDE1MCkpIik7DQot
X0xJVChLSW5kZXgxU1FMLCAiQ1JFQVRFIElOREVYIG5hbWVpZHggT04gZm9ybWRhdGEgKG5hbWUp
Iik7DQogDQotX0xJVChLU1FMSW5zZXJ0LCAiSU5TRVJUIElOVE8gZm9ybWRhdGEgKG5hbWUsdmFs
dWUpIFZBTFVFUyAoJyVTJywgJyVTJykiKTsNCi1fTElUKEtTUUxEZWxldGUsICJERUxFVEUgRlJP
TSBmb3JtZGF0YSBXSEVSRSBuYW1lID0gJyVTJyBBTkQgdmFsdWUgPSAnJVMnIik7DQotX0xJVChL
U1FMU2VsZWN0LCAiU0VMRUNUIHZhbHVlIEZST00gZm9ybWRhdGEgV0hFUkUgbmFtZSA9ICclUycg
T1JERVIgQlkgaGlzdG9yeSBkZXNjIik7DQogLy9fTElUKEtTUUxTZWxlY3QsICJTRUxFQ1QgdmFs
dWUgRlJPTSBmb3JtZGF0YSBXSEVSRSBuYW1lID0gJyVTJyBBTkQgdmFsdWUgTElLRSAnJVMqJyBP
UkRFUiBCWSBoaXN0b3J5IGRlc2MiKTsNCiBjb25zdCBUVWludCBLVmFsdWVDb2wgPSAxOw0KIA0K
QEAgLTg4LDEyICs4OCwxMyBAQA0KIC8vIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6Ok5ld0xDDQog
Ly8gVHdvLXBoYXNlZCBjb25zdHJ1Y3Rvci4NCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLUNG
b3JtRGF0YUF1dG9GaWxsU3RvcmUgKiBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpOZXdMICgpDQor
Q0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZSogQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6TmV3TCAoKQ0K
ICAgICB7DQogICAgIENGb3JtRGF0YUF1dG9GaWxsU3RvcmUqIHNlbGYgPSBuZXcgKEVMZWF2ZSkg
Q0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZSgpOw0KKyAgICBDbGVhbnVwU3RhY2s6OlB1c2hMKHNlbGYp
Ow0KICAgICBzZWxmLT5Db25zdHJ1Y3RMKCk7DQorICAgIENsZWFudXBTdGFjazo6UG9wKCk7DQog
ICAgIHJldHVybiBzZWxmOw0KLQ0KICAgICB9DQogDQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
CkBAIC0xMDEsOSArMTAyLDkgQEANCiAvLyBDKysgZGVmYXVsdCBjb25zdHJ1Y3RvciBjYW4gTk9U
IGNvbnRhaW4gYW55IGNvZGUsIHRoYXQgbWlnaHQgbGVhdmUuDQogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCiBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpDRm9ybURhdGFBdXRvRmlsbFN0b3JlKCkN
Ci0gIHsNCisgICAgew0KIA0KLSAgfQ0KKyAgICB9DQogDQogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCiAvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpDb25zdHJ1Y3RMDQpAQCAtMTExLDM0ICsx
MTIsMzMgQEANCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIHZvaWQgQ0Zvcm1EYXRhQXV0b0Zp
bGxTdG9yZTo6Q29uc3RydWN0TCgpDQogICAgIHsNCi0gICAgDQogICAgIC8vIENyZWF0ZSB0aGUg
ZmlsZSBuYW1lIGZyb20gVUlEDQotICBSUHJvY2VzcyBteVByb2Nlc3M7IA0KLSAgVEJ1ZiA8MjU2
PmJ1ZjsgICAgDQorICAgIFJQcm9jZXNzIG15UHJvY2VzczsgDQorICAgIFRCdWYgPDI1Nj5idWY7
ICAgIA0KICAgICBidWYuRm9ybWF0KEtGb3JtRGF0YURCRmlsZSwgbXlQcm9jZXNzLklkZW50aXR5
KCkpOw0KLSAgDQotICBpRm9ybURhdGFEQkZpbGUgPSBidWYuQWxsb2NMKCk7DQorICAgIA0KKyAg
ICBpRm9ybURhdGFEQkZpbGUgPSBidWYuQWxsb2NMKCk7DQogDQotICAvLyBvcGVuIHRoZSBkYXRh
YmFzZSAtIGNyZWF0ZSBpZiBpdCBkb2Vzbid0IGV4aXN0DQotICBVc2VyOjpMZWF2ZUlmRXJyb3Io
aURiU2Vzc2lvbi5Db25uZWN0KCkpOw0KLSAgaWYgKE9wZW5EYXRhYmFzZSgpICE9IEtFcnJOb25l
KQ0KLSAgICB7DQotICAgIFVzZXI6OkxlYXZlSWZFcnJvcihDcmVhdGVEYXRhYmFzZSgpKTsNCisg
ICAgLy8gb3BlbiB0aGUgZGF0YWJhc2UgLSBjcmVhdGUgaWYgaXQgZG9lc24ndCBleGlzdA0KKyAg
ICBVc2VyOjpMZWF2ZUlmRXJyb3IoaURiU2Vzc2lvbi5Db25uZWN0KCkpOw0KKyAgICBpZiAoT3Bl
bkRhdGFiYXNlKCkgIT0gS0Vyck5vbmUpDQorICAgICAgICB7DQorICAgICAgICBVc2VyOjpMZWF2
ZUlmRXJyb3IoQ3JlYXRlRGF0YWJhc2UoKSk7DQorICAgICAgICB9DQorICAgIGVsc2UNCisgICAg
ICAgIHsNCisgICAgICAgIFVzZXI6OkxlYXZlSWZFcnJvcihpRGF0YWJhc2UuQ29tcGFjdCgpKTsN
CisgICAgICAgIH0NCiAgICAgfQ0KLSAgZWxzZQ0KLSAgICB7DQotICAgIFVzZXI6OkxlYXZlSWZF
cnJvcihpRGF0YWJhc2UuQ29tcGFjdCgpKTsNCi0gICAgfQ0KLSAgICB9DQogICAgIA0KIC8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCiAvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlIERlc3RydWN0b3IN
CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6fkNGb3Jt
RGF0YUF1dG9GaWxsU3RvcmUoKQ0KICAgICB7DQotICBDbG9zZURhdGFiYXNlKCk7DQotICBpRGJT
ZXNzaW9uLkNsb3NlKCk7DQotICBkZWxldGUgaUZvcm1EYXRhREJGaWxlOw0KKyAgICBDbG9zZURh
dGFiYXNlKCk7DQorICAgIGlEYlNlc3Npb24uQ2xvc2UoKTsNCisgICAgZGVsZXRlIGlGb3JtRGF0
YURCRmlsZTsNCiAgICAgfQ0KIA0KICAgICANCkBAIC0xNDksMTI2ICsxNDksMjgwIEBADQogLy8t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KIHZvaWQgQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6R2V0RGF0
YUwgKENBcnJheVB0ckZsYXQ8Q09wdGlvbkRhdGE+JiBhT3B0aW9ucywgY29uc3QgVERlc0MmIGFO
YW1lKQ0KICAgICB7DQotDQogICAgIFRJbnQgcm93Q291bnQoMCk7DQorICAgIEhCdWZDKiBxdWVy
eSA9IE5VTEw7DQorICAgIC8vIlNFTEVDVCB2YWx1ZSBGUk9NIGZvcm1kYXRhIFdIRVJFIG5hbWUg
PSAnJVMnIE9SREVSIEJZIGhpc3RvcnkgZGVzYyINCisgICAgX0xJVChLU1FMU2VsZWN0LCAiU0VM
RUNUIHZhbHVlIEZST00gZm9ybWRhdGEgV0hFUkUgbmFtZSA9ICIpOw0KKyAgICBfTElUKEtTUUxR
dW90ZSwiJyIpOw0KKyAgICBfTElUKEtTUUxPcmRlciwgIiBPUkRFUiBCWSBoaXN0b3J5IGRlc2Mi
KTsgICAgDQorICAgIHF1ZXJ5ID0gSEJ1ZkM6Ok5ld0xDKEtTUUxTZWxlY3QoKS5MZW5ndGgoKSAr
IEtTUUxRdW90ZSgpLkxlbmd0aCgpICsgDQorICAgICAgICAgICAgYU5hbWUuTGVuZ3RoKCkgKyBL
U1FMUXVvdGUoKS5MZW5ndGgoKSArIEtTUUxPcmRlcigpLkxlbmd0aCgpKTsNCiANCi0gIC8vIHNl
bGVjdCB2YWx1ZXMgZnJvbSB0aGUgZGF0YWJhc2UgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRo
aXMgdGV4dCBmaWVsZCBuYW1lDQotICBpU1FMU3RhdGVtZW50LkZvcm1hdChLU1FMU2VsZWN0LCAm
YU5hbWUpOw0KKyAgICAvLyBzZWxlY3QgdmFsdWVzIGZyb20gdGhlIGRhdGFiYXNlIHRoYXQgYXJl
IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRleHQgZmllbGQgbmFtZQ0KKyAgICBxdWVyeS0+RGVzKCku
Q29weShLU1FMU2VsZWN0KCkpOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxRdW90ZSgp
KTsNCisgICAgcXVlcnktPkRlcygpLkFwcGVuZChhTmFtZSk7DQorICAgIHF1ZXJ5LT5EZXMoKS5B
cHBlbmQoS1NRTFF1b3RlKCkpOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxPcmRlcigp
KTsNCiANCiAgICAgUkRiVmlldyB2aWV3Ow0KLSAgICANCi0gICAgVEludCBlcnIgPSB2aWV3LlBy
ZXBhcmUoaURhdGFiYXNlLCBURGJRdWVyeShpU1FMU3RhdGVtZW50KSk7DQorICAgIFRJbnQgZXJy
ID0gdmlldy5QcmVwYXJlKGlEYXRhYmFzZSwgVERiUXVlcnkoKnF1ZXJ5KSk7DQorICAgIENsZWFu
dXBTdGFjazo6UG9wQW5kRGVzdHJveShxdWVyeSk7DQogICAgIGlmIChlcnIgPT0gS0Vyck5vbmUp
DQotICAgICAgew0KLSAgICAgIGVyciA9IHZpZXcuRXZhbHVhdGVBbGwoKTsNCi0gICAgICBpZiAo
ZXJyID09IEtFcnJOb25lKQ0KICAgICAgICAgew0KLSAgICAgICAgdmlldy5GaXJzdEwoKTsNCi0g
ICAgICAgIC8vIGxvb3AgdGhyb3VnaCByb3dzIGFuZCBidWlsZCB0aGUgbGlzdA0KLSAgICAgICAg
d2hpbGUgKHZpZXcuQXRSb3coKSAmJiByb3dDb3VudCsrIDwgS01heFJvd3MpDQotICAgICAgICAg
IHsNCi0gICAgICAgICAgdmlldy5HZXRMKCk7DQotICAgICAgICAgIENPcHRpb25EYXRhKiBvcHRp
b25EYXRhID0gQ09wdGlvbkRhdGE6Ok5ld0wodmlldy5Db2xEZXMoS1ZhbHVlQ29sKSwgRUZhbHNl
LCBFRmFsc2UpOw0KLSAgICAgICAgQ2xlYW51cFN0YWNrOjpQdXNoTChvcHRpb25EYXRhKTsNCi0g
ICAgICAgIGFPcHRpb25zLkFwcGVuZEwob3B0aW9uRGF0YSk7DQotICAgICAgICBDbGVhbnVwU3Rh
Y2s6OlBvcCgpOyAvL29wdGlvbkRhdGENCi0NCi0gICAgICAgICAgdmlldy5OZXh0TCgpOw0KLSAg
ICAgICAgICB9DQotICAgICAgICAvKg0KLSAgICAgICAgKiBUaGlzIGxvb3Agd2lsbCBrZWVwIHRo
ZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZGF0YWJhc2UgYXQgYSByZWFzb25hYmxlIHNpemUgYnkN
Ci0gICAgICAgICogZGVsZXRpbmcgb2xkIHJvd3MgKGRlbGV0ZXMgcm93cyBiZXlvbmQgS01heFJv
d3MpLiAgU2hvdWxkIGJlIGF0IG1vc3QgMSByb3cgZGVsZXRlZC4NCi0gICAgICAgICogSXRzIG1v
cmUgZWZmaWNpYW50IHRvIGRlbGV0ZSBpdCBoZXJlIHRoYW4gaW4gdGhlIFNhdmVEYXRhIGJlY2F1
c2UgaW4gdGhpcyBmdW5jdGlvbg0KLSAgICAgICAgKiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGxpc3Qg
YW5kIGtub3cgaXRzIHNpemUNCi0gICAgICAgICovDQotICAgICAgICB3aGlsZSAodmlldy5BdFJv
dygpKQ0KLSAgICAgICAgICB7DQotICAgICAgICAgIHZpZXcuR2V0TCgpOw0KLSAgICAgICAgICBE
ZWxldGVEYXRhKGFOYW1lLCB2aWV3LkNvbERlcyhLVmFsdWVDb2wpKTsNCi0gICAgICAgICAgdmll
dy5OZXh0TCgpOw0KLSAgICAgICAgICB9DQorICAgICAgICBlcnIgPSB2aWV3LkV2YWx1YXRlQWxs
KCk7DQorICAgICAgICBpZiAoZXJyID09IEtFcnJOb25lKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICB2aWV3LkZpcnN0TCgpOw0KKyAgICAgICAgICAgIC8vIGxvb3AgdGhyb3VnaCByb3dz
IGFuZCBidWlsZCB0aGUgbGlzdA0KKyAgICAgICAgICAgIHdoaWxlICh2aWV3LkF0Um93KCkgJiYg
cm93Q291bnQrKyA8IEtNYXhSb3dzKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgIHZpZXcuR2V0TCgpOw0KKyAgICAgICAgICAgICAgICBIQnVmQyogdmFsdWUgPSBOVUxMOw0K
KyAgICAgICAgICAgICAgICBSZWFkTG9uZ1RleHRMKCB2aWV3LCBLVmFsdWVDb2wsIHZhbHVlICk7
DQorICAgICAgICAgICAgICAgIENsZWFudXBTdGFjazo6UHVzaEwoIHZhbHVlICk7DQorICAgICAg
ICAgICAgICAgIENPcHRpb25EYXRhKiBvcHRpb25EYXRhID0gQ09wdGlvbkRhdGE6Ok5ld0woKnZh
bHVlLCBFRmFsc2UsIEVGYWxzZSk7DQorICAgICAgICAgICAgICAgIENsZWFudXBTdGFjazo6UHVz
aEwob3B0aW9uRGF0YSk7DQorICAgICAgICAgICAgICAgIGFPcHRpb25zLkFwcGVuZEwob3B0aW9u
RGF0YSk7DQorICAgICAgICAgICAgICAgIENsZWFudXBTdGFjazo6UG9wKCk7IC8vb3B0aW9uRGF0
YQ0KKyAgICAgICAgICAgICAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3koKTsgLy92YWx1
ZQ0KKyAgICAgICAgICAgICAgICB2aWV3Lk5leHRMKCk7DQorICAgICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAvKg0KKyAgICAgICAgICAgICogVGhpcyBsb29wIHdpbGwga2VlcCB0aGUgbnVt
YmVyIG9mIHJvd3MgaW4gdGhlIGRhdGFiYXNlIGF0IGEgcmVhc29uYWJsZSBzaXplIGJ5DQorICAg
ICAgICAgICAgKiBkZWxldGluZyBvbGQgcm93cyAoZGVsZXRlcyByb3dzIGJleW9uZCBLTWF4Um93
cykuICBTaG91bGQgYmUgYXQgbW9zdCAxIHJvdyBkZWxldGVkLg0KKyAgICAgICAgICAgICogSXRz
IG1vcmUgZWZmaWNpYW50IHRvIGRlbGV0ZSBpdCBoZXJlIHRoYW4gaW4gdGhlIFNhdmVEYXRhIGJl
Y2F1c2UgaW4gdGhpcyBmdW5jdGlvbg0KKyAgICAgICAgICAgICogd2UgYWxyZWFkeSBoYXZlIHRo
ZSBsaXN0IGFuZCBrbm93IGl0cyBzaXplDQorICAgICAgICAgICAgKi8NCisgICAgICAgICAgICB3
aGlsZSAodmlldy5BdFJvdygpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IHZpZXcuR2V0TCgpOw0KKyAgICAgICAgICAgICAgICBpZiAoIE9wZW5UYWJsZUZvclVzZSgpID09
IEtFcnJOb25lICkNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
IEhCdWZDKiB2YWx1ZSA9IE5VTEw7DQorICAgICAgICAgICAgICAgICAgICBSZWFkTG9uZ1RleHRM
KCB2aWV3LCBLVmFsdWVDb2wsIHZhbHVlICk7DQorICAgICAgICAgICAgICAgICAgICBDbGVhbnVw
U3RhY2s6OlB1c2hMKCB2YWx1ZSApOw0KKyAgICAgICAgICAgICAgICAgICAgVFJBUF9JR05PUkUo
IERlbGV0ZURhdGFMKCBhTmFtZSwgKnZhbHVlICkgKTsNCisgICAgICAgICAgICAgICAgICAgIENs
ZWFudXBTdGFjazo6UG9wQW5kRGVzdHJveSgpOyAvL3ZhbHVlDQorICAgICAgICAgICAgICAgICAg
ICBDbG9zZVRhYmxlQWZ0ZXJVc2UoKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgICAgdmlldy5OZXh0TCgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
fQ0KICAgICAgICAgfQ0KLSAgICAgIH0NCiAgICAgdmlldy5DbG9zZSgpOw0KICAgICB9DQogDQog
Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS8vIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkRlbGV0
ZURhdGENCisvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpEZWxldGVEYXRhTA0KIC8vIERlbGV0
ZXMgYSBzaW5nbGUgcm93IGZyb20gdGhlIGRhdGFiYXNlLg0KIC8vLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCi12b2lkIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkRlbGV0ZURhdGEgKGNvbnN0IFREZXND
JiBhTmFtZSwgY29uc3QgVERlc0MmIGFWYWx1ZSkNCit2b2lkIENGb3JtRGF0YUF1dG9GaWxsU3Rv
cmU6OkRlbGV0ZURhdGFMIChjb25zdCBURGVzQyYgYU5hbWUsIGNvbnN0IFREZXNDJiBhVmFsdWUp
DQogICAgIHsNCi0gIGlTUUxTdGF0ZW1lbnQuRm9ybWF0KEtTUUxEZWxldGUsICZhTmFtZSwgJmFW
YWx1ZSk7DQotICBpRGF0YWJhc2UuRXhlY3V0ZShpU1FMU3RhdGVtZW50KTsNCisgICAgSEJ1ZkMq
IHF1ZXJ5ID0gTlVMTDsNCisgICAgVEludCByZXQgPSBLRXJyTm9uZTsNCisgICAgLy9UaGUgYWN0
dWFsIHF1ZXJ5IGlzICJERUxFVEUgRlJPTSBmb3JtZGF0YSBXSEVSRSBuYW1lID0gJyVTJyBBTkQg
dmFsdWUgPSAnJVMnIg0KKyAgICAvLyBJbm9yZGVyIHRvIGF2b2lkIGFuIGludmFsaWQgcXVlcnkg
aWYgdGhlICd2YWx1ZScgZmllbGQgY29udGFpbnMgcXVvdGVzLCANCisgICAgLy8gcm93cyBjb3Jy
ZXNwb25kaW5nIHRvIHRoZSBnaXZlbiAnYU5hbWUnIGFyZSBzZWxlY3RlZCBhbmQgbWF0Y2hlZCB3
aXRoICdhVmFsdWUnIA0KKyAgICBfTElUKCBLU1FMU2VsZWN0LCAiU0VMRUNUIEZST00gZm9ybWRh
dGEgV0hFUkUgbmFtZSA9ICIgKTsNCisgICAgX0xJVChLU1FMUXVvdGUsIiciKTsNCisgICAgcXVl
cnkgPSBIQnVmQzo6TmV3TEMoIEtTUUxTZWxlY3QoKS5MZW5ndGgoKSArIEtTUUxRdW90ZSgpLkxl
bmd0aCgpIA0KKyAgICAgICAgICAgICAgICArIGFOYW1lLkxlbmd0aCgpICsgS1NRTFF1b3RlKCku
TGVuZ3RoKCkgKTsNCisgICAgcXVlcnktPkRlcygpLkNvcHkoIEtTUUxTZWxlY3QoKSApOw0KKyAg
ICBxdWVyeS0+RGVzKCkuQXBwZW5kKCBLU1FMUXVvdGUoKSApOw0KKyAgICBxdWVyeS0+RGVzKCku
QXBwZW5kKCBhTmFtZSApOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKCBLU1FMUXVvdGUoKSAp
Ow0KKyAgICBpRm9ybURhdGFUYWJsZS5SZXNldCgpOw0KKyAgICBpRm9ybURhdGFUYWJsZS5GaW5k
TCggUkRiUm93U2V0OjpFRm9yd2FyZHMsIFREYlF1ZXJ5KCpxdWVyeSkgKTsNCisNCisgICAgd2hp
bGUoIHJldCAhPSBLRXJyTm90Rm91bmQgKQ0KKyAgICAgICAgew0KKyAgICAgICAgSEJ1ZkMqIHZh
bHVlID0gTlVMTDsNCisgICAgICAgIGlGb3JtRGF0YVRhYmxlLkdldEwoKTsgICAgICAgICAgICAg
ICAgICAgIA0KKyAgICAgICAgLy8gR2V0IHRoZSBmb3JtZGF0YSB2YWx1ZS4NCisgICAgICAgIFJl
YWRMb25nVGV4dEwoIGlGb3JtRGF0YVRhYmxlLCBpRm9ybURhdGFDb2xTZXQtPkNvbE5vKCBLRm9y
bURhdGFWYWx1ZSApLCB2YWx1ZSApOw0KKyAgICAgICAgQ2xlYW51cFN0YWNrOjpQdXNoTCggdmFs
dWUgKTsNCisgICAgICAgIC8vIERlbGV0ZSB0aGUgcm93DQorICAgICAgICBpZiggYVZhbHVlLkNv
bXBhcmVGKCAqdmFsdWUgKSA9PSAwICkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgaUZv
cm1EYXRhVGFibGUuRGVsZXRlTCgpOw0KKyAgICAgICAgICAgIENsZWFudXBTdGFjazo6UG9wQW5k
RGVzdHJveSggdmFsdWUgKTsgDQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgfQ0K
KyAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICBDbGVhbnVwU3RhY2s6
OlBvcEFuZERlc3Ryb3koIHZhbHVlICk7IA0KKyAgICAgICAgICAgIGlGb3JtRGF0YVRhYmxlLkZp
bmRMKCBSRGJSb3dTZXQ6OkVGb3J3YXJkcywgVERiUXVlcnkoICpxdWVyeSApICk7DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICBDbGVhbnVwU3RhY2s6OlBvcEFuZERlc3Ryb3koIHF1
ZXJ5ICk7DQogICAgIH0NCiANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLy8gQ0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZTo6U2F2ZURhdGFMDQorLy8gQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6SW5z
ZXJ0RGF0YUwNCisvLyBJbnNlcnRzIGEgc2luZ2xlIHJvdyBpbnRvIHRoZSBkYXRhYmFzZS4NCisv
Ly0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQordm9pZCBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpJbnNl
cnREYXRhTCAoY29uc3QgVERlc0MmIGFOYW1lLCBjb25zdCBURGVzQyYgYVZhbHVlKQ0KKyAgICB7
DQorICAgIC8vIFVwZGF0ZSB0aGUgZGF0YWJhc2UuDQorICAgIGlGb3JtRGF0YVRhYmxlLlJlc2V0
KCk7DQorICAgIGlGb3JtRGF0YVRhYmxlLkluc2VydEwoKTsNCisgICAgV3JpdGVMb25nVGV4dEwo
aUZvcm1EYXRhVGFibGUsIGlGb3JtRGF0YUNvbFNldC0+Q29sTm8oS0Zvcm1EYXRhTmFtZSksIGFO
YW1lKTsNCisgICAgV3JpdGVMb25nVGV4dEwoaUZvcm1EYXRhVGFibGUsIGlGb3JtRGF0YUNvbFNl
dC0+Q29sTm8oS0Zvcm1EYXRhVmFsdWUpLCBhVmFsdWUpOyAgICANCisgICAgaUZvcm1EYXRhVGFi
bGUuUHV0TCgpOw0KKyAgICB9DQorDQorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy8vIENGb3Jt
RGF0YUF1dG9GaWxsU3RvcmU6OlNhdmVEYXRhDQogLy8gU2F2ZSB0aGUgZm9ybSBkYXRhIGluIHN0
b3JlLg0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiB2b2lkIENGb3JtRGF0YUF1dG9GaWxsU3Rv
cmU6OlNhdmVEYXRhIChjb25zdCBDQXJyYXlQdHJGbGF0PENXZWJDb3JlRm9ybURhdGFFbGVtZW50
PiYgYUZvcm1EYXRhKQ0KLSAgew0KLQ0KLSAgZm9yIChUSW50IGkgPSAwOyBpIDwgYUZvcm1EYXRh
LkNvdW50KCk7IGkrKykNCiAgICAgew0KLSAgICBjb25zdCBDV2ViQ29yZUZvcm1EYXRhRWxlbWVu
dCogZWxlbSA9IGFGb3JtRGF0YS5BdChpKTsNCi0gICAgaWYgKGVsZW0tPmlzUGFzc3dvcmQgPT0g
RUZhbHNlICYmIGVsZW0tPmlLZXktPkxlbmd0aCgpID4gMCAmJg0KLSAgICAgICBlbGVtLT5pVmFs
dWUtPkxlbmd0aCgpID4gMCkNCi0gICAgICB7DQotICAgICAgLy8gZGVsZXRlIGFuZCByZS1pbnNl
cnQgd2lsbCBtYWtlIHN1cmUgdGhhdCB0aGlzIGVudHJ5IHdpbGwgYmUgcGxhY2VkIGF0IHRoZSB0
b3Agb2YgdGhlIGxpc3QNCi0gICAgICBEZWxldGVEYXRhKCooZWxlbS0+aUtleSksICooZWxlbS0+
aVZhbHVlKSk7DQotICAgICAgaVNRTFN0YXRlbWVudC5Gb3JtYXQoS1NRTEluc2VydCwgZWxlbS0+
aUtleSwgZWxlbS0+aVZhbHVlKTsNCi0gICAgICBpRGF0YWJhc2UuRXhlY3V0ZShpU1FMU3RhdGVt
ZW50KTsNCi0gICAgICB9DQorICAgIGZvciAoVEludCBpID0gMDsgaSA8IGFGb3JtRGF0YS5Db3Vu
dCgpOyBpKyspDQorICAgICAgICB7DQorICAgICAgICBjb25zdCBDV2ViQ29yZUZvcm1EYXRhRWxl
bWVudCogZWxlbSA9IGFGb3JtRGF0YS5BdChpKTsNCisgICAgICAgIGlmICggZWxlbS0+aXNQYXNz
d29yZCA9PSBFRmFsc2UgDQorICAgICAgICAgICAgJiYgZWxlbS0+aUtleS0+TGVuZ3RoKCkgPiAw
IA0KKyAgICAgICAgICAgICYmIGVsZW0tPmlWYWx1ZS0+TGVuZ3RoKCkgPiAwICkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgLy8gZGVsZXRlIGFuZCByZS1pbnNlcnQgd2lsbCBtYWtlIHN1
cmUgdGhhdCB0aGlzIGVudHJ5IHdpbGwgYmUgcGxhY2VkIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3QN
CisgICAgICAgICAgICBpZiAoIE9wZW5UYWJsZUZvclVzZSgpID09IEtFcnJOb25lICkNCisgICAg
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBUUkFQX0lHTk9SRShEZWxldGVEYXRhTCgq
KGVsZW0tPmlLZXkpLCAqKGVsZW0tPmlWYWx1ZSkpKTsNCisgICAgICAgICAgICAgICAgVFJBUF9J
R05PUkUoSW5zZXJ0RGF0YUwoKihlbGVtLT5pS2V5KSwgKihlbGVtLT5pVmFsdWUpKSk7DQorICAg
ICAgICAgICAgICAgIENsb3NlVGFibGVBZnRlclVzZSgpOw0KKyAgICAgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KICAgICB9DQotICB9DQotICANCisgICAgDQogLy8t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNsZWFyRGF0
YQ0KIC8vIENsZWFyIHRoZSBzdG9yZS4NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogdm9pZCBD
Rm9ybURhdGFBdXRvRmlsbFN0b3JlOjpDbGVhckRhdGEgKCkNCi0gIHsNCi0gIC8vIHRoZSBxdWlj
a2VzdCB3YXkgdG8gY2xlYXIgdGhlIGRhdGEgaXMgdG8gcmUtY3JlYXRlIGl0DQotICBDbG9zZURh
dGFiYXNlKCk7DQotICBDcmVhdGVEYXRhYmFzZSgpOw0KLSAgfQ0KKyAgICB7DQorICAgIC8vIHRo
ZSBxdWlja2VzdCB3YXkgdG8gY2xlYXIgdGhlIGRhdGEgaXMgdG8gcmUtY3JlYXRlIGl0DQorICAg
IENsb3NlRGF0YWJhc2UoKTsNCisgICAgQ3JlYXRlRGF0YWJhc2UoKTsNCisgICAgfQ0KIA0KIA0K
IC8vIHByaXZhdGUNCiANCiBUSW50IENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6Ok9wZW5EYXRhYmFz
ZSgpDQotICB7DQotICByZXR1cm4gaURhdGFiYXNlLk9wZW4oaURiU2Vzc2lvbiwgKmlGb3JtRGF0
YURCRmlsZSk7DQotICB9DQorICAgIHsNCisgICAgcmV0dXJuIGlEYXRhYmFzZS5PcGVuKGlEYlNl
c3Npb24sICppRm9ybURhdGFEQkZpbGUpOw0KKyAgICB9DQogDQogdm9pZCBDRm9ybURhdGFBdXRv
RmlsbFN0b3JlOjpDbG9zZURhdGFiYXNlKCkNCi0gIHsNCi0gIGlEYXRhYmFzZS5DbG9zZSgpOw0K
LSAgfQ0KKyAgICB7DQorICAgIGlEYXRhYmFzZS5DbG9zZSgpOw0KKyAgICB9DQogDQorVEludCBD
Rm9ybURhdGFBdXRvRmlsbFN0b3JlOjpPcGVuVGFibGVGb3JVc2UoKQ0KKyAgICB7DQorICAgIFRJ
bnQgIHJldCA9IEtFcnJOb25lOw0KKyAgICAvLyBPcGVuIHRoZSBmb3JtZGF0YSB0YWJsZQ0KKyAg
ICByZXQgPSBpRm9ybURhdGFUYWJsZS5PcGVuKGlEYXRhYmFzZSwgS0Zvcm1EYXRhVGFibGUsIFJE
YlRhYmxlOjpFVXBkYXRhYmxlKTsNCisgICAgaWYgKCByZXQgPT0gS0Vyck5vbmUgKQ0KKyAgICAg
ICAgew0KKyAgICAgICAgVFJBUChyZXQsIGlGb3JtRGF0YUNvbFNldCA9IGlGb3JtRGF0YVRhYmxl
LkNvbFNldEwoKSk7DQorICAgICAgICBpZiAoIHJldCAhPSBLRXJyTm9uZSApDQorICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgIGlGb3JtRGF0YVRhYmxlLkNsb3NlKCk7DQorICAgICAgICAgICAg
cmV0dXJuIHJldDsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAgIHJldHVybiByZXQ7
DQorICAgIH0NCisNCit2b2lkIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNsb3NlVGFibGVBZnRl
clVzZSgpDQorICAgIHsNCisgICAgLy8gQ2xvc2UgdGhlIGZvcm1kYXRhIHRhYmxlDQorICAgIGRl
bGV0ZSBpRm9ybURhdGFDb2xTZXQ7DQorICAgIGlGb3JtRGF0YUNvbFNldCA9IE5VTEw7DQorICAg
IGlGb3JtRGF0YVRhYmxlLkNsb3NlKCk7DQorICAgIH0NCisNCiBUSW50IENGb3JtRGF0YUF1dG9G
aWxsU3RvcmU6OkNyZWF0ZURhdGFiYXNlKCkNCi0gIHsNCi0gIFRJbnQgcmV0ID0gaURhdGFiYXNl
LlJlcGxhY2UoaURiU2Vzc2lvbiwgKmlGb3JtRGF0YURCRmlsZSk7DQotICANCi0gIGlmKHJldCA9
PSBLRXJyTm9uZSkNCiAgICAgew0KLSAgICByZXQgPSBpRGF0YWJhc2UuRXhlY3V0ZShLVmVyc2lv
blRhYmxlU1FMKTsNCisgICAgVEludCByZXQgPSBpRGF0YWJhc2UuUmVwbGFjZShpRGJTZXNzaW9u
LCAqaUZvcm1EYXRhREJGaWxlKTsNCisgICAgDQorICAgIGlmKHJldCA9PSBLRXJyTm9uZSkNCisg
ICAgICAgIHsNCisgICAgICAgIHJldCA9IGlEYXRhYmFzZS5FeGVjdXRlKEtWZXJzaW9uVGFibGVT
UUwpOw0KKyAgICAgICAgfQ0KKyAgICBpZihyZXQgPT0gS0Vyck5vbmUpDQorICAgICAgICB7DQor
ICAgICAgICBUUkFQKCByZXQsIENyZWF0ZUZvcm1EYXRhVGFibGVMKCkpOw0KKyAgICAgICAgfQ0K
KyAgICBpZihyZXQgPT0gS0Vyck5vbmUpDQorICAgICAgICB7DQorICAgICAgICByZXQgPSBpRGF0
YWJhc2UuRXhlY3V0ZShLU1FMSW5zZXJ0VmVyc2lvbik7DQorICAgICAgICB9DQorICAgIHJldHVy
biByZXQ7DQogICAgIH0NCi0gIGlmKHJldCA9PSBLRXJyTm9uZSkNCisgICAgDQordm9pZCBDRm9y
bURhdGFBdXRvRmlsbFN0b3JlOjpDcmVhdGVGb3JtRGF0YVRhYmxlTCgpDQogICAgIHsNCi0gICAg
cmV0ID0gaURhdGFiYXNlLkV4ZWN1dGUoS05hbWVWYWx1ZVRhYmxlU1FMKTsNCisgICAgQ0RiQ29s
U2V0KiAgY29sU2V0ID0gTlVMTDsNCisgICAgLy8gQ3JlYXRlIHRoZSB0YWJsZSdzIGNvbHVtbiBz
ZXQuDQorICAgIGNvbFNldCA9IENEYkNvbFNldDo6TmV3TEMoKTsNCisgICAgVERiQ29sIGhpc3Rv
cnkoS0Zvcm1EYXRhSGlzdG9yeSwgRURiQ29sSW50MzIpOw0KKyAgICBoaXN0b3J5LmlBdHRyaWJ1
dGVzPWhpc3RvcnkuRUF1dG9JbmNyZW1lbnQ7DQorICAgIGNvbFNldC0+QWRkTChoaXN0b3J5KTsN
CisgICAgY29sU2V0LT5BZGRMKFREYkNvbChLRm9ybURhdGFOYW1lLCBFRGJDb2xMb25nVGV4dDE2
KSk7DQorICAgIGNvbFNldC0+QWRkTChURGJDb2woS0Zvcm1EYXRhVmFsdWUsIEVEYkNvbExvbmdU
ZXh0MTYpKTsNCisgICAgDQorICAgIC8vIENyZWF0ZSB0aGUgdGFibGUuDQorICAgIFVzZXI6Okxl
YXZlSWZFcnJvcihpRGF0YWJhc2UuQ3JlYXRlVGFibGUoS0Zvcm1EYXRhVGFibGUsICpjb2xTZXQp
KTsNCisgICAgQ2xlYW51cFN0YWNrOjpQb3BBbmREZXN0cm95KGNvbFNldCk7DQogICAgIH0NCi0g
IGlmKHJldCA9PSBLRXJyTm9uZSkNCisNCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy8vIENG
b3JtRGF0YUF1dG9GaWxsU3RvcmU6OldyaXRlTG9uZ1RleHRMDQorLy8NCisvLyBXcml0ZXMgImxv
bmciIHRleHQgdG8gdGhlIGRhdGFiYXNlLg0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLy8N
Cit2b2lkIENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OldyaXRlTG9uZ1RleHRMKFJEYlJvd1NldCYg
YVRhYmxlLCBUSW50IGFDb2x1bW5JbmRleCwgDQorICAgICAgICBjb25zdCBURGVzQyYgYVZhbHVl
KQ0KICAgICB7DQotICAgIHJldCA9IGlEYXRhYmFzZS5FeGVjdXRlKEtJbmRleDFTUUwpOw0KKyAg
ICBSRGJDb2xXcml0ZVN0cmVhbSAgc3RyZWFtOw0KKyAgICANCisgICAgc3RyZWFtLk9wZW5MQyhh
VGFibGUsIGFDb2x1bW5JbmRleCk7DQorICAgIHN0cmVhbS5Xcml0ZUwoYVZhbHVlKTsNCisgICAg
c3RyZWFtLkNsb3NlKCk7DQorICAgIENsZWFudXBTdGFjazo6UG9wKC8qc3RyZWFtKi8pOw0KICAg
ICB9DQotICBpZihyZXQgPT0gS0Vyck5vbmUpDQorDQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
CisvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpSZWFkTG9uZ1RleHRMDQorLy8NCisvLyBSZWFk
cyAibG9uZyIgdGV4dCBmcm9tIHRoZSBkYXRhYmFzZS4NCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KKy8vDQordm9pZCBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpSZWFkTG9uZ1RleHRMKFJEYlJv
d1NldCYgYVRhYmxlLCBUSW50IGFDb2x1bW5JbmRleCwgDQorICAgICAgICBIQnVmQyomIGFWYWx1
ZSkNCiAgICAgew0KLSAgICByZXQgPSBpRGF0YWJhc2UuRXhlY3V0ZShLU1FMSW5zZXJ0VmVyc2lv
bik7DQorICAgIFJEYkNvbFJlYWRTdHJlYW0gIHN0cmVhbTsNCisgICAgSEJ1ZkMqICAgICAgICAg
ICAgdmFsdWUgPSBOVUxMOw0KKyAgICBUSW50ICAgICAgICAgICAgICBsZW5ndGg7DQorICAgIA0K
KyAgICBsZW5ndGggPSBhVGFibGUuQ29sTGVuZ3RoKGFDb2x1bW5JbmRleCk7DQorICAgIHZhbHVl
ID0gSEJ1ZkM6Ok5ld0xDKGxlbmd0aCk7DQorICAgIFRQdHIgIHYodmFsdWUtPkRlcygpKTsNCisg
ICAgDQorICAgIGlmIChsZW5ndGggPiAwKQ0KKyAgICAgICAgeyAgICAgICAgDQorICAgICAgICBz
dHJlYW0uT3BlbkxDKGFUYWJsZSwgYUNvbHVtbkluZGV4KTsNCisgICAgICAgIHN0cmVhbS5SZWFk
TCh2LCBsZW5ndGgpOw0KKyAgICAgICAgc3RyZWFtLkNsb3NlKCk7DQorICAgICAgICBDbGVhbnVw
U3RhY2s6OlBvcCgvKnN0cmVhbSovKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICBDbGVh
bnVwU3RhY2s6OlBvcCh2YWx1ZSk7ICAgIA0KKyAgICBhVmFsdWUgPSB2YWx1ZTsNCiAgICAgfQ0K
LSAgcmV0dXJuIHJldDsNCi0gIH0NCi0gIA0KLQ0KIC8vICBFbmQgb2YgRmlsZQ0KSW5kZXg6IFdl
YktpdC9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAxODQ1MikNCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsx
LDMzIEBADQorMjAwNi0xMi0yOCAgcmF0aG5hc2EgIDxzb3JuYWxhdGhhLnJhdGhuYXNhbXlAbm9r
aWEuY29tPg0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FjaGluIFBhZG1hLg0KKyAgICAgICAg
REVTQzogUHV0IGJhY2sgdGhlIHBhdGNoZXMgcjE4Mzg5LCByMTgxODMgYXMgd2VsbCBhcyBmaXgg
dGhlIGlzc3VlIHdpdGggdGhlIFNRTCBxdWVyeS4NCisgICAgICAgIFBhdGNoZXMgcjE4Mzg5LCBy
MTgxODMgZml4IHRoZSBmb2xsb3dpbmcgdHdvIGJ1Z3M6DQorICAgICAgICBUU1cgSUQjIFNSQVkt
NldRS0E2OiBGb3JtZGF0YWF1dG9maWxsOiBJZiB0aGUgZm9ybSBmaWVsZCBjb250YWlucyBzaW5n
bGUgb3IgZG91YmxlIHF1b3RlcyB0aGUgU1FMIHF1ZXJ5IHRvIGluc2VydCwgZGVsZXRlIGRhdGEg
ZG9lcyBub3Qgd29yay4NCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExOTI3DQorCVRTVyBpZDpFWVdHLTZXN0I0RjogRXJyb3Igbm90ZSAiUHJvZ3JhbSBj
bG9zZWQ6QnJvd3Nlck5HIiBhZnRlciBjbGlja2luZyBTdWJtaXQgYnV0dG9uIG9uIHRlc3QgcGFn
ZQ0KKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3ODEN
CisNCisgICAgICAgICogQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5oOg0K
KyAgICAgICAgKiBCcm93c2VyVmlldy9zcmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmNwcDoNCisg
ICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpOZXdMKToNCisgICAgICAgIChDRm9ybURh
dGFBdXRvRmlsbFN0b3JlOjpDRm9ybURhdGFBdXRvRmlsbFN0b3JlKToNCisgICAgICAgIChDRm9y
bURhdGFBdXRvRmlsbFN0b3JlOjpDb25zdHJ1Y3RMKToNCisgICAgICAgIChDRm9ybURhdGFBdXRv
RmlsbFN0b3JlOjp+Q0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZSk6DQorICAgICAgICAoQ0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZTo6R2V0RGF0YUwpOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3Rv
cmU6OkRlbGV0ZURhdGFMKToNCisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpJbnNl
cnREYXRhTCk6DQorICAgICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6U2F2ZURhdGEpOg0K
KyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6OkNsZWFyRGF0YSk6DQorICAgICAgICAo
Q0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6T3BlbkRhdGFiYXNlKToNCisgICAgICAgIChDRm9ybURh
dGFBdXRvRmlsbFN0b3JlOjpDbG9zZURhdGFiYXNlKToNCisgICAgICAgIChDRm9ybURhdGFBdXRv
RmlsbFN0b3JlOjpPcGVuVGFibGVGb3JVc2UpOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxs
U3RvcmU6OkNsb3NlVGFibGVBZnRlclVzZSk6DQorICAgICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxT
dG9yZTo6Q3JlYXRlRGF0YWJhc2UpOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxsU3RvcmU6
OkNyZWF0ZUZvcm1EYXRhVGFibGVMKToNCisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3Jl
OjpXcml0ZUxvbmdUZXh0TCk6DQorICAgICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6UmVh
ZExvbmdUZXh0TCk6DQorDQogMjAwNi0xMi0yNyAgYnJtb3JyaXMgIDxicmFkbGV5Lm1vcnJpc29u
QG5va2lhLmNvbT4NCiANCiAgICAgICAgIFJldmlld2VkIGJ5IFNhY2hpbi4NCg==
</data>
<flag name="review"
          id="4452"
          type_id="1"
          status="+"
          setter="yongjun.zhang"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12083</attachid>
            <date>2006-12-28 09:42:53 -0800</date>
            <delta_ts>2007-01-03 10:54:23 -0800</delta_ts>
            <desc>Fix the syntax error in sql query</desc>
            <filename>bugzilla_11927b_3_1_m.patch</filename>
            <type>text/plain</type>
            <size>7513</size>
            <attacher name="Sornalatha Rathnasamy">sornalatha.rathnasamy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9Ccm93c2VyVmlldy9pbmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmgNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRhQXV0b0ZpbGxTdG9y
ZS5oCShyZXZpc2lvbiAxODQ1MikNCisrKyBXZWJLaXQvQnJvd3NlclZpZXcvaW5jL0Zvcm1EYXRh
QXV0b0ZpbGxTdG9yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMTQ5LDYgKzE0OSwxMSBAQA0KICAg
ICAqICBDcmVhdGUgdGhlIGZvcm1kYXRhIHRhYmxlDQogICAgICovDQogICAgIHZvaWQgQ3JlYXRl
Rm9ybURhdGFUYWJsZUwoKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAqICBSZWFkcyAibG9uZyIg
dGV4dCBmcm9tIHRoZSBkYXRhYmFzZS4NCisgICAgKi8NCisgICAgdm9pZCBSZWFkTG9uZ1RleHRM
KFJEYlJvd1NldCYgYVRhYmxlLCBUSW50IGFDb2x1bW5JbmRleCwgSEJ1ZkMqJiBhVmFsdWUpOw0K
IA0KICAgICAgICAgLyogIFByaXZhdGUgTWVtYmVycyAgKi8NCiANCkluZGV4OiBXZWJLaXQvQnJv
d3NlclZpZXcvc3JjL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5jcHANCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJLaXQvQnJvd3NlclZpZXcvc3JjL0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZS5jcHAJKHJldmlzaW9u
IDE4NDUyKQ0KKysrIFdlYktpdC9Ccm93c2VyVmlldy9zcmMvRm9ybURhdGFBdXRvRmlsbFN0b3Jl
LmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTcwLDcgKzcwLDYgQEANCiBfTElUKEtGb3JtRGF0YVZh
bHVlLCAidmFsdWUiKTsNCiBfTElUKEtGb3JtRGF0YVRhYmxlLCAiZm9ybWRhdGEiKTsNCiBfTElU
KEtWZXJzaW9uVGFibGVTUUwsICJDUkVBVEUgVEFCTEUgZGJ2ZXJzaW9uKGRidmVyIENIQVIoMTAp
KSIpOw0KLV9MSVQoS0luZGV4MVNRTCwgIkNSRUFURSBJTkRFWCBuYW1laWR4IE9OIGZvcm1kYXRh
IChuYW1lKSIpOw0KIA0KIC8vX0xJVChLU1FMU2VsZWN0LCAiU0VMRUNUIHZhbHVlIEZST00gZm9y
bWRhdGEgV0hFUkUgbmFtZSA9ICclUycgQU5EIHZhbHVlIExJS0UgJyVTKicgT1JERVIgQlkgaGlz
dG9yeSBkZXNjIik7DQogY29uc3QgVFVpbnQgS1ZhbHVlQ29sID0gMTsNCkBAIC0xNTIsMTMgKzE1
MSwxNyBAQA0KICAgICBIQnVmQyogcXVlcnkgPSBOVUxMOw0KICAgICAvLyJTRUxFQ1QgdmFsdWUg
RlJPTSBmb3JtZGF0YSBXSEVSRSBuYW1lID0gJyVTJyBPUkRFUiBCWSBoaXN0b3J5IGRlc2MiDQog
ICAgIF9MSVQoS1NRTFNlbGVjdCwgIlNFTEVDVCB2YWx1ZSBGUk9NIGZvcm1kYXRhIFdIRVJFIG5h
bWUgPSAiKTsNCisgICAgX0xJVChLU1FMUXVvdGUsIiciKTsNCiAgICAgX0xJVChLU1FMT3JkZXIs
ICIgT1JERVIgQlkgaGlzdG9yeSBkZXNjIik7ICAgIA0KLSAgICBxdWVyeSA9IEhCdWZDOjpOZXdM
QyhLU1FMU2VsZWN0KCkuTGVuZ3RoKCkgKyBhTmFtZS5MZW5ndGgoKSArIEtTUUxPcmRlcigpLkxl
bmd0aCgpKTsNCisgICAgcXVlcnkgPSBIQnVmQzo6TmV3TEMoS1NRTFNlbGVjdCgpLkxlbmd0aCgp
ICsgS1NRTFF1b3RlKCkuTGVuZ3RoKCkgKyANCisgICAgICAgICAgICBhTmFtZS5MZW5ndGgoKSAr
IEtTUUxRdW90ZSgpLkxlbmd0aCgpICsgS1NRTE9yZGVyKCkuTGVuZ3RoKCkpOw0KIA0KICAgICAv
LyBzZWxlY3QgdmFsdWVzIGZyb20gdGhlIGRhdGFiYXNlIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0
aCB0aGlzIHRleHQgZmllbGQgbmFtZQ0KLSAgICBxdWVyeS0+RGVzKCkuQ29weShLU1FMU2VsZWN0
KCkpOw0KLSAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKGFOYW1lKTsNCi0gICAgcXVlcnktPkRlcygp
LkFwcGVuZChLU1FMT3JkZXIoKSk7DQorICAgIHF1ZXJ5LT5EZXMoKS5Db3B5KCBLU1FMU2VsZWN0
KCkgKTsNCisgICAgcXVlcnktPkRlcygpLkFwcGVuZCggS1NRTFF1b3RlKCkgKTsNCisgICAgcXVl
cnktPkRlcygpLkFwcGVuZCggYU5hbWUgKTsNCisgICAgcXVlcnktPkRlcygpLkFwcGVuZCggS1NR
TFF1b3RlKCkgKTsNCisgICAgcXVlcnktPkRlcygpLkFwcGVuZCggS1NRTE9yZGVyKCkgKTsNCiAN
CiAgICAgUkRiVmlldyB2aWV3Ow0KICAgICBUSW50IGVyciA9IHZpZXcuUHJlcGFyZShpRGF0YWJh
c2UsIFREYlF1ZXJ5KCpxdWVyeSkpOw0KQEAgLTE3MywxMSArMTc2LDE0IEBADQogICAgICAgICAg
ICAgd2hpbGUgKHZpZXcuQXRSb3coKSAmJiByb3dDb3VudCsrIDwgS01heFJvd3MpDQogICAgICAg
ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgdmlldy5HZXRMKCk7DQotICAgICAgICAgICAg
ICAgIENPcHRpb25EYXRhKiBvcHRpb25EYXRhID0gQ09wdGlvbkRhdGE6Ok5ld0wodmlldy5Db2xE
ZXMoS1ZhbHVlQ29sKSwgRUZhbHNlLCBFRmFsc2UpOw0KKyAgICAgICAgICAgICAgICBIQnVmQyog
dmFsdWUgPSBOVUxMOw0KKyAgICAgICAgICAgICAgICBSZWFkTG9uZ1RleHRMKHZpZXcsIEtWYWx1
ZUNvbCwgdmFsdWUpOw0KKyAgICAgICAgICAgICAgICBDbGVhbnVwU3RhY2s6OlB1c2hMKHZhbHVl
KTsNCisgICAgICAgICAgICAgICAgQ09wdGlvbkRhdGEqIG9wdGlvbkRhdGEgPSBDT3B0aW9uRGF0
YTo6TmV3TCgqdmFsdWUsIEVGYWxzZSwgRUZhbHNlKTsNCiAgICAgICAgICAgICAgICAgQ2xlYW51
cFN0YWNrOjpQdXNoTChvcHRpb25EYXRhKTsNCiAgICAgICAgICAgICAgICAgYU9wdGlvbnMuQXBw
ZW5kTChvcHRpb25EYXRhKTsNCiAgICAgICAgICAgICAgICAgQ2xlYW51cFN0YWNrOjpQb3AoKTsg
Ly9vcHRpb25EYXRhDQotDQorICAgICAgICAgICAgICAgIENsZWFudXBTdGFjazo6UG9wQW5kRGVz
dHJveSgpOyAvL3ZhbHVlDQogICAgICAgICAgICAgICAgIHZpZXcuTmV4dEwoKTsNCiAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgIC8qDQpAQCAtMTg5LDcgKzE5NSwxMSBAQA0KICAgICAg
ICAgICAgIHdoaWxlICh2aWV3LkF0Um93KCkpDQogICAgICAgICAgICAgICAgIHsNCiAgICAgICAg
ICAgICAgICAgdmlldy5HZXRMKCk7DQotICAgICAgICAgICAgICAgIERlbGV0ZURhdGEoYU5hbWUs
IHZpZXcuQ29sRGVzKEtWYWx1ZUNvbCkpOw0KKyAgICAgICAgICAgICAgICBIQnVmQyogdmFsdWUg
PSBOVUxMOw0KKyAgICAgICAgICAgICAgICBSZWFkTG9uZ1RleHRMKHZpZXcsIEtWYWx1ZUNvbCwg
dmFsdWUpOw0KKyAgICAgICAgICAgICAgICBDbGVhbnVwU3RhY2s6OlB1c2hMKHZhbHVlKTsNCisg
ICAgICAgICAgICAgICAgRGVsZXRlRGF0YShhTmFtZSwgKnZhbHVlKTsNCisgICAgICAgICAgICAg
ICAgQ2xlYW51cFN0YWNrOjpQb3BBbmREZXN0cm95KCk7IC8vdmFsdWUNCiAgICAgICAgICAgICAg
ICAgdmlldy5OZXh0TCgpOw0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfQ0KQEAg
LTIwNiwxMyArMjE2LDE4IEBADQogICAgIEhCdWZDKiBxdWVyeSA9IE5VTEw7DQogICAgIC8vIkRF
TEVURSBGUk9NIGZvcm1kYXRhIFdIRVJFIG5hbWUgPSAnJVMnIEFORCB2YWx1ZSA9ICclUyciDQog
ICAgIF9MSVQoS1NRTERlbGV0ZSwgIkRFTEVURSBGUk9NIGZvcm1kYXRhIFdIRVJFIG5hbWUgPSAi
KTsNCisgICAgX0xJVChLU1FMUXVvdGUsIiciKTsNCiAgICAgX0xJVChLU1FMQW5kLCAiIEFORCB2
YWx1ZSA9ICIpOw0KICAgICBxdWVyeSA9IEhCdWZDOjpOZXdMQyhLU1FMRGVsZXRlKCkuTGVuZ3Ro
KCkgKyBhTmFtZS5MZW5ndGgoKSANCi0gICAgICAgICAgICAgICAgKyBLU1FMQW5kKCkuTGVuZ3Ro
KCkgKyBhVmFsdWUuTGVuZ3RoKCkpOw0KKyAgICAgICAgICAgICAgICArIEtTUUxBbmQoKS5MZW5n
dGgoKSArIGFWYWx1ZS5MZW5ndGgoKSArICg0ICogS1NRTFF1b3RlKCkuTGVuZ3RoKCkpKTsNCiAg
ICAgcXVlcnktPkRlcygpLkNvcHkoS1NRTERlbGV0ZSgpKTsNCisgICAgcXVlcnktPkRlcygpLkFw
cGVuZChLU1FMUXVvdGUoKSk7DQogICAgIHF1ZXJ5LT5EZXMoKS5BcHBlbmQoYU5hbWUpOw0KKyAg
ICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxRdW90ZSgpKTsNCiAgICAgcXVlcnktPkRlcygpLkFw
cGVuZChLU1FMQW5kKCkpOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxRdW90ZSgpKTsN
CiAgICAgcXVlcnktPkRlcygpLkFwcGVuZChhVmFsdWUpOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBw
ZW5kKEtTUUxRdW90ZSgpKTsNCiAgICAgaURhdGFiYXNlLkV4ZWN1dGUoKnF1ZXJ5KTsNCiAgICAg
Q2xlYW51cFN0YWNrOjpQb3BBbmREZXN0cm95KHF1ZXJ5KTsNCiAgICAgfQ0KQEAgLTIyNywxNCAr
MjQyLDE5IEBADQogICAgIC8vIklOU0VSVCBJTlRPIGZvcm1kYXRhIChuYW1lLHZhbHVlKSBWQUxV
RVMgKCclUycsICclUycpIg0KICAgICBfTElUKEtTUUxJbnNlcnQsICJJTlNFUlQgSU5UTyBmb3Jt
ZGF0YSAobmFtZSx2YWx1ZSkgVkFMVUVTICgiKTsNCiAgICAgX0xJVChLU1FMQ29tbWEsICIsICIp
Ow0KKyAgICBfTElUKEtTUUxRdW90ZSwiJyIpOw0KICAgICBfTElUKEtTUUxDbG9zZUJyYWNrZXQs
ICIpIik7DQogICAgIHF1ZXJ5ID0gSEJ1ZkM6Ok5ld0xDKEtTUUxJbnNlcnQoKS5MZW5ndGgoKSAr
IGFOYW1lLkxlbmd0aCgpIA0KICAgICAgICAgICAgICsgS1NRTENvbW1hKCkuTGVuZ3RoKCkgKyBh
VmFsdWUuTGVuZ3RoKCkgDQotICAgICAgICAgICAgKyBLU1FMQ2xvc2VCcmFja2V0KCkuTGVuZ3Ro
KCkpOw0KKyAgICAgICAgICAgICsgS1NRTENsb3NlQnJhY2tldCgpLkxlbmd0aCgpICsgKDQgKiBL
U1FMUXVvdGUoKS5MZW5ndGgoKSkpOw0KICAgICBxdWVyeS0+RGVzKCkuQ29weShLU1FMSW5zZXJ0
KCkpOw0KKyAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxRdW90ZSgpKTsNCiAgICAgcXVlcnkt
PkRlcygpLkFwcGVuZChhTmFtZSk7DQorICAgIHF1ZXJ5LT5EZXMoKS5BcHBlbmQoS1NRTFF1b3Rl
KCkpOw0KICAgICBxdWVyeS0+RGVzKCkuQXBwZW5kKEtTUUxDb21tYSgpKTsNCisgICAgcXVlcnkt
PkRlcygpLkFwcGVuZChLU1FMUXVvdGUoKSk7DQogICAgIHF1ZXJ5LT5EZXMoKS5BcHBlbmQoYVZh
bHVlKTsNCisgICAgcXVlcnktPkRlcygpLkFwcGVuZChLU1FMUXVvdGUoKSk7DQogICAgIHF1ZXJ5
LT5EZXMoKS5BcHBlbmQoS1NRTENsb3NlQnJhY2tldCgpKTsNCiAgICAgaURhdGFiYXNlLkV4ZWN1
dGUoKnF1ZXJ5KTsNCiAgICAgQ2xlYW51cFN0YWNrOjpQb3BBbmREZXN0cm95KHF1ZXJ5KTsNCkBA
IC0yOTgsMTAgKzMxOCw2IEBADQogICAgICAgICB9DQogICAgIGlmKHJldCA9PSBLRXJyTm9uZSkN
CiAgICAgICAgIHsNCi0gICAgICAgIHJldCA9IGlEYXRhYmFzZS5FeGVjdXRlKEtJbmRleDFTUUwp
Ow0KLSAgICAgICAgfQ0KLSAgICBpZihyZXQgPT0gS0Vyck5vbmUpDQotICAgICAgICB7DQogICAg
ICAgICByZXQgPSBpRGF0YWJhc2UuRXhlY3V0ZShLU1FMSW5zZXJ0VmVyc2lvbik7DQogICAgICAg
ICB9DQogICAgIHJldHVybiByZXQ7DQpAQCAtMzIyLDQgKzMzOCwzNCBAQA0KICAgICBVc2VyOjpM
ZWF2ZUlmRXJyb3IoaURhdGFiYXNlLkNyZWF0ZVRhYmxlKEtGb3JtRGF0YVRhYmxlLCAqY29sU2V0
KSk7DQogICAgIENsZWFudXBTdGFjazo6UG9wQW5kRGVzdHJveShjb2xTZXQpOw0KICAgICB9DQor
DQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisvLyBDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpS
ZWFkTG9uZ1RleHRMDQorLy8NCisvLyBSZWFkcyAibG9uZyIgdGV4dCBmcm9tIHRoZSBkYXRhYmFz
ZS4NCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy8vDQordm9pZCBDRm9ybURhdGFBdXRvRmls
bFN0b3JlOjpSZWFkTG9uZ1RleHRMKFJEYlJvd1NldCYgYVRhYmxlLCBUSW50IGFDb2x1bW5JbmRl
eCwgDQorICAgICAgICBIQnVmQyomIGFWYWx1ZSkNCisgICAgew0KKyAgICBSRGJDb2xSZWFkU3Ry
ZWFtICBzdHJlYW07DQorICAgIEhCdWZDKiAgICAgICAgICAgIHZhbHVlID0gTlVMTDsNCisgICAg
VEludCAgICAgICAgICAgICAgbGVuZ3RoOw0KKyAgICANCisgICAgbGVuZ3RoID0gYVRhYmxlLkNv
bExlbmd0aChhQ29sdW1uSW5kZXgpOw0KKyAgICB2YWx1ZSA9IEhCdWZDOjpOZXdMQyhsZW5ndGgp
Ow0KKyAgICBUUHRyICB2KHZhbHVlLT5EZXMoKSk7DQorICAgIA0KKyAgICBpZiAobGVuZ3RoID4g
MCkNCisgICAgICAgIHsgICAgICAgIA0KKyAgICAgICAgc3RyZWFtLk9wZW5MQyhhVGFibGUsIGFD
b2x1bW5JbmRleCk7DQorICAgICAgICBzdHJlYW0uUmVhZEwodiwgbGVuZ3RoKTsNCisgICAgICAg
IHN0cmVhbS5DbG9zZSgpOw0KKyAgICAgICAgQ2xlYW51cFN0YWNrOjpQb3AoLypzdHJlYW0qLyk7
DQorICAgICAgICB9DQorICAgICAgICANCisgICAgQ2xlYW51cFN0YWNrOjpQb3AodmFsdWUpOyAg
ICANCisgICAgYVZhbHVlID0gdmFsdWU7DQorICAgIH0NCisNCiAvLyAgRW5kIG9mIEZpbGUNCklu
ZGV4OiBXZWJLaXQvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMTg0NTIpDQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAg
LTEsMyArMSwxOCBAQA0KKzIwMDYtMTItMjggIHJhdGhuYXNhICA8c29ybmFsYXRoYS5yYXRobmFz
YW15QG5va2lhLmNvbT4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IFNhY2hpbiBQYWRtYS4NCisg
ICAgICAgIERFU0M6IEZpeCB0aGUgaXNzdWUgd2l0aCB0aGUgU1FMIHF1ZXJ5IGFzc29jaWF0ZWQg
d2l0aCB0aGUgY2hlY2tpbiBtYWRlIGZvciB0aGUgZm9sbG93aW5nIGJ1ZzoNCisJVFNXIGlkOkVZ
V0ctNlc3QjRGOiBFcnJvciBub3RlICJQcm9ncmFtIGNsb3NlZDpCcm93c2VyTkciIGFmdGVyIGNs
aWNraW5nIFN1Ym1pdCBidXR0b24gb24gdGVzdCBwYWdlDQorICAgICAgICBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc4MQ0KKw0KKyAgICAgICAgKiBCcm93c2VyVmll
dy9pbmMvRm9ybURhdGFBdXRvRmlsbFN0b3JlLmg6DQorICAgICAgICAqIEJyb3dzZXJWaWV3L3Ny
Yy9Gb3JtRGF0YUF1dG9GaWxsU3RvcmUuY3BwOg0KKyAgICAgICAgKENGb3JtRGF0YUF1dG9GaWxs
U3RvcmU6OkdldERhdGFMKToNCisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpEZWxl
dGVEYXRhKToNCisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpJbnNlcnREYXRhKToN
CisgICAgICAgIChDRm9ybURhdGFBdXRvRmlsbFN0b3JlOjpDcmVhdGVEYXRhYmFzZSk6DQorICAg
ICAgICAoQ0Zvcm1EYXRhQXV0b0ZpbGxTdG9yZTo6UmVhZExvbmdUZXh0TCk6DQorDQogMjAwNi0x
Mi0yMSAgcmF0aG5hc2EgIDxzb3JuYWxhdGhhLnJhdGhuYXNhbXlAbm9raWEuY29tPg0KIA0KICAg
ICAgICAgUmV2aWV3ZWQgYnkgPHlvbmdqdW4uemhhbmdAbm9raWEuY29tPi4NCg==
</data>
<flag name="review"
          id="4453"
          type_id="1"
          status="+"
          setter="yongjun.zhang"
    />
          </attachment>
      

    </bug>

</bugzilla>