<?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>104910</bug_id>
          
          <creation_ts>2012-12-13 06:39:42 -0800</creation_ts>
          <short_desc>[GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage</short_desc>
          <delta_ts>2012-12-14 08:59:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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 name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790554</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-13 06:39:42 -0800</bug_when>
    <thetext>Instead of using persistent credential storage when private mode is active, WebKitGTK+ should just use session storage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790636</commentid>
    <comment_count>1</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-12-13 08:33:41 -0800</bug_when>
    <thetext>I&apos;ll take a look</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791517</commentid>
    <comment_count>2</comment_count>
      <attachid>179463</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-12-14 03:35:08 -0800</bug_when>
    <thetext>Created attachment 179463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791518</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-14 03:37:35 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791527</commentid>
    <comment_count>4</comment_count>
      <attachid>179463</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-14 04:02:44 -0800</bug_when>
    <thetext>Comment on attachment 179463
Patch

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

Great patch! If you were a committer I&apos;d r+ and have you land with a few small changes. I have just a few small aesthetic suggestions to make the code more WebKitty.

&gt; Source/WebCore/platform/gtk/GtkAuthenticationDialog.cpp:260
&gt; +        CredentialPersistence persistence;
&gt; +
&gt; +        if (rememberPassword &amp;&amp; dialog-&gt;m_browsingMode == NormalMode)
&gt; +            persistence = CredentialPersistencePermanent;
&gt; +        else
&gt; +            persistence = CredentialPersistenceForSession;

This could be one line.

&gt; Source/WebCore/platform/gtk/GtkAuthenticationDialog.h:40
&gt; +    enum BrowsingMode {
&gt; +        NormalMode, // The user is asked whether to store credential information
&gt; +        PrivateMode // Credential information is only kept in the session
&gt; +    };

I think that it would make more sense for the authentication dialog to have no knowledge of the concept of browsing mode. Instead the naming of these could be something like:

enum PersistentStorageAllowed {
    AllowPersistentStorage,
    DisallowPersistentStorage,
}

WebKit comments that are complete sentences should end with a period, but I think it&apos;s also okay to omit the comments here since the naming is clear enough.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:1622
&gt; +    GtkAuthenticationDialog::BrowsingMode browsingMode;
&gt; +
&gt; +    if (webkit_settings_get_enable_private_browsing(webView-&gt;priv-&gt;settings.get()))
&gt; +        browsingMode = GtkAuthenticationDialog::PrivateMode;
&gt; +    else
&gt; +        browsingMode = GtkAuthenticationDialog::NormalMode;
&gt; +

This could probably just be one line:

PersistentStorageAllowed persistentStorage = webkit_settings_get_enable_private_browsing(webView-&gt;priv-&gt;settings.get()) ? GtkAuthenticationDialog::AllowPersistentStorage ? GtkAuthenticationDialog::DisallowPersistentStorage;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791533</commentid>
    <comment_count>5</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-12-14 04:26:42 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; +        CredentialPersistence persistence;
&gt; &gt; +
&gt; &gt; +        if (rememberPassword &amp;&amp; dialog-&gt;m_browsingMode == NormalMode)
&gt; &gt; +            persistence = CredentialPersistencePermanent;
&gt; &gt; +        else
&gt; &gt; +            persistence = CredentialPersistenceForSession;
&gt;
&gt; This could be one line.

I know, I did it on purpose because the alternative is a 150+ column
line, and I think it&apos;s much more readable like this.

But I can change it if you think it&apos;s better.

&gt; I think that it would make more sense for the authentication dialog
&gt; &gt; to have no knowledge of the concept of browsing mode. Instead the
&gt; &gt; naming of these could be something like:
&gt;
&gt; enum PersistentStorageAllowed {
&gt;     AllowPersistentStorage,
&gt;     DisallowPersistentStorage,
&gt; }

That sounds good to me.

&gt; WebKit comments that are complete sentences should end with a period

I can also fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791545</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-14 05:06:07 -0800</bug_when>
    <thetext>(In reply to comment #5)

&gt; I know, I did it on purpose because the alternative is a 150+ column
&gt; line, and I think it&apos;s much more readable like this.
&gt; 
&gt; But I can change it if you think it&apos;s better.

You can always break the line too. Lines in WebKit typically go to 120 columns and beyond. I usually break mine around 120 columns. Up to you in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791604</commentid>
    <comment_count>7</comment_count>
      <attachid>179481</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2012-12-14 07:46:53 -0800</bug_when>
    <thetext>Created attachment 179481
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791646</commentid>
    <comment_count>8</comment_count>
      <attachid>179481</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-14 08:58:57 -0800</bug_when>
    <thetext>Comment on attachment 179481
Patch v2

Clearing flags on attachment: 179481

Committed r137748: &lt;http://trac.webkit.org/changeset/137748&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791647</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-14 08:59:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179463</attachid>
            <date>2012-12-14 03:35:08 -0800</date>
            <delta_ts>2012-12-14 07:46:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>private.diff</filename>
            <type>text/plain</type>
            <size>12208</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MDljZjk2Li41MTRjY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTItMTItMTQgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdIFdoZW4gaW4gcHJpdmF0ZSBtb2RlIFdlYktpdEdUSysgc2hvdWxkIG5vdCBz
YXZlIEhUVFAgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gdGhlIHBlcnNpc3RlbnQgc3Rv
cmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
OTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IG5ldyBicm93c2luZyBtb2RlIHBhcmFtZXRlciB0byBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy4g
SW4KKyAgICAgICAgcHJpdmF0ZSBicm93c2luZyBtb2RlLCB0aGUgIlJlbWVtYmVyIHBhc3N3b3Jk
IiBjaGVjayBidXR0b24gaXMgbm90CisgICAgICAgIHNob3duIGFuZCB0aGUgY3JlZGVudGlhbHMg
YXJlIGFsd2F5cyBzdG9yZWQgaW4gdGhlIHNlc3Npb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvR3RrQXV0aGVudGljYXRpb25EaWFsb2cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3RrQXV0
aGVudGljYXRpb25EaWFsb2c6Okd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKToKKyAgICAgICAgKFdl
YkNvcmU6Okd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpjcmVhdGVDb250ZW50c0luQ29udGFpbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6Okd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpidXR0b25DbGlj
a2VkQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRp
YWxvZy5oOgorICAgICAgICAoR3RrQXV0aGVudGljYXRpb25EaWFsb2cpOgorCiAyMDEyLTEyLTEx
ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVH
UkVTU0lPTihyMTM2OTQ4KTogaW5zcGVjdG9yL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jh
c2guaHRtbCBoaXRzIGFuIGFzc2VydGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0d0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKaW5kZXggOTkyYTViYy4uY2I1
NmRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0F1dGhlbnRp
Y2F0aW9uRGlhbG9nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrQXV0
aGVudGljYXRpb25EaWFsb2cuY3BwCkBAIC0zMiwyMSArMzIsMjMgQEAgc3RhdGljIGNvbnN0IGlu
dCBnTGF5b3V0Q29sdW1uU3BhY2luZyA9IDEyOwogc3RhdGljIGNvbnN0IGludCBnTGF5b3V0Um93
U3BhY2luZyA9IDY7CiBzdGF0aWMgY29uc3QgaW50IGdCdXR0b25TcGFjaW5nID0gNTsKIAotR3Rr
QXV0aGVudGljYXRpb25EaWFsb2c6Okd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGNvbnN0IEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UpCitHdGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6
R3RrQXV0aGVudGljYXRpb25EaWFsb2coY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNo
YWxsZW5nZSwgQnJvd3NpbmdNb2RlIG1vZGUpCiAgICAgOiBtX2RpYWxvZygwKQogICAgICwgbV9s
b2dpbkVudHJ5KDApCiAgICAgLCBtX3Bhc3N3b3JkRW50cnkoMCkKICAgICAsIG1fcmVtZW1iZXJD
aGVja0J1dHRvbigwKQogICAgICwgbV9jaGFsbGVuZ2UoY2hhbGxlbmdlKQorICAgICwgbV9icm93
c2luZ01vZGUobW9kZSkKIHsKIH0KIAotR3RrQXV0aGVudGljYXRpb25EaWFsb2c6Okd0a0F1dGhl
bnRpY2F0aW9uRGlhbG9nKEd0a1dpbmRvdyogcGFyZW50V2luZG93LCBjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKQorR3RrQXV0aGVudGljYXRpb25EaWFsb2c6Okd0a0F1
dGhlbnRpY2F0aW9uRGlhbG9nKEd0a1dpbmRvdyogcGFyZW50V2luZG93LCBjb25zdCBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBCcm93c2luZ01vZGUgbW9kZSkKICAgICA6IG1f
ZGlhbG9nKGd0a19kaWFsb2dfbmV3KCkpCiAgICAgLCBtX2xvZ2luRW50cnkoMCkKICAgICAsIG1f
cGFzc3dvcmRFbnRyeSgwKQogICAgICwgbV9yZW1lbWJlckNoZWNrQnV0dG9uKDApCiAgICAgLCBt
X2NoYWxsZW5nZShjaGFsbGVuZ2UpCisgICAgLCBtX2Jyb3dzaW5nTW9kZShtb2RlKQogewogICAg
IEd0a1dpZGdldCogY29udGVudEFyZWEgPSBndGtfZGlhbG9nX2dldF9jb250ZW50X2FyZWEoR1RL
X0RJQUxPRyhtX2RpYWxvZykpOwogICAgIGd0a19jb250YWluZXJfc2V0X2JvcmRlcl93aWR0aChH
VEtfQ09OVEFJTkVSKEdUS19ESUFMT0cobV9kaWFsb2cpKSwgNSk7CkBAIC0xNzIsNiArMTc0LDcg
QEAgdm9pZCBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6Y3JlYXRlQ29udGVudHNJbkNvbnRhaW5l
cihHdGtXaWRnZXQqIGNvbnRhaW5lcikKIAogICAgIG1fcmVtZW1iZXJDaGVja0J1dHRvbiA9IGd0
a19jaGVja19idXR0b25fbmV3X3dpdGhfbW5lbW9uaWMoXygiX1JlbWVtYmVyIHBhc3N3b3JkIikp
OwogICAgIGd0a19sYWJlbF9zZXRfbGluZV93cmFwKEdUS19MQUJFTChndGtfYmluX2dldF9jaGls
ZChHVEtfQklOKG1fcmVtZW1iZXJDaGVja0J1dHRvbikpKSwgVFJVRSk7CisgICAgZ3RrX3dpZGdl
dF9zZXRfbm9fc2hvd19hbGwobV9yZW1lbWJlckNoZWNrQnV0dG9uLCBtX2Jyb3dzaW5nTW9kZSA9
PSBQcml2YXRlTW9kZSk7CiAKIAogICAgIC8vIFdlIGFyZSBhZGRpbmcgdGhlIGJ1dHRvbiBib3gg
aGVyZSBtYW51YWxseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWFkeS1tYWRlIEd0a0RpYWxvZyBi
dXR0b25zLgpAQCAtMjQ4LDggKzI1MSwxNCBAQCB2b2lkIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9n
OjpidXR0b25DbGlja2VkQ2FsbGJhY2soR3RrV2lkZ2V0KiBidXR0b24sIEd0a0F1dGhlbgogICAg
IGlmIChidXR0b24gPT0gZGlhbG9nLT5tX29rYXlCdXR0b24pIHsKICAgICAgICAgY29uc3QgY2hh
ciAqdXNlcm5hbWUgPSBndGtfZW50cnlfZ2V0X3RleHQoR1RLX0VOVFJZKGRpYWxvZy0+bV9sb2dp
bkVudHJ5KSk7CiAgICAgICAgIGNvbnN0IGNoYXIgKnBhc3N3b3JkID0gZ3RrX2VudHJ5X2dldF90
ZXh0KEdUS19FTlRSWShkaWFsb2ctPm1fcGFzc3dvcmRFbnRyeSkpOwotICAgICAgICBDcmVkZW50
aWFsUGVyc2lzdGVuY2UgcGVyc2lzdGVuY2UgPSBndGtfdG9nZ2xlX2J1dHRvbl9nZXRfYWN0aXZl
KEdUS19UT0dHTEVfQlVUVE9OKGRpYWxvZy0+bV9yZW1lbWJlckNoZWNrQnV0dG9uKSkgPwotICAg
ICAgICAgICAgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50IDogQ3JlZGVudGlhbFBlcnNp
c3RlbmNlRm9yU2Vzc2lvbjsKKyAgICAgICAgYm9vbCByZW1lbWJlclBhc3N3b3JkID0gZ3RrX3Rv
Z2dsZV9idXR0b25fZ2V0X2FjdGl2ZShHVEtfVE9HR0xFX0JVVFRPTihkaWFsb2ctPm1fcmVtZW1i
ZXJDaGVja0J1dHRvbikpOworICAgICAgICBDcmVkZW50aWFsUGVyc2lzdGVuY2UgcGVyc2lzdGVu
Y2U7CisKKyAgICAgICAgaWYgKHJlbWVtYmVyUGFzc3dvcmQgJiYgZGlhbG9nLT5tX2Jyb3dzaW5n
TW9kZSA9PSBOb3JtYWxNb2RlKQorICAgICAgICAgICAgcGVyc2lzdGVuY2UgPSBDcmVkZW50aWFs
UGVyc2lzdGVuY2VQZXJtYW5lbnQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBlcnNpc3Rl
bmNlID0gQ3JlZGVudGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbjsKKwogICAgICAgICBjcmVkZW50
aWFsID0gQ3JlZGVudGlhbChTdHJpbmc6OmZyb21VVEY4KHVzZXJuYW1lKSwgU3RyaW5nOjpmcm9t
VVRGOChwYXNzd29yZCksIHBlcnNpc3RlbmNlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmgKaW5kZXggOGE4
ZDU2My4uODVhMTYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0
a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L0d0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmgKQEAgLTM0LDggKzM0LDEzIEBAIGNsYXNzIEd0a0F1
dGhlbnRpY2F0aW9uRGlhbG9nIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAogcHVi
bGljOgotICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJik7Ci0gICAgR3RrQXV0aGVudGljYXRpb25EaWFsb2coR3RrV2luZG93KiwgY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKKyAgICBlbnVtIEJyb3dzaW5nTW9kZSB7CisgICAg
ICAgIE5vcm1hbE1vZGUsIC8vIFRoZSB1c2VyIGlzIGFza2VkIHdoZXRoZXIgdG8gc3RvcmUgY3Jl
ZGVudGlhbCBpbmZvcm1hdGlvbgorICAgICAgICBQcml2YXRlTW9kZSAvLyBDcmVkZW50aWFsIGlu
Zm9ybWF0aW9uIGlzIG9ubHkga2VwdCBpbiB0aGUgc2Vzc2lvbgorICAgIH07CisKKyAgICBHdGtB
dXRoZW50aWNhdGlvbkRpYWxvZyhjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIEJyb3dz
aW5nTW9kZSk7CisgICAgR3RrQXV0aGVudGljYXRpb25EaWFsb2coR3RrV2luZG93KiwgY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBCcm93c2luZ01vZGUpOwogICAgIHZpcnR1YWwgfkd0
a0F1dGhlbnRpY2F0aW9uRGlhbG9nKCkgeyB9CiAgICAgdm9pZCBzaG93KCk7CiAgICAgdm9pZCBk
ZXN0cm95KCk7CkBAIC01Myw2ICs1OCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgYnV0dG9uQ2xpY2tlZENhbGxiYWNrKEd0a1dpZGdldCosIEd0a0F1dGhlbnRpY2F0
aW9uRGlhbG9nKik7CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jaGFsbGVuZ2U7Cisg
ICAgQnJvd3NpbmdNb2RlIG1fYnJvd3NpbmdNb2RlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDlkYjUyNmQuLjc1YmFhMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMi0xNCAgQWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lh
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gV2hlbiBpbiBwcml2YXRlIG1vZGUgV2ViS2l0
R1RLKyBzaG91bGQgbm90IHNhdmUgSFRUUCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyB0byB0
aGUgcGVyc2lzdGVudCBzdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDQ5MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgV2hlbiBjcmVhdGluZyB0aGUgR3RrQXV0
aGVudGljYXRpb25EaWFsb2csIHNldCB0aGUgYnJvd3NpbmcgbW9kZQorICAgICAgICB1c2luZyB0
aGUgc2V0dGluZyBmcm9tIHRoZSBjdXJyZW50IHBhZ2UuCisKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0c291cGF1dGhkaWFsb2cuY3BwOgorICAgICAgICAoc2Vzc2lvbkF1dGhlbnRpY2F0ZSk6Cisg
ICAgICAgIENyZWF0ZSB0aGUgR3RrQXV0aGVudGljYXRpb25EaWFsb2cgaW4gcHJpdmF0ZSBtb2Rl
IGFsd2F5cywgYXMgd2UKKyAgICAgICAgYXJlIG5vdCBoYW5kbGluZyB0aGUgY3JlZGVudGlhbCBw
ZXJzaXN0ZW5jZSBoZXJlLgorCiAyMDEyLTEyLTExICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ292ZXJpdHldIFtHVEtdIFJlbW92ZSBzb21lIHJl
ZHVuZGFudCBudWxsIGNoZWNrcyBpbiBEdW1wUmVuZGVyVHJlZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmlu
ZGV4IDg4NjBjNjMuLmFmY2UwNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTE5Nyw5ICsxOTcs
MTcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoV2ViQ29yZTo6RG9jdW0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIEd0a1dpZGdldCogdG9wbGV2ZWwgPSBndGtfd2lkZ2V0X2dldF90b3BsZXZlbChHVEtfV0lE
R0VUKHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1fZnJhbWUpKSk7CisgICAgV2ViS2l0
V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1fZnJhbWUpOwor
ICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpCcm93c2luZ01vZGUgYnJvd3NpbmdNb2RlOwor
CisgICAgaWYgKGNvcmUodmlldyktPnNldHRpbmdzKCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQo
KSkKKyAgICAgICAgYnJvd3NpbmdNb2RlID0gR3RrQXV0aGVudGljYXRpb25EaWFsb2c6OlByaXZh
dGVNb2RlOworICAgIGVsc2UKKyAgICAgICAgYnJvd3NpbmdNb2RlID0gR3RrQXV0aGVudGljYXRp
b25EaWFsb2c6Ok5vcm1hbE1vZGU7CisKKyAgICBHdGtXaWRnZXQqIHRvcGxldmVsID0gZ3RrX3dp
ZGdldF9nZXRfdG9wbGV2ZWwoR1RLX1dJREdFVCh2aWV3KSk7CiAgICAgR3RrV2luZG93KiB0b3Bs
ZXZlbFdpbmRvdyA9IHdpZGdldElzT25zY3JlZW5Ub3BsZXZlbFdpbmRvdyh0b3BsZXZlbCkgPyBH
VEtfV0lORE9XKHRvcGxldmVsKSA6IDA7Ci0gICAgR3RrQXV0aGVudGljYXRpb25EaWFsb2cqIGRp
YWxvZyA9IG5ldyBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyh0b3BsZXZlbFdpbmRvdywgY2hhbGxl
bmdlKTsKKyAgICBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyogZGlhbG9nID0gbmV3IEd0a0F1dGhl
bnRpY2F0aW9uRGlhbG9nKHRvcGxldmVsV2luZG93LCBjaGFsbGVuZ2UsIGJyb3dzaW5nTW9kZSk7
CiAgICAgZGlhbG9nLT5zaG93KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRzb3VwYXV0aGRpYWxvZy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0c291cGF1dGhkaWFsb2cuY3BwCmluZGV4IGRhMTYxMTQuLmQ4MzQxNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzb3VwYXV0aGRpYWxvZy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmNwcApA
QCAtMTQzLDcgKzE0Myw3IEBAIHN0YXRpYyB2b2lkIHNlc3Npb25BdXRoZW50aWNhdGUoU291cFNl
c3Npb24qIHNlc3Npb24sIFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBTb3VwCiAgICAgLy8gaW1wb3Nz
aWJsZSB3aXRoIGdjYywgZHVlIHRvIFdlYktpdFNvdXBBdXRoRGlhbG9nQXV0aGVudGljYXRpb25D
bGllbnQncyB0d28gc3VwZXJjbGFzc2VzLgogICAgIGNsaWVudC0+ZGVyZWZXZWJLaXRTb3VwQXV0
aERpYWxvZ0F1dGhlbnRpY2F0aW9uQ2xpZW50KCk7CiAKLSAgICBHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZyogYXV0aERpYWxvZyA9IG5ldyBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyh0b3BsZXZlbCwg
Y2hhbGxlbmdlKTsKKyAgICBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyogYXV0aERpYWxvZyA9IG5l
dyBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyh0b3BsZXZlbCwgY2hhbGxlbmdlLCBHdGtBdXRoZW50
aWNhdGlvbkRpYWxvZzo6UHJpdmF0ZU1vZGUpOwogICAgIGF1dGhEaWFsb2ctPnNob3coKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDMyMjJjMDAuLmFjNWJmMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MiBAQAorMjAxMi0xMi0xNCAgQWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gV2hlbiBpbiBwcml2YXRlIG1vZGUgV2ViS2l0R1RLKyBzaG91bGQgbm90
IHNhdmUgSFRUUCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyB0byB0aGUgcGVyc2lzdGVudCBz
dG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ5MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6V2ViS2l0Mkd0
a0F1dGhlbnRpY2F0aW9uRGlhbG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuaDoKKyAgICAgICAgKFdlYktpdDJHdGtBdXRoZW50
aWNhdGlvbkRpYWxvZyk6CisgICAgICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nIGhhcyBhIG5l
dyBicm93c2luZyBtb2RlIHBhcmFtZXRlciwgc28gYWRkCisgICAgICAgIGl0IGhlcmUgdG9vLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAg
ICh3ZWJraXRXZWJWaWV3SGFuZGxlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICBX
aGVuIGNyZWF0aW5nIHRoZSBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZywgc2V0IHRoZSBicm93c2lu
ZyBtb2RlCisgICAgICAgIHVzaW5nIHRoZSBzZXR0aW5nIGZyb20gdGhlIGN1cnJlbnQgcGFnZS4K
KwogMjAxMi0xMi0xMSAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBJbmNyZWFzZSB0aGUgdGltZW91dCBvZiB0aGUgQVBJ
IHVuaXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuY3BwCmluZGV4IDEz
ZWZlOGMuLjUyZjZjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcApA
QCAtMzgsOCArMzgsOCBAQCBzdGF0aWMgZ2Jvb2xlYW4gZHJhd1NpZ25hbChHdGtXaWRnZXQqIHdp
ZGdldCwgY2Fpcm9fdCogY3IsIEd0a1N0eWxlQ29udGV4dCogc3R5bAogICAgIHJldHVybiBGQUxT
RTsKIH0KIAotV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpXZWJLaXQyR3RrQXV0aGVu
dGljYXRpb25EaWFsb2coQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSogYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpCi0gICAgOiBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZS0+Y29yZSgpKQorV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpXZWJL
aXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2coQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSog
YXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIEJyb3dzaW5nTW9kZSBtb2RlKQorICAgIDogR3RrQXV0
aGVudGljYXRpb25EaWFsb2coYXV0aGVudGljYXRpb25DaGFsbGVuZ2UtPmNvcmUoKSwgbW9kZSkK
ICAgICAsIG1fYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoYXV0aGVudGljYXRpb25DaGFsbGVuZ2Up
CiAgICAgLCBtX3N0eWxlQ29udGV4dChhZG9wdEdSZWYoZ3RrX3N0eWxlX2NvbnRleHRfbmV3KCkp
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuaAppbmRleCA2NzA2NDYyLi5jNWMz
NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXQy
R3RrQXV0aGVudGljYXRpb25EaWFsb2cuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuaApAQCAtMzEsNyArMzEsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlh
bG9nIDogcHVibGljIFdlYkNvcmU6Okd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nIHsKIHB1YmxpYzoK
LSAgICBXZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2coQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eSopOworICAgIFdlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5KiwgQnJvd3NpbmdNb2RlKTsKICAgICB2aXJ0dWFsIH5XZWJLaXQy
R3RrQXV0aGVudGljYXRpb25EaWFsb2coKSB7IH0KICAgICBHdGtXaWRnZXQqIHdpZGdldCgpIHsg
cmV0dXJuIG1fZGlhbG9nOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZmIwYzVlZC4uODA4MzBhNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBA
IC0xNjEyLDcgKzE2MTIsMTUgQEAgdm9pZCB3ZWJraXRXZWJWaWV3U3VibWl0Rm9ybVJlcXVlc3Qo
V2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0Rm9ybVN1Ym1pc3Npb24KIAogdm9pZCB3ZWJr
aXRXZWJWaWV3SGFuZGxlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSogYXV0aGVudGljYXRpb25DaGFsbGVu
Z2UpCiB7Ci0gICAgV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKiBkaWFsb2cgPSBuZXcg
V2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKTsK
KyAgICBXZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cqIGRpYWxvZzsKKyAgICBHdGtBdXRo
ZW50aWNhdGlvbkRpYWxvZzo6QnJvd3NpbmdNb2RlIGJyb3dzaW5nTW9kZTsKKworICAgIGlmICh3
ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHdlYlZpZXctPnByaXYt
PnNldHRpbmdzLmdldCgpKSkKKyAgICAgICAgYnJvd3NpbmdNb2RlID0gR3RrQXV0aGVudGljYXRp
b25EaWFsb2c6OlByaXZhdGVNb2RlOworICAgIGVsc2UKKyAgICAgICAgYnJvd3NpbmdNb2RlID0g
R3RrQXV0aGVudGljYXRpb25EaWFsb2c6Ok5vcm1hbE1vZGU7CisKKyAgICBkaWFsb2cgPSBuZXcg
V2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBi
cm93c2luZ01vZGUpOwogICAgIHdlYmtpdFdlYlZpZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFs
b2coV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldyksIGRpYWxvZyk7CiAgICAgZGlhbG9nLT5z
aG93KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179481</attachid>
            <date>2012-12-14 07:46:53 -0800</date>
            <delta_ts>2012-12-14 08:58:57 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>private.diff</filename>
            <type>text/plain</type>
            <size>12697</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MDljZjk2Li44MjRlZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMTItMTQgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdIFdoZW4gaW4gcHJpdmF0ZSBtb2RlIFdlYktpdEdUSysgc2hvdWxkIG5vdCBz
YXZlIEhUVFAgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gdGhlIHBlcnNpc3RlbnQgc3Rv
cmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
OTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IG5ldyBwYXJhbWV0ZXIgdG8gR3RrQXV0aGVudGljYXRpb25EaWFsb2cgdG8gc2VsZWN0IHdoZXRo
ZXIgd2UKKyAgICAgICAgYWxsb3cgcGVyc2lzdGVudCBzdG9yYWdlIG9mIGNyZWRlbnRpYWwgaW5m
b3JtYXRpb24gb3Igbm90LiBJbiB0aGUKKyAgICAgICAgbGF0dGVyIGNhc2UsIHRoZSAiUmVtZW1i
ZXIgcGFzc3dvcmQiIGNoZWNrIGJ1dHRvbiBpcyBub3Qgc2hvd24gYW5kCisgICAgICAgIHRoZSBj
cmVkZW50aWFscyBhcmUgYWx3YXlzIHN0b3JlZCBpbiB0aGUgc2Vzc2lvbi4KKworICAgICAgICAq
IHBsYXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHdGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6R3RrQXV0aGVudGljYXRpb25EaWFsb2cpOgor
ICAgICAgICAoV2ViQ29yZTo6R3RrQXV0aGVudGljYXRpb25EaWFsb2c6OmNyZWF0ZUNvbnRlbnRz
SW5Db250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3RrQXV0aGVudGljYXRpb25EaWFsb2c6
OmJ1dHRvbkNsaWNrZWRDYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0d0a0F1dGhl
bnRpY2F0aW9uRGlhbG9nLmg6CisgICAgICAgIChHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyk6CisK
IDIwMTItMTItMTEgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSRUdSRVNTSU9OKHIxMzY5NDgpOiBpbnNwZWN0b3Ivc3R5bGVzL2ltcG9ydC1wc2V1
ZG9jbGFzcy1jcmFzaC5odG1sIGhpdHMgYW4gYXNzZXJ0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrQXV0aGVudGljYXRpb25EaWFsb2cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcAppbmRleCA5
OTJhNWJjLi5jNGEyZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
R3RrQXV0aGVudGljYXRpb25EaWFsb2cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKQEAgLTMyLDIxICszMiwyMyBAQCBzdGF0
aWMgY29uc3QgaW50IGdMYXlvdXRDb2x1bW5TcGFjaW5nID0gMTI7CiBzdGF0aWMgY29uc3QgaW50
IGdMYXlvdXRSb3dTcGFjaW5nID0gNjsKIHN0YXRpYyBjb25zdCBpbnQgZ0J1dHRvblNwYWNpbmcg
PSA1OwogCi1HdGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6R3RrQXV0aGVudGljYXRpb25EaWFsb2co
Y29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkKK0d0a0F1dGhlbnRpY2F0
aW9uRGlhbG9nOjpHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhjb25zdCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYgY2hhbGxlbmdlLCBDcmVkZW50aWFsU3RvcmFnZU1vZGUgbW9kZSkKICAgICA6IG1f
ZGlhbG9nKDApCiAgICAgLCBtX2xvZ2luRW50cnkoMCkKICAgICAsIG1fcGFzc3dvcmRFbnRyeSgw
KQogICAgICwgbV9yZW1lbWJlckNoZWNrQnV0dG9uKDApCiAgICAgLCBtX2NoYWxsZW5nZShjaGFs
bGVuZ2UpCisgICAgLCBtX2NyZWRlbnRpYWxTdG9yYWdlTW9kZShtb2RlKQogewogfQogCi1HdGtB
dXRoZW50aWNhdGlvbkRpYWxvZzo6R3RrQXV0aGVudGljYXRpb25EaWFsb2coR3RrV2luZG93KiBw
YXJlbnRXaW5kb3csIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UpCitH
dGtBdXRoZW50aWNhdGlvbkRpYWxvZzo6R3RrQXV0aGVudGljYXRpb25EaWFsb2coR3RrV2luZG93
KiBwYXJlbnRXaW5kb3csIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2Us
IENyZWRlbnRpYWxTdG9yYWdlTW9kZSBtb2RlKQogICAgIDogbV9kaWFsb2coZ3RrX2RpYWxvZ19u
ZXcoKSkKICAgICAsIG1fbG9naW5FbnRyeSgwKQogICAgICwgbV9wYXNzd29yZEVudHJ5KDApCiAg
ICAgLCBtX3JlbWVtYmVyQ2hlY2tCdXR0b24oMCkKICAgICAsIG1fY2hhbGxlbmdlKGNoYWxsZW5n
ZSkKKyAgICAsIG1fY3JlZGVudGlhbFN0b3JhZ2VNb2RlKG1vZGUpCiB7CiAgICAgR3RrV2lkZ2V0
KiBjb250ZW50QXJlYSA9IGd0a19kaWFsb2dfZ2V0X2NvbnRlbnRfYXJlYShHVEtfRElBTE9HKG1f
ZGlhbG9nKSk7CiAgICAgZ3RrX2NvbnRhaW5lcl9zZXRfYm9yZGVyX3dpZHRoKEdUS19DT05UQUlO
RVIoR1RLX0RJQUxPRyhtX2RpYWxvZykpLCA1KTsKQEAgLTE3Miw2ICsxNzQsNyBAQCB2b2lkIEd0
a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpjcmVhdGVDb250ZW50c0luQ29udGFpbmVyKEd0a1dpZGdl
dCogY29udGFpbmVyKQogCiAgICAgbV9yZW1lbWJlckNoZWNrQnV0dG9uID0gZ3RrX2NoZWNrX2J1
dHRvbl9uZXdfd2l0aF9tbmVtb25pYyhfKCJfUmVtZW1iZXIgcGFzc3dvcmQiKSk7CiAgICAgZ3Rr
X2xhYmVsX3NldF9saW5lX3dyYXAoR1RLX0xBQkVMKGd0a19iaW5fZ2V0X2NoaWxkKEdUS19CSU4o
bV9yZW1lbWJlckNoZWNrQnV0dG9uKSkpLCBUUlVFKTsKKyAgICBndGtfd2lkZ2V0X3NldF9ub19z
aG93X2FsbChtX3JlbWVtYmVyQ2hlY2tCdXR0b24sIG1fY3JlZGVudGlhbFN0b3JhZ2VNb2RlID09
IERpc2FsbG93UGVyc2lzdGVudFN0b3JhZ2UpOwogCiAKICAgICAvLyBXZSBhcmUgYWRkaW5nIHRo
ZSBidXR0b24gYm94IGhlcmUgbWFudWFsbHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVhZHktbWFk
ZSBHdGtEaWFsb2cgYnV0dG9ucy4KQEAgLTI0OCw4ICsyNTEsMTQgQEAgdm9pZCBHdGtBdXRoZW50
aWNhdGlvbkRpYWxvZzo6YnV0dG9uQ2xpY2tlZENhbGxiYWNrKEd0a1dpZGdldCogYnV0dG9uLCBH
dGtBdXRoZW4KICAgICBpZiAoYnV0dG9uID09IGRpYWxvZy0+bV9va2F5QnV0dG9uKSB7CiAgICAg
ICAgIGNvbnN0IGNoYXIgKnVzZXJuYW1lID0gZ3RrX2VudHJ5X2dldF90ZXh0KEdUS19FTlRSWShk
aWFsb2ctPm1fbG9naW5FbnRyeSkpOwogICAgICAgICBjb25zdCBjaGFyICpwYXNzd29yZCA9IGd0
a19lbnRyeV9nZXRfdGV4dChHVEtfRU5UUlkoZGlhbG9nLT5tX3Bhc3N3b3JkRW50cnkpKTsKLSAg
ICAgICAgQ3JlZGVudGlhbFBlcnNpc3RlbmNlIHBlcnNpc3RlbmNlID0gZ3RrX3RvZ2dsZV9idXR0
b25fZ2V0X2FjdGl2ZShHVEtfVE9HR0xFX0JVVFRPTihkaWFsb2ctPm1fcmVtZW1iZXJDaGVja0J1
dHRvbikpID8KLSAgICAgICAgICAgIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCA6IENy
ZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb247CisgICAgICAgIGJvb2wgcmVtZW1iZXJQYXNz
d29yZCA9IGd0a190b2dnbGVfYnV0dG9uX2dldF9hY3RpdmUoR1RLX1RPR0dMRV9CVVRUT04oZGlh
bG9nLT5tX3JlbWVtYmVyQ2hlY2tCdXR0b24pKTsKKyAgICAgICAgQ3JlZGVudGlhbFBlcnNpc3Rl
bmNlIHBlcnNpc3RlbmNlOworCisgICAgICAgIGlmIChyZW1lbWJlclBhc3N3b3JkICYmIGRpYWxv
Zy0+bV9jcmVkZW50aWFsU3RvcmFnZU1vZGUgPT0gQWxsb3dQZXJzaXN0ZW50U3RvcmFnZSkKKyAg
ICAgICAgICAgIHBlcnNpc3RlbmNlID0gQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50Owor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBwZXJzaXN0ZW5jZSA9IENyZWRlbnRpYWxQZXJzaXN0
ZW5jZUZvclNlc3Npb247CisKICAgICAgICAgY3JlZGVudGlhbCA9IENyZWRlbnRpYWwoU3RyaW5n
Ojpmcm9tVVRGOCh1c2VybmFtZSksIFN0cmluZzo6ZnJvbVVURjgocGFzc3dvcmQpLCBwZXJzaXN0
ZW5jZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
R3RrQXV0aGVudGljYXRpb25EaWFsb2cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9H
dGtBdXRoZW50aWNhdGlvbkRpYWxvZy5oCmluZGV4IDhhOGQ1NjMuLjM3N2M4MWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtBdXRoZW50aWNhdGlvbkRpYWxv
Zy5oCkBAIC0zNCw4ICszNCwxMyBAQCBjbGFzcyBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKIHB1YmxpYzoKLSAgICBHdGtBdXRoZW50aWNh
dGlvbkRpYWxvZyhjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwotICAgIEd0a0F1dGhl
bnRpY2F0aW9uRGlhbG9nKEd0a1dpbmRvdyosIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CisgICAgZW51bSBDcmVkZW50aWFsU3RvcmFnZU1vZGUgeworICAgICAgICBBbGxvd1BlcnNp
c3RlbnRTdG9yYWdlLCAvLyBUaGUgdXNlciBpcyBhc2tlZCB3aGV0aGVyIHRvIHN0b3JlIGNyZWRl
bnRpYWwgaW5mb3JtYXRpb24uCisgICAgICAgIERpc2FsbG93UGVyc2lzdGVudFN0b3JhZ2UgLy8g
Q3JlZGVudGlhbCBpbmZvcm1hdGlvbiBpcyBvbmx5IGtlcHQgaW4gdGhlIHNlc3Npb24uCisgICAg
fTsKKworICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJiwgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlKTsKKyAgICBHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZyhHdGtXaW5kb3cqLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIENyZWRlbnRp
YWxTdG9yYWdlTW9kZSk7CiAgICAgdmlydHVhbCB+R3RrQXV0aGVudGljYXRpb25EaWFsb2coKSB7
IH0KICAgICB2b2lkIHNob3coKTsKICAgICB2b2lkIGRlc3Ryb3koKTsKQEAgLTUzLDYgKzU4LDcg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBidXR0b25DbGlja2VkQ2Fs
bGJhY2soR3RrV2lkZ2V0KiwgR3RrQXV0aGVudGljYXRpb25EaWFsb2cqKTsKICAgICBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSBtX2NoYWxsZW5nZTsKKyAgICBDcmVkZW50aWFsU3RvcmFnZU1vZGUg
bV9jcmVkZW50aWFsU3RvcmFnZU1vZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKaW5kZXggOWRiNTI2ZC4uZGJmYmFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDEyLTEyLTE0ICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBXaGVuIGluIHByaXZhdGUgbW9kZSBXZWJLaXRHVEsrIHNo
b3VsZCBub3Qgc2F2ZSBIVFRQIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIHRoZSBwZXJz
aXN0ZW50IHN0b3JhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDkxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UpOgorICAgICAgICBXaGVuIGNyZWF0aW5nIHRoZSBHdGtBdXRoZW50aWNh
dGlvbkRpYWxvZywgc2V0IHRoZSBjcmVkZW50aWFsCisgICAgICAgIHN0b3JhZ2UgbW9kZSB1c2lu
ZyB0aGUgcHJpdmF0ZSBicm93c2luZyBzZXR0aW5nIGZyb20gdGhlIGN1cnJlbnQKKyAgICAgICAg
cGFnZS4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRzb3VwYXV0aGRpYWxvZy5jcHA6CisgICAg
ICAgIChzZXNzaW9uQXV0aGVudGljYXRlKToKKyAgICAgICAgQ3JlYXRlIHRoZSBHdGtBdXRoZW50
aWNhdGlvbkRpYWxvZyB3aXRoIG5vIHBlcnNpc3RlbnQgc3RvcmFnZQorICAgICAgICBhbGxvd2Vk
LCBhcyB3ZSBhcmUgbm90IGhhbmRsaW5nIHRoZSBjcmVkZW50aWFsIHBlcnNpc3RlbmNlIGhlcmUu
CisKIDIwMTItMTItMTEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtDb3Zlcml0eV0gW0dUS10gUmVtb3ZlIHNvbWUgcmVkdW5kYW50IG51bGwgY2hl
Y2tzIGluIER1bXBSZW5kZXJUcmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggODg2MGM2My4uNTQ0
YWE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAtMTk3LDkgKzE5NywxNyBAQCB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShX
ZWJDb3JlOjpEb2N1bQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgR3RrV2lkZ2V0KiB0
b3BsZXZlbCA9IGd0a193aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQod2Via2l0X3dlYl9m
cmFtZV9nZXRfd2ViX3ZpZXcobV9mcmFtZSkpKTsKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0g
d2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobV9mcmFtZSk7CisgICAgR3RrQXV0aGVudGlj
YXRpb25EaWFsb2c6OkNyZWRlbnRpYWxTdG9yYWdlTW9kZSBjcmVkZW50aWFsU3RvcmFnZU1vZGU7
CisKKyAgICBpZiAoY29yZSh2aWV3KS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCgpKQorICAgICAgICBjcmVkZW50aWFsU3RvcmFnZU1vZGUgPSBHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZzo6RGlzYWxsb3dQZXJzaXN0ZW50U3RvcmFnZTsKKyAgICBlbHNlCisgICAgICAgIGNyZWRl
bnRpYWxTdG9yYWdlTW9kZSA9IEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpBbGxvd1BlcnNpc3Rl
bnRTdG9yYWdlOworCisgICAgR3RrV2lkZ2V0KiB0b3BsZXZlbCA9IGd0a193aWRnZXRfZ2V0X3Rv
cGxldmVsKEdUS19XSURHRVQodmlldykpOwogICAgIEd0a1dpbmRvdyogdG9wbGV2ZWxXaW5kb3cg
PSB3aWRnZXRJc09uc2NyZWVuVG9wbGV2ZWxXaW5kb3codG9wbGV2ZWwpID8gR1RLX1dJTkRPVyh0
b3BsZXZlbCkgOiAwOwotICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKiBkaWFsb2cgPSBuZXcg
R3RrQXV0aGVudGljYXRpb25EaWFsb2codG9wbGV2ZWxXaW5kb3csIGNoYWxsZW5nZSk7CisgICAg
R3RrQXV0aGVudGljYXRpb25EaWFsb2cqIGRpYWxvZyA9IG5ldyBHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZyh0b3BsZXZlbFdpbmRvdywgY2hhbGxlbmdlLCBjcmVkZW50aWFsU3RvcmFnZU1vZGUpOwog
ICAgIGRpYWxvZy0+c2hvdygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmNwcAppbmRleCBkYTE2MTE0Li5mNDlhZmVmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuY3BwCkBA
IC0xNDMsNyArMTQzLDcgQEAgc3RhdGljIHZvaWQgc2Vzc2lvbkF1dGhlbnRpY2F0ZShTb3VwU2Vz
c2lvbiogc2Vzc2lvbiwgU291cE1lc3NhZ2UqIG1lc3NhZ2UsIFNvdXAKICAgICAvLyBpbXBvc3Np
YmxlIHdpdGggZ2NjLCBkdWUgdG8gV2ViS2l0U291cEF1dGhEaWFsb2dBdXRoZW50aWNhdGlvbkNs
aWVudCdzIHR3byBzdXBlcmNsYXNzZXMuCiAgICAgY2xpZW50LT5kZXJlZldlYktpdFNvdXBBdXRo
RGlhbG9nQXV0aGVudGljYXRpb25DbGllbnQoKTsKIAotICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlh
bG9nKiBhdXRoRGlhbG9nID0gbmV3IEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKHRvcGxldmVsLCBj
aGFsbGVuZ2UpOworICAgIEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKiBhdXRoRGlhbG9nID0gbmV3
IEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKHRvcGxldmVsLCBjaGFsbGVuZ2UsIEd0a0F1dGhlbnRp
Y2F0aW9uRGlhbG9nOjpEaXNhbGxvd1BlcnNpc3RlbnRTdG9yYWdlKTsKICAgICBhdXRoRGlhbG9n
LT5zaG93KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzMjIyYzAwLi42ZDBhZjg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMTItMTQgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFdoZW4gaW4gcHJpdmF0ZSBtb2RlIFdlYktpdEdU
Sysgc2hvdWxkIG5vdCBzYXZlIEhUVFAgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gdGhl
IHBlcnNpc3RlbnQgc3RvcmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA0OTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25E
aWFsb2cuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFs
b2c6OldlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmg6CisgICAgICAgIChXZWJL
aXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cpOgorICAgICAgICBHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZyBoYXMgYSBuZXcgY3JlZGVudGlhbCBzdG9yYWdlIG1vZGUKKyAgICAgICAgcGFyYW1ldGVy
LCBzbyBhZGQgaXQgaGVyZSB0b28uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdIYW5kbGVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSk6CisgICAgICAgIFdoZW4gY3JlYXRpbmcgdGhlIEd0a0F1dGhlbnRpY2F0aW9u
RGlhbG9nLCBzZXQgdGhlIGNyZWRlbnRpYWwKKyAgICAgICAgc3RvcmFnZSBtb2RlIHVzaW5nIHRo
ZSBwcml2YXRlIGJyb3dzaW5nIHNldHRpbmcgZnJvbSB0aGUgY3VycmVudAorICAgICAgICBwYWdl
LgorCiAyMDEyLTEyLTExICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEluY3JlYXNlIHRoZSB0aW1lb3V0IG9mIHRoZSBB
UEkgdW5pdCB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKaW5kZXgg
MTNlZmU4Yy4uODNkZDY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuY3Bw
CkBAIC0zOCw4ICszOCw4IEBAIHN0YXRpYyBnYm9vbGVhbiBkcmF3U2lnbmFsKEd0a1dpZGdldCog
d2lkZ2V0LCBjYWlyb190KiBjciwgR3RrU3R5bGVDb250ZXh0KiBzdHlsCiAgICAgcmV0dXJuIEZB
TFNFOwogfQogCi1XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2c6OldlYktpdDJHdGtBdXRo
ZW50aWNhdGlvbkRpYWxvZyhBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5KiBhdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSkKLSAgICA6IEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLT5jb3JlKCkpCitXZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2c6Oldl
YktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
KiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlIG1vZGUpCisg
ICAgOiBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhhdXRoZW50aWNhdGlvbkNoYWxsZW5nZS0+Y29y
ZSgpLCBtb2RlKQogICAgICwgbV9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSkKICAgICAsIG1fc3R5bGVDb250ZXh0KGFkb3B0R1JlZihndGtfc3R5bGVfY29u
dGV4dF9uZXcoKSkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXQyR3RrQXV0aGVudGljYXRpb25EaWFsb2cuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5oCmluZGV4IDY3
MDY0NjIuLjlmZjIxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZy5oCkBAIC0z
MSw3ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJLaXQyR3RrQXV0aGVu
dGljYXRpb25EaWFsb2cgOiBwdWJsaWMgV2ViQ29yZTo6R3RrQXV0aGVudGljYXRpb25EaWFsb2cg
ewogcHVibGljOgotICAgIFdlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5Kik7CisgICAgV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9n
KEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqLCBDcmVkZW50aWFsU3RvcmFnZU1vZGUpOwog
ICAgIHZpcnR1YWwgfldlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZygpIHsgfQogICAgIEd0
a1dpZGdldCogd2lkZ2V0KCkgeyByZXR1cm4gbV9kaWFsb2c7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBmYjBjNWVk
Li43MzYxNGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3LmNwcApAQCAtMTYxMiw3ICsxNjEyLDE1IEBAIHZvaWQgd2Via2l0V2ViVmll
d1N1Ym1pdEZvcm1SZXF1ZXN0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdEZvcm1TdWJt
aXNzaW9uCiAKIHZvaWQgd2Via2l0V2ViVmlld0hhbmRsZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqIGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotICAgIFdlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRp
YWxvZyogZGlhbG9nID0gbmV3IFdlYktpdDJHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyhhdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSk7CisgICAgV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKiBk
aWFsb2c7CisgICAgR3RrQXV0aGVudGljYXRpb25EaWFsb2c6OkNyZWRlbnRpYWxTdG9yYWdlTW9k
ZSBjcmVkZW50aWFsU3RvcmFnZU1vZGU7CisKKyAgICBpZiAod2Via2l0X3NldHRpbmdzX2dldF9l
bmFibGVfcHJpdmF0ZV9icm93c2luZyh3ZWJWaWV3LT5wcml2LT5zZXR0aW5ncy5nZXQoKSkpCisg
ICAgICAgIGNyZWRlbnRpYWxTdG9yYWdlTW9kZSA9IEd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nOjpE
aXNhbGxvd1BlcnNpc3RlbnRTdG9yYWdlOworICAgIGVsc2UKKyAgICAgICAgY3JlZGVudGlhbFN0
b3JhZ2VNb2RlID0gR3RrQXV0aGVudGljYXRpb25EaWFsb2c6OkFsbG93UGVyc2lzdGVudFN0b3Jh
Z2U7CisKKyAgICBkaWFsb2cgPSBuZXcgV2ViS2l0Mkd0a0F1dGhlbnRpY2F0aW9uRGlhbG9nKGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBjcmVkZW50aWFsU3RvcmFnZU1vZGUpOwogICAgIHdlYmtp
dFdlYlZpZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFsb2coV0VCS0lUX1dFQl9WSUVXX0JBU0Uo
d2ViVmlldyksIGRpYWxvZyk7CiAgICAgZGlhbG9nLT5zaG93KCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>