<?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>164002</bug_id>
          
          <creation_ts>2016-10-25 18:44:18 -0700</creation_ts>
          <short_desc>Hovering over a slotted Text node clears hover state</short_desc>
          <delta_ts>2016-11-11 16:51:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>Safari 10</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://codepen.io/mcorbanini/pen/RGdzAB</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148695</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matias">mcorbanini</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244597</commentid>
    <comment_count>0</comment_count>
    <who name="Matias">mcorbanini</who>
    <bug_when>2016-10-25 18:44:18 -0700</bug_when>
    <thetext>* SUMMARY
Apparently, there is a misbehavior with slotted elements when these ones are clicked or hovered. Active state and hover state are not being applied.

* HOW TO REPRODUCE
Opening this example will be clear enough http://codepen.io/mcorbanini/pen/RGdzAB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246842</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-01 00:47:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/29040471&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250047</commentid>
    <comment_count>2</comment_count>
      <attachid>294438</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-10 16:29:59 -0800</bug_when>
    <thetext>Created attachment 294438
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250050</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 16:32:34 -0800</bug_when>
    <thetext>Attachment 294438 did not pass style-queue:


ERROR: Source/WebKit/mac/WebView/WebImmediateActionController.mm:153:  The parameter name &quot;element&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250051</commentid>
    <comment_count>4</comment_count>
      <attachid>294439</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-10 16:32:45 -0800</bug_when>
    <thetext>Created attachment 294439
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250054</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 16:35:35 -0800</bug_when>
    <thetext>Attachment 294439 did not pass style-queue:


ERROR: Source/WebKit/mac/WebView/WebImmediateActionController.mm:153:  The parameter name &quot;element&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250366</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-11 13:12:57 -0800</bug_when>
    <thetext>Ping reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250380</commentid>
    <comment_count>7</comment_count>
      <attachid>294439</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-11 13:37:36 -0800</bug_when>
    <thetext>Comment on attachment 294439
Fixes the bug

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Moving the cursor onto a slotted Text node clears hover state

What kind of cursor? This makes me think of the mouse cursor but I don&apos;t think you mean that.
EDIT: oh I guess you do. Maybe reword to use &quot;hover&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250479</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-11 16:15:55 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 294439 [details]
&gt; Fixes the bug
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294439&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Moving the cursor onto a slotted Text node clears hover state
&gt; 
&gt; What kind of cursor? This makes me think of the mouse cursor but I don&apos;t
&gt; think you mean that.
&gt; EDIT: oh I guess you do. Maybe reword to use &quot;hover&quot;.

Thanks for the review. Fixe the bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250481</commentid>
    <comment_count>9</comment_count>
      <attachid>294560</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-11 16:16:39 -0800</bug_when>
    <thetext>Created attachment 294560
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250485</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-11 16:18:37 -0800</bug_when>
    <thetext>Attachment 294560 did not pass style-queue:


ERROR: Source/WebKit/mac/WebView/WebImmediateActionController.mm:153:  The parameter name &quot;element&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250517</commentid>
    <comment_count>11</comment_count>
      <attachid>294560</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-11 16:51:53 -0800</bug_when>
    <thetext>Comment on attachment 294560
Patch for landing

Clearing flags on attachment: 294560

Committed r208630: &lt;http://trac.webkit.org/changeset/208630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250518</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-11 16:51:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294438</attachid>
            <date>2016-11-10 16:29:59 -0800</date>
            <delta_ts>2016-11-10 16:32:42 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-164002-20161110162546.patch</filename>
            <type>text/plain</type>
            <size>19006</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE5ZmJjZmI4M2UyOTBi
MGQ5OGI1OTFmODZmZWEwODJjYjgwZmQwYS4uM2YyN2VlMDFjMGJmZWZjMGI4NDRlMzk1ZTVjMDcy
MWRkM2Q5ZGY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTExLTEwICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmluZyB0aGUgY3Vyc29y
IG9udG8gYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IEhpdFRlc3RSZXN1bHQ6OmlubmVy
RWxlbWVudCByZXR1cm5pbmcgdGhlIHBhcmVudCBlbGVtZW50IG9mIGEgVGV4dCBub2RlIHdpdGhv
dXQKKyAgICAgICAgdGFraW5nIHRoZSBzaGFkb3cgcm9vdCBvciBzbG90cyBpbnRvIGFjY291bnQu
IEZvciBoaXQgdGVzdGluZywgd2UgYWx3YXlzIHdhbnQgdG8gdXNlIHRoZSAiZmxhdCB0cmVlIgor
ICAgICAgICBvciAiY29tcG9zZWQgdHJlZSIgKGltcHJlY2lzZWx5IGJ1dCBjbG9zZSBlbm91Z2gg
aW4gdGhpcyBjYXNlKS4KKworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IG1ha2luZyBIaXRUZXN0
UmVzdWx0Ojppbm5lckVsZW1lbnQgdXNlIHBhcmVudE5vZGVJbkNvbXBvc2VkVHJlZS4gQWxzbyBy
ZW5hbWVkIGl0IHRvCisgICAgICAgIEhpdFRlc3RSZXN1bHQ6OnRhcmdldEVsZW1lbnQgdG8gYmUg
Y29uc2lzdGVudCB3aXRoIEhpdFRlc3RSZXN1bHQ6OnRhcmdldE5vZGUuCisKKyAgICAgICAgVGVz
dHM6IGZhc3Qvc2hhZG93LWRvbS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQu
aHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpwcmVwYXJlTW91c2VFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzTWFpbkNvbnRlbnRGb3JQdXJwb3Nlc09m
QXV0b3BsYXkpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludCk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVudEZvcktleSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmhhbmRsZURyYWcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
YW5kbGVUb3VjaEV2ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojp0YXJnZXRFbGVtZW50KTogUmVuYW1l
ZCBmcm9tIGlubmVyRWxlbWVudC4KKyAgICAgICAgTm93IGZpbmRzIHRoZSBwYXJlbnQgZWxlbWVu
dCBpbiB0aGUgY29tcG9zZWQgdHJlZS4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6aW5uZXJOb2RlKToKKwogMjAx
Ni0xMS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVkaWEo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI2ZTk3NTFjZGM4NzQzNjRlZTNlODY2OTFmMjA3NWZiOTY2
Mzg2MjAuLjU1MDczOWY5Njk1NjAxZjIwMmQ1YmNlMjk3YmI0ZDljMDg4MTEyZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMS0xMCAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZpbmcgdGhlIGN1cnNvciBvbnRvIGEgc2xvdHRl
ZCBUZXh0IG5vZGUgY2xlYXJzIGhvdmVyIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5
MDQwNDcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoLVtX
ZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyIHBlcmZvcm1IaXRUZXN0QXRQb2ludDpdKToKKwog
MjAxNi0xMS0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIE1vdmUgU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNlSWRlbnRpZmllcigpIHRvIFNl
Y3VyaXR5T3JpZ2luRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDhmNTcyYzgzMTQxZWVhZWEyOTU5ZGVkOTZl
NzY4ZjhmNmYzZTlhOGEuLjUxNzdhMGMzYjk5MzAyMThiZTc4NWI1YTE4YWVhYWRjNjZhMjhjYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMS0xMCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZpbmcgdGhlIGN1cnNvciBvbnRvIGEgc2xv
dHRlZCBUZXh0IG5vZGUgY2xlYXJzIGhvdmVyIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI5MDQwNDcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3RBdExvY2F0aW9uKToKKwogMjAxNi0x
MS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVkaWEoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzc1ZjQxY2M2MzJjMDUxYjdjYTE4MTkwM2FhZmFj
MWE3Yzg3ZTljZi4uMDAwNGE0NWIwY2NjYTRhYWM1NDNjZmIwOGZmMDI5YjM4ODE1ZTNmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zMjgyLDcgKzMyODIsNyBAQCBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzIERvY3VtZW50OjpwcmVwYXJlTW91c2VFdmVudChjb25zdCBIaXRUZXN0
UmVxdWVzdCYgcgogICAgIHJlbmRlclZpZXcoKS0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQpOwog
CiAgICAgaWYgKCFyZXF1ZXN0LnJlYWRPbmx5KCkpCi0gICAgICAgIHVwZGF0ZUhvdmVyQWN0aXZl
U3RhdGUocmVxdWVzdCwgcmVzdWx0LmlubmVyRWxlbWVudCgpKTsKKyAgICAgICAgdXBkYXRlSG92
ZXJBY3RpdmVTdGF0ZShyZXF1ZXN0LCByZXN1bHQudGFyZ2V0RWxlbWVudCgpKTsKIAogICAgIHJl
dHVybiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzKGV2ZW50LCByZXN1bHQpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggOTY3MWI2ODdh
YzYwODFmZmVkMmQ3YzYwYmViNjUwYjhmNTc0MjY4NC4uNTMxMzE5MDUyODQ1MmRhMTBjOGI5ZGRl
MTAzYTdjNzYwZDViZGQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCkBAIC02NzYsNyArNjc2LDcgQEAgc3RhdGljIGJvb2wgaXNNYWluQ29udGVudEZv
clB1cnBvc2VzT2ZBdXRvcGxheShjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQogICAg
IC8vIEVsZW1lbnRzIHdoaWNoIGFyZSBvYnNjdXJlZCBieSBvdGhlciBlbGVtZW50cyBjYW5ub3Qg
YmUgbWFpbiBjb250ZW50LgogICAgIG1haW5SZW5kZXJWaWV3LmhpdFRlc3QocmVxdWVzdCwgcmVz
dWx0KTsKICAgICByZXN1bHQuc2V0VG9Ob25Vc2VyQWdlbnRTaGFkb3dBbmNlc3RvcigpOwotICAg
IEVsZW1lbnQqIGhpdEVsZW1lbnQgPSByZXN1bHQuaW5uZXJFbGVtZW50KCk7CisgICAgRWxlbWVu
dCogaGl0RWxlbWVudCA9IHJlc3VsdC50YXJnZXRFbGVtZW50KCk7CiAgICAgaWYgKGhpdEVsZW1l
bnQgIT0gJmVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCmluZGV4IGY1YzAwMmFkM2RlZjFjMWQ0OGQ0MTI4Mjk0MGYzNDIwMzQw
OTRjMjAuLjVhZThlMDQwZWNhNGFhNjVhN2M1ZGY2YmE0Mjg4MDNlZTk4ZjIxMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTg5Miw3ICs4OTIsOCBAQCBib29sIEV2ZW50
SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVu
dCkgY29uc3QKICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5kb3dUb0NvbnRlbnRz
KGV2ZW50LnBvc2l0aW9uKCkpKTsKICAgICByZW5kZXJWaWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJl
c3VsdCk7CiAgICAgRHJhZ1N0YXRlIHN0YXRlOwotICAgIHJldHVybiByZXN1bHQuaW5uZXJFbGVt
ZW50KCkgJiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2FibGVFbGVtZW50KCZtX2ZyYW1l
LCByZXN1bHQuaW5uZXJFbGVtZW50KCksIHJlc3VsdC5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZy
YW1lKCksIHN0YXRlKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0gcmVzdWx0LnRhcmdl
dEVsZW1lbnQoKTsKKyAgICByZXR1cm4gdGFyZ2V0RWxlbWVudCAmJiBwYWdlLT5kcmFnQ29udHJv
bGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHRhcmdldEVsZW1lbnQsIHJlc3VsdC5y
b3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCksIHN0YXRlKTsKIH0KIAogdm9pZCBFdmVudEhh
bmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpCkBAIC0xMTU5LDcgKzExNjAsNyBA
QCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50LCBIaXRUZQogICAgIEhpdFRlc3RSZXF1ZXN0IHJlcXVlc3QoaGl0
VHlwZSB8IEhpdFRlc3RSZXF1ZXN0OjpBbGxvd0NoaWxkRnJhbWVDb250ZW50KTsKICAgICByZW5k
ZXJWaWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CiAgICAgaWYgKCFyZXF1ZXN0LnJlYWRP
bmx5KCkpCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0
ZShyZXF1ZXN0LCByZXN1bHQuaW5uZXJFbGVtZW50KCkpOworICAgICAgICBtX2ZyYW1lLmRvY3Vt
ZW50KCktPnVwZGF0ZUhvdmVyQWN0aXZlU3RhdGUocmVxdWVzdCwgcmVzdWx0LnRhcmdldEVsZW1l
bnQoKSk7CiAKICAgICBpZiAocmVxdWVzdC5kaXNhbGxvd3NVc2VyQWdlbnRTaGFkb3dDb250ZW50
KCkpCiAgICAgICAgIHJlc3VsdC5zZXRUb05vblVzZXJBZ2VudFNoYWRvd0FuY2VzdG9yKCk7CkBA
IC0yNjg5LDcgKzI2OTAsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0
KHZpZXctPndpbmRvd1RvQ29udGVudHMoZXZlbnQucG9zaXRpb24oKSkpOwogICAgIHJlbmRlclZp
ZXctPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKIAotICAgIFJlZlB0cjxFbGVtZW50PiBlbGVt
ZW50ID0gcmVzdWx0LmlubmVyRWxlbWVudCgpOworICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50
ID0gcmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKICAgICBSZWZQdHI8Q29udGFpbmVyTm9kZT4gc2Ny
b2xsYWJsZUNvbnRhaW5lcjsKICAgICBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiBzY3JvbGxhYmxl
QXJlYTsKICAgICBib29sIGlzT3ZlcldpZGdldCA9IHJlc3VsdC5pc092ZXJXaWRnZXQoKTsKQEAg
LTI4NzUsNyArMjg3Niw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVu
dEZvcktleSgpCiAgICAgLy8gVXNlIHRoZSBmb2N1c2VkIG5vZGUgYXMgdGhlIHRhcmdldCBmb3Ig
aG92ZXIgYW5kIGFjdGl2ZS4KICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdChwb3NpdGlvbik7CiAg
ICAgcmVzdWx0LnNldElubmVyTm9kZSh0YXJnZXROb2RlKTsKLSAgICBkb2MtPnVwZGF0ZUhvdmVy
QWN0aXZlU3RhdGUoSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNh
bGxvd1VzZXJBZ2VudFNoYWRvd0NvbnRlbnQsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSk7CisgICAg
ZG9jLT51cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRU
ZXN0UmVxdWVzdDo6RGlzYWxsb3dVc2VyQWdlbnRTaGFkb3dDb250ZW50LCByZXN1bHQudGFyZ2V0
RWxlbWVudCgpKTsKIAogICAgIC8vIFRoZSBjb250ZXh0bWVudSBldmVudCBpcyBhIG1vdXNlIGV2
ZW50IGV2ZW4gd2hlbiBpbnZva2VkIHVzaW5nIHRoZSBrZXlib2FyZC4KICAgICAvLyBUaGlzIGlz
IHJlcXVpcmVkIGZvciB3ZWIgY29tcGF0aWJpbGl0eS4KQEAgLTI5OTcsNyArMjk5OCw3IEBAIHZv
aWQgRXZlbnRIYW5kbGVyOjpob3ZlclRpbWVyRmlyZWQoKQogICAgICAgICAgICAgSGl0VGVzdFJl
cXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6TW92ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNh
bGxvd1VzZXJBZ2VudFNoYWRvd0NvbnRlbnQpOwogICAgICAgICAgICAgSGl0VGVzdFJlc3VsdCBy
ZXN1bHQodmlldy0+d2luZG93VG9Db250ZW50cyhtX2xhc3RLbm93bk1vdXNlUG9zaXRpb24pKTsK
ICAgICAgICAgICAgIHJlbmRlclZpZXctPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKLSAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0ZShyZXF1ZXN0
LCByZXN1bHQuaW5uZXJFbGVtZW50KCkpOworICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgp
LT51cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKHJlcXVlc3QsIHJlc3VsdC50YXJnZXRFbGVtZW50KCkp
OwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMzQ0Miw3ICszNDQzLDcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZURyYWcoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZl
bnQsIENoZWNrRHIKICAgICAgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQobV9tb3VzZURvd25Qb3Mp
OwogICAgICAgICBtX2ZyYW1lLmNvbnRlbnRSZW5kZXJlcigpLT5oaXRUZXN0KHJlcXVlc3QsIHJl
c3VsdCk7CiAgICAgICAgIGlmIChtX2ZyYW1lLnBhZ2UoKSkKLSAgICAgICAgICAgIGRyYWdTdGF0
ZSgpLnNvdXJjZSA9IG1fZnJhbWUucGFnZSgpLT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVs
ZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSwgbV9tb3VzZURvd25Qb3MsIGRy
YWdTdGF0ZSgpKTsKKyAgICAgICAgICAgIGRyYWdTdGF0ZSgpLnNvdXJjZSA9IG1fZnJhbWUucGFn
ZSgpLT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC50
YXJnZXRFbGVtZW50KCksIG1fbW91c2VEb3duUG9zLCBkcmFnU3RhdGUoKSk7CiAgICAgICAgIAog
ICAgICAgICBpZiAoIWRyYWdTdGF0ZSgpLnNvdXJjZSkKICAgICAgICAgICAgIG1fbW91c2VEb3du
TWF5U3RhcnREcmFnID0gZmFsc2U7IC8vIG5vIGVsZW1lbnQgaXMgZHJhZ2dhYmxlCkBAIC0zOTE1
LDE0ICszOTE2LDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KGNvbnN0
IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBzaG91
bGQgdXNlIEVsZW1lbnQqIGluc3RlYWQgb2YgTm9kZSouCi0gICAgICAgICAgICBOb2RlKiBub2Rl
ID0gcmVzdWx0LmlubmVyRWxlbWVudCgpOwotICAgICAgICAgICAgQVNTRVJUKG5vZGUpOworICAg
ICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHJlc3VsdC50YXJnZXRFbGVtZW50KCk7CisgICAg
ICAgICAgICBBU1NFUlQoZWxlbWVudCk7CiAKLSAgICAgICAgICAgIGlmIChub2RlICYmIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFuZGxlVG91Y2hFdmVudChtX2ZyYW1lLCAqbm9kZSkpCisg
ICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmhhbmRs
ZVRvdWNoRXZlbnQobV9mcmFtZSwgKmVsZW1lbnQpKQogICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgICAgICAgICBEb2N1bWVudCYgZG9jID0gbm9kZS0+ZG9jdW1lbnQoKTsKKyAg
ICAgICAgICAgIERvY3VtZW50JiBkb2MgPSBlbGVtZW50LT5kb2N1bWVudCgpOwogICAgICAgICAg
ICAgLy8gUmVjb3JkIHRoZSBvcmlnaW5hdGluZyB0b3VjaCBkb2N1bWVudCBldmVuIGlmIGl0IGRv
ZXMgbm90IGhhdmUgYSB0b3VjaCBsaXN0ZW5lci4KICAgICAgICAgICAgIGlmIChmcmVzaFRvdWNo
RXZlbnRzKSB7CiAgICAgICAgICAgICAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnREb2N1bWVu
dCA9ICZkb2M7CkBAIC0zOTMwLDggKzM5MzAsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxl
VG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKCFkb2MuaGFzVG91Y2hFdmVudEhhbmRsZXJzKCkpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRh
cmdldHMuc2V0KHRvdWNoUG9pbnRUYXJnZXRLZXksIG5vZGUpOwotICAgICAgICAgICAgdG91Y2hU
YXJnZXQgPSBub2RlOworICAgICAgICAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnRUYXJnZXRz
LnNldCh0b3VjaFBvaW50VGFyZ2V0S2V5LCBlbGVtZW50KTsKKyAgICAgICAgICAgIHRvdWNoVGFy
Z2V0ID0gZWxlbWVudDsKICAgICAgICAgfSBlbHNlIGlmIChwb2ludFN0YXRlID09IFBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCB8fCBwb2ludFN0YXRlID09IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hDYW5jZWxsZWQpIHsKICAgICAgICAgICAgIC8vIE5vIG5lZWQgdG8gcGVyZm9y
bSBhIGhpdC10ZXN0IHNpbmNlIHdlIG9ubHkgbmVlZCB0byB1bnNldCA6aG92ZXIgYW5kIDphY3Rp
dmUgc3RhdGVzLgogICAgICAgICAgICAgaWYgKCFzaG91bGRHZXN0dXJlc1RyaWdnZXJBY3RpdmUo
KSAmJiBhbGxUb3VjaFJlbGVhc2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCmluZGV4IGJiYzY4YWJmM2ZhYjMyZTQ3NzJhMjU0Njk4OTQ1MDRjZmJlNTAwMzAu
LjVlZjYzODFmNjg2YTU5YzE0ZGM2N2YxODA5OTNlMzFmMWYwMzYwNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTc2NCwxNCArNzY0LDEzIEBAIE5v
ZGUqIEhpdFRlc3RSZXN1bHQ6OnRhcmdldE5vZGUoKSBjb25zdAogICAgIHJldHVybiBub2RlOwog
fQogCi1FbGVtZW50KiBIaXRUZXN0UmVzdWx0Ojppbm5lckVsZW1lbnQoKSBjb25zdAorRWxlbWVu
dCogSGl0VGVzdFJlc3VsdDo6dGFyZ2V0RWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgTm9kZSogbm9k
ZSA9IG1faW5uZXJOb2RlLmdldCgpOwotICAgIGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgaWYgKGlzPEVsZW1lbnQ+KCpub2RlKSkKLSAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVsZW1lbnQ+KG5vZGUpOwotICAgIHJldHVybiBub2RlLT5wYXJlbnRFbGVtZW50KCk7Cisg
ICAgZm9yIChOb2RlKiBub2RlID0gbV9pbm5lck5vZGUuZ2V0KCk7IG5vZGU7IG5vZGUgPSBub2Rl
LT5wYXJlbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChpczxFbGVtZW50Pigqbm9k
ZSkpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obm9kZSk7CisgICAgfQor
ICAgIHJldHVybiBudWxscHRyOwogfQogCiBFbGVtZW50KiBIaXRUZXN0UmVzdWx0Ojppbm5lck5v
blNoYXJlZEVsZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgKaW5kZXggYjAzNzZmNWQ1MDc0MTk2MTRlYTk5MzhmOGZhMGQ4MDU0ZWY3YWUzOC4uNGE5
YmVlMTFiOGNjMDZhN2RjNDA5NzNlMmNkN2ZhNGUwYzI4NDMxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC01OSw3ICs1OSw2IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0JiBvcGVyYXRvcj0oY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogCiAgICAgTm9kZSogaW5uZXJOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pbm5lck5vZGUu
Z2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBFbGVtZW50KiBpbm5lckVsZW1lbnQoKSBjb25z
dDsKICAgICBOb2RlKiBpbm5lck5vblNoYXJlZE5vZGUoKSBjb25zdCB7IHJldHVybiBtX2lubmVy
Tm9uU2hhcmVkTm9kZS5nZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGlubmVy
Tm9uU2hhcmVkRWxlbWVudCgpIGNvbnN0OwogICAgIEVsZW1lbnQqIFVSTEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX2lubmVyVVJMRWxlbWVudC5nZXQoKTsgfQpAQCAtMTUxLDYgKzE1MCw3IEBA
IHB1YmxpYzoKICAgICBWZWN0b3I8U3RyaW5nPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMoKSBjb25z
dDsKIAogICAgIE5vZGUqIHRhcmdldE5vZGUoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBF
bGVtZW50KiB0YXJnZXRFbGVtZW50KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgTm9kZVNldCYg
bXV0YWJsZVJlY3RCYXNlZFRlc3RSZXN1bHQoKTsgLy8gU2VlIGFib3ZlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVy
Lm1tCmluZGV4IGFkOTgzNTYwMTc3MjU5OTE0ZmE4NDFjNjNlNTMwNGZjY2VjMzgwZjcuLjFmNGE1
MGRlYjZiYTg1MGU0N2FmM2M4MmI1ZjljMmMzMTI5YTllOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0K
QEAgLTE1MCw3ICsxNTAsNyBAQCAtICh2b2lkKXBlcmZvcm1IaXRUZXN0QXRQb2ludDooTlNQb2lu
dCl2aWV3UG9pbnQKICAgICBfaGl0VGVzdFJlc3VsdCA9IGNvcmVGcmFtZS0+ZXZlbnRIYW5kbGVy
KCkuaGl0VGVzdFJlc3VsdEF0UG9pbnQoSW50UG9pbnQodmlld1BvaW50KSk7CiAgICAgY29yZUZy
YW1lLT5ldmVudEhhbmRsZXIoKS5zZXRJbW1lZGlhdGVBY3Rpb25TdGFnZShJbW1lZGlhdGVBY3Rp
b25TdGFnZTo6UGVyZm9ybWVkSGl0VGVzdCk7CiAKLSAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9
IF9oaXRUZXN0UmVzdWx0LmlubmVyRWxlbWVudCgpKQorICAgIGlmIChFbGVtZW50KiBlbGVtZW50
ID0gX2hpdFRlc3RSZXN1bHQudGFyZ2V0RWxlbWVudCgpKQogICAgICAgICBfY29udGVudFByZXZl
bnRzRGVmYXVsdCA9IGVsZW1lbnQtPmRpc3BhdGNoTW91c2VGb3JjZVdpbGxCZWdpbigpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
ZTRiZDkxMWEyOGEzMWI5ZjZmYzA1MGZhNzM4Y2M1MjA3ZTBmZTkxNC4uNmYwM2EyODI3ZDdiZWE0
NTg3ZTFkNzk1Njc0NTA5YzQ1Njk2MDM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTI4MSw3ICs1MjgxLDcgQEAgdm9pZCBXZWJQYWdl
OjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgICAgICAgICAgSGl0VGVz
dFJlc3VsdCBoaXRUZXN0UmVzdWx0KHBsdWdJblJlY3RSZWxhdGl2ZVRvVG9wRG9jdW1lbnQuY2Vu
dGVyKCkpOwogICAgICAgICAgICAgbWFpblJlbmRlclZpZXcuaGl0VGVzdChyZXF1ZXN0LCBoaXRU
ZXN0UmVzdWx0KTsKIAotICAgICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IGhpdFRlc3RSZXN1
bHQuaW5uZXJFbGVtZW50KCk7CisgICAgICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gaGl0VGVz
dFJlc3VsdC50YXJnZXRFbGVtZW50KCk7CiAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCBjYTg3ZTYzNGMyMzU5YTdkYWFmOGJl
ZjAxOGEwMDY3Yzc1OWFiYjIxLi5hMmEwYmY0NDk4MWNmZDI2MTY5OTExN2Y2YWVjOGM2ZjAyZWNj
NTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
YlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCkBAIC0xMDAxLDcgKzEwMDEsNyBAQCB2b2lkIFdlYlBhZ2U6OnBlcmZvcm1J
bW1lZGlhdGVBY3Rpb25IaXRUZXN0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0
aQogICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdCA9IG1haW5GcmFtZS5ldmVudEhhbmRs
ZXIoKS5oaXRUZXN0UmVzdWx0QXRQb2ludChsb2NhdGlvbkluQ29udGVudENvb3JkaW5hdGVzKTsK
IAogICAgIGJvb2wgaW1tZWRpYXRlQWN0aW9uSGl0VGVzdFByZXZlbnRzRGVmYXVsdCA9IGZhbHNl
OwotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBoaXRUZXN0UmVzdWx0LmlubmVyRWxlbWVudCgpOwor
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBoaXRUZXN0UmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKIAog
ICAgIG1haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5zZXRJbW1lZGlhdGVBY3Rpb25TdGFnZShJbW1l
ZGlhdGVBY3Rpb25TdGFnZTo6UGVyZm9ybWVkSGl0VGVzdCk7CiAgICAgaWYgKGVsZW1lbnQpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMGRjM2Q3MjJjNmFmMTQyZGYwNTQ0NWY2ZDFjMDMyYTA0NmJhYTVkYy4uMThlNDdhNmRl
Y2ZlNWIwNTcxY2E4YjlmODVkNzJhY2Q4NmY0OTE2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDE2LTExLTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1v
dmluZyB0aGUgY3Vyc29yIG9udG8gYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3Rh
dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAw
MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdHdvIHJlZmVyZW5jZSB0ZXN0cyBm
b3IgYWN0aXZhdGluZyBhbmQgaG92ZXJpbmcgb3ZlciBhIFRleHQgbm9kZS4KKyAgICAgICAgVGhl
IHRleHQgbm9kZSBzaG91bGQgYWN0aXZhdGUgOmhvdmVyIGFuZCA6YWN0aXZhdGUgcnVsZXMgaW4g
dGhlIHNoYWRvdyB0cmVlIHJlc3BlY3RpdmVseS4KKworICAgICAgICAqIGZhc3Qvc2hhZG93LWRv
bS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1j
b250ZW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2hhZG93LWRvbS9o
b3Zlci1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sOiBBZGRlZC4KKwogMjAxNi0xMS0xMCAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJl
YW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVkaWEoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250
ZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUt
b3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzA0ZDI0YTY5
NTZiOWE3MzRlOWJiODlhZDU5MDc4YjlmYWNjZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50LWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBieSAxMDBweCBn
cmVlbiBib3ggYmVsb3cuPC9wPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9hY3RpdmF0ZS1vdmVyLXNsb3R0
ZWQtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92
ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJhNTJkODJjYmYyZjQxMDExZTIy
NjI0ODBjNTI0MThkNGMxNDc0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2hhZG93LWRvbS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sCkBAIC0wLDAgKzEs
NDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK215LWhvc3Qg
eworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEw
MHB4OworICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgMTAwcHggYnkgMTAwcHggZ3Jl
ZW4gYm94IGJlbG93LjwvcD4KKzxteS1ob3N0Pk1vdXNlIGRvd24gb3ZlciB0aGlzIHRleHQ8L215
LWhvc3Q+CisKKzxzY3JpcHQ+Citjb25zdCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
bXktaG9zdCcpOworaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSkuaW5uZXJIVE1M
ID0gYAorPGE+PHNwYW4+PHNsb3Q+PC9zbG90Pjwvc3Bhbj48L2E+Cis8c3R5bGU+CithIHsKKyAg
ICBkaXNwbGF5OiBibG9jazsKKyAgICB3aWR0aDogODBweDsKKyAgICBoZWlnaHQ6IDgwcHg7Cisg
ICAgcGFkZGluZzogMTBweDsKKyAgICBiYWNrZ3JvdW5kOiByZWQ7Cit9CithOmFjdGl2ZSB7Cisg
ICAgYmFja2dyb3VuZDogZ3JlZW47CisgICAgY29sb3I6IGdyZWVuOworfQorc3BhbiB7CisgICAg
YmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPmA7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIHsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhob3N0Lm9mZnNldExlZnQgKyAxNSwg
aG9zdC5vZmZzZXRUb3AgKyAxNSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Cit9CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250ZW50LWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzA0ZDI0YTY5NTZiOWE3MzRlOWJiODlhZDU5MDc4Yjlm
YWNjZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hv
dmVyLW92ZXItc2xvdHRlZC1jb250ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91
IHNlZSBhIHNpbmdsZSAxMDBweCBieSAxMDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgorICAgIDxk
aXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhZG93LWRvbS9ob3Zlci1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjNkYTJjZjliNDg2OWM3N2UyNTAxYjc2MGE4OWRkZGUzYzY4NDAwZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9ob3Zlci1vdmVyLXNsb3R0ZWQtY29u
dGVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzdHlsZT4KK215LWhvc3QgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiAx
MDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5n
bGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKzxteS1ob3N0PkhvdmVyIG92
ZXIgdGhpcyB0ZXh0PC9teS1ob3N0PgorCis8c2NyaXB0PgorY29uc3QgaG9zdCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ215LWhvc3QnKTsKK2hvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xv
c2VkJ30pLmlubmVySFRNTCA9IGAKKzxkaXYgaWQ9ImNvbnRhaW5lciI+PHNwYW4+PHNsb3Q+PC9z
bG90Pjwvc3Bhbj48L2Rpdj4KKzxzdHlsZT4KKyNjb250YWluZXIgeworICAgIHdpZHRoOiA4MHB4
OworICAgIGhlaWdodDogODBweDsKKyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJhY2tncm91bmQ6
IHJlZDsKK30KKyNjb250YWluZXI6aG92ZXIgeworICAgIGJhY2tncm91bmQ6IGdyZWVuOworICAg
IGNvbG9yOiBncmVlbjsKK30KK3NwYW4geworICAgIGJhY2tncm91bmQ6IGdyZWVuOworfQorPC9z
dHlsZT5gOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKGhvc3Qub2Zmc2V0TGVmdCArIDE1LCBob3N0Lm9mZnNldFRvcCArIDE1KTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294439</attachid>
            <date>2016-11-10 16:32:45 -0800</date>
            <delta_ts>2016-11-11 16:16:30 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-164002-20161110162833.patch</filename>
            <type>text/plain</type>
            <size>19947</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE5ZmJjZmI4M2UyOTBi
MGQ5OGI1OTFmODZmZWEwODJjYjgwZmQwYS4uM2YyN2VlMDFjMGJmZWZjMGI4NDRlMzk1ZTVjMDcy
MWRkM2Q5ZGY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTExLTEwICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmluZyB0aGUgY3Vyc29y
IG9udG8gYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IEhpdFRlc3RSZXN1bHQ6OmlubmVy
RWxlbWVudCByZXR1cm5pbmcgdGhlIHBhcmVudCBlbGVtZW50IG9mIGEgVGV4dCBub2RlIHdpdGhv
dXQKKyAgICAgICAgdGFraW5nIHRoZSBzaGFkb3cgcm9vdCBvciBzbG90cyBpbnRvIGFjY291bnQu
IEZvciBoaXQgdGVzdGluZywgd2UgYWx3YXlzIHdhbnQgdG8gdXNlIHRoZSAiZmxhdCB0cmVlIgor
ICAgICAgICBvciAiY29tcG9zZWQgdHJlZSIgKGltcHJlY2lzZWx5IGJ1dCBjbG9zZSBlbm91Z2gg
aW4gdGhpcyBjYXNlKS4KKworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IG1ha2luZyBIaXRUZXN0
UmVzdWx0Ojppbm5lckVsZW1lbnQgdXNlIHBhcmVudE5vZGVJbkNvbXBvc2VkVHJlZS4gQWxzbyBy
ZW5hbWVkIGl0IHRvCisgICAgICAgIEhpdFRlc3RSZXN1bHQ6OnRhcmdldEVsZW1lbnQgdG8gYmUg
Y29uc2lzdGVudCB3aXRoIEhpdFRlc3RSZXN1bHQ6OnRhcmdldE5vZGUuCisKKyAgICAgICAgVGVz
dHM6IGZhc3Qvc2hhZG93LWRvbS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQu
aHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpwcmVwYXJlTW91c2VFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzTWFpbkNvbnRlbnRGb3JQdXJwb3Nlc09m
QXV0b3BsYXkpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludCk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVudEZvcktleSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmhhbmRsZURyYWcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
YW5kbGVUb3VjaEV2ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojp0YXJnZXRFbGVtZW50KTogUmVuYW1l
ZCBmcm9tIGlubmVyRWxlbWVudC4KKyAgICAgICAgTm93IGZpbmRzIHRoZSBwYXJlbnQgZWxlbWVu
dCBpbiB0aGUgY29tcG9zZWQgdHJlZS4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6aW5uZXJOb2RlKToKKwogMjAx
Ni0xMS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVkaWEo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI2ZTk3NTFjZGM4NzQzNjRlZTNlODY2OTFmMjA3NWZiOTY2
Mzg2MjAuLjU1MDczOWY5Njk1NjAxZjIwMmQ1YmNlMjk3YmI0ZDljMDg4MTEyZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMS0xMCAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZpbmcgdGhlIGN1cnNvciBvbnRvIGEgc2xvdHRl
ZCBUZXh0IG5vZGUgY2xlYXJzIGhvdmVyIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5
MDQwNDcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoLVtX
ZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyIHBlcmZvcm1IaXRUZXN0QXRQb2ludDpdKToKKwog
MjAxNi0xMS0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIE1vdmUgU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNlSWRlbnRpZmllcigpIHRvIFNl
Y3VyaXR5T3JpZ2luRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDhmNTcyYzgzMTQxZWVhZWEyOTU5ZGVkOTZl
NzY4ZjhmNmYzZTlhOGEuLjUxNzdhMGMzYjk5MzAyMThiZTc4NWI1YTE4YWVhYWRjNjZhMjhjYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMS0xMCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZpbmcgdGhlIGN1cnNvciBvbnRvIGEgc2xv
dHRlZCBUZXh0IG5vZGUgY2xlYXJzIGhvdmVyIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI5MDQwNDcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3RBdExvY2F0aW9uKToKKwogMjAxNi0x
MS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVkaWEoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzc1ZjQxY2M2MzJjMDUxYjdjYTE4MTkwM2FhZmFj
MWE3Yzg3ZTljZi4uMDAwNGE0NWIwY2NjYTRhYWM1NDNjZmIwOGZmMDI5YjM4ODE1ZTNmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zMjgyLDcgKzMyODIsNyBAQCBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzIERvY3VtZW50OjpwcmVwYXJlTW91c2VFdmVudChjb25zdCBIaXRUZXN0
UmVxdWVzdCYgcgogICAgIHJlbmRlclZpZXcoKS0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQpOwog
CiAgICAgaWYgKCFyZXF1ZXN0LnJlYWRPbmx5KCkpCi0gICAgICAgIHVwZGF0ZUhvdmVyQWN0aXZl
U3RhdGUocmVxdWVzdCwgcmVzdWx0LmlubmVyRWxlbWVudCgpKTsKKyAgICAgICAgdXBkYXRlSG92
ZXJBY3RpdmVTdGF0ZShyZXF1ZXN0LCByZXN1bHQudGFyZ2V0RWxlbWVudCgpKTsKIAogICAgIHJl
dHVybiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzKGV2ZW50LCByZXN1bHQpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggOTY3MWI2ODdh
YzYwODFmZmVkMmQ3YzYwYmViNjUwYjhmNTc0MjY4NC4uNTMxMzE5MDUyODQ1MmRhMTBjOGI5ZGRl
MTAzYTdjNzYwZDViZGQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCkBAIC02NzYsNyArNjc2LDcgQEAgc3RhdGljIGJvb2wgaXNNYWluQ29udGVudEZv
clB1cnBvc2VzT2ZBdXRvcGxheShjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQogICAg
IC8vIEVsZW1lbnRzIHdoaWNoIGFyZSBvYnNjdXJlZCBieSBvdGhlciBlbGVtZW50cyBjYW5ub3Qg
YmUgbWFpbiBjb250ZW50LgogICAgIG1haW5SZW5kZXJWaWV3LmhpdFRlc3QocmVxdWVzdCwgcmVz
dWx0KTsKICAgICByZXN1bHQuc2V0VG9Ob25Vc2VyQWdlbnRTaGFkb3dBbmNlc3RvcigpOwotICAg
IEVsZW1lbnQqIGhpdEVsZW1lbnQgPSByZXN1bHQuaW5uZXJFbGVtZW50KCk7CisgICAgRWxlbWVu
dCogaGl0RWxlbWVudCA9IHJlc3VsdC50YXJnZXRFbGVtZW50KCk7CiAgICAgaWYgKGhpdEVsZW1l
bnQgIT0gJmVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCmluZGV4IGY1YzAwMmFkM2RlZjFjMWQ0OGQ0MTI4Mjk0MGYzNDIwMzQw
OTRjMjAuLjVhZThlMDQwZWNhNGFhNjVhN2M1ZGY2YmE0Mjg4MDNlZTk4ZjIxMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTg5Miw3ICs4OTIsOCBAQCBib29sIEV2ZW50
SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVu
dCkgY29uc3QKICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5kb3dUb0NvbnRlbnRz
KGV2ZW50LnBvc2l0aW9uKCkpKTsKICAgICByZW5kZXJWaWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJl
c3VsdCk7CiAgICAgRHJhZ1N0YXRlIHN0YXRlOwotICAgIHJldHVybiByZXN1bHQuaW5uZXJFbGVt
ZW50KCkgJiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2FibGVFbGVtZW50KCZtX2ZyYW1l
LCByZXN1bHQuaW5uZXJFbGVtZW50KCksIHJlc3VsdC5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZy
YW1lKCksIHN0YXRlKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0gcmVzdWx0LnRhcmdl
dEVsZW1lbnQoKTsKKyAgICByZXR1cm4gdGFyZ2V0RWxlbWVudCAmJiBwYWdlLT5kcmFnQ29udHJv
bGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHRhcmdldEVsZW1lbnQsIHJlc3VsdC5y
b3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCksIHN0YXRlKTsKIH0KIAogdm9pZCBFdmVudEhh
bmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpCkBAIC0xMTU5LDcgKzExNjAsNyBA
QCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50LCBIaXRUZQogICAgIEhpdFRlc3RSZXF1ZXN0IHJlcXVlc3QoaGl0
VHlwZSB8IEhpdFRlc3RSZXF1ZXN0OjpBbGxvd0NoaWxkRnJhbWVDb250ZW50KTsKICAgICByZW5k
ZXJWaWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CiAgICAgaWYgKCFyZXF1ZXN0LnJlYWRP
bmx5KCkpCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0
ZShyZXF1ZXN0LCByZXN1bHQuaW5uZXJFbGVtZW50KCkpOworICAgICAgICBtX2ZyYW1lLmRvY3Vt
ZW50KCktPnVwZGF0ZUhvdmVyQWN0aXZlU3RhdGUocmVxdWVzdCwgcmVzdWx0LnRhcmdldEVsZW1l
bnQoKSk7CiAKICAgICBpZiAocmVxdWVzdC5kaXNhbGxvd3NVc2VyQWdlbnRTaGFkb3dDb250ZW50
KCkpCiAgICAgICAgIHJlc3VsdC5zZXRUb05vblVzZXJBZ2VudFNoYWRvd0FuY2VzdG9yKCk7CkBA
IC0yNjg5LDcgKzI2OTAsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0
KHZpZXctPndpbmRvd1RvQ29udGVudHMoZXZlbnQucG9zaXRpb24oKSkpOwogICAgIHJlbmRlclZp
ZXctPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKIAotICAgIFJlZlB0cjxFbGVtZW50PiBlbGVt
ZW50ID0gcmVzdWx0LmlubmVyRWxlbWVudCgpOworICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50
ID0gcmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKICAgICBSZWZQdHI8Q29udGFpbmVyTm9kZT4gc2Ny
b2xsYWJsZUNvbnRhaW5lcjsKICAgICBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiBzY3JvbGxhYmxl
QXJlYTsKICAgICBib29sIGlzT3ZlcldpZGdldCA9IHJlc3VsdC5pc092ZXJXaWRnZXQoKTsKQEAg
LTI4NzUsNyArMjg3Niw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVu
dEZvcktleSgpCiAgICAgLy8gVXNlIHRoZSBmb2N1c2VkIG5vZGUgYXMgdGhlIHRhcmdldCBmb3Ig
aG92ZXIgYW5kIGFjdGl2ZS4KICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdChwb3NpdGlvbik7CiAg
ICAgcmVzdWx0LnNldElubmVyTm9kZSh0YXJnZXROb2RlKTsKLSAgICBkb2MtPnVwZGF0ZUhvdmVy
QWN0aXZlU3RhdGUoSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNh
bGxvd1VzZXJBZ2VudFNoYWRvd0NvbnRlbnQsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSk7CisgICAg
ZG9jLT51cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRU
ZXN0UmVxdWVzdDo6RGlzYWxsb3dVc2VyQWdlbnRTaGFkb3dDb250ZW50LCByZXN1bHQudGFyZ2V0
RWxlbWVudCgpKTsKIAogICAgIC8vIFRoZSBjb250ZXh0bWVudSBldmVudCBpcyBhIG1vdXNlIGV2
ZW50IGV2ZW4gd2hlbiBpbnZva2VkIHVzaW5nIHRoZSBrZXlib2FyZC4KICAgICAvLyBUaGlzIGlz
IHJlcXVpcmVkIGZvciB3ZWIgY29tcGF0aWJpbGl0eS4KQEAgLTI5OTcsNyArMjk5OCw3IEBAIHZv
aWQgRXZlbnRIYW5kbGVyOjpob3ZlclRpbWVyRmlyZWQoKQogICAgICAgICAgICAgSGl0VGVzdFJl
cXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6TW92ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNh
bGxvd1VzZXJBZ2VudFNoYWRvd0NvbnRlbnQpOwogICAgICAgICAgICAgSGl0VGVzdFJlc3VsdCBy
ZXN1bHQodmlldy0+d2luZG93VG9Db250ZW50cyhtX2xhc3RLbm93bk1vdXNlUG9zaXRpb24pKTsK
ICAgICAgICAgICAgIHJlbmRlclZpZXctPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKLSAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0ZShyZXF1ZXN0
LCByZXN1bHQuaW5uZXJFbGVtZW50KCkpOworICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgp
LT51cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKHJlcXVlc3QsIHJlc3VsdC50YXJnZXRFbGVtZW50KCkp
OwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMzQ0Miw3ICszNDQzLDcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZURyYWcoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZl
bnQsIENoZWNrRHIKICAgICAgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQobV9tb3VzZURvd25Qb3Mp
OwogICAgICAgICBtX2ZyYW1lLmNvbnRlbnRSZW5kZXJlcigpLT5oaXRUZXN0KHJlcXVlc3QsIHJl
c3VsdCk7CiAgICAgICAgIGlmIChtX2ZyYW1lLnBhZ2UoKSkKLSAgICAgICAgICAgIGRyYWdTdGF0
ZSgpLnNvdXJjZSA9IG1fZnJhbWUucGFnZSgpLT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVs
ZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSwgbV9tb3VzZURvd25Qb3MsIGRy
YWdTdGF0ZSgpKTsKKyAgICAgICAgICAgIGRyYWdTdGF0ZSgpLnNvdXJjZSA9IG1fZnJhbWUucGFn
ZSgpLT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC50
YXJnZXRFbGVtZW50KCksIG1fbW91c2VEb3duUG9zLCBkcmFnU3RhdGUoKSk7CiAgICAgICAgIAog
ICAgICAgICBpZiAoIWRyYWdTdGF0ZSgpLnNvdXJjZSkKICAgICAgICAgICAgIG1fbW91c2VEb3du
TWF5U3RhcnREcmFnID0gZmFsc2U7IC8vIG5vIGVsZW1lbnQgaXMgZHJhZ2dhYmxlCkBAIC0zOTE1
LDE0ICszOTE2LDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KGNvbnN0
IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBzaG91
bGQgdXNlIEVsZW1lbnQqIGluc3RlYWQgb2YgTm9kZSouCi0gICAgICAgICAgICBOb2RlKiBub2Rl
ID0gcmVzdWx0LmlubmVyRWxlbWVudCgpOwotICAgICAgICAgICAgQVNTRVJUKG5vZGUpOworICAg
ICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHJlc3VsdC50YXJnZXRFbGVtZW50KCk7CisgICAg
ICAgICAgICBBU1NFUlQoZWxlbWVudCk7CiAKLSAgICAgICAgICAgIGlmIChub2RlICYmIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFuZGxlVG91Y2hFdmVudChtX2ZyYW1lLCAqbm9kZSkpCisg
ICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmhhbmRs
ZVRvdWNoRXZlbnQobV9mcmFtZSwgKmVsZW1lbnQpKQogICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgICAgICAgICBEb2N1bWVudCYgZG9jID0gbm9kZS0+ZG9jdW1lbnQoKTsKKyAg
ICAgICAgICAgIERvY3VtZW50JiBkb2MgPSBlbGVtZW50LT5kb2N1bWVudCgpOwogICAgICAgICAg
ICAgLy8gUmVjb3JkIHRoZSBvcmlnaW5hdGluZyB0b3VjaCBkb2N1bWVudCBldmVuIGlmIGl0IGRv
ZXMgbm90IGhhdmUgYSB0b3VjaCBsaXN0ZW5lci4KICAgICAgICAgICAgIGlmIChmcmVzaFRvdWNo
RXZlbnRzKSB7CiAgICAgICAgICAgICAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnREb2N1bWVu
dCA9ICZkb2M7CkBAIC0zOTMwLDggKzM5MzAsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxl
VG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKCFkb2MuaGFzVG91Y2hFdmVudEhhbmRsZXJzKCkpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRh
cmdldHMuc2V0KHRvdWNoUG9pbnRUYXJnZXRLZXksIG5vZGUpOwotICAgICAgICAgICAgdG91Y2hU
YXJnZXQgPSBub2RlOworICAgICAgICAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnRUYXJnZXRz
LnNldCh0b3VjaFBvaW50VGFyZ2V0S2V5LCBlbGVtZW50KTsKKyAgICAgICAgICAgIHRvdWNoVGFy
Z2V0ID0gZWxlbWVudDsKICAgICAgICAgfSBlbHNlIGlmIChwb2ludFN0YXRlID09IFBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCB8fCBwb2ludFN0YXRlID09IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hDYW5jZWxsZWQpIHsKICAgICAgICAgICAgIC8vIE5vIG5lZWQgdG8gcGVyZm9y
bSBhIGhpdC10ZXN0IHNpbmNlIHdlIG9ubHkgbmVlZCB0byB1bnNldCA6aG92ZXIgYW5kIDphY3Rp
dmUgc3RhdGVzLgogICAgICAgICAgICAgaWYgKCFzaG91bGRHZXN0dXJlc1RyaWdnZXJBY3RpdmUo
KSAmJiBhbGxUb3VjaFJlbGVhc2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCmluZGV4IGJiYzY4YWJmM2ZhYjMyZTQ3NzJhMjU0Njk4OTQ1MDRjZmJlNTAwMzAu
LjVlZjYzODFmNjg2YTU5YzE0ZGM2N2YxODA5OTNlMzFmMWYwMzYwNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTc2NCwxNCArNzY0LDEzIEBAIE5v
ZGUqIEhpdFRlc3RSZXN1bHQ6OnRhcmdldE5vZGUoKSBjb25zdAogICAgIHJldHVybiBub2RlOwog
fQogCi1FbGVtZW50KiBIaXRUZXN0UmVzdWx0Ojppbm5lckVsZW1lbnQoKSBjb25zdAorRWxlbWVu
dCogSGl0VGVzdFJlc3VsdDo6dGFyZ2V0RWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgTm9kZSogbm9k
ZSA9IG1faW5uZXJOb2RlLmdldCgpOwotICAgIGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgaWYgKGlzPEVsZW1lbnQ+KCpub2RlKSkKLSAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVsZW1lbnQ+KG5vZGUpOwotICAgIHJldHVybiBub2RlLT5wYXJlbnRFbGVtZW50KCk7Cisg
ICAgZm9yIChOb2RlKiBub2RlID0gbV9pbm5lck5vZGUuZ2V0KCk7IG5vZGU7IG5vZGUgPSBub2Rl
LT5wYXJlbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChpczxFbGVtZW50Pigqbm9k
ZSkpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obm9kZSk7CisgICAgfQor
ICAgIHJldHVybiBudWxscHRyOwogfQogCiBFbGVtZW50KiBIaXRUZXN0UmVzdWx0Ojppbm5lck5v
blNoYXJlZEVsZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgKaW5kZXggYjAzNzZmNWQ1MDc0MTk2MTRlYTk5MzhmOGZhMGQ4MDU0ZWY3YWUzOC4uNGE5
YmVlMTFiOGNjMDZhN2RjNDA5NzNlMmNkN2ZhNGUwYzI4NDMxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC01OSw3ICs1OSw2IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0JiBvcGVyYXRvcj0oY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogCiAgICAgTm9kZSogaW5uZXJOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pbm5lck5vZGUu
Z2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBFbGVtZW50KiBpbm5lckVsZW1lbnQoKSBjb25z
dDsKICAgICBOb2RlKiBpbm5lck5vblNoYXJlZE5vZGUoKSBjb25zdCB7IHJldHVybiBtX2lubmVy
Tm9uU2hhcmVkTm9kZS5nZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGlubmVy
Tm9uU2hhcmVkRWxlbWVudCgpIGNvbnN0OwogICAgIEVsZW1lbnQqIFVSTEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX2lubmVyVVJMRWxlbWVudC5nZXQoKTsgfQpAQCAtMTUxLDYgKzE1MCw3IEBA
IHB1YmxpYzoKICAgICBWZWN0b3I8U3RyaW5nPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMoKSBjb25z
dDsKIAogICAgIE5vZGUqIHRhcmdldE5vZGUoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBF
bGVtZW50KiB0YXJnZXRFbGVtZW50KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgTm9kZVNldCYg
bXV0YWJsZVJlY3RCYXNlZFRlc3RSZXN1bHQoKTsgLy8gU2VlIGFib3ZlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVy
Lm1tCmluZGV4IGFkOTgzNTYwMTc3MjU5OTE0ZmE4NDFjNjNlNTMwNGZjY2VjMzgwZjcuLjFmNGE1
MGRlYjZiYTg1MGU0N2FmM2M4MmI1ZjljMmMzMTI5YTllOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0K
QEAgLTE1MCw3ICsxNTAsNyBAQCAtICh2b2lkKXBlcmZvcm1IaXRUZXN0QXRQb2ludDooTlNQb2lu
dCl2aWV3UG9pbnQKICAgICBfaGl0VGVzdFJlc3VsdCA9IGNvcmVGcmFtZS0+ZXZlbnRIYW5kbGVy
KCkuaGl0VGVzdFJlc3VsdEF0UG9pbnQoSW50UG9pbnQodmlld1BvaW50KSk7CiAgICAgY29yZUZy
YW1lLT5ldmVudEhhbmRsZXIoKS5zZXRJbW1lZGlhdGVBY3Rpb25TdGFnZShJbW1lZGlhdGVBY3Rp
b25TdGFnZTo6UGVyZm9ybWVkSGl0VGVzdCk7CiAKLSAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9
IF9oaXRUZXN0UmVzdWx0LmlubmVyRWxlbWVudCgpKQorICAgIGlmIChFbGVtZW50KiBlbGVtZW50
ID0gX2hpdFRlc3RSZXN1bHQudGFyZ2V0RWxlbWVudCgpKQogICAgICAgICBfY29udGVudFByZXZl
bnRzRGVmYXVsdCA9IGVsZW1lbnQtPmRpc3BhdGNoTW91c2VGb3JjZVdpbGxCZWdpbigpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
ZTRiZDkxMWEyOGEzMWI5ZjZmYzA1MGZhNzM4Y2M1MjA3ZTBmZTkxNC4uNmYwM2EyODI3ZDdiZWE0
NTg3ZTFkNzk1Njc0NTA5YzQ1Njk2MDM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTI4MSw3ICs1MjgxLDcgQEAgdm9pZCBXZWJQYWdl
OjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgICAgICAgICAgSGl0VGVz
dFJlc3VsdCBoaXRUZXN0UmVzdWx0KHBsdWdJblJlY3RSZWxhdGl2ZVRvVG9wRG9jdW1lbnQuY2Vu
dGVyKCkpOwogICAgICAgICAgICAgbWFpblJlbmRlclZpZXcuaGl0VGVzdChyZXF1ZXN0LCBoaXRU
ZXN0UmVzdWx0KTsKIAotICAgICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IGhpdFRlc3RSZXN1
bHQuaW5uZXJFbGVtZW50KCk7CisgICAgICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gaGl0VGVz
dFJlc3VsdC50YXJnZXRFbGVtZW50KCk7CiAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCBjYTg3ZTYzNGMyMzU5YTdkYWFmOGJl
ZjAxOGEwMDY3Yzc1OWFiYjIxLi5hMmEwYmY0NDk4MWNmZDI2MTY5OTExN2Y2YWVjOGM2ZjAyZWNj
NTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
YlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCkBAIC0xMDAxLDcgKzEwMDEsNyBAQCB2b2lkIFdlYlBhZ2U6OnBlcmZvcm1J
bW1lZGlhdGVBY3Rpb25IaXRUZXN0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0
aQogICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdCA9IG1haW5GcmFtZS5ldmVudEhhbmRs
ZXIoKS5oaXRUZXN0UmVzdWx0QXRQb2ludChsb2NhdGlvbkluQ29udGVudENvb3JkaW5hdGVzKTsK
IAogICAgIGJvb2wgaW1tZWRpYXRlQWN0aW9uSGl0VGVzdFByZXZlbnRzRGVmYXVsdCA9IGZhbHNl
OwotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBoaXRUZXN0UmVzdWx0LmlubmVyRWxlbWVudCgpOwor
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBoaXRUZXN0UmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKIAog
ICAgIG1haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5zZXRJbW1lZGlhdGVBY3Rpb25TdGFnZShJbW1l
ZGlhdGVBY3Rpb25TdGFnZTo6UGVyZm9ybWVkSGl0VGVzdCk7CiAgICAgaWYgKGVsZW1lbnQpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMGRjM2Q3MjJjNmFmMTQyZGYwNTQ0NWY2ZDFjMDMyYTA0NmJhYTVkYy4uMDMxNjgyM2M5
NjQ5ZTQxOGMwYzEyMjhkNjU1MTQ5YzkxNTk2NWI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisy
MDE2LTExLTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1v
dmluZyB0aGUgY3Vyc29yIG9udG8gYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3Rh
dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAw
MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdHdvIHJlZmVyZW5jZSB0ZXN0cyBm
b3IgYWN0aXZhdGluZyBhbmQgaG92ZXJpbmcgb3ZlciBhIFRleHQgbm9kZS4KKyAgICAgICAgVGhl
IHRleHQgbm9kZSBzaG91bGQgYWN0aXZhdGUgOmhvdmVyIGFuZCA6YWN0aXZhdGUgcnVsZXMgaW4g
dGhlIHNoYWRvdyB0cmVlIHJlc3BlY3RpdmVseS4KKworICAgICAgICAqIGZhc3Qvc2hhZG93LWRv
bS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1j
b250ZW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2hhZG93LWRvbS9o
b3Zlci1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIG5ld2x5IGFkZGVkIHRl
c3RzIHNpbmNlIGlPUyBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgOmhvdmVyIG9yIDphY3RpdmF0
ZSB2aWEgbW91c2UgZG93bi4KKwogMjAxNi0xMS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJs
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRz
IHBhc3NlZCB0byBnZXRVc2VyTWVkaWEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
aGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50LWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRlbnQt
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzA0ZDI0YTY5NTZiOWE3MzRlOWJiODlhZDU5MDc4
YjlmYWNjZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9t
L2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMg
aWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBieSAxMDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgor
ICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDog
Z3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhZG93LWRvbS9hY3RpdmF0ZS1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTJhNTJkODJjYmYyZjQxMDExZTIyNjI0ODBjNTI0MThkNGMxNDc0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9hY3RpdmF0ZS1v
dmVyLXNsb3R0ZWQtY29udGVudC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK215LWhvc3QgeworICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQ6
IHB1cnBsZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgcGFzc2VzIGlm
IHlvdSBzZWUgYSBzaW5nbGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKzxt
eS1ob3N0Pk1vdXNlIGRvd24gb3ZlciB0aGlzIHRleHQ8L215LWhvc3Q+CisKKzxzY3JpcHQ+Citj
b25zdCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbXktaG9zdCcpOworaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSkuaW5uZXJIVE1MID0gYAorPGE+PHNwYW4+PHNsb3Q+
PC9zbG90Pjwvc3Bhbj48L2E+Cis8c3R5bGU+CithIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICB3aWR0aDogODBweDsKKyAgICBoZWlnaHQ6IDgwcHg7CisgICAgcGFkZGluZzogMTBweDsKKyAg
ICBiYWNrZ3JvdW5kOiByZWQ7Cit9CithOmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZDogZ3JlZW47
CisgICAgY29sb3I6IGdyZWVuOworfQorc3BhbiB7CisgICAgYmFja2dyb3VuZDogZ3JlZW47Cit9
Cis8L3N0eWxlPmA7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyhob3N0Lm9mZnNldExlZnQgKyAxNSwgaG9zdC5vZmZzZXRUb3AgKyAxNSk7
CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92
ZXItc2xvdHRlZC1jb250ZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYWRv
dy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNzA0ZDI0YTY5NTZiOWE3MzRlOWJiODlhZDU5MDc4YjlmYWNjZjM0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250
ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBi
eSAxMDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBw
eDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9ob3Zlci1vdmVy
LXNsb3R0ZWQtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hvdmVy
LW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNkYTJjZjliNDg2OWM3N2Uy
NTAxYjc2MGE4OWRkZGUzYzY4NDAwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2hhZG93LWRvbS9ob3Zlci1vdmVyLXNsb3R0ZWQtY29udGVudC5odG1sCkBAIC0wLDAgKzEs
NDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK215LWhvc3Qg
eworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEw
MHB4OworICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgMTAwcHggYnkgMTAwcHggZ3Jl
ZW4gYm94IGJlbG93LjwvcD4KKzxteS1ob3N0PkhvdmVyIG92ZXIgdGhpcyB0ZXh0PC9teS1ob3N0
PgorCis8c2NyaXB0PgorY29uc3QgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ215LWhv
c3QnKTsKK2hvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pLmlubmVySFRNTCA9IGAK
KzxkaXYgaWQ9ImNvbnRhaW5lciI+PHNwYW4+PHNsb3Q+PC9zbG90Pjwvc3Bhbj48L2Rpdj4KKzxz
dHlsZT4KKyNjb250YWluZXIgeworICAgIHdpZHRoOiA4MHB4OworICAgIGhlaWdodDogODBweDsK
KyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJhY2tncm91bmQ6IHJlZDsKK30KKyNjb250YWluZXI6
aG92ZXIgeworICAgIGJhY2tncm91bmQ6IGdyZWVuOworICAgIGNvbG9yOiBncmVlbjsKK30KK3Nw
YW4geworICAgIGJhY2tncm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT5gOworCitpZiAod2luZG93
LmV2ZW50U2VuZGVyKQorICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGhvc3Qub2Zmc2V0TGVm
dCArIDE1LCBob3N0Lm9mZnNldFRvcCArIDE1KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNDc0Y2U2ZjcyODlmMTQyNWI4NTE1MTE4NjRjNDJlZTNlZjgyNDYwMS4u
YWRkNGIyMTg2NWI1MWVhYTVjYjMzMzNiZDA2YTY4ODliMDk1MmYzYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQw
LDYgKzM0MCw4IEBAIGZhc3QvdGV4dC9hbGwtc21hbGwtY2Fwcy13aGl0ZXNwYWNlLmh0bWwgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi8xNTUyMzMgZmFzdC9ldmVudHMvbWF4LXRhYmluZGV4LWZvY3Vz
Lmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9zaGFkb3ctaG9zdC1yZW1vdmFsLWNyYXNo
Lmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9pbnB1dC1lbGVtZW50LWluLXNoYWRvdy5o
dG1sIFsgU2tpcCBdCitmYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRl
bnQuaHRtbCBbIFNraXAgXQorZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250
ZW50Lmh0bWwgWyBTa2lwIF0KIGZhc3QvZXZlbnRzL2tleWJvYXJkZXZlbnQta2V5Lmh0bWwgWyBT
a2lwIF0KIGZhc3QvZXZlbnRzL2tleWJvYXJkZXZlbnQtY29kZS5odG1sIFsgU2tpcCBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294560</attachid>
            <date>2016-11-11 16:16:39 -0800</date>
            <delta_ts>2016-11-11 16:51:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164002-20161111161226.patch</filename>
            <type>text/plain</type>
            <size>18705</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE2LTExLTExICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhvdmVyaW5nIG92ZXIgYSBzbG90
dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
IFRoZSBidWcgd2FzIGNhdXNlZCBieSBIaXRUZXN0UmVzdWx0Ojppbm5lckVsZW1lbnQgcmV0dXJu
aW5nIHRoZSBwYXJlbnQgZWxlbWVudCBvZiBhIFRleHQgbm9kZSB3aXRob3V0CisgICAgICAgIHRh
a2luZyB0aGUgc2hhZG93IHJvb3Qgb3Igc2xvdHMgaW50byBhY2NvdW50LiBGb3IgaGl0IHRlc3Rp
bmcsIHdlIGFsd2F5cyB3YW50IHRvIHVzZSB0aGUgImZsYXQgdHJlZSIKKyAgICAgICAgb3IgImNv
bXBvc2VkIHRyZWUiIChpbXByZWNpc2VseSBidXQgY2xvc2UgZW5vdWdoIGluIHRoaXMgY2FzZSku
CisKKyAgICAgICAgRml4ZWQgdGhlIGJ1ZyBieSBtYWtpbmcgSGl0VGVzdFJlc3VsdDo6aW5uZXJF
bGVtZW50IHVzZSBwYXJlbnROb2RlSW5Db21wb3NlZFRyZWUuIEFsc28gcmVuYW1lZCBpdCB0bwor
ICAgICAgICBIaXRUZXN0UmVzdWx0Ojp0YXJnZXRFbGVtZW50IHRvIGJlIGNvbnNpc3RlbnQgd2l0
aCBIaXRUZXN0UmVzdWx0Ojp0YXJnZXROb2RlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3NoYWRv
dy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRlbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwKKworICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJlcGFy
ZU1vdXNlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc01haW5Db250ZW50Rm9yUHVycG9zZXNPZkF1dG9wbGF5KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmV2ZW50TWF5U3RhcnREcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2Vu
ZENvbnRleHRNZW51RXZlbnRGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
Ojpob3ZlclRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVEcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVu
dCk6CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SGl0VGVzdFJlc3VsdDo6dGFyZ2V0RWxlbWVudCk6IFJlbmFtZWQgZnJvbSBpbm5lckVs
ZW1lbnQuCisgICAgICAgIE5vdyBmaW5kcyB0aGUgcGFyZW50IGVsZW1lbnQgaW4gdGhlIGNvbXBv
c2VkIHRyZWUuCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlubmVyTm9kZSk6CisKIDIwMTYtMTEtMTEgIERhdmUg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQYXJzZXJdIEFkZCBzdXBw
b3J0IGZvciBwYXRocyBhcyBiYXNpYyBzaGFwZXMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDIwODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyNzcsNyArMzI3Nyw3IEBAIE1vdXNlRXZlbnRXaXRoSGl0VGVz
dFJlc3VsdHMgRG9jdW1lbnQ6OnAKICAgICByZW5kZXJWaWV3KCktPmhpdFRlc3QocmVxdWVzdCwg
cmVzdWx0KTsKIAogICAgIGlmICghcmVxdWVzdC5yZWFkT25seSgpKQotICAgICAgICB1cGRhdGVI
b3ZlckFjdGl2ZVN0YXRlKHJlcXVlc3QsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSk7CisgICAgICAg
IHVwZGF0ZUhvdmVyQWN0aXZlU3RhdGUocmVxdWVzdCwgcmVzdWx0LnRhcmdldEVsZW1lbnQoKSk7
CiAKICAgICByZXR1cm4gTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyhldmVudCwgcmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cAkocmV2aXNpb24gMjA4NjIzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjc2LDcgKzY3Niw3IEBAIHN0YXRpYyBib29s
IGlzTWFpbkNvbnRlbnRGb3JQdXJwb3Nlc09mQXUKICAgICAvLyBFbGVtZW50cyB3aGljaCBhcmUg
b2JzY3VyZWQgYnkgb3RoZXIgZWxlbWVudHMgY2Fubm90IGJlIG1haW4gY29udGVudC4KICAgICBt
YWluUmVuZGVyVmlldy5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CiAgICAgcmVzdWx0LnNldFRv
Tm9uVXNlckFnZW50U2hhZG93QW5jZXN0b3IoKTsKLSAgICBFbGVtZW50KiBoaXRFbGVtZW50ID0g
cmVzdWx0LmlubmVyRWxlbWVudCgpOworICAgIEVsZW1lbnQqIGhpdEVsZW1lbnQgPSByZXN1bHQu
dGFyZ2V0RWxlbWVudCgpOwogICAgIGlmIChoaXRFbGVtZW50ICE9ICZlbGVtZW50KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJ
KHJldmlzaW9uIDIwODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODkyLDcgKzg5Miw4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpl
dmVudE1heVN0YXJ0RHJhZyhjb24KICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5k
b3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpKTsKICAgICByZW5kZXJWaWV3LT5oaXRUZXN0
KHJlcXVlc3QsIHJlc3VsdCk7CiAgICAgRHJhZ1N0YXRlIHN0YXRlOwotICAgIHJldHVybiByZXN1
bHQuaW5uZXJFbGVtZW50KCkgJiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2FibGVFbGVt
ZW50KCZtX2ZyYW1lLCByZXN1bHQuaW5uZXJFbGVtZW50KCksIHJlc3VsdC5yb3VuZGVkUG9pbnRJ
bklubmVyTm9kZUZyYW1lKCksIHN0YXRlKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0g
cmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKKyAgICByZXR1cm4gdGFyZ2V0RWxlbWVudCAmJiBwYWdl
LT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHRhcmdldEVsZW1l
bnQsIHJlc3VsdC5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCksIHN0YXRlKTsKIH0KIAog
dm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpCkBAIC0xMTU5
LDcgKzExNjAsNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsCiAg
ICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVzdChoaXRUeXBlIHwgSGl0VGVzdFJlcXVlc3Q6OkFsbG93
Q2hpbGRGcmFtZUNvbnRlbnQpOwogICAgIHJlbmRlclZpZXctPmhpdFRlc3QocmVxdWVzdCwgcmVz
dWx0KTsKICAgICBpZiAoIXJlcXVlc3QucmVhZE9ubHkoKSkKLSAgICAgICAgbV9mcmFtZS5kb2N1
bWVudCgpLT51cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKHJlcXVlc3QsIHJlc3VsdC5pbm5lckVsZW1l
bnQoKSk7CisgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0
ZShyZXF1ZXN0LCByZXN1bHQudGFyZ2V0RWxlbWVudCgpKTsKIAogICAgIGlmIChyZXF1ZXN0LmRp
c2FsbG93c1VzZXJBZ2VudFNoYWRvd0NvbnRlbnQoKSkKICAgICAgICAgcmVzdWx0LnNldFRvTm9u
VXNlckFnZW50U2hhZG93QW5jZXN0b3IoKTsKQEAgLTI2ODksNyArMjY5MCw3IEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnMKICAgICBIaXRUZXN0UmVzdWx0IHJlc3Vs
dCh2aWV3LT53aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpKTsKICAgICByZW5kZXJW
aWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CiAKLSAgICBSZWZQdHI8RWxlbWVudD4gZWxl
bWVudCA9IHJlc3VsdC5pbm5lckVsZW1lbnQoKTsKKyAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVu
dCA9IHJlc3VsdC50YXJnZXRFbGVtZW50KCk7CiAgICAgUmVmUHRyPENvbnRhaW5lck5vZGU+IHNj
cm9sbGFibGVDb250YWluZXI7CiAgICAgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4gc2Nyb2xsYWJs
ZUFyZWE7CiAgICAgYm9vbCBpc092ZXJXaWRnZXQgPSByZXN1bHQuaXNPdmVyV2lkZ2V0KCk7CkBA
IC0yODc1LDcgKzI4NzYsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51RXZl
bnRGCiAgICAgLy8gVXNlIHRoZSBmb2N1c2VkIG5vZGUgYXMgdGhlIHRhcmdldCBmb3IgaG92ZXIg
YW5kIGFjdGl2ZS4KICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdChwb3NpdGlvbik7CiAgICAgcmVz
dWx0LnNldElubmVyTm9kZSh0YXJnZXROb2RlKTsKLSAgICBkb2MtPnVwZGF0ZUhvdmVyQWN0aXZl
U3RhdGUoSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNhbGxvd1Vz
ZXJBZ2VudFNoYWRvd0NvbnRlbnQsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSk7CisgICAgZG9jLT51
cGRhdGVIb3ZlckFjdGl2ZVN0YXRlKEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVx
dWVzdDo6RGlzYWxsb3dVc2VyQWdlbnRTaGFkb3dDb250ZW50LCByZXN1bHQudGFyZ2V0RWxlbWVu
dCgpKTsKIAogICAgIC8vIFRoZSBjb250ZXh0bWVudSBldmVudCBpcyBhIG1vdXNlIGV2ZW50IGV2
ZW4gd2hlbiBpbnZva2VkIHVzaW5nIHRoZSBrZXlib2FyZC4KICAgICAvLyBUaGlzIGlzIHJlcXVp
cmVkIGZvciB3ZWIgY29tcGF0aWJpbGl0eS4KQEAgLTI5OTcsNyArMjk5OCw3IEBAIHZvaWQgRXZl
bnRIYW5kbGVyOjpob3ZlclRpbWVyRmlyZWQoKQogICAgICAgICAgICAgSGl0VGVzdFJlcXVlc3Qg
cmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6TW92ZSB8IEhpdFRlc3RSZXF1ZXN0OjpEaXNhbGxvd1Vz
ZXJBZ2VudFNoYWRvd0NvbnRlbnQpOwogICAgICAgICAgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQo
dmlldy0+d2luZG93VG9Db250ZW50cyhtX2xhc3RLbm93bk1vdXNlUG9zaXRpb24pKTsKICAgICAg
ICAgICAgIHJlbmRlclZpZXctPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsKLSAgICAgICAgICAg
IG1fZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlSG92ZXJBY3RpdmVTdGF0ZShyZXF1ZXN0LCByZXN1
bHQuaW5uZXJFbGVtZW50KCkpOworICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT51cGRh
dGVIb3ZlckFjdGl2ZVN0YXRlKHJlcXVlc3QsIHJlc3VsdC50YXJnZXRFbGVtZW50KCkpOwogICAg
ICAgICB9CiAgICAgfQogfQpAQCAtMzQ0Miw3ICszNDQzLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OmhhbmRsZURyYWcoY29uc3QgTW91cwogICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdChtX21v
dXNlRG93blBvcyk7CiAgICAgICAgIG1fZnJhbWUuY29udGVudFJlbmRlcmVyKCktPmhpdFRlc3Qo
cmVxdWVzdCwgcmVzdWx0KTsKICAgICAgICAgaWYgKG1fZnJhbWUucGFnZSgpKQotICAgICAgICAg
ICAgZHJhZ1N0YXRlKCkuc291cmNlID0gbV9mcmFtZS5wYWdlKCktPmRyYWdDb250cm9sbGVyKCku
ZHJhZ2dhYmxlRWxlbWVudCgmbV9mcmFtZSwgcmVzdWx0LmlubmVyRWxlbWVudCgpLCBtX21vdXNl
RG93blBvcywgZHJhZ1N0YXRlKCkpOworICAgICAgICAgICAgZHJhZ1N0YXRlKCkuc291cmNlID0g
bV9mcmFtZS5wYWdlKCktPmRyYWdDb250cm9sbGVyKCkuZHJhZ2dhYmxlRWxlbWVudCgmbV9mcmFt
ZSwgcmVzdWx0LnRhcmdldEVsZW1lbnQoKSwgbV9tb3VzZURvd25Qb3MsIGRyYWdTdGF0ZSgpKTsK
ICAgICAgICAgCiAgICAgICAgIGlmICghZHJhZ1N0YXRlKCkuc291cmNlKQogICAgICAgICAgICAg
bV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBmYWxzZTsgLy8gbm8gZWxlbWVudCBpcyBkcmFnZ2Fi
bGUKQEAgLTM5MTUsMTQgKzM5MTYsMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNo
RXZlbnQoY29ucwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgY29udGludWU7
CiAKLSAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkIHVzZSBFbGVtZW50KiBp
bnN0ZWFkIG9mIE5vZGUqLgotICAgICAgICAgICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lckVs
ZW1lbnQoKTsKLSAgICAgICAgICAgIEFTU0VSVChub2RlKTsKKyAgICAgICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSByZXN1bHQudGFyZ2V0RWxlbWVudCgpOworICAgICAgICAgICAgQVNTRVJUKGVs
ZW1lbnQpOwogCi0gICAgICAgICAgICBpZiAobm9kZSAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmhhbmRsZVRvdWNoRXZlbnQobV9mcmFtZSwgKm5vZGUpKQorICAgICAgICAgICAgaWYgKGVs
ZW1lbnQgJiYgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYW5kbGVUb3VjaEV2ZW50KG1fZnJh
bWUsICplbGVtZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICAg
ICAgRG9jdW1lbnQmIGRvYyA9IG5vZGUtPmRvY3VtZW50KCk7CisgICAgICAgICAgICBEb2N1bWVu
dCYgZG9jID0gZWxlbWVudC0+ZG9jdW1lbnQoKTsKICAgICAgICAgICAgIC8vIFJlY29yZCB0aGUg
b3JpZ2luYXRpbmcgdG91Y2ggZG9jdW1lbnQgZXZlbiBpZiBpdCBkb2VzIG5vdCBoYXZlIGEgdG91
Y2ggbGlzdGVuZXIuCiAgICAgICAgICAgICBpZiAoZnJlc2hUb3VjaEV2ZW50cykgewogICAgICAg
ICAgICAgICAgIG1fb3JpZ2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSAmZG9jOwpAQCAtMzkz
MCw4ICszOTMwLDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29ucwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFkb2MuaGFzVG91Y2hFdmVudEhhbmRsZXJz
KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBtX29yaWdpbmF0aW5n
VG91Y2hQb2ludFRhcmdldHMuc2V0KHRvdWNoUG9pbnRUYXJnZXRLZXksIG5vZGUpOwotICAgICAg
ICAgICAgdG91Y2hUYXJnZXQgPSBub2RlOworICAgICAgICAgICAgbV9vcmlnaW5hdGluZ1RvdWNo
UG9pbnRUYXJnZXRzLnNldCh0b3VjaFBvaW50VGFyZ2V0S2V5LCBlbGVtZW50KTsKKyAgICAgICAg
ICAgIHRvdWNoVGFyZ2V0ID0gZWxlbWVudDsKICAgICAgICAgfSBlbHNlIGlmIChwb2ludFN0YXRl
ID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCB8fCBwb2ludFN0YXRlID09IFBs
YXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQpIHsKICAgICAgICAgICAgIC8vIE5vIG5l
ZWQgdG8gcGVyZm9ybSBhIGhpdC10ZXN0IHNpbmNlIHdlIG9ubHkgbmVlZCB0byB1bnNldCA6aG92
ZXIgYW5kIDphY3RpdmUgc3RhdGVzLgogICAgICAgICAgICAgaWYgKCFzaG91bGRHZXN0dXJlc1Ry
aWdnZXJBY3RpdmUoKSAmJiBhbGxUb3VjaFJlbGVhc2VkKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMjA4NjIzKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NjQsMTQgKzc2NCwxMyBAQCBOb2RlKiBIaXRUZXN0UmVzdWx0Ojp0YXJnZXROb2RlKCkgY29uc3QK
ICAgICByZXR1cm4gbm9kZTsKIH0KIAotRWxlbWVudCogSGl0VGVzdFJlc3VsdDo6aW5uZXJFbGVt
ZW50KCkgY29uc3QKK0VsZW1lbnQqIEhpdFRlc3RSZXN1bHQ6OnRhcmdldEVsZW1lbnQoKSBjb25z
dAogewotICAgIE5vZGUqIG5vZGUgPSBtX2lubmVyTm9kZS5nZXQoKTsKLSAgICBpZiAoIW5vZGUp
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmIChpczxFbGVtZW50Pigqbm9kZSkpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxFbGVtZW50Pihub2RlKTsKLSAgICByZXR1cm4gbm9kZS0+
cGFyZW50RWxlbWVudCgpOworICAgIGZvciAoTm9kZSogbm9kZSA9IG1faW5uZXJOb2RlLmdldCgp
OyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAgICAgICBp
ZiAoaXM8RWxlbWVudD4oKm5vZGUpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1l
bnQ+KG5vZGUpOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogRWxlbWVudCogSGl0
VGVzdFJlc3VsdDo6aW5uZXJOb25TaGFyZWRFbGVtZW50KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMjA4NjIzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAt
NTksNyArNTksNiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSGl0VGVzdFJlc3VsdCYg
b3BlcmF0b3I9KGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIAogICAgIE5vZGUqIGlubmVyTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1faW5uZXJOb2RlLmdldCgpOyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQg
RWxlbWVudCogaW5uZXJFbGVtZW50KCkgY29uc3Q7CiAgICAgTm9kZSogaW5uZXJOb25TaGFyZWRO
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCk7IH0KICAgICBX
RUJDT1JFX0VYUE9SVCBFbGVtZW50KiBpbm5lck5vblNoYXJlZEVsZW1lbnQoKSBjb25zdDsKICAg
ICBFbGVtZW50KiBVUkxFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbm5lclVSTEVsZW1lbnQu
Z2V0KCk7IH0KQEAgLTE1MSw2ICsxNTAsNyBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFN0cmluZz4g
ZGljdGF0aW9uQWx0ZXJuYXRpdmVzKCkgY29uc3Q7CiAKICAgICBOb2RlKiB0YXJnZXROb2RlKCkg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgRWxlbWVudCogdGFyZ2V0RWxlbWVudCgpIGNvbnN0
OwogCiBwcml2YXRlOgogICAgIE5vZGVTZXQmIG11dGFibGVSZWN0QmFzZWRUZXN0UmVzdWx0KCk7
IC8vIFNlZSBhYm92ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODYyMykKKysrIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2
LTExLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhvdmVy
aW5nIG92ZXIgYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJh
c2VyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6cGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3RBdExvY2F0aW9u
KToKKwogMjAxNi0xMS0xMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB0byBtb2Rlcm4gVG91Y2hCYXIgbWV0aG9kcwpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjA4NjIzKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjgxLDcgKzUyODEsNyBAQCB2b2lkIFdlYlBhZ2U6OmRldGVybWluZVByaW1hcnlT
bmFwc2hvdHRlCiAgICAgICAgICAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHQocGx1Z0lu
UmVjdFJlbGF0aXZlVG9Ub3BEb2N1bWVudC5jZW50ZXIoKSk7CiAgICAgICAgICAgICBtYWluUmVu
ZGVyVmlldy5oaXRUZXN0KHJlcXVlc3QsIGhpdFRlc3RSZXN1bHQpOwogCi0gICAgICAgICAgICBF
bGVtZW50KiBlbGVtZW50ID0gaGl0VGVzdFJlc3VsdC5pbm5lckVsZW1lbnQoKTsKKyAgICAgICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBoaXRUZXN0UmVzdWx0LnRhcmdldEVsZW1lbnQoKTsKICAg
ICAgICAgICAgIGlmICghZWxlbWVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIApJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFn
ZU1hYy5tbQkocmV2aXNpb24gMjA4NjIzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAxLDcgKzEwMDEs
NyBAQCB2b2lkIFdlYlBhZ2U6OnBlcmZvcm1JbW1lZGlhdGVBY3Rpb25IaXRUCiAgICAgSGl0VGVz
dFJlc3VsdCBoaXRUZXN0UmVzdWx0ID0gbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RS
ZXN1bHRBdFBvaW50KGxvY2F0aW9uSW5Db250ZW50Q29vcmRpbmF0ZXMpOwogCiAgICAgYm9vbCBp
bW1lZGlhdGVBY3Rpb25IaXRUZXN0UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7Ci0gICAgRWxlbWVu
dCogZWxlbWVudCA9IGhpdFRlc3RSZXN1bHQuaW5uZXJFbGVtZW50KCk7CisgICAgRWxlbWVudCog
ZWxlbWVudCA9IGhpdFRlc3RSZXN1bHQudGFyZ2V0RWxlbWVudCgpOwogCiAgICAgbWFpbkZyYW1l
LmV2ZW50SGFuZGxlcigpLnNldEltbWVkaWF0ZUFjdGlvblN0YWdlKEltbWVkaWF0ZUFjdGlvblN0
YWdlOjpQZXJmb3JtZWRIaXRUZXN0KTsKICAgICBpZiAoZWxlbWVudCkKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIwODYyMykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE2LTExLTExICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhvdmVyaW5nIG92ZXIgYSBzbG90dGVkIFRl
eHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkwNDA0
NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoLVtXZWJJbW1l
ZGlhdGVBY3Rpb25Db250cm9sbGVyIHBlcmZvcm1IaXRUZXN0QXRQb2ludDpdKToKKwogMjAxNi0x
MS0xMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB0byBt
b2Rlcm4gVG91Y2hCYXIgbWV0aG9kcwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbQkocmV2aXNpb24g
MjA4NjIzKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25D
b250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNyArMTUwLDcgQEAgLSAodm9pZClw
ZXJmb3JtSGl0VGVzdEF0UG9pbnQ6KE5TUG9pbnQpdgogICAgIF9oaXRUZXN0UmVzdWx0ID0gY29y
ZUZyYW1lLT5ldmVudEhhbmRsZXIoKS5oaXRUZXN0UmVzdWx0QXRQb2ludChJbnRQb2ludCh2aWV3
UG9pbnQpKTsKICAgICBjb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLnNldEltbWVkaWF0ZUFjdGlv
blN0YWdlKEltbWVkaWF0ZUFjdGlvblN0YWdlOjpQZXJmb3JtZWRIaXRUZXN0KTsKIAotICAgIGlm
IChFbGVtZW50KiBlbGVtZW50ID0gX2hpdFRlc3RSZXN1bHQuaW5uZXJFbGVtZW50KCkpCisgICAg
aWYgKEVsZW1lbnQqIGVsZW1lbnQgPSBfaGl0VGVzdFJlc3VsdC50YXJnZXRFbGVtZW50KCkpCiAg
ICAgICAgIF9jb250ZW50UHJldmVudHNEZWZhdWx0ID0gZWxlbWVudC0+ZGlzcGF0Y2hNb3VzZUZv
cmNlV2lsbEJlZ2luKCk7CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODYyMykKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEx
LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhvdmVyaW5n
IG92ZXIgYSBzbG90dGVkIFRleHQgbm9kZSBjbGVhcnMgaG92ZXIgc3RhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkwNDA0NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgorCisgICAgICAgIEFkZGVkIHR3byByZWZlcmVuY2UgdGVzdHMgZm9yIGFjdGl2YXRpbmcgYW5k
IGhvdmVyaW5nIG92ZXIgYSBUZXh0IG5vZGUuCisgICAgICAgIFRoZSB0ZXh0IG5vZGUgc2hvdWxk
IGFjdGl2YXRlIDpob3ZlciBhbmQgOmFjdGl2YXRlIHJ1bGVzIGluIHRoZSBzaGFkb3cgdHJlZSBy
ZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBmYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1z
bG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFk
b3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvc2hhZG93LWRvbS9ob3Zlci1vdmVyLXNsb3R0ZWQtY29udGVudC1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVk
LWNvbnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9U
ZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRoZSBuZXdseSBhZGRlZCB0ZXN0cyBzaW5jZSBpT1MgZG9l
c24ndAorICAgICAgICBzdXBwb3J0IDpob3ZlciBvciA6YWN0aXZhdGUgdmlhIG1vdXNlIGRvd24u
CisKIDIwMTYtMTEtMTEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0aW5nIGNsYXNzIG5hbWUgZG9lc24ndCB1cGRhdGUgdGhlIHNsb3R0ZWQgY29udGVu
dCdzIHN0eWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zl
ci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vYWN0aXZh
dGUtb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKyAgICA8cD5UZXN0
IHBhc3NlcyBpZiB5b3Ugc2VlIGEgc2luZ2xlIDEwMHB4IGJ5IDEwMHB4IGdyZWVuIGJveCBiZWxv
dy48L3A+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNr
Z3JvdW5kOiBncmVlbjsiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2FjdGl2YXRlLW92ZXItc2xv
dHRlZC1jb250ZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zaGFk
b3ctZG9tL2FjdGl2YXRlLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxl
PgorbXktaG9zdCB7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgd2lkdGg6IDEwMHB4OworICAg
IGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZDogcHVycGxlOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBi
eSAxMDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgorPG15LWhvc3Q+TW91c2UgZG93biBvdmVyIHRo
aXMgdGV4dDwvbXktaG9zdD4KKworPHNjcmlwdD4KK2NvbnN0IGhvc3QgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdteS1ob3N0Jyk7Citob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9
KS5pbm5lckhUTUwgPSBgCis8YT48c3Bhbj48c2xvdD48L3Nsb3Q+PC9zcGFuPjwvYT4KKzxzdHls
ZT4KK2EgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiA4MHB4OworICAgIGhlaWdo
dDogODBweDsKKyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJhY2tncm91bmQ6IHJlZDsKK30KK2E6
YWN0aXZlIHsKKyAgICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgICBjb2xvcjogZ3JlZW47Cit9Citz
cGFuIHsKKyAgICBiYWNrZ3JvdW5kOiBncmVlbjsKK30KKzwvc3R5bGU+YDsKKworaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGhvc3Qub2Zmc2V0
TGVmdCArIDE1LCBob3N0Lm9mZnNldFRvcCArIDE1KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1z
bG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NoYWRvdy1kb20vaG92ZXItb3Zlci1zbG90dGVkLWNvbnRlbnQtZXhwZWN0ZWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgc2luZ2xlIDEwMHB4IGJ5
IDEwMHB4IGdyZWVuIGJveCBiZWxvdy48L3A+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRl
ZC1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9t
L2hvdmVyLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXItc2xvdHRlZC1jb250ZW50Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHN0eWxlPgorbXktaG9zdCB7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgd2lkdGg6
IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZDogcHVycGxlOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNp
bmdsZSAxMDBweCBieSAxMDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgorPG15LWhvc3Q+SG92ZXIg
b3ZlciB0aGlzIHRleHQ8L215LWhvc3Q+CisKKzxzY3JpcHQ+Citjb25zdCBob3N0ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignbXktaG9zdCcpOworaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdj
bG9zZWQnfSkuaW5uZXJIVE1MID0gYAorPGRpdiBpZD0iY29udGFpbmVyIj48c3Bhbj48c2xvdD48
L3Nsb3Q+PC9zcGFuPjwvZGl2PgorPHN0eWxlPgorI2NvbnRhaW5lciB7CisgICAgd2lkdGg6IDgw
cHg7CisgICAgaGVpZ2h0OiA4MHB4OworICAgIHBhZGRpbmc6IDEwcHg7CisgICAgYmFja2dyb3Vu
ZDogcmVkOworfQorI2NvbnRhaW5lcjpob3ZlciB7CisgICAgYmFja2dyb3VuZDogZ3JlZW47Cisg
ICAgY29sb3I6IGdyZWVuOworfQorc3BhbiB7CisgICAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8
L3N0eWxlPmA7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oaG9zdC5vZmZzZXRMZWZ0ICsgMTUsIGhvc3Qub2Zmc2V0VG9wICsgMTUpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIwODYyMykK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwko
d29ya2luZyBjb3B5KQpAQCAtMzQxLDYgKzM0MSw4IEBAIGZhc3QvdGV4dC9hbGwtc21hbGwtY2Fw
cy13aGl0ZXNwYWNlLmh0bWwKIHdlYmtpdC5vcmcvYi8xNTUyMzMgZmFzdC9ldmVudHMvbWF4LXRh
YmluZGV4LWZvY3VzLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9zaGFkb3ctaG9zdC1y
ZW1vdmFsLWNyYXNoLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9pbnB1dC1lbGVtZW50
LWluLXNoYWRvdy5odG1sIFsgU2tpcCBdCitmYXN0L3NoYWRvdy1kb20vYWN0aXZhdGUtb3Zlci1z
bG90dGVkLWNvbnRlbnQuaHRtbCBbIFNraXAgXQorZmFzdC9zaGFkb3ctZG9tL2hvdmVyLW92ZXIt
c2xvdHRlZC1jb250ZW50Lmh0bWwgWyBTa2lwIF0KIGZhc3QvZXZlbnRzL2tleWJvYXJkZXZlbnQt
a2V5Lmh0bWwgWyBTa2lwIF0KIGZhc3QvZXZlbnRzL2tleWJvYXJkZXZlbnQtY29kZS5odG1sIFsg
U2tpcCBdCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>