<?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>71770</bug_id>
          
          <creation_ts>2011-11-07 23:09:49 -0800</creation_ts>
          <short_desc>Web Inspector: display notification in the front-end when inspected worker terminates</short_desc>
          <delta_ts>2011-11-08 05:06:53 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>fishd</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497765</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-07 23:09:49 -0800</bug_when>
    <thetext>When inspected worker terminates we should display a notification to let the user know that the worker has gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497766</commentid>
    <comment_count>1</comment_count>
      <attachid>113996</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-07 23:14:19 -0800</bug_when>
    <thetext>Created attachment 113996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497768</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 23:17:19 -0800</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>497774</commentid>
    <comment_count>3</comment_count>
      <attachid>113996</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-07 23:27:44 -0800</bug_when>
    <thetext>Comment on attachment 113996
Patch

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

We have a similar scenario in the remote debugging: front-end should display &quot;disconnected / terminated&quot; message upon socket close event. You should wire that event to the disconnected screen as well.

&gt; Source/WebCore/inspector/front-end/HelpScreen.js:57
&gt; +WebInspector.HelpScreen.visibleScreen_ = null;

Could you extract this refactoring into a separate change?

&gt; Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h:69
&gt; +    virtual void agentDestroyed();

It might be that we disconnected from the agent, it is not necessarily destroyed. At least in the downstream case, I would use &quot;disconnect&quot;, not &quot;destroy&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497779</commentid>
    <comment_count>4</comment_count>
      <attachid>113996</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-07 23:33:56 -0800</bug_when>
    <thetext>Comment on attachment 113996
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h:69
&gt;&gt; +    virtual void agentDestroyed();
&gt; 
&gt; It might be that we disconnected from the agent, it is not necessarily destroyed. At least in the downstream case, I would use &quot;disconnect&quot;, not &quot;destroy&quot;.

If we need to listen to regular disconnect event there should be a separate method. This one is only called when inspected instance is actually destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497813</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-08 00:50:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.

I defer to pfeldman&apos;s review here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497940</commentid>
    <comment_count>6</comment_count>
      <attachid>114038</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-08 04:30:11 -0800</bug_when>
    <thetext>Created attachment 114038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497950</commentid>
    <comment_count>7</comment_count>
      <attachid>114038</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-08 04:49:04 -0800</bug_when>
    <thetext>Comment on attachment 114038
Patch

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

&gt; Source/WebCore/inspector/front-end/inspector.js:464
&gt; +    WebInspector.log(&quot;disconnectFromBackend&quot;);

Please remove this trace.

&gt; Source/WebCore/inspector/front-end/inspector.js:857
&gt; +    WebInspector.log(&quot;frontendReused&quot;);

ditto

&gt; Source/WebKit/chromium/public/WebDevToolsAgent.h:95
&gt; +    WEBKIT_EXPORT static WebString createFrontendDisconnectedEvent();

disconnectEventAsText() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497954</commentid>
    <comment_count>8</comment_count>
      <attachid>114041</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-08 04:56:29 -0800</bug_when>
    <thetext>Created attachment 114041
Patch for landing

All comments addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497963</commentid>
    <comment_count>9</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-08 05:06:53 -0800</bug_when>
    <thetext>Committed r99554: &lt;http://trac.webkit.org/changeset/99554&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113996</attachid>
            <date>2011-11-07 23:14:19 -0800</date>
            <delta_ts>2011-11-08 04:30:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71770-20111108111417.patch</filename>
            <type>text/plain</type>
            <size>14836</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk0MTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwNzc0OWYxNDUyZDc5MjNh
ZmM4NTBjMWIwMjIzNTM0ZjExZTI1N2IyLi4yN2I1OTI3YmNjNGZhNTNkNTgzMTVlZTU0MjdlZTkz
ZjVlYWQwZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzIgQEAKIDIwMTEtMTEtMDcgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZGlzcGxheSBub3RpZmljYXRpb24gaW4gdGhlIGZyb250LWVuZCB3aGVuIGluc3BlY3RlZCB3
b3JrZXIgdGVybWluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3NzAKKworICAgICAgICBXaGVuIGluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRl
cyB3ZSB3aWxsIHNob3cgYSBub3RpZmljYXRpb24gc2ltaWxhciB0byB0aGUgaGVscAorICAgICAg
ICBzY3JlZW4uIFRoZSBub3RpZmljYXRpb24gZGlzYXBwZWFycyB3aGVuIHRoZSB3b3JrZXIgcmVz
dGFydHMgb3IgdGhlIHVzZXIgY2xvc2VzIGl0CisgICAgICAgIG1hbnVhbGx5LgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSGVscFNj
cmVlbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5zaG93
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5oaWRlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TaG9ydGN1dHNTY3JlZW4pOiBTaG9ydGN1dHNTY3JlZW4gaXMgbm93IGEgZGVzY2VuZGFu
dCBvZiB0aGUgSGVscFNjcmVlbgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NjcmVl
bi5wcm90b3R5cGUuc2hvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJN
YW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLl9zaG93V29ya2VyVGVybWluYXRl
ZFNjcmVlbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyVGVybWluYXRlZFNjcmVlbik6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuX2hpZGVTZXR0aW5nc1NjcmVlbik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
ZG9jdW1lbnRLZXlEb3duKToKKworMjAxMS0xMS0wNyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlz
QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbQ2hyb21pdW1dIFdlYiBJbnNwZWN0b3I6IHVzZSBu
YXRpdmUgd29ya2VyIGluc3BlY3RvciBpbnN0ZWFkIG9mIGZha2Ugd29ya2VycwogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2NzAKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCBiNDA5OTJjNjQ0Y2Y5OTQ3OGEyN2Y0MDJjODNmZDMxYjFlYmI5
YTgzLi5lZDkyNzM4YjBkMzlhZTFmYTNhNzUzMGUxZjc5MGJlNjhmNzc2YWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDExLTExLTA3ICBZdXJ5IFNlbWlr
aGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRp
c3BsYXkgbm90aWZpY2F0aW9uIGluIHRoZSBmcm9udC1lbmQgd2hlbiBpbnNwZWN0ZWQgd29ya2Vy
IHRlcm1pbmF0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxNzcwCisKKyAgICAgICAgRXhwb3NlZCBhbiBBUEkgZm9yIHRoZSBicm93c2VyIHRvIG5v
dGlmeSBpbnNwZWN0b3IgZnJvbnQtZW5kIHdoZW4gaW5zcGVjZWQgaW5zdGFuY2UKKyAgICAgICAg
dGVybWluYXRlcy4gSXQgaXMgdXNlZCBub3cgZm9yIHRyYWNraW5nIHNoYXJlZCB3b3JrZXJzIHRl
cm1pbmF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmQuaDoKKyAgICAgICAgKiBzcmMvV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250
ZW5kSW1wbDo6ZGlzcGF0Y2hPbkluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKFdlYktpdDo6
V2ViRGV2VG9vbHNGcm9udGVuZEltcGw6OmFnZW50RGVzdHJveWVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZEltcGw6OmZyb250ZW5kTG9hZGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZEltcGw6OmNhbGxPbkJhY2tlbmRPYmplY3QpOgorICAg
ICAgICAqIHNyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oOgorCisyMDExLTExLTA3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtDaHJvbWl1bV0g
V2ViIEluc3BlY3RvcjogdXNlIG5hdGl2ZSB3b3JrZXIgaW5zcGVjdG9yIGluc3RlYWQgb2YgZmFr
ZSB3b3JrZXJzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTY3MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKaW5kZXggMTUwMjYxYzdlNGUxNDdiODYwNTQzMjMzMTllMGZkYTRiNmRiZjcxMS4u
MDJlMGFhYmNlODhlMjU3ZGIxN2YyZWJhMTJlZDEyNWUzMzg0ZmE1YSAxMDA2NDQKR0lUIGJpbmFy
eSBwYXRjaApkZWx0YSAzNTYKemNtWm8kel9NdXglWjRCRXRPWDNJNDlVfWRuSGp9LU9NdUtHaEZw
ZUJoQ0dKRSRwYGc/eGpsaWJWZ2BmfmVpUzdQCnpDNmgwej5ROX4hJEhJPVJDXkxnMDV2V1VuMFps
UWBeYmBnP3B0d0tLKU1Pd30wY2NZUmtTcWVTaS1Ee31BZ2N0ZAp6dm03ajI0d1RPVUxJdDJxMzBP
WHZBcF4pT1ZhU0sqbyY1aWd0ZlVAOzU8QEpJWnd0Z3E0Q3BTVnVWV0AoViR9aEsKSyRMNFNHMHZp
QVZIQllTbwoKZGVsdGEgMjIKZWNtZG5BZ3IjaSglWjRCRWxmOUN9Q2lBcyhaRldnfHc7bGo8OXx7
UW8KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlbHBT
Y3JlZW4uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlbHBTY3JlZW4u
anMKaW5kZXggNzFhZDIyMTE3ZWU2MDA3YjdkY2M2NGYwMmU3YmEyNzdjNDkxZjY1NC4uYzM0OTNj
ODkyYjc1ZTIwYmUyMGEwMzJiZjljZDdlYTJlMDFjNDU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWxwU2NyZWVuLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVscFNjcmVlbi5qcwpAQCAtNTQsMTIgKzU0LDE4IEBA
IFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuID0gZnVuY3Rpb24odGl0bGUpCiAgICAgXTsKIH0KIAor
V2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4udmlzaWJsZVNjcmVlbl8gPSBudWxsOworCiBXZWJJbnNw
ZWN0b3IuSGVscFNjcmVlbi5wcm90b3R5cGUgPSB7CiAgICAgc2hvdzogZnVuY3Rpb24ob25IaWRl
KQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2lzU2hvd24pCiAgICAgICAgICAgICByZXR1cm47
CiAKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnZpc2libGVTY3JlZW5fKQor
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4udmlzaWJsZVNjcmVlbl8uaGlkZSgp
OworICAgICAgICBXZWJJbnNwZWN0b3IuSGVscFNjcmVlbi52aXNpYmxlU2NyZWVuXyA9IHRoaXM7
CisKICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KTsKICAg
ICAgICAgdGhpcy5faXNTaG93biA9IHRydWU7CiAgICAgICAgIHRoaXMuX29uSGlkZSA9IG9uSGlk
ZTsKQEAgLTc1LDYgKzgxLDcgQEAgV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4ucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9pc1Nob3duID0gZmFsc2U7CiAgICAgICAgIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQodGhpcy5fZWxlbWVudCk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5zZXRDdXJy
ZW50Rm9jdXNFbGVtZW50KHRoaXMuX3ByZXZpb3VzRm9jdXNFbGVtZW50KTsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLkhlbHBTY3JlZW4udmlzaWJsZVNjcmVlbl8gPSBudWxsOwogICAgICAgICBpZiAo
dGhpcy5fb25IaWRlKSB7CiAgICAgICAgICAgICB0aGlzLl9vbkhpZGUoKTsKICAgICAgICAgICAg
IGRlbGV0ZSB0aGlzLl9vbkhpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGM4Yzg5YzEyODgzNTNjZjQ5NWRmZGE4YTdh
YzNiNzZkZTkwYWZkNmQuLjZjNjRmNTZmN2JmZWZlZWUzZjAwYmUwNTM3YzU5NjYzM2VlYWE1Y2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1Bh
bmVsLmpzCkBAIC0xMTcsNyArMTE3LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1
bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsKQogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5ldmVu
dExpc3RlbmVyQnJlYWtwb2ludHMgPSBuZXcgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50c1NpZGViYXJQYW5lKCk7CiAgICAgfQogCi0gICAgaWYgKFByZWZlcmVuY2VzLmNhbklu
c3BlY3RXb3JrZXJzICYmIFdlYkluc3BlY3Rvci53b3JrZXJNYW5hZ2VyKSB7CisgICAgaWYgKFBy
ZWZlcmVuY2VzLmNhbkluc3BlY3RXb3JrZXJzICYmICFXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdl
ci5pc1dvcmtlckZyb250ZW5kKCkpIHsKICAgICAgICAgV29ya2VyQWdlbnQuc2V0V29ya2VySW5z
cGVjdGlvbkVuYWJsZWQodHJ1ZSk7CiAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLndvcmtlckxp
c3QgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFyUGFuZShXZWJJbnNwZWN0b3Iu
d29ya2VyTWFuYWdlcik7CiAgICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2hvcnRjdXRzU2NyZWVuLmpzCmluZGV4IGZmMzA3ODY3MTAyNWNh
YWI2NjNhZjU1ODc4NmQyYjA2NDljOWE2OWYuLjU0MzkxN2I3MWYyZjNkODliMTExMjM0NGQ5Y2Fi
YTg3YWVkODM1MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2hvcnRjdXRzU2NyZWVuLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2hvcnRjdXRzU2NyZWVuLmpzCkBAIC0zMyw3ICszMyw5IEBACiAgKi8KIFdlYkluc3Bl
Y3Rvci5TaG9ydGN1dHNTY3JlZW4gPSBmdW5jdGlvbigpCiB7CisgICAgV2ViSW5zcGVjdG9yLkhl
bHBTY3JlZW4uY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIktleWJvYXJkIFNob3J0
Y3V0cyIpKTsKICAgICB0aGlzLl9zZWN0aW9ucyA9IHt9OworICAgIHRoaXMuX3RhYmxlUmVhZHkg
PSBmYWxzZTsKIH0KIAogV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NjcmVlbi5wcm90b3R5cGUgPSB7
CkBAIC00NSwyMyArNDcsMTggQEAgV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NjcmVlbi5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHJldHVybiBzZWN0aW9uOwogICAgIH0sCiAKLSAgICBzaG93OiBmdW5j
dGlvbigpCisgICAgc2hvdzogZnVuY3Rpb24ob25IaWRlKQogICAgIHsKLSAgICAgICAgaWYgKCF0
aGlzLl9oZWxwU2NyZWVuKSB7Ci0gICAgICAgICAgICB0aGlzLl9oZWxwU2NyZWVuID0gbmV3IFdl
Ykluc3BlY3Rvci5IZWxwU2NyZWVuKFdlYkluc3BlY3Rvci5VSVN0cmluZygiS2V5Ym9hcmQgU2hv
cnRjdXRzIikpOwotICAgICAgICAgICAgdGhpcy5fYnVpbGRUYWJsZSh0aGlzLl9oZWxwU2NyZWVu
LmNvbnRlbnRFbGVtZW50LCAyKTsKLSAgICAgICAgfQotICAgICAgICB0aGlzLl9oZWxwU2NyZWVu
LnNob3coKTsKLSAgICB9LAotCi0gICAgaGlkZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAg
aWYgKHRoaXMuX2hlbHBTY3JlZW4pCi0gICAgICAgICAgICB0aGlzLl9oZWxwU2NyZWVuLmhpZGUo
KTsKKyAgICAgICAgdGhpcy5fYnVpbGRUYWJsZSh0aGlzLmNvbnRlbnRFbGVtZW50LCAyKTsKKyAg
ICAgICAgV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4ucHJvdG90eXBlLnNob3cuY2FsbCh0aGlzLCBv
bkhpZGUpOwogICAgIH0sCiAKICAgICBfYnVpbGRUYWJsZTogZnVuY3Rpb24ocGFyZW50LCBuQ29s
dW1ucykKICAgICB7CisgICAgICAgIGlmICh0aGlzLl90YWJsZVJlYWR5KQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB0aGlzLl90YWJsZVJlYWR5ID0gdHJ1ZTsKKwogICAgICAgICB2YXIg
aGVpZ2h0ID0gMDsKICAgICAgICAgdmFyIG9yZGVyZWRTZWN0aW9ucyA9IFtdOwogICAgICAgICBm
b3IgKHZhciBzZWN0aW9uIGluIHRoaXMuX3NlY3Rpb25zKSB7CkBAIC05NSw3ICs5MiwxMyBAQCBX
ZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2NyZWVuLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKLVdl
Ykluc3BlY3Rvci5zaG9ydGN1dHNTY3JlZW4gPSBuZXcgV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1Nj
cmVlbigpOworV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NjcmVlbi5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4ucHJvdG90eXBlOworCisvKioKKyAqIFdlIGNhbm5v
dCBpbml0aWFsaXplIGl0IGhlcmUgYXMgbG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCBsb2FkZWQg
eWV0LgorICogQHR5cGUgez9XZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2NyZWVufQorICovCitXZWJJ
bnNwZWN0b3Iuc2hvcnRjdXRzU2NyZWVuID0gbnVsbDsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFu
YWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdl
ci5qcwppbmRleCA2ZmRiZGRhMmRiMjk5MTI4MDg0MDM0MjY5MTgxZWU1NmE3NDczMWUwLi4zN2Vm
OTRiNTdjMzM2ZGNiNjc3NTZjZmNiNWVmOTIyN2NkZGM1ZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCkBAIC00NywxMCAr
NDcsMTEgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNXb3JrZXJGcm9udGVuZCA9IGZ1
bmN0aW9uKCkKIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRlZCA9IGZ1bmN0aW9uKCkK
IHsKICAgICB2YXIgd29ya2VySWQgPSBXZWJJbnNwZWN0b3IucXVlcnlQYXJhbXNPYmplY3RbImRl
ZGljYXRlZFdvcmtlcklkIl07Ci0gICAgaWYgKHdvcmtlcklkKSB7CisgICAgaWYgKHdvcmtlcklk
KQogICAgICAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5faW5pdGlhbGl6ZURlZGljYXRl
ZFdvcmtlckZyb250ZW5kKHdvcmtlcklkKTsKLSAgICB9IGVsc2UKKyAgICBlbHNlCiAgICAgICAg
IFdlYkluc3BlY3Rvci53b3JrZXJNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5h
Z2VyKCk7CisgICAgSW5zcGVjdG9yQmFja2VuZC5pbnNwZWN0b3JCYWNrZW5kRGVzdHJveWVkID0g
V2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuX3Nob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuOwog
fQogCiBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5sb2FkQ29tcGxldGVkID0gZnVuY3Rpb24o
KQpAQCAtMTA2LDYgKzEwNywxNyBAQCBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5fY2FsY3Vs
YXRlV29ya2VySW5zcGVjdG9yVGl0bGUgPSBmdW5jdGlvbigpCiAgICAgfQogfQogCitXZWJJbnNw
ZWN0b3IuV29ya2VyTWFuYWdlci5fc2hvd1dvcmtlclRlcm1pbmF0ZWRTY3JlZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZnVuY3Rpb24gb25IaWRlKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2NyZWVuLmhpZGUsIHNjcmVlbik7Cisg
ICAgfQorICAgIHZhciBzY3JlZW4gPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0ZWRT
Y3JlZW4oKTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNj
cmVlbi5oaWRlLCBzY3JlZW4pOworICAgIHNjcmVlbi5zaG93KG9uSGlkZS5iaW5kKHRoaXMpKTsK
K30KKwogV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuRXZlbnRzID0gewogICAgIFdvcmtlckFk
ZGVkOiAid29ya2VyLWFkZGVkIiwKICAgICBXb3JrZXJSZW1vdmVkOiAid29ya2VyLXJlbW92ZWQi
LApAQCAtMjMyLDMgKzI0NCwxMyBAQCBXZWJJbnNwZWN0b3IuRGVkaWNhdGVkV29ya2VyTWVzc2Fn
ZUZvcndhcmRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3dvcmtlck1hbmFnZXIuX3Nl
bmRNZXNzYWdlVG9Xb3JrZXJJbnNwZWN0b3Iod29ya2VySWQsIG1lc3NhZ2UpOwogICAgIH0KIH0K
KworV2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0ZWRTY3JlZW4gPSBmdW5jdGlvbigpCit7Cisg
ICAgV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4uY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlZCIpKTsKKyAgICB2YXIgcCA9IHRoaXMuY29u
dGVudEVsZW1lbnQuY3JlYXRlQ2hpbGQoInAiKTsKKyAgICBwLmFkZFN0eWxlQ2xhc3MoImhlbHAt
c2VjdGlvbiIpOworICAgIHAudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIklu
c3BlY3RlZCB3b3JrZXIgaGFzIHRlcm1pbmF0ZWQuIE9uY2UgaXQgcmVzdGFydHMgd2Ugd2lsbCBh
dHRhY2ggdG8gaXQgYXV0b21hdGljYWxseS4iKTsKK30KKworV2ViSW5zcGVjdG9yLldvcmtlclRl
cm1pbmF0ZWRTY3JlZW4ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5IZWxwU2Ny
ZWVuLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKaW5kZXggMWUyMGRkNGJhOTViY2E3OGNlZjk3ZDQyOWM3MTA2NTA5MTAwMTg5
MC4uYmZmZGY3MGE1YzdmM2FkZDMwODg3NTVlNTIxYzkyNWE4YzJlNjVmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTE1MCwyMCAr
MTUwLDggQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgICAgIHRoaXMuX2hpZGVTZXR0
aW5nc1NjcmVlbigpOwogICAgIH0sCiAKLSAgICBfc2hvd1Nob3J0Y3V0c1NjcmVlbjogZnVuY3Rp
b24oKQotICAgIHsKLSAgICAgICAgdGhpcy5faGlkZVNldHRpbmdzU2NyZWVuKCk7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5zaG9ydGN1dHNTY3JlZW4uc2hvdygpOwotICAgIH0sCi0KLSAgICBfaGlk
ZVNob3J0Y3V0c1NjcmVlbjogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9y
LnNob3J0Y3V0c1NjcmVlbi5oaWRlKCk7Ci0gICAgfSwKLQogICAgIF9zaG93U2V0dGluZ3NTY3Jl
ZW46IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2hpZGVTaG9ydGN1dHNTY3JlZW4o
KTsKICAgICAgICAgZnVuY3Rpb24gb25oaWRlKCkKICAgICAgICAgewogICAgICAgICAgICAgdGhp
cy5fc2V0dGluZ3NCdXR0b24udG9nZ2xlZCA9IGZhbHNlOwpAQCAtMTc4LDExICsxNjYsOCBAQCB2
YXIgV2ViSW5zcGVjdG9yID0gewogCiAgICAgX2hpZGVTZXR0aW5nc1NjcmVlbjogZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzU2NyZWVuKSB7CisgICAgICAgIGlm
ICh0aGlzLl9zZXR0aW5nc1NjcmVlbikKICAgICAgICAgICAgIHRoaXMuX3NldHRpbmdzU2NyZWVu
LmhpZGUoKTsKLSAgICAgICAgICAgIHRoaXMuX3NldHRpbmdzQnV0dG9uLnRvZ2dsZWQgPSBmYWxz
ZTsKLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZXR0aW5nc1NjcmVlbjsKLSAgICAgICAgfQog
ICAgIH0sCiAKICAgICBnZXQgYXR0YWNoZWQoKQpAQCAtMzM1LDYgKzMyMCw3IEBAIFdlYkluc3Bl
Y3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlvbigpCiAgICAgaWYgKFdlYkluc3BlY3Rvci5zb2Nr
ZXQpCiAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkU3R5bGVDbGFzcygicmVtb3RlIik7CiAKKyAg
ICBXZWJJbnNwZWN0b3Iuc2hvcnRjdXRzU2NyZWVuID0gbmV3IFdlYkluc3BlY3Rvci5TaG9ydGN1
dHNTY3JlZW4oKTsKICAgICB0aGlzLl9yZWdpc3RlclNob3J0Y3V0cygpOwogCiAgICAgLy8gc2V0
IG9yZGVyIG9mIHNvbWUgc2VjdGlvbnMgZXhwbGljaXRseQpAQCAtNTc3LDcgKzU2Myw3IEBAIFdl
Ykluc3BlY3Rvci5kb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKIAogICAgIGlmIChl
dmVudC5rZXlJZGVudGlmaWVyID09PSAiRjEiIHx8CiAgICAgICAgIChldmVudC5rZXlJZGVudGlm
aWVyID09PSBoZWxwS2V5ICYmIGV2ZW50LnNoaWZ0S2V5ICYmICghaXNJbkVkaXRNb2RlICYmICFp
c0lucHV0RWxlbWVudCB8fCBldmVudC5tZXRhS2V5KSkpIHsKLSAgICAgICAgdGhpcy5fc2hvd1No
b3J0Y3V0c1NjcmVlbigpOworICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvcnRjdXRzU2NyZWVuLnNo
b3coKTsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgIGV2ZW50LnBy
ZXZlbnREZWZhdWx0KCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmQuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmQuaAppbmRleCBhYzAwOTg0N2ExNjQw
ZDNmNzI0YmY5YzcxZGM1N2I4NzA3NzNiNTBiLi5mOTBmZjg4NTJlNzM1OWI5ZWYyYjI2YzJkNjg5
NGFhYWQ2YTBiYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJEZXZUb29sc0Zyb250ZW5kLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRGV2VG9vbHNGcm9udGVuZC5oCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5XZWJEZXZUb29sc0Zyb250ZW5kKCkge30KIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aE9uSW5zcGVjdG9yRnJvbnRlbmQoY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBhZ2VudERlc3Ryb3llZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwuY3BwCmluZGV4IDgxNDhhYjY3Nzc0MmVjNTI5NDY0YjQ4ZTMzYWI1MDUwNGIyMjdiNmMu
LjkwZDJhNmJkZTg2MjZmZWM3MjEzNGUzNzY5NWJiZmIyMTFjZDA4YzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5jcHAK
QEAgLTEwNiw2ICsxMDYsMjEgQEAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw6On5XZWJEZXZUb29s
c0Zyb250ZW5kSW1wbCgpCiAKIHZvaWQgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw6OmRpc3BhdGNo
T25JbnNwZWN0b3JGcm9udGVuZChjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpCiB7CisgICAgY2Fs
bE9uQmFja2VuZE9iamVjdCgiZGlzcGF0Y2giLCBtZXNzYWdlKTsKK30KKwordm9pZCBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbDo6YWdlbnREZXN0cm95ZWQoKQoreworICAgIGNhbGxPbkJhY2tlbmRP
YmplY3QoImluc3BlY3RvckJhY2tlbmREZXN0cm95ZWQiLCAiIik7Cit9CisKK3ZvaWQgV2ViRGV2
VG9vbHNGcm9udGVuZEltcGw6OmZyb250ZW5kTG9hZGVkKCkKK3sKKyAgICBtX2NsaWVudC0+c2Vu
ZEZyb250ZW5kTG9hZGVkKCk7Cit9CisKK3ZvaWQgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw6OmNh
bGxPbkJhY2tlbmRPYmplY3QoY29uc3QgY2hhciogbWV0aG9kTmFtZSwgY29uc3QgV2ViU3RyaW5n
JiBtZXNzYWdlKQorewogICAgIFdlYkZyYW1lSW1wbCogZnJhbWUgPSBtX3dlYlZpZXdJbXBsLT5t
YWluRnJhbWVJbXBsKCk7CiAgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOwogICAgIHY4OjpIYW5k
bGU8djg6OkNvbnRleHQ+IGZyYW1lQ29udGV4dCA9IFY4UHJveHk6OmNvbnRleHQoZnJhbWUtPmZy
YW1lKCkpOwpAQCAtMTE0LDcgKzEyOSw3IEBAIHZvaWQgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw6
OmRpc3BhdGNoT25JbnNwZWN0b3JGcm9udGVuZChjb25zdCBXZWJTdHJpbmcmIG1lc3NhCiAgICAg
aWYgKCFpbnNwZWN0b3JCYWNrZW5kVmFsdWUtPklzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybjsK
ICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGluc3BlY3RvckJhY2tlbmQgPSB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+OjpDYXN0KGluc3BlY3RvckJhY2tlbmRWYWx1ZSk7Ci0gICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGRpc3BhdGNoRnVuY3Rpb24gPSBpbnNwZWN0b3JCYWNrZW5kLT5HZXQodjg6
OlN0cmluZzo6TmV3KCJkaXNwYXRjaCIpKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGlz
cGF0Y2hGdW5jdGlvbiA9IGluc3BlY3RvckJhY2tlbmQtPkdldCh2ODo6U3RyaW5nOjpOZXcobWV0
aG9kTmFtZSkpOwogICAgICAvLyBUaGUgZnJhbWUgbWlnaHQgaGF2ZSBuYXZpZ2F0ZWQgYXdheSBm
cm9tIHRoZSBmcm9udC1lbmQgcGFnZSAod2hpY2ggaXMgc3RpbGwgd2VpcmQpLgogICAgIGlmICgh
ZGlzcGF0Y2hGdW5jdGlvbi0+SXNGdW5jdGlvbigpKQogICAgICAgICByZXR1cm47CkBAIC0xMjYs
OSArMTQxLDQgQEAgdm9pZCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDo6ZGlzcGF0Y2hPbkluc3Bl
Y3RvckZyb250ZW5kKGNvbnN0IFdlYlN0cmluZyYgbWVzc2EKICAgICBWOFByb3h5OjppbnN0cnVt
ZW50ZWRDYWxsRnVuY3Rpb24oZnJhbWUtPmZyYW1lKCktPnBhZ2UoKSwgZnVuY3Rpb24sIGluc3Bl
Y3RvckJhY2tlbmQsIGFyZ3Muc2l6ZSgpLCBhcmdzLmRhdGEoKSk7CiB9CiAKLXZvaWQgV2ViRGV2
VG9vbHNGcm9udGVuZEltcGw6OmZyb250ZW5kTG9hZGVkKCkKLXsKLSAgICBtX2NsaWVudC0+c2Vu
ZEZyb250ZW5kTG9hZGVkKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKaW5k
ZXggZGM3ZDJkZjJmMWYxMTE3NjY3MmRjMGNiNGJhMWYwNGMyMTc2Y2FmMS4uZmU1YTNlMzY1ZmY2
YWE5ZGE0ZDRmN2Q5MDczNTY5NDgwZTI0NDQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCkBAIC02NiwxMCArNjYsMTMg
QEAgcHVibGljOgogCiAgICAgLy8gV2ViRGV2VG9vbHNGcm9udGVuZCBpbXBsZW1lbnRhdGlvbi4K
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hPbkluc3BlY3RvckZyb250ZW5kKGNvbnN0IFdlYlN0
cmluZyYgbWVzc2FnZSk7CisgICAgdmlydHVhbCB2b2lkIGFnZW50RGVzdHJveWVkKCk7CiAKICAg
ICB2b2lkIGZyb250ZW5kTG9hZGVkKCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCBjYWxsT25CYWNr
ZW5kT2JqZWN0KGNvbnN0IGNoYXIqIG1ldGhvZE5hbWUsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2Fn
ZSk7CisKICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiBtX3dlYlZpZXdJbXBsOwogICAgIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCogbV9jbGllbnQ7CiAgICAgU3RyaW5nIG1fYXBw
bGljYXRpb25Mb2NhbGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114038</attachid>
            <date>2011-11-08 04:30:11 -0800</date>
            <delta_ts>2011-11-08 04:56:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71770-20111108163008.patch</filename>
            <type>text/plain</type>
            <size>8948</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NDBhZjFhOWE3NzQwMWRm
MjRjZDI2MTk5YTY5MjY4NTk5ZDVmNTI1Li40NWIyMGU0ZDE3YTcwZWVjNzU3MmJhNTliMTA1OWJk
OGNlZGM0NDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMDggIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZGlzcGxheSBub3RpZmljYXRpb24gaW4gdGhlIGZyb250LWVuZCB3aGVuIGluc3BlY3RlZCB3
b3JrZXIgdGVybWluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3NzAKKworICAgICAgICBXaGVuIGluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRl
cyB3ZSB3aWxsIHNob3cgYSBub3RpZmljYXRpb24gc2ltaWxhciB0byB0aGUgaGVscAorICAgICAg
ICBzY3JlZW4uIFRoZSBub3RpZmljYXRpb24gZGlzYXBwZWFycyB3aGVuIHRoZSB3b3JrZXIgcmVz
dGFydHMgb3IgdGhlIHVzZXIgY2xvc2VzIGl0CisgICAgICAgIG1hbnVhbGx5LgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5zaG93V29ya2VyVGVybWluYXRlZFNjcmVlbik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyVGVybWluYXRlZFNjcmVlbik6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5mcm9udGVu
ZFJldXNlZCk6CisKIDIwMTEtMTEtMDggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5u
QHJpbS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBGaXggYnVpbGQsIGJ5IHJlbW92aW5n
IGFuIHVudXNlZCB2YXJpYWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYTk3MTVm
NGU1OTRmNzk3OWU5Y2Y1ZGNkMzc4N2Q2MDA0Y2I0NmNlYS4uYjFjZDQ5M2E4NzM5OTBlNTY1MDVm
NTQ1NzNhMTg3NmQ2NjI5MGQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxOSBAQAogMjAxMS0xMS0wOCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBkaXNwbGF5IG5vdGlmaWNhdGlvbiBpbiB0aGUg
ZnJvbnQtZW5kIHdoZW4gaW5zcGVjdGVkIHdvcmtlciB0ZXJtaW5hdGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc3MAorCisgICAgICAgIEV4cG9z
ZWQgYW4gQVBJIGZvciB0aGUgYnJvd3NlciB0byBub3RpZnkgaW5zcGVjdG9yIGZyb250LWVuZCB3
aGVuIGluc3BlY2VkIGluc3RhbmNlCisgICAgICAgIHRlcm1pbmF0ZXMuIEl0IGlzIHVzZWQgbm93
IGZvciB0cmFja2luZyBzaGFyZWQgd29ya2VycyB0ZXJtaW5hdGlvbi4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29sc0Fn
ZW50Lmg6CisgICAgICAgICogc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudDo6Y3JlYXRlRnJvbnRlbmREaXNjb25uZWN0ZWRFdmVu
dCk6CisKKzIwMTEtMTEtMDggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+
CisKICAgICAgICAgW0Nocm9taXVtXSBXZWIgSW5zcGVjdG9yOiBhZGQgc2FuaXR5IHRlc3QgZm9y
IGF1dG9tYXRpYyByZWF0dGFjaCB0byBhIHBhZ2Ugd2hpY2ggaXMgcmVsb2FkZWQgYWZ0ZXIgY3Jh
c2gKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzg2
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cwppbmRleCAxNTAyNjFjN2U0ZTE0N2I4NjA1NDMyMzMxOWUwZmRhNGI2ZGJmNzExLi4wMmUwYWFi
Y2U4OGUyNTdkYjE3ZjJlYmExMmVkMTI1ZTMzODRmYTVhIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNo
CmRlbHRhIDM1Ngp6Y21abyR6X011eCVaNEJFdE9YM0k0OVV9ZG5Ian0tT011S0doRnBlQmhDR0pF
JHBgZz94amxpYlZnYGZ+ZWlTN1AKekM2aDB6PlE5fiEkSEk9UkNeTGcwNXZXVW4wWmxRYF5iYGc/
cHR3S0spTU93fTBjY1lSa1NxZVNpLUR7fUFnY3RkCnp2bTdqMjR3VE9VTEl0MnEzME9YdkFwXilP
VmFTSypvJjVpZ3RmVUA7NTxASklad3RncTRDcFNWdVZXQChWJH1oSwpLJEw0U0cwdmlBVkhCWVNv
CgpkZWx0YSAyMgplY21kbkFnciNpKCVaNEJFbGY5Q31DaUFzKFpGV2d8dztsajw5fHtRbwoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMK
aW5kZXggYzhjODljMTI4ODM1M2NmNDk1ZGZkYThhN2FjM2I3NmRlOTBhZmQ2ZC4uNmM2NGY1NmY3
YmZlZmVlZTNmMDBiZTA1MzdjNTk2NjMzZWVhYTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTExNyw3ICsxMTcsNyBA
QCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwp
CiAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJCcmVha3BvaW50cyA9IG5l
dyBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKICAg
ICB9CiAKLSAgICBpZiAoUHJlZmVyZW5jZXMuY2FuSW5zcGVjdFdvcmtlcnMgJiYgV2ViSW5zcGVj
dG9yLndvcmtlck1hbmFnZXIpIHsKKyAgICBpZiAoUHJlZmVyZW5jZXMuY2FuSW5zcGVjdFdvcmtl
cnMgJiYgIVdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkgewog
ICAgICAgICBXb3JrZXJBZ2VudC5zZXRXb3JrZXJJbnNwZWN0aW9uRW5hYmxlZCh0cnVlKTsKICAg
ICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud29ya2VyTGlzdCA9IG5ldyBXZWJJbnNwZWN0b3IuV29y
a2VyTGlzdFNpZGViYXJQYW5lKFdlYkluc3BlY3Rvci53b3JrZXJNYW5hZ2VyKTsKICAgICB9IGVs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2Vy
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFu
YWdlci5qcwppbmRleCA2ZmRiZGRhMmRiMjk5MTI4MDg0MDM0MjY5MTgxZWU1NmE3NDczMWUwLi45
NzQ4MDQ1ODFkM2YxYTY2OWQ5MzQzZWY2YTNkYWQ2OGY3MjdlZjJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCkBAIC00Nyw5
ICs0Nyw5IEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQgPSBm
dW5jdGlvbigpCiBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5sb2FkZWQgPSBmdW5jdGlvbigp
CiB7CiAgICAgdmFyIHdvcmtlcklkID0gV2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1zT2JqZWN0WyJk
ZWRpY2F0ZWRXb3JrZXJJZCJdOwotICAgIGlmICh3b3JrZXJJZCkgeworICAgIGlmICh3b3JrZXJJ
ZCkKICAgICAgICAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuX2luaXRpYWxpemVEZWRpY2F0
ZWRXb3JrZXJGcm9udGVuZCh3b3JrZXJJZCk7Ci0gICAgfSBlbHNlCisgICAgZWxzZQogICAgICAg
ICBXZWJJbnNwZWN0b3Iud29ya2VyTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya2VyTWFu
YWdlcigpOwogfQogCkBAIC0xMDYsNiArMTA2LDE3IEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5h
Z2VyLl9jYWxjdWxhdGVXb3JrZXJJbnNwZWN0b3JUaXRsZSA9IGZ1bmN0aW9uKCkKICAgICB9CiB9
CiAKK1dlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVu
ID0gZnVuY3Rpb24oKQoreworICAgIGZ1bmN0aW9uIG9uSGlkZSgpCisgICAgeworICAgICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNjcmVlbi5oaWRlLCBz
Y3JlZW4pOworICAgIH0KKyAgICB2YXIgc2NyZWVuID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJU
ZXJtaW5hdGVkU2NyZWVuKCk7CisgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuUGFyc2VkU2NyaXB0
U291cmNlLCBzY3JlZW4uaGlkZSwgc2NyZWVuKTsKKyAgICBzY3JlZW4uc2hvdyhvbkhpZGUuYmlu
ZCh0aGlzKSk7Cit9CisKIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLkV2ZW50cyA9IHsKICAg
ICBXb3JrZXJBZGRlZDogIndvcmtlci1hZGRlZCIsCiAgICAgV29ya2VyUmVtb3ZlZDogIndvcmtl
ci1yZW1vdmVkIiwKQEAgLTIzMiwzICsyNDMsMTMgQEAgV2ViSW5zcGVjdG9yLkRlZGljYXRlZFdv
cmtlck1lc3NhZ2VGb3J3YXJkZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl93b3JrZXJN
YW5hZ2VyLl9zZW5kTWVzc2FnZVRvV29ya2VySW5zcGVjdG9yKHdvcmtlcklkLCBtZXNzYWdlKTsK
ICAgICB9CiB9CisKK1dlYkluc3BlY3Rvci5Xb3JrZXJUZXJtaW5hdGVkU2NyZWVuID0gZnVuY3Rp
b24oKQoreworICAgIFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLmNhbGwodGhpcywgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJJbnNwZWN0ZWQgd29ya2VyIHRlcm1pbmF0ZWQiKSk7CisgICAgdmFyIHAg
PSB0aGlzLmNvbnRlbnRFbGVtZW50LmNyZWF0ZUNoaWxkKCJwIik7CisgICAgcC5hZGRTdHlsZUNs
YXNzKCJoZWxwLXNlY3Rpb24iKTsKKyAgICBwLnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJJbnNwZWN0ZWQgd29ya2VyIGhhcyB0ZXJtaW5hdGVkLiBPbmNlIGl0IHJlc3RhcnRz
IHdlIHdpbGwgYXR0YWNoIHRvIGl0IGF1dG9tYXRpY2FsbHkuIik7Cit9CisKK1dlYkluc3BlY3Rv
ci5Xb3JrZXJUZXJtaW5hdGVkU2NyZWVuLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuSGVscFNjcmVlbi5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGJmZmRmNzBhNWM3ZjNhZGQzMDg4NzU1ZTUyMWM5
MjVhOGMyZTY1ZmIuLjEyYTg5M2E1ZmU2NjVlYzdkZTViNjQ1MzE0N2I4MzAyYzllYzZjZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBA
IC00NjEsNyArNDYxLDExIEBAIFdlYkluc3BlY3Rvci5jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQog
CiBXZWJJbnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kID0gZnVuY3Rpb24oKQogewotICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKKyAgICBXZWJJ
bnNwZWN0b3IubG9nKCJkaXNjb25uZWN0RnJvbUJhY2tlbmQiKTsKKyAgICBpZiAoV2ViSW5zcGVj
dG9yLldvcmtlck1hbmFnZXIuaXNXb3JrZXJGcm9udGVuZCgpKQorICAgICAgICBXZWJJbnNwZWN0
b3IuV29ya2VyTWFuYWdlci5zaG93V29ya2VyVGVybWluYXRlZFNjcmVlbigpOworICAgIGVsc2UK
KyAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwog
fQogCiBXZWJJbnNwZWN0b3IuZG9jdW1lbnRDbGljayA9IGZ1bmN0aW9uKGV2ZW50KQpAQCAtODUw
LDYgKzg1NCw3IEBAIFdlYkluc3BlY3Rvci5hZGRNYWluRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlv
bihkb2MpCiAKIFdlYkluc3BlY3Rvci5mcm9udGVuZFJldXNlZCA9IGZ1bmN0aW9uKCkKIHsKKyAg
ICBXZWJJbnNwZWN0b3IubG9nKCJmcm9udGVuZFJldXNlZCIpOwogICAgIHRoaXMucmVzb3VyY2VU
cmVlTW9kZWwuZnJvbnRlbmRSZXVzZWQoKTsKICAgICB0aGlzLnJlc2V0KCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50LmgKaW5kZXggMWRj
YTliN2RkODVkMDFkYjRiMzgwMTlhMzRjZjFiOWE5MTcwZjRkOS4uZDcwYjg1MTMzNjg2ZTlhMjll
OGNjZTM2NWJmYzBlYmQ4ZWI3NWI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkRldlRvb2xzQWdlbnQuaApAQCAtOTAsNiArOTAsMTAgQEAgcHVibGljOgogICAg
IFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgc2hvdWxkSW50ZXJydXB0Rm9yTWVzc2FnZShjb25z
dCBXZWJTdHJpbmcmKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHByb2Nlc3NQZW5k
aW5nTWVzc2FnZXMoKTsKIAorICAgIC8vIFJldHVybnMgYSBkaXNjb25uZWN0IGV2ZW50IHdoaWNo
IGNhbiBiZSBkaXNwYXRjaGVkIG9uIHRoZSBmcm9udC1lbmQKKyAgICAvLyBpbiBvcmRlciB0byBs
ZXQgaXQga25vdyB0aGF0IGl0IGhhcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgYWdlbnQuCisgICAg
V0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU3RyaW5nIGNyZWF0ZUZyb250ZW5kRGlzY29ubmVjdGVk
RXZlbnQoKTsKKwogICAgIHR5cGVkZWYgdm9pZCAoKk1lc3NhZ2VMb29wRGlzcGF0Y2hIYW5kbGVy
KSgpOwogCiAgICAgLy8gSW5zdGFsbHMgZGlzcGF0Y2ggaGFuZGxlIHRoYXQgaXMgZ29pbmcgdG8g
YmUgY2FsbGVkIHBlcmlvZGljYWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCmluZGV4IDBhMWYyMjA5YzllM2MwYWI0M2Y5YmE2
M2EzYjdmMmNjZjEwY2QxODUuLjlmNDIzYWI2Nzk2MDc0NTgyYWQ1ZmZjNzEwY2I1MDc0ZTBhMDI0
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdl
bnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Fn
ZW50SW1wbC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhv
c3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clByb3RvY29sVmVyc2lvbi5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0zODEsNiAr
MzgyLDIyIEBAIHZvaWQgV2ViRGV2VG9vbHNBZ2VudDo6cHJvY2Vzc1BlbmRpbmdNZXNzYWdlcygp
CiAgICAgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKS5ydW5QZW5kaW5nVGFza3MoKTsK
IH0KIAorV2ViU3RyaW5nIFdlYkRldlRvb2xzQWdlbnQ6OmNyZWF0ZUZyb250ZW5kRGlzY29ubmVj
dGVkRXZlbnQoKQoreworICAgIGNsYXNzIENoYW5uZWxJbXBsIDogcHVibGljIEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1l
c3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgbV9tZXNzYWdlID0gbWVzc2FnZTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisgICAgICAgIFN0cmluZyBtX21lc3NhZ2U7CisgICAgfSBjaGFubmVsOworICAgIElu
c3BlY3RvckZyb250ZW5kOjpJbnNwZWN0b3IgaW5zcGVjdG9yKCZjaGFubmVsKTsKKyAgICBpbnNw
ZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CisgICAgcmV0dXJuIGNoYW5uZWwubV9tZXNz
YWdlOworfQorCiB2b2lkIFdlYkRldlRvb2xzQWdlbnQ6OnNldE1lc3NhZ2VMb29wRGlzcGF0Y2hI
YW5kbGVyKE1lc3NhZ2VMb29wRGlzcGF0Y2hIYW5kbGVyIGhhbmRsZXIpCiB7CiAgICAgRGVidWdn
ZXJBZ2VudE1hbmFnZXI6OnNldE1lc3NhZ2VMb29wRGlzcGF0Y2hIYW5kbGVyKGhhbmRsZXIpOwo=
</data>
<flag name="review"
          id="112582"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114041</attachid>
            <date>2011-11-08 04:56:29 -0800</date>
            <delta_ts>2011-11-08 04:56:29 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>worker-terminated-infobar</filename>
            <type>text/plain</type>
            <size>7925</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NDBhZjFhLi40NWIyMGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMTEtMDggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogZGlzcGxheSBub3RpZmljYXRpb24gaW4gdGhlIGZyb250
LWVuZCB3aGVuIGluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NzAKKworICAgICAgICBXaGVuIGluc3Bl
Y3RlZCB3b3JrZXIgdGVybWluYXRlcyB3ZSB3aWxsIHNob3cgYSBub3RpZmljYXRpb24gc2ltaWxh
ciB0byB0aGUgaGVscAorICAgICAgICBzY3JlZW4uIFRoZSBub3RpZmljYXRpb24gZGlzYXBwZWFy
cyB3aGVuIHRoZSB3b3JrZXIgcmVzdGFydHMgb3IgdGhlIHVzZXIgY2xvc2VzIGl0CisgICAgICAg
IG1hbnVhbGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvV29ya2VyTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5h
Z2VyLmxvYWRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5zaG93V29y
a2VyVGVybWluYXRlZFNjcmVlbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyVGVybWlu
YXRlZFNjcmVlbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5mcm9udGVuZFJldXNlZCk6CisKIDIwMTEtMTEtMDggIE5pa29sYXMgWmlt
bWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBG
aXggYnVpbGQsIGJ5IHJlbW92aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCAxNTAyNjFjLi4w
MmUwYWFiIDEwMDY0NApCaW5hcnkgZmlsZXMgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanMgYW5kIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCBjOGM4OWMxLi42YzY0ZjU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5q
cwpAQCAtMTE3LDcgKzExNyw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwgPSBmdW5jdGlv
bihwcmVzZW50YXRpb25Nb2RlbCkKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0
ZW5lckJyZWFrcG9pbnRzID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2lu
dHNTaWRlYmFyUGFuZSgpOwogICAgIH0KIAotICAgIGlmIChQcmVmZXJlbmNlcy5jYW5JbnNwZWN0
V29ya2VycyAmJiBXZWJJbnNwZWN0b3Iud29ya2VyTWFuYWdlcikgeworICAgIGlmIChQcmVmZXJl
bmNlcy5jYW5JbnNwZWN0V29ya2VycyAmJiAhV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNX
b3JrZXJGcm9udGVuZCgpKSB7CiAgICAgICAgIFdvcmtlckFnZW50LnNldFdvcmtlckluc3BlY3Rp
b25FbmFibGVkKHRydWUpOwogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy53b3JrZXJMaXN0ID0g
bmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJMaXN0U2lkZWJhclBhbmUoV2ViSW5zcGVjdG9yLndvcmtl
ck1hbmFnZXIpOwogICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCmluZGV4IDZmZGJkZGEuLjk3NDgwNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIu
anMKQEAgLTQ3LDkgKzQ3LDkgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNXb3JrZXJG
cm9udGVuZCA9IGZ1bmN0aW9uKCkKIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRlZCA9
IGZ1bmN0aW9uKCkKIHsKICAgICB2YXIgd29ya2VySWQgPSBXZWJJbnNwZWN0b3IucXVlcnlQYXJh
bXNPYmplY3RbImRlZGljYXRlZFdvcmtlcklkIl07Ci0gICAgaWYgKHdvcmtlcklkKSB7CisgICAg
aWYgKHdvcmtlcklkKQogICAgICAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5faW5pdGlh
bGl6ZURlZGljYXRlZFdvcmtlckZyb250ZW5kKHdvcmtlcklkKTsKLSAgICB9IGVsc2UKKyAgICBl
bHNlCiAgICAgICAgIFdlYkluc3BlY3Rvci53b3JrZXJNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rv
ci5Xb3JrZXJNYW5hZ2VyKCk7CiB9CiAKQEAgLTEwNiw2ICsxMDYsMTcgQEAgV2ViSW5zcGVjdG9y
Lldvcmtlck1hbmFnZXIuX2NhbGN1bGF0ZVdvcmtlckluc3BlY3RvclRpdGxlID0gZnVuY3Rpb24o
KQogICAgIH0KIH0KIAorV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1p
bmF0ZWRTY3JlZW4gPSBmdW5jdGlvbigpCit7CisgICAgZnVuY3Rpb24gb25IaWRlKCkKKyAgICB7
CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2Ny
ZWVuLmhpZGUsIHNjcmVlbik7CisgICAgfQorICAgIHZhciBzY3JlZW4gPSBuZXcgV2ViSW5zcGVj
dG9yLldvcmtlclRlcm1pbmF0ZWRTY3JlZW4oKTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
b2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5Q
YXJzZWRTY3JpcHRTb3VyY2UsIHNjcmVlbi5oaWRlLCBzY3JlZW4pOworICAgIHNjcmVlbi5zaG93
KG9uSGlkZS5iaW5kKHRoaXMpKTsKK30KKwogV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuRXZl
bnRzID0gewogICAgIFdvcmtlckFkZGVkOiAid29ya2VyLWFkZGVkIiwKICAgICBXb3JrZXJSZW1v
dmVkOiAid29ya2VyLXJlbW92ZWQiLApAQCAtMjMyLDMgKzI0MywxMyBAQCBXZWJJbnNwZWN0b3Iu
RGVkaWNhdGVkV29ya2VyTWVzc2FnZUZvcndhcmRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX3dvcmtlck1hbmFnZXIuX3NlbmRNZXNzYWdlVG9Xb3JrZXJJbnNwZWN0b3Iod29ya2VySWQs
IG1lc3NhZ2UpOwogICAgIH0KIH0KKworV2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0ZWRTY3Jl
ZW4gPSBmdW5jdGlvbigpCit7CisgICAgV2ViSW5zcGVjdG9yLkhlbHBTY3JlZW4uY2FsbCh0aGlz
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlZCIpKTsK
KyAgICB2YXIgcCA9IHRoaXMuY29udGVudEVsZW1lbnQuY3JlYXRlQ2hpbGQoInAiKTsKKyAgICBw
LmFkZFN0eWxlQ2xhc3MoImhlbHAtc2VjdGlvbiIpOworICAgIHAudGV4dENvbnRlbnQgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkluc3BlY3RlZCB3b3JrZXIgaGFzIHRlcm1pbmF0ZWQuIE9uY2Ug
aXQgcmVzdGFydHMgd2Ugd2lsbCBhdHRhY2ggdG8gaXQgYXV0b21hdGljYWxseS4iKTsKK30KKwor
V2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0ZWRTY3JlZW4ucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggYmZmZGY3MC4uOWEyMjIyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMK
QEAgLTQ2MSw3ICs0NjEsMTAgQEAgV2ViSW5zcGVjdG9yLmNsb3NlID0gZnVuY3Rpb24oZXZlbnQp
CiAKIFdlYkluc3BlY3Rvci5kaXNjb25uZWN0RnJvbUJhY2tlbmQgPSBmdW5jdGlvbigpCiB7Ci0g
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOworICAgIGlm
IChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCisgICAgICAg
IFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKCk7
CisgICAgZWxzZQorICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuZGlzY29ubmVjdEZyb21C
YWNrZW5kKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5kb2N1bWVudENsaWNrID0gZnVuY3Rpb24oZXZl
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGE5NzE1ZjQuLmIxY2Q0OTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTEtMTEtMDggIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZGlzcGxheSBub3RpZmljYXRpb24gaW4gdGhlIGZyb250LWVuZCB3aGVuIGluc3BlY3RlZCB3
b3JrZXIgdGVybWluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3NzAKKworICAgICAgICBFeHBvc2VkIGFuIEFQSSBmb3IgdGhlIGJyb3dzZXIg
dG8gbm90aWZ5IGluc3BlY3RvciBmcm9udC1lbmQgd2hlbiBpbnNwZWNlZCBpbnN0YW5jZQorICAg
ICAgICB0ZXJtaW5hdGVzLiBJdCBpcyB1c2VkIG5vdyBmb3IgdHJhY2tpbmcgc2hhcmVkIHdvcmtl
cnMgdGVybWluYXRpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwdWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oOgorICAgICAgICAqIHNyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnQ6
OmNyZWF0ZUZyb250ZW5kRGlzY29ubmVjdGVkRXZlbnQpOgorCisyMDExLTExLTA4ICBZdXJ5IFNl
bWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtDaHJvbWl1bV0gV2Vi
IEluc3BlY3RvcjogYWRkIHNhbml0eSB0ZXN0IGZvciBhdXRvbWF0aWMgcmVhdHRhY2ggdG8gYSBw
YWdlIHdoaWNoIGlzIHJlbG9hZGVkIGFmdGVyIGNyYXNoCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc4NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50LmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50LmgKaW5kZXggMWRjYTliNy4uNWM5YWM0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGV2VG9vbHNBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQu
aApAQCAtOTAsNiArOTAsMTAgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJv
b2wgc2hvdWxkSW50ZXJydXB0Rm9yTWVzc2FnZShjb25zdCBXZWJTdHJpbmcmKTsKICAgICBXRUJL
SVRfRVhQT1JUIHN0YXRpYyB2b2lkIHByb2Nlc3NQZW5kaW5nTWVzc2FnZXMoKTsKIAorICAgIC8v
IFJldHVybnMgYSBkaXNjb25uZWN0IGV2ZW50IHRoYXQgY2FuIGJlIGRpc3BhdGNoZWQgb24gdGhl
IGZyb250LWVuZAorICAgIC8vIGluIG9yZGVyIHRvIGxldCBpdCBrbm93IHRoYXQgaXQgaGFzIGRp
c2Nvbm5lY3RlZCBmcm9tIHRoZSBhZ2VudC4KKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJT
dHJpbmcgZGlzY29ubmVjdEV2ZW50QXNUZXh0KCk7CisKICAgICB0eXBlZGVmIHZvaWQgKCpNZXNz
YWdlTG9vcERpc3BhdGNoSGFuZGxlcikoKTsKIAogICAgIC8vIEluc3RhbGxzIGRpc3BhdGNoIGhh
bmRsZSB0aGF0IGlzIGdvaW5nIHRvIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCAw
YTFmMjIwLi5hZjExZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JQcm90b2NvbFZlcnNpb24uaCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5o
IgpAQCAtMzgxLDYgKzM4MiwyMiBAQCB2b2lkIFdlYkRldlRvb2xzQWdlbnQ6OnByb2Nlc3NQZW5k
aW5nTWVzc2FnZXMoKQogICAgIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkucnVuUGVu
ZGluZ1Rhc2tzKCk7CiB9CiAKK1dlYlN0cmluZyBXZWJEZXZUb29sc0FnZW50OjpkaXNjb25uZWN0
RXZlbnRBc1RleHQoKQoreworICAgIGNsYXNzIENoYW5uZWxJbXBsIDogcHVibGljIEluc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbCB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIGJvb2wgc2Vu
ZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICAgICAgeworICAg
ICAgICAgICAgbV9tZXNzYWdlID0gbWVzc2FnZTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisgICAgICAgIFN0cmluZyBtX21lc3NhZ2U7CisgICAgfSBjaGFubmVsOworICAg
IEluc3BlY3RvckZyb250ZW5kOjpJbnNwZWN0b3IgaW5zcGVjdG9yKCZjaGFubmVsKTsKKyAgICBp
bnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CisgICAgcmV0dXJuIGNoYW5uZWwubV9t
ZXNzYWdlOworfQorCiB2b2lkIFdlYkRldlRvb2xzQWdlbnQ6OnNldE1lc3NhZ2VMb29wRGlzcGF0
Y2hIYW5kbGVyKE1lc3NhZ2VMb29wRGlzcGF0Y2hIYW5kbGVyIGhhbmRsZXIpCiB7CiAgICAgRGVi
dWdnZXJBZ2VudE1hbmFnZXI6OnNldE1lc3NhZ2VMb29wRGlzcGF0Y2hIYW5kbGVyKGhhbmRsZXIp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>