<?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>190495</bug_id>
          
          <creation_ts>2018-10-11 15:20:17 -0700</creation_ts>
          <short_desc>Hardware keyboard arrow keys/spacebar don&apos;t scroll PDFs (works for web content)</short_desc>
          <delta_ts>2018-10-11 16:41:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468202</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:20:17 -0700</bug_when>
    <thetext>Hardware keyboard arrow keys/spacebar don&apos;t scroll PDFs (works for web content)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468205</commentid>
    <comment_count>1</comment_count>
      <attachid>352091</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:21:57 -0700</bug_when>
    <thetext>Created attachment 352091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468206</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:21:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/22734616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468207</commentid>
    <comment_count>3</comment_count>
      <attachid>352091</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:22:31 -0700</bug_when>
    <thetext>Comment on attachment 352091
Patch

The new files are missing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468208</commentid>
    <comment_count>4</comment_count>
      <attachid>352092</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:23:10 -0700</bug_when>
    <thetext>Created attachment 352092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468215</commentid>
    <comment_count>5</comment_count>
      <attachid>352092</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-11 15:38:11 -0700</bug_when>
    <thetext>Comment on attachment 352092
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:85
&gt; +    ::WebEvent *webEvent = [[[WKWebEvent alloc] initWithEvent:event] autorelease];

auto webEvent = adoptNS(...?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468222</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 15:59:00 -0700</bug_when>
    <thetext>Sure why not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468223</commentid>
    <comment_count>7</comment_count>
      <attachid>352097</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 16:02:34 -0700</bug_when>
    <thetext>Created attachment 352097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468225</commentid>
    <comment_count>8</comment_count>
      <attachid>352098</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 16:03:44 -0700</bug_when>
    <thetext>Created attachment 352098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468242</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-11 16:41:36 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/237053/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352091</attachid>
            <date>2018-10-11 15:21:57 -0700</date>
            <delta_ts>2018-10-11 15:23:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190495-20181011152156.patch</filename>
            <type>text/plain</type>
            <size>17134</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyNWM5M2JjOTg5NTRkN2Ez
ZGU5NTNjZTg3MDNlZjhkZWI0MjZkZWEuLmVlMzkwMzRjODgzMDNiOWE5OWU3MjM0ZjNiNWY1OWM4
NGFjYTdmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMTAtMTEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZHdhcmUga2V5Ym9h
cmQgYXJyb3cga2V5cy9zcGFjZWJhciBkb24ndCBzY3JvbGwgUERGcyAod29ya3MgZm9yIHdlYiBj
b250ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjczNDYxNj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIb29rIHVwIFdLS2V5Ym9hcmRTY3Jv
bGxWaWV3QW5pbWF0b3IgdG8gdGhlIHNjcm9sbCB2aWV3IHdoZW4KKyAgICAgICAgV0tQREZWaWV3
IGlzIGluc3RhbGxlZC4KKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoK
KyAgICAgICAgTW92ZSBfaW5wdXRGbGFncyB0byB0aGUgSVBJIHNlY3Rpb24gc28gd2UgY2FuIHJl
bW92ZSBpdAorICAgICAgICBmcm9tIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGhhbmRsZUtleUV2ZW50Ol0pOgorICAgICAgICAoLVtXS1dlYkV2ZW50IGRlYWxs
b2NdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTW92ZSBXS1dlYkV2ZW50IG91dCBvZiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uCisgICAgICAgIFdlIHRlbmQgdG8gcHJlZmVyIG9uZSBmaWxlIHBlciBjbGFzcy4KKyAgICAg
ICAgQWxzbywgbW92ZSB0aGUgY29kZSB0byBtYWtlIGEgV0tXZWJFdmVudCBmcm9tIGEgVUlFdmVu
dCBpbnRvCisgICAgICAgIC1pbml0V2l0aEV2ZW50OiwgaW5zdGVhZCBvZiBiZWluZyBhZC1ob2Mg
aW4gV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLgorICAgICAgICBBZG9wdCBSZXRhaW5QdHIgZm9y
IHRoZSBXS1dlYkV2ZW50J3MgdWlFdmVudCBwcm9wZXJ0eS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUtl
eVVJRXZlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlci5oOgorICAgICAgICBQbHVtYiBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMgdG8gY3Vz
dG9tIGNvbnRlbnQgdmlld3MsIGlmIHRoZXkgd2FudCB0aGVtLgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1BERlZpZXcubW06CisgICAgICAgICgtW1dLUERGVmlldyBkZWFsbG9jXSk6Cisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaGFuZGxlS2V5RXZlbnQ6XSk6CisgICAgICAgICgtW1dL
UERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Om1pbWVUeXBlOl0pOgorICAgICAgICBJ
bnN0YWxsIGEgV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBhbmQgcGx1bWIga2V5IGV2ZW50
cyB0byBpdC4KKwogMjAxOC0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZ3Jlc3Npb24oUFNPTik6IERlYWwgd2l0aCB0aGUgZHJhd2luZyBhcmVhIHBv
dGVudGlhbGx5IGJlaW5nIG51bGwgdW5kZXIgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXgg
MWZmZDA3NjY4YWRhZjQxNDY4NGM2ODkwNzZiZDIyZjE1YmE5OGY1ZC4uZTEyMDc0NGIxODg4ZDM2
OTBmNjIxMWRhZjZhNjU5MDUyM2ZkNTBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgKQEAgLTE4Nyw3ICsxODcsNiBAQCB0eXBlZGVmIGVudW0gewogfSBVSUtl
eWJvYXJkSW5wdXRGbGFnczsKIAogQGludGVyZmFjZSBVSUV2ZW50ICgpCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFVJS2V5Ym9hcmRJbnB1dEZsYWdzIF9pbnB1dEZsYWdzOwogLSAo
dm9pZCAqKV9oaWRFdmVudDsKIC0gKE5TU3RyaW5nICopX3VubW9kaWZpZWRJbnB1dDsKIC0gKE5T
U3RyaW5nICopX21vZGlmaWVkSW5wdXQ7CkBAIC0xMDE0LDYgKzEwMTMsNyBAQCB0eXBlZGVmIE5T
SW50ZWdlciBVSUNvbXBvc2l0aW5nTW9kZTsKIEBlbmQKIAogQGludGVyZmFjZSBVSVBoeXNpY2Fs
S2V5Ym9hcmRFdmVudCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUtleWJv
YXJkSW5wdXRGbGFncyBfaW5wdXRGbGFnczsKIC0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICop
X2Nsb25lRXZlbnQgTlNfUkVUVVJOU19SRVRBSU5FRDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0ZJbmRleCBfa2V5Q29kZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCAyNzEzODIxODQ2ZjhjMDg4Y2E0ZDMzNWQzMzA0NTU0ZGVhOGVkYjliLi41OTRiZjkwZGQ1ZjA4
YmZkYzQzNGI5ZjVkYzU5ZTQ4YzNhYTJkNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0z
OTYsNiArMzk2LDcgQEAgVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KIFVJUHJvY2Vzcy9pb3Mv
V0tTY3JvbGxWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJl
UmVjb2duaXplci5tCiBVSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KK1VJUHJv
Y2Vzcy9pb3MvV0tXZWJFdmVudC5tbQogCiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NM
YXVuY2hlck1hYy5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA3OWIzYzIyY2Q5YTU2Y2JjNWZiYmY1MmQ3N2JmNmExN2YyMGY1MDE4
Li44YmJkMTI2MGQyYmQ0NjY0ZTg2NDc1OTg4YzBmZWQ5ZjY1ZTc2ZDhlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE1MjUsNiArMTUy
NSwyMSBAQCAtICh2b2lkKV9kaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbUNvbnRlbnRQcm92
aWRlcldpdGhTdWdnZXN0ZWRGaWxlbmFtZTooY29ucwogICAgIF9wYWdlLT5kaWRMYXlvdXRGb3JD
dXN0b21Db250ZW50UHJvdmlkZXIoKTsKIH0KIAorLSAodm9pZClfaGFuZGxlS2V5VUlFdmVudDoo
OjpVSUV2ZW50ICopZXZlbnQKK3sKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGFuZGxlIGtleSBl
dmVudHMgZnJvbSB0aGUgaGFyZHdhcmUga2V5Ym9hcmQgd2hlbiB3ZSBhcmUKKyAgICAvLyBmaXJz
dCByZXNwb25kZXIgYW5kIGEgY3VzdG9tIGNvbnRlbnQgdmlldyBpcyBpbnN0YWxsZWQ7IG90aGVy
d2lzZSwKKyAgICAvLyBXS0NvbnRlbnRWaWV3IHdpbGwgYmUgdGhlIGZpcnN0IHJlc3BvbmRlciBh
bmQgZXhwZWN0cyB0byBnZXQga2V5IGV2ZW50cyBkaXJlY3RseS4KKyAgICBpZiAoW3NlbGYgaXNG
aXJzdFJlc3BvbmRlcl0gJiYgZXZlbnQuX2hpZEV2ZW50KSB7CisgICAgICAgIGlmIChbX2N1c3Rv
bUNvbnRlbnRWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViX2hhbmRsZUtleUV2
ZW50OildKSB7CisgICAgICAgICAgICBpZiAoW19jdXN0b21Db250ZW50VmlldyB3ZWJfaGFuZGxl
S2V5RXZlbnQ6ZXZlbnRdKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIFtzdXBlciBfaGFuZGxlS2V5VUlFdmVudDpldmVudF07Cit9CisKIC0gKHZvaWQp
X3dpbGxJbnZva2VVSVNjcm9sbFZpZXdEZWxlZ2F0ZUNhbGxiYWNrCiB7CiAgICAgX2RlbGF5VXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggM2FiYzA5
N2E5NDMyMzg2MzRmZTBlNDk5NWQ2Y2E2OTMwNGIwZWJlYy4uNzA3MGI4ZjE2NTNhMDU3ZmVkZTk4
ODkzMGU2NWI3YWUxYmUwNTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbXBvcnQgPFdlYktpdC9fV0tGaW5kT3B0aW9ucy5oPgogCiBAY2xhc3MgTlNEYXRhOworQGNs
YXNzIFVJRXZlbnQ7CiBAY2xhc3MgVUlTY3JvbGxWaWV3OwogQGNsYXNzIFVJVmlldzsKIEBjbGFz
cyBXS1dlYlZpZXc7CkBAIC02MCw2ICs2MSw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2
b2lkKXdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlOwogLSAodm9p
ZCl3ZWJfc2Nyb2xsVmlld0RpZFpvb206KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXc7CiAtICh2
b2lkKXdlYl9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrOworLSAoQk9PTCl3ZWJfaGFuZGxlS2V5RXZlbnQ6KFVJRXZlbnQgKilldmVudDsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJfZGF0YVJlcHJlc2Vu
dGF0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqd2ViX3N1
Z2dlc3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdl
Yl9pc0JhY2tncm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA1ZTllN2M5MDg3ZjUyNGY4MWUyZmE4
NmQ2NDk3MDA3ZTQ0ZWQ1OWNkLi43ODUxZjE0N2Q0OTRkY2NjZjlmNmZjM2MzOWI2NTgzMmJjODky
NmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBvcnQgIldLVGV4dElu
cHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1RpbWVQaWNrZXJWaWV3Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJF
dmVudC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFs
LmgiCkBAIC0xMjIsMjQgKzEyMyw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tQbGF0
Zm9ybUZpbGVVcGxvYWRQYW5lbC5tbT4KICNlbmRpZgogCi1AaW50ZXJmYWNlIFVJRXZlbnQgKFVJ
RXZlbnRJbnRlcm5hbCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJS2V5Ym9hcmRJ
bnB1dEZsYWdzIF9pbnB1dEZsYWdzOwotQGVuZAotCi1AaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBX
ZWJFdmVudAotQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbikgVUlFdmVudCAqdWlFdmVudDsK
LUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdLV2ViRXZlbnQKLQotLSAodm9pZClkZWFsbG9jCi17
Ci0gICAgW191aUV2ZW50IHJlbGVhc2VdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotQGVu
ZAotCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChX
YXRjaFN1cHBvcnQpIDxXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdEZWxlZ2F0ZSwgV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9s
bGVyRGVsZWdhdGU+CkBAIC0zNzk0LDI2ICszNzc3LDcgQEAgLSAodm9pZCloYW5kbGVLZXlFdmVu
dDooOjpVSUV2ZW50ICopZXZlbnQKICAgICBpZiAoZXZlbnQgPT0gX3VpRXZlbnRCZWluZ1Jlc2Vu
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdWludDE2X3Qga2V5Q29kZTsKLSAgICBCT09MIGlz
SGFyZHdhcmVLZXlib2FyZEV2ZW50ID0gISFldmVudC5faGlkRXZlbnQ7Ci0gICAgaWYgKCFpc0hh
cmR3YXJlS2V5Ym9hcmRFdmVudCkKLSAgICAgICAga2V5Q29kZSA9IDA7Ci0gICAgZWxzZSB7Ci0g
ICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICprZXlFdmVudCA9IChVSVBoeXNpY2FsS2V5
Ym9hcmRFdmVudCAqKWV2ZW50OwotICAgICAgICBrZXlDb2RlID0ga2V5RXZlbnQuX2tleUNvZGU7
Ci0gICAgICAgIGV2ZW50ID0gW1trZXlFdmVudCBfY2xvbmVFdmVudF0gYXV0b3JlbGVhc2VdOyAv
LyBVSUtpdCB1c2VzIGEgc2luZ2xldG9uIGZvciBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMuCi0g
ICAgfQotICAgIFdLV2ViRXZlbnQgKndlYkV2ZW50ID0gW1tbV0tXZWJFdmVudCBhbGxvY10gaW5p
dFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24pID8gV2ViRXZlbnRLZXlEb3duIDog
V2ViRXZlbnRLZXlVcAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyczpl
dmVudC5fbW9kaWZpZWRJbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJbnB1dAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb2RpZmllcnM6ZXZlbnQuX21vZGlmaWVyRmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0aW5nOihldmVudC5faW5w
dXRGbGFncyAmIGtVSUtleWJvYXJkSW5wdXRSZXBlYXQpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGbGFnczpldmVudC5faW5w
dXRGbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtleUNvZGU6a2V5Q29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUYWJLZXk6W2V2ZW50Ll9tb2RpZmll
ZElucHV0IGlzRXF1YWxUb1N0cmluZzpAIlx0Il0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0OldlYkV2ZW50Q2hhcmFj
dGVyU2V0VW5pY29kZV0gYXV0b3JlbGVhc2VdOwotICAgIHdlYkV2ZW50LnVpRXZlbnQgPSBldmVu
dDsKKyAgICA6OldlYkV2ZW50ICp3ZWJFdmVudCA9IFtbW1dLV2ViRXZlbnQgYWxsb2NdIGluaXRX
aXRoRXZlbnQ6ZXZlbnRdIGF1dG9yZWxlYXNlXTsKICAgICAKICAgICBbc2VsZiBoYW5kbGVLZXlX
ZWJFdmVudDp3ZWJFdmVudF07ICAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLUERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BE
RlZpZXcubW0KaW5kZXggNmRkZDYzNWJhMjBmZjk1ODUxZDE3YzBjNjNjYTQ0NTRlZjU5YTVhYi4u
MjcwOWYwZDk4MzIxMTZiZjUwOTMzNzk1ZGEyOWVmZDcxM2FhYTY1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCkBAIC0zMSw4ICszMSwxMSBAQAogI2ltcG9ydCAi
QVBJVUlDbGllbnQuaCIKICNpbXBvcnQgIkZpbmRDbGllbnQuaCIKICNpbXBvcnQgIlBERktpdFNQ
SS5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaCIKKyNpbXBvcnQgIldLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5oIgogI2ltcG9ydCAi
V0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJFdmVudC5oIgogI2ltcG9ydCAi
V0tXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAi
X1dLV2ViVmlld1ByaW50Rm9ybWF0dGVySW50ZXJuYWwuaCIKQEAgLTY1LDYgKzY4LDcgQEAgQGlt
cGxlbWVudGF0aW9uIFdLUERGVmlldyB7CiAgICAgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0
aW9uQXRQb3NpdGlvbiBfcG9zaXRpb25JbmZvcm1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IF9zdWdnZXN0ZWRGaWxlbmFtZTsKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF93ZWJW
aWV3OworICAgIFJldGFpblB0cjxXS0tleWJvYXJkU2Nyb2xsVmlld0FuaW1hdG9yPiBfa2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvcjsKIH0KIAogLSAodm9pZClkZWFsbG9jCkBAIC03Miw5ICs3Niwy
MCBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbX2FjdGlvblNoZWV0QXNzaXN0YW50IGNsZWFudXBT
aGVldF07CiAgICAgW1tfaG9zdFZpZXdDb250cm9sbGVyIHZpZXddIHJlbW92ZUZyb21TdXBlcnZp
ZXddOwogICAgIFtfcGFnZU51bWJlckluZGljYXRvciByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAg
ICBbX2tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgaW52YWxpZGF0ZV07CiAgICAgW3N1cGVyIGRl
YWxsb2NdOwogfQogCistIChCT09MKXdlYl9oYW5kbGVLZXlFdmVudDooOjpVSUV2ZW50ICopZXZl
bnQKK3sKKyAgICA6OldlYkV2ZW50ICp3ZWJFdmVudCA9IFtbW1dLV2ViRXZlbnQgYWxsb2NdIGlu
aXRXaXRoRXZlbnQ6ZXZlbnRdIGF1dG9yZWxlYXNlXTsKKworICAgIGlmIChbX2tleWJvYXJkU2Ny
b2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6d2ViRXZlbnRdKQorICAgICAgICByZXR1cm4g
WUVTOworICAgIFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBoYW5kbGVLZXlFdmVudDp3ZWJF
dmVudF07CisgICAgcmV0dXJuIE5POworfQorCiAtIChCT09MKWdlc3R1cmVSZWNvZ25pemVyU2hv
dWxkQmVnaW46KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogewogICAg
IHJldHVybiBbX2hvc3RWaWV3Q29udHJvbGxlciBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2lu
Omdlc3R1cmVSZWNvZ25pemVyXTsKQEAgLTk5LDYgKzExNCw4IEBAIC0gKGluc3RhbmNldHlwZSl3
ZWJfaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgbWltCiAgICAgc2VsZi5iYWNrZ3JvdW5kQ29sb3IgPSBVSUNvbG9yLmdyYXlDb2xvcjsKICAg
ICB3ZWJWaWV3LnNjcm9sbFZpZXcuYmFja2dyb3VuZENvbG9yID0gVUlDb2xvci5ncmF5Q29sb3I7
CiAKKyAgICBfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciA9IGFkb3B0TlMoW1tXS0tleWJvYXJk
U2Nyb2xsVmlld0FuaW1hdG9yIGFsbG9jXSBpbml0V2l0aFNjcm9sbFZpZXc6d2ViVmlldy5zY3Jv
bGxWaWV3XSk7CisKICAgICBfd2ViVmlldyA9IHdlYlZpZXc7CiAgICAgcmV0dXJuIHNlbGY7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBmZDFjYmU4MDhhMGNmMjBlNjA0NzFjNGNhMGJiODAyZTZlNWE2OWQ4Li5mNjJlNjA0MzFiZWZi
NTJhOGUwMDAxMmE3NTQ5NDY4MGE1ZmM5OTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MCw2ICs1NzAsNyBAQAogCQkyRDEyREFC
NTIwNjYyQzczMDA2RjAwRkIgLyogV0tBbmltYXRpb25EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxMkRBQjQyMDY2MkM3MzAwNkYwMEZC
IC8qIFdLQW5pbWF0aW9uRGVsZWdhdGUuaCAqLzsgfTsKIAkJMkQxQjVENUQxODU4NjlDODAwNkM2
NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDFCNUQ1QjE4NTg2OUM4MDA2
QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJMkQxQjVENUUxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDFC
NUQ1QzE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZXMuaCAq
LzsgfTsKKwkJMkQxRTgyMjMyMTZGRkY1MTAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUU4MjIxMjE2RkZGNTAw
MEExNTI2NSAvKiBXS1dlYkV2ZW50LmggKi87IH07CiAJCTJEMjhBNDk3MUFGOTY1QTEwMEYxOTBD
OSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQyOEE0OTUxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91
dFN0cmF0ZWd5LmggKi87IH07CiAJCTJEMjlFQ0QwMTkyRjJDMkUwMDk4NEI3OCAvKiBSZW1vdGVM
YXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMjlFQ0NFMTkyRjJDMkUwMDk4NEI3OCAvKiBSZW1vdGVM
YXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCAqLzsgfTsKIAkJMkQzQTY1REIxQTdDM0Ex
RjAwQ0FDNjM3IC8qIFdLTmF2aWdhdGlvbkFjdGlvblJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQzQTY1RDkxQTdDM0ExRjAwQ0FDNjM3IC8qIFdL
TmF2aWdhdGlvbkFjdGlvblJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC0xODMzLDkgKzE4MzQsOSBAQAogCQkwMEI5NjYxNTE4RTI0Q0JBMDBD
RTFGODggLyogQVBJRmluZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBUElGaW5kQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTAwQjk2NjE3
MThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRmluZENsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDBCOTY2MTgxOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmluZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwNzI5N0Y5QzFDMTcxMUVBMDAzRjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0
b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5
QzFDMTdCQkVBMDAzRjA3MzUgLyogVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVXNlck1lZGlhUGVybWlzc2lvbkNo
ZWNrUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5RDFDMTdC
QkVBMDAzRjA3MzUgLyogVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcyOTdGOUMxQzE3MTFFQTAwM0YwNzM1IC8q
IERldmljZUlkSGFzaFNhbHRTdG9yYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERldmljZUlkSGFzaFNhbHRTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDcyOTdGOUQxQzE3QkJFQTIyM0YwNzM1IC8qIERldmljZUlkSGFzaFNhbHRT
dG9yYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZUlkSGFzaFNh
bHRTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mjk3RkEwMUMxODZB
REIwMDNGMDczNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVjay5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVjay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mjk3RkExMUMxODZBREIwMDNGMDczNSAv
KiBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjQ1OSw2ICsyNDYwLDggQEAKIAkJMkQxQjVENUExODU4NjU5OTAwNkM2NTk2
IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWaWV3R2VzdHVyZUNv
bnRyb2xsZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMUI1
RDVCMTg1ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlld0dlc3R1cmVD
b250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQxQjVENUMxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3Nh
Z2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZXdHZXN0dXJlQ29udHJv
bGxlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEMUU4MjIxMjE2
RkZGNTAwMEExNTI2NSAvKiBXS1dlYkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFdLV2ViRXZlbnQuaDsgcGF0aCA9IGlvcy9XS1dlYkV2ZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJEMUU4MjIyMjE2RkZGNTEwMEExNTI2NSAvKiBXS1dlYkV2ZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tXZWJFdmVudC5t
bTsgcGF0aCA9IGlvcy9XS1dlYkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyRDI4QTQ5NTFBRjk2NUExMDBGMTkwQzkgLyogV0tWaWV3TGF5b3V0U3RyYXRlZ3kuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tWaWV3TGF5b3V0U3RyYXRlZ3kuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyOEE0OTYxQUY5NjVBMTAwRjE5MEM5IC8qIFdL
Vmlld0xheW91dFN0cmF0ZWd5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJEMjhGM0UwMTg4NUNDQzEwMDRCOUVBRSAvKiBXZWJDaHJvbWVDbGllbnRJT1MubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJDaHJvbWVDbGllbnRJT1Mu
bW07IHBhdGggPSBpb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNTc3Myw2ICs1Nzc2LDggQEAKIAkJCQkyNkYxMEJFNzE5MTg3RTJFMDAxRDBF
NjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLm0gKi8sCiAJCQkJMzE2
QjhCNjIyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLywKIAkJCQkz
MTZCOEI2MTIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSAqLywKKwkJ
CQkyRDFFODIyMTIxNkZGRjUwMDBBMTUyNjUgLyogV0tXZWJFdmVudC5oICovLAorCQkJCTJEMUU4
MjIyMjE2RkZGNTEwMEExNTI2NSAvKiBXS1dlYkV2ZW50Lm1tICovLAogCQkJKTsKIAkJCW5hbWUg
PSBpb3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtOTc0MCw2ICs5NzQ1LDcgQEAK
IAkJCQlCRkE2MTc5RjEyRjBCOTlEMDAzM0UwQ0EgLyogV0tWaWV3UHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQzVFMUFGRTkxNkIyMEI3NTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFGRUIxNkIyMEI3RTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2
ZVJlc291cmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDFFODIyMzIxNkZGRjUxMDBBMTUyNjUg
LyogV0tXZWJFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNBRERFMDUyMTUwNDZCRDAwNjdE
MzA5IC8qIFdLV2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMkU1NjcxOEQ3NzUw
ODAwMzgxNEJEIC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTg5RDgyMTYxQTdFNUQwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW4uaCBp
biBIZWFkZXJzICovLApAQCAtMTA2MDAsNyArMTA2MDYsNiBAQAogCQkJCTJEOTJBNzdEMjEyQjZB
NzEwMEY0OTNGRCAvKiBDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdF
MjEyQjZBNzEwMEY0OTNGRCAvKiBEYXRhUmVmZXJlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTJEOTJBNzdGMjEyQjZBNzEwMEY0OTNGRCAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTA3Mjk3RjlFMUMxN0JCRUEwMTRGMDczNSAvKiBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUI3RDYxOTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxv
YWRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTY0MjI5OTEy
REQwMjkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUE2NDIzMDgxMkREMDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352092</attachid>
            <date>2018-10-11 15:23:10 -0700</date>
            <delta_ts>2018-10-11 16:02:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190495-20181011152309.patch</filename>
            <type>text/plain</type>
            <size>22072</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyNWM5M2JjOTg5NTRkN2Ez
ZGU5NTNjZTg3MDNlZjhkZWI0MjZkZWEuLmVlMzkwMzRjODgzMDNiOWE5OWU3MjM0ZjNiNWY1OWM4
NGFjYTdmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMTAtMTEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZHdhcmUga2V5Ym9h
cmQgYXJyb3cga2V5cy9zcGFjZWJhciBkb24ndCBzY3JvbGwgUERGcyAod29ya3MgZm9yIHdlYiBj
b250ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjczNDYxNj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIb29rIHVwIFdLS2V5Ym9hcmRTY3Jv
bGxWaWV3QW5pbWF0b3IgdG8gdGhlIHNjcm9sbCB2aWV3IHdoZW4KKyAgICAgICAgV0tQREZWaWV3
IGlzIGluc3RhbGxlZC4KKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoK
KyAgICAgICAgTW92ZSBfaW5wdXRGbGFncyB0byB0aGUgSVBJIHNlY3Rpb24gc28gd2UgY2FuIHJl
bW92ZSBpdAorICAgICAgICBmcm9tIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGhhbmRsZUtleUV2ZW50Ol0pOgorICAgICAgICAoLVtXS1dlYkV2ZW50IGRlYWxs
b2NdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTW92ZSBXS1dlYkV2ZW50IG91dCBvZiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uCisgICAgICAgIFdlIHRlbmQgdG8gcHJlZmVyIG9uZSBmaWxlIHBlciBjbGFzcy4KKyAgICAg
ICAgQWxzbywgbW92ZSB0aGUgY29kZSB0byBtYWtlIGEgV0tXZWJFdmVudCBmcm9tIGEgVUlFdmVu
dCBpbnRvCisgICAgICAgIC1pbml0V2l0aEV2ZW50OiwgaW5zdGVhZCBvZiBiZWluZyBhZC1ob2Mg
aW4gV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLgorICAgICAgICBBZG9wdCBSZXRhaW5QdHIgZm9y
IHRoZSBXS1dlYkV2ZW50J3MgdWlFdmVudCBwcm9wZXJ0eS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUtl
eVVJRXZlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlci5oOgorICAgICAgICBQbHVtYiBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMgdG8gY3Vz
dG9tIGNvbnRlbnQgdmlld3MsIGlmIHRoZXkgd2FudCB0aGVtLgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1BERlZpZXcubW06CisgICAgICAgICgtW1dLUERGVmlldyBkZWFsbG9jXSk6Cisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaGFuZGxlS2V5RXZlbnQ6XSk6CisgICAgICAgICgtW1dL
UERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Om1pbWVUeXBlOl0pOgorICAgICAgICBJ
bnN0YWxsIGEgV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBhbmQgcGx1bWIga2V5IGV2ZW50
cyB0byBpdC4KKwogMjAxOC0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZ3Jlc3Npb24oUFNPTik6IERlYWwgd2l0aCB0aGUgZHJhd2luZyBhcmVhIHBv
dGVudGlhbGx5IGJlaW5nIG51bGwgdW5kZXIgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXgg
MWZmZDA3NjY4YWRhZjQxNDY4NGM2ODkwNzZiZDIyZjE1YmE5OGY1ZC4uZTEyMDc0NGIxODg4ZDM2
OTBmNjIxMWRhZjZhNjU5MDUyM2ZkNTBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgKQEAgLTE4Nyw3ICsxODcsNiBAQCB0eXBlZGVmIGVudW0gewogfSBVSUtl
eWJvYXJkSW5wdXRGbGFnczsKIAogQGludGVyZmFjZSBVSUV2ZW50ICgpCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFVJS2V5Ym9hcmRJbnB1dEZsYWdzIF9pbnB1dEZsYWdzOwogLSAo
dm9pZCAqKV9oaWRFdmVudDsKIC0gKE5TU3RyaW5nICopX3VubW9kaWZpZWRJbnB1dDsKIC0gKE5T
U3RyaW5nICopX21vZGlmaWVkSW5wdXQ7CkBAIC0xMDE0LDYgKzEwMTMsNyBAQCB0eXBlZGVmIE5T
SW50ZWdlciBVSUNvbXBvc2l0aW5nTW9kZTsKIEBlbmQKIAogQGludGVyZmFjZSBVSVBoeXNpY2Fs
S2V5Ym9hcmRFdmVudCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUtleWJv
YXJkSW5wdXRGbGFncyBfaW5wdXRGbGFnczsKIC0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICop
X2Nsb25lRXZlbnQgTlNfUkVUVVJOU19SRVRBSU5FRDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0ZJbmRleCBfa2V5Q29kZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCAyNzEzODIxODQ2ZjhjMDg4Y2E0ZDMzNWQzMzA0NTU0ZGVhOGVkYjliLi41OTRiZjkwZGQ1ZjA4
YmZkYzQzNGI5ZjVkYzU5ZTQ4YzNhYTJkNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0z
OTYsNiArMzk2LDcgQEAgVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KIFVJUHJvY2Vzcy9pb3Mv
V0tTY3JvbGxWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJl
UmVjb2duaXplci5tCiBVSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KK1VJUHJv
Y2Vzcy9pb3MvV0tXZWJFdmVudC5tbQogCiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NM
YXVuY2hlck1hYy5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA3OWIzYzIyY2Q5YTU2Y2JjNWZiYmY1MmQ3N2JmNmExN2YyMGY1MDE4
Li44YmJkMTI2MGQyYmQ0NjY0ZTg2NDc1OTg4YzBmZWQ5ZjY1ZTc2ZDhlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE1MjUsNiArMTUy
NSwyMSBAQCAtICh2b2lkKV9kaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbUNvbnRlbnRQcm92
aWRlcldpdGhTdWdnZXN0ZWRGaWxlbmFtZTooY29ucwogICAgIF9wYWdlLT5kaWRMYXlvdXRGb3JD
dXN0b21Db250ZW50UHJvdmlkZXIoKTsKIH0KIAorLSAodm9pZClfaGFuZGxlS2V5VUlFdmVudDoo
OjpVSUV2ZW50ICopZXZlbnQKK3sKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGFuZGxlIGtleSBl
dmVudHMgZnJvbSB0aGUgaGFyZHdhcmUga2V5Ym9hcmQgd2hlbiB3ZSBhcmUKKyAgICAvLyBmaXJz
dCByZXNwb25kZXIgYW5kIGEgY3VzdG9tIGNvbnRlbnQgdmlldyBpcyBpbnN0YWxsZWQ7IG90aGVy
d2lzZSwKKyAgICAvLyBXS0NvbnRlbnRWaWV3IHdpbGwgYmUgdGhlIGZpcnN0IHJlc3BvbmRlciBh
bmQgZXhwZWN0cyB0byBnZXQga2V5IGV2ZW50cyBkaXJlY3RseS4KKyAgICBpZiAoW3NlbGYgaXNG
aXJzdFJlc3BvbmRlcl0gJiYgZXZlbnQuX2hpZEV2ZW50KSB7CisgICAgICAgIGlmIChbX2N1c3Rv
bUNvbnRlbnRWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViX2hhbmRsZUtleUV2
ZW50OildKSB7CisgICAgICAgICAgICBpZiAoW19jdXN0b21Db250ZW50VmlldyB3ZWJfaGFuZGxl
S2V5RXZlbnQ6ZXZlbnRdKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIFtzdXBlciBfaGFuZGxlS2V5VUlFdmVudDpldmVudF07Cit9CisKIC0gKHZvaWQp
X3dpbGxJbnZva2VVSVNjcm9sbFZpZXdEZWxlZ2F0ZUNhbGxiYWNrCiB7CiAgICAgX2RlbGF5VXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggM2FiYzA5
N2E5NDMyMzg2MzRmZTBlNDk5NWQ2Y2E2OTMwNGIwZWJlYy4uNzA3MGI4ZjE2NTNhMDU3ZmVkZTk4
ODkzMGU2NWI3YWUxYmUwNTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbXBvcnQgPFdlYktpdC9fV0tGaW5kT3B0aW9ucy5oPgogCiBAY2xhc3MgTlNEYXRhOworQGNs
YXNzIFVJRXZlbnQ7CiBAY2xhc3MgVUlTY3JvbGxWaWV3OwogQGNsYXNzIFVJVmlldzsKIEBjbGFz
cyBXS1dlYlZpZXc7CkBAIC02MCw2ICs2MSw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2
b2lkKXdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlOwogLSAodm9p
ZCl3ZWJfc2Nyb2xsVmlld0RpZFpvb206KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXc7CiAtICh2
b2lkKXdlYl9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrOworLSAoQk9PTCl3ZWJfaGFuZGxlS2V5RXZlbnQ6KFVJRXZlbnQgKilldmVudDsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJfZGF0YVJlcHJlc2Vu
dGF0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqd2ViX3N1
Z2dlc3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdl
Yl9pc0JhY2tncm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA1ZTllN2M5MDg3ZjUyNGY4MWUyZmE4
NmQ2NDk3MDA3ZTQ0ZWQ1OWNkLi43ODUxZjE0N2Q0OTRkY2NjZjlmNmZjM2MzOWI2NTgzMmJjODky
NmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBvcnQgIldLVGV4dElu
cHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1RpbWVQaWNrZXJWaWV3Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJF
dmVudC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFs
LmgiCkBAIC0xMjIsMjQgKzEyMyw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tQbGF0
Zm9ybUZpbGVVcGxvYWRQYW5lbC5tbT4KICNlbmRpZgogCi1AaW50ZXJmYWNlIFVJRXZlbnQgKFVJ
RXZlbnRJbnRlcm5hbCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJS2V5Ym9hcmRJ
bnB1dEZsYWdzIF9pbnB1dEZsYWdzOwotQGVuZAotCi1AaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBX
ZWJFdmVudAotQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbikgVUlFdmVudCAqdWlFdmVudDsK
LUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdLV2ViRXZlbnQKLQotLSAodm9pZClkZWFsbG9jCi17
Ci0gICAgW191aUV2ZW50IHJlbGVhc2VdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotQGVu
ZAotCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChX
YXRjaFN1cHBvcnQpIDxXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdEZWxlZ2F0ZSwgV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9s
bGVyRGVsZWdhdGU+CkBAIC0zNzk0LDI2ICszNzc3LDcgQEAgLSAodm9pZCloYW5kbGVLZXlFdmVu
dDooOjpVSUV2ZW50ICopZXZlbnQKICAgICBpZiAoZXZlbnQgPT0gX3VpRXZlbnRCZWluZ1Jlc2Vu
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdWludDE2X3Qga2V5Q29kZTsKLSAgICBCT09MIGlz
SGFyZHdhcmVLZXlib2FyZEV2ZW50ID0gISFldmVudC5faGlkRXZlbnQ7Ci0gICAgaWYgKCFpc0hh
cmR3YXJlS2V5Ym9hcmRFdmVudCkKLSAgICAgICAga2V5Q29kZSA9IDA7Ci0gICAgZWxzZSB7Ci0g
ICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICprZXlFdmVudCA9IChVSVBoeXNpY2FsS2V5
Ym9hcmRFdmVudCAqKWV2ZW50OwotICAgICAgICBrZXlDb2RlID0ga2V5RXZlbnQuX2tleUNvZGU7
Ci0gICAgICAgIGV2ZW50ID0gW1trZXlFdmVudCBfY2xvbmVFdmVudF0gYXV0b3JlbGVhc2VdOyAv
LyBVSUtpdCB1c2VzIGEgc2luZ2xldG9uIGZvciBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMuCi0g
ICAgfQotICAgIFdLV2ViRXZlbnQgKndlYkV2ZW50ID0gW1tbV0tXZWJFdmVudCBhbGxvY10gaW5p
dFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24pID8gV2ViRXZlbnRLZXlEb3duIDog
V2ViRXZlbnRLZXlVcAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyczpl
dmVudC5fbW9kaWZpZWRJbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJbnB1dAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb2RpZmllcnM6ZXZlbnQuX21vZGlmaWVyRmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0aW5nOihldmVudC5faW5w
dXRGbGFncyAmIGtVSUtleWJvYXJkSW5wdXRSZXBlYXQpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGbGFnczpldmVudC5faW5w
dXRGbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtleUNvZGU6a2V5Q29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUYWJLZXk6W2V2ZW50Ll9tb2RpZmll
ZElucHV0IGlzRXF1YWxUb1N0cmluZzpAIlx0Il0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0OldlYkV2ZW50Q2hhcmFj
dGVyU2V0VW5pY29kZV0gYXV0b3JlbGVhc2VdOwotICAgIHdlYkV2ZW50LnVpRXZlbnQgPSBldmVu
dDsKKyAgICA6OldlYkV2ZW50ICp3ZWJFdmVudCA9IFtbW1dLV2ViRXZlbnQgYWxsb2NdIGluaXRX
aXRoRXZlbnQ6ZXZlbnRdIGF1dG9yZWxlYXNlXTsKICAgICAKICAgICBbc2VsZiBoYW5kbGVLZXlX
ZWJFdmVudDp3ZWJFdmVudF07ICAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLUERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BE
RlZpZXcubW0KaW5kZXggNmRkZDYzNWJhMjBmZjk1ODUxZDE3YzBjNjNjYTQ0NTRlZjU5YTVhYi4u
MjcwOWYwZDk4MzIxMTZiZjUwOTMzNzk1ZGEyOWVmZDcxM2FhYTY1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCkBAIC0zMSw4ICszMSwxMSBAQAogI2ltcG9ydCAi
QVBJVUlDbGllbnQuaCIKICNpbXBvcnQgIkZpbmRDbGllbnQuaCIKICNpbXBvcnQgIlBERktpdFNQ
SS5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaCIKKyNpbXBvcnQgIldLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5oIgogI2ltcG9ydCAi
V0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJFdmVudC5oIgogI2ltcG9ydCAi
V0tXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAi
X1dLV2ViVmlld1ByaW50Rm9ybWF0dGVySW50ZXJuYWwuaCIKQEAgLTY1LDYgKzY4LDcgQEAgQGlt
cGxlbWVudGF0aW9uIFdLUERGVmlldyB7CiAgICAgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0
aW9uQXRQb3NpdGlvbiBfcG9zaXRpb25JbmZvcm1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IF9zdWdnZXN0ZWRGaWxlbmFtZTsKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF93ZWJW
aWV3OworICAgIFJldGFpblB0cjxXS0tleWJvYXJkU2Nyb2xsVmlld0FuaW1hdG9yPiBfa2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvcjsKIH0KIAogLSAodm9pZClkZWFsbG9jCkBAIC03Miw5ICs3Niwy
MCBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbX2FjdGlvblNoZWV0QXNzaXN0YW50IGNsZWFudXBT
aGVldF07CiAgICAgW1tfaG9zdFZpZXdDb250cm9sbGVyIHZpZXddIHJlbW92ZUZyb21TdXBlcnZp
ZXddOwogICAgIFtfcGFnZU51bWJlckluZGljYXRvciByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAg
ICBbX2tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgaW52YWxpZGF0ZV07CiAgICAgW3N1cGVyIGRl
YWxsb2NdOwogfQogCistIChCT09MKXdlYl9oYW5kbGVLZXlFdmVudDooOjpVSUV2ZW50ICopZXZl
bnQKK3sKKyAgICA6OldlYkV2ZW50ICp3ZWJFdmVudCA9IFtbW1dLV2ViRXZlbnQgYWxsb2NdIGlu
aXRXaXRoRXZlbnQ6ZXZlbnRdIGF1dG9yZWxlYXNlXTsKKworICAgIGlmIChbX2tleWJvYXJkU2Ny
b2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6d2ViRXZlbnRdKQorICAgICAgICByZXR1cm4g
WUVTOworICAgIFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBoYW5kbGVLZXlFdmVudDp3ZWJF
dmVudF07CisgICAgcmV0dXJuIE5POworfQorCiAtIChCT09MKWdlc3R1cmVSZWNvZ25pemVyU2hv
dWxkQmVnaW46KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogewogICAg
IHJldHVybiBbX2hvc3RWaWV3Q29udHJvbGxlciBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2lu
Omdlc3R1cmVSZWNvZ25pemVyXTsKQEAgLTk5LDYgKzExNCw4IEBAIC0gKGluc3RhbmNldHlwZSl3
ZWJfaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgbWltCiAgICAgc2VsZi5iYWNrZ3JvdW5kQ29sb3IgPSBVSUNvbG9yLmdyYXlDb2xvcjsKICAg
ICB3ZWJWaWV3LnNjcm9sbFZpZXcuYmFja2dyb3VuZENvbG9yID0gVUlDb2xvci5ncmF5Q29sb3I7
CiAKKyAgICBfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciA9IGFkb3B0TlMoW1tXS0tleWJvYXJk
U2Nyb2xsVmlld0FuaW1hdG9yIGFsbG9jXSBpbml0V2l0aFNjcm9sbFZpZXc6d2ViVmlldy5zY3Jv
bGxWaWV3XSk7CisKICAgICBfd2ViVmlldyA9IHdlYlZpZXc7CiAgICAgcmV0dXJuIHNlbGY7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tXZWJFdmVudC5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yzk2
NDE0N2UzNDBiY2Q1NmY5YmEzM2QyODIzN2E2ZTBiMWQ1YzQyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQuaApAQCAtMCwwICsxLDQwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCA8V2ViQ29yZS9XZWJF
dmVudC5oPgorCitAY2xhc3MgVUlFdmVudDsKKworQGludGVyZmFjZSBXS1dlYkV2ZW50IDogV2Vi
RXZlbnQKKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudDsK
KworQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwgcmVhZG9ubHkpIFVJRXZlbnQgKnVpRXZl
bnQ7CisKK0BlbmQKKworI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLV2ViRXZlbnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc2NWVkNDg1OWFiYWQ2ZTgxODI3
NWM3OTk1MDk0ODFiOGFmYjFmNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLV2ViRXZlbnQuaCIKKworI2ltcG9ydCAiVUlL
aXRTUEkuaCIKKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBMQVRGT1JNKElPUykK
KworQGltcGxlbWVudGF0aW9uIFdLV2ViRXZlbnQgeworICAgIFJldGFpblB0cjxVSUV2ZW50PiBf
dWlFdmVudDsKK30KKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRXZlbnQ6KFVJRXZlbnQgKill
dmVudAoreworICAgIHVpbnQxNl90IGtleUNvZGU7CisgICAgVUlLZXlib2FyZElucHV0RmxhZ3Mg
aW5wdXRGbGFnczsKKyAgICBCT09MIGlzSGFyZHdhcmVLZXlib2FyZEV2ZW50ID0gISFldmVudC5f
aGlkRXZlbnQ7CisgICAgaWYgKCFpc0hhcmR3YXJlS2V5Ym9hcmRFdmVudCkgeworICAgICAgICBr
ZXlDb2RlID0gMDsKKyAgICAgICAgaW5wdXRGbGFncyA9IChVSUtleWJvYXJkSW5wdXRGbGFncykw
OworICAgIH0gZWxzZSB7CisgICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICprZXlFdmVu
dCA9IChVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudCAqKWV2ZW50OworICAgICAgICBrZXlDb2RlID0g
a2V5RXZlbnQuX2tleUNvZGU7CisgICAgICAgIGlucHV0RmxhZ3MgPSBrZXlFdmVudC5faW5wdXRG
bGFnczsKKyAgICAgICAgZXZlbnQgPSBbW2tleUV2ZW50IF9jbG9uZUV2ZW50XSBhdXRvcmVsZWFz
ZV07IC8vIFVJS2l0IHVzZXMgYSBzaW5nbGV0b24gZm9yIGhhcmR3YXJlIGtleWJvYXJkIGV2ZW50
cy4KKyAgICB9CisKKyAgICBzZWxmID0gW3N1cGVyIGluaXRXaXRoS2V5RXZlbnRUeXBlOihldmVu
dC5faXNLZXlEb3duID8gV2ViRXZlbnRLZXlEb3duIDogV2ViRXZlbnRLZXlVcCkgdGltZVN0YW1w
OmV2ZW50LnRpbWVzdGFtcCBjaGFyYWN0ZXJzOmV2ZW50Ll9tb2RpZmllZElucHV0IGNoYXJhY3Rl
cnNJZ25vcmluZ01vZGlmaWVyczpldmVudC5fdW5tb2RpZmllZElucHV0IG1vZGlmaWVyczpldmVu
dC5fbW9kaWZpZXJGbGFncyBpc1JlcGVhdGluZzooaW5wdXRGbGFncyAmIGtVSUtleWJvYXJkSW5w
dXRSZXBlYXQpIHdpdGhGbGFnczppbnB1dEZsYWdzIGtleUNvZGU6a2V5Q29kZSBpc1RhYktleTpb
ZXZlbnQuX21vZGlmaWVkSW5wdXQgaXNFcXVhbFRvU3RyaW5nOkAiXHQiXSBjaGFyYWN0ZXJTZXQ6
V2ViRXZlbnRDaGFyYWN0ZXJTZXRVbmljb2RlXTsKKyAgICBpZiAoIXNlbGYpCisgICAgICAgIHJl
dHVybiBuaWw7CisKKyAgICBfdWlFdmVudCA9IGV2ZW50OworCisgICAgcmV0dXJuIHNlbGY7Cit9
CisKKy0gKFVJRXZlbnQgKil1aUV2ZW50Cit7CisgICAgcmV0dXJuIF91aUV2ZW50LmdldCgpOwor
fQorCitAZW5kCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDFjYmU4MDhhMGNmMjBlNjA0
NzFjNGNhMGJiODAyZTZlNWE2OWQ4Li5mNjJlNjA0MzFiZWZiNTJhOGUwMDAxMmE3NTQ5NDY4MGE1
ZmM5OTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU3MCw2ICs1NzAsNyBAQAogCQkyRDEyREFCNTIwNjYyQzczMDA2RjAwRkIgLyog
V0tBbmltYXRpb25EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQxMkRBQjQyMDY2MkM3MzAwNkYwMEZCIC8qIFdLQW5pbWF0aW9uRGVsZWdh
dGUuaCAqLzsgfTsKIAkJMkQxQjVENUQxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29u
dHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDFCNUQ1QjE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVD
b250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMkQxQjVENUUxODU4NjlDODAw
NkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDFCNUQ1QzE4NTg2OUM4MDA2QzY1OTYg
LyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZXMuaCAqLzsgfTsKKwkJMkQxRTgyMjMyMTZG
RkY1MTAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUU4MjIxMjE2RkZGNTAwMEExNTI2NSAvKiBXS1dlYkV2ZW50
LmggKi87IH07CiAJCTJEMjhBNDk3MUFGOTY1QTEwMEYxOTBDOSAvKiBXS1ZpZXdMYXlvdXRTdHJh
dGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQy
OEE0OTUxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5LmggKi87IH07CiAJ
CTJEMjlFQ0QwMTkyRjJDMkUwMDk4NEI3OCAvKiBSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVz
aE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEMjlFQ0NFMTkyRjJDMkUwMDk4NEI3OCAvKiBSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVz
aE1vbml0b3IuaCAqLzsgfTsKIAkJMkQzQTY1REIxQTdDM0ExRjAwQ0FDNjM3IC8qIFdLTmF2aWdh
dGlvbkFjdGlvblJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQzQTY1RDkxQTdDM0ExRjAwQ0FDNjM3IC8qIFdLTmF2aWdhdGlvbkFjdGlvblJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xODMz
LDkgKzE4MzQsOSBAQAogCQkwMEI5NjYxNTE4RTI0Q0JBMDBDRTFGODggLyogQVBJRmluZENsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElGaW5kQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTAwQjk2NjE3MThFMjVBRTEwMENFMUY4OCAvKiBG
aW5kQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRmlu
ZENsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDBCOTY2MTgxOEUyNUFF
MTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmluZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzI5N0Y5QzFD
MTcxMUVBMDAzRjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5QzFDMTdCQkVBMDAzRjA3MzUgLyog
VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5RDFDMTdCQkVBMDAzRjA3MzUgLyogVXNlck1l
ZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMDcyOTdGOUMxQzE3MTFFQTAwM0YwNzM1IC8qIERldmljZUlkSGFzaFNhbHRTdG9y
YWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZUlkSGFz
aFNhbHRTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyOTdGOUQx
QzE3QkJFQTIyM0YwNzM1IC8qIERldmljZUlkSGFzaFNhbHRTdG9yYWdlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZUlkSGFzaFNhbHRTdG9yYWdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mjk3RkEwMUMxODZBREIwMDNGMDczNSAvKiBXS1VzZXJN
ZWRpYVBlcm1pc3Npb25DaGVjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3Mjk3RkExMUMxODZBREIwMDNGMDczNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Np
b25DaGVjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1VzZXJNZWRpYVBl
cm1pc3Npb25DaGVjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQ1OSw2ICsy
NDYwLDggQEAKIAkJMkQxQjVENUExODU4NjU5OTAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJv
bGxlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMUI1RDVCMTg1ODY5QzgwMDZDNjU5NiAv
KiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQxQjVENUMxODU4NjlDODAw
NkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEMUU4MjIxMjE2RkZGNTAwMEExNTI2NSAvKiBXS1dl
YkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLV2ViRXZlbnQuaDsg
cGF0aCA9IGlvcy9XS1dlYkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
MUU4MjIyMjE2RkZGNTEwMEExNTI2NSAvKiBXS1dlYkV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tXZWJFdmVudC5tbTsgcGF0aCA9IGlvcy9XS1dlYkV2
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDI4QTQ5NTFBRjk2NUExMDBG
MTkwQzkgLyogV0tWaWV3TGF5b3V0U3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tWaWV3TGF5b3V0U3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQyOEE0OTYxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tWaWV3TGF5b3V0U3Ry
YXRlZ3kubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMjhGM0UwMTg4NUNDQzEw
MDRCOUVBRSAvKiBXZWJDaHJvbWVDbGllbnRJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBXZWJDaHJvbWVDbGllbnRJT1MubW07IHBhdGggPSBpb3MvV2ViQ2hy
b21lQ2xpZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTc3Myw2ICs1
Nzc2LDggQEAKIAkJCQkyNkYxMEJFNzE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlj
a1RhcEdlc3R1cmVSZWNvZ25pemVyLm0gKi8sCiAJCQkJMzE2QjhCNjIyMDU0QjU1ODAwQkQ0QTYy
IC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLywKIAkJCQkzMTZCOEI2MTIwNTRCNTU4MDBCRDRB
NjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSAqLywKKwkJCQkyRDFFODIyMTIxNkZGRjUwMDBB
MTUyNjUgLyogV0tXZWJFdmVudC5oICovLAorCQkJCTJEMUU4MjIyMjE2RkZGNTEwMEExNTI2NSAv
KiBXS1dlYkV2ZW50Lm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBpb3M7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtOTc0MCw2ICs5NzQ1LDcgQEAKIAkJCQlCRkE2MTc5RjEyRjBCOTlE
MDAzM0UwQ0EgLyogV0tWaWV3UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFGRTkx
NkIyMEI3NTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVF
MUFGRUIxNkIyMEI3RTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZVJlc291cmNlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkyRDFFODIyMzIxNkZGRjUxMDBBMTUyNjUgLyogV0tXZWJFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUNBRERFMDUyMTUwNDZCRDAwNjdEMzA5IC8qIFdLV2ViUHJvY2Vzcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMkU1NjcxOEQ3NzUwODAwMzgxNEJEIC8qIFdLV2ViUHJv
Y2Vzc0J1bmRsZVBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTg5RDgyMTYxQTdF
NUQwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW4uaCBpbiBIZWFkZXJzICovLApAQCAtMTA2
MDAsNyArMTA2MDYsNiBAQAogCQkJCTJEOTJBNzdEMjEyQjZBNzEwMEY0OTNGRCAvKiBDb25uZWN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdFMjEyQjZBNzEwMEY0OTNGRCAvKiBE
YXRhUmVmZXJlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdGMjEyQjZBNzEwMEY0
OTNGRCAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA3Mjk3RjlFMUMxN0JCRUEw
MTRGMDczNSAvKiBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQUI3RDYxOTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTY0MjI5OTEyREQwMjkyMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2NDIzMDgx
MkREMDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352097</attachid>
            <date>2018-10-11 16:02:34 -0700</date>
            <delta_ts>2018-10-11 16:03:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190495-20181011160233.patch</filename>
            <type>text/plain</type>
            <size>22158</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyNWM5M2JjOTg5NTRkN2Ez
ZGU5NTNjZTg3MDNlZjhkZWI0MjZkZWEuLmVlMzkwMzRjODgzMDNiOWE5OWU3MjM0ZjNiNWY1OWM4
NGFjYTdmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMTAtMTEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZHdhcmUga2V5Ym9h
cmQgYXJyb3cga2V5cy9zcGFjZWJhciBkb24ndCBzY3JvbGwgUERGcyAod29ya3MgZm9yIHdlYiBj
b250ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjczNDYxNj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIb29rIHVwIFdLS2V5Ym9hcmRTY3Jv
bGxWaWV3QW5pbWF0b3IgdG8gdGhlIHNjcm9sbCB2aWV3IHdoZW4KKyAgICAgICAgV0tQREZWaWV3
IGlzIGluc3RhbGxlZC4KKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoK
KyAgICAgICAgTW92ZSBfaW5wdXRGbGFncyB0byB0aGUgSVBJIHNlY3Rpb24gc28gd2UgY2FuIHJl
bW92ZSBpdAorICAgICAgICBmcm9tIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGhhbmRsZUtleUV2ZW50Ol0pOgorICAgICAgICAoLVtXS1dlYkV2ZW50IGRlYWxs
b2NdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTW92ZSBXS1dlYkV2ZW50IG91dCBvZiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uCisgICAgICAgIFdlIHRlbmQgdG8gcHJlZmVyIG9uZSBmaWxlIHBlciBjbGFzcy4KKyAgICAg
ICAgQWxzbywgbW92ZSB0aGUgY29kZSB0byBtYWtlIGEgV0tXZWJFdmVudCBmcm9tIGEgVUlFdmVu
dCBpbnRvCisgICAgICAgIC1pbml0V2l0aEV2ZW50OiwgaW5zdGVhZCBvZiBiZWluZyBhZC1ob2Mg
aW4gV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLgorICAgICAgICBBZG9wdCBSZXRhaW5QdHIgZm9y
IHRoZSBXS1dlYkV2ZW50J3MgdWlFdmVudCBwcm9wZXJ0eS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUtl
eVVJRXZlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlci5oOgorICAgICAgICBQbHVtYiBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMgdG8gY3Vz
dG9tIGNvbnRlbnQgdmlld3MsIGlmIHRoZXkgd2FudCB0aGVtLgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1BERlZpZXcubW06CisgICAgICAgICgtW1dLUERGVmlldyBkZWFsbG9jXSk6Cisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaGFuZGxlS2V5RXZlbnQ6XSk6CisgICAgICAgICgtW1dL
UERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Om1pbWVUeXBlOl0pOgorICAgICAgICBJ
bnN0YWxsIGEgV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBhbmQgcGx1bWIga2V5IGV2ZW50
cyB0byBpdC4KKwogMjAxOC0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZ3Jlc3Npb24oUFNPTik6IERlYWwgd2l0aCB0aGUgZHJhd2luZyBhcmVhIHBv
dGVudGlhbGx5IGJlaW5nIG51bGwgdW5kZXIgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXgg
MWZmZDA3NjY4YWRhZjQxNDY4NGM2ODkwNzZiZDIyZjE1YmE5OGY1ZC4uZTEyMDc0NGIxODg4ZDM2
OTBmNjIxMWRhZjZhNjU5MDUyM2ZkNTBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgKQEAgLTE4Nyw3ICsxODcsNiBAQCB0eXBlZGVmIGVudW0gewogfSBVSUtl
eWJvYXJkSW5wdXRGbGFnczsKIAogQGludGVyZmFjZSBVSUV2ZW50ICgpCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFVJS2V5Ym9hcmRJbnB1dEZsYWdzIF9pbnB1dEZsYWdzOwogLSAo
dm9pZCAqKV9oaWRFdmVudDsKIC0gKE5TU3RyaW5nICopX3VubW9kaWZpZWRJbnB1dDsKIC0gKE5T
U3RyaW5nICopX21vZGlmaWVkSW5wdXQ7CkBAIC0xMDE0LDYgKzEwMTMsNyBAQCB0eXBlZGVmIE5T
SW50ZWdlciBVSUNvbXBvc2l0aW5nTW9kZTsKIEBlbmQKIAogQGludGVyZmFjZSBVSVBoeXNpY2Fs
S2V5Ym9hcmRFdmVudCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUtleWJv
YXJkSW5wdXRGbGFncyBfaW5wdXRGbGFnczsKIC0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICop
X2Nsb25lRXZlbnQgTlNfUkVUVVJOU19SRVRBSU5FRDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0ZJbmRleCBfa2V5Q29kZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCAyNzEzODIxODQ2ZjhjMDg4Y2E0ZDMzNWQzMzA0NTU0ZGVhOGVkYjliLi41OTRiZjkwZGQ1ZjA4
YmZkYzQzNGI5ZjVkYzU5ZTQ4YzNhYTJkNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0z
OTYsNiArMzk2LDcgQEAgVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KIFVJUHJvY2Vzcy9pb3Mv
V0tTY3JvbGxWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJl
UmVjb2duaXplci5tCiBVSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KK1VJUHJv
Y2Vzcy9pb3MvV0tXZWJFdmVudC5tbQogCiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NM
YXVuY2hlck1hYy5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA3OWIzYzIyY2Q5YTU2Y2JjNWZiYmY1MmQ3N2JmNmExN2YyMGY1MDE4
Li44YmJkMTI2MGQyYmQ0NjY0ZTg2NDc1OTg4YzBmZWQ5ZjY1ZTc2ZDhlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE1MjUsNiArMTUy
NSwyMSBAQCAtICh2b2lkKV9kaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbUNvbnRlbnRQcm92
aWRlcldpdGhTdWdnZXN0ZWRGaWxlbmFtZTooY29ucwogICAgIF9wYWdlLT5kaWRMYXlvdXRGb3JD
dXN0b21Db250ZW50UHJvdmlkZXIoKTsKIH0KIAorLSAodm9pZClfaGFuZGxlS2V5VUlFdmVudDoo
OjpVSUV2ZW50ICopZXZlbnQKK3sKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGFuZGxlIGtleSBl
dmVudHMgZnJvbSB0aGUgaGFyZHdhcmUga2V5Ym9hcmQgd2hlbiB3ZSBhcmUKKyAgICAvLyBmaXJz
dCByZXNwb25kZXIgYW5kIGEgY3VzdG9tIGNvbnRlbnQgdmlldyBpcyBpbnN0YWxsZWQ7IG90aGVy
d2lzZSwKKyAgICAvLyBXS0NvbnRlbnRWaWV3IHdpbGwgYmUgdGhlIGZpcnN0IHJlc3BvbmRlciBh
bmQgZXhwZWN0cyB0byBnZXQga2V5IGV2ZW50cyBkaXJlY3RseS4KKyAgICBpZiAoW3NlbGYgaXNG
aXJzdFJlc3BvbmRlcl0gJiYgZXZlbnQuX2hpZEV2ZW50KSB7CisgICAgICAgIGlmIChbX2N1c3Rv
bUNvbnRlbnRWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViX2hhbmRsZUtleUV2
ZW50OildKSB7CisgICAgICAgICAgICBpZiAoW19jdXN0b21Db250ZW50VmlldyB3ZWJfaGFuZGxl
S2V5RXZlbnQ6ZXZlbnRdKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIFtzdXBlciBfaGFuZGxlS2V5VUlFdmVudDpldmVudF07Cit9CisKIC0gKHZvaWQp
X3dpbGxJbnZva2VVSVNjcm9sbFZpZXdEZWxlZ2F0ZUNhbGxiYWNrCiB7CiAgICAgX2RlbGF5VXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggM2FiYzA5
N2E5NDMyMzg2MzRmZTBlNDk5NWQ2Y2E2OTMwNGIwZWJlYy4uNzA3MGI4ZjE2NTNhMDU3ZmVkZTk4
ODkzMGU2NWI3YWUxYmUwNTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbXBvcnQgPFdlYktpdC9fV0tGaW5kT3B0aW9ucy5oPgogCiBAY2xhc3MgTlNEYXRhOworQGNs
YXNzIFVJRXZlbnQ7CiBAY2xhc3MgVUlTY3JvbGxWaWV3OwogQGNsYXNzIFVJVmlldzsKIEBjbGFz
cyBXS1dlYlZpZXc7CkBAIC02MCw2ICs2MSw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2
b2lkKXdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlOwogLSAodm9p
ZCl3ZWJfc2Nyb2xsVmlld0RpZFpvb206KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXc7CiAtICh2
b2lkKXdlYl9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrOworLSAoQk9PTCl3ZWJfaGFuZGxlS2V5RXZlbnQ6KFVJRXZlbnQgKilldmVudDsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJfZGF0YVJlcHJlc2Vu
dGF0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqd2ViX3N1
Z2dlc3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdl
Yl9pc0JhY2tncm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA1ZTllN2M5MDg3ZjUyNGY4MWUyZmE4
NmQ2NDk3MDA3ZTQ0ZWQ1OWNkLi4xMGRkMzMzYjlhNTljNjg1ZmE0ZmViZTg4OGFhZWI4ZGVlZDRk
YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBvcnQgIldLVGV4dElu
cHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1RpbWVQaWNrZXJWaWV3Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJF
dmVudC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFs
LmgiCkBAIC0xMjIsMjQgKzEyMyw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tQbGF0
Zm9ybUZpbGVVcGxvYWRQYW5lbC5tbT4KICNlbmRpZgogCi1AaW50ZXJmYWNlIFVJRXZlbnQgKFVJ
RXZlbnRJbnRlcm5hbCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJS2V5Ym9hcmRJ
bnB1dEZsYWdzIF9pbnB1dEZsYWdzOwotQGVuZAotCi1AaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBX
ZWJFdmVudAotQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbikgVUlFdmVudCAqdWlFdmVudDsK
LUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdLV2ViRXZlbnQKLQotLSAodm9pZClkZWFsbG9jCi17
Ci0gICAgW191aUV2ZW50IHJlbGVhc2VdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotQGVu
ZAotCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChX
YXRjaFN1cHBvcnQpIDxXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdEZWxlZ2F0ZSwgV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9s
bGVyRGVsZWdhdGU+CkBAIC0zNzk0LDI4ICszNzc3LDkgQEAgLSAodm9pZCloYW5kbGVLZXlFdmVu
dDooOjpVSUV2ZW50ICopZXZlbnQKICAgICBpZiAoZXZlbnQgPT0gX3VpRXZlbnRCZWluZ1Jlc2Vu
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdWludDE2X3Qga2V5Q29kZTsKLSAgICBCT09MIGlz
SGFyZHdhcmVLZXlib2FyZEV2ZW50ID0gISFldmVudC5faGlkRXZlbnQ7Ci0gICAgaWYgKCFpc0hh
cmR3YXJlS2V5Ym9hcmRFdmVudCkKLSAgICAgICAga2V5Q29kZSA9IDA7Ci0gICAgZWxzZSB7Ci0g
ICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICprZXlFdmVudCA9IChVSVBoeXNpY2FsS2V5
Ym9hcmRFdmVudCAqKWV2ZW50OwotICAgICAgICBrZXlDb2RlID0ga2V5RXZlbnQuX2tleUNvZGU7
Ci0gICAgICAgIGV2ZW50ID0gW1trZXlFdmVudCBfY2xvbmVFdmVudF0gYXV0b3JlbGVhc2VdOyAv
LyBVSUtpdCB1c2VzIGEgc2luZ2xldG9uIGZvciBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMuCi0g
ICAgfQotICAgIFdLV2ViRXZlbnQgKndlYkV2ZW50ID0gW1tbV0tXZWJFdmVudCBhbGxvY10gaW5p
dFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24pID8gV2ViRXZlbnRLZXlEb3duIDog
V2ViRXZlbnRLZXlVcAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyczpl
dmVudC5fbW9kaWZpZWRJbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJbnB1dAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb2RpZmllcnM6ZXZlbnQuX21vZGlmaWVyRmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0aW5nOihldmVudC5faW5w
dXRGbGFncyAmIGtVSUtleWJvYXJkSW5wdXRSZXBlYXQpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGbGFnczpldmVudC5faW5w
dXRGbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtleUNvZGU6a2V5Q29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUYWJLZXk6W2V2ZW50Ll9tb2RpZmll
ZElucHV0IGlzRXF1YWxUb1N0cmluZzpAIlx0Il0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0OldlYkV2ZW50Q2hhcmFj
dGVyU2V0VW5pY29kZV0gYXV0b3JlbGVhc2VdOwotICAgIHdlYkV2ZW50LnVpRXZlbnQgPSBldmVu
dDsKKyAgICBhdXRvIHdlYkV2ZW50ID0gYWRvcHROUyhbW1dLV2ViRXZlbnQgYWxsb2NdIGluaXRX
aXRoRXZlbnQ6ZXZlbnRdKTsKICAgICAKLSAgICBbc2VsZiBoYW5kbGVLZXlXZWJFdmVudDp3ZWJF
dmVudF07ICAgIAorICAgIFtzZWxmIGhhbmRsZUtleVdlYkV2ZW50OndlYkV2ZW50LmdldCgpXTsK
IH0KIAogLSAodm9pZCloYW5kbGVLZXlXZWJFdmVudDooOjpXZWJFdmVudCAqKXRoZUV2ZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQppbmRleCA2ZGRkNjM1YmEyMGZm
OTU4NTFkMTdjMGM2M2NhNDQ1NGVmNTlhNWFiLi43YWQ2Yjg3ZDA1YWQzYWY4ZjY0OGQ5YzA0NGJi
ODgxYTljMGM0MGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQ
REZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0K
QEAgLTMxLDggKzMxLDExIEBACiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgogI2ltcG9ydCAiRmlu
ZENsaWVudC5oIgogI2ltcG9ydCAiUERGS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgog
I2ltcG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIgorI2ltcG9ydCAiV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLmgiCiAjaW1wb3J0ICJXS1VJRGVsZWdhdGVQcml2YXRlLmgiCisjaW1w
b3J0ICJXS1dlYkV2ZW50LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXJJbnRl
cm5hbC5oIgpAQCAtNjUsNiArNjgsNyBAQCBAaW1wbGVtZW50YXRpb24gV0tQREZWaWV3IHsKICAg
ICBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIF9wb3NpdGlvbkluZm9y
bWF0aW9uOwogICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3N1Z2dlc3RlZEZpbGVuYW1lOwogICAg
IFdlYWtPYmpDUHRyPFdLV2ViVmlldz4gX3dlYlZpZXc7CisgICAgUmV0YWluUHRyPFdLS2V5Ym9h
cmRTY3JvbGxWaWV3QW5pbWF0b3I+IF9rZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yOwogfQogCiAt
ICh2b2lkKWRlYWxsb2MKQEAgLTcyLDkgKzc2LDIwIEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtf
YWN0aW9uU2hlZXRBc3Npc3RhbnQgY2xlYW51cFNoZWV0XTsKICAgICBbW19ob3N0Vmlld0NvbnRy
b2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgW19wYWdlTnVtYmVySW5kaWNh
dG9yIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
ciBpbnZhbGlkYXRlXTsKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKKy0gKEJPT0wpd2ViX2hh
bmRsZUtleUV2ZW50Oig6OlVJRXZlbnQgKilldmVudAoreworICAgIGF1dG8gd2ViRXZlbnQgPSBh
ZG9wdE5TKFtbV0tXZWJFdmVudCBhbGxvY10gaW5pdFdpdGhFdmVudDpldmVudF0pOworCisgICAg
aWYgKFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBiZWdpbldpdGhFdmVudDp3ZWJFdmVudC5n
ZXQoKV0pCisgICAgICAgIHJldHVybiBZRVM7CisgICAgW19rZXlib2FyZFNjcm9sbGluZ0FuaW1h
dG9yIGhhbmRsZUtleUV2ZW50OndlYkV2ZW50LmdldCgpXTsKKyAgICByZXR1cm4gTk87Cit9CisK
IC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXpl
ciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CiAgICAgcmV0dXJuIFtfaG9zdFZpZXdDb250cm9sbGVy
IGdlc3R1cmVSZWNvZ25pemVyU2hvdWxkQmVnaW46Z2VzdHVyZVJlY29nbml6ZXJdOwpAQCAtOTks
NiArMTE0LDggQEAgLSAoaW5zdGFuY2V0eXBlKXdlYl9pbml0V2l0aEZyYW1lOihDR1JlY3QpZnJh
bWUgd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBtaW0KICAgICBzZWxmLmJhY2tncm91bmRD
b2xvciA9IFVJQ29sb3IuZ3JheUNvbG9yOwogICAgIHdlYlZpZXcuc2Nyb2xsVmlldy5iYWNrZ3Jv
dW5kQ29sb3IgPSBVSUNvbG9yLmdyYXlDb2xvcjsKIAorICAgIF9rZXlib2FyZFNjcm9sbGluZ0Fu
aW1hdG9yID0gYWRvcHROUyhbW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgYWxsb2NdIGlu
aXRXaXRoU2Nyb2xsVmlldzp3ZWJWaWV3LnNjcm9sbFZpZXddKTsKKwogICAgIF93ZWJWaWV3ID0g
d2ViVmlldzsKICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tXZWJFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjOTY0MTQ3ZTM0MGJjZDU2ZjliYTMzZDI4MjM3YTZl
MGIxZDVjNDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tXZWJFdmVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0o
SU9TKQorCisjaW1wb3J0IDxXZWJDb3JlL1dlYkV2ZW50Lmg+CisKK0BjbGFzcyBVSUV2ZW50Owor
CitAaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBXZWJFdmVudAorCistIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50OworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0
YWluLCByZWFkb25seSkgVUlFdmVudCAqdWlFdmVudDsKKworQGVuZAorCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2Vi
RXZlbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tXZWJFdmVudC5tbQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NzY1ZWQ0ODU5YWJhZDZlODE4Mjc1Yzc5OTUwOTQ4MWI4YWZiMWY2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQubW0KQEAg
LTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
V0tXZWJFdmVudC5oIgorCisjaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorCisjaWYgUExBVEZPUk0oSU9TKQorCitAaW1wbGVtZW50YXRpb24gV0tXZWJFdmVu
dCB7CisgICAgUmV0YWluUHRyPFVJRXZlbnQ+IF91aUV2ZW50OworfQorCistIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50Cit7CisgICAgdWludDE2X3Qga2V5Q29k
ZTsKKyAgICBVSUtleWJvYXJkSW5wdXRGbGFncyBpbnB1dEZsYWdzOworICAgIEJPT0wgaXNIYXJk
d2FyZUtleWJvYXJkRXZlbnQgPSAhIWV2ZW50Ll9oaWRFdmVudDsKKyAgICBpZiAoIWlzSGFyZHdh
cmVLZXlib2FyZEV2ZW50KSB7CisgICAgICAgIGtleUNvZGUgPSAwOworICAgICAgICBpbnB1dEZs
YWdzID0gKFVJS2V5Ym9hcmRJbnB1dEZsYWdzKTA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVUlQ
aHlzaWNhbEtleWJvYXJkRXZlbnQgKmtleUV2ZW50ID0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50
ICopZXZlbnQ7CisgICAgICAgIGtleUNvZGUgPSBrZXlFdmVudC5fa2V5Q29kZTsKKyAgICAgICAg
aW5wdXRGbGFncyA9IGtleUV2ZW50Ll9pbnB1dEZsYWdzOworICAgICAgICBldmVudCA9IFtba2V5
RXZlbnQgX2Nsb25lRXZlbnRdIGF1dG9yZWxlYXNlXTsgLy8gVUlLaXQgdXNlcyBhIHNpbmdsZXRv
biBmb3IgaGFyZHdhcmUga2V5Ym9hcmQgZXZlbnRzLgorICAgIH0KKworICAgIHNlbGYgPSBbc3Vw
ZXIgaW5pdFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24gPyBXZWJFdmVudEtleURv
d24gOiBXZWJFdmVudEtleVVwKSB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wIGNoYXJhY3RlcnM6
ZXZlbnQuX21vZGlmaWVkSW5wdXQgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOmV2ZW50Ll91
bm1vZGlmaWVkSW5wdXQgbW9kaWZpZXJzOmV2ZW50Ll9tb2RpZmllckZsYWdzIGlzUmVwZWF0aW5n
OihpbnB1dEZsYWdzICYga1VJS2V5Ym9hcmRJbnB1dFJlcGVhdCkgd2l0aEZsYWdzOmlucHV0Rmxh
Z3Mga2V5Q29kZTprZXlDb2RlIGlzVGFiS2V5OltldmVudC5fbW9kaWZpZWRJbnB1dCBpc0VxdWFs
VG9TdHJpbmc6QCJcdCJdIGNoYXJhY3RlclNldDpXZWJFdmVudENoYXJhY3RlclNldFVuaWNvZGVd
OworICAgIGlmICghc2VsZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF91aUV2ZW50ID0g
ZXZlbnQ7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAoVUlFdmVudCAqKXVpRXZlbnQKK3sK
KyAgICByZXR1cm4gX3VpRXZlbnQuZ2V0KCk7Cit9CisKK0BlbmQKKworI2VuZGlmIC8vIFBMQVRG
T1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGZkMWNiZTgwOGEwY2YyMGU2MDQ3MWM0Y2EwYmI4MDJlNmU1YTY5ZDguLmY2MmU2
MDQzMWJlZmI1MmE4ZTAwMDEyYTc1NDk0NjgwYTVmYzk5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcwLDYgKzU3MCw3IEBACiAJ
CTJEMTJEQUI1MjA2NjJDNzMwMDZGMDBGQiAvKiBXS0FuaW1hdGlvbkRlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDEyREFCNDIwNjYyQzcz
MDA2RjAwRkIgLyogV0tBbmltYXRpb25EZWxlZ2F0ZS5oICovOyB9OwogCQkyRDFCNUQ1RDE4NTg2
OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUI1RDVCMTg1
ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQkyRDFCNUQ1RTE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9s
bGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEMUI1RDVDMTg1ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNz
YWdlcy5oICovOyB9OworCQkyRDFFODIyMzIxNkZGRjUxMDBBMTUyNjUgLyogV0tXZWJFdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxRTgyMjEy
MTZGRkY1MDAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCAqLzsgfTsKIAkJMkQyOEE0OTcxQUY5NjVB
MTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI4QTQ5NTFBRjk2NUExMDBGMTkwQzkgLyogV0tW
aWV3TGF5b3V0U3RyYXRlZ3kuaCAqLzsgfTsKIAkJMkQyOUVDRDAxOTJGMkMyRTAwOTg0Qjc4IC8q
IFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyOUVDQ0UxOTJGMkMyRTAwOTg0Qjc4IC8q
IFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQkyRDNBNjVE
QjFBN0MzQTFGMDBDQUM2MzcgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUmVmLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNBNjVEOTFBN0MzQTFGMDBDQUM2
MzcgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE4MzMsOSArMTgzNCw5IEBACiAJCTAwQjk2NjE1MThF
MjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFQSUZpbmRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDBCOTY2MTcxOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGaW5kQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwMEI5NjYxODE4RTI1QUUxMDBDRTFGODggLyogRmluZENsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaW5kQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTA3Mjk3RjlDMUMxNzExRUEwMDNGMDczNSAvKiBEZXZpY2VJZEhh
c2hTYWx0U3RvcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA3Mjk3RjlDMUMxN0JCRUEwMDNGMDczNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVc2VyTWVkaWFQZXJt
aXNzaW9uQ2hlY2tQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mjk3
RjlEMUMxN0JCRUEwMDNGMDczNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQ
cm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzI5N0Y5QzFDMTcxMUVBMDAz
RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5RDFDMTdCQkVBMjIzRjA3MzUgLyogRGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNl
SWRIYXNoU2FsdFN0b3JhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyOTdG
QTAxQzE4NkFEQjAwM0YwNzM1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvbkNo
ZWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyOTdGQTExQzE4NkFEQjAw
M0YwNzM1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNDU5LDYgKzI0NjAsOCBAQAogCQkyRDFCNUQ1QTE4NTg2NTk5
MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZpZXdH
ZXN0dXJlQ29udHJvbGxlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQxQjVENUIxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWV3
R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDFCNUQ1QzE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9s
bGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlld0dlc3R1
cmVDb250cm9sbGVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQx
RTgyMjEyMTZGRkY1MDAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV0tXZWJFdmVudC5oOyBwYXRoID0gaW9zL1dLV2ViRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQxRTgyMjIyMTZGRkY1MTAwQTE1MjY1IC8qIFdL
V2ViRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1dl
YkV2ZW50Lm1tOyBwYXRoID0gaW9zL1dLV2ViRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEMjhBNDk1MUFGOTY1QTEwMEYxOTBDOSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVn
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1ZpZXdMYXlvdXRTdHJhdGVn
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDI4QTQ5NjFBRjk2NUExMDBGMTkw
QzkgLyogV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1ZpZXdMYXlvdXRTdHJhdGVneS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQyOEYzRTAxODg1Q0NDMTAwNEI5RUFFIC8qIFdlYkNocm9tZUNsaWVudElP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdlYkNocm9tZUNs
aWVudElPUy5tbTsgcGF0aCA9IGlvcy9XZWJDaHJvbWVDbGllbnRJT1MubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NzczLDYgKzU3NzYsOCBAQAogCQkJCTI2RjEwQkU3MTkxODdF
MkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIubSAqLywK
IAkJCQkzMTZCOEI2MjIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oICov
LAogCQkJCTMxNkI4QjYxMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1t
ICovLAorCQkJCTJEMUU4MjIxMjE2RkZGNTAwMEExNTI2NSAvKiBXS1dlYkV2ZW50LmggKi8sCisJ
CQkJMkQxRTgyMjIyMTZGRkY1MTAwQTE1MjY1IC8qIFdLV2ViRXZlbnQubW0gKi8sCiAJCQkpOwog
CQkJbmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC05NzQwLDYgKzk3
NDUsNyBAQAogCQkJCUJGQTYxNzlGMTJGMEI5OUQwMDMzRTBDQSAvKiBXS1ZpZXdQcml2YXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDNUUxQUZFOTE2QjIwQjc1MDA2Q0MxRjIgLyogV0tXZWJBcmNo
aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUUxQUZFQjE2QjIwQjdFMDA2Q0MxRjIgLyogV0tX
ZWJBcmNoaXZlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEMUU4MjIzMjE2RkZGNTEw
MEExNTI2NSAvKiBXS1dlYkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0FEREUwNTIxNTA0
NkJEMDA2N0QzMDkgLyogV0tXZWJQcm9jZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEyRTU2
NzE4RDc3NTA4MDAzODE0QkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM5ODlEODIxNjFBN0U1RDAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYwMCw3ICsxMDYwNiw2IEBACiAJCQkJMkQ5MkE3
N0QyMTJCNkE3MTAwRjQ5M0ZEIC8qIENvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MkE3N0UyMTJCNkE3MTAwRjQ5M0ZEIC8qIERhdGFSZWZlcmVuY2UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3N0YyMTJCNkE3MTAwRjQ5M0ZEIC8qIERlY29kZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMDcyOTdGOUUxQzE3QkJFQTAxNEYwNzM1IC8qIERldmljZUlkSGFzaFNhbHRT
dG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjdENjE5MTI4OEI5RDkwMENGRDA4QyAv
KiBEb3dubG9hZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NjQyMjk5MTJERDAyOTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTY0MjMwODEyREQwOUVCMDBDQUFFMkMgLyogRHJhd2luZ0Fy
ZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352098</attachid>
            <date>2018-10-11 16:03:44 -0700</date>
            <delta_ts>2018-10-11 16:37:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190495-20181011160343.patch</filename>
            <type>text/plain</type>
            <size>22158</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyNWM5M2JjOTg5NTRkN2Ez
ZGU5NTNjZTg3MDNlZjhkZWI0MjZkZWEuLmVlMzkwMzRjODgzMDNiOWE5OWU3MjM0ZjNiNWY1OWM4
NGFjYTdmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMTAtMTEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZHdhcmUga2V5Ym9h
cmQgYXJyb3cga2V5cy9zcGFjZWJhciBkb24ndCBzY3JvbGwgUERGcyAod29ya3MgZm9yIHdlYiBj
b250ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjczNDYxNj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIb29rIHVwIFdLS2V5Ym9hcmRTY3Jv
bGxWaWV3QW5pbWF0b3IgdG8gdGhlIHNjcm9sbCB2aWV3IHdoZW4KKyAgICAgICAgV0tQREZWaWV3
IGlzIGluc3RhbGxlZC4KKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoK
KyAgICAgICAgTW92ZSBfaW5wdXRGbGFncyB0byB0aGUgSVBJIHNlY3Rpb24gc28gd2UgY2FuIHJl
bW92ZSBpdAorICAgICAgICBmcm9tIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGhhbmRsZUtleUV2ZW50Ol0pOgorICAgICAgICAoLVtXS1dlYkV2ZW50IGRlYWxs
b2NdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTW92ZSBXS1dlYkV2ZW50IG91dCBvZiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uCisgICAgICAgIFdlIHRlbmQgdG8gcHJlZmVyIG9uZSBmaWxlIHBlciBjbGFzcy4KKyAgICAg
ICAgQWxzbywgbW92ZSB0aGUgY29kZSB0byBtYWtlIGEgV0tXZWJFdmVudCBmcm9tIGEgVUlFdmVu
dCBpbnRvCisgICAgICAgIC1pbml0V2l0aEV2ZW50OiwgaW5zdGVhZCBvZiBiZWluZyBhZC1ob2Mg
aW4gV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLgorICAgICAgICBBZG9wdCBSZXRhaW5QdHIgZm9y
IHRoZSBXS1dlYkV2ZW50J3MgdWlFdmVudCBwcm9wZXJ0eS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUtl
eVVJRXZlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlci5oOgorICAgICAgICBQbHVtYiBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMgdG8gY3Vz
dG9tIGNvbnRlbnQgdmlld3MsIGlmIHRoZXkgd2FudCB0aGVtLgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1BERlZpZXcubW06CisgICAgICAgICgtW1dLUERGVmlldyBkZWFsbG9jXSk6Cisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaGFuZGxlS2V5RXZlbnQ6XSk6CisgICAgICAgICgtW1dL
UERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Om1pbWVUeXBlOl0pOgorICAgICAgICBJ
bnN0YWxsIGEgV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBhbmQgcGx1bWIga2V5IGV2ZW50
cyB0byBpdC4KKwogMjAxOC0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZ3Jlc3Npb24oUFNPTik6IERlYWwgd2l0aCB0aGUgZHJhd2luZyBhcmVhIHBv
dGVudGlhbGx5IGJlaW5nIG51bGwgdW5kZXIgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXgg
MWZmZDA3NjY4YWRhZjQxNDY4NGM2ODkwNzZiZDIyZjE1YmE5OGY1ZC4uZTEyMDc0NGIxODg4ZDM2
OTBmNjIxMWRhZjZhNjU5MDUyM2ZkNTBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgKQEAgLTE4Nyw3ICsxODcsNiBAQCB0eXBlZGVmIGVudW0gewogfSBVSUtl
eWJvYXJkSW5wdXRGbGFnczsKIAogQGludGVyZmFjZSBVSUV2ZW50ICgpCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFVJS2V5Ym9hcmRJbnB1dEZsYWdzIF9pbnB1dEZsYWdzOwogLSAo
dm9pZCAqKV9oaWRFdmVudDsKIC0gKE5TU3RyaW5nICopX3VubW9kaWZpZWRJbnB1dDsKIC0gKE5T
U3RyaW5nICopX21vZGlmaWVkSW5wdXQ7CkBAIC0xMDE0LDYgKzEwMTMsNyBAQCB0eXBlZGVmIE5T
SW50ZWdlciBVSUNvbXBvc2l0aW5nTW9kZTsKIEBlbmQKIAogQGludGVyZmFjZSBVSVBoeXNpY2Fs
S2V5Ym9hcmRFdmVudCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUtleWJv
YXJkSW5wdXRGbGFncyBfaW5wdXRGbGFnczsKIC0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICop
X2Nsb25lRXZlbnQgTlNfUkVUVVJOU19SRVRBSU5FRDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0ZJbmRleCBfa2V5Q29kZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCAyNzEzODIxODQ2ZjhjMDg4Y2E0ZDMzNWQzMzA0NTU0ZGVhOGVkYjliLi41OTRiZjkwZGQ1ZjA4
YmZkYzQzNGI5ZjVkYzU5ZTQ4YzNhYTJkNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0z
OTYsNiArMzk2LDcgQEAgVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KIFVJUHJvY2Vzcy9pb3Mv
V0tTY3JvbGxWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJl
UmVjb2duaXplci5tCiBVSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KK1VJUHJv
Y2Vzcy9pb3MvV0tXZWJFdmVudC5tbQogCiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NM
YXVuY2hlck1hYy5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA3OWIzYzIyY2Q5YTU2Y2JjNWZiYmY1MmQ3N2JmNmExN2YyMGY1MDE4
Li44YmJkMTI2MGQyYmQ0NjY0ZTg2NDc1OTg4YzBmZWQ5ZjY1ZTc2ZDhlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE1MjUsNiArMTUy
NSwyMSBAQCAtICh2b2lkKV9kaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbUNvbnRlbnRQcm92
aWRlcldpdGhTdWdnZXN0ZWRGaWxlbmFtZTooY29ucwogICAgIF9wYWdlLT5kaWRMYXlvdXRGb3JD
dXN0b21Db250ZW50UHJvdmlkZXIoKTsKIH0KIAorLSAodm9pZClfaGFuZGxlS2V5VUlFdmVudDoo
OjpVSUV2ZW50ICopZXZlbnQKK3sKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGFuZGxlIGtleSBl
dmVudHMgZnJvbSB0aGUgaGFyZHdhcmUga2V5Ym9hcmQgd2hlbiB3ZSBhcmUKKyAgICAvLyBmaXJz
dCByZXNwb25kZXIgYW5kIGEgY3VzdG9tIGNvbnRlbnQgdmlldyBpcyBpbnN0YWxsZWQ7IG90aGVy
d2lzZSwKKyAgICAvLyBXS0NvbnRlbnRWaWV3IHdpbGwgYmUgdGhlIGZpcnN0IHJlc3BvbmRlciBh
bmQgZXhwZWN0cyB0byBnZXQga2V5IGV2ZW50cyBkaXJlY3RseS4KKyAgICBpZiAoW3NlbGYgaXNG
aXJzdFJlc3BvbmRlcl0gJiYgZXZlbnQuX2hpZEV2ZW50KSB7CisgICAgICAgIGlmIChbX2N1c3Rv
bUNvbnRlbnRWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViX2hhbmRsZUtleUV2
ZW50OildKSB7CisgICAgICAgICAgICBpZiAoW19jdXN0b21Db250ZW50VmlldyB3ZWJfaGFuZGxl
S2V5RXZlbnQ6ZXZlbnRdKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIFtzdXBlciBfaGFuZGxlS2V5VUlFdmVudDpldmVudF07Cit9CisKIC0gKHZvaWQp
X3dpbGxJbnZva2VVSVNjcm9sbFZpZXdEZWxlZ2F0ZUNhbGxiYWNrCiB7CiAgICAgX2RlbGF5VXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggM2FiYzA5
N2E5NDMyMzg2MzRmZTBlNDk5NWQ2Y2E2OTMwNGIwZWJlYy4uNzA3MGI4ZjE2NTNhMDU3ZmVkZTk4
ODkzMGU2NWI3YWUxYmUwNTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbXBvcnQgPFdlYktpdC9fV0tGaW5kT3B0aW9ucy5oPgogCiBAY2xhc3MgTlNEYXRhOworQGNs
YXNzIFVJRXZlbnQ7CiBAY2xhc3MgVUlTY3JvbGxWaWV3OwogQGNsYXNzIFVJVmlldzsKIEBjbGFz
cyBXS1dlYlZpZXc7CkBAIC02MCw2ICs2MSw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2
b2lkKXdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlOwogLSAodm9p
ZCl3ZWJfc2Nyb2xsVmlld0RpZFpvb206KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXc7CiAtICh2
b2lkKXdlYl9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrOworLSAoQk9PTCl3ZWJfaGFuZGxlS2V5RXZlbnQ6KFVJRXZlbnQgKilldmVudDsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJfZGF0YVJlcHJlc2Vu
dGF0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqd2ViX3N1
Z2dlc3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdl
Yl9pc0JhY2tncm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA1ZTllN2M5MDg3ZjUyNGY4MWUyZmE4
NmQ2NDk3MDA3ZTQ0ZWQ1OWNkLi4xMGRkMzMzYjlhNTljNjg1ZmE0ZmViZTg4OGFhZWI4ZGVlZDRk
YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBvcnQgIldLVGV4dElu
cHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1RpbWVQaWNrZXJWaWV3Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJF
dmVudC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFs
LmgiCkBAIC0xMjIsMjQgKzEyMyw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tQbGF0
Zm9ybUZpbGVVcGxvYWRQYW5lbC5tbT4KICNlbmRpZgogCi1AaW50ZXJmYWNlIFVJRXZlbnQgKFVJ
RXZlbnRJbnRlcm5hbCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJS2V5Ym9hcmRJ
bnB1dEZsYWdzIF9pbnB1dEZsYWdzOwotQGVuZAotCi1AaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBX
ZWJFdmVudAotQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbikgVUlFdmVudCAqdWlFdmVudDsK
LUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdLV2ViRXZlbnQKLQotLSAodm9pZClkZWFsbG9jCi17
Ci0gICAgW191aUV2ZW50IHJlbGVhc2VdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotQGVu
ZAotCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChX
YXRjaFN1cHBvcnQpIDxXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdEZWxlZ2F0ZSwgV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9s
bGVyRGVsZWdhdGU+CkBAIC0zNzk0LDI4ICszNzc3LDkgQEAgLSAodm9pZCloYW5kbGVLZXlFdmVu
dDooOjpVSUV2ZW50ICopZXZlbnQKICAgICBpZiAoZXZlbnQgPT0gX3VpRXZlbnRCZWluZ1Jlc2Vu
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdWludDE2X3Qga2V5Q29kZTsKLSAgICBCT09MIGlz
SGFyZHdhcmVLZXlib2FyZEV2ZW50ID0gISFldmVudC5faGlkRXZlbnQ7Ci0gICAgaWYgKCFpc0hh
cmR3YXJlS2V5Ym9hcmRFdmVudCkKLSAgICAgICAga2V5Q29kZSA9IDA7Ci0gICAgZWxzZSB7Ci0g
ICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICprZXlFdmVudCA9IChVSVBoeXNpY2FsS2V5
Ym9hcmRFdmVudCAqKWV2ZW50OwotICAgICAgICBrZXlDb2RlID0ga2V5RXZlbnQuX2tleUNvZGU7
Ci0gICAgICAgIGV2ZW50ID0gW1trZXlFdmVudCBfY2xvbmVFdmVudF0gYXV0b3JlbGVhc2VdOyAv
LyBVSUtpdCB1c2VzIGEgc2luZ2xldG9uIGZvciBoYXJkd2FyZSBrZXlib2FyZCBldmVudHMuCi0g
ICAgfQotICAgIFdLV2ViRXZlbnQgKndlYkV2ZW50ID0gW1tbV0tXZWJFdmVudCBhbGxvY10gaW5p
dFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24pID8gV2ViRXZlbnRLZXlEb3duIDog
V2ViRXZlbnRLZXlVcAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyczpl
dmVudC5fbW9kaWZpZWRJbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJbnB1dAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb2RpZmllcnM6ZXZlbnQuX21vZGlmaWVyRmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0aW5nOihldmVudC5faW5w
dXRGbGFncyAmIGtVSUtleWJvYXJkSW5wdXRSZXBlYXQpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGbGFnczpldmVudC5faW5w
dXRGbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtleUNvZGU6a2V5Q29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUYWJLZXk6W2V2ZW50Ll9tb2RpZmll
ZElucHV0IGlzRXF1YWxUb1N0cmluZzpAIlx0Il0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0OldlYkV2ZW50Q2hhcmFj
dGVyU2V0VW5pY29kZV0gYXV0b3JlbGVhc2VdOwotICAgIHdlYkV2ZW50LnVpRXZlbnQgPSBldmVu
dDsKKyAgICBhdXRvIHdlYkV2ZW50ID0gYWRvcHROUyhbW1dLV2ViRXZlbnQgYWxsb2NdIGluaXRX
aXRoRXZlbnQ6ZXZlbnRdKTsKICAgICAKLSAgICBbc2VsZiBoYW5kbGVLZXlXZWJFdmVudDp3ZWJF
dmVudF07ICAgIAorICAgIFtzZWxmIGhhbmRsZUtleVdlYkV2ZW50OndlYkV2ZW50LmdldCgpXTsK
IH0KIAogLSAodm9pZCloYW5kbGVLZXlXZWJFdmVudDooOjpXZWJFdmVudCAqKXRoZUV2ZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQppbmRleCA2ZGRkNjM1YmEyMGZm
OTU4NTFkMTdjMGM2M2NhNDQ1NGVmNTlhNWFiLi43YWQ2Yjg3ZDA1YWQzYWY4ZjY0OGQ5YzA0NGJi
ODgxYTljMGM0MGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQ
REZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0K
QEAgLTMxLDggKzMxLDExIEBACiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgogI2ltcG9ydCAiRmlu
ZENsaWVudC5oIgogI2ltcG9ydCAiUERGS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgog
I2ltcG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIgorI2ltcG9ydCAiV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLmgiCiAjaW1wb3J0ICJXS1VJRGVsZWdhdGVQcml2YXRlLmgiCisjaW1w
b3J0ICJXS1dlYkV2ZW50LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXJJbnRl
cm5hbC5oIgpAQCAtNjUsNiArNjgsNyBAQCBAaW1wbGVtZW50YXRpb24gV0tQREZWaWV3IHsKICAg
ICBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIF9wb3NpdGlvbkluZm9y
bWF0aW9uOwogICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3N1Z2dlc3RlZEZpbGVuYW1lOwogICAg
IFdlYWtPYmpDUHRyPFdLV2ViVmlldz4gX3dlYlZpZXc7CisgICAgUmV0YWluUHRyPFdLS2V5Ym9h
cmRTY3JvbGxWaWV3QW5pbWF0b3I+IF9rZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yOwogfQogCiAt
ICh2b2lkKWRlYWxsb2MKQEAgLTcyLDkgKzc2LDIwIEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtf
YWN0aW9uU2hlZXRBc3Npc3RhbnQgY2xlYW51cFNoZWV0XTsKICAgICBbW19ob3N0Vmlld0NvbnRy
b2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgW19wYWdlTnVtYmVySW5kaWNh
dG9yIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
ciBpbnZhbGlkYXRlXTsKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKKy0gKEJPT0wpd2ViX2hh
bmRsZUtleUV2ZW50Oig6OlVJRXZlbnQgKilldmVudAoreworICAgIGF1dG8gd2ViRXZlbnQgPSBh
ZG9wdE5TKFtbV0tXZWJFdmVudCBhbGxvY10gaW5pdFdpdGhFdmVudDpldmVudF0pOworCisgICAg
aWYgKFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBiZWdpbldpdGhFdmVudDp3ZWJFdmVudC5n
ZXQoKV0pCisgICAgICAgIHJldHVybiBZRVM7CisgICAgW19rZXlib2FyZFNjcm9sbGluZ0FuaW1h
dG9yIGhhbmRsZUtleUV2ZW50OndlYkV2ZW50LmdldCgpXTsKKyAgICByZXR1cm4gTk87Cit9CisK
IC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXpl
ciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CiAgICAgcmV0dXJuIFtfaG9zdFZpZXdDb250cm9sbGVy
IGdlc3R1cmVSZWNvZ25pemVyU2hvdWxkQmVnaW46Z2VzdHVyZVJlY29nbml6ZXJdOwpAQCAtOTks
NiArMTE0LDggQEAgLSAoaW5zdGFuY2V0eXBlKXdlYl9pbml0V2l0aEZyYW1lOihDR1JlY3QpZnJh
bWUgd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBtaW0KICAgICBzZWxmLmJhY2tncm91bmRD
b2xvciA9IFVJQ29sb3IuZ3JheUNvbG9yOwogICAgIHdlYlZpZXcuc2Nyb2xsVmlldy5iYWNrZ3Jv
dW5kQ29sb3IgPSBVSUNvbG9yLmdyYXlDb2xvcjsKIAorICAgIF9rZXlib2FyZFNjcm9sbGluZ0Fu
aW1hdG9yID0gYWRvcHROUyhbW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgYWxsb2NdIGlu
aXRXaXRoU2Nyb2xsVmlldzp3ZWJWaWV3LnNjcm9sbFZpZXddKTsKKwogICAgIF93ZWJWaWV3ID0g
d2ViVmlldzsKICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tXZWJFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjOTY0MTQ3ZTM0MGJjZDU2ZjliYTMzZDI4MjM3YTZl
MGIxZDVjNDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tXZWJFdmVudC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0o
SU9TKQorCisjaW1wb3J0IDxXZWJDb3JlL1dlYkV2ZW50Lmg+CisKK0BjbGFzcyBVSUV2ZW50Owor
CitAaW50ZXJmYWNlIFdLV2ViRXZlbnQgOiBXZWJFdmVudAorCistIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50OworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0
YWluLCByZWFkb25seSkgVUlFdmVudCAqdWlFdmVudDsKKworQGVuZAorCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2Vi
RXZlbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tXZWJFdmVudC5tbQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ODk5NmVhNDYyNjk2NjMwM2I0N2JkZjM3MDUzZTI4NTdiYmY2MDUzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQubW0KQEAg
LTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
V0tXZWJFdmVudC5oIgorCisjaWYgUExBVEZPUk0oSU9TKQorCisjaW1wb3J0ICJVSUtpdFNQSS5o
IgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitAaW1wbGVtZW50YXRpb24gV0tXZWJFdmVu
dCB7CisgICAgUmV0YWluUHRyPFVJRXZlbnQ+IF91aUV2ZW50OworfQorCistIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50Cit7CisgICAgdWludDE2X3Qga2V5Q29k
ZTsKKyAgICBVSUtleWJvYXJkSW5wdXRGbGFncyBpbnB1dEZsYWdzOworICAgIEJPT0wgaXNIYXJk
d2FyZUtleWJvYXJkRXZlbnQgPSAhIWV2ZW50Ll9oaWRFdmVudDsKKyAgICBpZiAoIWlzSGFyZHdh
cmVLZXlib2FyZEV2ZW50KSB7CisgICAgICAgIGtleUNvZGUgPSAwOworICAgICAgICBpbnB1dEZs
YWdzID0gKFVJS2V5Ym9hcmRJbnB1dEZsYWdzKTA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVUlQ
aHlzaWNhbEtleWJvYXJkRXZlbnQgKmtleUV2ZW50ID0gKFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50
ICopZXZlbnQ7CisgICAgICAgIGtleUNvZGUgPSBrZXlFdmVudC5fa2V5Q29kZTsKKyAgICAgICAg
aW5wdXRGbGFncyA9IGtleUV2ZW50Ll9pbnB1dEZsYWdzOworICAgICAgICBldmVudCA9IFtba2V5
RXZlbnQgX2Nsb25lRXZlbnRdIGF1dG9yZWxlYXNlXTsgLy8gVUlLaXQgdXNlcyBhIHNpbmdsZXRv
biBmb3IgaGFyZHdhcmUga2V5Ym9hcmQgZXZlbnRzLgorICAgIH0KKworICAgIHNlbGYgPSBbc3Vw
ZXIgaW5pdFdpdGhLZXlFdmVudFR5cGU6KGV2ZW50Ll9pc0tleURvd24gPyBXZWJFdmVudEtleURv
d24gOiBXZWJFdmVudEtleVVwKSB0aW1lU3RhbXA6ZXZlbnQudGltZXN0YW1wIGNoYXJhY3RlcnM6
ZXZlbnQuX21vZGlmaWVkSW5wdXQgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOmV2ZW50Ll91
bm1vZGlmaWVkSW5wdXQgbW9kaWZpZXJzOmV2ZW50Ll9tb2RpZmllckZsYWdzIGlzUmVwZWF0aW5n
OihpbnB1dEZsYWdzICYga1VJS2V5Ym9hcmRJbnB1dFJlcGVhdCkgd2l0aEZsYWdzOmlucHV0Rmxh
Z3Mga2V5Q29kZTprZXlDb2RlIGlzVGFiS2V5OltldmVudC5fbW9kaWZpZWRJbnB1dCBpc0VxdWFs
VG9TdHJpbmc6QCJcdCJdIGNoYXJhY3RlclNldDpXZWJFdmVudENoYXJhY3RlclNldFVuaWNvZGVd
OworICAgIGlmICghc2VsZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF91aUV2ZW50ID0g
ZXZlbnQ7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAoVUlFdmVudCAqKXVpRXZlbnQKK3sK
KyAgICByZXR1cm4gX3VpRXZlbnQuZ2V0KCk7Cit9CisKK0BlbmQKKworI2VuZGlmIC8vIFBMQVRG
T1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGZkMWNiZTgwOGEwY2YyMGU2MDQ3MWM0Y2EwYmI4MDJlNmU1YTY5ZDguLmY2MmU2
MDQzMWJlZmI1MmE4ZTAwMDEyYTc1NDk0NjgwYTVmYzk5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcwLDYgKzU3MCw3IEBACiAJ
CTJEMTJEQUI1MjA2NjJDNzMwMDZGMDBGQiAvKiBXS0FuaW1hdGlvbkRlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDEyREFCNDIwNjYyQzcz
MDA2RjAwRkIgLyogV0tBbmltYXRpb25EZWxlZ2F0ZS5oICovOyB9OwogCQkyRDFCNUQ1RDE4NTg2
OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUI1RDVCMTg1
ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQkyRDFCNUQ1RTE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9s
bGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEMUI1RDVDMTg1ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNz
YWdlcy5oICovOyB9OworCQkyRDFFODIyMzIxNkZGRjUxMDBBMTUyNjUgLyogV0tXZWJFdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxRTgyMjEy
MTZGRkY1MDAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCAqLzsgfTsKIAkJMkQyOEE0OTcxQUY5NjVB
MTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI4QTQ5NTFBRjk2NUExMDBGMTkwQzkgLyogV0tW
aWV3TGF5b3V0U3RyYXRlZ3kuaCAqLzsgfTsKIAkJMkQyOUVDRDAxOTJGMkMyRTAwOTg0Qjc4IC8q
IFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyOUVDQ0UxOTJGMkMyRTAwOTg0Qjc4IC8q
IFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQkyRDNBNjVE
QjFBN0MzQTFGMDBDQUM2MzcgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUmVmLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNBNjVEOTFBN0MzQTFGMDBDQUM2
MzcgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE4MzMsOSArMTgzNCw5IEBACiAJCTAwQjk2NjE1MThF
MjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFQSUZpbmRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDBCOTY2MTcxOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGaW5kQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwMEI5NjYxODE4RTI1QUUxMDBDRTFGODggLyogRmluZENsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaW5kQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTA3Mjk3RjlDMUMxNzExRUEwMDNGMDczNSAvKiBEZXZpY2VJZEhh
c2hTYWx0U3RvcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA3Mjk3RjlDMUMxN0JCRUEwMDNGMDczNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVc2VyTWVkaWFQZXJt
aXNzaW9uQ2hlY2tQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mjk3
RjlEMUMxN0JCRUEwMDNGMDczNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQ
cm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzI5N0Y5QzFDMTcxMUVBMDAz
RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzI5N0Y5RDFDMTdCQkVBMjIzRjA3MzUgLyogRGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNl
SWRIYXNoU2FsdFN0b3JhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyOTdG
QTAxQzE4NkFEQjAwM0YwNzM1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvbkNo
ZWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyOTdGQTExQzE4NkFEQjAw
M0YwNzM1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNDU5LDYgKzI0NjAsOCBAQAogCQkyRDFCNUQ1QTE4NTg2NTk5
MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZpZXdH
ZXN0dXJlQ29udHJvbGxlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQxQjVENUIxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWV3
R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDFCNUQ1QzE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9s
bGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlld0dlc3R1
cmVDb250cm9sbGVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQx
RTgyMjEyMTZGRkY1MDAwQTE1MjY1IC8qIFdLV2ViRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV0tXZWJFdmVudC5oOyBwYXRoID0gaW9zL1dLV2ViRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQxRTgyMjIyMTZGRkY1MTAwQTE1MjY1IC8qIFdL
V2ViRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1dl
YkV2ZW50Lm1tOyBwYXRoID0gaW9zL1dLV2ViRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEMjhBNDk1MUFGOTY1QTEwMEYxOTBDOSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVn
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1ZpZXdMYXlvdXRTdHJhdGVn
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDI4QTQ5NjFBRjk2NUExMDBGMTkw
QzkgLyogV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1ZpZXdMYXlvdXRTdHJhdGVneS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQyOEYzRTAxODg1Q0NDMTAwNEI5RUFFIC8qIFdlYkNocm9tZUNsaWVudElP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdlYkNocm9tZUNs
aWVudElPUy5tbTsgcGF0aCA9IGlvcy9XZWJDaHJvbWVDbGllbnRJT1MubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NzczLDYgKzU3NzYsOCBAQAogCQkJCTI2RjEwQkU3MTkxODdF
MkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIubSAqLywK
IAkJCQkzMTZCOEI2MjIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oICov
LAogCQkJCTMxNkI4QjYxMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1t
ICovLAorCQkJCTJEMUU4MjIxMjE2RkZGNTAwMEExNTI2NSAvKiBXS1dlYkV2ZW50LmggKi8sCisJ
CQkJMkQxRTgyMjIyMTZGRkY1MTAwQTE1MjY1IC8qIFdLV2ViRXZlbnQubW0gKi8sCiAJCQkpOwog
CQkJbmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC05NzQwLDYgKzk3
NDUsNyBAQAogCQkJCUJGQTYxNzlGMTJGMEI5OUQwMDMzRTBDQSAvKiBXS1ZpZXdQcml2YXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDNUUxQUZFOTE2QjIwQjc1MDA2Q0MxRjIgLyogV0tXZWJBcmNo
aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUUxQUZFQjE2QjIwQjdFMDA2Q0MxRjIgLyogV0tX
ZWJBcmNoaXZlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEMUU4MjIzMjE2RkZGNTEw
MEExNTI2NSAvKiBXS1dlYkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0FEREUwNTIxNTA0
NkJEMDA2N0QzMDkgLyogV0tXZWJQcm9jZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEyRTU2
NzE4RDc3NTA4MDAzODE0QkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM5ODlEODIxNjFBN0U1RDAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYwMCw3ICsxMDYwNiw2IEBACiAJCQkJMkQ5MkE3
N0QyMTJCNkE3MTAwRjQ5M0ZEIC8qIENvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MkE3N0UyMTJCNkE3MTAwRjQ5M0ZEIC8qIERhdGFSZWZlcmVuY2UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3N0YyMTJCNkE3MTAwRjQ5M0ZEIC8qIERlY29kZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMDcyOTdGOUUxQzE3QkJFQTAxNEYwNzM1IC8qIERldmljZUlkSGFzaFNhbHRT
dG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjdENjE5MTI4OEI5RDkwMENGRDA4QyAv
KiBEb3dubG9hZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NjQyMjk5MTJERDAyOTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTY0MjMwODEyREQwOUVCMDBDQUFFMkMgLyogRHJhd2luZ0Fy
ZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>