<?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>45401</bug_id>
          
          <creation_ts>2010-09-08 11:12:55 -0700</creation_ts>
          <short_desc>Add Tracing to Regular Expression Code</short_desc>
          <delta_ts>2010-09-10 09:40:00 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275951</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-09-08 11:12:55 -0700</bug_when>
    <thetext>Tracing of regular expressions including the original express, number of times used, number of times matched and optional JIT address would be helpful to debug and tune regular expression code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276179</commentid>
    <comment_count>1</comment_count>
      <attachid>66965</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-09-08 16:55:12 -0700</bug_when>
    <thetext>Created attachment 66965
RegExp Tracing Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276854</commentid>
    <comment_count>2</comment_count>
      <attachid>66965</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 16:59:43 -0700</bug_when>
    <thetext>Comment on attachment 66965
RegExp Tracing Patch

Rejecting patch 66965 from commit-queue.

msaboff@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276881</commentid>
    <comment_count>3</comment_count>
      <attachid>66965</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 17:42:10 -0700</bug_when>
    <thetext>Comment on attachment 66965
RegExp Tracing Patch

Rejecting patch 66965 from commit-queue.

msaboff@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276944</commentid>
    <comment_count>4</comment_count>
      <attachid>66965</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 19:11:56 -0700</bug_when>
    <thetext>Comment on attachment 66965
RegExp Tracing Patch

Clearing flags on attachment: 66965

Committed r67146: &lt;http://trac.webkit.org/changeset/67146&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276945</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 19:12:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277256</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-10 09:40:00 -0700</bug_when>
    <thetext>+#if ENABLE(REGEXP_TRACING)
+    delete m_rtTraceList;
+#endif

Looks like m_rtTraceList could be an OwnPtr instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66965</attachid>
            <date>2010-09-08 16:55:12 -0700</date>
            <delta_ts>2010-09-09 19:11:56 -0700</delta_ts>
            <desc>RegExp Tracing Patch</desc>
            <filename>regexp_tracing.patch</filename>
            <type>text/plain</type>
            <size>12057</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3MDMzKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDggIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWd1bGFyIGV4cHJlc3Npb24gdHJhY2luZyBm
YWNpbGl0eS4gIFRoaXMgdHJhY2luZyBpcyBjb25uZWN0ZWQKKyAgICAgICAgdG8ganNjLiAgRXZl
cnkgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBpcyBhZGRlZCB0byBhIGxpc3Qu
CisgICAgICAgIFdoZW4gdGhlIHByb2Nlc3MgZXhpdHMsIGVhY2ggcmVndWxhciBleHByZXNzaW9u
IGR1bXBzIGl0cyBwYXR0ZXJuLAorICAgICAgICBKSVQgYWRkcmVzcywgbnVtYmVyIG9mIHRpbWVz
IGl0IHdhcyBleGVjdXRlZCBhbmQgdGhlIG51bWJlciBvZiBtYXRjaGVzLgorICAgICAgICBUaGlz
IHRyYWNpbmcgaXMgY29udHJvbGxlZCBieSB0aGUgbWFjcm8gRU5BQkxFX1JFR0VYUF9UUkFDSU5H
IGluCisgICAgICAgIHd0Zi9QbGF0Zm9ybS5oLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU0MDEKKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4
cDoKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAocnVuV2l0aFNjcmlwdHMpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxEYXRh
OjpKU0dsb2JhbERhdGEpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6On5KU0dsb2JhbERh
dGEpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OmFkZFJlZ0V4cFRvVHJhY2UpOgorICAg
ICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OmR1bXBSZWdFeHBUcmFjZSk6CisgICAgICAgICogcnVu
dGltZS9KU0dsb2JhbERhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAg
ICAgIChKU0M6OlJlZ0V4cDo6UmVnRXhwKToKKyAgICAgICAgKEpTQzo6UmVnRXhwOjpjcmVhdGUp
OgorICAgICAgICAoSlNDOjpSZWdFeHA6Om1hdGNoKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cC5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHlhcnIvUmVnZXhKSVQu
aDoKKyAgICAgICAgKEpTQzo6WWFycjo6UmVnZXhDb2RlQmxvY2s6OmdldEFkZHIpOgorCiAyMDEw
LTA5LTA4ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAko
cmV2aXNpb24gNjcwMTkpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyOSw2ICsxMjksNyBAQCBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTNz
dGFydFNhbXBsaW5nRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExNGR1bXBTYW1wbGVEYXRhRVBO
U185RXhlY1N0YXRlRQogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTE0cmVzZXREYXRlQ2FjaGVFdgog
X19aTjNKU0MxMkpTR2xvYmFsRGF0YTE0c2hhcmVkSW5zdGFuY2VFdgorX19aTjNKU0MxMkpTR2xv
YmFsRGF0YTE1ZHVtcFJlZ0V4cFRyYWNlRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGE2Y3JlYXRl
RU5TXzE1VGhyZWFkU3RhY2tUeXBlRQogX19aTjNKU0MxMkpTR2xvYmFsRGF0YUQxRXYKIF9fWk4z
SlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgpJbmRleDogSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiA2NzAxOSkKKysr
IEphdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwOCw2ICs0MDgsOSBA
QCBzdGF0aWMgYm9vbCBydW5XaXRoU2NyaXB0cyhHbG9iYWxPYmplY3QqCiAjaWYgRU5BQkxFKFNB
TVBMSU5HX0NPVU5URVJTKQogICAgIEFic3RyYWN0U2FtcGxpbmdDb3VudGVyOjpkdW1wKCk7CiAj
ZW5kaWYKKyNpZiBFTkFCTEUoUkVHRVhQX1RSQUNJTkcpCisgICAgZ2xvYmFsRGF0YS0+ZHVtcFJl
Z0V4cFRyYWNlKCk7CisjZW5kaWYKICAgICByZXR1cm4gc3VjY2VzczsKIH0KIApJbmRleDogSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAkocmV2aXNpb24gNjcwMTkpCisrKyBK
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUxLDYgKzUxLDEwIEBACiAjaW5jbHVkZSAiUGFyc2VyLmgiCiAjaW5jbHVkZSAiUmVnRXhwQ2Fj
aGUuaCIKICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgorI2lmIEVOQUJMRShSRUdFWFBf
VFJBQ0lORykKKyNpbmNsdWRlICJSZWdFeHAuaCIKKyNlbmRpZgorCiAKICNpZiBFTkFCTEUoSlND
X01VTFRJUExFX1RIUkVBRFMpCiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ1LDYg
KzE0OSw5IEBAIEpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKEdsb2JhbERhdGFUeXAKICAgICAs
IGNhY2hlZFVUQ09mZnNldChOYU4pCiAgICAgLCBtYXhSZWVudHJ5RGVwdGgodGhyZWFkU3RhY2tU
eXBlID09IFRocmVhZFN0YWNrVHlwZVNtYWxsID8gTWF4U21hbGxUaHJlYWRSZWVudHJ5RGVwdGgg
OiBNYXhMYXJnZVRocmVhZFJlZW50cnlEZXB0aCkKICAgICAsIG1fcmVnRXhwQ2FjaGUobmV3IFJl
Z0V4cENhY2hlKHRoaXMpKQorI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyAgICAsIG1fcnRU
cmFjZUxpc3QobmV3IFJUVHJhY2VMaXN0KCkpCisjZW5kaWYKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBleGNsdXNpdmVUaHJlYWQoMCkKICNlbmRpZgpAQCAtMjE4LDYgKzIyNSw5IEBAIEpTR2xvYmFs
RGF0YTo6fkpTR2xvYmFsRGF0YSgpCiAKICAgICBkZWxldGUgY2xpZW50RGF0YTsKICAgICBkZWxl
dGUgbV9yZWdFeHBDYWNoZTsKKyNpZiBFTkFCTEUoUkVHRVhQX1RSQUNJTkcpCisgICAgZGVsZXRl
IG1fcnRUcmFjZUxpc3Q7CisjZW5kaWYKIH0KIAogUGFzc1JlZlB0cjxKU0dsb2JhbERhdGE+IEpT
R2xvYmFsRGF0YTo6Y3JlYXRlQ29udGV4dEdyb3VwKFRocmVhZFN0YWNrVHlwZSB0eXBlKQpAQCAt
MzAxLDQgKzMxMSwzOCBAQCB2b2lkIEpTR2xvYmFsRGF0YTo6ZHVtcFNhbXBsZURhdGEoRXhlY1N0
CiAgICAgaW50ZXJwcmV0ZXItPmR1bXBTYW1wbGVEYXRhKGV4ZWMpOwogfQogCisKKyNpZiBFTkFC
TEUoUkVHRVhQX1RSQUNJTkcpCit2b2lkIEpTR2xvYmFsRGF0YTo6YWRkUmVnRXhwVG9UcmFjZShQ
YXNzUmVmUHRyPFJlZ0V4cD4gcmVnRXhwKQoreworICAgIG1fcnRUcmFjZUxpc3QtPmFkZChyZWdF
eHApOworfQorCit2b2lkIEpTR2xvYmFsRGF0YTo6ZHVtcFJlZ0V4cFRyYWNlKCkKK3sKKyAgICAv
LyBUaGUgZmlyc3QgUmVnRXhwIG9iamVjdCBpcyBpZ25vcmVkLiAgSXQgaXMgY3JlYXRlIGJ5IHRo
ZSBSZWdFeHBQcm90b3R5cGUgY3RvciBhbmQgbm90IHVzZWQuCisgICAgUlRUcmFjZUxpc3Q6Oml0
ZXJhdG9yIGl0ZXIgPSArK21fcnRUcmFjZUxpc3QtPmJlZ2luKCk7CisgICAgCisgICAgaWYgKGl0
ZXIgIT0gbV9ydFRyYWNlTGlzdC0+ZW5kKCkpIHsKKyAgICAgICAgcHJpbnRmKCJcblJlZ0V4cCBU
cmFjaW5nXG4iKTsKKyAgICAgICAgcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCgpICAgIG1hdGNoZXNcbiIpOwor
ICAgICAgICBwcmludGYoIlJlZ3VsYXIgRXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAg
ICAgSklUIEFkZHJlc3MgICAgICBjYWxscyAgICAgIGZvdW5kXG4iKTsKKyAgICAgICAgcHJpbnRm
KCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t
LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tXG4iKTsKKyAgICAKKyAgICAgICAgdW5zaWduZWQgcmVD
b3VudCA9IDA7CisgICAgCisgICAgICAgIGZvciAoOyBpdGVyICE9IG1fcnRUcmFjZUxpc3QtPmVu
ZCgpOyArK2l0ZXIsICsrcmVDb3VudCkKKyAgICAgICAgICAgICgqaXRlciktPnByaW50VHJhY2VE
YXRhKCk7CisKKyAgICAgICAgcHJpbnRmKCIlZCBSZWd1bGFyIEV4cHJlc3Npb25zXG4iLCByZUNv
dW50KTsKKyAgICB9CisgICAgCisgICAgbV9ydFRyYWNlTGlzdC0+Y2xlYXIoKTsKK30KKyNlbHNl
Cit2b2lkIEpTR2xvYmFsRGF0YTo6ZHVtcFJlZ0V4cFRyYWNlKCkKK3sKK30KKyNlbmRpZgorCiB9
IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxE
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEu
aAkocmV2aXNpb24gNjcwMTkpCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw5IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
cGVjaWZpYy5oPgorI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyNpbmNsdWRlIDx3dGYvTGlz
dEhhc2hTZXQuaD4KKyNlbmRpZgogCiBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIHN0cnVjdCBPcGFx
dWVKU0NsYXNzQ29udGV4dERhdGE7CkBAIC02NCw2ICs2Nyw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIGNsYXNzIFN0cmluZ2lmaWVyOwogICAgIGNsYXNzIFN0cnVjdHVyZTsKICAgICBjbGFzcyBV
U3RyaW5nOworI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyAgICBjbGFzcyBSZWdFeHA7Cisj
ZW5kaWYKIAogICAgIHN0cnVjdCBIYXNoVGFibGU7CiAgICAgc3RydWN0IEluc3RydWN0aW9uOyAg
ICAKQEAgLTIyMiw2ICsyMjgsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEJ1bXBQb2lu
dGVyQWxsb2NhdG9yIG1fcmVnZXhBbGxvY2F0b3I7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRUdF
WFBfVFJBQ0lORykKKyAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldDxSZWZQdHI8UmVnRXhwPiA+
IFJUVHJhY2VMaXN0OworICAgICAgICBSVFRyYWNlTGlzdCogbV9ydFRyYWNlTGlzdDsKKyNlbmRp
ZgorCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBUaHJlYWRJZGVudGlmaWVyIGV4Y2x1c2l2ZVRo
cmVhZDsKICNlbmRpZgpAQCAtMjM0LDYgKzI0NSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgdm9pZCBzdG9wU2FtcGxpbmcoKTsKICAgICAgICAgdm9pZCBkdW1wU2FtcGxlRGF0YShFeGVj
U3RhdGUqIGV4ZWMpOwogICAgICAgICBSZWdFeHBDYWNoZSogcmVnRXhwQ2FjaGUoKSB7IHJldHVy
biBtX3JlZ0V4cENhY2hlOyB9CisjaWYgRU5BQkxFKFJFR0VYUF9UUkFDSU5HKQorICAgICAgICB2
b2lkIGFkZFJlZ0V4cFRvVHJhY2UoUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCk7CisjZW5kaWYK
KyAgICAgICAgdm9pZCBkdW1wUmVnRXhwVHJhY2UoKTsKICAgICBwcml2YXRlOgogICAgICAgICBK
U0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSk7CiAgICAgICAgIHN0
YXRpYyBKU0dsb2JhbERhdGEqJiBzaGFyZWRJbnN0YW5jZUludGVybmFsKCk7CkluZGV4OiBKYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHAuY3BwCShyZXZpc2lvbiA2NzAxOSkKKysrIEphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgsMTAgQEAgaW5s
aW5lIFJlZ0V4cDo6UmVnRXhwKEpTR2xvYmFsRGF0YSogZ2xvYgogICAgICwgbV9mbGFnQml0cygw
KQogICAgICwgbV9jb25zdHJ1Y3Rpb25FcnJvcigwKQogICAgICwgbV9udW1TdWJwYXR0ZXJucygw
KQorI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyAgICAsIG1fcnRNYXRjaENhbGxDb3VudCgw
KQorICAgICwgbV9ydE1hdGNoRm91bmRDb3VudCgwKQorI2VuZGlmCiAgICAgLCBtX3JlcHJlc2Vu
dGF0aW9uKGFkb3B0UHRyKG5ldyBSZWdFeHBSZXByZXNlbnRhdGlvbikpCiB7CiAgICAgLy8gTk9U
RTogVGhlIGdsb2JhbCBmbGFnIGlzIGhhbmRsZWQgb24gYSBjYXNlLWJ5LWNhc2UgYmFzaXMgYnkg
ZnVuY3Rpb25zIGxpa2UKQEAgLTg5LDcgKzkzLDExIEBAIFJlZ0V4cDo6flJlZ0V4cCgpCiAKIFBh
c3NSZWZQdHI8UmVnRXhwPiBSZWdFeHA6OmNyZWF0ZShKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEs
IGNvbnN0IFVTdHJpbmcmIHBhdHRlcm4sIGNvbnN0IFVTdHJpbmcmIGZsYWdzKQogewotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgUmVnRXhwKGdsb2JhbERhdGEsIHBhdHRlcm4sIGZsYWdzKSk7Cisg
ICAgUmVmUHRyPFJlZ0V4cD4gcmVzID0gYWRvcHRSZWYobmV3IFJlZ0V4cChnbG9iYWxEYXRhLCBw
YXR0ZXJuLCBmbGFncykpOworI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyAgICBnbG9iYWxE
YXRhLT5hZGRSZWdFeHBUb1RyYWNlKHJlcyk7CisjZW5kaWYKKyAgICByZXR1cm4gcmVzLnJlbGVh
c2UoKTsKIH0KIAogI2lmIEVOQUJMRShZQVJSKQpAQCAtMTA5LDYgKzExNywxMCBAQCBpbnQgUmVn
RXhwOjptYXRjaChjb25zdCBVU3RyaW5nJiBzLCBpbnQgCiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0g
MDsKICAgICBpZiAob3ZlY3RvcikKICAgICAgICAgb3ZlY3Rvci0+cmVzaXplKDApOworICAgIAor
I2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lORykKKyAgICBtX3J0TWF0Y2hDYWxsQ291bnQrKzsKKyNl
bmRpZgogCiAgICAgaWYgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGFydE9mZnNldCkgPiBzLmxl
bmd0aCgpIHx8IHMuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTE0OSw2ICsxNjEs
MTEgQEAgaW50IFJlZ0V4cDo6bWF0Y2goY29uc3QgVVN0cmluZyYgcywgaW50IAogICAgICAgICAg
ICAgICAgIG92ZWN0b3ItPmNsZWFyKCk7CiAgICAgICAgIH0KICAgICAgICAgCisjaWYgRU5BQkxF
KFJFR0VYUF9UUkFDSU5HKQorICAgICAgICBpZiAocmVzdWx0ICE9IC0xKQorICAgICAgICAgICAg
bV9ydE1hdGNoRm91bmRDb3VudCsrOworI2VuZGlmCisKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9CiAKQEAgLTE2Nyw2ICsxODQsMTAgQEAgdm9pZCBSZWdFeHA6OmNvbXBpbGUoSlNHbG9i
YWxEYXRhKikKIAogaW50IFJlZ0V4cDo6bWF0Y2goY29uc3QgVVN0cmluZyYgcywgaW50IHN0YXJ0
T2Zmc2V0LCBWZWN0b3I8aW50LCAzMj4qIG92ZWN0b3IpCiB7CisjaWYgRU5BQkxFKFJFR0VYUF9U
UkFDSU5HKQorICAgIG1fcnRNYXRjaENhbGxDb3VudCsrOworI2VuZGlmCisgICAgCiAgICAgaWYg
KHN0YXJ0T2Zmc2V0IDwgMCkKICAgICAgICAgc3RhcnRPZmZzZXQgPSAwOwogICAgIGlmIChvdmVj
dG9yKQpAQCAtMjAyLDEyICsyMjMsNDUgQEAgaW50IFJlZ0V4cDo6bWF0Y2goY29uc3QgVVN0cmlu
ZyYgcywgaW50IAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAKKyNpZiBFTkFC
TEUoUkVHRVhQX1RSQUNJTkcpCisgICAgICAgIG1fcnRNYXRjaEZvdW5kQ291bnQrKzsKKyNlbmRp
ZgorICAgICAgICAKICAgICAgICAgcmV0dXJuIG9mZnNldFZlY3RvclswXTsKICAgICB9CiAKICAg
ICByZXR1cm4gLTE7CiB9Ci0KKyAgICAKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFR0VYUF9UUkFD
SU5HKQorICAgIHZvaWQgUmVnRXhwOjpwcmludFRyYWNlRGF0YSgpCisgICAgeworICAgICAgICBj
aGFyIGZvcm1hdHRlZFBhdHRlcm5bNDFdOworICAgICAgICBjaGFyIHJhd1BhdHRlcm5bNDFdOwor
ICAgICAgICAKKyAgICAgICAgc3RybmNweShyYXdQYXR0ZXJuLCBtX3BhdHRlcm4udXRmOCgpLmRh
dGEoKSwgNDApOworICAgICAgICByYXdQYXR0ZXJuWzQwXT0gJ1wwJzsKKyAgICAgICAgCisgICAg
ICAgIGludCBwYXR0TGVuID0gc3RybGVuKHJhd1BhdHRlcm4pOworICAgICAgICAKKyAgICAgICAg
c25wcmludGYoZm9ybWF0dGVkUGF0dGVybiwgNDEsIChwYXR0TGVuIDw9IDM4KSA/ICIvJS4zOHMv
IiA6ICIvJS4zNnMuLi4iLCByYXdQYXR0ZXJuKTsKKworI2lmIEVOQUJMRShZQVJSX0pJVCkKKyAg
ICAgICAgWWFycjo6UmVnZXhDb2RlQmxvY2smIGNvZGVCbG9jayA9IG1fcmVwcmVzZW50YXRpb24t
Pm1fcmVnRXhwSklUQ29kZTsKKworICAgICAgICBjaGFyIGppdEFkZHJbMjBdOworICAgICAgICBp
ZiAoY29kZUJsb2NrLmdldEZhbGxiYWNrKCkpCisgICAgICAgICAgICBzcHJpbnRmKGppdEFkZHIs
ICJmYWxsYmFjayIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzcHJpbnRmKGppdEFkZHIs
ICIweCUwMTRseCIsICh1aW50cHRyX3QpY29kZUJsb2NrLmdldEFkZHIoKSk7CisjZWxzZQorICAg
ICAgICBjb25zdCBjaGFyKiBqaXRBZGRyID0gIkpJVCBPZmYiOworI2VuZGlmCisgICAgICAgIAor
ICAgICAgICBwcmludGYoIiUtNDAuNDBzICUxNi4xNnMgJTEwZCAlMTBkXG4iLCBmb3JtYXR0ZWRQ
YXR0ZXJuLCBqaXRBZGRyLCBtX3J0TWF0Y2hDYWxsQ291bnQsIG1fcnRNYXRjaEZvdW5kQ291bnQp
OworICAgIH0KKyNlbmRpZgorICAgIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwLmgJKHJldmlzaW9uIDY3MDE5KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHAuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICAgICAgaW50IG1hdGNoKGNvbnN0IFVTdHJpbmcmLCBpbnQgc3RhcnRPZmZzZXQs
IFZlY3RvcjxpbnQsIDMyPiogb3ZlY3RvciA9IDApOwogICAgICAgICB1bnNpZ25lZCBudW1TdWJw
YXR0ZXJucygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtU3VicGF0dGVybnM7IH0KKyAgICAgICAgCisj
aWYgRU5BQkxFKFJFR0VYUF9UUkFDSU5HKQorICAgICAgICB2b2lkIHByaW50VHJhY2VEYXRhKCk7
CisjZW5kaWYKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZ0V4cChKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEsIGNvbnN0IFVTdHJpbmcmIHBhdHRlcm4sIGNvbnN0IFVTdHJpbmcmIGZsYWdzKTsK
QEAgLTYwLDcgKzY0LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBpbnQgbV9mbGFnQml0
czsKICAgICAgICAgY29uc3QgY2hhciogbV9jb25zdHJ1Y3Rpb25FcnJvcjsKICAgICAgICAgdW5z
aWduZWQgbV9udW1TdWJwYXR0ZXJuczsKLSAgICAgICAgCisjaWYgRU5BQkxFKFJFR0VYUF9UUkFD
SU5HKQorICAgICAgICB1bnNpZ25lZCBtX3J0TWF0Y2hDYWxsQ291bnQ7CisgICAgICAgIHVuc2ln
bmVkIG1fcnRNYXRjaEZvdW5kQ291bnQ7CisjZW5kaWYKKwogICAgICAgICBPd25QdHI8UmVnRXhw
UmVwcmVzZW50YXRpb24+IG1fcmVwcmVzZW50YXRpb247CiAgICAgfTsKIApJbmRleDogSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3Rm
L1BsYXRmb3JtLmgJKHJldmlzaW9uIDY3MDE5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMTAsNiArMTAxMCw5IEBAIG9uIE1pbkdXLiBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2gKICNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9f
SU5URVJQUkVURVIgMQogI2VuZGlmCiAKKy8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0g
U2V0IHRvIDEgdG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhp
dCAqLworI2RlZmluZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAorCiAvKiBZZXQgQW5vdGhlciBS
ZWdleCBSdW50aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRz
LiAqLwogI2lmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSKSAmJiAhZGVmaW5l
ZChFTkFCTEVfWUFSUl9KSVQpCiAjZGVmaW5lIEVOQUJMRV9ZQVJSIDEKSW5kZXg6IEphdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4SklULmgJKHJldmlzaW9uIDY3MDE5KQorKysgSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3MywxMCBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxSZWdleEpJVENvZGU+KG1fcmVmLm1fY29k
ZS5leGVjdXRhYmxlQWRkcmVzcygpKShpbnB1dCwgc3RhcnQsIGxlbmd0aCwgb3V0cHV0KTsKICAg
ICB9CisgICAgCisjaWYgRU5BQkxFKFJFR0VYUF9UUkFDSU5HKQorICAgIHZvaWQgKmdldEFkZHIo
KSB7IHJldHVybiBtX3JlZi5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKTsgfQorI2VuZGlmCiAK
IHByaXZhdGU6CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNvZGVSZWYgbV9yZWY7CkluZGV4OiBKYXZh
U2NyaXB0R2x1ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdEdsdWUvQ2hhbmdl
TG9nCShyZXZpc2lvbiA2NzAzMykKKysrIEphdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEwLTA5LTA4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIExpc3RIYXNoU2V0LmggYXMgYW4gZXhwb3J0ZWQgaGVhZGVyIGluIHN1
cHBvcnQgb2YgUmVnRXhwIHRyYWNpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NTQwMQorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3Rm
L0xpc3RIYXNoU2V0Lmg6IEFkZGVkLgorCiAyMDEwLTA5LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCklu
ZGV4OiBKYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTGlzdEhhc2hTZXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTGlzdEhh
c2hTZXQuaAkocmV2aXNpb24gMCkKKysrIEphdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9MaXN0SGFzaFNldC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvTGlzdEhhc2hTZXQuaD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>