<?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>9552</bug_id>
          
          <creation_ts>2006-06-23 00:05:44 -0700</creation_ts>
          <short_desc>script debugger should only attach to JavaScriptCore when there are listeners</short_desc>
          <delta_ts>2006-06-23 12:59:15 -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>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>46767</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-06-23 00:05:44 -0700</bug_when>
    <thetext>Right now the script debuggers always attach when you have the WebScriptDebuggerEnabled default set. This does not mean we have any registered listeners.

When using a build that has these debuggers attached there is around a 50% performance impact on the JS 24Fun test.

We need to lazily attach the debuggers to all frames when the first listener is added. Once all the listeners are detached we can then remove the listeners, regaining peek performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46768</commentid>
    <comment_count>1</comment_count>
      <attachid>8976</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-06-23 00:10:28 -0700</bug_when>
    <thetext>Created attachment 8976
Implements the lazy attach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46769</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-06-23 00:11:42 -0700</bug_when>
    <thetext>&quot;Once all the listeners are removed we can then detach the debuggers, regaining peek performance.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46889</commentid>
    <comment_count>3</comment_count>
      <attachid>8976</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-06-23 11:59:03 -0700</bug_when>
    <thetext>Comment on attachment 8976
Implements the lazy attach

I would make these changes:

- &quot;Attaches a script debugger to all frames for the receiver.&quot;
+ &quot;Attaches a script debugger to all frames belonging to the receiver.&quot;

-    @abstract Detaches any script debuggers from all frames for the receiver.
+    @abstract Detaches all script debuggers from all frames belonging to the receiver.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46895</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-06-23 12:59:15 -0700</bug_when>
    <thetext>Landed in r14990.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8976</attachid>
            <date>2006-06-23 00:10:28 -0700</date>
            <delta_ts>2006-06-23 11:59:03 -0700</delta_ts>
            <desc>Implements the lazy attach</desc>
            <filename>9552.patch</filename>
            <type>text/plain</type>
            <size>13189</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTg2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDAgQEAKKzIwMDYtMDYt
MjMgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNjcmlwdCBkZWJ1Z2dlciBzaG91bGQg
b25seSBhdHRhY2ggdG8gSmF2YVNjcmlwdENvcmUgd2hlbiB0aGVyZSBhcmUgbGlzdGVuZXJzCisg
ICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1
MgorCisgICAgICAgIEF0dGFjaGVzIHRoZSBkZWJ1Z2dlciB0byBhbGwgV2ViRnJhbWVzIHdoZW4g
dGhlIGZpcnN0IGxpc3RlbmVyCisgICAgICAgIGlzIGFkZGVkLiBEZXRhY2hlcyB3aGVuIHRoZSBs
YXN0IGxpc3RlbmVyIGlzIHJlbW92ZWQuCisgICAgICAgIEFsc28gZGV0YWNoIHdoZW4gdGhlIHNj
cmlwdCBkZWJ1ZyBkZWxlZ2F0ZSBpcyBzZXQgdG8gbmlsLgorCisgICAgICAgICogRGVmYXVsdERl
bGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1NlcnZlci5tOgorICAgICAgICAoK1tXZWJTY3JpcHREZWJ1
Z1NlcnZlciBsaXN0ZW5lckNvdW50XSk6CisgICAgICAgICgtW1dlYlNjcmlwdERlYnVnU2VydmVy
IGRlYWxsb2NdKToKKyAgICAgICAgKC1bV2ViU2NyaXB0RGVidWdTZXJ2ZXIgYXR0YWNoU2NyaXB0
RGVidWdnZXJUb0FsbFdlYlZpZXdzXSk6CisgICAgICAgICgtW1dlYlNjcmlwdERlYnVnU2VydmVy
IGRldGFjaFNjcmlwdERlYnVnZ2VyRnJvbUFsbFdlYlZpZXdzXSk6CisgICAgICAgICgtW1dlYlNj
cmlwdERlYnVnU2VydmVyIGxpc3RlbmVyQ29ubmVjdGlvbkRpZERpZTpdKToKKyAgICAgICAgKC1b
V2ViU2NyaXB0RGVidWdTZXJ2ZXIgYWRkTGlzdGVuZXI6XSk6CisgICAgICAgICgtW1dlYlNjcmlw
dERlYnVnU2VydmVyIHJlbW92ZUxpc3RlbmVyOl0pOgorICAgICAgICAqIERlZmF1bHREZWxlZ2F0
ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcml2YXRlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVCcmlkZ2UubToKKyAgICAgICAgKC1bV2ViRnJhbWVCcmlkZ2Ugd2luZG93T2Jq
ZWN0Q2xlYXJlZF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubToKKyAgICAgICAgKC1b
V2ViRnJhbWUgX2F0dGFjaFNjcmlwdERlYnVnZ2VyXSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9k
ZXRhY2hTY3JpcHREZWJ1Z2dlcl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm06CisgICAgICAg
ICgtW1dlYlNjcmlwdENhbGxGcmFtZSBwYXJzZWRTb3VyY2U6ZnJvbVVSTDpzb3VyY2VJZDpdKToK
KyAgICAgICAgKC1bV2ViU2NyaXB0Q2FsbEZyYW1lIGVudGVyZWRGcmFtZTpzb3VyY2VJZDpsaW5l
Ol0pOgorICAgICAgICAoLVtXZWJTY3JpcHRDYWxsRnJhbWUgaGl0U3RhdGVtZW50OnNvdXJjZUlk
OmxpbmU6XSk6CisgICAgICAgICgtW1dlYlNjcmlwdENhbGxGcmFtZSBsZWF2aW5nRnJhbWU6c291
cmNlSWQ6bGluZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubToKKyAgICAgICAgKC1b
V2ViVmlldyBfYXR0YWNoU2NyaXB0RGVidWdnZXJUb0FsbEZyYW1lc10pOgorICAgICAgICAoLVtX
ZWJWaWV3IF9kZXRhY2hTY3JpcHREZWJ1Z2dlckZyb21BbGxGcmFtZXNdKToKKyAgICAgICAgKC1b
V2ViVmlldyBzZXRTY3JpcHREZWJ1Z0RlbGVnYXRlOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaDoKKwogMjAwNi0wNi0yMiAgVGltIE9tZXJuaWNrICA8dGltb0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChidWlsZCBmaXgpCkluZGV4OiBEZWZh
dWx0RGVsZWdhdGVzL1dlYlNjcmlwdERlYnVnU2VydmVyLm0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRGVmYXVs
dERlbGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1NlcnZlci5tCShyZXZpc2lvbiAxNDk4NikKKysrIERl
ZmF1bHREZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXIubQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsOSBAQAogCiAjaW1wb3J0ICJXZWJTY3JpcHREZWJ1Z1NlcnZlci5oIgogI2ltcG9y
dCAiV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcml2YXRlLmgiCisjaW1wb3J0ICJXZWJWaWV3SW50ZXJu
YWwuaCIKKworI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvQXNzZXJ0aW9ucy5oPgogCiBOU1N0cmlu
ZyAqV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcm9jZXNzTmFtZUtleSA9IEAiV2ViU2NyaXB0RGVidWdT
ZXJ2ZXJQcm9jZXNzTmFtZUtleSI7CiBOU1N0cmluZyAqV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcm9j
ZXNzQnVuZGxlSWRlbnRpZmllcktleSA9IEAiV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcm9jZXNzQnVu
ZGxlSWRlbnRpZmllcktleSI7CkBAIC00Miw2ICs0NSw3IEBAIE5TU3RyaW5nICpXZWJTY3JpcHRE
ZWJ1Z1NlcnZlcldpbGxVbmxvYWQKIEBpbXBsZW1lbnRhdGlvbiBXZWJTY3JpcHREZWJ1Z1NlcnZl
cgogCiBzdGF0aWMgV2ViU2NyaXB0RGVidWdTZXJ2ZXIgKnNoYXJlZFNlcnZlciA9IG5pbDsKK3N0
YXRpYyB1bnNpZ25lZCBsaXN0ZW5lckNvdW50ID0gMDsKIAogKyAoV2ViU2NyaXB0RGVidWdTZXJ2
ZXIgKilzaGFyZWRTY3JpcHREZWJ1Z1NlcnZlcgogewpAQCAtNTAsNiArNTQsMTEgQEAgc3RhdGlj
IFdlYlNjcmlwdERlYnVnU2VydmVyICpzaGFyZWRTZXJ2ZQogICAgIHJldHVybiBzaGFyZWRTZXJ2
ZXI7CiB9CiAKKysgKHVuc2lnbmVkKWxpc3RlbmVyQ291bnQKK3sKKyAgICByZXR1cm4gbGlzdGVu
ZXJDb3VudDsKK30KKwogLSAoaWQpaW5pdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBA
IC03OSw2ICs4OCwxMCBAQCBzdGF0aWMgV2ViU2NyaXB0RGVidWdTZXJ2ZXIgKnNoYXJlZFNlcnZl
CiAKIC0gKHZvaWQpZGVhbGxvYwogeworICAgIEFTU0VSVChsaXN0ZW5lckNvdW50ID49IFtsaXN0
ZW5lcnMgY291bnRdKTsKKyAgICBsaXN0ZW5lckNvdW50IC09IFtsaXN0ZW5lcnMgY291bnRdOwor
ICAgIGlmICghbGlzdGVuZXJDb3VudCkKKyAgICAgICAgW3NlbGYgZGV0YWNoU2NyaXB0RGVidWdn
ZXJGcm9tQWxsV2ViVmlld3NdOwogICAgIFtbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViU2NyaXB0RGVidWdT
ZXJ2ZXJRdWVyeU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICBbW05TRGlzdHJpYnV0ZWRO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2Vi
U2NyaXB0RGVidWdTZXJ2ZXJXaWxsVW5sb2FkTm90aWZpY2F0aW9uIG9iamVjdDpzZXJ2ZXJOYW1l
XTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2Vy
dmVyOnNlbGYgbmFtZTpOU0Nvbm5lY3Rpb25EaWREaWVOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07
CkBAIC04OSw2ICsxMDIsMTYgQEAgc3RhdGljIFdlYlNjcmlwdERlYnVnU2VydmVyICpzaGFyZWRT
ZXJ2ZQogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAorLSAodm9pZClhdHRhY2hTY3JpcHREZWJ1
Z2dlclRvQWxsV2ViVmlld3MKK3sKKyAgICBbV2ViVmlldyBfbWFrZUFsbFdlYlZpZXdzUGVyZm9y
bVNlbGVjdG9yOkBzZWxlY3RvcihfYXR0YWNoU2NyaXB0RGVidWdnZXJUb0FsbEZyYW1lcyldOwor
fQorCistICh2b2lkKWRldGFjaFNjcmlwdERlYnVnZ2VyRnJvbUFsbFdlYlZpZXdzCit7CisgICAg
W1dlYlZpZXcgX21ha2VBbGxXZWJWaWV3c1BlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoX2RldGFj
aFNjcmlwdERlYnVnZ2VyRnJvbUFsbEZyYW1lcyldOworfQorCiAtICh2b2lkKXNlcnZlclF1ZXJ5
OihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewogICAgIE5TUHJvY2Vzc0luZm8gKnBy
b2Nlc3NJbmZvID0gW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dOwpAQCAtMTEyLDggKzEzNSwx
MyBAQCBzdGF0aWMgV2ViU2NyaXB0RGVidWdTZXJ2ZXIgKnNoYXJlZFNlcnZlCiAgICAgICAgIGlm
IChbW2xpc3RlbmVyIGNvbm5lY3Rpb25Gb3JQcm94eV0gaXNFcXVhbFRvOmNvbm5lY3Rpb25dKQog
ICAgICAgICAgICAgW2xpc3RlbmVyc1RvUmVtb3ZlIGFkZE9iamVjdDpsaXN0ZW5lcl07CiAKKyAg
ICBBU1NFUlQobGlzdGVuZXJDb3VudCA+PSBbbGlzdGVuZXJzVG9SZW1vdmUgY291bnRdKTsKKyAg
ICBsaXN0ZW5lckNvdW50IC09IFtsaXN0ZW5lcnNUb1JlbW92ZSBjb3VudF07CiAgICAgW2xpc3Rl
bmVycyBtaW51c1NldDpsaXN0ZW5lcnNUb1JlbW92ZV07CiAgICAgW2xpc3RlbmVyc1RvUmVtb3Zl
IHJlbGVhc2VdOworCisgICAgaWYgKCFsaXN0ZW5lckNvdW50KQorICAgICAgICBbc2VsZiBkZXRh
Y2hTY3JpcHREZWJ1Z2dlckZyb21BbGxXZWJWaWV3c107CiB9CiAKIC0gKG9uZXdheSB2b2lkKWFk
ZExpc3RlbmVyOihpZDxXZWJTY3JpcHREZWJ1Z0xpc3RlbmVyPilsaXN0ZW5lcgpAQCAtMTIxLDE0
ICsxNDksMjEgQEAgc3RhdGljIFdlYlNjcmlwdERlYnVnU2VydmVyICpzaGFyZWRTZXJ2ZQogICAg
IC8vIGNhbid0IHVzZSBpc0tpbmRPZkNsYXNzOiBoZXJlIGJlY2F1c2UgdGhhdCB3aWxsIHNlbmQg
b3ZlciB0aGUgd2lyZSBhbmQgbm90IGNoZWNrIHRoZSBwcm94eSBvYmplY3QKICAgICBpZiAoW2xp
c3RlbmVyIGNsYXNzXSAhPSBbTlNEaXN0YW50T2JqZWN0IGNsYXNzXSB8fCAhW2xpc3RlbmVyIGNv
bmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woV2ViU2NyaXB0RGVidWdMaXN0ZW5lcildKQogICAg
ICAgICByZXR1cm47CisgICAgbGlzdGVuZXJDb3VudCsrOwogICAgIFtsaXN0ZW5lcnMgYWRkT2Jq
ZWN0Omxpc3RlbmVyXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGxpc3RlbmVyQ29ubmVjdGlvbkRp
ZERpZTopIG5hbWU6TlNDb25uZWN0aW9uRGlkRGllTm90aWZpY2F0aW9uIG9iamVjdDpbKE5TRGlz
dGFudE9iamVjdCAqKWxpc3RlbmVyIGNvbm5lY3Rpb25Gb3JQcm94eV1dOworICAgIGlmIChsaXN0
ZW5lckNvdW50ID09IDEpCisgICAgICAgIFtzZWxmIGF0dGFjaFNjcmlwdERlYnVnZ2VyVG9BbGxX
ZWJWaWV3c107CiB9CiAKIC0gKG9uZXdheSB2b2lkKXJlbW92ZUxpc3RlbmVyOihpZDxXZWJTY3Jp
cHREZWJ1Z0xpc3RlbmVyPilsaXN0ZW5lcgogeworICAgIEFTU0VSVChsaXN0ZW5lckNvdW50ID49
IDEpOworICAgIGxpc3RlbmVyQ291bnQtLTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU0Nvbm5lY3Rpb25EaWREaWVO
b3RpZmljYXRpb24gb2JqZWN0OlsoTlNEaXN0YW50T2JqZWN0ICopbGlzdGVuZXIgY29ubmVjdGlv
bkZvclByb3h5XV07CiAgICAgW2xpc3RlbmVycyByZW1vdmVPYmplY3Q6bGlzdGVuZXJdOworICAg
IGlmICghbGlzdGVuZXJDb3VudCkKKyAgICAgICAgW3NlbGYgZGV0YWNoU2NyaXB0RGVidWdnZXJG
cm9tQWxsV2ViVmlld3NdOwogfQogCiAtIChvbmV3YXkgdm9pZClzdGVwCkluZGV4OiBEZWZhdWx0
RGVsZWdhdGVzL1dlYlNjcmlwdERlYnVnU2VydmVyUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERl
ZmF1bHREZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXJQcml2YXRlLmgJKHJldmlzaW9uIDE0
OTg2KQorKysgRGVmYXVsdERlbGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1NlcnZlclByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsMTAgQEAKICAgICBCT09MIHN0ZXA7CiB9CiArIChX
ZWJTY3JpcHREZWJ1Z1NlcnZlciAqKXNoYXJlZFNjcmlwdERlYnVnU2VydmVyOworKyAodW5zaWdu
ZWQpbGlzdGVuZXJDb3VudDsKKworLSAodm9pZClhdHRhY2hTY3JpcHREZWJ1Z2dlclRvQWxsV2Vi
Vmlld3M7CistICh2b2lkKWRldGFjaFNjcmlwdERlYnVnZ2VyRnJvbUFsbFdlYlZpZXdzOwogCiAt
ICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3ICAgICAgIGRpZFBhcnNlU291cmNlOihO
U1N0cmluZyAqKXNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZnJvbVVSTDooTlNTdHJpbmcgKil1cmwKSW5kZXg6IFdlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lQnJpZGdlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVCcmlk
Z2UubQkocmV2aXNpb24gMTQ5ODYpCisrKyBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUJyaWRnZS5t
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0ICJXZWJQbHVnaW5WaWV3
RmFjdG9yeVByaXZhdGUuaCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIgogI2lt
cG9ydCAiV2ViUmVzb3VyY2VQcml2YXRlLmgiCisjaW1wb3J0ICJXZWJTY3JpcHREZWJ1Z1NlcnZl
clByaXZhdGUuaCIKICNpbXBvcnQgIldlYlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJX
ZWJVSURlbGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCkBAIC0x
NDkwLDcgKzE0OTEsNyBAQCBzdGF0aWMgaWQgPFdlYkZvcm1EZWxlZ2F0ZT4gZm9ybURlbGVnYXRl
CiB7CiAgICAgV2ViVmlldyAqd3YgPSBbc2VsZiB3ZWJWaWV3XTsKICAgICBbW3d2IF9mcmFtZUxv
YWREZWxlZ2F0ZUZvcndhcmRlcl0gd2ViVmlldzp3diB3aW5kb3dTY3JpcHRPYmplY3RBdmFpbGFi
bGU6W3NlbGYgd2luZG93U2NyaXB0T2JqZWN0XV07Ci0gICAgaWYgKFt3diBzY3JpcHREZWJ1Z0Rl
bGVnYXRlXSB8fCBbV2ViVmlldyBfc2NyaXB0RGVidWdnZXJFbmFibGVkXSkKKyAgICBpZiAoW3d2
IHNjcmlwdERlYnVnRGVsZWdhdGVdIHx8IFtXZWJTY3JpcHREZWJ1Z1NlcnZlciBsaXN0ZW5lckNv
dW50XSkKICAgICAgICAgW19mcmFtZSBfYXR0YWNoU2NyaXB0RGVidWdnZXJdOwogfQogCkluZGV4
OiBXZWJWaWV3L1dlYkZyYW1lLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViVmlldy9XZWJGcmFtZS5tCShy
ZXZpc2lvbiAxNDk4NikKKysrIFdlYlZpZXcvV2ViRnJhbWUubQkod29ya2luZyBjb3B5KQpAQCAt
MjQ0Miw4ICsyNDQyLDE2IEBAIHN0YXRpYyBDRkFic29sdXRlVGltZSBfdGltZU9mTGFzdENvbXBs
ZXQKIAogLSAodm9pZClfYXR0YWNoU2NyaXB0RGVidWdnZXIKIHsKLSAgICBpZiAoIV9wcml2YXRl
LT5zY3JpcHREZWJ1Z2dlcikgeworICAgIGlmICghX3ByaXZhdGUtPnNjcmlwdERlYnVnZ2VyKQog
ICAgICAgICBfcHJpdmF0ZS0+c2NyaXB0RGVidWdnZXIgPSBbW1dlYlNjcmlwdERlYnVnZ2VyIGFs
bG9jXSBpbml0V2l0aFdlYkZyYW1lOnNlbGZdOworfQorCistICh2b2lkKV9kZXRhY2hTY3JpcHRE
ZWJ1Z2dlcgoreworICAgIGlmIChfcHJpdmF0ZS0+c2NyaXB0RGVidWdnZXIpIHsKKyAgICAgICAg
aWQgb2xkID0gX3ByaXZhdGUtPnNjcmlwdERlYnVnZ2VyOworICAgICAgICBfcHJpdmF0ZS0+c2Ny
aXB0RGVidWdnZXIgPSBuaWw7CisgICAgICAgIFtvbGQgcmVsZWFzZV07CiAgICAgfQogfQogCklu
ZGV4OiBXZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYlZpZXcvV2Vi
RnJhbWVQcml2YXRlLmgJKHJldmlzaW9uIDE0OTg2KQorKysgV2ViVmlldy9XZWJGcmFtZVByaXZh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDYgKzE2MCw3IEBAIGV4dGVybiBOU1N0cmluZyAq
V2ViUGFnZUNhY2hlRG9jdW1lbnRWaWUKIC0gKEJPT0wpX2lzRnJhbWVTZXQ7CiAKIC0gKHZvaWQp
X2F0dGFjaFNjcmlwdERlYnVnZ2VyOworLSAodm9pZClfZGV0YWNoU2NyaXB0RGVidWdnZXI7CiAK
IC0gKHZvaWQpX3JlY3Vyc2l2ZV9wYXVzZU51bGxFdmVudHNGb3JBbGxOZXRzY2FwZVBsdWdpbnM7
CiAtICh2b2lkKV9yZWN1cnNpdmVfcmVzdW1lTnVsbEV2ZW50c0ZvckFsbE5ldHNjYXBlUGx1Z2lu
czsKSW5kZXg6IFdlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tCShyZXZpc2lvbiAxNDk4NikKKysrIFdl
YlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tCSh3b3JraW5nIGNvcHkpCkBAIC03NCwyOCAr
NzQsMjggQEAKIC0gKHZvaWQpcGFyc2VkU291cmNlOihOU1N0cmluZyAqKXNvdXJjZSBmcm9tVVJM
OihOU1N0cmluZyAqKXVybCBzb3VyY2VJZDooaW50KXNpZAogewogICAgIFtbX3dlYlZpZXcgX3Nj
cmlwdERlYnVnRGVsZWdhdGVGb3J3YXJkZXJdIHdlYlZpZXc6X3dlYlZpZXcgZGlkUGFyc2VTb3Vy
Y2U6c291cmNlIGZyb21VUkw6dXJsIHNvdXJjZUlkOnNpZCBmb3JXZWJGcmFtZTpfd2ViRnJhbWVd
OwotICAgIGlmIChbV2ViVmlldyBfc2NyaXB0RGVidWdnZXJFbmFibGVkXSkKKyAgICBpZiAoW1dl
YlNjcmlwdERlYnVnU2VydmVyIGxpc3RlbmVyQ291bnRdKQogICAgICAgICBbW1dlYlNjcmlwdERl
YnVnU2VydmVyIHNoYXJlZFNjcmlwdERlYnVnU2VydmVyXSB3ZWJWaWV3Ol93ZWJWaWV3IGRpZFBh
cnNlU291cmNlOnNvdXJjZSBmcm9tVVJMOnVybCBzb3VyY2VJZDpzaWQgZm9yV2ViRnJhbWU6X3dl
YkZyYW1lXTsKIH0KIAogLSAodm9pZCllbnRlcmVkRnJhbWU6KFdlYkNvcmVTY3JpcHRDYWxsRnJh
bWUgKilmcmFtZSBzb3VyY2VJZDooaW50KXNpZCBsaW5lOihpbnQpbGluZW5vCiB7CiAgICAgW1tf
d2ViVmlldyBfc2NyaXB0RGVidWdEZWxlZ2F0ZUZvcndhcmRlcl0gd2ViVmlldzpfd2ViVmlldyBk
aWRFbnRlckNhbGxGcmFtZTpbZnJhbWUgd3JhcHBlcl0gc291cmNlSWQ6c2lkIGxpbmU6bGluZW5v
IGZvcldlYkZyYW1lOl93ZWJGcmFtZV07Ci0gICAgaWYgKFtXZWJWaWV3IF9zY3JpcHREZWJ1Z2dl
ckVuYWJsZWRdKQorICAgIGlmIChbV2ViU2NyaXB0RGVidWdTZXJ2ZXIgbGlzdGVuZXJDb3VudF0p
CiAgICAgICAgIFtbV2ViU2NyaXB0RGVidWdTZXJ2ZXIgc2hhcmVkU2NyaXB0RGVidWdTZXJ2ZXJd
IHdlYlZpZXc6X3dlYlZpZXcgZGlkRW50ZXJDYWxsRnJhbWU6W2ZyYW1lIHdyYXBwZXJdIHNvdXJj
ZUlkOnNpZCBsaW5lOmxpbmVubyBmb3JXZWJGcmFtZTpfd2ViRnJhbWVdOwogfQogCiAtICh2b2lk
KWhpdFN0YXRlbWVudDooV2ViQ29yZVNjcmlwdENhbGxGcmFtZSAqKWZyYW1lIHNvdXJjZUlkOihp
bnQpc2lkIGxpbmU6KGludClsaW5lbm8KIHsKICAgICBbW193ZWJWaWV3IF9zY3JpcHREZWJ1Z0Rl
bGVnYXRlRm9yd2FyZGVyXSB3ZWJWaWV3Ol93ZWJWaWV3IHdpbGxFeGVjdXRlU3RhdGVtZW50Oltm
cmFtZSB3cmFwcGVyXSBzb3VyY2VJZDpzaWQgbGluZTpsaW5lbm8gZm9yV2ViRnJhbWU6X3dlYkZy
YW1lXTsKLSAgICBpZiAoW1dlYlZpZXcgX3NjcmlwdERlYnVnZ2VyRW5hYmxlZF0pCisgICAgaWYg
KFtXZWJTY3JpcHREZWJ1Z1NlcnZlciBsaXN0ZW5lckNvdW50XSkKICAgICAgICAgW1tXZWJTY3Jp
cHREZWJ1Z1NlcnZlciBzaGFyZWRTY3JpcHREZWJ1Z1NlcnZlcl0gd2ViVmlldzpfd2ViVmlldyB3
aWxsRXhlY3V0ZVN0YXRlbWVudDpbZnJhbWUgd3JhcHBlcl0gc291cmNlSWQ6c2lkIGxpbmU6bGlu
ZW5vIGZvcldlYkZyYW1lOl93ZWJGcmFtZV07CiB9CiAKIC0gKHZvaWQpbGVhdmluZ0ZyYW1lOihX
ZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291cmNlSWQ6KGludClzaWQgbGluZTooaW50
KWxpbmVubwogewogICAgIFtbX3dlYlZpZXcgX3NjcmlwdERlYnVnRGVsZWdhdGVGb3J3YXJkZXJd
IHdlYlZpZXc6X3dlYlZpZXcgd2lsbExlYXZlQ2FsbEZyYW1lOltmcmFtZSB3cmFwcGVyXSBzb3Vy
Y2VJZDpzaWQgbGluZTpsaW5lbm8gZm9yV2ViRnJhbWU6X3dlYkZyYW1lXTsKLSAgICBpZiAoW1dl
YlZpZXcgX3NjcmlwdERlYnVnZ2VyRW5hYmxlZF0pCisgICAgaWYgKFtXZWJTY3JpcHREZWJ1Z1Nl
cnZlciBsaXN0ZW5lckNvdW50XSkKICAgICAgICAgW1tXZWJTY3JpcHREZWJ1Z1NlcnZlciBzaGFy
ZWRTY3JpcHREZWJ1Z1NlcnZlcl0gd2ViVmlldzpfd2ViVmlldyB3aWxsTGVhdmVDYWxsRnJhbWU6
W2ZyYW1lIHdyYXBwZXJdIHNvdXJjZUlkOnNpZCBsaW5lOmxpbmVubyBmb3JXZWJGcmFtZTpfd2Vi
RnJhbWVdOwogfQogCkluZGV4OiBXZWJWaWV3L1dlYlZpZXcubQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJW
aWV3L1dlYlZpZXcubQkocmV2aXNpb24gMTQ5ODYpCisrKyBXZWJWaWV3L1dlYlZpZXcubQkod29y
a2luZyBjb3B5KQpAQCAtMTQ2Niw2ICsxNDY2LDI0IEBAIHN0YXRpYyBib29sIGRlYnVnV2lkZ2V0
ID0gdHJ1ZTsKICAgICBbX3ByaXZhdGUtPnBsdWdpbkRhdGFiYXNlIHJlZnJlc2hdOwogfQogCist
ICh2b2lkKV9hdHRhY2hTY3JpcHREZWJ1Z2dlclRvQWxsRnJhbWVzCit7CisgICAgV2ViRnJhbWUg
KmZyYW1lID0gW3NlbGYgbWFpbkZyYW1lXTsKKyAgICBkbyB7CisgICAgICAgIFtmcmFtZSBfYXR0
YWNoU2NyaXB0RGVidWdnZXJdOworICAgICAgICBmcmFtZSA9IFtmcmFtZSBfbmV4dEZyYW1lV2l0
aFdyYXA6Tk9dOworICAgIH0gd2hpbGUgKGZyYW1lKTsKK30KKworLSAodm9pZClfZGV0YWNoU2Ny
aXB0RGVidWdnZXJGcm9tQWxsRnJhbWVzCit7CisgICAgV2ViRnJhbWUgKmZyYW1lID0gW3NlbGYg
bWFpbkZyYW1lXTsKKyAgICBkbyB7CisgICAgICAgIFtmcmFtZSBfZGV0YWNoU2NyaXB0RGVidWdn
ZXJdOworICAgICAgICBmcmFtZSA9IFtmcmFtZSBfbmV4dEZyYW1lV2l0aFdyYXA6Tk9dOworICAg
IH0gd2hpbGUgKGZyYW1lKTsKK30KKwogQGVuZAogCiAKQEAgLTI3MjQsNiArMjc0MiwxMCBAQCBz
dGF0aWMgV2ViRnJhbWUgKmluY3JlbWVudEZyYW1lKFdlYkZyYW1lCiAgICAgX3ByaXZhdGUtPnNj
cmlwdERlYnVnRGVsZWdhdGUgPSBkZWxlZ2F0ZTsKICAgICBbX3ByaXZhdGUtPnNjcmlwdERlYnVn
RGVsZWdhdGVGb3J3YXJkZXIgcmVsZWFzZV07CiAgICAgX3ByaXZhdGUtPnNjcmlwdERlYnVnRGVs
ZWdhdGVGb3J3YXJkZXIgPSBuaWw7CisgICAgaWYgKGRlbGVnYXRlKQorICAgICAgICBbc2VsZiBf
YXR0YWNoU2NyaXB0RGVidWdnZXJUb0FsbEZyYW1lc107CisgICAgZWxzZQorICAgICAgICBbc2Vs
ZiBfZGV0YWNoU2NyaXB0RGVidWdnZXJGcm9tQWxsRnJhbWVzXTsKIH0KIAogLSBzY3JpcHREZWJ1
Z0RlbGVnYXRlCkluZGV4OiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAxNDk4NikKKysrIFdlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIGVu
dW0gewogCiAtIChJQkFjdGlvbil0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZzooaWQpc2Vu
ZGVyOwogCi0tICh2b2lkKXRvZ2dsZVNtYXJ0SW5zZXJ0RGVsZXRlOihpZClzZW5kZXI7CistIChJ
QkFjdGlvbil0b2dnbGVTbWFydEluc2VydERlbGV0ZTooaWQpc2VuZGVyOwogCiAtIChCT09MKWNh
bk1ha2VUZXh0U3RhbmRhcmRTaXplOwogLSAoSUJBY3Rpb24pbWFrZVRleHRTdGFuZGFyZFNpemU6
KGlkKXNlbmRlcjsKQEAgLTEzNywxMSArMTM3LDExIEBAIHR5cGVkZWYgZW51bSB7CiAKIEBpbnRl
cmZhY2UgV2ViVmlldyAoV2ViVmlld0VkaXRpbmdQZW5kaW5nUHVibGljKQogCi0tICh2b2lkKW1v
dmVUb0JlZ2lubmluZ09mU2VudGVuY2U6KGlkKXNlbmRlcjsKLS0gKHZvaWQpbW92ZVRvQmVnaW5u
aW5nT2ZTZW50ZW5jZUFuZE1vZGlmeVNlbGVjdGlvbjooaWQpc2VuZGVyOwotLSAodm9pZCltb3Zl
VG9FbmRPZlNlbnRlbmNlOihpZClzZW5kZXI7Ci0tICh2b2lkKW1vdmVUb0VuZE9mU2VudGVuY2VB
bmRNb2RpZnlTZWxlY3Rpb246KGlkKXNlbmRlcjsKLS0gKHZvaWQpc2VsZWN0U2VudGVuY2U6KGlk
KXNlbmRlcjsKKy0gKElCQWN0aW9uKW1vdmVUb0JlZ2lubmluZ09mU2VudGVuY2U6KGlkKXNlbmRl
cjsKKy0gKElCQWN0aW9uKW1vdmVUb0JlZ2lubmluZ09mU2VudGVuY2VBbmRNb2RpZnlTZWxlY3Rp
b246KGlkKXNlbmRlcjsKKy0gKElCQWN0aW9uKW1vdmVUb0VuZE9mU2VudGVuY2U6KGlkKXNlbmRl
cjsKKy0gKElCQWN0aW9uKW1vdmVUb0VuZE9mU2VudGVuY2VBbmRNb2RpZnlTZWxlY3Rpb246KGlk
KXNlbmRlcjsKKy0gKElCQWN0aW9uKXNlbGVjdFNlbnRlbmNlOihpZClzZW5kZXI7CiAKIEBlbmQK
IApAQCAtMjU4LDYgKzI1OCwxOCBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4K
ICAqLwogLSAodm9pZClfc2V0QWRkaXRpb25hbFdlYlBsdWdJblBhdGhzOihOU0FycmF5ICopbmV3
UGF0aHM7CiAKKy8qIQorICAgIEBtZXRob2QgX2F0dGFjaFNjcmlwdERlYnVnZ2VyVG9BbGxGcmFt
ZXMKKyAgICBAYWJzdHJhY3QgQXR0YWNoZXMgYSBzY3JpcHQgZGVidWdnZXIgdG8gYWxsIGZyYW1l
cyBmb3IgdGhlIHJlY2VpdmVyLgorICovCistICh2b2lkKV9hdHRhY2hTY3JpcHREZWJ1Z2dlclRv
QWxsRnJhbWVzOworCisvKiEKKyAgICBAbWV0aG9kIF9kZXRhY2hTY3JpcHREZWJ1Z2dlckZyb21B
bGxGcmFtZXMKKyAgICBAYWJzdHJhY3QgRGV0YWNoZXMgYW55IHNjcmlwdCBkZWJ1Z2dlcnMgZnJv
bSBhbGwgZnJhbWVzIGZvciB0aGUgcmVjZWl2ZXIuCisgKi8KKy0gKHZvaWQpX2RldGFjaFNjcmlw
dERlYnVnZ2VyRnJvbUFsbEZyYW1lczsKKwogQGVuZAogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdl
YlZpZXdQcmludGluZ1ByaXZhdGUpCg==
</data>
<flag name="review"
          id="2645"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>