<?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>21855</bug_id>
          
          <creation_ts>2008-10-24 09:46:13 -0700</creation_ts>
          <short_desc>REGRESSION (r37323): Gmail complains about popup blocking when opening a link</short_desc>
          <delta_ts>2008-12-18 10:19:33 -0800</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>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug, InRadar, NeedsReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          <cc>alexlmuller</cc>
    
    <cc>feng</cc>
    
    <cc>mjs</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96514</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-24 09:46:13 -0700</bug_when>
    <thetext>When clicking on a link in an e-mail, Gmail displays a pop-up saying &quot;Grrr! A popup blocker may be preventing Gmail from opening the page.&lt;...&gt;&quot; However, the popup opens successfully after that.

The message also appears when clicking on web clip links.

This is a regression from Safari 3.1.2.

&lt;rdar://problem/6278244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97142</commentid>
    <comment_count>1</comment_count>
    <who name="Feng Qian">feng</who>
    <bug_when>2008-10-30 11:37:22 -0700</bug_when>
    <thetext>I cannot reproduce the first issue described in webkit nightly build 37990 on both Mac and Windows.  </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97233</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-31 03:33:11 -0700</bug_when>
    <thetext>That&apos;s strange, I can reproduce the problem with r37990 nightly on a clean Mac OS X 10.5.5 system when clicking on a bugzilla link in a WebKit commit e-mail. Using &quot;newer version&quot; Gmail with English (US) localization.

Probably a stupid question, but do you have popup blocker enabled? Also, you are saying that you could not reproduce the first issue - what about the second one (web clip)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97459</commentid>
    <comment_count>3</comment_count>
    <who name="Feng Qian">feng</who>
    <bug_when>2008-11-03 08:44:02 -0800</bug_when>
    <thetext>Sorry for the confusion, I didn&apos;t enable pop-up blocker.

Yes, I can reproduce it on Mac with latest build, but I have no clue what&apos;s happening yet.

(In reply to comment #2)
&gt; That&apos;s strange, I can reproduce the problem with r37990 nightly on a clean Mac
&gt; OS X 10.5.5 system when clicking on a bugzilla link in a WebKit commit e-mail.
&gt; Using &quot;newer version&quot; Gmail with English (US) localization.
&gt; 
&gt; Probably a stupid question, but do you have popup blocker enabled? Also, you
&gt; are saying that you could not reproduce the first issue - what about the second
&gt; one (web clip)?
&gt; 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102756</commentid>
    <comment_count>4</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-17 00:08:24 -0800</bug_when>
    <thetext>This regressed in r37323:

http://trac.webkit.org/changeset/37323</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102757</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-17 01:12:10 -0800</bug_when>
    <thetext>The problem is that JSAbstractEventListener::handleEvent() never sets the dynamicGlobalObject of the JSGlobalData before entering script execution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102760</commentid>
    <comment_count>6</comment_count>
      <attachid>26089</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-17 02:11:41 -0800</bug_when>
    <thetext>Created attachment 26089
Patch in progress

This patch fixes the bug. It passes all tests, but I need to make a new test for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102762</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-12-17 02:54:12 -0800</bug_when>
    <thetext>Is the same fix necessary wherever WebCore uses JSC::call()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102763</commentid>
    <comment_count>8</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-17 03:33:24 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Is the same fix necessary wherever WebCore uses JSC::call()?

It is necessary whenever the function called may have originated with a different global object and the goal is to execute it within the context of the current global object. I imagine that is most cases where WebCore uses JSC::call(). Since so few things depend on the dynamic global object at the moment, it might be hard to find other real-world cases where there is incorrect behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102828</commentid>
    <comment_count>9</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-17 15:50:35 -0800</bug_when>
    <thetext>Geoff pointed out to me that this shouldn&apos;t be special cased for event handlers, since they can fire synchronously from JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102870</commentid>
    <comment_count>10</comment_count>
      <attachid>26118</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-18 00:31:28 -0800</bug_when>
    <thetext>Created attachment 26118
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102900</commentid>
    <comment_count>11</comment_count>
      <attachid>26118</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-12-18 09:44:05 -0800</bug_when>
    <thetext>Comment on attachment 26118
Proposed patch

&gt; +        function test()
&gt; +        {
&gt; +            if (window.layoutTestController) {
&gt; +                eventSender.mouseMoveTo(2, 2);
&gt; +                eventSender.scheduleAsynchronousClick();
&gt; +                // eventSender.mouseDown();
&gt; +                // eventSender.mouseUp();
&gt; +            }
&gt; +        }

Please remove the commented-out code.

For future reference, eventSender has a &quot;leapForward&quot; method that allows you to pretend that time has passed between events. I&apos;m not sure if that would have been useful to you here or not.

Another way to answer Alexey&apos;s question: We don&apos;t know of any cases other than event handling where the dynamic global object should be something other than the lexical global object. But maybe there are some.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102906</commentid>
    <comment_count>12</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-18 10:15:15 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 26118 [review])
&gt; &gt; +        function test()
&gt; &gt; +        {
&gt; &gt; +            if (window.layoutTestController) {
&gt; &gt; +                eventSender.mouseMoveTo(2, 2);
&gt; &gt; +                eventSender.scheduleAsynchronousClick();
&gt; &gt; +                // eventSender.mouseDown();
&gt; &gt; +                // eventSender.mouseUp();
&gt; &gt; +            }
&gt; &gt; +        }
&gt; 
&gt; Please remove the commented-out code.

Oops. My bad. I will fix that.

&gt; For future reference, eventSender has a &quot;leapForward&quot; method that allows you to
&gt; pretend that time has passed between events. I&apos;m not sure if that would have
&gt; been useful to you here or not.

It doesn&apos;t help in my case (I tried), because all of the events between the mouseDown and mouseUp get queued and delivered at once upon the mouseUp. However, there is still the JS on the C stack that triggered the mouseUp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102907</commentid>
    <comment_count>13</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-18 10:19:33 -0800</bug_when>
    <thetext>Fixed in r39377.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26089</attachid>
            <date>2008-12-17 02:11:41 -0800</date>
            <delta_ts>2008-12-18 00:31:28 -0800</delta_ts>
            <desc>Patch in progress</desc>
            <filename>popup.diff</filename>
            <type>text/plain</type>
            <size>841</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmlu
ZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAkocmV2aXNpb24gMzkzNTQpCisrKyBiaW5kaW5n
cy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw5IEBA
CiAKICAgICAgICAgRXZlbnQqIHNhdmVkRXZlbnQgPSBnbG9iYWxPYmplY3QtPmN1cnJlbnRFdmVu
dCgpOwogICAgICAgICBnbG9iYWxPYmplY3QtPnNldEN1cnJlbnRFdmVudChldmVudCk7CisgICAg
ICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgp
OworICAgICAgICBKU0dsb2JhbE9iamVjdCogc2F2ZWREeW5hbWljR2xvYmFsT2JqZWN0ID0gZ2xv
YmFsRGF0YS0+ZHluYW1pY0dsb2JhbE9iamVjdDsKKyAgICAgICAgZ2xvYmFsRGF0YS0+ZHluYW1p
Y0dsb2JhbE9iamVjdCA9IGdsb2JhbE9iamVjdDsKIAogICAgICAgICBKU1ZhbHVlKiByZXR2YWw7
CiAgICAgICAgIGlmIChoYW5kbGVFdmVudEZ1bmN0aW9uKSB7CkBAIC0xMTAsNiArMTEzLDcgQEAK
ICAgICAgICAgfQogICAgICAgICBnbG9iYWxPYmplY3QtPnN0b3BUaW1lb3V0Q2hlY2soKTsKIAor
ICAgICAgICBnbG9iYWxEYXRhLT5keW5hbWljR2xvYmFsT2JqZWN0ID0gc2F2ZWREeW5hbWljR2xv
YmFsT2JqZWN0OwogICAgICAgICBnbG9iYWxPYmplY3QtPnNldEN1cnJlbnRFdmVudChzYXZlZEV2
ZW50KTsKIAogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26118</attachid>
            <date>2008-12-18 00:31:28 -0800</date>
            <delta_ts>2008-12-18 09:44:05 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>popup.diff</filename>
            <type>text/plain</type>
            <size>14844</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM5MzcxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMTItMTggIENhbWVyb24g
WndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMTg1NTogUkVHUkVTU0lPTiAocjM3MzIzKTogR21h
aWwgY29tcGxhaW5zIGFib3V0IHBvcHVwIGJsb2NraW5nIHdoZW4gb3BlbmluZyBhIGxpbmsKKyAg
ICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg1NT4KKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzgyNDQ+CisKKyAgICAgICAgTW92ZSBEeW5hbWljR2xv
YmFsT2JqZWN0U2NvcGUgdG8gSlNHbG9iYWxPYmplY3QuaCBzbyB0aGF0IGl0IGNhbiBiZSB1c2Vk
CisgICAgICAgIGZyb20gV2ViQ29yZS4KKworICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChK
U0M6OkR5bmFtaWNHbG9iYWxPYmplY3RTY29wZTo6RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKToK
KyAgICAgICAgKEpTQzo6RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlOjp+RHluYW1pY0dsb2JhbE9i
amVjdFNjb3BlKToKKwogMjAwOC0xMi0xNyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3Vn
aEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ2FtZXJvbiBad2FyaWNoLgpJbmRl
eDogSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24g
MzkzNzApCisrKyBKYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg2NCwyNSArODY0LDYgQEAgTkVWRVJfSU5MSU5FIEhhbmRsZXJJbmZv
KiBJbnRlcnByZXRlcjo6dAogICAgIHJldHVybiBoYW5kbGVyOwogfQogCi1jbGFzcyBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGUgOiBOb25jb3B5YWJsZSB7Ci1wdWJsaWM6Ci0gICAgRHluYW1pY0ds
b2JhbE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCogZHlu
YW1pY0dsb2JhbE9iamVjdCkgCi0gICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0U2xvdChj
YWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQotICAgICAgICAsIG1f
c2F2ZWREeW5hbWljR2xvYmFsT2JqZWN0KG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QpCi0gICAg
ewotICAgICAgICBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90ID0gZHluYW1pY0dsb2JhbE9iamVj
dDsKLSAgICB9Ci0KLSAgICB+RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKCkKLSAgICB7Ci0gICAg
ICAgIG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QgPSBtX3NhdmVkRHluYW1pY0dsb2JhbE9iamVj
dDsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgSlNHbG9iYWxPYmplY3QqJiBtX2R5bmFtaWNHbG9i
YWxPYmplY3RTbG90OwotICAgIEpTR2xvYmFsT2JqZWN0KiBtX3NhdmVkRHluYW1pY0dsb2JhbE9i
amVjdDsKLX07Ci0KIEpTVmFsdWUqIEludGVycHJldGVyOjpleGVjdXRlKFByb2dyYW1Ob2RlKiBw
cm9ncmFtTm9kZSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNo
YWluLCBKU09iamVjdCogdGhpc09iaiwgSlNWYWx1ZSoqIGV4Y2VwdGlvbikKIHsKICAgICBBU1NF
UlQoIXNjb3BlQ2hhaW4tPmdsb2JhbERhdGEtPmV4Y2VwdGlvbik7CkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCShyZXZpc2lvbiAzOTM3MCkKKysrIEphdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzU1LDcg
KzM1NSwyNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQVNTRVJUKGdsb2JhbERhdGEoKS5k
eW5hbWljR2xvYmFsT2JqZWN0KTsKICAgICAgICAgcmV0dXJuIGdsb2JhbERhdGEoKS5keW5hbWlj
R2xvYmFsT2JqZWN0OwogICAgIH0KLSAgICAKKworICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmpl
Y3RTY29wZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIER5bmFtaWNHbG9i
YWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFt
aWNHbG9iYWxPYmplY3QpIAorICAgICAgICAgICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90
KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxPYmplY3QpCisgICAgICAgICAg
ICAsIG1fc2F2ZWREeW5hbWljR2xvYmFsT2JqZWN0KG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3Qp
CisgICAgICAgIHsKKyAgICAgICAgICAgIG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QgPSBkeW5h
bWljR2xvYmFsT2JqZWN0OworICAgICAgICB9CisKKyAgICAgICAgfkR5bmFtaWNHbG9iYWxPYmpl
Y3RTY29wZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fZHluYW1pY0dsb2JhbE9iamVjdFNs
b3QgPSBtX3NhdmVkRHluYW1pY0dsb2JhbE9iamVjdDsKKyAgICAgICAgfQorCisgICAgcHJpdmF0
ZToKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqJiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90Owor
ICAgICAgICBKU0dsb2JhbE9iamVjdCogbV9zYXZlZER5bmFtaWNHbG9iYWxPYmplY3Q7CisgICAg
fTsKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBKU0dsb2JhbE9iamVjdF9oCklu
ZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMzkzNzEpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI1IEBACisyMDA4LTEyLTE4ICBDYW1lcm9uIFp3YXJpY2ggIDx6d2FyaWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBC
dWcgMjE4NTU6IFJFR1JFU1NJT04gKHIzNzMyMyk6IEdtYWlsIGNvbXBsYWlucyBhYm91dCBwb3B1
cCBibG9ja2luZyB3aGVuIG9wZW5pbmcgYSBsaW5rCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTU+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82
Mjc4MjQ0PgorCisgICAgICAgIElmIEphdmFTY3JpcHQgaXMgbm90IGN1cnJlbnRseSBleGVjdXRp
bmcsIHRoZSBoYW5kbGVFdmVudCBtZW1iZXIgZnVuY3Rpb24KKyAgICAgICAgb2YgSlNBYnN0cmFj
dEV2ZW50TGlzdGVuZXIgc2hvdWxkIHNldCB0aGUgZHluYW1pYyBnbG9iYWwgb2JqZWN0IHRvIHRo
ZQorICAgICAgICBnbG9iYWwgb2JqZWN0IG9mIHRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBldmVu
dCBvY2N1cnJlZC4KKyAgICAgICAgCisgICAgICAgIElmIHRoaXMgaXMgbm90IHNldCwgdGhlbiBK
YXZhU2NyaXB0Q29yZSB3aWxsIHNpbXBseSB0YWtlIHRoZSBnbG9iYWwgb2JqZWN0CisgICAgICAg
IG9mIHRoZSBjb250ZXh0IHdoZXJlIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHdhcyBjcmVh
dGVkLCB3aGljaCBtYXkgYmUKKyAgICAgICAgYSBkaWZmZXJlbnQgZnJhbWUuIFRoaXMgd2lsbCBj
YXVzZSB0aGUgcG9wdXAgYmxvY2tlciB0byBpbmNvcnJlY3RseSBibG9jaworICAgICAgICB3aW5k
b3dzIG9wZW5lZCBmcm9tIG9uY2xpY2sgZXZlbnRzIGluc2lkZSBvZiBhbiBpZnJhbWUgd2hvc2Ug
aGFuZGxlciB3YXMKKyAgICAgICAgY3JlYXRlZCBpbiB0aGUgb3V0ZXIgZnJhbWUsIGFzIGl0IHdp
bGwgY2hlY2sgdGhlIG91dGVyIGZyYW1lIGFuZCBzZWUgdGhhdAorICAgICAgICBpdCBpcyBub3Qg
cHJvY2Vzc2luZyBhbnkgZXZlbnRzLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudExp
c3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQWJzdHJhY3RFdmVudExpc3RlbmVyOjpo
YW5kbGVFdmVudCk6CisKIDIwMDgtMTItMTcgIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMu
emltbWVybWFubkB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CShyZXZpc2lvbiAzOTM3MCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsMTIgQEAgdm9pZCBKU0Fic3RyYWN0RXZl
bnRMaXN0ZW5lcjo6aGFuZGxlRXZlbgogICAgICAgICBFdmVudCogc2F2ZWRFdmVudCA9IGdsb2Jh
bE9iamVjdC0+Y3VycmVudEV2ZW50KCk7CiAgICAgICAgIGdsb2JhbE9iamVjdC0+c2V0Q3VycmVu
dEV2ZW50KGV2ZW50KTsKIAorICAgICAgICAvLyBJZiB0aGlzIGV2ZW50IGhhbmRsZXIgaXMgdGhl
IGZpcnN0IEphdmFTY3JpcHQgdG8gZXhlY3V0ZSwgdGhlbiB0aGUKKyAgICAgICAgLy8gZHluYW1p
YyBnbG9iYWwgb2JqZWN0IHNob3VsZCBiZSBzZXQgdG8gdGhlIGdsb2JhbCBvYmplY3Qgb2YgdGhl
CisgICAgICAgIC8vIHdpbmRvdyBpbiB3aGljaCB0aGUgZXZlbnQgb2NjdXJyZWQuCisgICAgICAg
IEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpOwor
ICAgICAgICBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgZ2xvYmFsT2JqZWN0U2NvcGUoZXhlYywg
Z2xvYmFsRGF0YS0+ZHluYW1pY0dsb2JhbE9iamVjdCA/IGdsb2JhbERhdGEtPmR5bmFtaWNHbG9i
YWxPYmplY3QgOiBnbG9iYWxPYmplY3QpOworCiAgICAgICAgIEpTVmFsdWUqIHJldHZhbDsKICAg
ICAgICAgaWYgKGhhbmRsZUV2ZW50RnVuY3Rpb24pIHsKICAgICAgICAgICAgIGdsb2JhbE9iamVj
dC0+c3RhcnRUaW1lb3V0Q2hlY2soKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM5MzcxKQorKysgV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDgt
MTItMTggIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgYnVnIDIx
ODU1OiBSRUdSRVNTSU9OIChyMzczMjMpOiBHbWFpbCBjb21wbGFpbnMgYWJvdXQgcG9wdXAgYmxv
Y2tpbmcgd2hlbiBvcGVuaW5nIGEgbGluaworICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxODU1PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjI3ODI0
ND4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2NoZWR1bGluZyBhc3luY2hyb25vdXMgY2xp
Y2tzIHRvIER1bXBSZW5kZXJUcmVlLCBidXQKKyAgICAgICAgb25seSBvbiB0aGUgTWFjLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbToKKyAg
ICAgICAgKCtbRXZlbnRTZW5kaW5nQ29udHJvbGxlciBpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2Vi
U2NyaXB0Ol0pOiBFeHBvc2UKKyAgICAgICAgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljayB0byBK
YXZhU2NyaXB0LgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIHNjaGVkdWxlQXN5
bmNocm9ub3VzQ2xpY2tdKTogQWRkLgorCiAyMDA4LTEyLTE1ICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICAqIFNjcmlwdHMvbWFrZS1qcy10ZXN0LXdyYXBwZXJzOiBB
ZGRlZCBhbm90aGVyIGV4Y2VwdGlvbiB0byBhdm9pZCBvdmVyd3JpdGluZwpJbmRleDogV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5oCShyZXZpc2lvbiAzOTM3MCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDgg
QEAKICsgKHZvaWQpcmVwbGF5U2F2ZWRFdmVudHM7CiArICh2b2lkKWNsZWFyU2F2ZWRFdmVudHM7
CiAKKy0gKHZvaWQpc2NoZWR1bGVBc3luY2hyb25vdXNDbGljazsKKwogLSAodm9pZCllbmFibGVE
T01VSUV2ZW50TG9nZ2luZzooV2ViU2NyaXB0T2JqZWN0ICopbm9kZTsKIAogLSAodm9pZCloYW5k
bGVFdmVudDooRE9NRXZlbnQgKilldmVudDsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCShyZXZpc2lv
biAzOTM3MCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNiArMTIxLDcgQEAgQk9PTCByZXBs
YXlpbmdTYXZlZEV2ZW50czsKICAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb3VzZURv
d246KQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb3VzZVVwOikKICAg
ICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY29udGV4dENsaWNrKQorICAgICAg
ICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNr
KQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb3VzZU1vdmVUb1g6WTop
CiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGxlYXBGb3J3YXJkOikKICAg
ICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3Ioa2V5RG93bjp3aXRoTW9kaWZpZXJz
OikKQEAgLTQwMyw2ICs0MDQsMTIgQEAgc3RhdGljIE5TRXZlbnRUeXBlIGV2ZW50VHlwZUZvck1v
dXNlQnV0dAogICAgICAgICBbc3ViVmlldyBtZW51Rm9yRXZlbnQ6ZXZlbnRdOwogfQogCistICh2
b2lkKXNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2sKK3sKKyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0
b3I6QHNlbGVjdG9yKG1vdXNlRG93bjopIHdpdGhPYmplY3Q6bmlsIGFmdGVyRGVsYXk6MF07Cisg
ICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3Rvcihtb3VzZVVwOikgd2l0aE9iamVjdDpu
aWwgYWZ0ZXJEZWxheTowXTsKK30KKwogKyAodm9pZClzYXZlRXZlbnQ6KE5TSW52b2NhdGlvbiAq
KWV2ZW50CiB7CiAgICAgaWYgKCFzYXZlZE1vdXNlRXZlbnRzKQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MzkzNzEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMSBAQAorMjAwOC0xMi0xOCAgQ2FtZXJvbiBad2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRl
c3RzIGZvciBidWcgMjE4NTU6IFJFR1JFU1NJT04gKHIzNzMyMyk6IEdtYWlsIGNvbXBsYWlucyBh
Ym91dCBwb3B1cCBibG9ja2luZyB3aGVuIG9wZW5pbmcgYSBsaW5rCisgICAgICAgIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTU+CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82Mjc4MjQ0PgorCisgICAgICAgIFNpbmNlIER1bXBSZW5kZXJUcmVlIHN1cHBvcnQg
d2FzIGFkZGVkIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlc2UgdGVzdHMsCisgICAgICAgIHRoZXkg
YXJlIHNraXBwZWQgb24gbm9uLU1hYyBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BvcHVwLWJsb2NraW5nLWNs
aWNrLWluLWlmcmFtZS1vdGhlckZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMDgtMTItMTcgIE5pa29sYXMgWmltbWVybWFubiAg
PG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wb3B1
cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wb3B1cC1i
bG9ja2luZy1jbGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEyIEBACisKK1RoaXMgdGVzdHMgdGhhdCBwb3B1cCBibG9ja2luZyBkb2VzIG5vdCBzdXBy
ZXNzIHdpbmRvd3Mgb3BlbmVkIGluIGFuIGlmcmFtZSBpZiB0aGUgZXZlbnQgaGFuZGxlciBpcyBh
IGZ1bmN0aW9uIGZyb20gYW4gZW5jbG9zaW5nIGZyYW1lLgorCitUbyBydW4gbWFudWFsbHkgY2xp
Y2sgdGhlIGxpbmsgaW4gdGhlIGlmcmFtZSBhYm92ZSB3aXRoIHBvcHVwIGJsb2NraW5nIGVuYWJs
ZWQuCisKK1dpbmRvdyB3YXMgb3BlbmVkISBUZXN0IHN1Y2NlZWRlZCEKKworCistLS0tLS0tLQor
RnJhbWU6ICdvdGhlckZyYW1lJworLS0tLS0tLS0KK0NsaWNrIHRoaXMgdGV4dCB0byBvcGVuIGEg
d2luZG93LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xp
Y2staW4taWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
cG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgpCisg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNsb3NlV2luZG93KHdpbmRvd1Rv
Q2xvc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIHdpbmRvd1RvQ2xvc2UuY2xvc2UoKTsKKyAg
ICAgICAgICAgIHNldFRpbWVvdXQoZG9uZUhhbmRsZXIsIDEpOworCisgICAgICAgICAgICBmdW5j
dGlvbiBkb25lSGFuZGxlcigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCF3
aW5kb3dUb0Nsb3NlLmNsb3NlZCkKKyAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChkb25l
SGFuZGxlciwgMSk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBo
YW5kbGVDbGljayhldmVudCkgeworICAgICAgICAgICAgdmFyIG5ld1dpbmRvdyA9IHdpbmRvdy5v
cGVuKCdyZXNvdXJjZXMvd2luZG93LW9wZW5lZC5odG1sJywgJ2JhZE5hbWUnLCAnd2lkdGg9MTAw
LCBoZWlnaHQ9MTAwJyk7CisgICAgICAgICAgICBpZiAobmV3V2luZG93KSB7CisgICAgICAgICAg
ICAgICAgbG9nKCJXaW5kb3cgd2FzIG9wZW5lZCEgVGVzdCBzdWNjZWVkZWQhIik7CisgICAgICAg
ICAgICAgICAgY2xvc2VXaW5kb3cobmV3V2luZG93KTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7CisgICAgICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMiwgMik7CisgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIuc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOworICAgICAgICAgICAgICAgIC8vIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICAgICAgICAgIC8vIGV2ZW50U2VuZGVyLm1vdXNl
VXAoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGxvZyht
c2cpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncmVzJyk7CisgICAgICAgICAgICByZXMuaW5uZXJIVE1MID0gcmVzLmlubmVySFRNTCAr
IG1zZyArICI8YnI+IjsKKyAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHkgc3R5bGU9ImJvcmRlcjogMDsgbWFyZ2luOiAwIiBvbmxvYWQ9InRlc3QoKSI+
CisgICAgICAgIDxpZnJhbWUgc3R5bGU9ImJvcmRlcjogMDsgbWFyZ2luOiAwIiBzcmM9InJlc291
cmNlcy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtb3RoZXJGcmFtZS5odG1sIiBpZD0i
b3RoZXJGcmFtZSI+PC9pZnJhbWU+CisKKyAgICAgICAgPHA+VGhpcyB0ZXN0cyB0aGF0IHBvcHVw
IGJsb2NraW5nIGRvZXMgbm90IHN1cHJlc3Mgd2luZG93cyBvcGVuZWQgaW4gYW4gaWZyYW1lIGlm
IHRoZSBldmVudCBoYW5kbGVyIGlzIGEgZnVuY3Rpb24gZnJvbSBhbiBlbmNsb3NpbmcgZnJhbWUu
PC9wPgorICAgICAgICA8cD5UbyBydW4gbWFudWFsbHkgY2xpY2sgdGhlIGxpbmsgaW4gdGhlIGlm
cmFtZSBhYm92ZSB3aXRoIHBvcHVwIGJsb2NraW5nIGVuYWJsZWQuPC9wPgorICAgICAgICA8ZGl2
IGlkPSJyZXMiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtb3Ro
ZXJGcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291
cmNlcy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtb3RoZXJGcmFtZS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BvcHVwLWJsb2Nr
aW5nLWNsaWNrLWluLWlmcmFtZS1vdGhlckZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTQgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICBm
dW5jdGlvbiBwcmVwYXJlRXZlbnRIYW5kbGVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFy
IHNwYW5Ub0NsaWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsaWNrYWJsZScpOworICAg
ICAgICAgICAgc3BhblRvQ2xpY2sub25jbGljayA9IHBhcmVudC5oYW5kbGVDbGljazsKKyAgICAg
ICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9ImJv
cmRlcjogMDsgbWFyZ2luOiAwIiBvbmxvYWQ9InByZXBhcmVFdmVudEhhbmRsZXIoKSI+CisgICAg
ICAgIDxzcGFuIGlkPSJjbGlja2FibGUiPkNsaWNrIHRoaXMgdGV4dCB0byBvcGVuIGEgd2luZG93
LjwvYT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAkocmV2aXNpb24gMzkzNzApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMjEzMSw2ICsyMTMxLDkgQEAgdHJhbnNpdGlvbnMKIHRyYXZlcnNh
bAogd2ViYXJjaGl2ZQogCisjIE5lZWRzIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2sgbWV0aG9k
IGZvciBFdmVudFNlbmRlcgorZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZy
YW1lLmh0bWwKKwogIyBUZXN0cyBpbiBwbHVnaW5zLyBkaXJlY3RvcnkKICMgVGVzdHMgdGhhdCBu
ZWVkIE9iakMgcGx1Z2luCiBwbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24tdGVzdC5odG1sCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHJldmlzaW9uIDM5MzcwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDcgQEAgZWRpdGlu
Zy9zZWxlY3Rpb24vNTEwOTgxNy5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEuaHRt
bAogZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2Nh
cmV0LWFuZC1mb2N1cy1yaW5nLmh0bWwKK2Zhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNr
LWluLWlmcmFtZS5odG1sCiAKICMgLS0tLS0tLS0gY3Jhc2hlcwogZmFzdC9ldmVudHMvb2JqYy1r
ZXlib2FyZC1ldmVudC1jcmVhdGlvbi5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAkocmV2aXNpb24gMzkzNzApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMzU5LDYgKzM1OSw5IEBAIGVkaXRpbmcvZXhlY0NvbW1hbmQvZW5h
YmxpbmctYW5kLXNlbGVjdGkKICMgTmVlZHMgY3VzdG9tIHBvbGljeSBkZWxlZ2F0ZSBlbmhhbmNl
bWVudCBpbiBEUlQKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LWdvYmFjay1yZXBvc3QtcG9s
aWN5Lmh0bWwKIAorIyBOZWVkcyBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrIG1ldGhvZCBmb3Ig
RXZlbnRTZW5kZXIKK2Zhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5o
dG1sCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IEFsbCBvZiBhYm92ZSBtYXkgYmUgcmVsYXRlZCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
</data>
<flag name="review"
          id="12323"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>