<?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>58128</bug_id>
          
          <creation_ts>2011-04-08 02:58:08 -0700</creation_ts>
          <short_desc>-[WebView setPreferences:] can take a lot of time if loading lots of webviews at once</short_desc>
          <delta_ts>2011-04-08 12:33:11 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>382110</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-08 02:58:08 -0700</bug_when>
    <thetext>-[WebView setPreferences:] can take a lot of time if loading lots of webviews at once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382112</commentid>
    <comment_count>1</comment_count>
      <attachid>88788</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-08 03:01:11 -0700</bug_when>
    <thetext>Created attachment 88788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382339</commentid>
    <comment_count>2</comment_count>
      <attachid>88788</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-08 10:17:45 -0700</bug_when>
    <thetext>Comment on attachment 88788
Patch

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

&gt; Source/WebKit/mac/WebView/WebPreferences.mm:1189
&gt; +    [[NSNotificationCenter defaultCenter]
&gt; +        postNotificationName:WebPreferencesChangedInternalNotification object:self
&gt; +                    userInfo:nil];
&gt; +    [[NSNotificationCenter defaultCenter]
&gt; +        postNotificationName:WebPreferencesChangedNotification object:self
&gt; +                    userInfo:nil];

I don’t like lining these up. Probably would read better all on one line.

&gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:54
&gt; +extern NSString *WebPreferencesChangedInternalNotification;

If this is an internal notification then it should probably be in an internal header, not a private header.

&gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:215
&gt; -- (void)_postPreferencesChangesNotification;
&gt; +- (void)_postPreferencesChangedNotification;
&gt; +- (void)_postPreferencesChangedAPINotification;

If these are private methods they may be used in applications that make use of SPI. Can we really rename them safely?

If these are internal methods they should be in an internal header, not a private one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382420</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-08 11:46:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 88788 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88788&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferences.mm:1189
&gt; &gt; +    [[NSNotificationCenter defaultCenter]
&gt; &gt; +        postNotificationName:WebPreferencesChangedInternalNotification object:self
&gt; &gt; +                    userInfo:nil];
&gt; &gt; +    [[NSNotificationCenter defaultCenter]
&gt; &gt; +        postNotificationName:WebPreferencesChangedNotification object:self
&gt; &gt; +                    userInfo:nil];
&gt; 
&gt; I don’t like lining these up. Probably would read better all on one line.

I just copied what the code was already doing. But I agree, will make it one line.

&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:54
&gt; &gt; +extern NSString *WebPreferencesChangedInternalNotification;
&gt; 
&gt; If this is an internal notification then it should probably be in an internal header, not a private header.
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:215
&gt; &gt; -- (void)_postPreferencesChangesNotification;
&gt; &gt; +- (void)_postPreferencesChangedNotification;
&gt; &gt; +- (void)_postPreferencesChangedAPINotification;
&gt; 
&gt; If these are private methods they may be used in applications that make use of SPI. Can we really rename them safely?
&gt; 
&gt; If these are internal methods they should be in an internal header, not a private one.

There isn&apos;t currently a WebPreferencesInternal.h header, and existing internal (rather than private) methods are in the private header. Should I factor out an Internal header as part of this change, or separately?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382457</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-08 12:33:11 -0700</bug_when>
    <thetext>Committed r83324: &lt;http://trac.webkit.org/changeset/83324&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88788</attachid>
            <date>2011-04-08 03:01:11 -0700</date>
            <delta_ts>2011-04-08 10:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58128-20110408030109.patch</filename>
            <type>text/plain</type>
            <size>18010</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzMjc2KQorKysgU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMDQtMDgg
IE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtW1dlYlZpZXcgc2V0UHJlZmVyZW5jZXM6XSBj
YW4gdGFrZSBhIGxvdCBvZiB0aW1lIGlmIGxvYWRpbmcgbG90cyBvZiB3ZWJ2aWV3cyBhdCBvbmNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTI0NDU1Mz4KKyAgICAgICAgCisgICAgICAgIFRoZSBy
b290IG9mIHRoZSBwcm9ibGVtIGhlcmUgd2FzIGFuIE8oTl4yKSBpc3N1ZSAtIGVhY2ggV2ViVmll
dywKKyAgICAgICAgdXBvbiBoYXZpbmcgaXRzIHByZWZlcmVuY2VzIGluaXRpYWxpemVkLCB3b3Vs
ZCBicm9hZGNhc3QgYQorICAgICAgICBub3RpZmljYXRpb24gdGhhdCB3YXMgbGlzdGVuZWQgdG8g
YnkgYWxsIG90aGVyIFdlYlZpZXdzIHNoYXJpbmcKKyAgICAgICAgaXRzIHByZWZlcmVuY2VzLgor
ICAgICAgICAKKyAgICAgICAgVG8gbWFpbnRhaW4gdGhlIEFQSSBjb250cmFjdCwgSSBzcGxpdCB0
aGUgbm90aWZpY2F0aW9uIGludG8gdHdvLAorICAgICAgICBvbmUgdGhhdCBpcyBmb3IgcHVibGlj
IEFQSSBjb25zdW1wdGlvbiwgYW5kIHRoZSBvdGhlciB3aGljaCBpcyBmb3IKKyAgICAgICAgaW50
ZXJuYWwgdXNlIG9ubHkuIENoYW5nZXMgdGhhdCBkb24ndCBuZWVkIHRvIGJlIHBpY2tlZCB1cCBi
eQorICAgICAgICBvdGhlciBXZWJWaWV3cyBicm9hZGNhc3QgdGhlIHB1YmxpYyBub3RpZmljYXRp
b24gb25seS4gQW5kIHdlCisgICAgICAgIGF2b2lkIFdlYlZpZXcgYnJvYWRjYXN0aW5nIGEgbm90
aWZpY2F0aW9uIGp1c3QgdG8gZ2V0IGl0c2VsZiB0bworICAgICAgICB1cGRhdGUuCisKKyAgICAg
ICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKC1bV2ViSWNvbkRhdGFiYXNl
IF9zdGFydFVwSWNvbkRhdGFiYXNlXSk6CisgICAgICAgICgtW1dlYkljb25EYXRhYmFzZSBfc2h1
dERvd25JY29uRGF0YWJhc2VdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBs
dWdpblZpZXcubW06CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgdmlld1dp
bGxNb3ZlVG9XaW5kb3c6XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcg
dmlld1dpbGxNb3ZlVG9TdXBlcnZpZXc6XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBs
dWdpblZpZXcgdmlld0RpZE1vdmVUb1dpbmRvd10pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2Nh
cGVQbHVnaW5WaWV3IHZpZXdXaWxsTW92ZVRvSG9zdFdpbmRvdzpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBpbml0V2l0
aElkZW50aWZpZXI6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRTdHJpbmdWYWx1
ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRJbnRlZ2VyVmFsdWU6
Zm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0RmxvYXRWYWx1ZTpmb3JL
ZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRCb29sVmFsdWU6Zm9yS2V5Ol0p
OgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0TG9uZ0xvbmdWYWx1ZTpmb3JLZXk6XSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRVbnNpZ25lZExvbmdMb25nVmFsdWU6Zm9y
S2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdFByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdFByZWZlcmVu
Y2VzQ2hhbmdlZEFQSU5vdGlmaWNhdGlvbl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOnVz
ZXNEb2N1bWVudFZpZXdzOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb246XSk6CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdl
ZDpdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRVc2VzUGFnZUNhY2hlOl0pOgorICAgICAgICAo
K1tXZWJWaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRQcmVmZXJlbmNl
czpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfa2V5Ym9hcmRVSU1vZGVdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgorCiAyMDExLTA0LTA3ICBBbmRyZXcgU2NoZXJrdXMg
IDxzY2hlcmt1c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IEVOQUJMRV9UUkFDSyBw
YXRjaCBkdWUgdG8gY29tcGlsZSBmYWlsdXJlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViSWNvbkRhdGFiYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViSWNvbkRhdGFiYXNlLm1tCShyZXZpc2lvbiA4MzIzOSkKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3
IEBACiAjaW1wb3J0ICJXZWJOU0ZpbGVNYW5hZ2VyRXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJOU05v
dGlmaWNhdGlvbkNlbnRlckV4dHJhcy5oIgogI2ltcG9ydCAiV2ViTlNVUkxFeHRyYXMuaCIKLSNp
bXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCisjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aCIKICNpbXBvcnQgIldlYlR5cGVzSW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvSWNvbkRh
dGFiYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ltYWdlLmg+CkBAIC0zMTMsNyArMzEzLDcgQEAg
LSAodm9pZClfc3RhcnRVcEljb25EYXRhYmFzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvYmplY3Q6TlNBcHBdOwogICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6QHNlbGVjdG9yKF9yZXNldENhY2hl
ZFdlYlByZWZlcmVuY2VzOikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6V2ViUHJlZmVy
ZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0Om5pbF07CiB9CiAKQEAgLTMyNCw3ICszMjQs
NyBAQCAtICh2b2lkKV9zaHV0RG93bkljb25EYXRhYmFzZQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6TlNBcHBsaWNhdGlvbldpbGxUZXJt
aW5hdGVOb3RpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2JqZWN0Ok5TQXBwXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZE5v
dGlmaWNhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0Om5p
bF07CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBl
UGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
YkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDgzMjM5KQorKysgU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC02MTksOSArNjE5LDkgQEAgLSAodm9pZCl2aWV3V2lsbE1vdmVUb1dpbmRvdzooTlNX
aW5kb3cgKgogICAgICAgICAgICAgLy8gVmlldyB3aWxsIGhhdmUgbm8gYXNzb2NpYXRlZCB3aW5k
b3dzLgogICAgICAgICAgICAgW3NlbGYgc3RvcF07CiAgICAgICAgICAgICAKLSAgICAgICAgICAg
IC8vIFN0b3Agb2JzZXJ2aW5nIFdlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiAtLSB3
ZSBvbmx5IG5lZWQgdG8gb2JzZXJ2ZSB0aGlzIHdoZW4gaW5zdGFsbGVkIGluIHRoZSB2aWV3IGhp
ZXJhcmNoeS4KKyAgICAgICAgICAgIC8vIFN0b3Agb2JzZXJ2aW5nIFdlYlByZWZlcmVuY2VzQ2hh
bmdlZEludGVybmFsTm90aWZpY2F0aW9uIC0tIHdlIG9ubHkgbmVlZCB0byBvYnNlcnZlIHRoaXMg
d2hlbiBpbnN0YWxsZWQgaW4gdGhlIHZpZXcgaGllcmFyY2h5LgogICAgICAgICAgICAgLy8gV2hl
biBub3QgaW4gdGhlIHZpZXcgaGllcmFyY2h5LCAtdmlld1dpbGxNb3ZlVG9XaW5kb3c6IGFuZCAt
dmlld0RpZE1vdmVUb1dpbmRvdyB3aWxsIHN0YXJ0L3N0b3AgdGhlIHBsdWdpbiBhcyBuZWVkZWQu
Ci0gICAgICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2Jq
ZWN0Om5pbF07CisgICAgICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5h
bE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTYzNCw5
ICs2MzQsOSBAQCAtICh2b2lkKXZpZXdXaWxsTW92ZVRvU3VwZXJ2aWV3OihOU1ZpZXcgCiAgICAg
ICAgIC8vIFRoZXJlIGlzIG5vIG5lZWQgdG8gc3RhcnQgdGhlIHBsdWctaW4gd2hlbiBtb3Zpbmcg
aW50byBhIHN1cGVydmlldy4gIC12aWV3RGlkTW92ZVRvV2luZG93IHRha2VzIGNhcmUgb2YgdGhh
dC4KICAgICAgICAgW3NlbGYgc3RvcF07CiAgICAgICAgIAotICAgICAgICAvLyBTdG9wIG9ic2Vy
dmluZyBXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gLS0gd2Ugb25seSBuZWVkIHRv
IG9ic2VydmUgdGhpcyB3aGVuIGluc3RhbGxlZCBpbiB0aGUgdmlldyBoaWVyYXJjaHkuCisgICAg
ICAgIC8vIFN0b3Agb2JzZXJ2aW5nIFdlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZp
Y2F0aW9uIC0tIHdlIG9ubHkgbmVlZCB0byBvYnNlcnZlIHRoaXMgd2hlbiBpbnN0YWxsZWQgaW4g
dGhlIHZpZXcgaGllcmFyY2h5LgogICAgICAgICAvLyBXaGVuIG5vdCBpbiB0aGUgdmlldyBoaWVy
YXJjaHksIC12aWV3V2lsbE1vdmVUb1dpbmRvdzogYW5kIC12aWV3RGlkTW92ZVRvV2luZG93IHdp
bGwgc3RhcnQvc3RvcCB0aGUgcGx1Z2luIGFzIG5lZWRlZC4KLSAgICAgICAgW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViUHJl
ZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgICAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpX
ZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAg
ICB9CiB9CiAKQEAgLTY0NSwxMSArNjQ1LDExIEBAIC0gKHZvaWQpdmlld0RpZE1vdmVUb1dpbmRv
dwogICAgIFtzZWxmIHJlc2V0VHJhY2tpbmdSZWN0XTsKICAgICAKICAgICBpZiAoW3NlbGYgd2lu
ZG93XSkgewotICAgICAgICAvLyBXaGlsZSBpbiB0aGUgdmlldyBoaWVyYXJjaHksIG9ic2VydmUg
V2ViUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIHNvIHRoYXQgd2UgY2FuIHN0YXJ0L3N0
b3AgZGVwZW5kaW5nCisgICAgICAgIC8vIFdoaWxlIGluIHRoZSB2aWV3IGhpZXJhcmNoeSwgb2Jz
ZXJ2ZSBXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBzbyB0aGF0IHdl
IGNhbiBzdGFydC9zdG9wIGRlcGVuZGluZwogICAgICAgICAvLyBvbiB3aGV0aGVyIHBsdWdpbnMg
YXJlIGVuYWJsZWQuCiAgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gYWRkT2JzZXJ2ZXI6c2VsZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGVjdG9yOkBzZWxlY3RvcihwcmVmZXJlbmNlc0hhdmVDaGFuZ2VkOikK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFt
ZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5n
ZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2JqZWN0Om5pbF07CiAKICAgICAgICAgX2lzUHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCA9IFtbW3NlbGYgd2ViVmlld10gcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2lu
Z0VuYWJsZWRdOwpAQCAtNjc3LDggKzY3Nyw4IEBAIC0gKHZvaWQpdmlld1dpbGxNb3ZlVG9Ib3N0
V2luZG93OihOU1dpbmQKICAgICAgICAgLy8gVmlldyB3aWxsIGhhdmUgbm8gYXNzb2NpYXRlZCB3
aW5kb3dzLgogICAgICAgICBbc2VsZiBzdG9wXTsKICAgICAgICAgCi0gICAgICAgIC8vIFJlbW92
ZSBXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JzZXJ2ZXIgLS0gd2Ugd2lsbCBv
YnNlcnZlIG9uY2UgYWdhaW4gd2hlbiB3ZSBtb3ZlIGJhY2sgaW50byB0aGUgd2luZG93Ci0gICAg
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
c2VsZiBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsK
KyAgICAgICAgLy8gUmVtb3ZlIFdlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0
aW9uIG9ic2VydmVyIC0tIHdlIHdpbGwgb2JzZXJ2ZSBvbmNlIGFnYWluIHdoZW4gd2UgbW92ZSBi
YWNrIGludG8gdGhlIHdpbmRvdworICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJ
bnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gODMyMzkp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAKIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb24gPSBAIldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiI7CiBO
U1N0cmluZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJl
bmNlc1JlbW92ZWROb3RpZmljYXRpb24iOworTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdl
ZEludGVybmFsTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5v
dGlmaWNhdGlvbiI7CiAKICNkZWZpbmUgS0VZKHgpIChfcHJpdmF0ZS0+aWRlbnRpZmllciA/IFtf
cHJpdmF0ZS0+aWRlbnRpZmllciBzdHJpbmdCeUFwcGVuZGluZ1N0cmluZzooeCldIDogKHgpKQog
CkBAIC0yMzIsNyArMjMzLDcgQEAgLSAoaWQpaW5pdFdpdGhJZGVudGlmaWVyOihOU1N0cmluZyAq
KWFuSQogCiAgICAgW1tzZWxmIGNsYXNzXSBfc2V0SW5zdGFuY2U6c2VsZiBmb3JJZGVudGlmaWVy
Ol9wcml2YXRlLT5pZGVudGlmaWVyXTsKIAotICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFu
Z2VzTm90aWZpY2F0aW9uXTsKKyAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbl07CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTQzNiw3ICs0MzcsNyBAQCAtICh2
b2lkKV9zZXRTdHJpbmdWYWx1ZTooTlNTdHJpbmcgKil2YWx1CiAgICAgW19wcml2YXRlLT52YWx1
ZXMgc2V0T2JqZWN0OnZhbHVlIGZvcktleTpfa2V5XTsKICAgICBpZiAoX3ByaXZhdGUtPmF1dG9z
YXZlcykKICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0
T2JqZWN0OnZhbHVlIGZvcktleTpfa2V5XTsKLSAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hh
bmdlc05vdGlmaWNhdGlvbl07CisgICAgW3NlbGYgX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3Rp
ZmljYXRpb25dOwogfQogCiAtIChpbnQpX2ludGVnZXJWYWx1ZUZvcktleTooTlNTdHJpbmcgKilr
ZXkKQEAgLTQ1Myw3ICs0NTQsNyBAQCAtICh2b2lkKV9zZXRJbnRlZ2VyVmFsdWU6KGludCl2YWx1
ZSBmb3JLCiAgICAgW19wcml2YXRlLT52YWx1ZXMgX3dlYmtpdF9zZXRJbnQ6dmFsdWUgZm9yS2V5
Ol9rZXldOwogICAgIGlmIChfcHJpdmF0ZS0+YXV0b3NhdmVzKQogICAgICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRJbnRlZ2VyOnZhbHVlIGZvcktleTpfa2V5
XTsKLSAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbl07CisgICAg
W3NlbGYgX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb25dOwogfQogCiAtIChmbG9h
dClfZmxvYXRWYWx1ZUZvcktleTooTlNTdHJpbmcgKilrZXkKQEAgLTQ3MCw3ICs0NzEsNyBAQCAt
ICh2b2lkKV9zZXRGbG9hdFZhbHVlOihmbG9hdCl2YWx1ZSBmb3JLCiAgICAgW19wcml2YXRlLT52
YWx1ZXMgX3dlYmtpdF9zZXRGbG9hdDp2YWx1ZSBmb3JLZXk6X2tleV07CiAgICAgaWYgKF9wcml2
YXRlLT5hdXRvc2F2ZXMpCiAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHNldEZsb2F0OnZhbHVlIGZvcktleTpfa2V5XTsKLSAgICBbc2VsZiBfcG9zdFByZWZl
cmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbl07CisgICAgW3NlbGYgX3Bvc3RQcmVmZXJlbmNlc0No
YW5nZWROb3RpZmljYXRpb25dOwogfQogCiAtIChCT09MKV9ib29sVmFsdWVGb3JLZXk6KE5TU3Ry
aW5nICopa2V5CkBAIC00ODYsNyArNDg3LDcgQEAgLSAodm9pZClfc2V0Qm9vbFZhbHVlOihCT09M
KXZhbHVlIGZvcktleQogICAgIFtfcHJpdmF0ZS0+dmFsdWVzIF93ZWJraXRfc2V0Qm9vbDp2YWx1
ZSBmb3JLZXk6X2tleV07CiAgICAgaWYgKF9wcml2YXRlLT5hdXRvc2F2ZXMpCiAgICAgICAgIFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6dmFsdWUgZm9yS2V5
Ol9rZXldOwotICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uXTsK
KyAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbl07CiB9CiAKIC0g
KGxvbmcgbG9uZylfbG9uZ0xvbmdWYWx1ZUZvcktleTooTlNTdHJpbmcgKilrZXkKQEAgLTUwMyw3
ICs1MDQsNyBAQCAtICh2b2lkKV9zZXRMb25nTG9uZ1ZhbHVlOihsb25nIGxvbmcpdmFsCiAgICAg
W19wcml2YXRlLT52YWx1ZXMgX3dlYmtpdF9zZXRMb25nTG9uZzp2YWx1ZSBmb3JLZXk6X2tleV07
CiAgICAgaWYgKF9wcml2YXRlLT5hdXRvc2F2ZXMpCiAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdM
b25nOnZhbHVlXSBmb3JLZXk6X2tleV07Ci0gICAgW3NlbGYgX3Bvc3RQcmVmZXJlbmNlc0NoYW5n
ZXNOb3RpZmljYXRpb25dOworICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZp
Y2F0aW9uXTsKIH0KIAogLSAodW5zaWduZWQgbG9uZyBsb25nKV91bnNpZ25lZExvbmdMb25nVmFs
dWVGb3JLZXk6KE5TU3RyaW5nICopa2V5CkBAIC01MjAsNyArNTIxLDcgQEAgLSAodm9pZClfc2V0
VW5zaWduZWRMb25nTG9uZ1ZhbHVlOih1bnNpZwogICAgIFtfcHJpdmF0ZS0+dmFsdWVzIF93ZWJr
aXRfc2V0VW5zaWduZWRMb25nTG9uZzp2YWx1ZSBmb3JLZXk6X2tleV07CiAgICAgaWYgKF9wcml2
YXRlLT5hdXRvc2F2ZXMpCiAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkTG9uZ0xvbmc6dmFs
dWVdIGZvcktleTpfa2V5XTsKLSAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlm
aWNhdGlvbl07CisgICAgW3NlbGYgX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb25d
OwogfQogCiAtIChOU1N0cmluZyAqKXN0YW5kYXJkRm9udEZhbWlseQpAQCAtMTE3Myw3ICsxMTc0
LDIyIEBAICsgKHZvaWQpX3JlbW92ZVJlZmVyZW5jZUZvcklkZW50aWZpZXI6KE4KICAgICAgICAg
W3NlbGYgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihfY2hlY2tMYXN0UmVmZXJlbmNlRm9ySWRl
bnRpZmllcjopIHdpdGhPYmplY3Q6W3NlbGYgX2NvbmNhdGVuYXRlS2V5V2l0aElCQ3JlYXRvcklE
OmlkZW50XSBhZnRlckRlbGF5OjAuMV07CiB9CiAKLS0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0No
YW5nZXNOb3RpZmljYXRpb24KKy0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmlj
YXRpb24KK3sKKyAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKSB7CisgICAgICAgIFtzZWxmIHBl
cmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZDpfY21kIHdpdGhPYmplY3Q6bmlsIHdhaXRVbnRpbERv
bmU6Tk9dOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXQorICAgICAgICBwb3N0Tm90aWZpY2F0aW9uTmFtZTpXZWJQcmVm
ZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZgorICAgICAgICAg
ICAgICAgICAgICB1c2VySW5mbzpuaWxdOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0KKyAgICAgICAgcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViUHJlZmVyZW5jZXND
aGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpzZWxmCisgICAgICAgICAgICAgICAgICAgIHVzZXJJ
bmZvOm5pbF07Cit9CisKKy0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWRBUElOb3RpZmlj
YXRpb24KIHsKICAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKSB7CiAgICAgICAgIFtzZWxmIHBl
cmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZDpfY21kIHdpdGhPYmplY3Q6bmlsIHdhaXRVbnRpbERv
bmU6Tk9dOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiA4MzIzOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUx
LDcgQEAgdHlwZWRlZiBlbnVtIHsKIAogZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0No
YW5nZWROb3RpZmljYXRpb247CiBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVtb3Zl
ZE5vdGlmaWNhdGlvbjsKK2V4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50
ZXJuYWxOb3RpZmljYXRpb247CiAKIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZh
dGUpCiAKQEAgLTIxMCw3ICsyMTEsOCBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQ
cml2YXRlKQogLSAodm9pZClzZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxl
ZDsKIAogLy8gT3RoZXIgcHJpdmF0ZSBtZXRob2RzCi0tICh2b2lkKV9wb3N0UHJlZmVyZW5jZXND
aGFuZ2VzTm90aWZpY2F0aW9uOworLSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbjsKKy0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWRBUElOb3RpZmljYXRpb247
CiArIChXZWJQcmVmZXJlbmNlcyAqKV9nZXRJbnN0YW5jZUZvcklkZW50aWZpZXI6KE5TU3RyaW5n
ICopaWRlbnRpZmllcjsKICsgKHZvaWQpX3NldEluc3RhbmNlOihXZWJQcmVmZXJlbmNlcyAqKWlu
c3RhbmNlIGZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcjsKICsgKHZvaWQpX3Jl
bW92ZVJlZmVyZW5jZUZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcjsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDgzMjM5KQorKysgU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Nzcs
MTAgKzc3NywxMCBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAK
ICAgICBXZWJQcmVmZXJlbmNlcyAqcHJlZnMgPSBbc2VsZiBwcmVmZXJlbmNlc107CiAgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVj
dG9yOkBzZWxlY3RvcihfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOldlYlByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6cHJlZnNdOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2Vk
SW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0OnByZWZzXTsKIAotICAgIC8vIFBvc3QgYSBub3Rp
ZmljYXRpb24gc28gdGhlIFdlYkNvcmUgc2V0dGluZ3MgdXBkYXRlLgotICAgIFtbc2VsZiBwcmVm
ZXJlbmNlc10gX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb25dOworICAgIFtzZWxm
IF9wcmVmZXJlbmNlc0NoYW5nZWQ6W3NlbGYgcHJlZmVyZW5jZXNdXTsKKyAgICBbW3NlbGYgcHJl
ZmVyZW5jZXNdIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uXTsKIAogICAg
IGlmICghV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9D
QUxfUkVTT1VSQ0VfU0VDVVJJVFlfUkVTVFJJQ1RJT04pKSB7CiAgICAgICAgIC8vIE9yaWdpbmFs
bHksIHdlIGFsbG93ZWQgYWxsIGxvY2FsIGxvYWRzLgpAQCAtMTQ0MSw4ICsxNDQxLDEyIEBAIC0g
KEJPT0wpX25lZWRzVW5yZXN0cmljdGVkR2V0TWF0Y2hlZENTU1IKIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsK
ICAgICBXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMgPSAoV2ViUHJlZmVyZW5jZXMgKilbbm90
aWZpY2F0aW9uIG9iamVjdF07CisgICAgW3NlbGYgX3ByZWZlcmVuY2VzQ2hhbmdlZDpwcmVmZXJl
bmNlc107Cit9CisKKy0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMg
KilwcmVmZXJlbmNlcworeyAgICAKICAgICBBU1NFUlQocHJlZmVyZW5jZXMgPT0gW3NlbGYgcHJl
ZmVyZW5jZXNdKTsKLSAgICAKICAgICBpZiAoIV9wcml2YXRlLT51c2VyQWdlbnRPdmVycmlkZGVu
KQogICAgICAgICBfcHJpdmF0ZS0+dXNlckFnZW50ID0gU3RyaW5nKCk7CiAKQEAgLTIyODcsOCAr
MjI5MSw5IEBAIC0gKHZvaWQpc2V0VXNlc1BhZ2VDYWNoZTooQk9PTCl1c2VzUGFnZUMKIHsKICAg
ICBfcHJpdmF0ZS0+dXNlc1BhZ2VDYWNoZSA9IHVzZXNQYWdlQ2FjaGU7CiAKLSAgICAvLyBQb3N0
IGEgbm90aWZpY2F0aW9uIHNvIHRoZSBXZWJDb3JlIHNldHRpbmdzIHVwZGF0ZS4KLSAgICBbW3Nl
bGYgcHJlZmVyZW5jZXNdIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uXTsKKyAg
ICAvLyBVcGRhdGUgb3VyIG93biBzZXR0aW5ncyBhbmQgcG9zdCB0aGUgcHVibGljIG5vdGlmaWNh
dGlvbiBvbmx5CisgICAgW3NlbGYgX3ByZWZlcmVuY2VzQ2hhbmdlZDpbc2VsZiBwcmVmZXJlbmNl
c11dOworICAgIFtbc2VsZiBwcmVmZXJlbmNlc10gX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWRBUElO
b3RpZmljYXRpb25dOwogfQogCiAtIChXZWJIaXN0b3J5SXRlbSAqKV9nbG9iYWxIaXN0b3J5SXRl
bQpAQCAtMjg3Myw3ICsyODc4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKIAogICAgIFtbTlNOb3RpZmlj
YXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2Vs
ZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZSkgbmFtZTpOU0FwcGxpY2F0aW9uV2lsbFRl
cm1pbmF0ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwotICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
X3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFu
Z2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZl
cmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50
ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfcHJl
ZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOikgbmFtZTpXZWJQcmVmZXJlbmNlc1JlbW92ZWRO
b3RpZmljYXRpb24gb2JqZWN0Om5pbF07ICAgIAogCiAgICAgY29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZv
cktleTpXZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOwpAQCAtMzM3OCwxNSArMzM4
MywxNiBAQCAtICh2b2lkKXNldFByZWZlcmVuY2VzOihXZWJQcmVmZXJlbmNlcyAqCiAKICAgICBX
ZWJQcmVmZXJlbmNlcyAqb2xkUHJlZnMgPSBfcHJpdmF0ZS0+cHJlZmVyZW5jZXM7CiAKLSAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYg
bmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0OltzZWxmIHByZWZl
cmVuY2VzXV07CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1v
dmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmlj
YXRpb24gb2JqZWN0OltzZWxmIHByZWZlcmVuY2VzXV07CiAgICAgW1dlYlByZWZlcmVuY2VzIF9y
ZW1vdmVSZWZlcmVuY2VGb3JJZGVudGlmaWVyOltvbGRQcmVmcyBpZGVudGlmaWVyXV07CiAKICAg
ICBfcHJpdmF0ZS0+cHJlZmVyZW5jZXMgPSBbcHJlZnMgcmV0YWluXTsKIAogICAgIC8vIEFmdGVy
IHJlZ2lzdGVyaW5nIGZvciB0aGUgbm90aWZpY2F0aW9uLCBwb3N0IGl0IHNvIHRoZSBXZWJDb3Jl
IHNldHRpbmdzIHVwZGF0ZS4KICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9wcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb246KQotICAgICAgICBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbiBvYmplY3Q6W3NlbGYgcHJlZmVyZW5jZXNdXTsKLSAgICBbW3NlbGYgcHJlZmVyZW5j
ZXNdIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uXTsKKyAgICAgICAgbmFtZTpX
ZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6W3NlbGYgcHJl
ZmVyZW5jZXNdXTsKKyAgICBbc2VsZiBfcHJlZmVyZW5jZXNDaGFuZ2VkOltzZWxmIHByZWZlcmVu
Y2VzXV07CisgICAgW1tzZWxmIHByZWZlcmVuY2VzXSBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZEFQ
SU5vdGlmaWNhdGlvbl07CiAKICAgICBbb2xkUHJlZnMgZGlkUmVtb3ZlRnJvbVdlYlZpZXddOwog
ICAgIFtvbGRQcmVmcyByZWxlYXNlXTsKQEAgLTU5ODksNyArNTk5NSw3IEBAIC0gKEtleWJvYXJk
VUlNb2RlKV9rZXlib2FyZFVJTW9kZQogCiAgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gCiAgICAgICAgICAgICBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3RvcihfcmV0cmlldmVLZXlib2FyZFVJTW9kZUZyb21QcmVmZXJlbmNlczopIAotICAgICAg
ICAgICAgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07
CisgICAgICAgICAgICBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0
aW9uIG9iamVjdDpuaWxdOwogICAgIH0KICAgICByZXR1cm4gX3ByaXZhdGUtPl9rZXlib2FyZFVJ
TW9kZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJu
YWwuaAkocmV2aXNpb24gODMyMzkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODMsNiArMTgzLDggQEAgQGludGVyZmFj
ZSBXZWJWaWV3IChXZWJWaWV3T3RoZXJJbnRlcm5hbAogCiAtICh2b2lkKV9zZXRJbnNlcnRpb25Q
YXN0ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYXN0ZWJvYXJkOwogCistICh2b2lkKV9wcmVmZXJl
bmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVyZW5jZXM7CisKICNpZiBFTkFCTEUo
VklERU8pICYmIGRlZmluZWQoX19jcGx1c3BsdXMpCiAtICh2b2lkKV9lbnRlckZ1bGxzY3JlZW5G
b3JOb2RlOihXZWJDb3JlOjpOb2RlKilub2RlOwogLSAodm9pZClfZXhpdEZ1bGxzY3JlZW47Cg==
</data>
<flag name="review"
          id="81358"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>