<?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>97662</bug_id>
          
          <creation_ts>2012-09-26 05:00:06 -0700</creation_ts>
          <short_desc>Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation</short_desc>
          <delta_ts>2012-09-26 08:21:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>benjamin</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728422</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 05:00:06 -0700</bug_when>
    <thetext>EOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728427</commentid>
    <comment_count>1</comment_count>
      <attachid>165770</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 05:06:32 -0700</bug_when>
    <thetext>Created attachment 165770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728436</commentid>
    <comment_count>2</comment_count>
      <attachid>165770</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-09-26 05:26:44 -0700</bug_when>
    <thetext>Comment on attachment 165770
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests (OOPS!).

Please provide a meaningful change log entry.

&gt; Source/WTF/wtf/ArrayBuffer.h:141
&gt; +    void reportMemoryUsage(MemoryObjectInfo*) const;

We could implement this as an external function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728464</commentid>
    <comment_count>3</comment_count>
      <attachid>165778</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 06:04:39 -0700</bug_when>
    <thetext>Created attachment 165778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728500</commentid>
    <comment_count>4</comment_count>
      <attachid>165787</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 06:49:17 -0700</bug_when>
    <thetext>Created attachment 165787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728503</commentid>
    <comment_count>5</comment_count>
      <attachid>165789</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 06:51:08 -0700</bug_when>
    <thetext>Created attachment 165789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728520</commentid>
    <comment_count>6</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 07:10:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 165770 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165770&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        No new tests (OOPS!).
&gt; 
&gt; Please provide a meaningful change log entry.
&gt; 
&gt; &gt; Source/WTF/wtf/ArrayBuffer.h:141
&gt; &gt; +    void reportMemoryUsage(MemoryObjectInfo*) const;
&gt; 
&gt; We could implement this as an external function.

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728527</commentid>
    <comment_count>7</comment_count>
      <attachid>165789</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-26 07:14:26 -0700</bug_when>
    <thetext>Comment on attachment 165789
Patch

Attachment 165789 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14034443</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728528</commentid>
    <comment_count>8</comment_count>
      <attachid>165796</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 07:15:55 -0700</bug_when>
    <thetext>Created attachment 165796
merge artefacts were removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728581</commentid>
    <comment_count>9</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-26 08:21:11 -0700</bug_when>
    <thetext>Committed r129649: &lt;http://trac.webkit.org/changeset/129649&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165770</attachid>
            <date>2012-09-26 05:06:32 -0700</date>
            <delta_ts>2012-09-26 06:04:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97662-20120926160550.patch</filename>
            <type>text/plain</type>
            <size>16465</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE0Y2M0MjJmNjZkMzEyMmI1N2IyMGIz
ZTQ1MTQ1Yjg3ZDNhOGI0YWUuLmM1ZWNjZWFkMzdhZmFhYmI0MmEyZDEzZTRmMDBjZDBiMDI1Yjhi
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFj
ZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1
bWVudGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTc2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgb2xkIHNjaGVtYSByZXBvcnRlZCB3cm9uZyBzaXplLgorCisgICAgICAgICogd3RmL0Fy
cmF5QnVmZmVyLmNwcDoKKyAgICAgICAgKFdURjo6QXJyYXlCdWZmZXI6OnJlcG9ydE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6OkFycmF5QnVmZmVyQ29udGVudHM6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3dGYvQXJyYXlCdWZmZXIuaDoKKyAgICAg
ICAgKFdURik6CisgICAgICAgIChBcnJheUJ1ZmZlckNvbnRlbnRzKToKKyAgICAgICAgKEFycmF5
QnVmZmVyKToKKyAgICAgICAgKiB3dGYvQXJyYXlCdWZmZXJWaWV3LmNwcDoKKyAgICAgICAgKFdU
Rjo6QXJyYXlCdWZmZXJWaWV3OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXVEYpOgor
ICAgICAgICAqIHd0Zi9BcnJheUJ1ZmZlclZpZXcuaDoKKyAgICAgICAgKiB3dGYvRmxvYXQzMkFy
cmF5Lmg6CisKIDIwMTItMDktMjYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBw
bGUuY29tPgogCiAgICAgICAgIFN0cmluZy5sb2NhbGVDb21wYXJlIHNob3VsZCBub3JtYWxpemUg
aW5wdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA2YWU5YjY1YzUwZDk5MmE0ZjY3MWUxOWVhZDZmODkxNTQxM2Y2
NDFmLi41YzExNWIzMThmYTIxODQ3ZTZiOGNkMjZlNDkxMTMwNTE4NTU1ZDU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFjZSBtYW51
YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1bWVudGF0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25h
bGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogZG9tL1dlYkNvcmVN
ZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
ZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmVNZW1v
cnlUeXBlcyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcDoK
KyAgICAgICAgKE1lbW9yeUJsb2NrTmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmNvbGxlY3REb21UcmVlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbik6CisKIDIwMTItMDkt
MjYgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3VnZ2Vz
dGlvblBpY2tlciBtaW4gd2lkdGggaXMgdHdvIHBpeGVscyB3aWRlciB0aGFuIGl0IHNob3VsZCBi
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3ODY2MTk3NjQyZjhhMDRkYmRhMTYwY2Jl
MTEyNTdmODdhNWE4OTNmLi40OWEzZDQ2NjM5OWNiNzg1ZWU4ZjdmYTE0NDI0YzFkMTUxYmM4MTk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI2
ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgbWFudWFsIEpTIGV4dGVybmFsIHJlc291cmNlcyBjb3Vu
dGluZyB3aXRoIE1lbW9yeUluc3RydW1lbnRhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG9sZCBzY2hlbWEgcmVwb3J0ZWQgd3Jvbmcgc2l6
ZS4KKworICAgICAgICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wOS0yNiAg
WW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBF
TkFCTEVfSU5QVVRfVFlQRV9NVUxUSVBMRV9GSUVMRFMgdG8gRU5BQkxFX0lOUFVUX01VTFRJUExF
X0ZJRUxEU19VSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXJyYXlCdWZmZXIuY3BwIGIv
U291cmNlL1dURi93dGYvQXJyYXlCdWZmZXIuY3BwCmluZGV4IDQ1Y2ZhMWRlYjJlYTVjMWRjYmRi
MmQzMjc3MTkxYmZiYTRiYTk1MmIuLjlkNjU5YmFlZmJiZjkxYjc2NTU0OTYwODk1NGExZjE0NmQ0
ZDA2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0FycmF5QnVmZmVyLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgIkFycmF5QnVmZmVyVmlldy5oIgogCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRh
dGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTc1LDQgKzc2LDE3IEBAIHZvaWQgQXJyYXlCdWZmZXI6OnJlbW92ZVZpZXcoQXJyYXlC
dWZmZXJWaWV3KiB2aWV3KQogICAgIHZpZXctPm1fcHJldlZpZXcgPSB2aWV3LT5tX25leHRWaWV3
ID0gMDsKIH0KIAordm9pZCBBcnJheUJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NvbnRl
bnRzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZpcnN0Vmlldyk7Cit9CisKK3ZvaWQgQXJyYXlC
dWZmZXJDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzKTsKKyAgICBpbmZvLmFkZFJhd0J1ZmZlcihtX2RhdGEsIG1fc2l6ZUluQnl0
ZXMpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlci5oIGIv
U291cmNlL1dURi93dGYvQXJyYXlCdWZmZXIuaAppbmRleCBhYTU5Y2Y3MzNiMDRlYTg5ZTdlNDU4
MDlhMDllYTQ2ZTdjOGRlMzExLi4yOWM2NGQ0ZGQxNTVkNTcyZDJiYTE5ZDQ1NmUyZGI2ZWRmZjJk
NTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0FycmF5QnVmZmVyLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdURiB7
CiAKIGNsYXNzIEFycmF5QnVmZmVyOwogY2xhc3MgQXJyYXlCdWZmZXJWaWV3OworY2xhc3MgTWVt
b3J5T2JqZWN0SW5mbzsKIAogI2lmIGRlZmluZWQoV1RGX1VTRV9WOCkKIC8vIFRoZSBjdXJyZW50
IGltcGxlbWVudGF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBp
cyBhCkBAIC02Miw2ICs2Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkKiBkYXRhKCkgeyByZXR1cm4g
bV9kYXRhOyB9CiAgICAgdW5zaWduZWQgc2l6ZUluQnl0ZXMoKSB7IHJldHVybiBtX3NpemVJbkJ5
dGVzOyB9CiAKKyAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKKwogcHJpdmF0ZToKICAgICBBcnJheUJ1ZmZlckNvbnRlbnRzKHZvaWQqIGRhdGEsIHVu
c2lnbmVkIHNpemVJbkJ5dGVzKSAKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKQEAgLTEzNSw2ICsx
MzgsOCBAQCBwdWJsaWM6CiAKICAgICB+QXJyYXlCdWZmZXIoKSB7IH0KIAorICAgIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCiBwcml2YXRlOgogICAg
IHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gY3JlYXRlKHVuc2lnbmVkIG51
bUVsZW1lbnRzLCB1bnNpZ25lZCBlbGVtZW50Qnl0ZVNpemUsIEFycmF5QnVmZmVyQ29udGVudHM6
OkluaXRpYWxpemF0aW9uUG9saWN5KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXJy
YXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9XVEYvd3RmL0FycmF5QnVmZmVyVmlldy5jcHAKaW5k
ZXggNjY3NTlkZTBiNDIxY2Y1YWNlOTBmZDU1NjgwZWQwZDYyNTFiY2M1OC4uZTgxM2RhZDY1YzJi
MDYzYzVkYTdhNjE3YWY1Yzc4NWE2ZDliMzcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
QXJyYXlCdWZmZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlclZpZXcu
Y3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJWaWV3LmgiCiAKICNp
bmNsdWRlICJBcnJheUJ1ZmZlci5oIgorI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRp
b24uaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTU0LDQgKzU1LDEyIEBAIHZvaWQgQXJyYXlC
dWZmZXJWaWV3OjpuZXV0ZXIoKQogICAgIG1fYnl0ZU9mZnNldCA9IDA7CiB9CiAKK3ZvaWQgQXJy
YXlCdWZmZXJWaWV3OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fYnVmZmVyKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3ByZXZWaWV3KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX25leHRWaWV3KTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXJyYXlCdWZmZXJWaWV3LmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9BcnJheUJ1ZmZlclZpZXcuaAppbmRleCA0NTFjMWI2ZWQ5OWMxYWZiNjU5NzYx
YTc1NThmMTEzYTQ2ODQ1NzhkLi41MWY1NTExNTBlZWZhYmZiM2JmYWNmZTg1Y2QwY2Q2MTY3YTY1
ZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlclZpZXcuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9BcnJheUJ1ZmZlclZpZXcuaApAQCAtNzEsNiArNzEsOCBAQCBjbGFzcyBX
VEZfRVhQT1JUX1BSSVZBVEVfUlRUSSBBcnJheUJ1ZmZlclZpZXcgOiBwdWJsaWMgUmVmQ291bnRl
ZDxBcnJheUJ1ZmZlclZpZQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFX05PX1JUVEkgdmlydHVh
bCB+QXJyYXlCdWZmZXJWaWV3KCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCiAgIHByb3RlY3RlZDoKICAgICBXVEZfRVhQ
T1JUX1BSSVZBVEVfTk9fUlRUSSBBcnJheUJ1ZmZlclZpZXcoUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4sIHVuc2lnbmVkIGJ5dGVPZmZzZXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9G
bG9hdDMyQXJyYXkuaCBiL1NvdXJjZS9XVEYvd3RmL0Zsb2F0MzJBcnJheS5oCmluZGV4IDQ3MjA0
ZWM3ODdlNzBiNDM3OTBjZWEwZDEwOTRiZWNkNTA5NjZmMjAuLjNiYWUyZTljZTVjZDZkNjU3ZDE4
ODUxMTQxZDc3ZWFlMTEzZGJhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zsb2F0MzJB
cnJheS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Zsb2F0MzJBcnJheS5oCkBAIC0yOSw2ICsyOSw3
IEBACiAKICNpbmNsdWRlIDx3dGYvVHlwZWRBcnJheUJhc2UuaD4KICNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaD4KIAogbmFt
ZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBkODZiMjU3ZmY1YzBjNTRjODRmMGJjMzVkYzdjMGU0
OGM3NTljNmE0Li5hNTEwZTBjNGIwOWE2ODUwM2ZjMjAyMDgwODFkMTdjYjc2MTU4YzAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24u
Y3BwCkBAIC01MCw0ICs1MCw4IEBAIE1lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDYWNoZWRSZXNvdXJjZVNWRyA9ICJNZW1vcnlDYWNoZS5TVkciOwogTWVtb3J5T2JqZWN0VHlw
ZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlU2hhZGVyID0gIk1lbW9yeUNhY2hl
LlNoYWRlciI7CiBNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVz
b3VyY2VYU0xUID0gIk1lbW9yeUNhY2hlLlhTTFQiOwogCitNZW1vcnlPYmplY3RUeXBlIFdlYkNv
cmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxSZXNvdXJjZXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcyI7
CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzID0g
IkpTRXh0ZXJuYWxSZXNvdXJjZXMuU3RyaW5ncyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVN
ZW1vcnlUeXBlczo6RXh0ZXJuYWxBcnJheXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcy5BcnJheXMi
OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dl
YkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaAppbmRleCA0NGQ2YjFlZjYyMDg3NTgzNDYxN2Uz
NzRhZDNlZWJlN2E5ZDM0MTQ3Li5hOTk4MTFiODRiM2U5MjBiYmRjNmQwN2QzNTBlMWFmZTViMmNm
Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgKQEAgLTU2LDYgKzU2LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTWVtb3J5T2Jq
ZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVNWRzsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBD
YWNoZWRSZXNvdXJjZVNoYWRlcjsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRS
ZXNvdXJjZVhTTFQ7CisKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBFeHRlcm5hbFJlc291
cmNlczsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBFeHRlcm5hbFN0cmluZ3M7CisgICAg
c3RhdGljIE1lbW9yeU9iamVjdFR5cGUgRXh0ZXJuYWxBcnJheXM7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1l
bW9yeUFnZW50LmNwcAppbmRleCAyY2VmOWFkNTZkMWVmYjk4NDgyYWY5YzdkM2MzYjhmMTZjM2I1
NzYxLi42M2EzY2M1MGQxMDI5ZWE0YTYwMWY2M2ZhYmE5YzdlNGEzNGE4MDljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTc1
LDkgKzc1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIE1lbW9yeUJsb2NrTmFt
ZSB7CiBzdGF0aWMgY29uc3QgY2hhciBqc0hlYXBBbGxvY2F0ZWRbXSA9ICJKU0hlYXBBbGxvY2F0
ZWQiOwogc3RhdGljIGNvbnN0IGNoYXIganNIZWFwVXNlZFtdID0gIkpTSGVhcFVzZWQiOwotc3Rh
dGljIGNvbnN0IGNoYXIganNFeHRlcm5hbFJlc291cmNlc1tdID0gIkpTRXh0ZXJuYWxSZXNvdXJj
ZXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbEFycmF5c1tdID0gIkpTRXh0ZXJuYWxB
cnJheXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbFN0cmluZ3NbXSA9ICJKU0V4dGVy
bmFsU3RyaW5ncyI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0b3JEYXRhW10gPSAiSW5zcGVj
dG9yRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0b3JET01EYXRhW10gPSAiSW5zcGVj
dG9yRE9NRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0b3JKU0hlYXBEYXRhW10gPSAi
SW5zcGVjdG9ySlNIZWFwRGF0YSI7CkBAIC0zMDQsMzMgKzMwMSw0NiBAQCBwcml2YXRlOgogICAg
IGludCBtX3NoYXJlZFN0cmluZ1NpemU7CiB9OwogCi1jbGFzcyBFeHRlcm5hbFJlc291cmNlVmlz
aXRvciA6IHB1YmxpYyBFeHRlcm5hbFN0cmluZ1Zpc2l0b3IsIHB1YmxpYyBFeHRlcm5hbEFycmF5
VmlzaXRvciB7CitjbGFzcyBFeHRlcm5hbFN0cmluZ3NSb290IDogcHVibGljIEV4dGVybmFsU3Ry
aW5nVmlzaXRvciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgRXh0ZXJuYWxSZXNvdXJjZVZpc2l0
b3IoVmlzaXRlZE9iamVjdHMmIHZpc2l0ZWRPYmplY3RzKQotICAgICAgICA6IG1fdmlzaXRlZE9i
amVjdHModmlzaXRlZE9iamVjdHMpCi0gICAgICAgICwgbV9qc0V4dGVybmFsU3RyaW5nU2l6ZSgw
KQotICAgICAgICAsIG1fZXh0ZXJuYWxBcnJheVNpemUoMCkKLSAgICB7IH0KKyAgICBFeHRlcm5h
bFN0cmluZ3NSb290KCkgOiBtX21lbW9yeUNsYXNzSW5mbygwKSB7IH0KIAotICAgIHNpemVfdCBl
eHRlcm5hbFN0cmluZ1NpemUoKSBjb25zdCB7IHJldHVybiBtX2pzRXh0ZXJuYWxTdHJpbmdTaXpl
OyB9Ci0gICAgc2l6ZV90IGV4dGVybmFsQXJyYXlTaXplKCkgY29uc3QgeyByZXR1cm4gbV9leHRl
cm5hbEFycmF5U2l6ZTsgfQorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKKyAgICB7CisgICAgICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0
ZXJuYWxTdHJpbmdzKTsKKyAgICAgICAgbV9tZW1vcnlDbGFzc0luZm8gPSAmaW5mbzsKKyAgICAg
ICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxTdHJpbmdzKGNvbnN0X2Nhc3Q8RXh0ZXJu
YWxTdHJpbmdzUm9vdCo+KHRoaXMpKTsKKyAgICAgICAgbV9tZW1vcnlDbGFzc0luZm8gPSAwOwor
ICAgIH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRKU0V4dGVybmFsQXJyYXko
QXJyYXlCdWZmZXJWaWV3KiBidWZmZXJWaWV3KQorICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0
ZXJuYWxTdHJpbmcoU3RyaW5nSW1wbCogc3RyaW5nKQogICAgIHsKLSAgICAgICAgQXJyYXlCdWZm
ZXIqIGJ1ZmZlciA9IGJ1ZmZlclZpZXctPmJ1ZmZlcigpLmdldCgpOwotICAgICAgICBpZiAobV92
aXNpdGVkT2JqZWN0cy5hZGQoYnVmZmVyKS5pc05ld0VudHJ5KQotICAgICAgICAgICAgbV9leHRl
cm5hbEFycmF5U2l6ZSArPSBidWZmZXItPmJ5dGVMZW5ndGgoKTsKKyAgICAgICAgbV9tZW1vcnlD
bGFzc0luZm8tPmFkZE1lbWJlcihzdHJpbmcpOwogICAgIH0KLSAgICB2aXJ0dWFsIHZvaWQgdmlz
aXRKU0V4dGVybmFsU3RyaW5nKFN0cmluZ0ltcGwqIHN0cmluZykKKworICAgIG11dGFibGUgTWVt
b3J5Q2xhc3NJbmZvKiBtX21lbW9yeUNsYXNzSW5mbzsKK307CisKK2NsYXNzIEV4dGVybmFsQXJy
YXlzUm9vdCA6IHB1YmxpYyBFeHRlcm5hbEFycmF5VmlzaXRvciB7CitwdWJsaWM6CisgICAgRXh0
ZXJuYWxBcnJheXNSb290KCkgOiBtX21lbW9yeUNsYXNzSW5mbygwKSB7IH0KKworICAgIHZvaWQg
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKKyAgICB7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxBcnJheXMpOworICAgICAgICBtX21l
bW9yeUNsYXNzSW5mbyA9ICZpbmZvOworICAgICAgICBTY3JpcHRQcm9maWxlcjo6dmlzaXRFeHRl
cm5hbEFycmF5cyhjb25zdF9jYXN0PEV4dGVybmFsQXJyYXlzUm9vdCo+KHRoaXMpKTsKKyAgICAg
ICAgbV9tZW1vcnlDbGFzc0luZm8gPSAwOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFs
IHZvaWQgdmlzaXRKU0V4dGVybmFsQXJyYXkoQXJyYXlCdWZmZXJWaWV3KiBhcnJheUJ1ZmZlclZp
ZXcpCiAgICAgewotICAgICAgICBpZiAobV92aXNpdGVkT2JqZWN0cy5hZGQoc3RyaW5nKS5pc05l
d0VudHJ5KQotICAgICAgICAgICAgbV9qc0V4dGVybmFsU3RyaW5nU2l6ZSArPSBzdHJpbmctPnNp
emVJbkJ5dGVzKCk7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvLT5hZGRNZW1iZXIoYXJyYXlC
dWZmZXJWaWV3KTsKICAgICB9CiAKLSAgICBWaXNpdGVkT2JqZWN0cyYgbV92aXNpdGVkT2JqZWN0
czsKLSAgICBzaXplX3QgbV9qc0V4dGVybmFsU3RyaW5nU2l6ZTsKLSAgICBzaXplX3QgbV9leHRl
cm5hbEFycmF5U2l6ZTsKKyAgICBtdXRhYmxlIE1lbW9yeUNsYXNzSW5mbyogbV9tZW1vcnlDbGFz
c0luZm87CiB9OwogCiBjbGFzcyBJbnNwZWN0b3JEYXRhQ291bnRlciB7CkBAIC00OTIsMTAgKzUw
MiwyNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBkb20ucmVsZWFzZSgpOwogICAgIH0KIAor
ICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGJ1aWxkT2JqZWN0Rm9yRXh0ZXJu
YWxSZXNvdXJjZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgc2l6ZV90IHRvdGFsU2l6ZSA9IDA7
CisKKyAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9j
az4gPiByZXNvdXJjZXNDaGlsZHJlbiA9IFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1v
cnlCbG9jaz46OmNyZWF0ZSgpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tG
b3IocmVzb3VyY2VzQ2hpbGRyZW4uZ2V0KCksIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxT
dHJpbmdzKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKHJlc291cmNl
c0NoaWxkcmVuLmdldCgpLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkV4dGVybmFsQXJyYXlzKTsKKwor
ICAgICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IHJlc291cmNlcyA9IEluc3BlY3Rv
ck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJu
YWxSZXNvdXJjZXMpOworICAgICAgICByZXNvdXJjZXMtPnNldFNpemUodG90YWxTaXplKTsKKyAg
ICAgICAgcmVzb3VyY2VzLT5zZXRDaGlsZHJlbihyZXNvdXJjZXNDaGlsZHJlbi5yZWxlYXNlKCkp
OworICAgICAgICByZXR1cm4gcmVzb3VyY2VzLnJlbGVhc2UoKTsKKyAgICB9CisKICAgICB2b2lk
IGR1bXBTdGF0aXN0aWNzKFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4q
IGNoaWxkcmVuLCBJbnNwZWN0b3JEYXRhQ291bnRlciogaW5zcGVjdG9yRGF0YSkKICAgICB7CiAg
ICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9yTWVtb3J5Q2FjaGUoKSk7CiAg
ICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9yUGFnZSgpKTsKKyAgICAgICAg
Y2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRPYmplY3RGb3JFeHRlcm5hbFJlc291cmNlcygpKTsKIAog
ICAgICAgICBpbnNwZWN0b3JEYXRhLT5hZGRDb21wb25lbnQoTWVtb3J5QmxvY2tOYW1lOjppbnNw
ZWN0b3JET01EYXRhLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi5zZWxmU2l6ZSgpKTsKICAgICB9
CkBAIC01MTksNiArNTQ0LDEzIEBAIHByaXZhdGU6CiBzdGF0aWMgdm9pZCBjb2xsZWN0RG9tVHJl
ZUluZm8oUGFnZSogcGFnZSwgVmlzaXRlZE9iamVjdHMmIHZpc2l0ZWRPYmplY3RzLCBUeXBlQnVp
bGRlcjo6QXJyYXk8SW5zcGVjdG9yTWVtb3J5QmxvY2s+KiBjaGlsZHJlbiwgSW5zcGVjdG9yRGF0
YUNvdW50ZXIqIGluc3BlY3RvckRhdGEpCiB7CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1w
bCBtZW1vcnlJbnN0cnVtZW50YXRpb24odmlzaXRlZE9iamVjdHMpOworCisgICAgRXh0ZXJuYWxT
dHJpbmdzUm9vdCBzdHJpbmdzUm9vdDsKKyAgICBtZW1vcnlJbnN0cnVtZW50YXRpb24uYWRkUm9v
dE9iamVjdChzdHJpbmdzUm9vdCk7CisKKyAgICBFeHRlcm5hbEFycmF5c1Jvb3QgYXJyYXlzUm9v
dDsKKyAgICBtZW1vcnlJbnN0cnVtZW50YXRpb24uYWRkUm9vdE9iamVjdChhcnJheXNSb290KTsK
KwogICAgIERPTVRyZWVzSXRlcmF0b3IgZG9tVHJlZXNJdGVyYXRvcihwYWdlLCBtZW1vcnlJbnN0
cnVtZW50YXRpb24pOwogCiAgICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0Tm9kZVdyYXBwZXJzKCZk
b21UcmVlc0l0ZXJhdG9yKTsKQEAgLTU0OCwyNyArNTgwLDYgQEAgc3RhdGljIHZvaWQgYWRkUGxh
dGZvcm1Db21wb25lbnRzSW5mbyhQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0
b3JNZW0KICAgICB9CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2Nr
PiBqc0V4dGVybmFsUmVzb3VyY2VzSW5mbyhWaXNpdGVkT2JqZWN0cyYgdmlzaXRlZE9iamVjdHMp
Ci17Ci0gICAgRXh0ZXJuYWxSZXNvdXJjZVZpc2l0b3IgdmlzaXRvcih2aXNpdGVkT2JqZWN0cyk7
Ci0gICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxTdHJpbmdzKCZ2aXNpdG9yKTsKLSAg
ICBTY3JpcHRQcm9maWxlcjo6dmlzaXRFeHRlcm5hbEFycmF5cygmdmlzaXRvcik7Ci0KLSAgICBS
ZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGV4dGVybmFsUmVzb3VyY2VzU3RhdHMgPSBJbnNw
ZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmpzRXh0
ZXJuYWxSZXNvdXJjZXMpOwotICAgIGV4dGVybmFsUmVzb3VyY2VzU3RhdHMtPnNldFNpemUodmlz
aXRvci5leHRlcm5hbFN0cmluZ1NpemUoKSArIHZpc2l0b3IuZXh0ZXJuYWxBcnJheVNpemUoKSk7
Ci0gICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiBj
aGlsZHJlbiA9IFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0
ZSgpOwotCi0gICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBleHRlcm5hbFN0cmluZ1N0
YXRzID0gSW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5hbWUoTWVtb3J5QmxvY2tO
YW1lOjpqc0V4dGVybmFsU3RyaW5ncyk7Ci0gICAgZXh0ZXJuYWxTdHJpbmdTdGF0cy0+c2V0U2l6
ZSh2aXNpdG9yLmV4dGVybmFsU3RyaW5nU2l6ZSgpKTsKLSAgICBjaGlsZHJlbi0+YWRkSXRlbShl
eHRlcm5hbFN0cmluZ1N0YXRzKTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4g
ZXh0ZXJuYWxBcnJheVN0YXRzID0gSW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5h
bWUoTWVtb3J5QmxvY2tOYW1lOjpqc0V4dGVybmFsQXJyYXlzKTsKLSAgICBleHRlcm5hbEFycmF5
U3RhdHMtPnNldFNpemUodmlzaXRvci5leHRlcm5hbEFycmF5U2l6ZSgpKTsKLSAgICBjaGlsZHJl
bi0+YWRkSXRlbShleHRlcm5hbEFycmF5U3RhdHMpOwotCi0gICAgcmV0dXJuIGV4dGVybmFsUmVz
b3VyY2VzU3RhdHMucmVsZWFzZSgpOwotfQotCiBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JN
ZW1vcnlCbG9jaz4gZHVtcERPTVN0b3JhZ2VDYWNoZShzaXplX3QgY2FjaGVTaXplKQogewogICAg
IFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gZG9tU3RvcmFnZUNhY2hlID0gSW5zcGVjdG9y
TWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5hbWUoTWVtb3J5QmxvY2tOYW1lOjpkb21TdG9yYWdl
Q2FjaGUpOwpAQCAtNTg3LDcgKzU5OCw2IEBAIHZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6Omdl
dFByb2Nlc3NNZW1vcnlEaXN0cmlidXRpb24oRXJyb3JTdHJpbmcqLCBSZWZQdHI8SW5zCiAgICAg
UmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiBjaGlsZHJl
biA9IFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0ZSgpOwog
ICAgIGNoaWxkcmVuLT5hZGRJdGVtKGpzSGVhcEluZm8oKSk7CiAgICAgY2hpbGRyZW4tPmFkZEl0
ZW0ocmVuZGVyVHJlZUluZm8obV9wYWdlKSk7IC8vIEZJWE1FOiBjb2xsZWN0IGZvciBhbGwgcGFn
ZXM/Ci0gICAgY2hpbGRyZW4tPmFkZEl0ZW0oanNFeHRlcm5hbFJlc291cmNlc0luZm8odmlzaXRl
ZE9iamVjdHMpKTsKICAgICBjb2xsZWN0RG9tVHJlZUluZm8obV9wYWdlLCB2aXNpdGVkT2JqZWN0
cywgY2hpbGRyZW4uZ2V0KCksICZpbnNwZWN0b3JEYXRhKTsgLy8gRklYTUU6IGNvbGxlY3QgZm9y
IGFsbCBwYWdlcz8KICAgICBjaGlsZHJlbi0+YWRkSXRlbShpbnNwZWN0b3JEYXRhLmR1bXBTdGF0
aXN0aWNzKCkpOwogICAgIGNoaWxkcmVuLT5hZGRJdGVtKGR1bXBET01TdG9yYWdlQ2FjaGUobV9k
b21TdG9yYWdlQWdlbnQtPm1lbW9yeUJ5dGVzVXNlZEJ5U3RvcmFnZUNhY2hlKCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRh
dGlvblRlc3QuY3BwCmluZGV4IDIxY2U5NjMxNjljZGNiMzkxZmQ3YTI5ZGYzNWY1NjBmZGJkODQ0
NmYuLjlhYjRmMDJhYjBlOWY0ZjU0ZTc5ZDM2ZGFjZjI4MWI2MmM1ZDRiZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRp
b25UZXN0LmNwcApAQCAtMzYsNiArMzYsNyBAQAogCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4K
IAorI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00MzksNSArNDQwLDE3IEBAIFRFU1QoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uVGVzdCwgdmVjdG9yV2l0aEluc3RydW1lbnRlZFR5cGUpCiAgICAgRVhQRUNUX0VR
KGNvdW50ICsgMiwgKHNpemVfdCl2aXNpdGVkT2JqZWN0cy5zaXplKCkpOwogfQogCitURVNUKE1l
bW9yeUluc3RydW1lbnRhdGlvblRlc3QsIGFycmF5QnVmZmVyKQoreworICAgIFZpc2l0ZWRPYmpl
Y3RzIHZpc2l0ZWRPYmplY3RzOworICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbkltcGwgaW1wbCh2
aXNpdGVkT2JqZWN0cyk7CisKKyAgICB0eXBlZGVmIEluc3RydW1lbnRlZFRlbXBsYXRlPFJlZlB0
cjxBcnJheUJ1ZmZlcj4gPiBWYWx1ZVR5cGU7CisgICAgVmFsdWVUeXBlIHZhbHVlKEFycmF5QnVm
ZmVyOjpjcmVhdGUoMTAwMCwgc2l6ZW9mKGludCkpKTsKKyAgICBpbXBsLmFkZFJvb3RPYmplY3Qo
dmFsdWUpOworICAgIEVYUEVDVF9FUShzaXplb2YoaW50KSAqIDEwMDAgKyBzaXplb2YoQXJyYXlC
dWZmZXIpLCBpbXBsLnJlcG9ydGVkU2l6ZUZvckFsbFR5cGVzKCkpOworICAgIEVYUEVDVF9FUSgy
LCB2aXNpdGVkT2JqZWN0cy5zaXplKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165778</attachid>
            <date>2012-09-26 06:04:39 -0700</date>
            <delta_ts>2012-09-26 06:49:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97662-20120926170357.patch</filename>
            <type>text/plain</type>
            <size>12410</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFlOWI2NWM1MGQ5OTJh
NGY2NzFlMTllYWQ2Zjg5MTU0MTNmNjQxZi4uZGUzMmM3MDdlOWU2NGU0NGFkMmExMzU1YTNkMTk0
NDEyMmFjOGI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI2ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBOTUk6IHJlcGxhY2UgbWFudWFsIEpTIGV4dGVybmFsIHJlc291cmNlcyBjb3VudGluZyB3
aXRoIE1lbW9yeUluc3RydW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBPbGQgc2NoZW1hIHVzZXMgc2l6ZUluQnl0ZXMgbWV0aG9kIG9uIFN0
cmluZ0ltcGwuIFRoaXMgbWV0aG9kIHdvcmtzIGluY29ycmVjdCBmb3Igc3Vic3RyaW5ncy4KKyAg
ICAgICAgQWxzbyB3ZSdkIGxpa2UgdG8ga25vdyBleGFjdCBwb2ludGVycyB0byBzdHJpbmdzIGFu
ZCBidWZmZXJzIGZvciB2ZXJpZmljYXRpb24gcHVycG9zZXMuCisKKyAgICAgICAgKiBkb20vV2Vi
Q29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBkb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZU1lbW9yeVR5cGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQu
Y3BwOgorICAgICAgICAoTWVtb3J5QmxvY2tOYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Y29sbGVjdERvbVRyZWVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvck1lbW9yeUFnZW50OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uKToKKwogMjAx
Mi0wOS0yNiAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBT
dWdnZXN0aW9uUGlja2VyIG1pbiB3aWR0aCBpcyB0d28gcGl4ZWxzIHdpZGVyIHRoYW4gaXQgc2hv
dWxkIGJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDc4NjYxOTc2NDJmOGEwNGRiZGEx
NjBjYmUxMTI1N2Y4N2E1YTg5M2YuLmVlMGFjYzhjOGNkNmRkZmFjMmY0Yjk2NjQyZTc1ZGVkNTg0
MDIxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFjZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2Vz
IGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9sZCBzY2hlbWEgdXNlZCBzaXplSW5CeXRlcyBt
ZXRob2Qgb24gU3RyaW5nSW1wbC4gVGhpcyBtZXRob2Qgd29ya3MgaW5jb3JyZWN0IGZvciBzdWJz
dHJpbmdzLgorICAgICAgICBBbHNvIHdlJ2QgbGlrZSB0byBrbm93IGV4YWN0IHBvaW50ZXJzIHRv
IHN0cmluZ3MgYW5kIGJ1ZmZlcnMgZm9yIHZlcmlmaWNhdGlvbiBwdXJwb3Nlcy4KKworICAgICAg
ICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VEVTVCk6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wOS0yNiAgWW9zaGlmdW1pIElu
b3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBFTkFCTEVfSU5QVVRf
VFlQRV9NVUxUSVBMRV9GSUVMRFMgdG8gRU5BQkxFX0lOUFVUX01VTFRJUExFX0ZJRUxEU19VSQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24u
Y3BwCmluZGV4IGQ4NmIyNTdmZjVjMGM1NGM4NGYwYmMzNWRjN2MwZTQ4Yzc1OWM2YTQuLmE1MTBl
MGM0YjA5YTY4NTAzZmMyMDIwODA4MWQxN2NiNzYxNThjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTUwLDQgKzUw
LDggQEAgTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNl
U1ZHID0gIk1lbW9yeUNhY2hlLlNWRyI7CiBNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFkZXIgPSAiTWVtb3J5Q2FjaGUuU2hhZGVyIjsKIE1lbW9y
eU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVhTTFQgPSAiTWVt
b3J5Q2FjaGUuWFNMVCI7CiAKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpF
eHRlcm5hbFJlc291cmNlcyA9ICJKU0V4dGVybmFsUmVzb3VyY2VzIjsKK01lbW9yeU9iamVjdFR5
cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbFN0cmluZ3MgPSAiSlNFeHRlcm5hbFJlc291
cmNlcy5TdHJpbmdzIjsKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRl
cm5hbEFycmF5cyA9ICJKU0V4dGVybmFsUmVzb3VyY2VzLkFycmF5cyI7CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oCmluZGV4IDQ0ZDZiMWVmNjIwODc1ODM0NjE3ZTM3NGFkM2VlYmU3YTlkMzQx
NDcuLmE5OTgxMWI4NGIzZTkyMGJiZGM2ZDA3ZDM1MGUxYWZlNWIyY2ZjYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtNTYs
NiArNTYsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJl
c291cmNlU1ZHOwogICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlU2hh
ZGVyOwogICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlWFNMVDsKKwor
ICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIEV4dGVybmFsUmVzb3VyY2VzOworICAgIHN0YXRp
YyBNZW1vcnlPYmplY3RUeXBlIEV4dGVybmFsU3RyaW5nczsKKyAgICBzdGF0aWMgTWVtb3J5T2Jq
ZWN0VHlwZSBFeHRlcm5hbEFycmF5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmlu
ZGV4IDJjZWY5YWQ1NmQxZWZiOTg0ODJhZjljN2QzYzNiOGYxNmMzYjU3NjEuLjVlZDM5MzViMmU5
YzA2NjNhMWJmZDAxYjEyN2JhNzg5ODI3YzI3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtNTIsOSArNTIsOSBAQAogI2lu
Y2x1ZGUgIlNjcmlwdEdDRXZlbnQuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogI2lu
Y2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvQXJyYXlCdWZmZXIuaD4KICNp
bmNsdWRlIDx3dGYvQXJyYXlCdWZmZXJWaWV3Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
KyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNzUsOSArNzUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBuYW1lc3BhY2UgTWVtb3J5QmxvY2tOYW1lIHsKIHN0YXRpYyBjb25zdCBjaGFyIGpzSGVhcEFs
bG9jYXRlZFtdID0gIkpTSGVhcEFsbG9jYXRlZCI7CiBzdGF0aWMgY29uc3QgY2hhciBqc0hlYXBV
c2VkW10gPSAiSlNIZWFwVXNlZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4dGVybmFsUmVzb3Vy
Y2VzW10gPSAiSlNFeHRlcm5hbFJlc291cmNlcyI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4dGVy
bmFsQXJyYXlzW10gPSAiSlNFeHRlcm5hbEFycmF5cyI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4
dGVybmFsU3RyaW5nc1tdID0gIkpTRXh0ZXJuYWxTdHJpbmdzIjsKIHN0YXRpYyBjb25zdCBjaGFy
IGluc3BlY3RvckRhdGFbXSA9ICJJbnNwZWN0b3JEYXRhIjsKIHN0YXRpYyBjb25zdCBjaGFyIGlu
c3BlY3RvckRPTURhdGFbXSA9ICJJbnNwZWN0b3JET01EYXRhIjsKIHN0YXRpYyBjb25zdCBjaGFy
IGluc3BlY3RvckpTSGVhcERhdGFbXSA9ICJJbnNwZWN0b3JKU0hlYXBEYXRhIjsKQEAgLTMwNCwz
MyArMzAxLDQ2IEBAIHByaXZhdGU6CiAgICAgaW50IG1fc2hhcmVkU3RyaW5nU2l6ZTsKIH07CiAK
LWNsYXNzIEV4dGVybmFsUmVzb3VyY2VWaXNpdG9yIDogcHVibGljIEV4dGVybmFsU3RyaW5nVmlz
aXRvciwgcHVibGljIEV4dGVybmFsQXJyYXlWaXNpdG9yIHsKK2NsYXNzIEV4dGVybmFsU3RyaW5n
c1Jvb3QgOiBwdWJsaWMgRXh0ZXJuYWxTdHJpbmdWaXNpdG9yIHsKIHB1YmxpYzoKLSAgICBleHBs
aWNpdCBFeHRlcm5hbFJlc291cmNlVmlzaXRvcihWaXNpdGVkT2JqZWN0cyYgdmlzaXRlZE9iamVj
dHMpCi0gICAgICAgIDogbV92aXNpdGVkT2JqZWN0cyh2aXNpdGVkT2JqZWN0cykKLSAgICAgICAg
LCBtX2pzRXh0ZXJuYWxTdHJpbmdTaXplKDApCi0gICAgICAgICwgbV9leHRlcm5hbEFycmF5U2l6
ZSgwKQotICAgIHsgfQorICAgIEV4dGVybmFsU3RyaW5nc1Jvb3QoKSA6IG1fbWVtb3J5Q2xhc3NJ
bmZvKDApIHsgfQogCi0gICAgc2l6ZV90IGV4dGVybmFsU3RyaW5nU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fanNFeHRlcm5hbFN0cmluZ1NpemU7IH0KLSAgICBzaXplX3QgZXh0ZXJuYWxBcnJheVNp
emUoKSBjb25zdCB7IHJldHVybiBtX2V4dGVybmFsQXJyYXlTaXplOyB9CisgICAgdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAor
ICAgIHsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbFN0cmluZ3MpOworICAgICAgICBtX21lbW9y
eUNsYXNzSW5mbyA9ICZpbmZvOworICAgICAgICBTY3JpcHRQcm9maWxlcjo6dmlzaXRFeHRlcm5h
bFN0cmluZ3MoY29uc3RfY2FzdDxFeHRlcm5hbFN0cmluZ3NSb290Kj4odGhpcykpOworICAgICAg
ICBtX21lbW9yeUNsYXNzSW5mbyA9IDA7CisgICAgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwg
dm9pZCB2aXNpdEpTRXh0ZXJuYWxBcnJheShBcnJheUJ1ZmZlclZpZXcqIGJ1ZmZlclZpZXcpCisg
ICAgdmlydHVhbCB2b2lkIHZpc2l0SlNFeHRlcm5hbFN0cmluZyhTdHJpbmdJbXBsKiBzdHJpbmcp
CiAgICAgewotICAgICAgICBBcnJheUJ1ZmZlciogYnVmZmVyID0gYnVmZmVyVmlldy0+YnVmZmVy
KCkuZ2V0KCk7Ci0gICAgICAgIGlmIChtX3Zpc2l0ZWRPYmplY3RzLmFkZChidWZmZXIpLmlzTmV3
RW50cnkpCi0gICAgICAgICAgICBtX2V4dGVybmFsQXJyYXlTaXplICs9IGJ1ZmZlci0+Ynl0ZUxl
bmd0aCgpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5mby0+YWRkTWVtYmVyKHN0cmluZyk7CiAg
ICAgfQotICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxTdHJpbmcoU3RyaW5nSW1wbCog
c3RyaW5nKQorCisgICAgbXV0YWJsZSBNZW1vcnlDbGFzc0luZm8qIG1fbWVtb3J5Q2xhc3NJbmZv
OworfTsKKworY2xhc3MgRXh0ZXJuYWxBcnJheXNSb290IDogcHVibGljIEV4dGVybmFsQXJyYXlW
aXNpdG9yIHsKK3B1YmxpYzoKKyAgICBFeHRlcm5hbEFycmF5c1Jvb3QoKSA6IG1fbWVtb3J5Q2xh
c3NJbmZvKDApIHsgfQorCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAorICAgIHsKKyAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRl
cm5hbEFycmF5cyk7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvID0gJmluZm87CisgICAgICAg
IFNjcmlwdFByb2ZpbGVyOjp2aXNpdEV4dGVybmFsQXJyYXlzKGNvbnN0X2Nhc3Q8RXh0ZXJuYWxB
cnJheXNSb290Kj4odGhpcykpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5mbyA9IDA7CisgICAg
fQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxBcnJheShBcnJh
eUJ1ZmZlclZpZXcqIGFycmF5QnVmZmVyVmlldykKICAgICB7Ci0gICAgICAgIGlmIChtX3Zpc2l0
ZWRPYmplY3RzLmFkZChzdHJpbmcpLmlzTmV3RW50cnkpCi0gICAgICAgICAgICBtX2pzRXh0ZXJu
YWxTdHJpbmdTaXplICs9IHN0cmluZy0+c2l6ZUluQnl0ZXMoKTsKKyAgICAgICAgbV9tZW1vcnlD
bGFzc0luZm8tPmFkZE1lbWJlcihhcnJheUJ1ZmZlclZpZXcpOwogICAgIH0KIAotICAgIFZpc2l0
ZWRPYmplY3RzJiBtX3Zpc2l0ZWRPYmplY3RzOwotICAgIHNpemVfdCBtX2pzRXh0ZXJuYWxTdHJp
bmdTaXplOwotICAgIHNpemVfdCBtX2V4dGVybmFsQXJyYXlTaXplOworICAgIG11dGFibGUgTWVt
b3J5Q2xhc3NJbmZvKiBtX21lbW9yeUNsYXNzSW5mbzsKIH07CiAKIGNsYXNzIEluc3BlY3RvckRh
dGFDb3VudGVyIHsKQEAgLTQ5MiwxMCArNTAyLDI1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGRvbS5yZWxlYXNlKCk7CiAgICAgfQogCisgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JNZW1vcnlC
bG9jaz4gYnVpbGRPYmplY3RGb3JFeHRlcm5hbFJlc291cmNlcygpIGNvbnN0CisgICAgeworICAg
ICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKKworICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6
OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IHJlc291cmNlc0NoaWxkcmVuID0gVHlwZUJ1
aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7CisgICAgICAgIHRv
dGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihyZXNvdXJjZXNDaGlsZHJlbi5nZXQoKSwgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbFN0cmluZ3MpOworICAgICAgICB0b3RhbFNpemUgKz0g
YWRkTWVtb3J5QmxvY2tGb3IocmVzb3VyY2VzQ2hpbGRyZW4uZ2V0KCksIFdlYkNvcmVNZW1vcnlU
eXBlczo6RXh0ZXJuYWxBcnJheXMpOworCisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlC
bG9jaz4gcmVzb3VyY2VzID0gSW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5hbWUo
V2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbFJlc291cmNlcyk7CisgICAgICAgIHJlc291cmNl
cy0+c2V0U2l6ZSh0b3RhbFNpemUpOworICAgICAgICByZXNvdXJjZXMtPnNldENoaWxkcmVuKHJl
c291cmNlc0NoaWxkcmVuLnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVybiByZXNvdXJjZXMucmVs
ZWFzZSgpOworICAgIH0KKwogICAgIHZvaWQgZHVtcFN0YXRpc3RpY3MoVHlwZUJ1aWxkZXI6OkFy
cmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiogY2hpbGRyZW4sIEluc3BlY3RvckRhdGFDb3VudGVy
KiBpbnNwZWN0b3JEYXRhKQogICAgIHsKICAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRP
YmplY3RGb3JNZW1vcnlDYWNoZSgpKTsKICAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRP
YmplY3RGb3JQYWdlKCkpOworICAgICAgICBjaGlsZHJlbi0+YWRkSXRlbShidWlsZE9iamVjdEZv
ckV4dGVybmFsUmVzb3VyY2VzKCkpOwogCiAgICAgICAgIGluc3BlY3RvckRhdGEtPmFkZENvbXBv
bmVudChNZW1vcnlCbG9ja05hbWU6Omluc3BlY3RvckRPTURhdGEsIG1fbWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLnNlbGZTaXplKCkpOwogICAgIH0KQEAgLTUxOSw2ICs1NDQsMTMgQEAgcHJpdmF0ZToK
IHN0YXRpYyB2b2lkIGNvbGxlY3REb21UcmVlSW5mbyhQYWdlKiBwYWdlLCBWaXNpdGVkT2JqZWN0
cyYgdmlzaXRlZE9iamVjdHMsIFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9j
az4qIGNoaWxkcmVuLCBJbnNwZWN0b3JEYXRhQ291bnRlciogaW5zcGVjdG9yRGF0YSkKIHsKICAg
ICBNZW1vcnlJbnN0cnVtZW50YXRpb25JbXBsIG1lbW9yeUluc3RydW1lbnRhdGlvbih2aXNpdGVk
T2JqZWN0cyk7CisKKyAgICBFeHRlcm5hbFN0cmluZ3NSb290IHN0cmluZ3NSb290OworICAgIG1l
bW9yeUluc3RydW1lbnRhdGlvbi5hZGRSb290T2JqZWN0KHN0cmluZ3NSb290KTsKKworICAgIEV4
dGVybmFsQXJyYXlzUm9vdCBhcnJheXNSb290OworICAgIG1lbW9yeUluc3RydW1lbnRhdGlvbi5h
ZGRSb290T2JqZWN0KGFycmF5c1Jvb3QpOworCiAgICAgRE9NVHJlZXNJdGVyYXRvciBkb21UcmVl
c0l0ZXJhdG9yKHBhZ2UsIG1lbW9yeUluc3RydW1lbnRhdGlvbik7CiAKICAgICBTY3JpcHRQcm9m
aWxlcjo6dmlzaXROb2RlV3JhcHBlcnMoJmRvbVRyZWVzSXRlcmF0b3IpOwpAQCAtNTQ4LDI3ICs1
ODAsNiBAQCBzdGF0aWMgdm9pZCBhZGRQbGF0Zm9ybUNvbXBvbmVudHNJbmZvKFBhc3NSZWZQdHI8
VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbQogICAgIH0KIH0KIAotc3RhdGljIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGpzRXh0ZXJuYWxSZXNvdXJjZXNJbmZvKFZpc2l0
ZWRPYmplY3RzJiB2aXNpdGVkT2JqZWN0cykKLXsKLSAgICBFeHRlcm5hbFJlc291cmNlVmlzaXRv
ciB2aXNpdG9yKHZpc2l0ZWRPYmplY3RzKTsKLSAgICBTY3JpcHRQcm9maWxlcjo6dmlzaXRFeHRl
cm5hbFN0cmluZ3MoJnZpc2l0b3IpOwotICAgIFNjcmlwdFByb2ZpbGVyOjp2aXNpdEV4dGVybmFs
QXJyYXlzKCZ2aXNpdG9yKTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gZXh0
ZXJuYWxSZXNvdXJjZXNTdGF0cyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXRO
YW1lKE1lbW9yeUJsb2NrTmFtZTo6anNFeHRlcm5hbFJlc291cmNlcyk7Ci0gICAgZXh0ZXJuYWxS
ZXNvdXJjZXNTdGF0cy0+c2V0U2l6ZSh2aXNpdG9yLmV4dGVybmFsU3RyaW5nU2l6ZSgpICsgdmlz
aXRvci5leHRlcm5hbEFycmF5U2l6ZSgpKTsKLSAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5
PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFycmF5PElu
c3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7Ci0KLSAgICBSZWZQdHI8SW5zcGVjdG9yTWVt
b3J5QmxvY2s+IGV4dGVybmFsU3RyaW5nU3RhdHMgPSBJbnNwZWN0b3JNZW1vcnlCbG9jazo6Y3Jl
YXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmpzRXh0ZXJuYWxTdHJpbmdzKTsKLSAgICBl
eHRlcm5hbFN0cmluZ1N0YXRzLT5zZXRTaXplKHZpc2l0b3IuZXh0ZXJuYWxTdHJpbmdTaXplKCkp
OwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFsU3RyaW5nU3RhdHMpOwotCi0gICAgUmVm
UHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBleHRlcm5hbEFycmF5U3RhdHMgPSBJbnNwZWN0b3JN
ZW1vcnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmpzRXh0ZXJuYWxB
cnJheXMpOwotICAgIGV4dGVybmFsQXJyYXlTdGF0cy0+c2V0U2l6ZSh2aXNpdG9yLmV4dGVybmFs
QXJyYXlTaXplKCkpOwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFsQXJyYXlTdGF0cyk7
Ci0KLSAgICByZXR1cm4gZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cy5yZWxlYXNlKCk7Ci19Ci0KIHN0
YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBkdW1wRE9NU3RvcmFnZUNhY2hl
KHNpemVfdCBjYWNoZVNpemUpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBk
b21TdG9yYWdlQ2FjaGUgPSBJbnNwZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShN
ZW1vcnlCbG9ja05hbWU6OmRvbVN0b3JhZ2VDYWNoZSk7CkBAIC01ODcsNyArNTk4LDYgQEAgdm9p
ZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbihFcnJv
clN0cmluZyosIFJlZlB0cjxJbnMKICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3Bl
Y3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rv
ck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7CiAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oanNIZWFwSW5m
bygpKTsKICAgICBjaGlsZHJlbi0+YWRkSXRlbShyZW5kZXJUcmVlSW5mbyhtX3BhZ2UpKTsgLy8g
RklYTUU6IGNvbGxlY3QgZm9yIGFsbCBwYWdlcz8KLSAgICBjaGlsZHJlbi0+YWRkSXRlbShqc0V4
dGVybmFsUmVzb3VyY2VzSW5mbyh2aXNpdGVkT2JqZWN0cykpOwogICAgIGNvbGxlY3REb21UcmVl
SW5mbyhtX3BhZ2UsIHZpc2l0ZWRPYmplY3RzLCBjaGlsZHJlbi5nZXQoKSwgJmluc3BlY3RvckRh
dGEpOyAvLyBGSVhNRTogY29sbGVjdCBmb3IgYWxsIHBhZ2VzPwogICAgIGNoaWxkcmVuLT5hZGRJ
dGVtKGluc3BlY3RvckRhdGEuZHVtcFN0YXRpc3RpY3MoKSk7CiAgICAgY2hpbGRyZW4tPmFkZEl0
ZW0oZHVtcERPTVN0b3JhZ2VDYWNoZShtX2RvbVN0b3JhZ2VBZ2VudC0+bWVtb3J5Qnl0ZXNVc2Vk
QnlTdG9yYWdlQ2FjaGUoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKaW5kZXggMjFjZTk2MzE2OWNk
Y2IzOTFmZDdhMjlkZjM1ZjU2MGZkYmQ4NDQ2Zi4uZWM4YWJhZDFiNzAzOTNlOTg5MTExMTU2Njhk
MzMxZTk0NWE2OTgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9N
ZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwCkBAIC0zNiw3ICszNiw5IEBACiAK
ICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCisjaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRh
dGlvblZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgpAQCAtNDM5LDUgKzQ0MSwxNyBAQCBURVNUKE1lbW9yeUluc3RydW1lbnRhdGlv
blRlc3QsIHZlY3RvcldpdGhJbnN0cnVtZW50ZWRUeXBlKQogICAgIEVYUEVDVF9FUShjb3VudCAr
IDIsIChzaXplX3QpdmlzaXRlZE9iamVjdHMuc2l6ZSgpKTsKIH0KIAorVEVTVChNZW1vcnlJbnN0
cnVtZW50YXRpb25UZXN0LCBhcnJheUJ1ZmZlcikKK3sKKyAgICBWaXNpdGVkT2JqZWN0cyB2aXNp
dGVkT2JqZWN0czsKKyAgICBNZW1vcnlJbnN0cnVtZW50YXRpb25JbXBsIGltcGwodmlzaXRlZE9i
amVjdHMpOworCisgICAgdHlwZWRlZiBJbnN0cnVtZW50ZWRUZW1wbGF0ZTxSZWZQdHI8QXJyYXlC
dWZmZXI+ID4gVmFsdWVUeXBlOworICAgIFZhbHVlVHlwZSB2YWx1ZShBcnJheUJ1ZmZlcjo6Y3Jl
YXRlKDEwMDAsIHNpemVvZihpbnQpKSk7CisgICAgaW1wbC5hZGRSb290T2JqZWN0KHZhbHVlKTsK
KyAgICBFWFBFQ1RfRVEoc2l6ZW9mKGludCkgKiAxMDAwICsgc2l6ZW9mKEFycmF5QnVmZmVyKSwg
aW1wbC5yZXBvcnRlZFNpemVGb3JBbGxUeXBlcygpKTsKKyAgICBFWFBFQ1RfRVEoMiwgdmlzaXRl
ZE9iamVjdHMuc2l6ZSgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165787</attachid>
            <date>2012-09-26 06:49:17 -0700</date>
            <delta_ts>2012-09-26 06:51:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97662-20120926174835.patch</filename>
            <type>text/plain</type>
            <size>22712</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE0MjM1MGRjYTAxY2E3MjI1MTU1NjM4
OTA4NzBhNjZiNThhZTdhY2IuLmFjNmI0YTkxY2JlMThjYmQyZTRlNjEwY2QyOTRjMTUwM2EzZDUy
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFj
ZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NzY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE9sZCBzY2hlbWEgdXNlcyBzaXplSW5CeXRlcyBtZXRob2Qgb24gU3RyaW5nSW1wbC4gVGhpcyBt
ZXRob2Qgd29ya3MgaW5jb3JyZWN0IGZvciBzdWJzdHJpbmdzLgorICAgICAgICBBbHNvIHdlJ2Qg
bGlrZSB0byBrbm93IGV4YWN0IHBvaW50ZXJzIHRvIHN0cmluZ3MgYW5kIGJ1ZmZlcnMgZm9yIHZl
cmlmaWNhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoKKyAgICAgICAgKiBXVEYudmNw
cm9qL1dURi52Y3Byb2o6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oOiAK
KyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6OnJlcG9ydE1lbW9yeVVzYWdlKToKKwogMjAx
Mi0wOS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBjb21wYXJlIG9iamVjdHMgY291bnRlZCBieSB0aGUgbWVtb3J5IGlu
c3RydW1lbnRhdGlvbiB3aXRoIHRob3NlIGFsbG9jYXRlZCBpbiB0aGUgaGVhcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGZiZmZiZTZiYTAzMDgwZDY2NWFlODk0ZDkxYjZhMThiMDcwNzJlYWIuLmJiYmVkMTljNzkz
YTM4NDBmNDJiNzMwODdhODU0YWIzYTVjYmViMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBA
QAorMjAxMi0wOS0yNiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgY2xlYW4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgbWFu
dWFsIEpTIGV4dGVybmFsIHJlc291cmNlcyBjb3VudGluZyB3aXRoIE1lbW9yeUluc3RydW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2
NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRp
dGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9u
YWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9XZWJDb3Jl
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGRvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlTWVt
b3J5VHlwZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHA6
CisgICAgICAgIChNZW1vcnlCbG9ja05hbWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpjb2xsZWN0RG9tVHJlZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yTWVtb3J5QWdlbnQ6OmdldFByb2Nlc3NNZW1vcnlEaXN0cmlidXRpb24pOgorCisyMDEyLTA5
LTI2ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgbWFudWFsIEpTIGV4dGVybmFsIHJlc291cmNlcyBj
b3VudGluZyB3aXRoIE1lbW9yeUluc3RydW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbGQgc2NoZW1hIHVzZXMgc2l6ZUluQnl0ZXMgbWV0
aG9kIG9uIFN0cmluZ0ltcGwuIFRoaXMgbWV0aG9kIHdvcmtzIGluY29ycmVjdCBmb3Igc3Vic3Ry
aW5ncy4KKyAgICAgICAgQWxzbyB3ZSdkIGxpa2UgdG8ga25vdyBleGFjdCBwb2ludGVycyB0byBz
dHJpbmdzIGFuZCBidWZmZXJzIGZvciB2ZXJpZmljYXRpb24gcHVycG9zZXMuCisKKyAgICAgICAg
KiBkb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZU1lbW9yeVR5cGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWVt
b3J5QWdlbnQuY3BwOgorICAgICAgICAoTWVtb3J5QmxvY2tOYW1lKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdERvbVRyZWVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck1lbW9yeUFnZW50OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9u
KToKKwogMjAxMi0wOS0yNSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgcmVzb3VyY2UoKSBnZXR0ZXIgZnJvbSBV
SVNvdXJjZUNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGNkMGEwYzg2MzE3MGQ3
MmFmNTE3NDE1Y2VhMzhhMWM4ZDM5NDFiZjIuLjE4MTFmNTExOWJlNjQ0ZTI4ZWM0NzEzY2U1NjFl
ZjYwNDFhYTVhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFjZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVz
b3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9sZCBzY2hlbWEgdXNlZCBzaXplSW5C
eXRlcyBtZXRob2Qgb24gU3RyaW5nSW1wbC4gVGhpcyBtZXRob2Qgd29ya3MgaW5jb3JyZWN0IGZv
ciBzdWJzdHJpbmdzLgorICAgICAgICBBbHNvIHdlJ2QgbGlrZSB0byBrbm93IGV4YWN0IHBvaW50
ZXJzIHRvIHN0cmluZ3MgYW5kIGJ1ZmZlcnMgZm9yIHZlcmlmaWNhdGlvbiBwdXJwb3Nlcy4KKwor
ICAgICAgICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VEVTVCk6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wOS0yNSAgQW5kcmV5
IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFtjaHJvbWl1bV0gYWRkIGEgdGVzdCBmb3IgaW5zcGVjdG9yIG92ZXJsYXkgdXBkYXRlIGZyZXF1
ZW5jeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDBlZDEwZGRhZTE0OGEwNzMzYTgzNTI2OTU0
Yjc4MTlmZGJjYmRmZjIuLjQ0MzVhZTMzMTFhNDQzYmQ5NTJhM2Q5NDlmOGNjMzdhY2IxZWUyMWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTgwLDYgKzgwLDcgQEAgd3RmX3NvdXJjZXMgKz0g
XAogICAgIFNvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9N
ZWRpYVRpbWUuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24u
aCBcCisgICAgU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJW
aWV3LmggXAogICAgIFNvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5o
IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAgICAgU291cmNlL1dURi93
dGYvTWV0YUFsbG9jYXRvci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYuZ3lwaSBi
L1NvdXJjZS9XVEYvV1RGLmd5cGkKaW5kZXggZmRjMjhkNmJiNTVlN2U1NjVkYWYwOTViNzNjYjUz
YTczZTA5NDhmYy4uOWU4N2Q0NWMzYTU3OTU3ZmI3MjhjY2VlYTEzOWE0MWM0MzliYjUyZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYuZ3lwaQorKysgYi9Tb3VyY2UvV1RGL1dURi5neXBpCkBA
IC01MCw2ICs1MCw3IEBACiAgICAgICAgICAgICAnd3RmL01haW5UaHJlYWQuaCcsCiAgICAgICAg
ICAgICAnd3RmL01hdGhFeHRyYXMuaCcsCiAgICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1l
bnRhdGlvbi5oJywKKyAgICAgICAgICAgICd3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlC
dWZmZXJWaWV3LmgnLAogICAgICAgICAgICAgJ3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0
b3IuaCcsCiAgICAgICAgICAgICAnd3RmL01lc3NhZ2VRdWV1ZS5oJywKICAgICAgICAgICAgICd3
dGYvTm9uQ29weWluZ1NvcnQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9T
b3VyY2UvV1RGL1dURi5wcm8KaW5kZXggZThkYTRjMGM2YjI0NjcwY2QwYjU4Mjc1NjAzMTNiMDBj
OWY5ODk4ZS4uY2E4YWY5NmE2YWQ1NGQ1NWFmMjA3NjdlYTk4YjBkNjAzYTQ4YTQwMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtODcs
NiArODcsNyBAQCBIRUFERVJTICs9IFwKICAgICBNRDUuaCBcCiAgICAgTWVkaWFUaW1lLmggXAog
ICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbi5oIFwKKyAgICBNZW1vcnlJbnN0cnVtZW50YXRpb25B
cnJheUJ1ZmZlclZpZXcuaCBcCiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmggXAog
ICAgIE1lc3NhZ2VRdWV1ZS5oIFwKICAgICBNZXRhQWxsb2NhdG9yLmggXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2ogYi9Tb3VyY2UvV1RGL1dURi52Y3Byb2ov
V1RGLnZjcHJvagppbmRleCBmOTEwOGM4OTM1ZTJmNTg0YWVhOGI4NzJhM2FlMzRjMTI0MzRlODQz
Li5jMGM3ZGNmNGY4ZDMwNGZjYWNkYjk5MjlmNDRlZWNmNWVkNGJkNjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52Y3By
b2ovV1RGLnZjcHJvagpAQCAtOTA1LDYgKzkwNSwxMCBAQAogCQkJPgogCQk8L0ZpbGU+CiAJCTxG
aWxlCisJCSAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlx3dGZcTWVtb3J5SW5zdHJ1bWVudGF0aW9u
QXJyYXlCdWZmZXJWaWV3LmgiCisJCQk+CisJCTwvRmlsZT4KKwkJPEZpbGUKIAkJICAgICAgICBS
ZWxhdGl2ZVBhdGg9Ii4uXHd0ZlxNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCIKIAkJCT4K
IAkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2E4OWVkZmExYTQ2M2M3MWZmNTM1N2M1MTE5MDU0MDA5MWRmNDVlMi4uMzQ1ZTU2M2NlZGU5YWVl
ZWQxYTU0MmJhZjgxMzM0NDQwNmM1MTQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC00Miw2ICs0Miw3IEBACiAJCTRGMDMyMUJDMTU2QUE4RDEwMDZFQkFG
NiAvKiBCaXRBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEYwMzIxQkIxNTZBQThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi87IH07CiAJCTRG
MUQxMTU0MTVGRjExQkUwMDI2RTkwOCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGMUQxMTUzMTVGRjExQkUw
MDI2RTkwOCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJNEZDQjcxMEExNjBB
MUEwNzAwODQyNUVDIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEZDQjcxMDkxNjBBMUEwNzAwODQy
NUVDIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oICovOyB9OworCQk0RkQ4NTU0NzE2
MTMzRTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RkQ4NTU0NjE2
MTMzRTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmgg
Ki87IH07CiAJCTdFMjlDMzNFMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpjUnVudGltZUV4dHJhcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0UyOUMzM0Qx
NUZGRDc5QjAwNTE2RDYxIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTgxMzQwMTM4
MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODEzNDAxMzYxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5j
cHAgKi87IH07CiAJCTgxMzQwMTM5MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgxMzQwMTM3MTVCMDkyRkQw
MDFGRjBCOCAvKiBCYXNlNjQuaCAqLzsgfTsKQEAgLTMxMSw2ICszMTIsNyBAQAogCQk0RjAzMjFC
QjE1NkFBOEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQml0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEYxRDEx
NTMxNUZGMTFCRTAwMjZFOTA4IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEZDQjcxMDkxNjBBMUEwNzAwODQyNUVDIC8qIE1lbW9yeUlu
c3RydW1lbnRhdGlvblZlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNEZEODU1NDYxNjEzM0UwRTAwQzVCNzA0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5
QnVmZmVyVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlJbnN0
cnVtZW50YXRpb25BcnJheUJ1ZmZlclZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUQyNDdCNjIxNDY4OUI4NjAwRTc4Qjc2IC8qIGxpYldURi5hICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSBsaWJXVEYuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJNUQyNDdCNkUxNDY4OUM0NzAwRTc4Qjc2IC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBw
YXRoID0gQmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdC
NkYxNDY4OUM0NzAwRTc4Qjc2IC8qIENvbXBpbGVyVmVyc2lvbi54Y2NvbmZpZyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBh
dGggPSBDb21waWxlclZlcnNpb24ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC02OTIsNiArNjk0LDcgQEAKIAkJCQlDRDU0OTdBQTE1ODU3RDAzMDBCNUJDMzAgLyogTWVk
aWFUaW1lLmNwcCAqLywKIAkJCQlDRDU0OTdBQjE1ODU3RDAzMDBCNUJDMzAgLyogTWVkaWFUaW1l
LmggKi8sCiAJCQkJNEYxRDExNTMxNUZGMTFCRTAwMjZFOTA4IC8qIE1lbW9yeUluc3RydW1lbnRh
dGlvbi5oICovLAorCQkJCTRGRDg1NTQ2MTYxMzNFMEUwMEM1QjcwNCAvKiBNZW1vcnlJbnN0cnVt
ZW50YXRpb25BcnJheUJ1ZmZlclZpZXcuaCAqLywKIAkJCQk0RkNCNzEwOTE2MEExQTA3MDA4NDI1
RUMgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmggKi8sCiAJCQkJQThBNDcyQ0MxNTFB
ODI1QjAwNDEyM0ZGIC8qIE1lc3NhZ2VRdWV1ZS5oICovLAogCQkJCUE4QTQ3MkNEMTUxQTgyNUIw
MDQxMjNGRiAvKiBNZXRhQWxsb2NhdG9yLmNwcCAqLywKQEAgLTExNDUsNiArMTE0OCw3IEBACiAJ
CQkJMjZFNkMyMEExNjA5MDM3MzAwQ0E2QUY0IC8qIFVSTFV0aWxJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMjZFNkMyMEQxNjA5MDM3MzAwQ0E2QUY0IC8qIFVSTFV0aWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRGQ0I3MTBBMTYwQTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50
YXRpb25WZWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTRGRDg1NTQ3MTYxMzNFMEUwMEM1Qjcw
NCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25BcnJheUJ1ZmZlclZpZXcuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlC
dWZmZXJWaWV3LmggYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25BcnJheUJ1
ZmZlclZpZXcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDZmNDUxOTRhNmQ4NGViY2FmM2ViOTVjYTUzOTc3YTVm
ZmU5YmRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3X2gKKyNkZWZpbmUgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uQXJyYXlCdWZmZXJWaWV3X2gKKworI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlclZpZXcuaD4K
KyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg+CisKK25hbWVzcGFjZSBXVEYg
eworCitpbmxpbmUgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShjb25zdCBBcnJheUJ1ZmZlclZpZXcq
IGNvbnN0JiBhcnJheUJ1ZmZlclZpZXcsIE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pCit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgYXJyYXlC
dWZmZXJWaWV3KTsKKyAgICBpbmZvLmFkZE1lbWJlcihhcnJheUJ1ZmZlclZpZXctPmJ1ZmZlcigp
LmdldCgpKTsKK30KKworaW5saW5lIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoY29uc3QgQXJyYXlC
dWZmZXIqIGNvbnN0JiBhcnJheUJ1ZmZlciwgTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCBhcnJh
eUJ1ZmZlcik7CisgICAgaW5mby5hZGRSYXdCdWZmZXIoYXJyYXlCdWZmZXItPmRhdGEoKSwgYXJy
YXlCdWZmZXItPmJ5dGVMZW5ndGgoKSk7Cit9CisKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKE1l
bW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlld19oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGQ4NmIyNTdm
ZjVjMGM1NGM4NGYwYmMzNWRjN2MwZTQ4Yzc1OWM2YTQuLmE1MTBlMGM0YjA5YTY4NTAzZmMyMDIw
ODA4MWQxN2NiNzYxNThjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3Jl
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29y
ZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTUwLDQgKzUwLDggQEAgTWVtb3J5T2JqZWN0
VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlU1ZHID0gIk1lbW9yeUNhY2hl
LlNWRyI7CiBNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3Vy
Y2VTaGFkZXIgPSAiTWVtb3J5Q2FjaGUuU2hhZGVyIjsKIE1lbW9yeU9iamVjdFR5cGUgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVhTTFQgPSAiTWVtb3J5Q2FjaGUuWFNMVCI7CiAK
K01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbFJlc291cmNlcyA9
ICJKU0V4dGVybmFsUmVzb3VyY2VzIjsKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5
cGVzOjpFeHRlcm5hbFN0cmluZ3MgPSAiSlNFeHRlcm5hbFJlc291cmNlcy5TdHJpbmdzIjsKK01l
bW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbEFycmF5cyA9ICJKU0V4
dGVybmFsUmVzb3VyY2VzLkFycmF5cyI7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4
IDQ0ZDZiMWVmNjIwODc1ODM0NjE3ZTM3NGFkM2VlYmU3YTlkMzQxNDcuLmE5OTgxMWI4NGIzZTky
MGJiZGM2ZDA3ZDM1MGUxYWZlNWIyY2ZjYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtNTYsNiArNTYsMTAgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlU1ZHOwogICAgIHN0
YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlU2hhZGVyOwogICAgIHN0YXRpYyBN
ZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlWFNMVDsKKworICAgIHN0YXRpYyBNZW1vcnlP
YmplY3RUeXBlIEV4dGVybmFsUmVzb3VyY2VzOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBl
IEV4dGVybmFsU3RyaW5nczsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBFeHRlcm5hbEFy
cmF5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmluZGV4IDM5ZmVhNzg5MGNmMTVl
YmE1ZDI4ZDYzOGVmYmJhMjA0YjBiOGM1NDEuLjMwZTM4ZGQ2N2ZmMWI4MjYxYzEyMmFjNmEwYzNl
ZmViNTdhNzVkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ck1lbW9yeUFnZW50LmNwcApAQCAtNTMsOSArNTMsOSBAQAogI2luY2x1ZGUgIlNjcmlwdEdDRXZl
bnQuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogI2luY2x1ZGUgIlN0eWxlZEVsZW1l
bnQuaCIKLSNpbmNsdWRlIDx3dGYvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQXJyYXlC
dWZmZXJWaWV3Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTWVt
b3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgpAQCAtNzYsOSArNzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTWVtb3J5
QmxvY2tOYW1lIHsKIHN0YXRpYyBjb25zdCBjaGFyIGpzSGVhcEFsbG9jYXRlZFtdID0gIkpTSGVh
cEFsbG9jYXRlZCI7CiBzdGF0aWMgY29uc3QgY2hhciBqc0hlYXBVc2VkW10gPSAiSlNIZWFwVXNl
ZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4dGVybmFsUmVzb3VyY2VzW10gPSAiSlNFeHRlcm5h
bFJlc291cmNlcyI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4dGVybmFsQXJyYXlzW10gPSAiSlNF
eHRlcm5hbEFycmF5cyI7Ci1zdGF0aWMgY29uc3QgY2hhciBqc0V4dGVybmFsU3RyaW5nc1tdID0g
IkpTRXh0ZXJuYWxTdHJpbmdzIjsKIHN0YXRpYyBjb25zdCBjaGFyIGluc3BlY3RvckRhdGFbXSA9
ICJJbnNwZWN0b3JEYXRhIjsKIHN0YXRpYyBjb25zdCBjaGFyIGluc3BlY3RvckRPTURhdGFbXSA9
ICJJbnNwZWN0b3JET01EYXRhIjsKIHN0YXRpYyBjb25zdCBjaGFyIGluc3BlY3RvckpTSGVhcERh
dGFbXSA9ICJJbnNwZWN0b3JKU0hlYXBEYXRhIjsKQEAgLTMwNSwzMyArMzAyLDQ2IEBAIHByaXZh
dGU6CiAgICAgaW50IG1fc2hhcmVkU3RyaW5nU2l6ZTsKIH07CiAKLWNsYXNzIEV4dGVybmFsUmVz
b3VyY2VWaXNpdG9yIDogcHVibGljIEV4dGVybmFsU3RyaW5nVmlzaXRvciwgcHVibGljIEV4dGVy
bmFsQXJyYXlWaXNpdG9yIHsKK2NsYXNzIEV4dGVybmFsU3RyaW5nc1Jvb3QgOiBwdWJsaWMgRXh0
ZXJuYWxTdHJpbmdWaXNpdG9yIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBFeHRlcm5hbFJlc291
cmNlVmlzaXRvcihWaXNpdGVkT2JqZWN0cyYgdmlzaXRlZE9iamVjdHMpCi0gICAgICAgIDogbV92
aXNpdGVkT2JqZWN0cyh2aXNpdGVkT2JqZWN0cykKLSAgICAgICAgLCBtX2pzRXh0ZXJuYWxTdHJp
bmdTaXplKDApCi0gICAgICAgICwgbV9leHRlcm5hbEFycmF5U2l6ZSgwKQotICAgIHsgfQorICAg
IEV4dGVybmFsU3RyaW5nc1Jvb3QoKSA6IG1fbWVtb3J5Q2xhc3NJbmZvKDApIHsgfQogCi0gICAg
c2l6ZV90IGV4dGVybmFsU3RyaW5nU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fanNFeHRlcm5hbFN0
cmluZ1NpemU7IH0KLSAgICBzaXplX3QgZXh0ZXJuYWxBcnJheVNpemUoKSBjb25zdCB7IHJldHVy
biBtX2V4dGVybmFsQXJyYXlTaXplOyB9CisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAorICAgIHsKKyAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpFeHRlcm5hbFN0cmluZ3MpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5mbyA9ICZpbmZv
OworICAgICAgICBTY3JpcHRQcm9maWxlcjo6dmlzaXRFeHRlcm5hbFN0cmluZ3MoY29uc3RfY2Fz
dDxFeHRlcm5hbFN0cmluZ3NSb290Kj4odGhpcykpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5m
byA9IDA7CisgICAgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJu
YWxBcnJheShBcnJheUJ1ZmZlclZpZXcqIGJ1ZmZlclZpZXcpCisgICAgdmlydHVhbCB2b2lkIHZp
c2l0SlNFeHRlcm5hbFN0cmluZyhTdHJpbmdJbXBsKiBzdHJpbmcpCiAgICAgewotICAgICAgICBB
cnJheUJ1ZmZlciogYnVmZmVyID0gYnVmZmVyVmlldy0+YnVmZmVyKCkuZ2V0KCk7Ci0gICAgICAg
IGlmIChtX3Zpc2l0ZWRPYmplY3RzLmFkZChidWZmZXIpLmlzTmV3RW50cnkpCi0gICAgICAgICAg
ICBtX2V4dGVybmFsQXJyYXlTaXplICs9IGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpOworICAgICAgICBt
X21lbW9yeUNsYXNzSW5mby0+YWRkTWVtYmVyKHN0cmluZyk7CiAgICAgfQotICAgIHZpcnR1YWwg
dm9pZCB2aXNpdEpTRXh0ZXJuYWxTdHJpbmcoU3RyaW5nSW1wbCogc3RyaW5nKQorCisgICAgbXV0
YWJsZSBNZW1vcnlDbGFzc0luZm8qIG1fbWVtb3J5Q2xhc3NJbmZvOworfTsKKworY2xhc3MgRXh0
ZXJuYWxBcnJheXNSb290IDogcHVibGljIEV4dGVybmFsQXJyYXlWaXNpdG9yIHsKK3B1YmxpYzoK
KyAgICBFeHRlcm5hbEFycmF5c1Jvb3QoKSA6IG1fbWVtb3J5Q2xhc3NJbmZvKDApIHsgfQorCisg
ICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgaWYgKG1fdmlzaXRlZE9iamVjdHMuYWRkKHN0cmlu
ZykuaXNOZXdFbnRyeSkKLSAgICAgICAgICAgIG1fanNFeHRlcm5hbFN0cmluZ1NpemUgKz0gc3Ry
aW5nLT5zaXplSW5CeXRlcygpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkV4dGVybmFsQXJyYXlzKTsKKyAg
ICAgICAgbV9tZW1vcnlDbGFzc0luZm8gPSAmaW5mbzsKKyAgICAgICAgU2NyaXB0UHJvZmlsZXI6
OnZpc2l0RXh0ZXJuYWxBcnJheXMoY29uc3RfY2FzdDxFeHRlcm5hbEFycmF5c1Jvb3QqPih0aGlz
KSk7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvID0gMDsKICAgICB9CiAKLSAgICBWaXNpdGVk
T2JqZWN0cyYgbV92aXNpdGVkT2JqZWN0czsKLSAgICBzaXplX3QgbV9qc0V4dGVybmFsU3RyaW5n
U2l6ZTsKLSAgICBzaXplX3QgbV9leHRlcm5hbEFycmF5U2l6ZTsKK3ByaXZhdGU6CisgICAgdmly
dHVhbCB2b2lkIHZpc2l0SlNFeHRlcm5hbEFycmF5KEFycmF5QnVmZmVyVmlldyogYXJyYXlCdWZm
ZXJWaWV3KQorICAgIHsKKyAgICAgICAgbV9tZW1vcnlDbGFzc0luZm8tPmFkZE1lbWJlcihhcnJh
eUJ1ZmZlclZpZXcpOworICAgIH0KKworICAgIG11dGFibGUgTWVtb3J5Q2xhc3NJbmZvKiBtX21l
bW9yeUNsYXNzSW5mbzsKIH07CiAKIGNsYXNzIEluc3BlY3RvckRhdGFDb3VudGVyIHsKQEAgLTQ5
MywxMCArNTAzLDI1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGRvbS5yZWxlYXNlKCk7CiAg
ICAgfQogCisgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gYnVpbGRPYmplY3RG
b3JFeHRlcm5hbFJlc291cmNlcygpIGNvbnN0CisgICAgeworICAgICAgICBzaXplX3QgdG90YWxT
aXplID0gMDsKKworICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1l
bW9yeUJsb2NrPiA+IHJlc291cmNlc0NoaWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFycmF5PEluc3Bl
Y3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1v
cnlCbG9ja0ZvcihyZXNvdXJjZXNDaGlsZHJlbi5nZXQoKSwgV2ViQ29yZU1lbW9yeVR5cGVzOjpF
eHRlcm5hbFN0cmluZ3MpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3Io
cmVzb3VyY2VzQ2hpbGRyZW4uZ2V0KCksIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxBcnJh
eXMpOworCisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gcmVzb3VyY2VzID0g
SW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5hbWUoV2ViQ29yZU1lbW9yeVR5cGVz
OjpFeHRlcm5hbFJlc291cmNlcyk7CisgICAgICAgIHJlc291cmNlcy0+c2V0U2l6ZSh0b3RhbFNp
emUpOworICAgICAgICByZXNvdXJjZXMtPnNldENoaWxkcmVuKHJlc291cmNlc0NoaWxkcmVuLnJl
bGVhc2UoKSk7CisgICAgICAgIHJldHVybiByZXNvdXJjZXMucmVsZWFzZSgpOworICAgIH0KKwog
ICAgIHZvaWQgZHVtcFN0YXRpc3RpY3MoVHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbW9y
eUJsb2NrPiogY2hpbGRyZW4sIEluc3BlY3RvckRhdGFDb3VudGVyKiBpbnNwZWN0b3JEYXRhKQog
ICAgIHsKICAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRPYmplY3RGb3JNZW1vcnlDYWNo
ZSgpKTsKICAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRPYmplY3RGb3JQYWdlKCkpOwor
ICAgICAgICBjaGlsZHJlbi0+YWRkSXRlbShidWlsZE9iamVjdEZvckV4dGVybmFsUmVzb3VyY2Vz
KCkpOwogCiAgICAgICAgIGluc3BlY3RvckRhdGEtPmFkZENvbXBvbmVudChNZW1vcnlCbG9ja05h
bWU6Omluc3BlY3RvckRPTURhdGEsIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnNlbGZTaXplKCkp
OwogICAgIH0KQEAgLTUyMyw2ICs1NDgsMTIgQEAgc3RhdGljIHZvaWQgY29sbGVjdERvbVRyZWVJ
bmZvKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50LCBWaXMKICAg
ICBpbnNwZWN0b3JDbGllbnQtPmdldEFsbG9jYXRlZE9iamVjdHMoYWxsb2NhdGVkT2JqZWN0cyk7
CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbCBtZW1vcnlJbnN0cnVtZW50YXRpb24odmlz
aXRlZE9iamVjdHMsIGFsbG9jYXRlZE9iamVjdHMuaXNFbXB0eSgpID8gMCA6ICZhbGxvY2F0ZWRP
YmplY3RzKTsKIAorICAgIEV4dGVybmFsU3RyaW5nc1Jvb3Qgc3RyaW5nc1Jvb3Q7CisgICAgbWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmFkZFJvb3RPYmplY3Qoc3RyaW5nc1Jvb3QpOworCisgICAgRXh0
ZXJuYWxBcnJheXNSb290IGFycmF5c1Jvb3Q7CisgICAgbWVtb3J5SW5zdHJ1bWVudGF0aW9uLmFk
ZFJvb3RPYmplY3QoYXJyYXlzUm9vdCk7CisKICAgICBET01UcmVlc0l0ZXJhdG9yIGRvbVRyZWVz
SXRlcmF0b3IocGFnZSwgbWVtb3J5SW5zdHJ1bWVudGF0aW9uKTsKIAogICAgIFNjcmlwdFByb2Zp
bGVyOjp2aXNpdE5vZGVXcmFwcGVycygmZG9tVHJlZXNJdGVyYXRvcik7CkBAIC01NTIsMjcgKzU4
Myw2IEBAIHN0YXRpYyB2b2lkIGFkZFBsYXRmb3JtQ29tcG9uZW50c0luZm8oUGFzc1JlZlB0cjxU
eXBlQnVpbGRlcjo6QXJyYXk8SW5zcGVjdG9yTWVtCiAgICAgfQogfQogCi1zdGF0aWMgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4ganNFeHRlcm5hbFJlc291cmNlc0luZm8oVmlzaXRl
ZE9iamVjdHMmIHZpc2l0ZWRPYmplY3RzKQotewotICAgIEV4dGVybmFsUmVzb3VyY2VWaXNpdG9y
IHZpc2l0b3IodmlzaXRlZE9iamVjdHMpOwotICAgIFNjcmlwdFByb2ZpbGVyOjp2aXNpdEV4dGVy
bmFsU3RyaW5ncygmdmlzaXRvcik7Ci0gICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxB
cnJheXMoJnZpc2l0b3IpOwotCi0gICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBleHRl
cm5hbFJlc291cmNlc1N0YXRzID0gSW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNldE5h
bWUoTWVtb3J5QmxvY2tOYW1lOjpqc0V4dGVybmFsUmVzb3VyY2VzKTsKLSAgICBleHRlcm5hbFJl
c291cmNlc1N0YXRzLT5zZXRTaXplKHZpc2l0b3IuZXh0ZXJuYWxTdHJpbmdTaXplKCkgKyB2aXNp
dG9yLmV4dGVybmFsQXJyYXlTaXplKCkpOwotICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8
SW5zcGVjdG9yTWVtb3J5QmxvY2s+ID4gY2hpbGRyZW4gPSBUeXBlQnVpbGRlcjo6QXJyYXk8SW5z
cGVjdG9yTWVtb3J5QmxvY2s+OjpjcmVhdGUoKTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1v
cnlCbG9jaz4gZXh0ZXJuYWxTdHJpbmdTdGF0cyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVh
dGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6anNFeHRlcm5hbFN0cmluZ3MpOwotICAgIGV4
dGVybmFsU3RyaW5nU3RhdHMtPnNldFNpemUodmlzaXRvci5leHRlcm5hbFN0cmluZ1NpemUoKSk7
Ci0gICAgY2hpbGRyZW4tPmFkZEl0ZW0oZXh0ZXJuYWxTdHJpbmdTdGF0cyk7Ci0KLSAgICBSZWZQ
dHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGV4dGVybmFsQXJyYXlTdGF0cyA9IEluc3BlY3Rvck1l
bW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6anNFeHRlcm5hbEFy
cmF5cyk7Ci0gICAgZXh0ZXJuYWxBcnJheVN0YXRzLT5zZXRTaXplKHZpc2l0b3IuZXh0ZXJuYWxB
cnJheVNpemUoKSk7Ci0gICAgY2hpbGRyZW4tPmFkZEl0ZW0oZXh0ZXJuYWxBcnJheVN0YXRzKTsK
LQotICAgIHJldHVybiBleHRlcm5hbFJlc291cmNlc1N0YXRzLnJlbGVhc2UoKTsKLX0KLQogc3Rh
dGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGR1bXBET01TdG9yYWdlQ2FjaGUo
c2l6ZV90IGNhY2hlU2l6ZSkKIHsKICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRv
bVN0b3JhZ2VDYWNoZSA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKE1l
bW9yeUJsb2NrTmFtZTo6ZG9tU3RvcmFnZUNhY2hlKTsKQEAgLTU5MSw4ICs2MDEsMTIgQEAgdm9p
ZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbihFcnJv
clN0cmluZyosIFJlZlB0cjxJbnMKICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3Bl
Y3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rv
ck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7CiAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oanNIZWFwSW5m
bygpKTsKICAgICBjaGlsZHJlbi0+YWRkSXRlbShyZW5kZXJUcmVlSW5mbyhtX3BhZ2UpKTsgLy8g
RklYTUU6IGNvbGxlY3QgZm9yIGFsbCBwYWdlcz8KKzw8PDw8PDwgSEVBRAogICAgIGNoaWxkcmVu
LT5hZGRJdGVtKGpzRXh0ZXJuYWxSZXNvdXJjZXNJbmZvKHZpc2l0ZWRPYmplY3RzKSk7CiAgICAg
Y29sbGVjdERvbVRyZWVJbmZvKG1fcGFnZSwgbV9pbnNwZWN0b3JDbGllbnQsIHZpc2l0ZWRPYmpl
Y3RzLCBjaGlsZHJlbi5nZXQoKSwgJmluc3BlY3RvckRhdGEpOyAvLyBGSVhNRTogY29sbGVjdCBm
b3IgYWxsIHBhZ2VzPworPT09PT09PQorICAgIGNvbGxlY3REb21UcmVlSW5mbyhtX3BhZ2UsIHZp
c2l0ZWRPYmplY3RzLCBjaGlsZHJlbi5nZXQoKSwgJmluc3BlY3RvckRhdGEpOyAvLyBGSVhNRTog
Y29sbGVjdCBmb3IgYWxsIHBhZ2VzPworPj4+Pj4+PiBjbGVhbgogICAgIGNoaWxkcmVuLT5hZGRJ
dGVtKGluc3BlY3RvckRhdGEuZHVtcFN0YXRpc3RpY3MoKSk7CiAgICAgY2hpbGRyZW4tPmFkZEl0
ZW0oZHVtcERPTVN0b3JhZ2VDYWNoZShtX2RvbVN0b3JhZ2VBZ2VudC0+bWVtb3J5Qnl0ZXNVc2Vk
QnlTdG9yYWdlQ2FjaGUoKSkpOwogICAgIGFkZFBsYXRmb3JtQ29tcG9uZW50c0luZm8oY2hpbGRy
ZW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0
cnVtZW50YXRpb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKaW5kZXggMjFjZTk2MzE2OWNkY2IzOTFmZDdhMjlkZjM1
ZjU2MGZkYmQ4NDQ2Zi4uZWM4YWJhZDFiNzAzOTNlOTg5MTExMTU2NjhkMzMxZTk0NWE2OTgxMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50
YXRpb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUlu
c3RydW1lbnRhdGlvblRlc3QuY3BwCkBAIC0zNiw3ICszNiw5IEBACiAKICNpbmNsdWRlIDxndGVz
dC9ndGVzdC5oPgogCisjaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZm
ZXJWaWV3Lmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
NDM5LDUgKzQ0MSwxNyBAQCBURVNUKE1lbW9yeUluc3RydW1lbnRhdGlvblRlc3QsIHZlY3Rvcldp
dGhJbnN0cnVtZW50ZWRUeXBlKQogICAgIEVYUEVDVF9FUShjb3VudCArIDIsIChzaXplX3Qpdmlz
aXRlZE9iamVjdHMuc2l6ZSgpKTsKIH0KIAorVEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0
LCBhcnJheUJ1ZmZlcikKK3sKKyAgICBWaXNpdGVkT2JqZWN0cyB2aXNpdGVkT2JqZWN0czsKKyAg
ICBNZW1vcnlJbnN0cnVtZW50YXRpb25JbXBsIGltcGwodmlzaXRlZE9iamVjdHMpOworCisgICAg
dHlwZWRlZiBJbnN0cnVtZW50ZWRUZW1wbGF0ZTxSZWZQdHI8QXJyYXlCdWZmZXI+ID4gVmFsdWVU
eXBlOworICAgIFZhbHVlVHlwZSB2YWx1ZShBcnJheUJ1ZmZlcjo6Y3JlYXRlKDEwMDAsIHNpemVv
ZihpbnQpKSk7CisgICAgaW1wbC5hZGRSb290T2JqZWN0KHZhbHVlKTsKKyAgICBFWFBFQ1RfRVEo
c2l6ZW9mKGludCkgKiAxMDAwICsgc2l6ZW9mKEFycmF5QnVmZmVyKSwgaW1wbC5yZXBvcnRlZFNp
emVGb3JBbGxUeXBlcygpKTsKKyAgICBFWFBFQ1RfRVEoMiwgdmlzaXRlZE9iamVjdHMuc2l6ZSgp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165789</attachid>
            <date>2012-09-26 06:51:08 -0700</date>
            <delta_ts>2012-09-26 07:15:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97662-20120926175026.patch</filename>
            <type>text/plain</type>
            <size>21924</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE0MjM1MGRjYTAxY2E3MjI1MTU1NjM4
OTA4NzBhNjZiNThhZTdhY2IuLmFjNmI0YTkxY2JlMThjYmQyZTRlNjEwY2QyOTRjMTUwM2EzZDUy
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFj
ZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NzY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE9sZCBzY2hlbWEgdXNlcyBzaXplSW5CeXRlcyBtZXRob2Qgb24gU3RyaW5nSW1wbC4gVGhpcyBt
ZXRob2Qgd29ya3MgaW5jb3JyZWN0IGZvciBzdWJzdHJpbmdzLgorICAgICAgICBBbHNvIHdlJ2Qg
bGlrZSB0byBrbm93IGV4YWN0IHBvaW50ZXJzIHRvIHN0cmluZ3MgYW5kIGJ1ZmZlcnMgZm9yIHZl
cmlmaWNhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoKKyAgICAgICAgKiBXVEYudmNw
cm9qL1dURi52Y3Byb2o6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oOiAK
KyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6OnJlcG9ydE1lbW9yeVVzYWdlKToKKwogMjAx
Mi0wOS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBjb21wYXJlIG9iamVjdHMgY291bnRlZCBieSB0aGUgbWVtb3J5IGlu
c3RydW1lbnRhdGlvbiB3aXRoIHRob3NlIGFsbG9jYXRlZCBpbiB0aGUgaGVhcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGZiZmZiZTZiYTAzMDgwZDY2NWFlODk0ZDkxYjZhMThiMDcwNzJlYWIuLjZkYzYxYjlhZWE3
OTZmY2RkNTIwNGNlMzEwZjEyM2ZjNWY5ZTgxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxMi0wOS0yNiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JOiByZXBsYWNlIG1hbnVhbCBKUyBleHRlcm5hbCBy
ZXNvdXJjZXMgY291bnRpbmcgd2l0aCBNZW1vcnlJbnN0cnVtZW50YXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT2xkIHNjaGVtYSB1c2VzIHNpemVJ
bkJ5dGVzIG1ldGhvZCBvbiBTdHJpbmdJbXBsLiBUaGlzIG1ldGhvZCB3b3JrcyBpbmNvcnJlY3Qg
Zm9yIHN1YnN0cmluZ3MuCisgICAgICAgIEFsc28gd2UnZCBsaWtlIHRvIGtub3cgZXhhY3QgcG9p
bnRlcnMgdG8gc3RyaW5ncyBhbmQgYnVmZmVycyBmb3IgdmVyaWZpY2F0aW9uIHB1cnBvc2VzLgor
CisgICAgICAgICogZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmVNZW1vcnlUeXBlcyk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcDoKKyAgICAgICAgKE1lbW9yeUJsb2NrTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3REb21UcmVlSW5mbyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURp
c3RyaWJ1dGlvbik6CisKIDIwMTItMDktMjUgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHJlc291cmNlKCkgZ2V0
dGVyIGZyb20gVUlTb3VyY2VDb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZDBh
MGM4NjMxNzBkNzJhZjUxNzQxNWNlYTM4YTFjOGQzOTQxYmYyLi4xODExZjUxMTliZTY0NGUyOGVj
NDcxM2NlNTYxZWY2MDQxYWE1YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA5LTI2ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgbWFudWFsIEpTIGV4
dGVybmFsIHJlc291cmNlcyBjb3VudGluZyB3aXRoIE1lbW9yeUluc3RydW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbGQgc2NoZW1hIHVz
ZWQgc2l6ZUluQnl0ZXMgbWV0aG9kIG9uIFN0cmluZ0ltcGwuIFRoaXMgbWV0aG9kIHdvcmtzIGlu
Y29ycmVjdCBmb3Igc3Vic3RyaW5ncy4KKyAgICAgICAgQWxzbyB3ZSdkIGxpa2UgdG8ga25vdyBl
eGFjdCBwb2ludGVycyB0byBzdHJpbmdzIGFuZCBidWZmZXJzIGZvciB2ZXJpZmljYXRpb24gcHVy
cG9zZXMuCisKKyAgICAgICAgKiB0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDkt
MjUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbY2hyb21pdW1dIGFkZCBhIHRlc3QgZm9yIGluc3BlY3RvciBvdmVybGF5IHVw
ZGF0ZSBmcmVxdWVuY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwZWQxMGRkYWUxNDhhMDcz
M2E4MzUyNjk1NGI3ODE5ZmRiY2JkZmYyLi40NDM1YWUzMzExYTQ0M2JkOTUyYTNkOTQ5ZjhjYzM3
YWNiMWVlMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC04MCw2ICs4MCw3IEBAIHd0Zl9z
b3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuaCBcCiAgICAgU291cmNl
L1dURi93dGYvTWVkaWFUaW1lLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1
bWVudGF0aW9uLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFy
cmF5QnVmZmVyVmlldy5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRp
b25WZWN0b3IuaCBcCiAgICAgU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmggXAogICAgIFNv
dXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
V1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGZkYzI4ZDZiYjU1ZTdlNTY1ZGFm
MDk1YjczY2I1M2E3M2UwOTQ4ZmMuLjllODdkNDVjM2E1Nzk1N2ZiNzI4Y2NlZWExMzlhNDFjNDM5
YmI1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dURi9X
VEYuZ3lwaQpAQCAtNTAsNiArNTAsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWluVGhyZWFkLmgn
LAogICAgICAgICAgICAgJ3d0Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZW1v
cnlJbnN0cnVtZW50YXRpb24uaCcsCisgICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1lbnRh
dGlvbkFycmF5QnVmZmVyVmlldy5oJywKICAgICAgICAgICAgICd3dGYvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uVmVjdG9yLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9X
VEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4IGU4ZGE0YzBjNmIyNDY3MGNkMGI1ODI3
NTYwMzEzYjAwYzlmOTg5OGUuLmNhOGFmOTZhNmFkNTRkNTVhZjIwNzY3ZWE5OGIwZDYwM2E0OGE0
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBybworKysgYi9Tb3VyY2UvV1RGL1dURi5w
cm8KQEAgLTg3LDYgKzg3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgTUQ1LmggXAogICAgIE1lZGlh
VGltZS5oIFwKICAgICBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCBcCisgICAgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3LmggXAogICAgIE1lbW9yeUluc3RydW1lbnRhdGlvblZl
Y3Rvci5oIFwKICAgICBNZXNzYWdlUXVldWUuaCBcCiAgICAgTWV0YUFsbG9jYXRvci5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qIGIvU291cmNlL1dURi9X
VEYudmNwcm9qL1dURi52Y3Byb2oKaW5kZXggZjkxMDhjODkzNWUyZjU4NGFlYThiODcyYTNhZTM0
YzEyNDM0ZTg0My4uYzBjN2RjZjRmOGQzMDRmY2FjZGI5OTI5ZjQ0ZWVjZjVlZDRiZDYyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKKysrIGIvU291cmNlL1dU
Ri9XVEYudmNwcm9qL1dURi52Y3Byb2oKQEAgLTkwNSw2ICs5MDUsMTAgQEAKIAkJCT4KIAkJPC9G
aWxlPgogCQk8RmlsZQorCQkgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5cd3RmXE1lbW9yeUluc3Ry
dW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCiAJ
CSAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlx3dGZcTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9y
LmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDNhODllZGZhMWE0NjNjNzFmZjUzNTdjNTExOTA1NDAwOTFkZjQ1ZTIuLjM0NWU1
NjNjZWRlOWFlZWVkMWE1NDJiYWY4MTMzNDQ0MDZjNTE0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIsNiArNDIsNyBAQAogCQk0RjAzMjFCQzE1NkFB
OEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDRGMDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAvKiBCaXRBcnJheS5oICov
OyB9OwogCQk0RjFEMTE1NDE1RkYxMUJFMDAyNkU5MDggLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RjFEMTE1
MzE1RkYxMUJFMDAyNkU5MDggLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggKi87IH07CiAJCTRG
Q0I3MTBBMTYwQTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGQ0I3MTA5MTYw
QTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCAqLzsgfTsKKwkJ
NEZEODU1NDcxNjEzM0UwRTAwQzVCNzA0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVm
ZmVyVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEZEODU1NDYxNjEzM0UwRTAwQzVCNzA0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVm
ZmVyVmlldy5oICovOyB9OwogCQk3RTI5QzMzRTE1RkZENzlCMDA1MTZENjEgLyogT2JqY1J1bnRp
bWVFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdFMjlDMzNEMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9Owog
CQk4MTM0MDEzODE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgxMzQwMTM2MTVCMDkyRkQwMDFGRjBCOCAv
KiBCYXNlNjQuY3BwICovOyB9OwogCQk4MTM0MDEzOTE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MTM0MDEz
NzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi87IH07CkBAIC0zMTEsNiArMzEyLDcgQEAK
IAkJNEYwMzIxQkIxNTZBQThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJpdEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRGMUQxMTUzMTVGRjExQkUwMDI2RTkwOCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRGQ0I3MTA5MTYwQTFBMDcwMDg0MjVFQyAv
KiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTRGRDg1NTQ2MTYxMzNFMEUwMEM1QjcwNCAvKiBNZW1vcnlJbnN0cnVtZW50
YXRpb25BcnJheUJ1ZmZlclZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVEMjQ3QjYyMTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJXVEYuYSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCTVEMjQ3QjZFMTQ2ODlDNDcwMEU3OEI3NiAvKiBCYXNlLnhjY29uZmln
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54
Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEMjQ3QjZGMTQ2ODlDNDcwMEU3OEI3NiAvKiBDb21waWxlclZlcnNpb24ueGNjb25maWcg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gQ29tcGlsZXJWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNjkyLDYgKzY5NCw3IEBACiAJCQkJQ0Q1NDk3QUExNTg1N0QwMzAwQjVC
QzMwIC8qIE1lZGlhVGltZS5jcHAgKi8sCiAJCQkJQ0Q1NDk3QUIxNTg1N0QwMzAwQjVCQzMwIC8q
IE1lZGlhVGltZS5oICovLAogCQkJCTRGMUQxMTUzMTVGRjExQkUwMDI2RTkwOCAvKiBNZW1vcnlJ
bnN0cnVtZW50YXRpb24uaCAqLywKKwkJCQk0RkQ4NTU0NjE2MTMzRTBFMDBDNUI3MDQgLyogTWVt
b3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3LmggKi8sCiAJCQkJNEZDQjcxMDkxNjBB
MUEwNzAwODQyNUVDIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oICovLAogCQkJCUE4
QTQ3MkNDMTUxQTgyNUIwMDQxMjNGRiAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQlBOEE0NzJD
RDE1MUE4MjVCMDA0MTIzRkYgLyogTWV0YUFsbG9jYXRvci5jcHAgKi8sCkBAIC0xMTQ1LDYgKzEx
NDgsNyBAQAogCQkJCTI2RTZDMjBBMTYwOTAzNzMwMENBNkFGNCAvKiBVUkxVdGlsSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCTI2RTZDMjBEMTYwOTAzNzMwMENBNkFGNCAvKiBVUkxVdGls
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RkNCNzEwQTE2MEExQTA3MDA4NDI1RUMgLyogTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk0RkQ4NTU0NzE2MTMz
RTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3LmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRh
dGlvbkFycmF5QnVmZmVyVmlldy5oIGIvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVudGF0
aW9uQXJyYXlCdWZmZXJWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2ZjQ1MTk0YTZkODRlYmNhZjNlYjk1
Y2E1Mzk3N2E1ZmZlOWJkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lbW9y
eUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlld19oCisjZGVmaW5lIE1lbW9yeUlu
c3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlld19oCisKKyNpbmNsdWRlIDx3dGYvQXJyYXlCdWZm
ZXJWaWV3Lmg+CisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oPgorCituYW1l
c3BhY2UgV1RGIHsKKworaW5saW5lIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoY29uc3QgQXJyYXlC
dWZmZXJWaWV3KiBjb25zdCYgYXJyYXlCdWZmZXJWaWV3LCBNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKQoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIGFycmF5QnVmZmVyVmlldyk7CisgICAgaW5mby5hZGRNZW1iZXIoYXJyYXlCdWZmZXJWaWV3
LT5idWZmZXIoKS5nZXQoKSk7Cit9CisKK2lubGluZSB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKGNv
bnN0IEFycmF5QnVmZmVyKiBjb25zdCYgYXJyYXlCdWZmZXIsIE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pCit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgYXJyYXlCdWZmZXIpOworICAgIGluZm8uYWRkUmF3QnVmZmVyKGFycmF5QnVmZmVyLT5k
YXRhKCksIGFycmF5QnVmZmVyLT5ieXRlTGVuZ3RoKCkpOworfQorCit9CisKKyNlbmRpZiAvLyAh
ZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25BcnJheUJ1ZmZlclZpZXdfaCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCBkODZiMjU3ZmY1YzBjNTRjODRmMGJjMzVkYzdjMGU0OGM3NTljNmE0Li5hNTEwZTBjNGIwOWE2
ODUwM2ZjMjAyMDgwODFkMTdjYjc2MTU4YzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCkBAIC01MCw0ICs1MCw4IEBAIE1l
bW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNWRyA9ICJN
ZW1vcnlDYWNoZS5TVkciOwogTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNh
Y2hlZFJlc291cmNlU2hhZGVyID0gIk1lbW9yeUNhY2hlLlNoYWRlciI7CiBNZW1vcnlPYmplY3RU
eXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VYU0xUID0gIk1lbW9yeUNhY2hl
LlhTTFQiOwogCitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxS
ZXNvdXJjZXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNv
cmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzID0gIkpTRXh0ZXJuYWxSZXNvdXJjZXMuU3Ry
aW5ncyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxBcnJh
eXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcy5BcnJheXMiOworCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1l
bnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRp
b24uaAppbmRleCA0NGQ2YjFlZjYyMDg3NTgzNDYxN2UzNzRhZDNlZWJlN2E5ZDM0MTQ3Li5hOTk4
MTFiODRiM2U5MjBiYmRjNmQwN2QzNTBlMWFmZTViMmNmY2IzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTU2LDYgKzU2LDEw
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVNW
RzsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVNoYWRlcjsKICAg
ICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVhTTFQ7CisKKyAgICBzdGF0
aWMgTWVtb3J5T2JqZWN0VHlwZSBFeHRlcm5hbFJlc291cmNlczsKKyAgICBzdGF0aWMgTWVtb3J5
T2JqZWN0VHlwZSBFeHRlcm5hbFN0cmluZ3M7CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUg
RXh0ZXJuYWxBcnJheXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCAzOWZl
YTc4OTBjZjE1ZWJhNWQyOGQ2MzhlZmJiYTIwNGIwYjhjNTQxLi4zMGUzOGRkNjdmZjFiODI2MWMx
MjJhYzZhMGMzZWZlYjU3YTc1ZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTUzLDkgKzUzLDkgQEAKICNpbmNsdWRlICJT
Y3JpcHRHQ0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJT
dHlsZWRFbGVtZW50LmgiCi0jaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8
d3RmL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVk
ZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTc2LDkgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNw
YWNlIE1lbW9yeUJsb2NrTmFtZSB7CiBzdGF0aWMgY29uc3QgY2hhciBqc0hlYXBBbGxvY2F0ZWRb
XSA9ICJKU0hlYXBBbGxvY2F0ZWQiOwogc3RhdGljIGNvbnN0IGNoYXIganNIZWFwVXNlZFtdID0g
IkpTSGVhcFVzZWQiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbFJlc291cmNlc1tdID0g
IkpTRXh0ZXJuYWxSZXNvdXJjZXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbEFycmF5
c1tdID0gIkpTRXh0ZXJuYWxBcnJheXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbFN0
cmluZ3NbXSA9ICJKU0V4dGVybmFsU3RyaW5ncyI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0
b3JEYXRhW10gPSAiSW5zcGVjdG9yRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0b3JE
T01EYXRhW10gPSAiSW5zcGVjdG9yRE9NRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0
b3JKU0hlYXBEYXRhW10gPSAiSW5zcGVjdG9ySlNIZWFwRGF0YSI7CkBAIC0zMDUsMzMgKzMwMiw0
NiBAQCBwcml2YXRlOgogICAgIGludCBtX3NoYXJlZFN0cmluZ1NpemU7CiB9OwogCi1jbGFzcyBF
eHRlcm5hbFJlc291cmNlVmlzaXRvciA6IHB1YmxpYyBFeHRlcm5hbFN0cmluZ1Zpc2l0b3IsIHB1
YmxpYyBFeHRlcm5hbEFycmF5VmlzaXRvciB7CitjbGFzcyBFeHRlcm5hbFN0cmluZ3NSb290IDog
cHVibGljIEV4dGVybmFsU3RyaW5nVmlzaXRvciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgRXh0
ZXJuYWxSZXNvdXJjZVZpc2l0b3IoVmlzaXRlZE9iamVjdHMmIHZpc2l0ZWRPYmplY3RzKQotICAg
ICAgICA6IG1fdmlzaXRlZE9iamVjdHModmlzaXRlZE9iamVjdHMpCi0gICAgICAgICwgbV9qc0V4
dGVybmFsU3RyaW5nU2l6ZSgwKQotICAgICAgICAsIG1fZXh0ZXJuYWxBcnJheVNpemUoMCkKLSAg
ICB7IH0KKyAgICBFeHRlcm5hbFN0cmluZ3NSb290KCkgOiBtX21lbW9yeUNsYXNzSW5mbygwKSB7
IH0KIAotICAgIHNpemVfdCBleHRlcm5hbFN0cmluZ1NpemUoKSBjb25zdCB7IHJldHVybiBtX2pz
RXh0ZXJuYWxTdHJpbmdTaXplOyB9Ci0gICAgc2l6ZV90IGV4dGVybmFsQXJyYXlTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9leHRlcm5hbEFycmF5U2l6ZTsgfQorICAgIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKKyAgICB7Cisg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzKTsKKyAgICAgICAgbV9tZW1vcnlDbGFzc0lu
Zm8gPSAmaW5mbzsKKyAgICAgICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxTdHJpbmdz
KGNvbnN0X2Nhc3Q8RXh0ZXJuYWxTdHJpbmdzUm9vdCo+KHRoaXMpKTsKKyAgICAgICAgbV9tZW1v
cnlDbGFzc0luZm8gPSAwOworICAgIH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgdmlz
aXRKU0V4dGVybmFsQXJyYXkoQXJyYXlCdWZmZXJWaWV3KiBidWZmZXJWaWV3KQorICAgIHZpcnR1
YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxTdHJpbmcoU3RyaW5nSW1wbCogc3RyaW5nKQogICAgIHsK
LSAgICAgICAgQXJyYXlCdWZmZXIqIGJ1ZmZlciA9IGJ1ZmZlclZpZXctPmJ1ZmZlcigpLmdldCgp
OwotICAgICAgICBpZiAobV92aXNpdGVkT2JqZWN0cy5hZGQoYnVmZmVyKS5pc05ld0VudHJ5KQot
ICAgICAgICAgICAgbV9leHRlcm5hbEFycmF5U2l6ZSArPSBidWZmZXItPmJ5dGVMZW5ndGgoKTsK
KyAgICAgICAgbV9tZW1vcnlDbGFzc0luZm8tPmFkZE1lbWJlcihzdHJpbmcpOwogICAgIH0KLSAg
ICB2aXJ0dWFsIHZvaWQgdmlzaXRKU0V4dGVybmFsU3RyaW5nKFN0cmluZ0ltcGwqIHN0cmluZykK
KworICAgIG11dGFibGUgTWVtb3J5Q2xhc3NJbmZvKiBtX21lbW9yeUNsYXNzSW5mbzsKK307CisK
K2NsYXNzIEV4dGVybmFsQXJyYXlzUm9vdCA6IHB1YmxpYyBFeHRlcm5hbEFycmF5VmlzaXRvciB7
CitwdWJsaWM6CisgICAgRXh0ZXJuYWxBcnJheXNSb290KCkgOiBtX21lbW9yeUNsYXNzSW5mbygw
KSB7IH0KKworICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIGlmIChtX3Zpc2l0ZWRPYmplY3Rz
LmFkZChzdHJpbmcpLmlzTmV3RW50cnkpCi0gICAgICAgICAgICBtX2pzRXh0ZXJuYWxTdHJpbmdT
aXplICs9IHN0cmluZy0+c2l6ZUluQnl0ZXMoKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5hbEFy
cmF5cyk7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvID0gJmluZm87CisgICAgICAgIFNjcmlw
dFByb2ZpbGVyOjp2aXNpdEV4dGVybmFsQXJyYXlzKGNvbnN0X2Nhc3Q8RXh0ZXJuYWxBcnJheXNS
b290Kj4odGhpcykpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5mbyA9IDA7CiAgICAgfQogCi0g
ICAgVmlzaXRlZE9iamVjdHMmIG1fdmlzaXRlZE9iamVjdHM7Ci0gICAgc2l6ZV90IG1fanNFeHRl
cm5hbFN0cmluZ1NpemU7Ci0gICAgc2l6ZV90IG1fZXh0ZXJuYWxBcnJheVNpemU7Citwcml2YXRl
OgorICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxBcnJheShBcnJheUJ1ZmZlclZpZXcq
IGFycmF5QnVmZmVyVmlldykKKyAgICB7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvLT5hZGRN
ZW1iZXIoYXJyYXlCdWZmZXJWaWV3KTsKKyAgICB9CisKKyAgICBtdXRhYmxlIE1lbW9yeUNsYXNz
SW5mbyogbV9tZW1vcnlDbGFzc0luZm87CiB9OwogCiBjbGFzcyBJbnNwZWN0b3JEYXRhQ291bnRl
ciB7CkBAIC00OTMsMTAgKzUwMywyNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBkb20ucmVs
ZWFzZSgpOwogICAgIH0KIAorICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGJ1
aWxkT2JqZWN0Rm9yRXh0ZXJuYWxSZXNvdXJjZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgc2l6
ZV90IHRvdGFsU2l6ZSA9IDA7CisKKyAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJ
bnNwZWN0b3JNZW1vcnlCbG9jaz4gPiByZXNvdXJjZXNDaGlsZHJlbiA9IFR5cGVCdWlsZGVyOjpB
cnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0ZSgpOworICAgICAgICB0b3RhbFNpemUg
Kz0gYWRkTWVtb3J5QmxvY2tGb3IocmVzb3VyY2VzQ2hpbGRyZW4uZ2V0KCksIFdlYkNvcmVNZW1v
cnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9y
eUJsb2NrRm9yKHJlc291cmNlc0NoaWxkcmVuLmdldCgpLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkV4
dGVybmFsQXJyYXlzKTsKKworICAgICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IHJl
c291cmNlcyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKFdlYkNvcmVN
ZW1vcnlUeXBlczo6RXh0ZXJuYWxSZXNvdXJjZXMpOworICAgICAgICByZXNvdXJjZXMtPnNldFNp
emUodG90YWxTaXplKTsKKyAgICAgICAgcmVzb3VyY2VzLT5zZXRDaGlsZHJlbihyZXNvdXJjZXND
aGlsZHJlbi5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm4gcmVzb3VyY2VzLnJlbGVhc2UoKTsK
KyAgICB9CisKICAgICB2b2lkIGR1bXBTdGF0aXN0aWNzKFR5cGVCdWlsZGVyOjpBcnJheTxJbnNw
ZWN0b3JNZW1vcnlCbG9jaz4qIGNoaWxkcmVuLCBJbnNwZWN0b3JEYXRhQ291bnRlciogaW5zcGVj
dG9yRGF0YSkKICAgICB7CiAgICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9y
TWVtb3J5Q2FjaGUoKSk7CiAgICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9y
UGFnZSgpKTsKKyAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRPYmplY3RGb3JFeHRlcm5h
bFJlc291cmNlcygpKTsKIAogICAgICAgICBpbnNwZWN0b3JEYXRhLT5hZGRDb21wb25lbnQoTWVt
b3J5QmxvY2tOYW1lOjppbnNwZWN0b3JET01EYXRhLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi5z
ZWxmU2l6ZSgpKTsKICAgICB9CkBAIC01MjMsNiArNTQ4LDEyIEBAIHN0YXRpYyB2b2lkIGNvbGxl
Y3REb21UcmVlSW5mbyhQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVu
dCwgVmlzCiAgICAgaW5zcGVjdG9yQ2xpZW50LT5nZXRBbGxvY2F0ZWRPYmplY3RzKGFsbG9jYXRl
ZE9iamVjdHMpOwogICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbkltcGwgbWVtb3J5SW5zdHJ1bWVu
dGF0aW9uKHZpc2l0ZWRPYmplY3RzLCBhbGxvY2F0ZWRPYmplY3RzLmlzRW1wdHkoKSA/IDAgOiAm
YWxsb2NhdGVkT2JqZWN0cyk7CiAKKyAgICBFeHRlcm5hbFN0cmluZ3NSb290IHN0cmluZ3NSb290
OworICAgIG1lbW9yeUluc3RydW1lbnRhdGlvbi5hZGRSb290T2JqZWN0KHN0cmluZ3NSb290KTsK
KworICAgIEV4dGVybmFsQXJyYXlzUm9vdCBhcnJheXNSb290OworICAgIG1lbW9yeUluc3RydW1l
bnRhdGlvbi5hZGRSb290T2JqZWN0KGFycmF5c1Jvb3QpOworCiAgICAgRE9NVHJlZXNJdGVyYXRv
ciBkb21UcmVlc0l0ZXJhdG9yKHBhZ2UsIG1lbW9yeUluc3RydW1lbnRhdGlvbik7CiAKICAgICBT
Y3JpcHRQcm9maWxlcjo6dmlzaXROb2RlV3JhcHBlcnMoJmRvbVRyZWVzSXRlcmF0b3IpOwpAQCAt
NTUyLDI3ICs1ODMsNiBAQCBzdGF0aWMgdm9pZCBhZGRQbGF0Zm9ybUNvbXBvbmVudHNJbmZvKFBh
c3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbQogICAgIH0KIH0KIAotc3Rh
dGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGpzRXh0ZXJuYWxSZXNvdXJjZXNJ
bmZvKFZpc2l0ZWRPYmplY3RzJiB2aXNpdGVkT2JqZWN0cykKLXsKLSAgICBFeHRlcm5hbFJlc291
cmNlVmlzaXRvciB2aXNpdG9yKHZpc2l0ZWRPYmplY3RzKTsKLSAgICBTY3JpcHRQcm9maWxlcjo6
dmlzaXRFeHRlcm5hbFN0cmluZ3MoJnZpc2l0b3IpOwotICAgIFNjcmlwdFByb2ZpbGVyOjp2aXNp
dEV4dGVybmFsQXJyYXlzKCZ2aXNpdG9yKTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlC
bG9jaz4gZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVh
dGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6anNFeHRlcm5hbFJlc291cmNlcyk7Ci0gICAg
ZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cy0+c2V0U2l6ZSh2aXNpdG9yLmV4dGVybmFsU3RyaW5nU2l6
ZSgpICsgdmlzaXRvci5leHRlcm5hbEFycmF5U2l6ZSgpKTsKLSAgICBSZWZQdHI8VHlwZUJ1aWxk
ZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxkZXI6
OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7Ci0KLSAgICBSZWZQdHI8SW5z
cGVjdG9yTWVtb3J5QmxvY2s+IGV4dGVybmFsU3RyaW5nU3RhdHMgPSBJbnNwZWN0b3JNZW1vcnlC
bG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmpzRXh0ZXJuYWxTdHJpbmdz
KTsKLSAgICBleHRlcm5hbFN0cmluZ1N0YXRzLT5zZXRTaXplKHZpc2l0b3IuZXh0ZXJuYWxTdHJp
bmdTaXplKCkpOwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFsU3RyaW5nU3RhdHMpOwot
Ci0gICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBleHRlcm5hbEFycmF5U3RhdHMgPSBJ
bnNwZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6Ompz
RXh0ZXJuYWxBcnJheXMpOwotICAgIGV4dGVybmFsQXJyYXlTdGF0cy0+c2V0U2l6ZSh2aXNpdG9y
LmV4dGVybmFsQXJyYXlTaXplKCkpOwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFsQXJy
YXlTdGF0cyk7Ci0KLSAgICByZXR1cm4gZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cy5yZWxlYXNlKCk7
Ci19Ci0KIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBkdW1wRE9NU3Rv
cmFnZUNhY2hlKHNpemVfdCBjYWNoZVNpemUpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck1lbW9y
eUJsb2NrPiBkb21TdG9yYWdlQ2FjaGUgPSBJbnNwZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRlKCku
c2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmRvbVN0b3JhZ2VDYWNoZSk7CkBAIC01OTEsOCArNjAx
LDEyIEBAIHZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldFByb2Nlc3NNZW1vcnlEaXN0cmli
dXRpb24oRXJyb3JTdHJpbmcqLCBSZWZQdHI8SW5zCiAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpB
cnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiBjaGlsZHJlbiA9IFR5cGVCdWlsZGVyOjpBcnJh
eTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0ZSgpOwogICAgIGNoaWxkcmVuLT5hZGRJdGVt
KGpzSGVhcEluZm8oKSk7CiAgICAgY2hpbGRyZW4tPmFkZEl0ZW0ocmVuZGVyVHJlZUluZm8obV9w
YWdlKSk7IC8vIEZJWE1FOiBjb2xsZWN0IGZvciBhbGwgcGFnZXM/Cis8PDw8PDw8IEhFQUQKICAg
ICBjaGlsZHJlbi0+YWRkSXRlbShqc0V4dGVybmFsUmVzb3VyY2VzSW5mbyh2aXNpdGVkT2JqZWN0
cykpOwogICAgIGNvbGxlY3REb21UcmVlSW5mbyhtX3BhZ2UsIG1faW5zcGVjdG9yQ2xpZW50LCB2
aXNpdGVkT2JqZWN0cywgY2hpbGRyZW4uZ2V0KCksICZpbnNwZWN0b3JEYXRhKTsgLy8gRklYTUU6
IGNvbGxlY3QgZm9yIGFsbCBwYWdlcz8KKz09PT09PT0KKyAgICBjb2xsZWN0RG9tVHJlZUluZm8o
bV9wYWdlLCB2aXNpdGVkT2JqZWN0cywgY2hpbGRyZW4uZ2V0KCksICZpbnNwZWN0b3JEYXRhKTsg
Ly8gRklYTUU6IGNvbGxlY3QgZm9yIGFsbCBwYWdlcz8KKz4+Pj4+Pj4gY2xlYW4KICAgICBjaGls
ZHJlbi0+YWRkSXRlbShpbnNwZWN0b3JEYXRhLmR1bXBTdGF0aXN0aWNzKCkpOwogICAgIGNoaWxk
cmVuLT5hZGRJdGVtKGR1bXBET01TdG9yYWdlQ2FjaGUobV9kb21TdG9yYWdlQWdlbnQtPm1lbW9y
eUJ5dGVzVXNlZEJ5U3RvcmFnZUNhY2hlKCkpKTsKICAgICBhZGRQbGF0Zm9ybUNvbXBvbmVudHNJ
bmZvKGNoaWxkcmVuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
TWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwCmluZGV4IDIxY2U5NjMxNjljZGNiMzkx
ZmQ3YTI5ZGYzNWY1NjBmZGJkODQ0NmYuLmVjOGFiYWQxYjcwMzkzZTk4OTExMTE1NjY4ZDMzMWU5
NDVhNjk4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcApAQCAtMzYsNyArMzYsOSBAQAogCiAjaW5j
bHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAorI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlv
bkFycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KQEAgLTQzOSw1ICs0NDEsMTcgQEAgVEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0
LCB2ZWN0b3JXaXRoSW5zdHJ1bWVudGVkVHlwZSkKICAgICBFWFBFQ1RfRVEoY291bnQgKyAyLCAo
c2l6ZV90KXZpc2l0ZWRPYmplY3RzLnNpemUoKSk7CiB9CiAKK1RFU1QoTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uVGVzdCwgYXJyYXlCdWZmZXIpCit7CisgICAgVmlzaXRlZE9iamVjdHMgdmlzaXRlZE9i
amVjdHM7CisgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbCBpbXBsKHZpc2l0ZWRPYmplY3Rz
KTsKKworICAgIHR5cGVkZWYgSW5zdHJ1bWVudGVkVGVtcGxhdGU8UmVmUHRyPEFycmF5QnVmZmVy
PiA+IFZhbHVlVHlwZTsKKyAgICBWYWx1ZVR5cGUgdmFsdWUoQXJyYXlCdWZmZXI6OmNyZWF0ZSgx
MDAwLCBzaXplb2YoaW50KSkpOworICAgIGltcGwuYWRkUm9vdE9iamVjdCh2YWx1ZSk7CisgICAg
RVhQRUNUX0VRKHNpemVvZihpbnQpICogMTAwMCArIHNpemVvZihBcnJheUJ1ZmZlciksIGltcGwu
cmVwb3J0ZWRTaXplRm9yQWxsVHlwZXMoKSk7CisgICAgRVhQRUNUX0VRKDIsIHZpc2l0ZWRPYmpl
Y3RzLnNpemUoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165796</attachid>
            <date>2012-09-26 07:15:55 -0700</date>
            <delta_ts>2012-09-26 07:53:48 -0700</delta_ts>
            <desc>merge artefacts were removed</desc>
            <filename>bug-97662-20120926181514.patch</filename>
            <type>text/plain</type>
            <size>21732</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE0MjM1MGRjYTAxY2E3MjI1MTU1NjM4
OTA4NzBhNjZiNThhZTdhY2IuLmFjNmI0YTkxY2JlMThjYmQyZTRlNjEwY2QyOTRjMTUwM2EzZDUy
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMjYgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFj
ZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5nIHdpdGggTWVtb3J5SW5zdHJ1
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NzY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE9sZCBzY2hlbWEgdXNlcyBzaXplSW5CeXRlcyBtZXRob2Qgb24gU3RyaW5nSW1wbC4gVGhpcyBt
ZXRob2Qgd29ya3MgaW5jb3JyZWN0IGZvciBzdWJzdHJpbmdzLgorICAgICAgICBBbHNvIHdlJ2Qg
bGlrZSB0byBrbm93IGV4YWN0IHBvaW50ZXJzIHRvIHN0cmluZ3MgYW5kIGJ1ZmZlcnMgZm9yIHZl
cmlmaWNhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoKKyAgICAgICAgKiBXVEYudmNw
cm9qL1dURi52Y3Byb2o6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oOiAK
KyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6OnJlcG9ydE1lbW9yeVVzYWdlKToKKwogMjAx
Mi0wOS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBjb21wYXJlIG9iamVjdHMgY291bnRlZCBieSB0aGUgbWVtb3J5IGlu
c3RydW1lbnRhdGlvbiB3aXRoIHRob3NlIGFsbG9jYXRlZCBpbiB0aGUgaGVhcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDhkY2E0ZWU4ZmRjNTk3OWZjZTU3MTFkM2Q2Y2E2ZDg5NjY4MTg2YTYuLmIxOTI0MDdkZTFj
ZWY1ZGViZGJmZDBiYWJhYmQ3ZDUwMmQzNWY2YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxMi0wOS0yNiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JOiByZXBsYWNlIG1hbnVhbCBKUyBleHRlcm5hbCBy
ZXNvdXJjZXMgY291bnRpbmcgd2l0aCBNZW1vcnlJbnN0cnVtZW50YXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT2xkIHNjaGVtYSB1c2VzIHNpemVJ
bkJ5dGVzIG1ldGhvZCBvbiBTdHJpbmdJbXBsLiBUaGlzIG1ldGhvZCB3b3JrcyBpbmNvcnJlY3Qg
Zm9yIHN1YnN0cmluZ3MuCisgICAgICAgIEFsc28gd2UnZCBsaWtlIHRvIGtub3cgZXhhY3QgcG9p
bnRlcnMgdG8gc3RyaW5ncyBhbmQgYnVmZmVycyBmb3IgdmVyaWZpY2F0aW9uIHB1cnBvc2VzLgor
CisgICAgICAgICogZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmVNZW1vcnlUeXBlcyk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcDoKKyAgICAgICAgKE1lbW9yeUJsb2NrTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3REb21UcmVlSW5mbyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURp
c3RyaWJ1dGlvbik6CisKIDIwMTItMDktMjYgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBwYWludCBpbnNwZWN0b3Igb3Zlcmxh
eSBvbiBhIHRyYW5zcGFyZW5jeSBsYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBj
ZDBhMGM4NjMxNzBkNzJhZjUxNzQxNWNlYTM4YTFjOGQzOTQxYmYyLi4xODExZjUxMTliZTY0NGUy
OGVjNDcxM2NlNTYxZWY2MDQxYWE1YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA5LTI2ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgbWFudWFsIEpT
IGV4dGVybmFsIHJlc291cmNlcyBjb3VudGluZyB3aXRoIE1lbW9yeUluc3RydW1lbnRhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbGQgc2NoZW1h
IHVzZWQgc2l6ZUluQnl0ZXMgbWV0aG9kIG9uIFN0cmluZ0ltcGwuIFRoaXMgbWV0aG9kIHdvcmtz
IGluY29ycmVjdCBmb3Igc3Vic3RyaW5ncy4KKyAgICAgICAgQWxzbyB3ZSdkIGxpa2UgdG8ga25v
dyBleGFjdCBwb2ludGVycyB0byBzdHJpbmdzIGFuZCBidWZmZXJzIGZvciB2ZXJpZmljYXRpb24g
cHVycG9zZXMuCisKKyAgICAgICAgKiB0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTIt
MDktMjUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBbY2hyb21pdW1dIGFkZCBhIHRlc3QgZm9yIGluc3BlY3RvciBvdmVybGF5
IHVwZGF0ZSBmcmVxdWVuY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwZWQxMGRkYWUxNDhh
MDczM2E4MzUyNjk1NGI3ODE5ZmRiY2JkZmYyLi40NDM1YWUzMzExYTQ0M2JkOTUyYTNkOTQ5Zjhj
YzM3YWNiMWVlMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC04MCw2ICs4MCw3IEBAIHd0
Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuaCBcCiAgICAgU291
cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvTWVtb3J5SW5z
dHJ1bWVudGF0aW9uLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlv
bkFycmF5QnVmZmVyVmlldy5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50
YXRpb25WZWN0b3IuaCBcCiAgICAgU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGZkYzI4ZDZiYjU1ZTdlNTY1
ZGFmMDk1YjczY2I1M2E3M2UwOTQ4ZmMuLjllODdkNDVjM2E1Nzk1N2ZiNzI4Y2NlZWExMzlhNDFj
NDM5YmI1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dU
Ri9XVEYuZ3lwaQpAQCAtNTAsNiArNTAsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWluVGhyZWFk
LmgnLAogICAgICAgICAgICAgJ3d0Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9N
ZW1vcnlJbnN0cnVtZW50YXRpb24uaCcsCisgICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1l
bnRhdGlvbkFycmF5QnVmZmVyVmlldy5oJywKICAgICAgICAgICAgICd3dGYvTWVtb3J5SW5zdHJ1
bWVudGF0aW9uVmVjdG9yLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9XVEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4IGU4ZGE0YzBjNmIyNDY3MGNkMGI1
ODI3NTYwMzEzYjAwYzlmOTg5OGUuLmNhOGFmOTZhNmFkNTRkNTVhZjIwNzY3ZWE5OGIwZDYwM2E0
OGE0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBybworKysgYi9Tb3VyY2UvV1RGL1dU
Ri5wcm8KQEAgLTg3LDYgKzg3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgTUQ1LmggXAogICAgIE1l
ZGlhVGltZS5oIFwKICAgICBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCBcCisgICAgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3LmggXAogICAgIE1lbW9yeUluc3RydW1lbnRhdGlv
blZlY3Rvci5oIFwKICAgICBNZXNzYWdlUXVldWUuaCBcCiAgICAgTWV0YUFsbG9jYXRvci5oIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qIGIvU291cmNlL1dU
Ri9XVEYudmNwcm9qL1dURi52Y3Byb2oKaW5kZXggZjkxMDhjODkzNWUyZjU4NGFlYThiODcyYTNh
ZTM0YzEyNDM0ZTg0My4uYzBjN2RjZjRmOGQzMDRmY2FjZGI5OTI5ZjQ0ZWVjZjVlZDRiZDYyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKKysrIGIvU291cmNl
L1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKQEAgLTkwNSw2ICs5MDUsMTAgQEAKIAkJCT4KIAkJ
PC9GaWxlPgogCQk8RmlsZQorCQkgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5cd3RmXE1lbW9yeUlu
c3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxl
CiAJCSAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlx3dGZcTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVj
dG9yLmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDNhODllZGZhMWE0NjNjNzFmZjUzNTdjNTExOTA1NDAwOTFkZjQ1ZTIuLjM0
NWU1NjNjZWRlOWFlZWVkMWE1NDJiYWY4MTMzNDQ0MDZjNTE0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIsNiArNDIsNyBAQAogCQk0RjAzMjFCQzE1
NkFBOEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDRGMDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAvKiBCaXRBcnJheS5o
ICovOyB9OwogCQk0RjFEMTE1NDE1RkYxMUJFMDAyNkU5MDggLyogTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RjFE
MTE1MzE1RkYxMUJFMDAyNkU5MDggLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggKi87IH07CiAJ
CTRGQ0I3MTBBMTYwQTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGQ0I3MTA5
MTYwQTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCAqLzsgfTsK
KwkJNEZEODU1NDcxNjEzM0UwRTAwQzVCNzA0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5
QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEZEODU1NDYxNjEzM0UwRTAwQzVCNzA0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5
QnVmZmVyVmlldy5oICovOyB9OwogCQk3RTI5QzMzRTE1RkZENzlCMDA1MTZENjEgLyogT2JqY1J1
bnRpbWVFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdFMjlDMzNEMTVGRkQ3OUIwMDUxNkQ2MSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9
OwogCQk4MTM0MDEzODE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgxMzQwMTM2MTVCMDkyRkQwMDFGRjBC
OCAvKiBCYXNlNjQuY3BwICovOyB9OwogCQk4MTM0MDEzOTE1QjA5MkZEMDAxRkYwQjggLyogQmFz
ZTY0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MTM0
MDEzNzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi87IH07CkBAIC0zMTEsNiArMzEyLDcg
QEAKIAkJNEYwMzIxQkIxNTZBQThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpdEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRGMUQxMTUzMTVGRjExQkUwMDI2RTkwOCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRGQ0I3MTA5MTYwQTFBMDcwMDg0MjVF
QyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTRGRDg1NTQ2MTYxMzNFMEUwMEM1QjcwNCAvKiBNZW1vcnlJbnN0cnVt
ZW50YXRpb25BcnJheUJ1ZmZlclZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTVEMjQ3QjYyMTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJXVEYuYSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsg
aW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTVEMjQ3QjZFMTQ2ODlDNDcwMEU3OEI3NiAvKiBCYXNlLnhjY29u
ZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVEMjQ3QjZGMTQ2ODlDNDcwMEU3OEI3NiAvKiBDb21waWxlclZlcnNpb24ueGNjb25m
aWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnhjY29uZmlnOyBwYXRoID0gQ29tcGlsZXJWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjkyLDYgKzY5NCw3IEBACiAJCQkJQ0Q1NDk3QUExNTg1N0QwMzAw
QjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8sCiAJCQkJQ0Q1NDk3QUIxNTg1N0QwMzAwQjVCQzMw
IC8qIE1lZGlhVGltZS5oICovLAogCQkJCTRGMUQxMTUzMTVGRjExQkUwMDI2RTkwOCAvKiBNZW1v
cnlJbnN0cnVtZW50YXRpb24uaCAqLywKKwkJCQk0RkQ4NTU0NjE2MTMzRTBFMDBDNUI3MDQgLyog
TWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3LmggKi8sCiAJCQkJNEZDQjcxMDkx
NjBBMUEwNzAwODQyNUVDIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oICovLAogCQkJ
CUE4QTQ3MkNDMTUxQTgyNUIwMDQxMjNGRiAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQlBOEE0
NzJDRDE1MUE4MjVCMDA0MTIzRkYgLyogTWV0YUFsbG9jYXRvci5jcHAgKi8sCkBAIC0xMTQ1LDYg
KzExNDgsNyBAQAogCQkJCTI2RTZDMjBBMTYwOTAzNzMwMENBNkFGNCAvKiBVUkxVdGlsSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RTZDMjBEMTYwOTAzNzMwMENBNkFGNCAvKiBVUkxV
dGlsLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RkNCNzEwQTE2MEExQTA3MDA4NDI1RUMgLyogTWVt
b3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk0RkQ4NTU0NzE2
MTMzRTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZmZXJWaWV3Lmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1l
bnRhdGlvbkFycmF5QnVmZmVyVmlldy5oIGIvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uQXJyYXlCdWZmZXJWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2ZjQ1MTk0YTZkODRlYmNhZjNl
Yjk1Y2E1Mzk3N2E1ZmZlOWJkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL01l
bW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oCkBAIC0wLDAgKzEsNTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE1lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlld19oCisjZGVmaW5lIE1lbW9y
eUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlld19oCisKKyNpbmNsdWRlIDx3dGYvQXJyYXlC
dWZmZXJWaWV3Lmg+CisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oPgorCitu
YW1lc3BhY2UgV1RGIHsKKworaW5saW5lIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoY29uc3QgQXJy
YXlCdWZmZXJWaWV3KiBjb25zdCYgYXJyYXlCdWZmZXJWaWV3LCBNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKQoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIGFycmF5QnVmZmVyVmlldyk7CisgICAgaW5mby5hZGRNZW1iZXIoYXJyYXlCdWZmZXJW
aWV3LT5idWZmZXIoKS5nZXQoKSk7Cit9CisKK2lubGluZSB2b2lkIHJlcG9ydE1lbW9yeVVzYWdl
KGNvbnN0IEFycmF5QnVmZmVyKiBjb25zdCYgYXJyYXlCdWZmZXIsIE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pCit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgYXJyYXlCdWZmZXIpOworICAgIGluZm8uYWRkUmF3QnVmZmVyKGFycmF5QnVmZmVy
LT5kYXRhKCksIGFycmF5QnVmZmVyLT5ieXRlTGVuZ3RoKCkpOworfQorCit9CisKKyNlbmRpZiAv
LyAhZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25BcnJheUJ1ZmZlclZpZXdfaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcApp
bmRleCBkODZiMjU3ZmY1YzBjNTRjODRmMGJjMzVkYzdjMGU0OGM3NTljNmE0Li5hNTEwZTBjNGIw
OWE2ODUwM2ZjMjAyMDgwODFkMTdjYjc2MTU4YzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCkBAIC01MCw0ICs1MCw4IEBA
IE1lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNWRyA9
ICJNZW1vcnlDYWNoZS5TVkciOwogTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNhY2hlZFJlc291cmNlU2hhZGVyID0gIk1lbW9yeUNhY2hlLlNoYWRlciI7CiBNZW1vcnlPYmpl
Y3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VYU0xUID0gIk1lbW9yeUNh
Y2hlLlhTTFQiOwogCitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJu
YWxSZXNvdXJjZXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcyI7CitNZW1vcnlPYmplY3RUeXBlIFdl
YkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzID0gIkpTRXh0ZXJuYWxSZXNvdXJjZXMu
U3RyaW5ncyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxB
cnJheXMgPSAiSlNFeHRlcm5hbFJlc291cmNlcy5BcnJheXMiOworCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50
YXRpb24uaAppbmRleCA0NGQ2YjFlZjYyMDg3NTgzNDYxN2UzNzRhZDNlZWJlN2E5ZDM0MTQ3Li5h
OTk4MTFiODRiM2U5MjBiYmRjNmQwN2QzNTBlMWFmZTViMmNmY2IzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTU2LDYgKzU2
LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJj
ZVNWRzsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVNoYWRlcjsK
ICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDYWNoZWRSZXNvdXJjZVhTTFQ7CisKKyAgICBz
dGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBFeHRlcm5hbFJlc291cmNlczsKKyAgICBzdGF0aWMgTWVt
b3J5T2JqZWN0VHlwZSBFeHRlcm5hbFN0cmluZ3M7CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5
cGUgRXh0ZXJuYWxBcnJheXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCAz
OWZlYTc4OTBjZjE1ZWJhNWQyOGQ2MzhlZmJiYTIwNGIwYjhjNTQxLi4xNDBkZGRlODdiZWZjMjZm
ZTU1NzNlNGU3M2FlMjUxNjQ1OTgyNjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTUzLDkgKzUzLDkgQEAKICNpbmNsdWRl
ICJTY3JpcHRHQ0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRl
ICJTdHlsZWRFbGVtZW50LmgiCi0jaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5j
bHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KQEAgLTc2LDkgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFt
ZXNwYWNlIE1lbW9yeUJsb2NrTmFtZSB7CiBzdGF0aWMgY29uc3QgY2hhciBqc0hlYXBBbGxvY2F0
ZWRbXSA9ICJKU0hlYXBBbGxvY2F0ZWQiOwogc3RhdGljIGNvbnN0IGNoYXIganNIZWFwVXNlZFtd
ID0gIkpTSGVhcFVzZWQiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbFJlc291cmNlc1td
ID0gIkpTRXh0ZXJuYWxSZXNvdXJjZXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5hbEFy
cmF5c1tdID0gIkpTRXh0ZXJuYWxBcnJheXMiOwotc3RhdGljIGNvbnN0IGNoYXIganNFeHRlcm5h
bFN0cmluZ3NbXSA9ICJKU0V4dGVybmFsU3RyaW5ncyI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNw
ZWN0b3JEYXRhW10gPSAiSW5zcGVjdG9yRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNwZWN0
b3JET01EYXRhW10gPSAiSW5zcGVjdG9yRE9NRGF0YSI7CiBzdGF0aWMgY29uc3QgY2hhciBpbnNw
ZWN0b3JKU0hlYXBEYXRhW10gPSAiSW5zcGVjdG9ySlNIZWFwRGF0YSI7CkBAIC0zMDUsMzMgKzMw
Miw0NiBAQCBwcml2YXRlOgogICAgIGludCBtX3NoYXJlZFN0cmluZ1NpemU7CiB9OwogCi1jbGFz
cyBFeHRlcm5hbFJlc291cmNlVmlzaXRvciA6IHB1YmxpYyBFeHRlcm5hbFN0cmluZ1Zpc2l0b3Is
IHB1YmxpYyBFeHRlcm5hbEFycmF5VmlzaXRvciB7CitjbGFzcyBFeHRlcm5hbFN0cmluZ3NSb290
IDogcHVibGljIEV4dGVybmFsU3RyaW5nVmlzaXRvciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQg
RXh0ZXJuYWxSZXNvdXJjZVZpc2l0b3IoVmlzaXRlZE9iamVjdHMmIHZpc2l0ZWRPYmplY3RzKQot
ICAgICAgICA6IG1fdmlzaXRlZE9iamVjdHModmlzaXRlZE9iamVjdHMpCi0gICAgICAgICwgbV9q
c0V4dGVybmFsU3RyaW5nU2l6ZSgwKQotICAgICAgICAsIG1fZXh0ZXJuYWxBcnJheVNpemUoMCkK
LSAgICB7IH0KKyAgICBFeHRlcm5hbFN0cmluZ3NSb290KCkgOiBtX21lbW9yeUNsYXNzSW5mbygw
KSB7IH0KIAotICAgIHNpemVfdCBleHRlcm5hbFN0cmluZ1NpemUoKSBjb25zdCB7IHJldHVybiBt
X2pzRXh0ZXJuYWxTdHJpbmdTaXplOyB9Ci0gICAgc2l6ZV90IGV4dGVybmFsQXJyYXlTaXplKCkg
Y29uc3QgeyByZXR1cm4gbV9leHRlcm5hbEFycmF5U2l6ZTsgfQorICAgIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKKyAgICB7
CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzKTsKKyAgICAgICAgbV9tZW1vcnlDbGFz
c0luZm8gPSAmaW5mbzsKKyAgICAgICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxTdHJp
bmdzKGNvbnN0X2Nhc3Q8RXh0ZXJuYWxTdHJpbmdzUm9vdCo+KHRoaXMpKTsKKyAgICAgICAgbV9t
ZW1vcnlDbGFzc0luZm8gPSAwOworICAgIH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQg
dmlzaXRKU0V4dGVybmFsQXJyYXkoQXJyYXlCdWZmZXJWaWV3KiBidWZmZXJWaWV3KQorICAgIHZp
cnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxTdHJpbmcoU3RyaW5nSW1wbCogc3RyaW5nKQogICAg
IHsKLSAgICAgICAgQXJyYXlCdWZmZXIqIGJ1ZmZlciA9IGJ1ZmZlclZpZXctPmJ1ZmZlcigpLmdl
dCgpOwotICAgICAgICBpZiAobV92aXNpdGVkT2JqZWN0cy5hZGQoYnVmZmVyKS5pc05ld0VudHJ5
KQotICAgICAgICAgICAgbV9leHRlcm5hbEFycmF5U2l6ZSArPSBidWZmZXItPmJ5dGVMZW5ndGgo
KTsKKyAgICAgICAgbV9tZW1vcnlDbGFzc0luZm8tPmFkZE1lbWJlcihzdHJpbmcpOwogICAgIH0K
LSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRKU0V4dGVybmFsU3RyaW5nKFN0cmluZ0ltcGwqIHN0cmlu
ZykKKworICAgIG11dGFibGUgTWVtb3J5Q2xhc3NJbmZvKiBtX21lbW9yeUNsYXNzSW5mbzsKK307
CisKK2NsYXNzIEV4dGVybmFsQXJyYXlzUm9vdCA6IHB1YmxpYyBFeHRlcm5hbEFycmF5VmlzaXRv
ciB7CitwdWJsaWM6CisgICAgRXh0ZXJuYWxBcnJheXNSb290KCkgOiBtX21lbW9yeUNsYXNzSW5m
bygwKSB7IH0KKworICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIGlmIChtX3Zpc2l0ZWRPYmpl
Y3RzLmFkZChzdHJpbmcpLmlzTmV3RW50cnkpCi0gICAgICAgICAgICBtX2pzRXh0ZXJuYWxTdHJp
bmdTaXplICs9IHN0cmluZy0+c2l6ZUluQnl0ZXMoKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpFeHRlcm5h
bEFycmF5cyk7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvID0gJmluZm87CisgICAgICAgIFNj
cmlwdFByb2ZpbGVyOjp2aXNpdEV4dGVybmFsQXJyYXlzKGNvbnN0X2Nhc3Q8RXh0ZXJuYWxBcnJh
eXNSb290Kj4odGhpcykpOworICAgICAgICBtX21lbW9yeUNsYXNzSW5mbyA9IDA7CiAgICAgfQog
Ci0gICAgVmlzaXRlZE9iamVjdHMmIG1fdmlzaXRlZE9iamVjdHM7Ci0gICAgc2l6ZV90IG1fanNF
eHRlcm5hbFN0cmluZ1NpemU7Ci0gICAgc2l6ZV90IG1fZXh0ZXJuYWxBcnJheVNpemU7Citwcml2
YXRlOgorICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxBcnJheShBcnJheUJ1ZmZlclZp
ZXcqIGFycmF5QnVmZmVyVmlldykKKyAgICB7CisgICAgICAgIG1fbWVtb3J5Q2xhc3NJbmZvLT5h
ZGRNZW1iZXIoYXJyYXlCdWZmZXJWaWV3KTsKKyAgICB9CisKKyAgICBtdXRhYmxlIE1lbW9yeUNs
YXNzSW5mbyogbV9tZW1vcnlDbGFzc0luZm87CiB9OwogCiBjbGFzcyBJbnNwZWN0b3JEYXRhQ291
bnRlciB7CkBAIC00OTMsMTAgKzUwMywyNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBkb20u
cmVsZWFzZSgpOwogICAgIH0KIAorICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+
IGJ1aWxkT2JqZWN0Rm9yRXh0ZXJuYWxSZXNvdXJjZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAg
c2l6ZV90IHRvdGFsU2l6ZSA9IDA7CisKKyAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJh
eTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiByZXNvdXJjZXNDaGlsZHJlbiA9IFR5cGVCdWlsZGVy
OjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0ZSgpOworICAgICAgICB0b3RhbFNp
emUgKz0gYWRkTWVtb3J5QmxvY2tGb3IocmVzb3VyY2VzQ2hpbGRyZW4uZ2V0KCksIFdlYkNvcmVN
ZW1vcnlUeXBlczo6RXh0ZXJuYWxTdHJpbmdzKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1l
bW9yeUJsb2NrRm9yKHJlc291cmNlc0NoaWxkcmVuLmdldCgpLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkV4dGVybmFsQXJyYXlzKTsKKworICAgICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+
IHJlc291cmNlcyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKFdlYkNv
cmVNZW1vcnlUeXBlczo6RXh0ZXJuYWxSZXNvdXJjZXMpOworICAgICAgICByZXNvdXJjZXMtPnNl
dFNpemUodG90YWxTaXplKTsKKyAgICAgICAgcmVzb3VyY2VzLT5zZXRDaGlsZHJlbihyZXNvdXJj
ZXNDaGlsZHJlbi5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm4gcmVzb3VyY2VzLnJlbGVhc2Uo
KTsKKyAgICB9CisKICAgICB2b2lkIGR1bXBTdGF0aXN0aWNzKFR5cGVCdWlsZGVyOjpBcnJheTxJ
bnNwZWN0b3JNZW1vcnlCbG9jaz4qIGNoaWxkcmVuLCBJbnNwZWN0b3JEYXRhQ291bnRlciogaW5z
cGVjdG9yRGF0YSkKICAgICB7CiAgICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0
Rm9yTWVtb3J5Q2FjaGUoKSk7CiAgICAgICAgIGNoaWxkcmVuLT5hZGRJdGVtKGJ1aWxkT2JqZWN0
Rm9yUGFnZSgpKTsKKyAgICAgICAgY2hpbGRyZW4tPmFkZEl0ZW0oYnVpbGRPYmplY3RGb3JFeHRl
cm5hbFJlc291cmNlcygpKTsKIAogICAgICAgICBpbnNwZWN0b3JEYXRhLT5hZGRDb21wb25lbnQo
TWVtb3J5QmxvY2tOYW1lOjppbnNwZWN0b3JET01EYXRhLCBtX21lbW9yeUluc3RydW1lbnRhdGlv
bi5zZWxmU2l6ZSgpKTsKICAgICB9CkBAIC01MjMsNiArNTQ4LDEyIEBAIHN0YXRpYyB2b2lkIGNv
bGxlY3REb21UcmVlSW5mbyhQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNs
aWVudCwgVmlzCiAgICAgaW5zcGVjdG9yQ2xpZW50LT5nZXRBbGxvY2F0ZWRPYmplY3RzKGFsbG9j
YXRlZE9iamVjdHMpOwogICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbkltcGwgbWVtb3J5SW5zdHJ1
bWVudGF0aW9uKHZpc2l0ZWRPYmplY3RzLCBhbGxvY2F0ZWRPYmplY3RzLmlzRW1wdHkoKSA/IDAg
OiAmYWxsb2NhdGVkT2JqZWN0cyk7CiAKKyAgICBFeHRlcm5hbFN0cmluZ3NSb290IHN0cmluZ3NS
b290OworICAgIG1lbW9yeUluc3RydW1lbnRhdGlvbi5hZGRSb290T2JqZWN0KHN0cmluZ3NSb290
KTsKKworICAgIEV4dGVybmFsQXJyYXlzUm9vdCBhcnJheXNSb290OworICAgIG1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5hZGRSb290T2JqZWN0KGFycmF5c1Jvb3QpOworCiAgICAgRE9NVHJlZXNJdGVy
YXRvciBkb21UcmVlc0l0ZXJhdG9yKHBhZ2UsIG1lbW9yeUluc3RydW1lbnRhdGlvbik7CiAKICAg
ICBTY3JpcHRQcm9maWxlcjo6dmlzaXROb2RlV3JhcHBlcnMoJmRvbVRyZWVzSXRlcmF0b3IpOwpA
QCAtNTUyLDI3ICs1ODMsNiBAQCBzdGF0aWMgdm9pZCBhZGRQbGF0Zm9ybUNvbXBvbmVudHNJbmZv
KFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbQogICAgIH0KIH0KIAot
c3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGpzRXh0ZXJuYWxSZXNvdXJj
ZXNJbmZvKFZpc2l0ZWRPYmplY3RzJiB2aXNpdGVkT2JqZWN0cykKLXsKLSAgICBFeHRlcm5hbFJl
c291cmNlVmlzaXRvciB2aXNpdG9yKHZpc2l0ZWRPYmplY3RzKTsKLSAgICBTY3JpcHRQcm9maWxl
cjo6dmlzaXRFeHRlcm5hbFN0cmluZ3MoJnZpc2l0b3IpOwotICAgIFNjcmlwdFByb2ZpbGVyOjp2
aXNpdEV4dGVybmFsQXJyYXlzKCZ2aXNpdG9yKTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1v
cnlCbG9jaz4gZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cyA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpj
cmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6anNFeHRlcm5hbFJlc291cmNlcyk7Ci0g
ICAgZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cy0+c2V0U2l6ZSh2aXNpdG9yLmV4dGVybmFsU3RyaW5n
U2l6ZSgpICsgdmlzaXRvci5leHRlcm5hbEFycmF5U2l6ZSgpKTsKLSAgICBSZWZQdHI8VHlwZUJ1
aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxk
ZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7Ci0KLSAgICBSZWZQdHI8
SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGV4dGVybmFsU3RyaW5nU3RhdHMgPSBJbnNwZWN0b3JNZW1v
cnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmpzRXh0ZXJuYWxTdHJp
bmdzKTsKLSAgICBleHRlcm5hbFN0cmluZ1N0YXRzLT5zZXRTaXplKHZpc2l0b3IuZXh0ZXJuYWxT
dHJpbmdTaXplKCkpOwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFsU3RyaW5nU3RhdHMp
OwotCi0gICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBleHRlcm5hbEFycmF5U3RhdHMg
PSBJbnNwZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRlKCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6
OmpzRXh0ZXJuYWxBcnJheXMpOwotICAgIGV4dGVybmFsQXJyYXlTdGF0cy0+c2V0U2l6ZSh2aXNp
dG9yLmV4dGVybmFsQXJyYXlTaXplKCkpOwotICAgIGNoaWxkcmVuLT5hZGRJdGVtKGV4dGVybmFs
QXJyYXlTdGF0cyk7Ci0KLSAgICByZXR1cm4gZXh0ZXJuYWxSZXNvdXJjZXNTdGF0cy5yZWxlYXNl
KCk7Ci19Ci0KIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBkdW1wRE9N
U3RvcmFnZUNhY2hlKHNpemVfdCBjYWNoZVNpemUpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck1l
bW9yeUJsb2NrPiBkb21TdG9yYWdlQ2FjaGUgPSBJbnNwZWN0b3JNZW1vcnlCbG9jazo6Y3JlYXRl
KCkuc2V0TmFtZShNZW1vcnlCbG9ja05hbWU6OmRvbVN0b3JhZ2VDYWNoZSk7CkBAIC01OTEsNyAr
NjAxLDYgQEAgdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURpc3Ry
aWJ1dGlvbihFcnJvclN0cmluZyosIFJlZlB0cjxJbnMKICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6
OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGNoaWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFy
cmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7CiAgICAgY2hpbGRyZW4tPmFkZEl0
ZW0oanNIZWFwSW5mbygpKTsKICAgICBjaGlsZHJlbi0+YWRkSXRlbShyZW5kZXJUcmVlSW5mbyht
X3BhZ2UpKTsgLy8gRklYTUU6IGNvbGxlY3QgZm9yIGFsbCBwYWdlcz8KLSAgICBjaGlsZHJlbi0+
YWRkSXRlbShqc0V4dGVybmFsUmVzb3VyY2VzSW5mbyh2aXNpdGVkT2JqZWN0cykpOwogICAgIGNv
bGxlY3REb21UcmVlSW5mbyhtX3BhZ2UsIG1faW5zcGVjdG9yQ2xpZW50LCB2aXNpdGVkT2JqZWN0
cywgY2hpbGRyZW4uZ2V0KCksICZpbnNwZWN0b3JEYXRhKTsgLy8gRklYTUU6IGNvbGxlY3QgZm9y
IGFsbCBwYWdlcz8KICAgICBjaGlsZHJlbi0+YWRkSXRlbShpbnNwZWN0b3JEYXRhLmR1bXBTdGF0
aXN0aWNzKCkpOwogICAgIGNoaWxkcmVuLT5hZGRJdGVtKGR1bXBET01TdG9yYWdlQ2FjaGUobV9k
b21TdG9yYWdlQWdlbnQtPm1lbW9yeUJ5dGVzVXNlZEJ5U3RvcmFnZUNhY2hlKCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRh
dGlvblRlc3QuY3BwCmluZGV4IDIxY2U5NjMxNjljZGNiMzkxZmQ3YTI5ZGYzNWY1NjBmZGJkODQ0
NmYuLmVjOGFiYWQxYjcwMzkzZTk4OTExMTE1NjY4ZDMzMWU5NDVhNjk4MTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRp
b25UZXN0LmNwcApAQCAtMzYsNyArMzYsOSBAQAogCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4K
IAorI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oPgog
I2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQzOSw1ICs0NDEs
MTcgQEAgVEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LCB2ZWN0b3JXaXRoSW5zdHJ1bWVu
dGVkVHlwZSkKICAgICBFWFBFQ1RfRVEoY291bnQgKyAyLCAoc2l6ZV90KXZpc2l0ZWRPYmplY3Rz
LnNpemUoKSk7CiB9CiAKK1RFU1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdCwgYXJyYXlCdWZm
ZXIpCit7CisgICAgVmlzaXRlZE9iamVjdHMgdmlzaXRlZE9iamVjdHM7CisgICAgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uSW1wbCBpbXBsKHZpc2l0ZWRPYmplY3RzKTsKKworICAgIHR5cGVkZWYgSW5z
dHJ1bWVudGVkVGVtcGxhdGU8UmVmUHRyPEFycmF5QnVmZmVyPiA+IFZhbHVlVHlwZTsKKyAgICBW
YWx1ZVR5cGUgdmFsdWUoQXJyYXlCdWZmZXI6OmNyZWF0ZSgxMDAwLCBzaXplb2YoaW50KSkpOwor
ICAgIGltcGwuYWRkUm9vdE9iamVjdCh2YWx1ZSk7CisgICAgRVhQRUNUX0VRKHNpemVvZihpbnQp
ICogMTAwMCArIHNpemVvZihBcnJheUJ1ZmZlciksIGltcGwucmVwb3J0ZWRTaXplRm9yQWxsVHlw
ZXMoKSk7CisgICAgRVhQRUNUX0VRKDIsIHZpc2l0ZWRPYmplY3RzLnNpemUoKSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlCiAK
</data>
<flag name="review"
          id="177948"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>