<?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>71013</bug_id>
          
          <creation_ts>2011-10-27 06:39:40 -0700</creation_ts>
          <short_desc>Add allowScriptFromSource callback to FrameLoaderClient</short_desc>
          <delta_ts>2011-10-28 01:17:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>marja</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>491527</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-10-27 06:39:40 -0700</bug_when>
    <thetext>Add allowJavaScriptFromSource callback to FrameLoaderClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491528</commentid>
    <comment_count>1</comment_count>
      <attachid>112674</attachid>
    <who name="">jochen</who>
    <bug_when>2011-10-27 06:40:26 -0700</bug_when>
    <thetext>Created attachment 112674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491529</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-10-27 06:41:04 -0700</bug_when>
    <thetext>Hey Adam, can you have a look please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491530</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 06:43:52 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491710</commentid>
    <comment_count>4</comment_count>
      <attachid>112674</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-27 10:48:27 -0700</bug_when>
    <thetext>Comment on attachment 112674
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=112674&amp;action=review

&gt; Source/WebCore/loader/FrameLoaderClient.h:302
&gt;          virtual bool allowJavaScript(bool enabledPerSettings) { return enabledPerSettings; }

perhaps these methods should really be allowScript and allowScriptFromSource.  we normally leave off the &quot;java&quot; prefix in front of script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491767</commentid>
    <comment_count>5</comment_count>
      <attachid>112674</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 11:33:42 -0700</bug_when>
    <thetext>Comment on attachment 112674
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=112674&amp;action=review

&gt; Source/WebCore/loader/FrameLoaderClient.h:303
&gt; +        virtual bool allowJavaScriptFromSource(bool enabledPerSettings, const KURL&amp;) { return enabledPerSettings; }

At least for allowJavaScriptFromSource, it should be allowScriptFromSource.  I think it&apos;s fine to change allowJavaScript in a follow-up patch.  (That&apos;s mostly a search-and-replace job.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491775</commentid>
    <comment_count>6</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-10-27 11:43:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 112674 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112674&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoaderClient.h:303
&gt; &gt; +        virtual bool allowJavaScriptFromSource(bool enabledPerSettings, const KURL&amp;) { return enabledPerSettings; }
&gt; 
&gt; At least for allowJavaScriptFromSource, it should be allowScriptFromSource.  I think it&apos;s fine to change allowJavaScript in a follow-up patch.  (That&apos;s mostly a search-and-replace job.)

Basically, renaming allowJavaScript to allowScript is easy. However, there&apos;s still isJavaScriptEnabled(), and renaming that touches lots of ports. not sure how happy they would be about a setting being renamed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491780</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 11:45:52 -0700</bug_when>
    <thetext>They&apos;ll be fine as long as you don&apos;t change their public API.  In any case, doing this in a bunch of small patches seems best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491796</commentid>
    <comment_count>8</comment_count>
      <attachid>112721</attachid>
    <who name="">jochen</who>
    <bug_when>2011-10-27 12:07:32 -0700</bug_when>
    <thetext>Created attachment 112721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491815</commentid>
    <comment_count>9</comment_count>
      <attachid>112721</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-27 12:20:16 -0700</bug_when>
    <thetext>Comment on attachment 112721
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=112721&amp;action=review

LGTM, but we need fishd to do the API review.

&gt; Tools/DumpRenderTree/chromium/WebPermissions.h:62
&gt; -    // Resets the policy to allow images, storage, displaying insecure, but not running insecure.
&gt; +    // Resets the policy to allow images, scripts, storage, displaying insecure, but not running insecure.

I&apos;d just remove this comment or generalize it so we don&apos;t need to edit it all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492280</commentid>
    <comment_count>10</comment_count>
      <attachid>112820</attachid>
    <who name="">jochen</who>
    <bug_when>2011-10-28 00:02:22 -0700</bug_when>
    <thetext>Created attachment 112820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492305</commentid>
    <comment_count>11</comment_count>
      <attachid>112820</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-28 01:17:17 -0700</bug_when>
    <thetext>Comment on attachment 112820
Patch

Clearing flags on attachment: 112820

Committed r98708: &lt;http://trac.webkit.org/changeset/98708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492306</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-28 01:17:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112674</attachid>
            <date>2011-10-27 06:40:26 -0700</date>
            <delta_ts>2011-10-27 12:07:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71013-20111027154023.patch</filename>
            <type>text/plain</type>
            <size>15944</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDQ5MmFkZWFmNTU1ZTNh
NWZhMWNjNWU1M2E4NDYzNjg1OThkOGE4Li43M2U1YjdkYmE3NTI1NjkyNTQ4MDM1YTEyZmNlZGJi
ZDFkYTdhMWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTAtMjcgIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGFsbG93SmF2
YVNjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hy
b21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRtbAorCisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlckNsaWVudDo6YWxsb3dKYXZhU2NyaXB0RnJvbVNvdXJjZSk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKKwogMjAxMS0xMC0yNyAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViSW5zcGVjdG9yOiBWaWV3
IHRocm91Z2hzIHRoZSBleGNlcHRpb24gd2hlbiBhIGNoaWxkIHZpZXcgYXJlIHJlbW92ZWQgYnkg
cmVtb3ZlQ2hpbGRyZW4gY2FsbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGY4ZjIw
YjM5MDViMjE5NGVjYTRhODA5MmM1OWU3YmJkNGJkNmQ0MC4uYTZlOGFiNDk1OTcwMGJkMzdhZGEx
OGUyZGY2OWUwYmJiODU1YmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMS0xMC0yNyAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBBZGQgYWxsb3dKYXZhU2NyaXB0RnJvbVNvdXJjZSBjYWxsYmFjayB0byBG
cmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6
OldlYlBlcm1pc3Npb25DbGllbnQ6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSk6CisgICAgICAgICog
c3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9h
ZGVyQ2xpZW50SW1wbDo6YWxsb3dKYXZhU2NyaXB0RnJvbVNvdXJjZSk6CisgICAgICAgICogc3Jj
L0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oOgorCiAyMDExLTEwLTI2ICBDaHJpcyBSb2dlcnMgIDxj
cm9nZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgQWRkIGNocm9taXVtIGJyaWRnaW5nIGZvciBB
dWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50IGFuZCBzZXRGb3JtYXQoKSBtZXRob2Qgc28gd2UgY2Fu
IGtub3cgYXVkaW8gc3RyZWFtIGZvcm1hdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJDbGllbnQuaAppbmRleCBhOWQ0ZWQxMWExMmIzNzRlZjk4YzY3NGJlMzY3ZGJjZjNkMTJhNWI0
Li43Y2Y3MGJmZjJkNWY1OGUxNjRmZjU0YTJjNzEwNTY2NDljNTYwMGM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMzAwLDYgKzMwMCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVNjcm9sbE9mZnNl
dCgpIHsgfQogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxvd0phdmFTY3JpcHQoYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQorICAgICAgICB2
aXJ0dWFsIGJvb2wgYWxsb3dKYXZhU2NyaXB0RnJvbVNvdXJjZShib29sIGVuYWJsZWRQZXJTZXR0
aW5ncywgY29uc3QgS1VSTCYpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgYWxsb3dQbHVnaW5zKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSB7IHJl
dHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KICAgICAgICAgdmlydHVhbCBib29sIGFsbG93SW1h
Z2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IEtVUkwmKSB7IHJldHVybiBlbmFibGVk
UGVyU2V0dGluZ3M7IH0KICAgICAgICAgdmlydHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2Vj
dXJlQ29udGVudChib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgU2VjdXJpdHlPcmlnaW4qLCBjb25z
dCBLVVJMJikgeyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA0NmFk
NDk0ODI4MzU1NmNkZjZiMWQzYjFmMGMzODM3NjJjNTEyNmI2Li44YTIxNTgzN2RhYTRiNGM2MTg1
NGViZDJmODM5Y2IzYmE0YzFjZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMxNyw2ICszMTcsMTIgQEAgYm9v
bCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0
eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6CiAg
ICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93U2Ny
aXB0RnJvbVNvdXJjZSh1cmwpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IGlmIChmcmFtZSgpKSB7CisgICAgICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZSgp
LT5zZXR0aW5ncygpOworICAgICAgICAgICAgaWYgKCFmcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50
KCktPmFsbG93SmF2YVNjcmlwdEZyb21Tb3VyY2UoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5pc0ph
dmFTY3JpcHRFbmFibGVkKCksIHVybCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNTU1N0
eWxlU2hlZXQ6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCktPmFsbG93U3R5bGVGcm9tU291cmNlKHVybCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmgKaW5kZXggM2VlNGY0MzlmNDdkMzQx
ODFkYjM2ZmVjMGE2N2E2ZmYxMGQ1N2FiNS4uZmJlMDk1NzJiZThiYjFkZDU2ZTRiNmRhNGNkM2Fh
MjViNzFkM2U1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UGVybWlzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlBlcm1pc3Npb25DbGllbnQuaApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgLy8gQ29u
dHJvbHMgd2hldGhlciBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIGV4ZWN1dGUgZm9yIHRoaXMgZnJh
bWUuCiAgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0KFdlYkZyYW1lKiwgYm9vbCBlbmFibGVk
UGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogCisgICAgLy8gQ29u
dHJvbHMgd2hldGhlciBzY3JpcHRzIGxvYWRlZCBmcm9tIHRoZSBnaXZlbiBVUkwgYXJlIGFsbG93
ZWQgdG8gZXhlY3V0ZSBmb3IgdGhpcyBmcmFtZS4KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dTY3Jp
cHRGcm9tU291cmNlKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IFdl
YlVSTCYgc2NyaXB0VVJMKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KKwogICAgIC8v
IENvbnRyb2xzIHdoZXRoZXIgaW5zZWNydXJlIGNvbnRlbnQgaXMgYWxsb3dlZCB0byBkaXNwbGF5
IGZvciB0aGlzIGZyYW1lLgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNlY3Vy
ZUNvbnRlbnQoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgY29uc3QgV2ViU2Vj
dXJpdHlPcmlnaW4mLCBjb25zdCBXZWJVUkwmKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xp
ZW50SW1wbC5jcHAKaW5kZXggNTdiZjU2ZjNhOTJkNzc0ZGI1MGJmYTkyNTUxYTNhOTdkM2U2ZmM0
Yi4uZmYzNTg4NDk3MmU5ZjUwYmZmNWY0ODk0M2I3ZjI1MzhlYWNkYjEzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBA
IC0xODcsNiArMTg3LDE1IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjphbGxvd0phdmFT
Y3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpCiAgICAgcmV0dXJuIGVuYWJsZWRQZXJTZXR0
aW5nczsKIH0KIAorYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93SmF2YVNjcmlwdEZy
b21Tb3VyY2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IEtVUkwmIHNjcmlwdFVSTCkK
K3sKKyAgICBXZWJWaWV3SW1wbCogd2VidmlldyA9IG1fd2ViRnJhbWUtPnZpZXdJbXBsKCk7Cisg
ICAgaWYgKHdlYnZpZXcgJiYgd2Vidmlldy0+cGVybWlzc2lvbkNsaWVudCgpKQorICAgICAgICBy
ZXR1cm4gd2Vidmlldy0+cGVybWlzc2lvbkNsaWVudCgpLT5hbGxvd1NjcmlwdEZyb21Tb3VyY2Uo
bV93ZWJGcmFtZSwgZW5hYmxlZFBlclNldHRpbmdzLCBzY3JpcHRVUkwpOworCisgICAgcmV0dXJu
IGVuYWJsZWRQZXJTZXR0aW5nczsKK30KKwogYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFs
bG93UGx1Z2lucyhib29sIGVuYWJsZWRQZXJTZXR0aW5ncykKIHsKICAgICBXZWJWaWV3SW1wbCog
d2VidmlldyA9IG1fd2ViRnJhbWUtPnZpZXdJbXBsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oCmluZGV4IDI0OGVkZDU3MWJhZTZj
MDc5ODhhNjQwMDNlYjM3ZGYyZjI4MjJlZGUuLmY5OWNjZTM2ZGE0MzJmZjkyZjk2MTFjOTk3YWNj
ZDMzMmVhMzllMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oCkBAIC0xOTcsNiArMTk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCByZWdpc3RlckZvckljb25Ob3RpZmljYXRpb24oYm9vbCBsaXN0ZW4gPSB0cnVlKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCk7CiAgICAgdmlydHVhbCBi
b29sIGFsbG93SmF2YVNjcmlwdChib29sIGVuYWJsZWRQZXJTZXR0aW5ncyk7CisgICAgdmlydHVh
bCBib29sIGFsbG93SmF2YVNjcmlwdEZyb21Tb3VyY2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3Ms
IGNvbnN0IFdlYkNvcmU6OktVUkwmIHNjcmlwdFVSTCk7CiAgICAgdmlydHVhbCBib29sIGFsbG93
UGx1Z2lucyhib29sIGVuYWJsZWRQZXJTZXR0aW5ncyk7CiAgICAgdmlydHVhbCBib29sIGFsbG93
SW1hZ2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGltYWdl
VVJMKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEaXNwbGF5aW5nSW5zZWN1cmVDb250ZW50KGJv
b2wgZW5hYmxlZFBlclNldHRpbmdzLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdl
YkNvcmU6OktVUkwmKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBjODkxMjlmNzNiYzY3NjBjMTViZWQwYzg2NWVlMDMwY2M1YjZiZWNmLi45YTUy
ODk2ZGY2Y2JhOTVlZGZlZWRlYzg5NzE2YzNmNWQ2NDZkYWVlIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTAt
MjcgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRk
IGFsbG93SmF2YVNjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFNjcmlwdHNBbGxvd2VkKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Npb25zLmNwcDoKKyAgICAgICAgKFdlYlBlcm1pc3Np
b25zOjphbGxvd1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViUGVybWlzc2lvbnM6OnNl
dFNjcmlwdHNBbGxvd2VkKToKKyAgICAgICAgKFdlYlBlcm1pc3Npb25zOjpyZXNldCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuaDoKKwogMjAxMS0x
MC0yMSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gSW1wcm92ZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGhhbmRsaW5nIGZvciBN
aW5pQnJvd3Nlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCBiYzhjYTJjMmZkYzAxZjcyNjQzZDQzOWZlMWM0
ZTRhMzViOTZjZmQxLi41ZWM5MzM5Y2M1NjI5YTgwYzRhMWMyNDg0Y2Y2NThkZWUzMzA3ZWViIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0xOTksNiArMTk5LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6Okxh
eW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgid2lu
ZG93Q291bnQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndpbmRvd0NvdW50KTsKICAgICBiaW5k
TWV0aG9kKCJzZXRUZXh0RGlyZWN0aW9uIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0
RGlyZWN0aW9uKTsKICAgICBiaW5kTWV0aG9kKCJzZXRJbWFnZXNBbGxvd2VkIiwgJkxheW91dFRl
c3RDb250cm9sbGVyOjpzZXRJbWFnZXNBbGxvd2VkKTsKKyAgICBiaW5kTWV0aG9kKCJzZXRTY3Jp
cHRzQWxsb3dlZCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2NyaXB0c0FsbG93ZWQpOwog
ICAgIGJpbmRNZXRob2QoInNldFN0b3JhZ2VBbGxvd2VkIiwgJkxheW91dFRlc3RDb250cm9sbGVy
OjpzZXRTdG9yYWdlQWxsb3dlZCk7CiAgICAgYmluZE1ldGhvZCgic2V0UGx1Z2luc0FsbG93ZWQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFBsdWdpbnNBbGxvd2VkKTsKIApAQCAtNzk4LDYg
Kzc5OSwxMyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRJbWFnZXNBbGxvd2VkKGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcAogICAgIHJlc3VsdC0+c2V0TnVsbCgp
OwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTY3JpcHRzQWxsb3dlZChjb25z
dCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAg
IGlmIChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCisgICAg
ICAgIG1fc2hlbGwtPndlYlBlcm1pc3Npb25zKCktPnNldFNjcmlwdHNBbGxvd2VkKGFyZ3VtZW50
c1swXS50b0Jvb2xlYW4oKSk7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldFN0b3JhZ2VBbGxvd2VkKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgaWYgKGFyZ3VtZW50cy5z
aXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDAxYjZlY2M1
NWJiZTcxYTFjYjgwYzA4YjZmZTdiNDE1ZTQ1YTA1ZjcuLjI0OTFjZTMzZDIyZTYzMzJhOGEyM2My
OTgyNDEyN2RiZjgwYzFkMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzkyLDYgKzM5Miw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIFdlYlBlcm1pc3Npb25DbGllbnQgcmVsYXRlZC4KICAgICB2b2lkIHNldEltYWdl
c0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQg
c2V0U2NyaXB0c0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwog
ICAgIHZvaWQgc2V0U3RvcmFnZUFsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwogICAgIHZvaWQgc2V0UGx1Z2luc0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZHVtcFBlcm1pc3Npb25DbGllbnRDYWxsYmFja3Mo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwCmluZGV4IGQ2ZDU3YzBhYjhmM2U0
ZDY3NTJmY2VhNDQyODljN2I1MDExMjAzMGUuLmU5NWY4YmM5YjM0ZTFkMTIwZTEwNDdiYWE4YWY3
MTg0MzM5MDg1N2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlBlcm1pc3Npb25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQ
ZXJtaXNzaW9ucy5jcHAKQEAgLTU0LDYgKzU0LDE0IEBAIGJvb2wgV2ViUGVybWlzc2lvbnM6OmFs
bG93SW1hZ2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25z
CiAgICAgcmV0dXJuIGFsbG93ZWQ7CiB9CiAKK2Jvb2wgV2ViUGVybWlzc2lvbnM6OmFsbG93U2Ny
aXB0RnJvbVNvdXJjZShXZWJLaXQ6OldlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3Ms
IGNvbnN0IFdlYktpdDo6V2ViVVJMJiBzY3JpcHRVUkwpCit7CisgICAgYm9vbCBhbGxvd2VkID0g
ZW5hYmxlZFBlclNldHRpbmdzICYmIG1fc2NyaXB0c0FsbG93ZWQ7CisgICAgaWYgKGxheW91dFRl
c3RDb250cm9sbGVyKCktPnNob3VsZER1bXBQZXJtaXNzaW9uQ2xpZW50Q2FsbGJhY2tzKCkpCisg
ICAgICAgIGZwcmludGYoc3Rkb3V0LCAiUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93U2NyaXB0RnJv
bVNvdXJjZSglcyk6ICVzXG4iLCBtX3NoZWxsLT5ub3JtYWxpemVMYXlvdXRUZXN0VVJMKHNjcmlw
dFVSTC5zcGVjKCkpLmNfc3RyKCksIGFsbG93ZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICBy
ZXR1cm4gYWxsb3dlZDsKK30KKwogYm9vbCBXZWJQZXJtaXNzaW9uczo6YWxsb3dTdG9yYWdlKFdl
YktpdDo6V2ViRnJhbWUqLCBib29sKQogewogICAgIHJldHVybiBtX3N0b3JhZ2VBbGxvd2VkOwpA
QCAtODEsNiArODksMTEgQEAgdm9pZCBXZWJQZXJtaXNzaW9uczo6c2V0SW1hZ2VzQWxsb3dlZChi
b29sIGltYWdlc0FsbG93ZWQpCiAgICAgbV9pbWFnZXNBbGxvd2VkID0gaW1hZ2VzQWxsb3dlZDsK
IH0KIAordm9pZCBXZWJQZXJtaXNzaW9uczo6c2V0U2NyaXB0c0FsbG93ZWQoYm9vbCBzY3JpcHRz
QWxsb3dlZCkKK3sKKyAgICBtX3NjcmlwdHNBbGxvd2VkID0gc2NyaXB0c0FsbG93ZWQ7Cit9CisK
IHZvaWQgV2ViUGVybWlzc2lvbnM6OnNldFN0b3JhZ2VBbGxvd2VkKGJvb2wgc3RvcmFnZUFsbG93
ZWQpCiB7CiAgICAgbV9zdG9yYWdlQWxsb3dlZCA9IHN0b3JhZ2VBbGxvd2VkOwpAQCAtMTA0LDYg
KzExNyw3IEBAIHZvaWQgV2ViUGVybWlzc2lvbnM6OnNldFJ1bm5pbmdJbnNlY3VyZUNvbnRlbnRB
bGxvd2VkKGJvb2wgYWxsb3dlZCkKIHZvaWQgV2ViUGVybWlzc2lvbnM6OnJlc2V0KCkKIHsKICAg
ICBtX2ltYWdlc0FsbG93ZWQgPSB0cnVlOworICAgIG1fc2NyaXB0c0FsbG93ZWQgPSB0cnVlOwog
ICAgIG1fc3RvcmFnZUFsbG93ZWQgPSB0cnVlOwogICAgIG1fcGx1Z2luc0FsbG93ZWQgPSB0cnVl
OwogICAgIG1fZGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93ZWQgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Npb25zLmggYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQZXJtaXNzaW9ucy5oCmluZGV4IGJhY2Ez
YTE3MTE1MDY5ZmQwMjZiNDI5MWFiMjE3NDJmMTA4ZDJkZGUuLmRiMTM4ZDg4MzRhOGRhZmEzMzk3
ZTc0Y2IwZGI3NzUwY2NmMjAzYjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlBlcm1pc3Npb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViUGVybWlzc2lvbnMuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBP
dmVycmlkZSBXZWJQZXJtaXNzaW9uQ2xpZW50IG1ldGhvZHMuCiAgICAgdmlydHVhbCBib29sIGFs
bG93SW1hZ2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25z
dCBXZWJLaXQ6OldlYlVSTCYgaW1hZ2VVUkwpOworICAgIHZpcnR1YWwgYm9vbCBhbGxvd1Njcmlw
dEZyb21Tb3VyY2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBj
b25zdCBXZWJLaXQ6OldlYlVSTCYgc2NyaXB0VVJMKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dT
dG9yYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGxvY2FsKTsKICAgICB2aXJ0dWFsIGJvb2wg
YWxsb3dQbHVnaW5zKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncyk7
CiAgICAgdmlydHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudChXZWJLaXQ6
OldlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsCkBAIC01MiwxMiArNTMsMTMgQEAg
cHVibGljOgogCiAgICAgLy8gSG9va3MgdG8gc2V0IHRoZSBkaWZmZXJlbnQgcG9saWNpZXMuCiAg
ICAgdm9pZCBzZXRJbWFnZXNBbGxvd2VkKGJvb2wpOworICAgIHZvaWQgc2V0U2NyaXB0c0FsbG93
ZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdG9yYWdlQWxsb3dlZChib29sKTsKICAgICB2b2lkIHNl
dFBsdWdpbnNBbGxvd2VkKGJvb2wpOwogICAgIHZvaWQgc2V0RGlzcGxheWluZ0luc2VjdXJlQ29u
dGVudEFsbG93ZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRSdW5uaW5nSW5zZWN1cmVDb250ZW50QWxs
b3dlZChib29sKTsKIAotICAgIC8vIFJlc2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGltYWdlcywg
c3RvcmFnZSwgZGlzcGxheWluZyBpbnNlY3VyZSwgYnV0IG5vdCBydW5uaW5nIGluc2VjdXJlLgor
ICAgIC8vIFJlc2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGltYWdlcywgc2NyaXB0cywgc3RvcmFn
ZSwgZGlzcGxheWluZyBpbnNlY3VyZSwgYnV0IG5vdCBydW5uaW5nIGluc2VjdXJlLgogICAgIHZv
aWQgcmVzZXQoKTsKIAogcHJpdmF0ZToKQEAgLTY3LDYgKzY5LDcgQEAgcHJpdmF0ZToKICAgICBU
ZXN0U2hlbGwqIG1fc2hlbGw7CiAKICAgICBib29sIG1faW1hZ2VzQWxsb3dlZDsKKyAgICBib29s
IG1fc2NyaXB0c0FsbG93ZWQ7CiAgICAgYm9vbCBtX3N0b3JhZ2VBbGxvd2VkOwogICAgIGJvb2wg
bV9wbHVnaW5zQWxsb3dlZDsKICAgICBib29sIG1fZGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFs
bG93ZWQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNTY5NjY4NjE3MDZlMTJmZjQ2NTUyOTI1NTJkYmNmM2QwZDVmMWI5Mi4u
MzY3NTBlMGI2ZjcyNDRjMTdkZjEzZWIyOTcwNTIyNTRlM2ZiOWZhNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTEwLTI3ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEFkZCBhbGxvd0phdmFTY3JpcHRGcm9tU291cmNlIGNhbGxiYWNrIHRvIEZy
YW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTAxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvc2Ny
aXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xp
ZW50L3NjcmlwdC1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLmh0bWw6
IEFkZGVkLgorCiAyMDExLTEwLTI3ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVz
b3VyY2VzLmh0bWwgZmFpbHMgb24gYWxsIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvc2NyaXB0Lmpz
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJj
ZXMvc2NyaXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMjM2ZjFlNjM4OGNiNzA3YTlmMGI3ZWFkNWE1ZTJh
NmQ1NDRhZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanMKQEAgLTAsMCArMSBAQAorbG9n
KCdGQUlMOiBzY3JpcHQgbG9hZGVkJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3NjcmlwdC1wZXJtaXNzaW9ucy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Njcmlw
dC1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQyNmZhNDMyNjIwNDE0ZmRj
YjZjMzFmMDZmYjcwYmU4YzliZjE4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd1NjcmlwdEZy
b21Tb3VyY2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9y
ZXNvdXJjZXMvc2NyaXB0LmpzKTogZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBl
cm1pc3Npb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJlMzhmZTNmNDFhNTQ3NThjMWNhZDYwZDMxY2Nj
M2Q2ZjBhOGI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLmh0bWwKQEAgLTAsMCArMSwz
MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBQZXJtaXNzaW9uQ2xpZW50Q2FsbGJhY2tzKCk7Cit9CisK
K2Z1bmN0aW9uIGxvZyhhKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5p
bm5lckhUTUwgKz0gYSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRT
Y3JpcHRzQWxsb3dlZCkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U2NyaXB0c0Fs
bG93ZWQoZmFsc2UpOworICAgIGVsc2UKKyAgICAgICAgbG9nKCJUaGlzIHRlc3QgcmVxdWlyZXMg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U2NyaXB0c0FsbG93ZWQsIHNvIGl0IGJlIGNhbid0IHJ1
biBpbiBhIGJyb3dzZXIuIik7CisKKyAgICAvLyBUcnkgdG8gbG9hZCBhbiBleHRlcm5hbCBzY3Jp
cHQuCisgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwor
ICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3NjcmlwdC5qcyI7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNjcmlwdCIpLmFwcGVuZENoaWxkKHNjcmlwdCk7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxkaXYgaWQ9InNjcmlwdCI+PC9kaXY+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112721</attachid>
            <date>2011-10-27 12:07:32 -0700</date>
            <delta_ts>2011-10-28 00:02:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71013-20111027210729.patch</filename>
            <type>text/plain</type>
            <size>15988</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDQ5MmFkZWFmNTU1ZTNh
NWZhMWNjNWU1M2E4NDYzNjg1OThkOGE4Li44NzU2MzFlMDNhODYzNzI1ODg5MTIwOTM2YWFiYTk1
Mzk4MjU1N2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTAtMjcgIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGFsbG93U2Ny
aXB0RnJvbVNvdXJjZSBjYWxsYmFjayB0byBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1
bS9wZXJtaXNzaW9uY2xpZW50L3NjcmlwdC1wZXJtaXNzaW9ucy5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Y2FuUmVxdWVzdCk6CisKIDIwMTEtMTAtMjcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYkluc3BlY3RvcjogVmlldyB0aHJvdWdo
cyB0aGUgZXhjZXB0aW9uIHdoZW4gYSBjaGlsZCB2aWV3IGFyZSByZW1vdmVkIGJ5IHJlbW92ZUNo
aWxkcmVuIGNhbGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRmOGYyMGIzOTA1YjIx
OTRlY2E0YTgwOTJjNTllN2JiZDRiZDZkNDAuLmQ2MzkzZWRlMGFhNDUyZGUxY2JjZDUzNWZjNmY4
MWFkNTI1MDcxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMTAtMjcgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIGFsbG93U2NyaXB0RnJvbVNvdXJjZSBjYWxsYmFjayB0byBGcmFtZUxvYWRlckNs
aWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEw
MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1
YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Np
b25DbGllbnQ6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9h
ZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1w
bDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmg6CisKIDIwMTEtMTAtMjYgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBBZGQgY2hyb21pdW0gYnJpZGdpbmcgZm9yIEF1ZGlvU291cmNlUHJvdmlk
ZXJDbGllbnQgYW5kIHNldEZvcm1hdCgpIG1ldGhvZCBzbyB3ZSBjYW4ga25vdyBhdWRpbyBzdHJl
YW0gZm9ybWF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4
IGE5ZDRlZDExYTEyYjM3NGVmOThjNjc0YmUzNjdkYmNmM2QxMmE1YjQuLmQwMmM1MDA0ZDRlYTQw
NTU1OTYzNTA4MzdjNmEwYjllNzM3MjllZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC0zMDAsNiArMzAwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCkgeyB9CiAKICAgICAg
ICAgdmlydHVhbCBib29sIGFsbG93SmF2YVNjcmlwdChib29sIGVuYWJsZWRQZXJTZXR0aW5ncykg
eyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IEtVUkwmKSB7
IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KICAgICAgICAgdmlydHVhbCBib29sIGFsbG93
UGx1Z2lucyhib29sIGVuYWJsZWRQZXJTZXR0aW5ncykgeyByZXR1cm4gZW5hYmxlZFBlclNldHRp
bmdzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ltYWdlKGJvb2wgZW5hYmxlZFBlclNl
dHRpbmdzLCBjb25zdCBLVVJMJikgeyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNlY3VyZUNvbnRlbnQoYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MsIFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgS1VSTCYpIHsgcmV0dXJuIGVu
YWJsZWRQZXJTZXR0aW5nczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNDZhZDQ5NDgyODM1NTZjZGY2YjFkM2Ix
ZjBjMzgzNzYyYzUxMjZiNi4uMGJmM2NlMmIxZjc0M2EwYmViZGQxM2QzOTk5ZmFiODdiMmJhM2Rm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC0zMTcsNiArMzE3LDE0IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJs
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgogICAgICAgICBpZiAoIW1fZG9jdW1l
bnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAoZnJhbWUoKSkgeworICAg
ICAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUoKS0+c2V0dGluZ3MoKTsKKyAgICAg
ICAgICAgIGlmICghZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgpLT5hbGxvd1NjcmlwdEZyb21T
b3VyY2UoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5pc0phdmFTY3JpcHRFbmFibGVkKCksIHVybCkp
IHsKKyAgICAgICAgICAgICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZE5vdEFs
bG93U2NyaXB0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNT
U1N0eWxlU2hlZXQ6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPmFsbG93U3R5bGVGcm9tU291cmNlKHVybCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmgKaW5kZXggM2VlNGY0MzlmNDdk
MzQxODFkYjM2ZmVjMGE2N2E2ZmYxMGQ1N2FiNS4uZmJlMDk1NzJiZThiYjFkZDU2ZTRiNmRhNGNk
M2FhMjViNzFkM2U1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUGVybWlzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlBlcm1pc3Npb25DbGllbnQuaApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgLy8g
Q29udHJvbHMgd2hldGhlciBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIGV4ZWN1dGUgZm9yIHRoaXMg
ZnJhbWUuCiAgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0KFdlYkZyYW1lKiwgYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogCisgICAgLy8g
Q29udHJvbHMgd2hldGhlciBzY3JpcHRzIGxvYWRlZCBmcm9tIHRoZSBnaXZlbiBVUkwgYXJlIGFs
bG93ZWQgdG8gZXhlY3V0ZSBmb3IgdGhpcyBmcmFtZS4KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dT
Y3JpcHRGcm9tU291cmNlKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0
IFdlYlVSTCYgc2NyaXB0VVJMKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KKwogICAg
IC8vIENvbnRyb2xzIHdoZXRoZXIgaW5zZWNydXJlIGNvbnRlbnQgaXMgYWxsb3dlZCB0byBkaXNw
bGF5IGZvciB0aGlzIGZyYW1lLgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNl
Y3VyZUNvbnRlbnQoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgY29uc3QgV2Vi
U2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJVUkwmKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGlu
Z3M7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5jcHAKaW5kZXggNTdiZjU2ZjNhOTJkNzc0ZGI1MGJmYTkyNTUxYTNhOTdkM2U2
ZmM0Yi4uYWFjYmI0NjNmYzk3ZDQxYjVkZTMyY2Y1YmVjYTUzMjlhNzdhMWJkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
CkBAIC0xODcsNiArMTg3LDE1IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjphbGxvd0ph
dmFTY3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpCiAgICAgcmV0dXJuIGVuYWJsZWRQZXJT
ZXR0aW5nczsKIH0KIAorYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93U2NyaXB0RnJv
bVNvdXJjZShib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgY29uc3QgS1VSTCYgc2NyaXB0VVJMKQor
eworICAgIFdlYlZpZXdJbXBsKiB3ZWJ2aWV3ID0gbV93ZWJGcmFtZS0+dmlld0ltcGwoKTsKKyAg
ICBpZiAod2VidmlldyAmJiB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCkpCisgICAgICAgIHJl
dHVybiB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSht
X3dlYkZyYW1lLCBlbmFibGVkUGVyU2V0dGluZ3MsIHNjcmlwdFVSTCk7CisKKyAgICByZXR1cm4g
ZW5hYmxlZFBlclNldHRpbmdzOworfQorCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6YWxs
b3dQbHVnaW5zKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKQogewogICAgIFdlYlZpZXdJbXBsKiB3
ZWJ2aWV3ID0gbV93ZWJGcmFtZS0+dmlld0ltcGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggMjQ4ZWRkNTcxYmFlNmMw
Nzk4OGE2NDAwM2ViMzdkZjJmMjgyMmVkZS4uMjFiNGZhYjQ5YWFhZWMyNjBkMGMyMzlhZmU3Y2Jj
N2MxMDY4NmU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmgKQEAgLTE5Nyw2ICsxOTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyRm9ySWNvbk5vdGlmaWNhdGlvbihib29sIGxpc3RlbiA9IHRydWUpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKICAgICB2aXJ0dWFsIGJv
b2wgYWxsb3dKYXZhU2NyaXB0KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKTsKKyAgICB2aXJ0dWFs
IGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBzY3JpcHRVUkwpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd1BsdWdp
bnMoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ltYWdl
KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBpbWFnZVVSTCk7
CiAgICAgdmlydHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudChib29sIGVu
YWJsZWRQZXJTZXR0aW5ncywgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBjb25zdCBXZWJDb3Jl
OjpLVVJMJik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggYzg5MTI5ZjczYmM2NzYwYzE1YmVkMGM4NjVlZTAzMGNjNWI2YmVjZi4uMWE5YzIzMjQ2
MmM4NGQ1ODBiY2E1OTQxNjVkNGFhMTlmOTMxMmZjZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEwLTI3ICBK
b2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldFNjcmlwdHNBbGxvd2VkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlBlcm1pc3Npb25zLmNwcDoKKyAgICAgICAgKFdlYlBlcm1pc3Npb25zOjphbGxv
d1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViUGVybWlzc2lvbnM6OnNldFNjcmlwdHNB
bGxvd2VkKToKKyAgICAgICAgKFdlYlBlcm1pc3Npb25zOjpyZXNldCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuaDoKKwogMjAxMS0xMC0yMSAgSm9j
ZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtR
dF0gSW1wcm92ZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGhhbmRsaW5nIGZvciBNaW5pQnJvd3Nl
ci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAppbmRleCBiYzhjYTJjMmZkYzAxZjcyNjQzZDQzOWZlMWM0ZTRhMzViOTZj
ZmQxLi41ZWM5MzM5Y2M1NjI5YTgwYzRhMWMyNDg0Y2Y2NThkZWUzMzA3ZWViIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xOTksNiArMTk5LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RD
b250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgid2luZG93Q291bnQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndpbmRvd0NvdW50KTsKICAgICBiaW5kTWV0aG9kKCJz
ZXRUZXh0RGlyZWN0aW9uIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9u
KTsKICAgICBiaW5kTWV0aG9kKCJzZXRJbWFnZXNBbGxvd2VkIiwgJkxheW91dFRlc3RDb250cm9s
bGVyOjpzZXRJbWFnZXNBbGxvd2VkKTsKKyAgICBiaW5kTWV0aG9kKCJzZXRTY3JpcHRzQWxsb3dl
ZCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2NyaXB0c0FsbG93ZWQpOwogICAgIGJpbmRN
ZXRob2QoInNldFN0b3JhZ2VBbGxvd2VkIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRTdG9y
YWdlQWxsb3dlZCk7CiAgICAgYmluZE1ldGhvZCgic2V0UGx1Z2luc0FsbG93ZWQiLCAmTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFBsdWdpbnNBbGxvd2VkKTsKIApAQCAtNzk4LDYgKzc5OSwxMyBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRJbWFnZXNBbGxvd2VkKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTY3JpcHRzQWxsb3dlZChjb25zdCBDcHBBcmd1
bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIGlmIChhcmd1
bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCisgICAgICAgIG1fc2hl
bGwtPndlYlBlcm1pc3Npb25zKCktPnNldFNjcmlwdHNBbGxvd2VkKGFyZ3VtZW50c1swXS50b0Jv
b2xlYW4oKSk7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFN0b3JhZ2VBbGxvd2VkKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1l
bnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPiAw
ICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDAxYjZlY2M1NWJiZTcxYTFj
YjgwYzA4YjZmZTdiNDE1ZTQ1YTA1ZjcuLjI0OTFjZTMzZDIyZTYzMzJhOGEyM2MyOTgyNDEyN2Ri
ZjgwYzFkMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzkyLDYgKzM5Miw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IFdlYlBlcm1pc3Npb25DbGllbnQgcmVsYXRlZC4KICAgICB2b2lkIHNldEltYWdlc0FsbG93ZWQo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgc2V0U2NyaXB0
c0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQg
c2V0U3RvcmFnZUFsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwog
ICAgIHZvaWQgc2V0UGx1Z2luc0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwogICAgIHZvaWQgZHVtcFBlcm1pc3Npb25DbGllbnRDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwCmluZGV4IGQ2ZDU3YzBhYjhmM2U0ZDY3NTJmY2Vh
NDQyODljN2I1MDExMjAzMGUuLmU5NWY4YmM5YjM0ZTFkMTIwZTEwNDdiYWE4YWY3MTg0MzM5MDg1
N2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Np
b25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQZXJtaXNzaW9u
cy5jcHAKQEAgLTU0LDYgKzU0LDE0IEBAIGJvb2wgV2ViUGVybWlzc2lvbnM6OmFsbG93SW1hZ2Uo
V2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zCiAgICAgcmV0
dXJuIGFsbG93ZWQ7CiB9CiAKK2Jvb2wgV2ViUGVybWlzc2lvbnM6OmFsbG93U2NyaXB0RnJvbVNv
dXJjZShXZWJLaXQ6OldlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IFdl
YktpdDo6V2ViVVJMJiBzY3JpcHRVUkwpCit7CisgICAgYm9vbCBhbGxvd2VkID0gZW5hYmxlZFBl
clNldHRpbmdzICYmIG1fc2NyaXB0c0FsbG93ZWQ7CisgICAgaWYgKGxheW91dFRlc3RDb250cm9s
bGVyKCktPnNob3VsZER1bXBQZXJtaXNzaW9uQ2xpZW50Q2FsbGJhY2tzKCkpCisgICAgICAgIGZw
cmludGYoc3Rkb3V0LCAiUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93U2NyaXB0RnJvbVNvdXJjZSgl
cyk6ICVzXG4iLCBtX3NoZWxsLT5ub3JtYWxpemVMYXlvdXRUZXN0VVJMKHNjcmlwdFVSTC5zcGVj
KCkpLmNfc3RyKCksIGFsbG93ZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICByZXR1cm4gYWxs
b3dlZDsKK30KKwogYm9vbCBXZWJQZXJtaXNzaW9uczo6YWxsb3dTdG9yYWdlKFdlYktpdDo6V2Vi
RnJhbWUqLCBib29sKQogewogICAgIHJldHVybiBtX3N0b3JhZ2VBbGxvd2VkOwpAQCAtODEsNiAr
ODksMTEgQEAgdm9pZCBXZWJQZXJtaXNzaW9uczo6c2V0SW1hZ2VzQWxsb3dlZChib29sIGltYWdl
c0FsbG93ZWQpCiAgICAgbV9pbWFnZXNBbGxvd2VkID0gaW1hZ2VzQWxsb3dlZDsKIH0KIAordm9p
ZCBXZWJQZXJtaXNzaW9uczo6c2V0U2NyaXB0c0FsbG93ZWQoYm9vbCBzY3JpcHRzQWxsb3dlZCkK
K3sKKyAgICBtX3NjcmlwdHNBbGxvd2VkID0gc2NyaXB0c0FsbG93ZWQ7Cit9CisKIHZvaWQgV2Vi
UGVybWlzc2lvbnM6OnNldFN0b3JhZ2VBbGxvd2VkKGJvb2wgc3RvcmFnZUFsbG93ZWQpCiB7CiAg
ICAgbV9zdG9yYWdlQWxsb3dlZCA9IHN0b3JhZ2VBbGxvd2VkOwpAQCAtMTA0LDYgKzExNyw3IEBA
IHZvaWQgV2ViUGVybWlzc2lvbnM6OnNldFJ1bm5pbmdJbnNlY3VyZUNvbnRlbnRBbGxvd2VkKGJv
b2wgYWxsb3dlZCkKIHZvaWQgV2ViUGVybWlzc2lvbnM6OnJlc2V0KCkKIHsKICAgICBtX2ltYWdl
c0FsbG93ZWQgPSB0cnVlOworICAgIG1fc2NyaXB0c0FsbG93ZWQgPSB0cnVlOwogICAgIG1fc3Rv
cmFnZUFsbG93ZWQgPSB0cnVlOwogICAgIG1fcGx1Z2luc0FsbG93ZWQgPSB0cnVlOwogICAgIG1f
ZGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93ZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Npb25zLmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQZXJtaXNzaW9ucy5oCmluZGV4IGJhY2EzYTE3MTE1MDY5
ZmQwMjZiNDI5MWFiMjE3NDJmMTA4ZDJkZGUuLmRiMTM4ZDg4MzRhOGRhZmEzMzk3ZTc0Y2IwZGI3
NzUwY2NmMjAzYjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlBlcm1pc3Npb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVy
bWlzc2lvbnMuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdmVycmlkZSBX
ZWJQZXJtaXNzaW9uQ2xpZW50IG1ldGhvZHMuCiAgICAgdmlydHVhbCBib29sIGFsbG93SW1hZ2Uo
V2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJLaXQ6
OldlYlVSTCYgaW1hZ2VVUkwpOworICAgIHZpcnR1YWwgYm9vbCBhbGxvd1NjcmlwdEZyb21Tb3Vy
Y2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJL
aXQ6OldlYlVSTCYgc2NyaXB0VVJMKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dTdG9yYWdlKFdl
YktpdDo6V2ViRnJhbWUqLCBib29sIGxvY2FsKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dQbHVn
aW5zKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncyk7CiAgICAgdmly
dHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudChXZWJLaXQ6OldlYkZyYW1l
KiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsCkBAIC01MiwxMiArNTMsMTMgQEAgcHVibGljOgog
CiAgICAgLy8gSG9va3MgdG8gc2V0IHRoZSBkaWZmZXJlbnQgcG9saWNpZXMuCiAgICAgdm9pZCBz
ZXRJbWFnZXNBbGxvd2VkKGJvb2wpOworICAgIHZvaWQgc2V0U2NyaXB0c0FsbG93ZWQoYm9vbCk7
CiAgICAgdm9pZCBzZXRTdG9yYWdlQWxsb3dlZChib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNB
bGxvd2VkKGJvb2wpOwogICAgIHZvaWQgc2V0RGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93
ZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRSdW5uaW5nSW5zZWN1cmVDb250ZW50QWxsb3dlZChib29s
KTsKIAotICAgIC8vIFJlc2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGltYWdlcywgc3RvcmFnZSwg
ZGlzcGxheWluZyBpbnNlY3VyZSwgYnV0IG5vdCBydW5uaW5nIGluc2VjdXJlLgorICAgIC8vIFJl
c2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGltYWdlcywgc2NyaXB0cywgc3RvcmFnZSwgZGlzcGxh
eWluZyBpbnNlY3VyZSwgYnV0IG5vdCBydW5uaW5nIGluc2VjdXJlLgogICAgIHZvaWQgcmVzZXQo
KTsKIAogcHJpdmF0ZToKQEAgLTY3LDYgKzY5LDcgQEAgcHJpdmF0ZToKICAgICBUZXN0U2hlbGwq
IG1fc2hlbGw7CiAKICAgICBib29sIG1faW1hZ2VzQWxsb3dlZDsKKyAgICBib29sIG1fc2NyaXB0
c0FsbG93ZWQ7CiAgICAgYm9vbCBtX3N0b3JhZ2VBbGxvd2VkOwogICAgIGJvb2wgbV9wbHVnaW5z
QWxsb3dlZDsKICAgICBib29sIG1fZGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93ZWQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNTY5NjY4NjE3MDZlMTJmZjQ2NTUyOTI1NTJkYmNmM2QwZDVmMWI5Mi4uMDVkMWMwZGU0
MmU2OGU4ZDUwNzU4YWVhMDMwZDlkM2Q5NDEzMjQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDExLTEwLTI3ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEFkZCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGll
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanM6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBl
cm1pc3Npb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRtbDogQWRkZWQuCisKIDIw
MTEtMTAtMjcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZXMuaHRtbCBm
YWlscyBvbiBhbGwgcGxhdGZvcm1zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2IyMzZmMWU2Mzg4Y2I3MDdhOWYwYjdlYWQ1YTVlMmE2ZDU0NGFkNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25j
bGllbnQvcmVzb3VyY2VzL3NjcmlwdC5qcwpAQCAtMCwwICsxIEBACitsb2coJ0ZBSUw6IHNjcmlw
dCBsb2FkZWQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Bl
cm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25z
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDI2ZmE0MzI2MjA0MTRmZGNiNmMzMWYwNmZiNzBi
ZThjOWJmMThlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMiBAQAorUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93U2NyaXB0RnJvbVNvdXJjZSgoZmls
ZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3Jp
cHQuanMpOiBmYWxzZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wZXJtaXNzaW9uY2xpZW50L3NjcmlwdC1wZXJtaXNzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYmUzOGZlM2Y0MWE1NDc1OGMxY2FkNjBkMzFjY2MzZDZmMGE4YjlmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lv
bmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcFBlcm1pc3Npb25DbGllbnRDYWxsYmFja3MoKTsKK30KKworZnVuY3Rpb24gbG9n
KGEpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmlubmVySFRNTCArPSBh
ICsgIjxicj4iOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyICYmIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNjcmlwdHNBbGxvd2Vk
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTY3JpcHRzQWxsb3dlZChmYWxzZSk7
CisgICAgZWxzZQorICAgICAgICBsb2coIlRoaXMgdGVzdCByZXF1aXJlcyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRTY3JpcHRzQWxsb3dlZCwgc28gaXQgYmUgY2FuJ3QgcnVuIGluIGEgYnJvd3Nl
ci4iKTsKKworICAgIC8vIFRyeSB0byBsb2FkIGFuIGV4dGVybmFsIHNjcmlwdC4KKyAgICB2YXIg
c2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgICAgc2NyaXB0LnNy
YyA9ICJyZXNvdXJjZXMvc2NyaXB0LmpzIjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2NyaXB0IikuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0ic2NyaXB0Ij48L2Rpdj4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112820</attachid>
            <date>2011-10-28 00:02:22 -0700</date>
            <delta_ts>2011-10-28 01:17:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71013-20111028090220.patch</filename>
            <type>text/plain</type>
            <size>15964</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDQ5MmFkZWFmNTU1ZTNh
NWZhMWNjNWU1M2E4NDYzNjg1OThkOGE4Li44NzU2MzFlMDNhODYzNzI1ODg5MTIwOTM2YWFiYTk1
Mzk4MjU1N2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTAtMjcgIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGFsbG93U2Ny
aXB0RnJvbVNvdXJjZSBjYWxsYmFjayB0byBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1
bS9wZXJtaXNzaW9uY2xpZW50L3NjcmlwdC1wZXJtaXNzaW9ucy5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Y2FuUmVxdWVzdCk6CisKIDIwMTEtMTAtMjcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYkluc3BlY3RvcjogVmlldyB0aHJvdWdo
cyB0aGUgZXhjZXB0aW9uIHdoZW4gYSBjaGlsZCB2aWV3IGFyZSByZW1vdmVkIGJ5IHJlbW92ZUNo
aWxkcmVuIGNhbGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRmOGYyMGIzOTA1YjIx
OTRlY2E0YTgwOTJjNTllN2JiZDRiZDZkNDAuLmQ2MzkzZWRlMGFhNDUyZGUxY2JjZDUzNWZjNmY4
MWFkNTI1MDcxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMTAtMjcgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIGFsbG93U2NyaXB0RnJvbVNvdXJjZSBjYWxsYmFjayB0byBGcmFtZUxvYWRlckNs
aWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEw
MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1
YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Np
b25DbGllbnQ6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9h
ZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1w
bDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmg6CisKIDIwMTEtMTAtMjYgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBBZGQgY2hyb21pdW0gYnJpZGdpbmcgZm9yIEF1ZGlvU291cmNlUHJvdmlk
ZXJDbGllbnQgYW5kIHNldEZvcm1hdCgpIG1ldGhvZCBzbyB3ZSBjYW4ga25vdyBhdWRpbyBzdHJl
YW0gZm9ybWF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4
IGE5ZDRlZDExYTEyYjM3NGVmOThjNjc0YmUzNjdkYmNmM2QxMmE1YjQuLmQwMmM1MDA0ZDRlYTQw
NTU1OTYzNTA4MzdjNmEwYjllNzM3MjllZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC0zMDAsNiArMzAwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCkgeyB9CiAKICAgICAg
ICAgdmlydHVhbCBib29sIGFsbG93SmF2YVNjcmlwdChib29sIGVuYWJsZWRQZXJTZXR0aW5ncykg
eyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IEtVUkwmKSB7
IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KICAgICAgICAgdmlydHVhbCBib29sIGFsbG93
UGx1Z2lucyhib29sIGVuYWJsZWRQZXJTZXR0aW5ncykgeyByZXR1cm4gZW5hYmxlZFBlclNldHRp
bmdzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ltYWdlKGJvb2wgZW5hYmxlZFBlclNl
dHRpbmdzLCBjb25zdCBLVVJMJikgeyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNlY3VyZUNvbnRlbnQoYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MsIFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgS1VSTCYpIHsgcmV0dXJuIGVu
YWJsZWRQZXJTZXR0aW5nczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNDZhZDQ5NDgyODM1NTZjZGY2YjFkM2Ix
ZjBjMzgzNzYyYzUxMjZiNi4uMGJmM2NlMmIxZjc0M2EwYmViZGQxM2QzOTk5ZmFiODdiMmJhM2Rm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC0zMTcsNiArMzE3LDE0IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJs
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgogICAgICAgICBpZiAoIW1fZG9jdW1l
bnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAoZnJhbWUoKSkgeworICAg
ICAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUoKS0+c2V0dGluZ3MoKTsKKyAgICAg
ICAgICAgIGlmICghZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgpLT5hbGxvd1NjcmlwdEZyb21T
b3VyY2UoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5pc0phdmFTY3JpcHRFbmFibGVkKCksIHVybCkp
IHsKKyAgICAgICAgICAgICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZE5vdEFs
bG93U2NyaXB0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNT
U1N0eWxlU2hlZXQ6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPmFsbG93U3R5bGVGcm9tU291cmNlKHVybCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmgKaW5kZXggM2VlNGY0MzlmNDdk
MzQxODFkYjM2ZmVjMGE2N2E2ZmYxMGQ1N2FiNS4uZmJlMDk1NzJiZThiYjFkZDU2ZTRiNmRhNGNk
M2FhMjViNzFkM2U1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUGVybWlzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlBlcm1pc3Npb25DbGllbnQuaApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgLy8g
Q29udHJvbHMgd2hldGhlciBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIGV4ZWN1dGUgZm9yIHRoaXMg
ZnJhbWUuCiAgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0KFdlYkZyYW1lKiwgYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogCisgICAgLy8g
Q29udHJvbHMgd2hldGhlciBzY3JpcHRzIGxvYWRlZCBmcm9tIHRoZSBnaXZlbiBVUkwgYXJlIGFs
bG93ZWQgdG8gZXhlY3V0ZSBmb3IgdGhpcyBmcmFtZS4KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dT
Y3JpcHRGcm9tU291cmNlKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0
IFdlYlVSTCYgc2NyaXB0VVJMKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KKwogICAg
IC8vIENvbnRyb2xzIHdoZXRoZXIgaW5zZWNydXJlIGNvbnRlbnQgaXMgYWxsb3dlZCB0byBkaXNw
bGF5IGZvciB0aGlzIGZyYW1lLgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNl
Y3VyZUNvbnRlbnQoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgY29uc3QgV2Vi
U2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJVUkwmKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGlu
Z3M7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5jcHAKaW5kZXggNTdiZjU2ZjNhOTJkNzc0ZGI1MGJmYTkyNTUxYTNhOTdkM2U2
ZmM0Yi4uYWFjYmI0NjNmYzk3ZDQxYjVkZTMyY2Y1YmVjYTUzMjlhNzdhMWJkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
CkBAIC0xODcsNiArMTg3LDE1IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjphbGxvd0ph
dmFTY3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpCiAgICAgcmV0dXJuIGVuYWJsZWRQZXJT
ZXR0aW5nczsKIH0KIAorYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93U2NyaXB0RnJv
bVNvdXJjZShib29sIGVuYWJsZWRQZXJTZXR0aW5ncywgY29uc3QgS1VSTCYgc2NyaXB0VVJMKQor
eworICAgIFdlYlZpZXdJbXBsKiB3ZWJ2aWV3ID0gbV93ZWJGcmFtZS0+dmlld0ltcGwoKTsKKyAg
ICBpZiAod2VidmlldyAmJiB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCkpCisgICAgICAgIHJl
dHVybiB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSht
X3dlYkZyYW1lLCBlbmFibGVkUGVyU2V0dGluZ3MsIHNjcmlwdFVSTCk7CisKKyAgICByZXR1cm4g
ZW5hYmxlZFBlclNldHRpbmdzOworfQorCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6YWxs
b3dQbHVnaW5zKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKQogewogICAgIFdlYlZpZXdJbXBsKiB3
ZWJ2aWV3ID0gbV93ZWJGcmFtZS0+dmlld0ltcGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggMjQ4ZWRkNTcxYmFlNmMw
Nzk4OGE2NDAwM2ViMzdkZjJmMjgyMmVkZS4uMjFiNGZhYjQ5YWFhZWMyNjBkMGMyMzlhZmU3Y2Jj
N2MxMDY4NmU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmgKQEAgLTE5Nyw2ICsxOTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyRm9ySWNvbk5vdGlmaWNhdGlvbihib29sIGxpc3RlbiA9IHRydWUpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKICAgICB2aXJ0dWFsIGJv
b2wgYWxsb3dKYXZhU2NyaXB0KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKTsKKyAgICB2aXJ0dWFs
IGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBzY3JpcHRVUkwpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd1BsdWdp
bnMoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ltYWdl
KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBpbWFnZVVSTCk7
CiAgICAgdmlydHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudChib29sIGVu
YWJsZWRQZXJTZXR0aW5ncywgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBjb25zdCBXZWJDb3Jl
OjpLVVJMJik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggYzg5MTI5ZjczYmM2NzYwYzE1YmVkMGM4NjVlZTAzMGNjNWI2YmVjZi4uMWE5YzIzMjQ2
MmM4NGQ1ODBiY2E1OTQxNjVkNGFhMTlmOTMxMmZjZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEwLTI3ICBK
b2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldFNjcmlwdHNBbGxvd2VkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlBlcm1pc3Npb25zLmNwcDoKKyAgICAgICAgKFdlYlBlcm1pc3Npb25zOjphbGxv
d1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViUGVybWlzc2lvbnM6OnNldFNjcmlwdHNB
bGxvd2VkKToKKyAgICAgICAgKFdlYlBlcm1pc3Npb25zOjpyZXNldCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuaDoKKwogMjAxMS0xMC0yMSAgSm9j
ZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtR
dF0gSW1wcm92ZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGhhbmRsaW5nIGZvciBNaW5pQnJvd3Nl
ci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAppbmRleCBiYzhjYTJjMmZkYzAxZjcyNjQzZDQzOWZlMWM0ZTRhMzViOTZj
ZmQxLi41ZWM5MzM5Y2M1NjI5YTgwYzRhMWMyNDg0Y2Y2NThkZWUzMzA3ZWViIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0xOTksNiArMTk5LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RD
b250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgid2luZG93Q291bnQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndpbmRvd0NvdW50KTsKICAgICBiaW5kTWV0aG9kKCJz
ZXRUZXh0RGlyZWN0aW9uIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9u
KTsKICAgICBiaW5kTWV0aG9kKCJzZXRJbWFnZXNBbGxvd2VkIiwgJkxheW91dFRlc3RDb250cm9s
bGVyOjpzZXRJbWFnZXNBbGxvd2VkKTsKKyAgICBiaW5kTWV0aG9kKCJzZXRTY3JpcHRzQWxsb3dl
ZCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2NyaXB0c0FsbG93ZWQpOwogICAgIGJpbmRN
ZXRob2QoInNldFN0b3JhZ2VBbGxvd2VkIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRTdG9y
YWdlQWxsb3dlZCk7CiAgICAgYmluZE1ldGhvZCgic2V0UGx1Z2luc0FsbG93ZWQiLCAmTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFBsdWdpbnNBbGxvd2VkKTsKIApAQCAtNzk4LDYgKzc5OSwxMyBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRJbWFnZXNBbGxvd2VkKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTY3JpcHRzQWxsb3dlZChjb25zdCBDcHBBcmd1
bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIGlmIChhcmd1
bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCisgICAgICAgIG1fc2hl
bGwtPndlYlBlcm1pc3Npb25zKCktPnNldFNjcmlwdHNBbGxvd2VkKGFyZ3VtZW50c1swXS50b0Jv
b2xlYW4oKSk7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFN0b3JhZ2VBbGxvd2VkKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1l
bnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPiAw
ICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDAxYjZlY2M1NWJiZTcxYTFj
YjgwYzA4YjZmZTdiNDE1ZTQ1YTA1ZjcuLjI0OTFjZTMzZDIyZTYzMzJhOGEyM2MyOTgyNDEyN2Ri
ZjgwYzFkMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzkyLDYgKzM5Miw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IFdlYlBlcm1pc3Npb25DbGllbnQgcmVsYXRlZC4KICAgICB2b2lkIHNldEltYWdlc0FsbG93ZWQo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgc2V0U2NyaXB0
c0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQg
c2V0U3RvcmFnZUFsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwog
ICAgIHZvaWQgc2V0UGx1Z2luc0FsbG93ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwogICAgIHZvaWQgZHVtcFBlcm1pc3Npb25DbGllbnRDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViUGVybWlzc2lvbnMuY3BwCmluZGV4IGQ2ZDU3YzBhYjhmM2U0ZDY3NTJmY2Vh
NDQyODljN2I1MDExMjAzMGUuLmU5NWY4YmM5YjM0ZTFkMTIwZTEwNDdiYWE4YWY3MTg0MzM5MDg1
N2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Np
b25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQZXJtaXNzaW9u
cy5jcHAKQEAgLTU0LDYgKzU0LDE0IEBAIGJvb2wgV2ViUGVybWlzc2lvbnM6OmFsbG93SW1hZ2Uo
V2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zCiAgICAgcmV0
dXJuIGFsbG93ZWQ7CiB9CiAKK2Jvb2wgV2ViUGVybWlzc2lvbnM6OmFsbG93U2NyaXB0RnJvbVNv
dXJjZShXZWJLaXQ6OldlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsIGNvbnN0IFdl
YktpdDo6V2ViVVJMJiBzY3JpcHRVUkwpCit7CisgICAgYm9vbCBhbGxvd2VkID0gZW5hYmxlZFBl
clNldHRpbmdzICYmIG1fc2NyaXB0c0FsbG93ZWQ7CisgICAgaWYgKGxheW91dFRlc3RDb250cm9s
bGVyKCktPnNob3VsZER1bXBQZXJtaXNzaW9uQ2xpZW50Q2FsbGJhY2tzKCkpCisgICAgICAgIGZw
cmludGYoc3Rkb3V0LCAiUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93U2NyaXB0RnJvbVNvdXJjZSgl
cyk6ICVzXG4iLCBtX3NoZWxsLT5ub3JtYWxpemVMYXlvdXRUZXN0VVJMKHNjcmlwdFVSTC5zcGVj
KCkpLmNfc3RyKCksIGFsbG93ZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICByZXR1cm4gYWxs
b3dlZDsKK30KKwogYm9vbCBXZWJQZXJtaXNzaW9uczo6YWxsb3dTdG9yYWdlKFdlYktpdDo6V2Vi
RnJhbWUqLCBib29sKQogewogICAgIHJldHVybiBtX3N0b3JhZ2VBbGxvd2VkOwpAQCAtODEsNiAr
ODksMTEgQEAgdm9pZCBXZWJQZXJtaXNzaW9uczo6c2V0SW1hZ2VzQWxsb3dlZChib29sIGltYWdl
c0FsbG93ZWQpCiAgICAgbV9pbWFnZXNBbGxvd2VkID0gaW1hZ2VzQWxsb3dlZDsKIH0KIAordm9p
ZCBXZWJQZXJtaXNzaW9uczo6c2V0U2NyaXB0c0FsbG93ZWQoYm9vbCBzY3JpcHRzQWxsb3dlZCkK
K3sKKyAgICBtX3NjcmlwdHNBbGxvd2VkID0gc2NyaXB0c0FsbG93ZWQ7Cit9CisKIHZvaWQgV2Vi
UGVybWlzc2lvbnM6OnNldFN0b3JhZ2VBbGxvd2VkKGJvb2wgc3RvcmFnZUFsbG93ZWQpCiB7CiAg
ICAgbV9zdG9yYWdlQWxsb3dlZCA9IHN0b3JhZ2VBbGxvd2VkOwpAQCAtMTA0LDYgKzExNyw3IEBA
IHZvaWQgV2ViUGVybWlzc2lvbnM6OnNldFJ1bm5pbmdJbnNlY3VyZUNvbnRlbnRBbGxvd2VkKGJv
b2wgYWxsb3dlZCkKIHZvaWQgV2ViUGVybWlzc2lvbnM6OnJlc2V0KCkKIHsKICAgICBtX2ltYWdl
c0FsbG93ZWQgPSB0cnVlOworICAgIG1fc2NyaXB0c0FsbG93ZWQgPSB0cnVlOwogICAgIG1fc3Rv
cmFnZUFsbG93ZWQgPSB0cnVlOwogICAgIG1fcGx1Z2luc0FsbG93ZWQgPSB0cnVlOwogICAgIG1f
ZGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93ZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBlcm1pc3Npb25zLmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQZXJtaXNzaW9ucy5oCmluZGV4IGJhY2EzYTE3MTE1MDY5
ZmQwMjZiNDI5MWFiMjE3NDJmMTA4ZDJkZGUuLjE4NDA0NmEwYTQ2NDc4YWE4ZjBlZDBkNWJkMTgz
ODFmYmIyNWJlMDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlBlcm1pc3Npb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUGVy
bWlzc2lvbnMuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdmVycmlkZSBX
ZWJQZXJtaXNzaW9uQ2xpZW50IG1ldGhvZHMuCiAgICAgdmlydHVhbCBib29sIGFsbG93SW1hZ2Uo
V2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJLaXQ6
OldlYlVSTCYgaW1hZ2VVUkwpOworICAgIHZpcnR1YWwgYm9vbCBhbGxvd1NjcmlwdEZyb21Tb3Vy
Y2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBjb25zdCBXZWJL
aXQ6OldlYlVSTCYgc2NyaXB0VVJMKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dTdG9yYWdlKFdl
YktpdDo6V2ViRnJhbWUqLCBib29sIGxvY2FsKTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dQbHVn
aW5zKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncyk7CiAgICAgdmly
dHVhbCBib29sIGFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudChXZWJLaXQ6OldlYkZyYW1l
KiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MsCkBAIC01MiwxMiArNTMsMTMgQEAgcHVibGljOgog
CiAgICAgLy8gSG9va3MgdG8gc2V0IHRoZSBkaWZmZXJlbnQgcG9saWNpZXMuCiAgICAgdm9pZCBz
ZXRJbWFnZXNBbGxvd2VkKGJvb2wpOworICAgIHZvaWQgc2V0U2NyaXB0c0FsbG93ZWQoYm9vbCk7
CiAgICAgdm9pZCBzZXRTdG9yYWdlQWxsb3dlZChib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNB
bGxvd2VkKGJvb2wpOwogICAgIHZvaWQgc2V0RGlzcGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93
ZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRSdW5uaW5nSW5zZWN1cmVDb250ZW50QWxsb3dlZChib29s
KTsKIAotICAgIC8vIFJlc2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGltYWdlcywgc3RvcmFnZSwg
ZGlzcGxheWluZyBpbnNlY3VyZSwgYnV0IG5vdCBydW5uaW5nIGluc2VjdXJlLgorICAgIC8vIFJl
c2V0cyB0aGUgcG9saWN5IHRvIGFsbG93IGV2ZXJ5dGhpbmcsIGV4Y2VwdCBmb3IgcnVubmluZyBp
bnNlY3VyZSBjb250ZW50LgogICAgIHZvaWQgcmVzZXQoKTsKIAogcHJpdmF0ZToKQEAgLTY3LDYg
KzY5LDcgQEAgcHJpdmF0ZToKICAgICBUZXN0U2hlbGwqIG1fc2hlbGw7CiAKICAgICBib29sIG1f
aW1hZ2VzQWxsb3dlZDsKKyAgICBib29sIG1fc2NyaXB0c0FsbG93ZWQ7CiAgICAgYm9vbCBtX3N0
b3JhZ2VBbGxvd2VkOwogICAgIGJvb2wgbV9wbHVnaW5zQWxsb3dlZDsKICAgICBib29sIG1fZGlz
cGxheWluZ0luc2VjdXJlQ29udGVudEFsbG93ZWQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTY5NjY4NjE3MDZlMTJmZjQ2
NTUyOTI1NTJkYmNmM2QwZDVmMWI5Mi4uMDVkMWMwZGU0MmU2OGU4ZDUwNzU4YWVhMDMwZDlkM2Q5
NDEzMjQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTI3ICBKb2NoZW4gRWlzaW5n
ZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBhbGxvd1NjcmlwdEZyb21T
b3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9u
Y2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3Jp
cHQtcGVybWlzc2lvbnMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMjcgIFZzZXZvbG9kIFZsYXNv
diAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
c2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZXMuaHRtbCBmYWlscyBvbiBhbGwgcGxhdGZvcm1zCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50
L3Jlc291cmNlcy9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJt
aXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2IyMzZmMWU2Mzg4
Y2I3MDdhOWYwYjdlYWQ1YTVlMmE2ZDU0NGFkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL3NjcmlwdC5q
cwpAQCAtMCwwICsxIEBACitsb2coJ0ZBSUw6IHNjcmlwdCBsb2FkZWQnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBl
cm1pc3Npb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Bl
cm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZDI2ZmE0MzI2MjA0MTRmZGNiNmMzMWYwNmZiNzBiZThjOWJmMThlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3Jp
cHQtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorUEVSTUlTU0lPTiBD
TElFTlQ6IGFsbG93U2NyaXB0RnJvbVNvdXJjZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1
bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9zY3JpcHQuanMpOiBmYWxzZQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Njcmlw
dC1wZXJtaXNzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlz
c2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmUzOGZlM2Y0
MWE1NDc1OGMxY2FkNjBkMzFjY2MzZDZmMGE4YjlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9zY3JpcHQtcGVybWlzc2lv
bnMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFBlcm1pc3Npb25DbGll
bnRDYWxsYmFja3MoKTsKK30KKworZnVuY3Rpb24gbG9nKGEpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxvZyIpLmlubmVySFRNTCArPSBhICsgIjxicj4iOworfQorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIGxheW91
dFRlc3RDb250cm9sbGVyLnNldFNjcmlwdHNBbGxvd2VkKQorICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRTY3JpcHRzQWxsb3dlZChmYWxzZSk7CisgICAgZWxzZQorICAgICAgICBsb2co
IlRoaXMgdGVzdCByZXF1aXJlcyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTY3JpcHRzQWxsb3dl
ZCwgc28gaXQgYmUgY2FuJ3QgcnVuIGluIGEgYnJvd3Nlci4iKTsKKworICAgIC8vIFRyeSB0byBs
b2FkIGFuIGV4dGVybmFsIHNjcmlwdC4KKyAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2NyaXB0Jyk7CisgICAgc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc2NyaXB0Lmpz
IjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NyaXB0IikuYXBwZW5kQ2hpbGQoc2Ny
aXB0KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRp
diBpZD0ic2NyaXB0Ij48L2Rpdj4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>