<?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>36610</bug_id>
          
          <creation_ts>2010-03-25 10:13:53 -0700</creation_ts>
          <short_desc>[Web Inspector] Allow running tests with enabled developer extras and closed Web Inspector</short_desc>
          <delta_ts>2010-03-25 13:21:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>204116</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-03-25 10:13:53 -0700</bug_when>
    <thetext>All current inspector layout tests have Web Inspector opened before the test page starts loading. Also &quot;developer extras&quot; feature state is tightly coupled with Web Inspector window state and it&apos;s impossible to have InspectorController enabled but Web Inspector closed. However, there is number of cases where inspector behavior depends on whether Web Inspector is open after the inspected page has done something or it is already open by the time the page starts to load. Would be nice to have tests where developer exrtas are on but Web Inspector could be open by the test when it&apos;s appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204135</commentid>
    <comment_count>1</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-03-25 10:43:04 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; All current inspector layout tests have Web Inspector opened before the test
&gt; page starts loading. Also &quot;developer extras&quot; feature state is tightly coupled
&gt; with Web Inspector window state and it&apos;s impossible to have InspectorController
&gt; enabled but Web Inspector closed. However, there is number of cases where
&gt; inspector behavior depends on whether Web Inspector is open after the inspected
&gt; page has done something or it is already open by the time the page starts to
&gt; load. Would be nice to have tests where developer exrtas are on but Web
&gt; Inspector could be open by the test when it&apos;s appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204146</commentid>
    <comment_count>2</comment_count>
      <attachid>51660</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-03-25 11:06:46 -0700</bug_when>
    <thetext>Created attachment 51660
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204151</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-25 11:12:56 -0700</bug_when>
    <thetext>Attachment 51660 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/1367002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204157</commentid>
    <comment_count>4</comment_count>
      <attachid>51660</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-25 11:17:51 -0700</bug_when>
    <thetext>Comment on attachment 51660
patch

&gt; -    g_object_set(webSettings, &quot;enable-developer-extras&quot;, TRUE, NULL);

There is a tear down for other functions even though there is a reset before the subsequent test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204190</commentid>
    <comment_count>5</comment_count>
      <attachid>51670</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-03-25 12:27:25 -0700</bug_when>
    <thetext>Created attachment 51670
patch

Fixed Qt build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204200</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-03-25 13:21:27 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/LayoutTestController.h
	M	WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
	M	WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
	M	WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
	M	WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
	M	WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
	M	WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
	M	WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
	M	WebKitTools/DumpRenderTree/win/DumpRenderTree.cpp
	M	WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp
Committed r56566</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51660</attachid>
            <date>2010-03-25 11:06:46 -0700</date>
            <delta_ts>2010-03-25 12:27:25 -0700</delta_ts>
            <desc>patch</desc>
            <filename>inspector-enabled.patch</filename>
            <type>text/plain</type>
            <size>16256</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NjVjYWY0Li5hZWMyMmMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTAtMDMt
MjUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcnVubmluZyB0ZXN0cyB3
aXRoIGVuYWJsZWQgZGV2ZWxvcGVyIGV4dHJhcyBhbmQgY2xvc2VkIFdlYiBJbnNwZWN0b3IuIFRl
c3RzIHRoYXQgaGF2ZSBpbnNwZWN0b3ItZW5hYmxlZC8gaW4gdGhlaXIgcGF0aC91cmwgd2lsbCBo
YXZlIGRldmVsb3BlciBleHRyYXMgZW5hYmxlZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY2MTAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyk6
CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAg
ICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0
Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRKYXZh
U2NyaXB0UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xv
c2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJU
cmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFz
KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpvcGVuKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChzaG91bGRFbmFi
bGVEZXZlbG9wZXJFeHRyYXMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorCiAyMDEwLTAzLTI1ICBE
aWVnbyBHb256YWxleiAgPGRpZWdvLmdvbnphbGV6QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA3MmUxMGQyLi5mMWQ4YmFh
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmgKQEAgLTIzMSw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0dlb2xvY2F0aW9u
UGVybWlzc2lvblNldCgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW9sb2NhdGlvblBlcm1pc3Npb25T
ZXQ7IH0KICAgICBib29sIGdlb2xvY2F0aW9uUGVybWlzc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1f
Z2VvbG9jYXRpb25QZXJtaXNzaW9uOyB9CiAKKyAgICB2b2lkIHNldERldmVsb3BlckV4dHJhc0Vu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7CiAgICAgdm9pZCBjbG9z
ZVdlYkluc3BlY3RvcigpOwogICAgIHZvaWQgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBS
ZW5kZXJUcmVlLmNwcAppbmRleCA5ZjcxMzg3Li40MTBjZWUwIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTExNyw2ICsxMTcs
MTEgQEAgc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRo
T3JVUkwpCiAgICAgcmV0dXJuIHN0cnN0cihwYXRoT3JVUkwsICJpbnNwZWN0b3IvIik7CiB9CiAK
K3N0YXRpYyBib29sIHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhjb25zdCBjaGFyKiBwYXRo
T3JVUkwpCit7CisgICAgcmV0dXJuIHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJMKSB8
fCBzdHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9yLWVuYWJsZWQvIik7Cit9CisKIHZvaWQgZHVt
cEZyYW1lU2Nyb2xsUG9zaXRpb24oV2ViS2l0V2ViRnJhbWUqIGZyYW1lKQogewogCkBAIC00Nzks
OCArNDg0LDExIEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9y
VVJMKQogICAgIGlmIChzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMocGF0aE9yVVJMLmNfc3Ry
KCkpKQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRDYWxs
YmFja3ModHJ1ZSk7CiAKLSAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JVUkwu
Y19zdHIoKSkpCi0gICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rv
cigpOworICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3Ry
KCkpKSB7CisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9y
VVJMLmNfc3RyKCkpKQorICAgICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2Vi
SW5zcGVjdG9yKCk7CisgICAgfQogCiAgICAgV29ya1F1ZXVlOjpzaGFyZWQoKS0+Y2xlYXIoKTsK
ICAgICBXb3JrUXVldWU6OnNoYXJlZCgpLT5zZXRGcm96ZW4oZmFsc2UpOwpAQCAtNTEzLDcgKzUy
MSw4IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9yVVJMKQog
CiAgICAgZ3RrX21haW4oKTsKIAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhP
clVSTC5jX3N0cigpKSkKKyAgICAvLyBJZiBkZXZlbG9wZXIgZXh0cmFzIGVuYWJsZWQgV2ViIElu
c3BlY3RvciBtYXkgaGF2ZSBiZWVuIG9wZW4gYnkgdGhlIHRlc3QuCisgICAgaWYgKHNob3VsZEVu
YWJsZURldmVsb3BlckV4dHJhcyhwYXRoT3JVUkwuY19zdHIoKSkpCiAgICAgICAgIGdMYXlvdXRU
ZXN0Q29udHJvbGxlci0+Y2xvc2VXZWJJbnNwZWN0b3IoKTsKIAogICAgIC8vIEFsc28gY2hlY2sg
aWYgd2Ugc3RpbGwgaGF2ZSBvcGVuZWQgd2ViVmlld3MgYW5kIGZyZWUgdGhlbS4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0
ay5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xs
ZXJHdGsuY3BwCmluZGV4IDRhYTVhNTMuLmRkOGZmYzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApA
QCAtNDExLDggKzQxMSw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZmxhZykKICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0g
d2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKICAgICBBU1NFUlQodmll
dyk7CiAKLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyks
ICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIGZsYWcsIE5VTEwpOworICAgIHNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoZmxhZyk7CiAKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3BlY3Rv
ciA9IHdlYmtpdF93ZWJfdmlld19nZXRfaW5zcGVjdG9yKHZpZXcpOwogICAgIGdfb2JqZWN0X3Nl
dChHX09CSkVDVChpbnNwZWN0b3IpLCAiamF2YXNjcmlwdC1wcm9maWxpbmctZW5hYmxlZCIsIGZs
YWcsIE5VTEwpOwpAQCAtNTc3LDI0ICs1NzYsMjggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6YWRkVXNlclN0eWxlU2hlZXQoSlNTdHJpbmdSZWYgc291cmNlKQogICAgIHByaW50ZigiTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmFkZFVzZXJTdHlsZVNoZWV0IG5vdCBpbXBsZW1lbnRlZC5cbiIp
OwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKK3Zv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBl
bmFibGVkKQogewogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1l
X2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwogICAgIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0
aW5ncyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViVmlldyk7CisKKyAgICBnX29i
amVjdF9zZXQod2ViU2V0dGluZ3MsICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIGVuYWJsZWQs
IE5VTEwpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9y
KCkKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRf
d2ViX3ZpZXcobWFpbkZyYW1lKTsKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3BlY3RvciA9
IHdlYmtpdF93ZWJfdmlld19nZXRfaW5zcGVjdG9yKHdlYlZpZXcpOwogCi0gICAgZ19vYmplY3Rf
c2V0KHdlYlNldHRpbmdzLCAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBUUlVFLCBOVUxMKTsK
ICAgICB3ZWJraXRfd2ViX2luc3BlY3Rvcl9zaG93KGluc3BlY3Rvcik7CiB9CiAKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKCkKIHsKICAgICBXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsK
LSAgICBXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3NldHRpbmdzKHdlYlZpZXcpOwogICAgIFdlYktpdFdlYkluc3BlY3RvciogaW5zcGVjdG9yID0g
d2Via2l0X3dlYl92aWV3X2dldF9pbnNwZWN0b3Iod2ViVmlldyk7CiAKICAgICB3ZWJraXRfd2Vi
X2luc3BlY3Rvcl9jbG9zZShpbnNwZWN0b3IpOwotICAgIGdfb2JqZWN0X3NldCh3ZWJTZXR0aW5n
cywgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgRkFMU0UsIE5VTEwpOwogfQogCiB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBK
U1N0cmluZ1JlZiBzY3JpcHQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0KaW5kZXggYTIwNzIxYy4uNWJlNTgwMSAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTEzMyw2ICsx
MTMzLDExIEBAIHN0YXRpYyBib29sIHNob3VsZE9wZW5XZWJJbnNwZWN0b3IoY29uc3QgY2hhciog
cGF0aE9yVVJMKQogICAgIHJldHVybiBzdHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9yLyIpOwog
fQogCitzdGF0aWMgYm9vbCBzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMoY29uc3QgY2hhciog
cGF0aE9yVVJMKQoreworICAgIHJldHVybiBzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVS
TCkgfHwgc3Ryc3RyKHBhdGhPclVSTCwgImluc3BlY3Rvci1lbmFibGVkLyIpOworfQorCiBzdGF0
aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQogewog
ICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbbWFpbkZyYW1lIHdlYlZpZXddOwpAQCAtMTIxMSw4ICsx
MjE2LDExIEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9yVVJM
KQogICAgIGVsc2UKICAgICAgICAgW1ttYWluRnJhbWUgd2ViVmlld10gc2V0SGlzdG9yeURlbGVn
YXRlOm5pbF07CiAKLSAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JVUkwuY19z
dHIoKSkpCi0gICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3RyKCkp
KSB7CisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJM
LmNfc3RyKCkpKQorICAgICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2ViSW5z
cGVjdG9yKCk7CisgICAgfQogCiAgICAgaWYgKFtXZWJIaXN0b3J5IG9wdGlvbmFsU2hhcmVkSGlz
dG9yeV0pCiAgICAgICAgIFtXZWJIaXN0b3J5IHNldE9wdGlvbmFsU2hhcmVkSGlzdG9yeTpuaWxd
OwpAQCAtMTI2Myw3ICsxMjcxLDggQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcm
IHRlc3RQYXRoT3JVUkwpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoc2hvdWxkT3Blbldl
Ykluc3BlY3RvcihwYXRoT3JVUkwuY19zdHIoKSkpCisgICAgLy8gSWYgZGV2ZWxvcGVyIGV4dHJh
cyBlbmFibGVkIFdlYiBJbnNwZWN0b3IgbWF5IGhhdmUgYmVlbiBvcGVuIGJ5IHRoZSB0ZXN0Lgor
ICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3RyKCkpKQog
ICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmNsb3NlV2ViSW5zcGVjdG9yKCk7CiAKICAg
ICByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKTsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1h
Yy5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxl
ck1hYy5tbQppbmRleCBjNGRhY2U2Li40ZmI2NWIxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0z
MDIsNyArMzAyLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SWNvbkRhdGFiYXNl
RW5hYmxlZChib29sIGljb25EYXRhYmFzZUVuYWJsZWQpCiAKIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgcHJvZmlsaW5nRW5hYmxl
ZCkKIHsKLSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQ6cHJvZmlsaW5nRW5hYmxlZF07CisgICAgc2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZChwcm9maWxpbmdFbmFibGVkKTsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gaW5z
cGVjdG9yXSBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZDpwcm9maWxpbmdFbmFibGVkXTsK
IH0KIApAQCAtNTcxLDE2ICs1NzEsMTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRk
VXNlclN0eWxlU2hlZXQoSlNTdHJpbmdSZWYgc291cmNlKQogICAgIFtXZWJWaWV3IF9hZGRVc2Vy
U3R5bGVTaGVldFRvR3JvdXA6QCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIiB3b3JsZDpbV2Vi
U2NyaXB0V29ybGQgd29ybGRdIHNvdXJjZTpzb3VyY2VOUyB1cmw6bmlsIHdoaXRlbGlzdDpuaWwg
YmxhY2tsaXN0Om5pbF07CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIFtbW21haW5GcmFtZSB3ZWJW
aWV3XSBwcmVmZXJlbmNlc10gc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZDplbmFibGVkXTsKK30K
Kwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCiB7Ci0gICAg
W1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkOnRydWVdOwogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBpbnNwZWN0b3JdIHNob3c6bmls
XTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQog
ewogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBpbnNwZWN0b3JdIGNsb3NlOm5pbF07Ci0gICAg
W1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkOmZhbHNlXTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldl
Ykluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2NyaXB0KQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCA4Y2Nh
N2NkLi5hMGFhNzI2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNDU1LDE1ICs0NTUsMjUgQEAgc3RhdGljIGJvb2wgaXNX
ZWJJbnNwZWN0b3JUZXN0KGNvbnN0IFFVcmwmIHVybCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K3N0YXRpYyBib29sIHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhjb25zdCBRVXJsJiB1cmwp
Cit7CisgICAgcmV0dXJuIGlzV2ViSW5zcGVjdG9yVGVzdCh1cmwpIHx8IHVybC5wYXRoKCkuY29u
dGFpbnMoImluc3BlY3Rvci1lbmFibGVkLyIpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpv
cGVuKGNvbnN0IFFVcmwmIHVybCkKIHsKICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3Jl
VGVzdGluZygpOwogCi0gICAgaWYgKGlzV2ViSW5zcGVjdG9yVGVzdChtX3BhZ2UtPm1haW5GcmFt
ZSgpLT51cmwoKSkpCisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhtX3BhZ2Ut
Pm1haW5GcmFtZSgpLT51cmwoKSkpIHsKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+
Y2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChmYWxzZSk7CisgICAgfQogCi0gICAgaWYgKGlzV2ViSW5z
cGVjdG9yVGVzdCh1cmwpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG93V2Vi
SW5zcGVjdG9yKCk7CisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyh1cmwpKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNldERldmVsb3BlckV4dHJhc0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIGlmIChpc1dlYkluc3BlY3RvclRlc3QodXJsKSkKKyAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICB9CiAK
ICAgICAvLyBXM0MgU1ZHIHRlc3RzIGV4cGVjdCB0byBiZSA0ODB4MzYwCiAgICAgYm9vbCBpc1cz
Q1Rlc3QgPSB1cmwudG9TdHJpbmcoKS5jb250YWlucygic3ZnL1czQy1TVkctMS4xIik7CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCmluZGV4IGNjNDEyNmMuLmRiN2VhZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0z
MDAsMTIgKzMwMCwxNSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNZWRpYVR5cGUo
Y29uc3QgUVN0cmluZyYgdHlwZSkKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2Vi
SW5zcGVjdG9yKCkKIHsKICAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKG1fZHJ0LT53ZWJQ
YWdlKCkpOwotICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShR
V2ViU2V0dGluZ3M6OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIGZhbHNlKTsKK30KKwordm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sIGVuYWJs
ZWQpCit7CisgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFX
ZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgZW5hYmxlZCk7CiB9CiAKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IoKQogewotICAgIG1fZHJ0LT53
ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQsIHRydWUpOwogICAgIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyhtX2Ry
dC0+d2ViUGFnZSgpKTsKIH0KIApAQCAtMzM2LDcgKzMzOSw3IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3Rh
KQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZChib29sIGVuYWJsZSkKIHsKLSAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXR0
aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpEZXZlbG9wZXJFeHRyYXNFbmFibGVk
LCB0cnVlKTsKKyAgICBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7CiAgICAgcXRf
ZHJ0X3NldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKG1fdG9wTG9hZGluZ0ZyYW1lLCBlbmFi
bGUpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcAppbmRleCBlNDQ1Nzk4Li44ZDJhMTE1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTczMiw2ICs3MzIsMTEg
QEAgc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRoT3JV
UkwpCiAgICAgcmV0dXJuIHN0cnN0cihwYXRoT3JVUkwsICIvaW5zcGVjdG9yLyIpIHx8IHN0cnN0
cihwYXRoT3JVUkwsICJcXGluc3BlY3RvclxcIik7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZEVu
YWJsZURldmVsb3BlckV4dHJhcyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCit7CisgICAgcmV0dXJu
IHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJMKSB8fCBzdHJzdHIocGF0aE9yVVJMLCAi
L2luc3BlY3Rvci1lbmFibGVkLyIpIHx8IHN0cnN0cihwYXRoT3JVUkwsICJcXGluc3BlY3Rvci1l
bmFibGVkXFwiKTsKK30KKwogc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogewogI2lmZGVmIFVTRV9NQUNfRk9O
VFMKQEAgLTkxMSw4ICs5MTYsMTEgQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcm
IHRlc3RQYXRoT3JVUkwpCiAKICAgICByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9y
ZVRlc3RpbmcoKTsKIAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVSTC5j
X3N0cigpKSkKLSAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2ViSW5zcGVjdG9y
KCk7CisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhwYXRoT3JVUkwuY19zdHIo
KSkpIHsKKyAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREZXZlbG9wZXJFeHRyYXNF
bmFibGVkKHRydWUpOworICAgICAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JV
UkwuY19zdHIoKSkpCisgICAgICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNob3dXZWJJ
bnNwZWN0b3IoKTsKKyAgICB9CiAKICAgICBwcmV2VGVzdEJGSXRlbSA9IDA7CiAgICAgaWYgKHdl
YlZpZXcpIHsKQEAgLTk0OCw3ICs5NTYsNyBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0
cmluZyYgdGVzdFBhdGhPclVSTCkKICAgICAgICAgRGlzcGF0Y2hNZXNzYWdlKCZtc2cpOwogICAg
IH0KIAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVSTC5jX3N0cigpKSkK
KyAgICBpZiAoc2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFzKHBhdGhPclVSTC5jX3N0cigpKSkK
ICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5jbG9zZVdlYkluc3BlY3RvcigpOwogCiAg
ICAgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJX
aW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9s
bGVyV2luLmNwcAppbmRleCBkYmI4YmZmLi5jNmM2YTdlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAK
QEAgLTY5MywxOSArNjkzLDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZmxhZykKICAgICBpZiAoRkFJTEVEKHdlYlZpZXct
PlF1ZXJ5SW50ZXJmYWNlKCZ2aWV3UHJpdmF0ZSkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBD
T01QdHI8SVdlYlByZWZlcmVuY2VzPiBwcmVmZXJlbmNlczsKLSAgICBpZiAoRkFJTEVEKHdlYlZp
ZXctPnByZWZlcmVuY2VzKCZwcmVmZXJlbmNlcykpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBD
T01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZT4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVmZXJl
bmNlcyk7Ci0gICAgaWYgKCFwcmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQogICAgIENP
TVB0cjxJV2ViSW5zcGVjdG9yPiBpbnNwZWN0b3I7CiAgICAgaWYgKEZBSUxFRCh2aWV3UHJpdmF0
ZS0+aW5zcGVjdG9yKCZpbnNwZWN0b3IpKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJlZnNQ
cml2YXRlLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGZsYWcpOworICAgIHNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoZmxhZyk7CiAgICAgaW5zcGVjdG9yLT5zZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZChmbGFnKTsKIH0KIApAQCAtOTkxLDcgKzk4Myw3IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSkKICAgICB3
ZWJWaWV3LT5hZGRVc2VyU3R5bGVTaGVldFRvR3JvdXAoX2JzdHJfdChMIm9yZy53ZWJraXQuRHVt
cFJlbmRlclRyZWUiKS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3RyVChzb3VyY2UpLkdldEJT
VFIoKSwgMCwgMCwgMCwgMCwgMCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNo
b3dXZWJJbnNwZWN0b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJW
aWV3OwogICAgIGlmIChGQUlMRUQoZnJhbWUtPndlYlZpZXcoJndlYlZpZXcpKSkKQEAgLTEwMDUs
NyArOTk3LDE0IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3Io
KQogICAgIGlmICghcHJlZnNQcml2YXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcmVmc1By
aXZhdGUtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgcHJlZnNQcml2YXRl
LT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZWQpOworfQorCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKK3sKKyAgICBDT01QdHI8SVdlYlZpZXc+
IHdlYlZpZXc7CisgICAgaWYgKEZBSUxFRChmcmFtZS0+d2ViVmlldygmd2ViVmlldykpKQorICAg
ICAgICByZXR1cm47CiAKICAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRlPiB2aWV3UHJpdmF0ZShR
dWVyeSwgd2ViVmlldyk7CiAgICAgaWYgKCF2aWV3UHJpdmF0ZSkKQEAgLTEwMzEsMTYgKzEwMzAs
NiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGluc3BlY3Rvci0+Y2xvc2UoKTsKLQotICAgIENPTVB0cjxJV2Vi
UHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVy
ZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2Vi
UHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKLSAg
ICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2YXRl
LT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGZhbHNlKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdS
ZWYgc2NyaXB0KQo=
</data>
<flag name="review"
          id="34966"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51670</attachid>
            <date>2010-03-25 12:27:25 -0700</date>
            <delta_ts>2010-03-25 13:21:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>inspector-enabled2.patch</filename>
            <type>text/plain</type>
            <size>16880</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NjVjYWY0Li5hZWMyMmMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTAtMDMt
MjUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcnVubmluZyB0ZXN0cyB3
aXRoIGVuYWJsZWQgZGV2ZWxvcGVyIGV4dHJhcyBhbmQgY2xvc2VkIFdlYiBJbnNwZWN0b3IuIFRl
c3RzIHRoYXQgaGF2ZSBpbnNwZWN0b3ItZW5hYmxlZC8gaW4gdGhlaXIgcGF0aC91cmwgd2lsbCBo
YXZlIGRldmVsb3BlciBleHRyYXMgZW5hYmxlZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY2MTAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyk6
CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAg
ICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0
Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRKYXZh
U2NyaXB0UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xv
c2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJU
cmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFz
KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpvcGVuKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChzaG91bGRFbmFi
bGVEZXZlbG9wZXJFeHRyYXMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorCiAyMDEwLTAzLTI1ICBE
aWVnbyBHb256YWxleiAgPGRpZWdvLmdvbnphbGV6QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA3MmUxMGQyLi5mMWQ4YmFh
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmgKQEAgLTIzMSw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0dlb2xvY2F0aW9u
UGVybWlzc2lvblNldCgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW9sb2NhdGlvblBlcm1pc3Npb25T
ZXQ7IH0KICAgICBib29sIGdlb2xvY2F0aW9uUGVybWlzc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1f
Z2VvbG9jYXRpb25QZXJtaXNzaW9uOyB9CiAKKyAgICB2b2lkIHNldERldmVsb3BlckV4dHJhc0Vu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7CiAgICAgdm9pZCBjbG9z
ZVdlYkluc3BlY3RvcigpOwogICAgIHZvaWQgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBS
ZW5kZXJUcmVlLmNwcAppbmRleCA5ZjcxMzg3Li40MTBjZWUwIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTExNyw2ICsxMTcs
MTEgQEAgc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRo
T3JVUkwpCiAgICAgcmV0dXJuIHN0cnN0cihwYXRoT3JVUkwsICJpbnNwZWN0b3IvIik7CiB9CiAK
K3N0YXRpYyBib29sIHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhjb25zdCBjaGFyKiBwYXRo
T3JVUkwpCit7CisgICAgcmV0dXJuIHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJMKSB8
fCBzdHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9yLWVuYWJsZWQvIik7Cit9CisKIHZvaWQgZHVt
cEZyYW1lU2Nyb2xsUG9zaXRpb24oV2ViS2l0V2ViRnJhbWUqIGZyYW1lKQogewogCkBAIC00Nzks
OCArNDg0LDExIEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9y
VVJMKQogICAgIGlmIChzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMocGF0aE9yVVJMLmNfc3Ry
KCkpKQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRDYWxs
YmFja3ModHJ1ZSk7CiAKLSAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JVUkwu
Y19zdHIoKSkpCi0gICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rv
cigpOworICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3Ry
KCkpKSB7CisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9y
VVJMLmNfc3RyKCkpKQorICAgICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2Vi
SW5zcGVjdG9yKCk7CisgICAgfQogCiAgICAgV29ya1F1ZXVlOjpzaGFyZWQoKS0+Y2xlYXIoKTsK
ICAgICBXb3JrUXVldWU6OnNoYXJlZCgpLT5zZXRGcm96ZW4oZmFsc2UpOwpAQCAtNTEzLDcgKzUy
MSw4IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9yVVJMKQog
CiAgICAgZ3RrX21haW4oKTsKIAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhP
clVSTC5jX3N0cigpKSkKKyAgICAvLyBJZiBkZXZlbG9wZXIgZXh0cmFzIGVuYWJsZWQgV2ViIElu
c3BlY3RvciBtYXkgaGF2ZSBiZWVuIG9wZW4gYnkgdGhlIHRlc3QuCisgICAgaWYgKHNob3VsZEVu
YWJsZURldmVsb3BlckV4dHJhcyhwYXRoT3JVUkwuY19zdHIoKSkpCiAgICAgICAgIGdMYXlvdXRU
ZXN0Q29udHJvbGxlci0+Y2xvc2VXZWJJbnNwZWN0b3IoKTsKIAogICAgIC8vIEFsc28gY2hlY2sg
aWYgd2Ugc3RpbGwgaGF2ZSBvcGVuZWQgd2ViVmlld3MgYW5kIGZyZWUgdGhlbS4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0
ay5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xs
ZXJHdGsuY3BwCmluZGV4IDRhYTVhNTMuLmRkOGZmYzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApA
QCAtNDExLDggKzQxMSw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZmxhZykKICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0g
d2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKICAgICBBU1NFUlQodmll
dyk7CiAKLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyks
ICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIGZsYWcsIE5VTEwpOworICAgIHNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoZmxhZyk7CiAKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3BlY3Rv
ciA9IHdlYmtpdF93ZWJfdmlld19nZXRfaW5zcGVjdG9yKHZpZXcpOwogICAgIGdfb2JqZWN0X3Nl
dChHX09CSkVDVChpbnNwZWN0b3IpLCAiamF2YXNjcmlwdC1wcm9maWxpbmctZW5hYmxlZCIsIGZs
YWcsIE5VTEwpOwpAQCAtNTc3LDI0ICs1NzYsMjggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6YWRkVXNlclN0eWxlU2hlZXQoSlNTdHJpbmdSZWYgc291cmNlKQogICAgIHByaW50ZigiTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmFkZFVzZXJTdHlsZVNoZWV0IG5vdCBpbXBsZW1lbnRlZC5cbiIp
OwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKK3Zv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBl
bmFibGVkKQogewogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1l
X2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwogICAgIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0
aW5ncyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViVmlldyk7CisKKyAgICBnX29i
amVjdF9zZXQod2ViU2V0dGluZ3MsICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIGVuYWJsZWQs
IE5VTEwpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9y
KCkKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRf
d2ViX3ZpZXcobWFpbkZyYW1lKTsKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3BlY3RvciA9
IHdlYmtpdF93ZWJfdmlld19nZXRfaW5zcGVjdG9yKHdlYlZpZXcpOwogCi0gICAgZ19vYmplY3Rf
c2V0KHdlYlNldHRpbmdzLCAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBUUlVFLCBOVUxMKTsK
ICAgICB3ZWJraXRfd2ViX2luc3BlY3Rvcl9zaG93KGluc3BlY3Rvcik7CiB9CiAKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKCkKIHsKICAgICBXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsK
LSAgICBXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3NldHRpbmdzKHdlYlZpZXcpOwogICAgIFdlYktpdFdlYkluc3BlY3RvciogaW5zcGVjdG9yID0g
d2Via2l0X3dlYl92aWV3X2dldF9pbnNwZWN0b3Iod2ViVmlldyk7CiAKICAgICB3ZWJraXRfd2Vi
X2luc3BlY3Rvcl9jbG9zZShpbnNwZWN0b3IpOwotICAgIGdfb2JqZWN0X3NldCh3ZWJTZXR0aW5n
cywgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgRkFMU0UsIE5VTEwpOwogfQogCiB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBK
U1N0cmluZ1JlZiBzY3JpcHQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0KaW5kZXggYTIwNzIxYy4uNWJlNTgwMSAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTEzMyw2ICsx
MTMzLDExIEBAIHN0YXRpYyBib29sIHNob3VsZE9wZW5XZWJJbnNwZWN0b3IoY29uc3QgY2hhciog
cGF0aE9yVVJMKQogICAgIHJldHVybiBzdHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9yLyIpOwog
fQogCitzdGF0aWMgYm9vbCBzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMoY29uc3QgY2hhciog
cGF0aE9yVVJMKQoreworICAgIHJldHVybiBzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVS
TCkgfHwgc3Ryc3RyKHBhdGhPclVSTCwgImluc3BlY3Rvci1lbmFibGVkLyIpOworfQorCiBzdGF0
aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQogewog
ICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbbWFpbkZyYW1lIHdlYlZpZXddOwpAQCAtMTIxMSw4ICsx
MjE2LDExIEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9yVVJM
KQogICAgIGVsc2UKICAgICAgICAgW1ttYWluRnJhbWUgd2ViVmlld10gc2V0SGlzdG9yeURlbGVn
YXRlOm5pbF07CiAKLSAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JVUkwuY19z
dHIoKSkpCi0gICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3RyKCkp
KSB7CisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJM
LmNfc3RyKCkpKQorICAgICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2ViSW5z
cGVjdG9yKCk7CisgICAgfQogCiAgICAgaWYgKFtXZWJIaXN0b3J5IG9wdGlvbmFsU2hhcmVkSGlz
dG9yeV0pCiAgICAgICAgIFtXZWJIaXN0b3J5IHNldE9wdGlvbmFsU2hhcmVkSGlzdG9yeTpuaWxd
OwpAQCAtMTI2Myw3ICsxMjcxLDggQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcm
IHRlc3RQYXRoT3JVUkwpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoc2hvdWxkT3Blbldl
Ykluc3BlY3RvcihwYXRoT3JVUkwuY19zdHIoKSkpCisgICAgLy8gSWYgZGV2ZWxvcGVyIGV4dHJh
cyBlbmFibGVkIFdlYiBJbnNwZWN0b3IgbWF5IGhhdmUgYmVlbiBvcGVuIGJ5IHRoZSB0ZXN0Lgor
ICAgIGlmIChzaG91bGRFbmFibGVEZXZlbG9wZXJFeHRyYXMocGF0aE9yVVJMLmNfc3RyKCkpKQog
ICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmNsb3NlV2ViSW5zcGVjdG9yKCk7CiAKICAg
ICByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKTsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1h
Yy5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxl
ck1hYy5tbQppbmRleCBjNGRhY2U2Li40ZmI2NWIxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0z
MDIsNyArMzAyLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SWNvbkRhdGFiYXNl
RW5hYmxlZChib29sIGljb25EYXRhYmFzZUVuYWJsZWQpCiAKIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgcHJvZmlsaW5nRW5hYmxl
ZCkKIHsKLSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQ6cHJvZmlsaW5nRW5hYmxlZF07CisgICAgc2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZChwcm9maWxpbmdFbmFibGVkKTsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gaW5z
cGVjdG9yXSBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZDpwcm9maWxpbmdFbmFibGVkXTsK
IH0KIApAQCAtNTcxLDE2ICs1NzEsMTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRk
VXNlclN0eWxlU2hlZXQoSlNTdHJpbmdSZWYgc291cmNlKQogICAgIFtXZWJWaWV3IF9hZGRVc2Vy
U3R5bGVTaGVldFRvR3JvdXA6QCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIiB3b3JsZDpbV2Vi
U2NyaXB0V29ybGQgd29ybGRdIHNvdXJjZTpzb3VyY2VOUyB1cmw6bmlsIHdoaXRlbGlzdDpuaWwg
YmxhY2tsaXN0Om5pbF07CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIFtbW21haW5GcmFtZSB3ZWJW
aWV3XSBwcmVmZXJlbmNlc10gc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZDplbmFibGVkXTsKK30K
Kwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCiB7Ci0gICAg
W1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkOnRydWVdOwogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBpbnNwZWN0b3JdIHNob3c6bmls
XTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQog
ewogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBpbnNwZWN0b3JdIGNsb3NlOm5pbF07Ci0gICAg
W1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkOmZhbHNlXTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldl
Ykluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2NyaXB0KQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCA4Y2Nh
N2NkLi5hMGFhNzI2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNDU1LDE1ICs0NTUsMjUgQEAgc3RhdGljIGJvb2wgaXNX
ZWJJbnNwZWN0b3JUZXN0KGNvbnN0IFFVcmwmIHVybCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K3N0YXRpYyBib29sIHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhjb25zdCBRVXJsJiB1cmwp
Cit7CisgICAgcmV0dXJuIGlzV2ViSW5zcGVjdG9yVGVzdCh1cmwpIHx8IHVybC5wYXRoKCkuY29u
dGFpbnMoImluc3BlY3Rvci1lbmFibGVkLyIpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpv
cGVuKGNvbnN0IFFVcmwmIHVybCkKIHsKICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3Jl
VGVzdGluZygpOwogCi0gICAgaWYgKGlzV2ViSW5zcGVjdG9yVGVzdChtX3BhZ2UtPm1haW5GcmFt
ZSgpLT51cmwoKSkpCisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhtX3BhZ2Ut
Pm1haW5GcmFtZSgpLT51cmwoKSkpIHsKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+
Y2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChmYWxzZSk7CisgICAgfQogCi0gICAgaWYgKGlzV2ViSW5z
cGVjdG9yVGVzdCh1cmwpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG93V2Vi
SW5zcGVjdG9yKCk7CisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyh1cmwpKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNldERldmVsb3BlckV4dHJhc0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIGlmIChpc1dlYkluc3BlY3RvclRlc3QodXJsKSkKKyAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICB9CiAK
ICAgICAvLyBXM0MgU1ZHIHRlc3RzIGV4cGVjdCB0byBiZSA0ODB4MzYwCiAgICAgYm9vbCBpc1cz
Q1Rlc3QgPSB1cmwudG9TdHJpbmcoKS5jb250YWlucygic3ZnL1czQy1TVkctMS4xIik7CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCmluZGV4IGNjNDEyNmMuLmRiN2VhZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0z
MDAsMTIgKzMwMCwxNSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNZWRpYVR5cGUo
Y29uc3QgUVN0cmluZyYgdHlwZSkKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2Vi
SW5zcGVjdG9yKCkKIHsKICAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKG1fZHJ0LT53ZWJQ
YWdlKCkpOwotICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShR
V2ViU2V0dGluZ3M6OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIGZhbHNlKTsKK30KKwordm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sIGVuYWJs
ZWQpCit7CisgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFX
ZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgZW5hYmxlZCk7CiB9CiAKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IoKQogewotICAgIG1fZHJ0LT53
ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQsIHRydWUpOwogICAgIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyhtX2Ry
dC0+d2ViUGFnZSgpKTsKIH0KIApAQCAtMzM2LDcgKzMzOSw3IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3Rh
KQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZChib29sIGVuYWJsZSkKIHsKLSAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXR0
aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpEZXZlbG9wZXJFeHRyYXNFbmFibGVk
LCB0cnVlKTsKKyAgICBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7CiAgICAgcXRf
ZHJ0X3NldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKG1fdG9wTG9hZGluZ0ZyYW1lLCBlbmFi
bGUpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmgKaW5kZXggNWNmNTEwNC4uOWQ1NjRkNyAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aApAQCAtMTE3LDYgKzExNyw3IEBAIHB1YmxpYyBzbG90czoKICAgICBRU3RyaW5nIGVuY29kZUhv
c3ROYW1lKGNvbnN0IFFTdHJpbmcmIGhvc3QpOwogICAgIFFTdHJpbmcgZGVjb2RlSG9zdE5hbWUo
Y29uc3QgUVN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBkdW1wU2VsZWN0aW9uUmVjdCgpIGNvbnN0
IHt9CisgICAgdm9pZCBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wpOwogICAgIHZvaWQg
c2hvd1dlYkluc3BlY3RvcigpOwogICAgIHZvaWQgY2xvc2VXZWJJbnNwZWN0b3IoKTsKICAgICB2
b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNj
cmlwdCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcAppbmRleCBlNDQ1Nzk4Li44ZDJhMTE1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTczMiw2ICs3MzIsMTEgQEAg
c3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRoT3JVUkwp
CiAgICAgcmV0dXJuIHN0cnN0cihwYXRoT3JVUkwsICIvaW5zcGVjdG9yLyIpIHx8IHN0cnN0cihw
YXRoT3JVUkwsICJcXGluc3BlY3RvclxcIik7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZEVuYWJs
ZURldmVsb3BlckV4dHJhcyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCit7CisgICAgcmV0dXJuIHNo
b3VsZE9wZW5XZWJJbnNwZWN0b3IocGF0aE9yVVJMKSB8fCBzdHJzdHIocGF0aE9yVVJMLCAiL2lu
c3BlY3Rvci1lbmFibGVkLyIpIHx8IHN0cnN0cihwYXRoT3JVUkwsICJcXGluc3BlY3Rvci1lbmFi
bGVkXFwiKTsKK30KKwogc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVl
cyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogewogI2lmZGVmIFVTRV9NQUNfRk9OVFMK
QEAgLTkxMSw4ICs5MTYsMTEgQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIHRl
c3RQYXRoT3JVUkwpCiAKICAgICByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRl
c3RpbmcoKTsKIAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVSTC5jX3N0
cigpKSkKLSAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2ViSW5zcGVjdG9yKCk7
CisgICAgaWYgKHNob3VsZEVuYWJsZURldmVsb3BlckV4dHJhcyhwYXRoT3JVUkwuY19zdHIoKSkp
IHsKKyAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKHRydWUpOworICAgICAgICBpZiAoc2hvdWxkT3BlbldlYkluc3BlY3RvcihwYXRoT3JVUkwu
Y19zdHIoKSkpCisgICAgICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNob3dXZWJJbnNw
ZWN0b3IoKTsKKyAgICB9CiAKICAgICBwcmV2VGVzdEJGSXRlbSA9IDA7CiAgICAgaWYgKHdlYlZp
ZXcpIHsKQEAgLTk0OCw3ICs5NTYsNyBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0cmlu
ZyYgdGVzdFBhdGhPclVSTCkKICAgICAgICAgRGlzcGF0Y2hNZXNzYWdlKCZtc2cpOwogICAgIH0K
IAotICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKHBhdGhPclVSTC5jX3N0cigpKSkKKyAg
ICBpZiAoc2hvdWxkRW5hYmxlRGV2ZWxvcGVyRXh0cmFzKHBhdGhPclVSTC5jX3N0cigpKSkKICAg
ICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5jbG9zZVdlYkluc3BlY3RvcigpOwogCiAgICAg
cmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4u
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVy
V2luLmNwcAppbmRleCBkYmI4YmZmLi5jNmM2YTdlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAg
LTY5MywxOSArNjkzLDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZmxhZykKICAgICBpZiAoRkFJTEVEKHdlYlZpZXctPlF1
ZXJ5SW50ZXJmYWNlKCZ2aWV3UHJpdmF0ZSkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBDT01Q
dHI8SVdlYlByZWZlcmVuY2VzPiBwcmVmZXJlbmNlczsKLSAgICBpZiAoRkFJTEVEKHdlYlZpZXct
PnByZWZlcmVuY2VzKCZwcmVmZXJlbmNlcykpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDT01Q
dHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZT4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVmZXJlbmNl
cyk7Ci0gICAgaWYgKCFwcmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQogICAgIENPTVB0
cjxJV2ViSW5zcGVjdG9yPiBpbnNwZWN0b3I7CiAgICAgaWYgKEZBSUxFRCh2aWV3UHJpdmF0ZS0+
aW5zcGVjdG9yKCZpbnNwZWN0b3IpKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJlZnNQcml2
YXRlLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGZsYWcpOworICAgIHNldERldmVsb3BlckV4
dHJhc0VuYWJsZWQoZmxhZyk7CiAgICAgaW5zcGVjdG9yLT5zZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZChmbGFnKTsKIH0KIApAQCAtOTkxLDcgKzk4Myw3IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSkKICAgICB3ZWJW
aWV3LT5hZGRVc2VyU3R5bGVTaGVldFRvR3JvdXAoX2JzdHJfdChMIm9yZy53ZWJraXQuRHVtcFJl
bmRlclRyZWUiKS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3RyVChzb3VyY2UpLkdldEJTVFIo
KSwgMCwgMCwgMCwgMCwgMCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dX
ZWJJbnNwZWN0b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3
OwogICAgIGlmIChGQUlMRUQoZnJhbWUtPndlYlZpZXcoJndlYlZpZXcpKSkKQEAgLTEwMDUsNyAr
OTk3LDE0IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IoKQog
ICAgIGlmICghcHJlZnNQcml2YXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcmVmc1ByaXZh
dGUtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgcHJlZnNQcml2YXRlLT5z
ZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZWQpOworfQorCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKK3sKKyAgICBDT01QdHI8SVdlYlZpZXc+IHdl
YlZpZXc7CisgICAgaWYgKEZBSUxFRChmcmFtZS0+d2ViVmlldygmd2ViVmlldykpKQorICAgICAg
ICByZXR1cm47CiAKICAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRlPiB2aWV3UHJpdmF0ZShRdWVy
eSwgd2ViVmlldyk7CiAgICAgaWYgKCF2aWV3UHJpdmF0ZSkKQEAgLTEwMzEsMTYgKzEwMzAsNiBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCiAgICAgICAg
IHJldHVybjsKIAogICAgIGluc3BlY3Rvci0+Y2xvc2UoKTsKLQotICAgIENPTVB0cjxJV2ViUHJl
ZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVyZW5j
ZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKLSAgICBp
ZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2YXRlLT5z
ZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGZhbHNlKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYg
c2NyaXB0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>