<?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>211402</bug_id>
          
          <creation_ts>2020-05-04 14:44:28 -0700</creation_ts>
          <short_desc>Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS</short_desc>
          <delta_ts>2020-05-04 18:54:15 -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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1648745</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-04 14:44:28 -0700</bug_when>
    <thetext>Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648868</commentid>
    <comment_count>1</comment_count>
      <attachid>398447</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-04 17:56:23 -0700</bug_when>
    <thetext>Created attachment 398447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648879</commentid>
    <comment_count>2</comment_count>
      <attachid>398447</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-05-04 18:17:46 -0700</bug_when>
    <thetext>Comment on attachment 398447
Patch

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

&gt; Source/WebKit/ChangeLog:12
&gt; +        * Platform/spi/ios/UIKitSPI.h: Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
&gt; +        PLATFORM(IOS) in one place, and in the other removed the conditional entirely.

I went back here to find out why there isn&apos;t a comment about watchOS and tvOS in the code.

&gt; Source/WebCore/page/SettingsDefaultValues.h:109
&gt; +#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)

There is no __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400.

&gt; Source/WebCore/platform/graphics/cg/GradientCG.cpp:187
&gt; +#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)

Ditto.

&gt; Source/WebKit/NetworkProcess/NetworkActivityTracker.h:31
&gt; +#if USE(APPLE_INTERNAL_SDK) &amp;&amp; PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)

There is no __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400.

&gt; Source/WebKit/Shared/WebPreferencesDefaultValues.h:225
&gt; +#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)

There is no __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:352
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400) || PLATFORM(IOS)

It&apos;s always __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648890</commentid>
    <comment_count>3</comment_count>
      <attachid>398447</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-04 18:49:23 -0700</bug_when>
    <thetext>Comment on attachment 398447
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt; +        PLATFORM(IOS) in one place, and in the other removed the conditional entirely.
&gt; 
&gt; I went back here to find out why there isn&apos;t a comment about watchOS and tvOS in the code.

Added a comment about that to the change log.

&gt;&gt; Source/WebCore/page/SettingsDefaultValues.h:109
&gt;&gt; +#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)
&gt; 
&gt; There is no __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400.

I’ll take care of all of these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648891</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-04 18:53:50 -0700</bug_when>
    <thetext>Committed r261138: &lt;https://trac.webkit.org/changeset/261138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648892</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-04 18:54:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/62871298&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398447</attachid>
            <date>2020-05-04 17:56:23 -0700</date>
            <delta_ts>2020-05-04 18:17:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211402-20200504175622.patch</filename>
            <type>text/plain</type>
            <size>44675</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IxN2FjNTNhNzEwNGVl
NjNjMTY4NzY5YWMyZDIyYjE1YWU3MzY3Zi4uOWE1YmQwMDRiZWM0N2FmZmRiYmU0NTNjNjVlNzUz
ZjA1NDkzNGE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTA1LTA0ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIGNoZWNrcyBhZ2FpbnN0IG9sZCB2ZXJzaW9ucyBleHBsaWNpdCBh
Ym91dCB3YXRjaE9TIGFuZCB0dk9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTE0MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGVkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6YXR0cmlidXRlc0ZvckF0dHJpYnV0ZWRTdHJpbmdDb252ZXJzaW9u
KTogTW92ZSBmcm9tIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVECisgICAgICAgIHRv
ICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikuIE1vdmUgTlNFeGNsdWRl
ZEVsZW1lbnRzRG9jdW1lbnRBdHRyaWJ1dGUgdG8KKyAgICAgICAgQXR0cmlidXRlZFN0cmluZ1NQ
SS5oLgorCisgICAgICAgICogcGFnZS9TZXR0aW5nc0RlZmF1bHRWYWx1ZXMuaDogUmV3cml0ZSBj
b25pYyBncmFkaWVudCBjb25kaXRpb25hbCB0byBjYWxsIG91dAorICAgICAgICB0dk9TIGFzIGFu
IGV4Y2VwdGlvbiByYXRoZXIgdGhhbiBkb2luZyB0aGF0IGluZGlyZWN0bHkgdGhyb3VnaCBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFkaWVudENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpwYWludCk6
IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOiBSZXdyaXRlCisgICAgICAgIEhBU19DT1JFX1RFWFRfV0lEVEhfQVRUUklCVVRF
IHRvIHVzZSAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpLgorICAgICAg
ICAoV2ViQ29yZTo6dmFyaWF0aW9uQ2FwYWJpbGl0aWVzRm9yRm9udERlc2NyaXB0b3IpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6bGFzdFJlc29ydEZhbGxiYWNrRm9udCk6
IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0
aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hTeXN0ZW1Gb250VXNlKTogVXNl
IEhBVkUoU1lTVEVNX0ZPTlRfU1RZTEVfVElUTEVfMCkgYW5kCisgICAgICAgIEhBVkUoU1lTVEVN
X0ZPTlRfU1RZTEVfVElUTEVfNCkgaW5zdGVhZCBvZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRC4KKyAgICAgICAgVGhpcyBjb25zb2xpZGF0ZXMgdGhlIHdhdGNoT1MvdHZPUyBpc3N1
ZSBpbnRvIHRoZSBQbGF0Zm9ybUhhdmUuaCBmaWxlLCBhbmQKKyAgICAgICAgZG9lcyBub3QgY2hh
bmdlIGJlaGF2aW9yIGF0IHRoaXMgdGltZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNhc2Nh
ZGVUb0xhc3RSZXNvcnRBdHRyaWJ1dGVzRGljdGlvbmFyeSk6IENoYW5nZWQgdGhpcyB0byBub3Qg
dXNlCisgICAgICAgIGEgZ2xvYmFsIHNpbmNlIGl0J3Mgb25seSBjYWxsZWQgYXMgcGFydCBvZiBp
bml0aWFsaXppbmcgYW5vdGhlciBnbG9iYWwsIGFuZAorICAgICAgICB0byByZXR1cm4gYSBSZXRh
aW5QdHIuCisgICAgICAgIChXZWJDb3JlOjpjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFyaWF0aW9u
c0ZvbnREZXNjcmlwdG9yKTogUmVtb3ZlZAorICAgICAgICBXT1JLQVJPVU5EX0NPUkVURVhUX1ZB
UklBVElPTlNfV0lUSF9GQUxMQkFDS19MSVNUX0JVRyBhZnRlciByZXNlYXJjaGluZyB0bworICAg
ICAgICBiZSBzdXJlIGl0J3MgZml4ZWQgb24gcmVjZW50IHdhdGNoT1MgYW5kIHR2T1MuIEFsc28g
Y2hhbmdlZCB0aGlzIHRvIHJldHVybgorICAgICAgICBhIHJhdyBwb2ludGVyIGluc3RlYWQgb2Yg
UmV0YWluUHRyIHNpbmNlIGl0IHJldHVybnMgYSBzaW5nbGUgZ2xvYmFsIG9iamVjdC4KKyAgICAg
ICAgQWxzbyByZW1vdmVkIHRoZSBDVEZvbnRSZWYgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOiBVcGRhdGVkIGZvciB0aGUgY2hhbmdl
cyBhYm92ZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZTo6c3VyZmFjZUlEIGNvbnN0KTogTW92ZSBm
cm9tIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVECisgICAgICAgIHRvICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtRm9u
dFdpdGhGYW1pbHlTcGVjaWFsQ2FzZSk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOiBEaXR0by4KKwogMjAyMC0wNS0wNCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogV29y
a2VyOiBzaG91bGQgdXNlIHRoZSBuYW1lIG9mIHRoZSB3b3JrZXIgaWYgaXQgZXhpc3RzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwppbmRleCA4MmUzZmU3ODNiZDYxMDc0YTQ4YWZmYWE0ZTc0Y2M4MDlmYTAyMWIz
Li5mZTkwOTIyNmU0YzFmZTk1NmJiMDZhMDEwZGZlMTUyMWFhNWZmYWY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0wNCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCBjaGVja3MgYWdhaW5zdCBvbGQgdmVyc2lvbnMgZXhwbGljaXQgYWJvdXQgd2F0Y2hPUyBhbmQg
dHZPUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEx
NDAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
YWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oOiBNb3ZlZCBpT1MgZmFtaWx5IHZl
cnNpb24gb2YKKyAgICAgICAgTlNFeGNsdWRlZEVsZW1lbnRzRG9jdW1lbnRBdHRyaWJ1dGUgdG8g
dGhpcyBoZWFkZXIuIEZvciBub3cgZGlkbid0CisgICAgICAgIGNoYW5nZSBpdHMgaW1wbGVtZW50
YXRpb24gdG8gbWF0Y2gsIGp1c3QgbW92ZWQgaXQgYXMgaXMuCisKIDIwMjAtMDUtMDEgIERvbiBP
bG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBVc2UgZXhwb3J0IG1h
Y3JvcyBvbiBhbGwgcGxhdGZvcm1zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmNzMyOWYyYzE3MGQ0NmNkNzM2YmJi
NDRiMTcwMjhmOTYzYjkyYjAuLjg4YWRhMTI0NTU0NDgxZmIyZjcyY2I2ZjFjYWU2NDhkNzk2YzM3
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDUtMDQgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgY2hlY2tzIGFnYWluc3Qgb2xkIHZlcnNpb25zIGV4cGxpY2l0IGFib3V0IHdhdGNo
T1MgYW5kIHR2T1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMTQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0FjdGl2aXR5VHJhY2tlci5oOiBNb3ZlIGZyb20g
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQKKyAgICAgICAgdG8gIVBMQVRGT1JNKEFQ
UExFVFYpLiBUaGVyZSB3YXMgYWxyZWFkeSBhbiBleHBsaWNpdCB3YXRjaE9TIGNhc2UgaGVyZS4K
KworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDogTW92ZSBmcm9tIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIHRvCisgICAgICAgIFBMQVRGT1JNKElPUykgaW4g
b25lIHBsYWNlLCBhbmQgaW4gdGhlIG90aGVyIHJlbW92ZWQgdGhlIGNvbmRpdGlvbmFsIGVudGly
ZWx5LgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOiBN
b3ZlIGZyb20gX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQKKyAgICAgICAgdG8gIVBM
QVRGT1JNKEFQUExFVFYpLiBUaGVyZSB3YXMgYWxyZWFkeSBhbiBleHBsaWNpdCB3YXRjaE9TIGNh
c2UgaGVyZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbToK
KyAgICAgICAgKGNvbnRlbnRPZmZzZXRCb3VuZGVkSW5WYWxpZFJhbmdlKTogTW92ZSBmcm9tIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVECisgICAgICAgIHRvICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikuCisgICAgICAgICgtW1dLV2ViVmlldyBhY3RpdmVW
aWV3TGF5b3V0U2l6ZTpdKTogRGl0dG8uCisgICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlU2Ny
b2xsVmlld0luc2V0QWRqdXN0bWVudEJlaGF2aW9yXSk6IERpdHRvLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZVZpZXdzLm1tOgorICAgICAg
ICAoLVtXS0NoaWxkU2Nyb2xsVmlldyBpbml0V2l0aEZyYW1lOl0pOiBEaXR0by4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBnZXN0dXJlUmVjb2duaXplcjpjYW5CZVByZXZlbnRlZEJ5R2VzdHVyZVJl
Y29nbml6ZXI6XSk6IERpdHRvLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaG93UGxheWJh
Y2tUYXJnZXRQaWNrZXI6ZnJvbVJlY3Q6cm91dGVTaGFyaW5nUG9saWN5OnJvdXRpbmdDb250ZXh0
VUlEOl0pOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oOiBE
aXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbToKKyAgICAgICAg
KC1bV0tTY3JvbGxWaWV3IGluaXRXaXRoRnJhbWU6XSk6IERpdHRvLgorCiAyMDIwLTA1LTA0ICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwcm92aWRlIGEgd2F5IGZvciBpbnNwZWN0b3IgdG8gdHVybiBvbi9vZmYgSVRQIGRlYnVnIG1v
ZGUgYW5kIEFkQ2xpY2tBdHRyaWJ1dGlvbiBkZWJ1ZyBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKaW5kZXggMDIxYzE5N2JhOGJmM2FhMzNlYjdlZDk3NzdhMThkOGExNjQ4MmNmOS4uMzY5
NTRmN2EwOTg4NGIxMGJlYWY0NzVhODQ4NjI2MzMwZDEzMzMzYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA1LTA0ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIGNoZWNrcyBhZ2FpbnN0IG9sZCB2ZXJzaW9ucyBleHBsaWNpdCBhYm91dCB3YXRjaE9T
IGFuZCB0dk9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTE0MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKKyAgICAgICAgKGF0dHJpYnV0
ZXNGb3JBdHRyaWJ1dGVkU3RyaW5nQ29udmVyc2lvbik6IE1vdmUgZnJvbSBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRAorICAgICAgICB0byBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUu
aDogTW92ZSBmcm9tIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIHRvCisgICAgICAg
IFRBUkdFVF9PU19JT1MgZm9yIGEgbWV0aG9kIHRoYXQgaXMgYmFzZWQgb24gZHJhZ2dpbmcgY29u
Y2VwdHMgbm90IHByZXNlbnQgaW4KKyAgICAgICAgd2F0Y2hPUyBhbmQgdHZPUy4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbTogTW92ZSBmcm9tIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVECisgICAgICAgIHRvIFBMQVRGT1JNKElPUykuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmg6IE1vdmUgZnJvbSBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCB0bworICAgICAgICBUQVJHRVRfT1NfSU9TLgorCiAyMDIwLTA1LTA0ICBFbWlsaW8gQ29i
b3Mgw4FsdmFyZXogIDxlbWlsaW9AY3Jpc2FsLmlvPgogCiAgICAgICAgIFB1dCBsaCAvIHJsaCB1
bml0cyBiZWhpbmQgYSBmbGFnIHVudGlsIGJ1ZyAyMTEzNTEgaXMgc29ydGVkIG91dC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmlu
Z1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3Ry
aW5nU1BJLmgKaW5kZXggYzY0YTZlZTA5ZDg5MTc1Mzc1NDIwNDQ2ZTI3ZWM0YjJjZmMwYzhhNC4u
YWQxNTZmZmVjYzk3NzUyMGNiNDA3NmEyY2NmOWEzMmMyYmM4YmNkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJ
LmgKQEAgLTEwMSw2ICsxMDEsOCBAQCBTT0ZUX0xJTktfQ09OU1RBTlQoVUlGb3VuZGF0aW9uLCBO
U1RleHRBbHRlcm5hdGl2ZXNBdHRyaWJ1dGVOYW1lLCBOU1N0cmluZyAqKQogLy8gd2lsbCBjb250
aW51ZSB0byBzdXBwb3J0IGl0Lgogc3RhdGljIE5TU3RyaW5nICpjb25zdCBOU1N1cGVyc2NyaXB0
QXR0cmlidXRlTmFtZSA9IEAiTlNTdXBlcnNjcmlwdCI7CiAKK3N0YXRpYyBOU1N0cmluZyAqY29u
c3QgTlNFeGNsdWRlZEVsZW1lbnRzRG9jdW1lbnRBdHRyaWJ1dGUgPSBAIkV4Y2x1ZGVkRWxlbWVu
dHMiOworCiBAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoKQogLSAoaWQpaW5pdFdpdGhS
VEY6KE5TRGF0YSAqKWRhdGEgZG9jdW1lbnRBdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKiopZGlj
dDsKIC0gKGlkKWluaXRXaXRoUlRGRDooTlNEYXRhICopZGF0YSBkb2N1bWVudEF0dHJpYnV0ZXM6
KE5TRGljdGlvbmFyeSAqKilkaWN0OwpAQCAtMTA5LDkgKzExMSw2IEBAIHN0YXRpYyBOU1N0cmlu
ZyAqY29uc3QgTlNTdXBlcnNjcmlwdEF0dHJpYnV0ZU5hbWUgPSBAIk5TU3VwZXJzY3JpcHQiOwog
LSAoQk9PTCljb250YWluc0F0dGFjaG1lbnRzOwogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMgTlNTdHJpbmcg
KmNvbnN0IE5TVGV4dExpc3RNYXJrZXJDaXJjbGUgPSBAIntjaXJjbGV9IjsKIHN0YXRpYyBOU1N0
cmluZyAqY29uc3QgTlNUZXh0TGlzdE1hcmtlckRpc2MgPSBAIntkaXNjfSI7CiBzdGF0aWMgTlNT
dHJpbmcgKmNvbnN0IE5TVGV4dExpc3RNYXJrZXJTcXVhcmUgPSBAIntzcXVhcmV9IjsKQEAgLTEy
NSw0ICsxMjQsNSBAQCBzdGF0aWMgTlNTdHJpbmcgKmNvbnN0IE5TVGV4dExpc3RNYXJrZXJVcHBl
cmNhc2VMYXRpbiA9IEAie3VwcGVyLWxhdGlufSI7CiBzdGF0aWMgTlNTdHJpbmcgKmNvbnN0IE5T
VGV4dExpc3RNYXJrZXJMb3dlcmNhc2VSb21hbiA9IEAie2xvd2VyLXJvbWFufSI7CiBzdGF0aWMg
TlNTdHJpbmcgKmNvbnN0IE5TVGV4dExpc3RNYXJrZXJVcHBlcmNhc2VSb21hbiA9IEAie3VwcGVy
LXJvbWFufSI7CiBzdGF0aWMgTlNTdHJpbmcgKmNvbnN0IE5TVGV4dExpc3RNYXJrZXJEZWNpbWFs
ID0gQCJ7ZGVjaW1hbH0iOworCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2Eu
bW0KaW5kZXggZDc5NDc4NDZkNTllOThhYWYwZmIyZGIzYTAwYmE5NjZmNDZmNzI5NS4uMjg5OWYz
NWU4MDhhYzA0NGNlNWE3MWEwNDk1MTYyYjE1MWUyZjZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KQEAgLTczLDE3
ICs3MywxMyBAQAogI2ltcG9ydCAiTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oIgogI2Vu
ZGlmCiAKLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9STShNQUMpCisvLyBGSVhNRTogRG8gd2Ug
cmVhbGx5IG5lZWQgdG8ga2VlcCB0aGUgbGVnYWN5IGNvZGUgcGF0aCBhcm91bmQgZm9yIHdhdGNo
T1MgYW5kIHR2T1M/CisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRW
KQogQGludGVyZmFjZSBOU0F0dHJpYnV0ZWRTdHJpbmcgKCkKLS0gKE5TU3RyaW5nICopX2h0bWxE
b2N1bWVudEZyYWdtZW50U3RyaW5nOihOU1JhbmdlKXJhbmdlIGRvY3VtZW50QXR0cmlidXRlczoo
TlNEaWN0aW9uYXJ5ICopZGljdCBzdWJyZXNvdXJjZXM6KE5TQXJyYXkgKiopc3VicmVzb3VyY2Vz
OworLSAoTlNTdHJpbmcgKilfaHRtbERvY3VtZW50RnJhZ21lbnRTdHJpbmc6KE5TUmFuZ2UpcmFu
Z2UgZG9jdW1lbnRBdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKilhdHRyaWJ1dGVzIHN1YnJlc291
cmNlczooTlNBcnJheSAqKilzdWJyZXNvdXJjZXM7CiBAZW5kCi0jZWxpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2Vsc2UKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhXZWJLaXRMZWdhY3kp
Ci0jZWxpZiBQTEFURk9STShNQUMpCi1TT0ZUX0xJTktfRlJBTUVXT1JLX0lOX1VNQlJFTExBKFdl
YktpdCwgV2ViS2l0TGVnYWN5KQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCiBTT0ZUX0xJTkso
V2ViS2l0TGVnYWN5LCBfV2ViQ3JlYXRlRnJhZ21lbnQsIHZvaWQsIChXZWJDb3JlOjpEb2N1bWVu
dCYgZG9jdW1lbnQsIE5TQXR0cmlidXRlZFN0cmluZyAqc3RyaW5nLCBXZWJDb3JlOjpGcmFnbWVu
dEFuZFJlc291cmNlcyYgcmVzdWx0KSwgKGRvY3VtZW50LCBzdHJpbmcsIHJlc3VsdCkpCiAjZW5k
aWYKIApAQCAtOTYsNyArOTIsNyBAQCBzdGF0aWMgRnJhZ21lbnRBbmRSZXNvdXJjZXMgY3JlYXRl
RnJhZ21lbnQoRnJhbWUmLCBOU0F0dHJpYnV0ZWRTdHJpbmcgKikKICAgICByZXR1cm4geyB9Owog
fQogCi0jZWxpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9STShNQUMpCisjZWxpZiAhUExBVEZPUk0o
V0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAKIHN0YXRpYyBOU0RpY3Rpb25hcnkgKmF0
dHJpYnV0ZXNGb3JBdHRyaWJ1dGVkU3RyaW5nQ29udmVyc2lvbigpCiB7CkBAIC0xMjEsMTAgKzEx
Nyw2IEBAIHN0YXRpYyBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXNGb3JBdHRyaWJ1dGVkU3RyaW5n
Q29udmVyc2lvbigpCiAgICAgICAgIFtleGNsdWRlZEVsZW1lbnRzIGFkZE9iamVjdDpAIm9iamVj
dCJdOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHN0YXRpYyBOU1N0
cmluZyAqIGNvbnN0IE5TRXhjbHVkZWRFbGVtZW50c0RvY3VtZW50QXR0cmlidXRlID0gQCJFeGNs
dWRlZEVsZW1lbnRzIjsKLSNlbmRpZgotCiAgICAgTlNVUkwgKmJhc2VVUkwgPSBVUkw6OmZha2VV
UkxXaXRoUmVsYXRpdmVQYXJ0KGVtcHR5U3RyaW5nKCkpOwogCiAgICAgLy8gVGhlIG91dHB1dCBi
YXNlIFVSTCBuZWVkcyArMSByZWZjb3VudCB0byB3b3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0IE5T
SFRNTFJlYWRlciBvdmVyLXJlbGVhc2VzIGl0LgpAQCAtMTYzLDYgKzE1NSw3IEBAIHN0YXRpYyBG
cmFnbWVudEFuZFJlc291cmNlcyBjcmVhdGVGcmFnbWVudChGcmFtZSYgZnJhbWUsIE5TQXR0cmli
dXRlZFN0cmluZyAqc3RyCiAKICNlbHNlCiAKKy8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0
byBrZWVwIHRoaXMgbGVnYWN5IGNvZGUgcGF0aCBhcm91bmQgZm9yIHdhdGNoT1MgYW5kIHR2T1M/
CiBzdGF0aWMgRnJhZ21lbnRBbmRSZXNvdXJjZXMgY3JlYXRlRnJhZ21lbnQoRnJhbWUmIGZyYW1l
LCBOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykKIHsKICAgICBGcmFnbWVudEFuZFJlc291cmNl
cyByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzRGVmYXVs
dFZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0RlZmF1bHRWYWx1ZXMuaApp
bmRleCA3MDg0YTZhMjM5Yzg2YzMwNDRjOWE4OGYwNGZjZTM5NTQxMDk4YWMwLi45NjMxZTAzZmMw
MTMxYTIzZjU3OWVjZDIwOTc2NWU4NTQ4MjY3YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3NEZWZhdWx0VmFsdWVzLmgKQEAgLTEwMyw4ICsxMDMsMTAgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdE1lZGlhRW5hYmxlZCA9IHRydWU7CiAjZWxzZQogc3RhdGljIGNvbnN0IGJv
b2wgZGVmYXVsdE1lZGlhRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCi0gICAgCi0jaWYgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEy
MDAwMCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKFdBVENIT1MpCisKKy8vIEZJWE1FOiBTZWVtcyBsaWtl
IHRoaXMgc2hvdWxkIGJlIEhBVkUoQ0dfQ09OVEVYVF9EUkFXX0NPTklDX0dSQURJRU5UKS4KKy8v
IEZJWE1FOiBDYW4gd2UgY2hhbmdlIHR2T1MgdG8gYmUgbGlrZSB0aGUgb3RoZXIgQ29jb2EgcGxh
dGZvcm1zPworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYp
CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0Q29uaWNHcmFkaWVudCA9IHRydWU7CiAjZWxzZQog
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdENvbmljR3JhZGllbnQgPSBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYWRpZW50Q0cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhZGllbnRDRy5jcHAKaW5kZXgg
YWRkN2QzOTIyYjFkY2FmNWVhM2EwMDExOTYyYTg3OWI1OGJkNmU4Ni4uOWJmZDQzZGYwMDc3ZGIw
Y2I0MDdiZmFhNDU2OThiMjI1NzNhM2NmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvR3JhZGllbnRDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvR3JhZGllbnRDRy5jcHAKQEAgLTE4Miw3ICsxODIsOSBAQCB2b2lk
IEdyYWRpZW50OjpwYWludChDR0NvbnRleHRSZWYgcGxhdGZvcm1Db250ZXh0KQogICAgICAgICAg
ICAgICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUocGxhdGZvcm1Db250ZXh0KTsKICAgICAgICAg
fSwKICAgICAgICAgWyZdIChjb25zdCBDb25pY0RhdGEmIGRhdGEpIHsKLSNpZiAoUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAw
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTQwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykKKy8vIEZJWE1FOiBTZWVtcyBsaWtlIHRoaXMg
c2hvdWxkIGJlIEhBVkUoQ0dfQ09OVEVYVF9EUkFXX0NPTklDX0dSQURJRU5UKS4KKy8vIEZJWE1F
OiBDYW4gd2UgY2hhbmdlIHR2T1MgdG8gYmUgbGlrZSB0aGUgb3RoZXIgQ29jb2EgcGxhdGZvcm1z
PworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAgICAg
ICAgICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKHBsYXRmb3JtQ29udGV4dCk7CiAgICAgICAgICAg
ICBDR0NvbnRleHRUcmFuc2xhdGVDVE0ocGxhdGZvcm1Db250ZXh0LCBkYXRhLnBvaW50MC54KCks
IGRhdGEucG9pbnQwLnkoKSk7CiAgICAgICAgICAgICBDR0NvbnRleHRSb3RhdGVDVE0ocGxhdGZv
cm1Db250ZXh0LCAoQ0dGbG9hdCktTV9QSV8yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRl
eCAzMzJkMmVmYzA2ZmU5YTQwYWExZWM2ZjJlNDc1ZDhlMzI3NzJkMTVjLi5iMzc1MzkzYTExODU5
OWM0YzExMThlNmUzNzUxY2YzMzg4MTZhNzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBA
IC0zOSw3ICszOSw5IEBACiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi0jZGVmaW5lIEhBU19DT1JFX1RFWFRf
V0lEVEhfQVRUUklCVVRFIChQTEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApKQorLy8gRklYTUU6
IFRoaXMgc2VlbXMgbGlrZSBpdCBzaG91bGQgYmUgaW4gUGxhdGZvcm1IYXZlLmguCisvLyBGSVhN
RTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNoT1MgYW5k
IHR2T1MuCisjZGVmaW5lIEhBU19DT1JFX1RFWFRfV0lEVEhfQVRUUklCVVRFIChQTEFURk9STShD
T0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSkKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMDY0LDcgKzEwNjYsOCBAQCBzdGF0aWMgVmFyaWF0aW9u
Q2FwYWJpbGl0aWVzIHZhcmlhdGlvbkNhcGFiaWxpdGllc0ZvckZvbnREZXNjcmlwdG9yKENURm9u
dERlc2NyaQogICAgIH0KIAogICAgIGJvb2wgb3B0T3V0RnJvbUdYTm9ybWFsaXphdGlvbiA9IGZh
bHNlOwotI2lmIChQTEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApKQorLy8gRklYTUU6IExpa2Vs
eSB3ZSBjYW4gcmVtb3ZlIHRoaXMgc3BlY2lhbCBjYXNlIGZvciB3YXRjaE9TIGFuZCB0dk9TLgor
I2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICAgICBvcHRPdXRG
cm9tR1hOb3JtYWxpemF0aW9uID0gQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KGZvbnRE
ZXNjcmlwdG9yKTsKICNlbmRpZgogCkBAIC0xNjQyLDcgKzE2NDUsOCBAQCBSZWY8Rm9udD4gRm9u
dENhY2hlOjpsYXN0UmVzb3J0RmFsbGJhY2tGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aQogICAgICAgICByZXR1cm4gKnJlc3VsdDsKIAogICAgIC8vIExhc3RSZXNvcnQg
aXMgZ3VhcmFudGVlZCB0byBiZSBub24tbnVsbC4KLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9S
TShNQUMpCisvLyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2Ug
Zm9yIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9S
TShBUFBMRVRWKQogICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2Ny
aXB0b3JDcmVhdGVMYXN0UmVzb3J0KCkpOwogICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RGb250
Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBmb250RGVzY3Jp
cHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSwgbnVsbHB0cikpOwogI2Vsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnREZXNjcmlwdGlvbkNv
Y29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnREZXNj
cmlwdGlvbkNvY29hLmNwcAppbmRleCAzMWM2N2U5YjU3NmM0YWJhMjlmZDRlN2M4ZmJhNDA4NWE3
NTNiZTc4Li5hYmM1OWE0ODY4MDZiZTIxNTMwZTM5N2ZhM2I3YmM3ZTQxNmQ0MDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRp
b25Db2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCkBAIC04Miw4ICs4MiwxMCBAQCBzdGF0aWMgaW5saW5l
IE9wdGlvbmFsPFN5c3RlbUZvbnRLaW5kPiBtYXRjaFN5c3RlbUZvbnRVc2UoY29uc3QgQXRvbVN0
cmluZyYgc3RyaQogICAgICAgICBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlLAogICAg
ICAgICBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xLAogICAgICAgICBrQ1RVSUZvbnRU
ZXh0U3R5bGVUYWxsQm9keSwKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMTAwMDAKKyNpZiBIQVZFKFNZU1RFTV9GT05UX1NUWUxFX1RJVExFXzApCiAgICAgICAgIGtD
VFVJRm9udFRleHRTdHlsZVRpdGxlMCwKKyNlbmRpZgorI2lmIEhBVkUoU1lTVEVNX0ZPTlRfU1RZ
TEVfVElUTEVfNCkKICAgICAgICAga0NUVUlGb250VGV4dFN0eWxlVGl0bGU0LAogI2VuZGlmCiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCA0ODg5ZTEzZWU5MzllMjk5
Y2M1YWYwMjUzOGNkODk2OTNhNWU5NDkzLi44YTYzOWRiMWY0YzFiMzZmODc3MzRjZjA0NjA1ZmEz
OTEzODNhYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC0xMDMsNTAgKzEw
MywyMiBAQCBpbmxpbmUgaW50IG1hcEZvbnRXaWR0aFZhcmlhbnRUb0NURmVhdHVyZVNlbGVjdG9y
KEZvbnRXaWR0aFZhcmlhbnQgdmFyaWFudCkKICAgICByZXR1cm4gVGV4dFNwYWNpbmdQcm9wb3J0
aW9uYWw7CiB9CiAKLXN0YXRpYyBDRkRpY3Rpb25hcnlSZWYgY2FzY2FkZVRvTGFzdFJlc29ydEF0
dHJpYnV0ZXNEaWN0aW9uYXJ5KCkKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBj
YXNjYWRlVG9MYXN0UmVzb3J0QXR0cmlidXRlc0RpY3Rpb25hcnkoKQogewotICAgIHN0YXRpYyBD
RkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyA9IG51bGxwdHI7Ci0gICAgaWYgKGF0dHJpYnV0ZXMp
Ci0gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzOwotCi0gICAgUmV0YWluUHRyPENURm9udERlc2Ny
aXB0b3JSZWY+IGxhc3RSZXNvcnQgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRo
TmFtZUFuZFNpemUoQ0ZTVFIoIkxhc3RSZXNvcnQiKSwgMCkpOworICAgIGF1dG8gbGFzdFJlc29y
dCA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhOYW1lQW5kU2l6ZShDRlNUUigi
TGFzdFJlc29ydCIpLCAwKSk7CiAKICAgICBDRlR5cGVSZWYgZGVzY3JpcHRvcnNbXSA9IHsgbGFz
dFJlc29ydC5nZXQoKSB9OwogICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBhcnJheSA9IGFkb3B0
Q0YoQ0ZBcnJheUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBkZXNjcmlwdG9ycywgV1RGX0FS
UkFZX0xFTkdUSChkZXNjcmlwdG9ycyksICZrQ0ZUeXBlQXJyYXlDYWxsQmFja3MpKTsKIAogICAg
IENGVHlwZVJlZiBrZXlzW10gPSB7IGtDVEZvbnRDYXNjYWRlTGlzdEF0dHJpYnV0ZSB9OwogICAg
IENGVHlwZVJlZiB2YWx1ZXNbXSA9IHsgYXJyYXkuZ2V0KCkgfTsKLSAgICBhdHRyaWJ1dGVzID0g
Q0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtleXMsIHZhbHVlcywgV1RG
X0FSUkFZX0xFTkdUSChrZXlzKSwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NG
VHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7Ci0KLSAgICByZXR1cm4gYXR0cmlidXRlczsK
KyAgICByZXR1cm4gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwga2V5cywgdmFsdWVzLCBXVEZfQVJSQVlfTEVOR1RIKGtleXMpLCAma0NGVHlwZURpY3Rpb25h
cnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiB9CiAK
LXN0YXRpYyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gY2FzY2FkZVRvTGFzdFJlc29y
dEFuZFZhcmlhdGlvbnNGb250RGVzY3JpcHRvcihDVEZvbnRSZWYgb3JpZ2luYWxGb250KQorc3Rh
dGljIENURm9udERlc2NyaXB0b3JSZWYgY2FzY2FkZVRvTGFzdFJlc29ydEFuZFZhcmlhdGlvbnNG
b250RGVzY3JpcHRvcigpCiB7Ci0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiA8cmRhcjovL3By
b2JsZW0vMjg0NDk0NDE+IGlzIGZpeGVkLiBOT1RFOiBUaGF0IHJhZGFyIHdhcyBmaXhlZCAxMS8x
Ni8xNiwgc28gdGhpcyBjYW4gYmUgcmVtb3ZlZC4gVEJELgotI2RlZmluZSBXT1JLQVJPVU5EX0NP
UkVURVhUX1ZBUklBVElPTlNfV0lUSF9GQUxMQkFDS19MSVNUX0JVRyAoRU5BQkxFKFZBUklBVElP
Tl9GT05UUykgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTEwMDAwKSkKLQotICAgIENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVz
ID0gY2FzY2FkZVRvTGFzdFJlc29ydEF0dHJpYnV0ZXNEaWN0aW9uYXJ5KCk7Ci0jaWYgV09SS0FS
T1VORF9DT1JFVEVYVF9WQVJJQVRJT05TX1dJVEhfRkFMTEJBQ0tfTElTVF9CVUcKLSAgICBhdXRv
IHZhcmlhdGlvbnMgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oQ1RGb250
Q29weUF0dHJpYnV0ZShvcmlnaW5hbEZvbnQsIGtDVEZvbnRWYXJpYXRpb25BdHRyaWJ1dGUpKSk7
Ci0gICAgaWYgKCF2YXJpYXRpb25zIHx8ICFDRkRpY3Rpb25hcnlHZXRDb3VudCh2YXJpYXRpb25z
LmdldCgpKSB8fCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoYWRvcHRDRihDVEZvbnRD
b3B5Rm9udERlc2NyaXB0b3Iob3JpZ2luYWxGb250KSkuZ2V0KCkpKQotI2VuZGlmCi0gICAgewot
ICAgICAgICBVTlVTRURfUEFSQU0ob3JpZ2luYWxGb250KTsKLQotICAgICAgICBzdGF0aWMgQ1RG
b250RGVzY3JpcHRvclJlZiBkZXNjcmlwdG9yID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKGRlc2Ny
aXB0b3IpCi0gICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjsKLQotICAgICAgICBkZXNjcmlw
dG9yID0gQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpOwot
ICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjsKLSAgICB9Ci0jaWYgV09SS0FST1VORF9DT1JFVEVY
VF9WQVJJQVRJT05TX1dJVEhfRkFMTEJBQ0tfTElTVF9CVUcKLSAgICBhdXRvIG11dGFibGVBdHRy
aWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlQ29weShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCAyLCBhdHRyaWJ1dGVzKSk7Ci0gICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUobXV0
YWJsZUF0dHJpYnV0ZXMuZ2V0KCksIGtDVEZvbnRWYXJpYXRpb25BdHRyaWJ1dGUsIHZhcmlhdGlv
bnMuZ2V0KCkpOwotICAgIHJldHVybiBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRo
QXR0cmlidXRlcyhtdXRhYmxlQXR0cmlidXRlcy5nZXQoKSkpOwotI2VuZGlmCi0jdW5kZWYgV09S
S0FST1VORF9DT1JFVEVYVF9WQVJJQVRJT05TX1dJVEhfRkFMTEJBQ0tfTElTVF9CVUcKKyAgICBz
dGF0aWMgQ1RGb250RGVzY3JpcHRvclJlZiBkZXNjcmlwdG9yID0gQ1RGb250RGVzY3JpcHRvckNy
ZWF0ZVdpdGhBdHRyaWJ1dGVzKGNhc2NhZGVUb0xhc3RSZXNvcnRBdHRyaWJ1dGVzRGljdGlvbmFy
eSgpLmdldCgpKTsKKyAgICByZXR1cm4gZGVzY3JpcHRvcjsKIH0KIAogQ1RGb250UmVmIEZvbnRQ
bGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0CkBAIC0xNTUsNyArMTI3LDcgQEAgQ1RGb250UmVm
IEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2N0Rm9u
dC5nZXQoKTsKIAogICAgIEFTU0VSVChtX2ZvbnQpOwotICAgIG1fY3RGb250ID0gYWRvcHRDRihD
VEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9mb250LmdldCgpLCBtX3NpemUsIG51bGxw
dHIsIGNhc2NhZGVUb0xhc3RSZXNvcnRBbmRWYXJpYXRpb25zRm9udERlc2NyaXB0b3IobV9mb250
LmdldCgpKS5nZXQoKSkpOworICAgIG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5
V2l0aEF0dHJpYnV0ZXMobV9mb250LmdldCgpLCBtX3NpemUsIG51bGxwdHIsIGNhc2NhZGVUb0xh
c3RSZXNvcnRBbmRWYXJpYXRpb25zRm9udERlc2NyaXB0b3IoKSkpOwogCiAgICAgaWYgKG1fd2lk
dGhWYXJpYW50ICE9IEZvbnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCkgewogICAgICAgICBp
bnQgZmVhdHVyZVR5cGVWYWx1ZSA9IGtUZXh0U3BhY2luZ1R5cGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0KaW5kZXggMzkxZmMy
M2NkMGE4Zjg2OWFjYzEwNzMyZDE0ZmRmNDUwZmMyODU1Ni4uMmZiZGFiMjEwMWUzMmI0ODdkNjUz
OGFhY2NlMGNkYjc5NTRiM2E4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQpAQCAtMzc3LDcgKzM3Nyw5IEBAIElPU3VyZmFj
ZTo6Rm9ybWF0IElPU3VyZmFjZTo6Zm9ybWF0KCkgY29uc3QKIAogSU9TdXJmYWNlSUQgSU9TdXJm
YWNlOjpzdXJmYWNlSUQoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICgh
VVNFKEFQUExFX0lOVEVSTkFMX1NESykgfHwgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMTAwMDApCisvLyBGSVhNRTogU2hvdWxkIGJlIGFibGUgdG8gZG8gdGhpcyBldmVuIHdp
dGhvdXQgdGhlIEFwcGxlIGludGVybmFsIFNESy4KKy8vIEZJWE1FOiBTaG91bGQgYmUgYWJsZSB0
byBkbyB0aGlzIG9uIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgKCFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKSkKICAgICByZXR1cm4gMDsKICNlbHNlCiAgICAgcmV0dXJuIElPU3VyZmFj
ZUdldElEKG1fc3VyZmFjZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQppbmRleCAyYjJhYzhhNGEwMjc4M2MyNTA5
Y2JkZmExZDQwMmM1NDQxYmNjOGEwLi5lZDFiZGM4OGFmOGM1N2IzN2UxMjk4MGRmYzMzMDlkMjky
NTI1ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3Mv
Rm9udENhY2hlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9Gb250Q2FjaGVJT1MubW0KQEAgLTE1Niw3ICsxNTYsOCBAQCBSZXRhaW5QdHI8Q1RGb250UmVm
PiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5LAogICAgIH0KIAogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1p
bHksICJsYXN0cmVzb3J0IikpIHsKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAwMDAKKy8vIEZJWE1FOiBMaWtlbHkgd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwg
Y2FzZSBmb3Igd2F0Y2hPUyBhbmQgdHZPUy4KKyNpZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBM
QVRGT1JNKEFQUExFVFYpCiAgICAgICAgIHN0YXRpYyBjb25zdCBDVEZvbnREZXNjcmlwdG9yUmVm
IGxhc3RSZXNvcnQgPSBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlTGFzdFJlc29ydCgpOwogICAgICAg
ICByZXR1cm4gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IobGFzdFJlc29y
dCwgc2l6ZSwgbnVsbHB0cikpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApp
bmRleCAyMTlhOTk1YjhhNGM1NWZjYjE5YzVlODE0YWZkODNkNGU0YzgyMThiLi44YzQ2MTUzMTBk
MGU3OWQzZjkzMTJjYzIyODk5NmJmNTc5NzAyZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuY3BwCkBAIC01Niw3ICs1Niw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZv
cm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgUmV0
YWluUHRyPENGRGF0YVJlZj4gYnVmZmVyRGF0YSA9IGJ1ZmZlci5jcmVhdGVDRkRhdGEoKTsKIAog
ICAgIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBmb250RGVzY3JpcHRvcjsKLSNpZiBQ
TEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCisvLyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1v
dmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JN
KFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogICAgIGF1dG8gYXJyYXkgPSBhZG9wdENG
KENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvcnNGcm9tRGF0YShidWZmZXJEYXRhLmdl
dCgpKSk7CiAgICAgaWYgKCFhcnJheSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtBY3Rpdml0eVRyYWNrZXIu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0FjdGl2aXR5VHJhY2tlci5o
CmluZGV4IDI4OGQxZDAxNzFmNGY5YjgwN2ZhZjU4MTk2YWU5YTU0NWUyOTFmNTUuLmJjY2JhNzE3
YWRjM2Y0OGZhMTMwYzIyN2UyZjhjOGIxZWQ1NDRkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0FjdGl2aXR5VHJhY2tlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0FjdGl2aXR5VHJhY2tlci5oCkBAIC0yNSw3ICsy
NSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYm
ICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEyMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykpCisvLyBGSVhNRTogVGhp
cyBzaG91bGQgYmUgaW4gUGxhdGZvcm1IYXZlLmggaW5zdGVhZCBvZiBoZXJlLgorLy8gRklYTUU6
IFNob3VsZCBiZSBhYmxlIHRvIGRvIHRoaXMgZXZlbiB3aXRob3V0IHRoZSBBcHBsZSBpbnRlcm5h
bCBTREsuCisvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byB0aGF0IHdlIGRvIG5vdCBoYXZlIHRo
aXMgb24gdHZPUz8KKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShDT0NP
QSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMDE0MDApICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX05XX0FDVElWSVRZ
IDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3Mv
VUlLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCmlu
ZGV4IDU3NTkxZDAzYTRkMmZjOGYxNmYxZWE1MWUxNTVhNjUxZjU0ZWRhMmEuLjQ3YjdmNGUwNjZj
NmUyODEzOGM0Y2I2YWRmOTM0OWIzODkzMzE5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
c3BpL2lvcy9VSUtpdFNQSS5oCkBAIC01MTUsNyArNTE1LDcgQEAgdHlwZWRlZiBlbnVtIHsKIEBw
cm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5nICpfaG9zdEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcjsKIEBlbmQKIAotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEx
MDAwMAorI2lmIFBMQVRGT1JNKElPUykKIEBpbnRlcmZhY2UgTlNVUkwgKCkKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldFRpdGxlOikgTlNTdHJpbmcgKl90aXRsZTsKIEBl
bmQKQEAgLTc3OCwxMyArNzc4LDExIEBAIHN0cnVjdCBfVUlXZWJUb3VjaFBvaW50IHsKICAgICBD
R1BvaW50IGxvY2F0aW9uSW5Eb2N1bWVudENvb3JkaW5hdGVzOwogICAgIHVuc2lnbmVkIGlkZW50
aWZpZXI7CiAgICAgVUlUb3VjaFBoYXNlIHBoYXNlOwotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID4gMTAwMDAwCiAgICAgQ0dGbG9hdCBtYWpvclJhZGl1c0luU2NyZWVuQ29v
cmRpbmF0ZXM7CiAgICAgQ0dGbG9hdCBmb3JjZTsKICAgICBDR0Zsb2F0IGFsdGl0dWRlQW5nbGU7
CiAgICAgQ0dGbG9hdCBhemltdXRoQW5nbGU7CiAgICAgVUlXZWJUb3VjaFBvaW50VHlwZSB0b3Vj
aFR5cGU7Ci0jZW5kaWYKIH07CiAKIHN0cnVjdCBfVUlXZWJUb3VjaEV2ZW50IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXgg
Mjk1NWEwOTRkNjQzNmJmYzk2YmZkNjVkZjQ2ZmNlYTkxMTY5OWMxMy4uNGU0ZTE3ZGMwNTc0M2Nl
ZjNiNGU0ODExYmY3OTUwNTM5YzI0NzhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTIyMCw3ICsyMjAsOSBAQAogI2Rl
ZmluZSBERUZBVUxUX1BST0NFU1NfU1dBUF9PTl9DUk9TU19TSVRFX05BVklHQVRJT05fRU5BQkxF
RCBmYWxzZQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oV0FU
Q0hPUykKKy8vIEZJWE1FOiBTZWVtcyBsaWtlIHRoaXMgc2hvdWxkIGJlIEhBVkUoQ0dfQ09OVEVY
VF9EUkFXX0NPTklDX0dSQURJRU5UKS4KKy8vIEZJWE1FOiBDYW4gd2UgY2hhbmdlIHR2T1MgdG8g
YmUgbGlrZSB0aGUgb3RoZXIgQ29jb2EgcGxhdGZvcm1zPworI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEw
MTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIERFRkFVTFRfQ09OSUNfR1JBRElF
TlRfRU5BQkxFRCB0cnVlCiAjZWxzZQogI2RlZmluZSBERUZBVUxUX0NPTklDX0dSQURJRU5UX0VO
QUJMRUQgZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3Mv
V0tXZWJWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZp
ZXdJT1MubW0KaW5kZXggOWFjODllZTJlZWExNDIyOGRiNjUzZTFmMDk1NDRhOWJmZWQ4MGJjNy4u
NjgwM2E3MjFmM2JlOTkwZTMxNjYyY2NlMGVhYzk4ZjI0YjljNDIxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KQEAgLTcxNCw3ICs3MTQs
OCBAQCAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lCiAKIHN0YXRpYyBDR1BvaW50
IGNvbnRlbnRPZmZzZXRCb3VuZGVkSW5WYWxpZFJhbmdlKFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmll
dywgQ0dQb2ludCBjb250ZW50T2Zmc2V0KQogewotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDExMDAwMAorLy8gRklYTUU6IExpa2VseSB3ZSBjYW4gcmVtb3ZlIHRoaXMg
c3BlY2lhbCBjYXNlIGZvciB3YXRjaE9TIGFuZCB0dk9TLgorI2lmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICAgICBVSUVkZ2VJbnNldHMgY29udGVudEluc2V0cyA9
IHNjcm9sbFZpZXcuYWRqdXN0ZWRDb250ZW50SW5zZXQ7CiAjZWxzZQogICAgIFVJRWRnZUluc2V0
cyBjb250ZW50SW5zZXRzID0gc2Nyb2xsVmlldy5jb250ZW50SW5zZXQ7CkBAIC0xNzIwLDcgKzE3
MjEsOCBAQCAtIChXZWJDb3JlOjpGbG9hdFNpemUpYWN0aXZlVmlld0xheW91dFNpemU6KGNvbnN0
IENHUmVjdCYpYm91bmRzCiAgICAgaWYgKF92aWV3TGF5b3V0U2l6ZU92ZXJyaWRlKQogICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6RmxvYXRTaXplKF92aWV3TGF5b3V0U2l6ZU92ZXJyaWRlLnZhbHVl
KCkpOwogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisv
LyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNo
T1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRW
KQogICAgIHJldHVybiBXZWJDb3JlOjpGbG9hdFNpemUoVUlFZGdlSW5zZXRzSW5zZXRSZWN0KENH
UmVjdE1ha2UoMCwgMCwgYm91bmRzLnNpemUud2lkdGgsIGJvdW5kcy5zaXplLmhlaWdodCksIHNl
bGYuX3Njcm9sbFZpZXdTeXN0ZW1Db250ZW50SW5zZXQpLnNpemUpOwogI2Vsc2UKICAgICByZXR1
cm4gV2ViQ29yZTo6RmxvYXRTaXplIHsgYm91bmRzLnNpemUgfTsKQEAgLTE4MDAsNyArMTgwMiw4
IEBAIC0gKEJPT0wpX3Njcm9sbFZpZXdJc1J1YmJlckJhbmRpbmcKICAgICByZXR1cm4gIXBvaW50
c0VxdWFsSW5EZXZpY2VQaXhlbHMoY29udGVudE9mZnNldCwgYm91bmRlZE9mZnNldCwgZGV2aWNl
U2NhbGVGYWN0b3IpOwogfQogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwCisvLyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNh
c2UgZm9yIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFU
Rk9STShBUFBMRVRWKQogLSAodm9pZClzYWZlQXJlYUluc2V0c0RpZENoYW5nZQogewogICAgIFtz
dXBlciBzYWZlQXJlYUluc2V0c0RpZENoYW5nZV07CkBAIC0yMzIzLDcgKzIzMjYsOCBAQCAtIChX
S1Bhc3N3b3JkVmlldyAqKV9wYXNzd29yZFZpZXcKIAogLSAodm9pZClfdXBkYXRlU2Nyb2xsVmll
d0luc2V0QWRqdXN0bWVudEJlaGF2aW9yCiB7Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTEwMDAwCisvLyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBz
cGVjaWFsIGNhc2UgZm9yIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1Mp
ICYmICFQTEFURk9STShBUFBMRVRWKQogICAgIGlmICghW19zY3JvbGxWaWV3IF9jb250ZW50SW5z
ZXRBZGp1c3RtZW50QmVoYXZpb3JXYXNFeHRlcm5hbGx5T3ZlcnJpZGRlbl0pCiAgICAgICAgIFtf
c2Nyb2xsVmlldyBfc2V0Q29udGVudEluc2V0QWRqdXN0bWVudEJlaGF2aW9ySW50ZXJuYWw6c2Vs
Zi5fc2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0cyA/IFVJU2Nyb2xsVmlld0NvbnRl
bnRJbnNldEFkanVzdG1lbnRBbHdheXMgOiBVSVNjcm9sbFZpZXdDb250ZW50SW5zZXRBZGp1c3Rt
ZW50TmV2ZXJdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZVZpZXdzLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVWaWV3cy5tbQpp
bmRleCAwMzc5M2RkZjRmODBiNWIxNGQwYWYzM2QxMTY4MjBjN2Y3YjU5YTM4Li42OWYxZmMxNjFj
ZDZhYTFmNTQzNTBiOWE2ZjgwZDU4ZmQxNGM5MmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZVZpZXdzLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlTGF5
ZXJUcmVlVmlld3MubW0KQEAgLTM4NCw3ICszODQsOCBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhGcmFtZTooQ0dSZWN0KWZyYW1lCiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmls
OwogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisvLyBG
SVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNoT1Mg
YW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQog
ICAgIHNlbGYuY29udGVudEluc2V0QWRqdXN0bWVudEJlaGF2aW9yID0gVUlTY3JvbGxWaWV3Q29u
dGVudEluc2V0QWRqdXN0bWVudE5ldmVyOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGVj
MTgzZWNkNmY2ZGQ1ODhhNjM1ZDZhNzVmMDViMzcxYTMzYTg2OTMuLmQwMjEyZTViZWUxNGQ4ZGE1
NGEwMTEwNTNlOGQzNWE3NmUwMGIyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMjAxMCw3ICsyMDEw
LDggQEAgLSAoQk9PTClnZXN0dXJlUmVjb2duaXplcjooVUlHZXN0dXJlUmVjb2duaXplciAqKXBy
ZXZlbnRpbmdHZXN0dXJlUmVjb2duaXplciBjYW4KIC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXI6
KFVJR2VzdHVyZVJlY29nbml6ZXIgKilwcmV2ZW50ZWRHZXN0dXJlUmVjb2duaXplciBjYW5CZVBy
ZXZlbnRlZEJ5R2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilwcmV2ZW50
aW5nR2VzdHVyZVJlY29nbml6ZXIgewogICAgIC8vIERvbid0IGFsbG93IHRoZSBoaWdobGlnaHQg
dG8gYmUgcHJldmVudGVkIGJ5IGEgc2VsZWN0aW9uIGdlc3R1cmUuIFByZXNzLWFuZC1ob2xkIG9u
IGEgbGluayBzaG91bGQgaGlnaGxpZ2h0IHRoZSBsaW5rLCBub3Qgc2VsZWN0IGl0LgogICAgIGJv
b2wgaXNGb3JjZVByZXNzR2VzdHVyZSA9IE5POwotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEyMDAwMAorLy8gRklYTUU6IExpa2VseSB3ZSBjYW4gcmVtb3ZlIHRoaXMg
c3BlY2lhbCBjYXNlIGZvciB3YXRjaE9TIGFuZCB0dk9TLgorI2lmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICAgICBpc0ZvcmNlUHJlc3NHZXN0dXJlID0gKHByZXZl
bnRpbmdHZXN0dXJlUmVjb2duaXplciA9PSBfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50LmdldCgp
LmZvcmNlUHJlc3NHZXN0dXJlKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQpA
QCAtNjY2NCw3ICs2NjY1LDggQEAgLSAodm9pZCl1cGRhdGVUZXh0U3VnZ2VzdGlvbnNGb3JJbnB1
dERlbGVnYXRlCiAtICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJPT0wpaGFzVmlk
ZW8gZnJvbVJlY3Q6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKWVsZW1lbnRSZWN0IHJvdXRlU2hh
cmluZ1BvbGljeTooV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5KXJvdXRlU2hhcmluZ1BvbGlj
eSByb3V0aW5nQ29udGV4dFVJRDooTlNTdHJpbmcgKilyb3V0aW5nQ29udGV4dFVJRAogewogI2lm
IEVOQUJMRShBSVJQTEFZX1BJQ0tFUikKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAwMDAgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRW
KQorLy8gRklYTUU6IExpa2VseSB3ZSBjYW4gcmVtb3ZlIHRoaXMgc3BlY2lhbCBjYXNlIGZvciB3
YXRjaE9TIGFuZCB0dk9TLgorI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQ
TEVUVikKICAgICBpZiAoIV9haXJQbGF5Um91dGVQaWNrZXIpCiAgICAgICAgIF9haXJQbGF5Um91
dGVQaWNrZXIgPSBhZG9wdE5TKFtbV0tBaXJQbGF5Um91dGVQaWNrZXIgYWxsb2NdIGluaXRdKTsK
ICAgICBbX2FpclBsYXlSb3V0ZVBpY2tlciBzaG93RnJvbVZpZXc6c2VsZiByb3V0ZVNoYXJpbmdQ
b2xpY3k6cm91dGVTaGFyaW5nUG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOnJvdXRpbmdDb250ZXh0
VUlEIGhhc1ZpZGVvOmhhc1ZpZGVvXTsKQEAgLTY4ODAsNyArNjg4Miw4IEBAIC0gKEJPT0wpYWN0
aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQgc2hv
d0N1c3RvbVNoZWV0CiAgICAgcmV0dXJuIE5POwogfQogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisvLyBGSVhNRTogTGlrZWx5IHdlIGNhbiByZW1vdmUg
dGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNoT1MgYW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogLSAoQ0dSZWN0KXVub2NjbHVkZWRXaW5kb3dC
b3VuZHNGb3JBY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFz
c2lzdGFudAogewogICAgIFVJRWRnZUluc2V0cyBjb250ZW50SW5zZXQgPSBbW193ZWJWaWV3IHNj
cm9sbFZpZXddIGFkanVzdGVkQ29udGVudEluc2V0XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS1Njcm9sbFZpZXcuaAppbmRleCA0MDkwODY0MDRmNTViM2Q2M2E1ZmQ1NzM5YmJkYWI5
ZDU5ODhiZjkwLi5lZTE2OTBiMTlmOTViMTYzMjY0Nzk4OGIxYjk4ODg1NWI1NWExYTA4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oCkBAIC0zNyw3ICszNyw4
IEBACiAtICh2b2lkKV9zZXRTY3JvbGxFbmFibGVkSW50ZXJuYWw6KEJPT0wpZW5hYmxlZDsKIC0g
KHZvaWQpX3NldFpvb21FbmFibGVkSW50ZXJuYWw6KEJPT0wpZW5hYmxlZDsKIAotI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorLy8gRklYTUU6IExpa2VseSB3
ZSBjYW4gcmVtb3ZlIHRoaXMgc3BlY2lhbCBjYXNlIGZvciB3YXRjaE9TIGFuZCB0dk9TLgorI2lm
ICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBhc3NpZ24sIHJlYWRvbmx5KSBCT09MIF9jb250ZW50SW5zZXRBZGp1c3RtZW50QmVo
YXZpb3JXYXNFeHRlcm5hbGx5T3ZlcnJpZGRlbjsKIC0gKHZvaWQpX3NldENvbnRlbnRJbnNldEFk
anVzdG1lbnRCZWhhdmlvckludGVybmFsOihVSVNjcm9sbFZpZXdDb250ZW50SW5zZXRBZGp1c3Rt
ZW50QmVoYXZpb3IpaW5zZXRBZGp1c3RtZW50QmVoYXZpb3I7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tCmluZGV4IDZhZWYyYjNjNWUxZWM1OTdi
OGU4M2M0MmNiNjBhMTdhZmFjMjhlNjAuLjFkMzBiZTRjMjBhOTI4OTFkYjAyMDVmM2ZlOTdjNDNl
OWJmNGZhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9s
bFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5t
bQpAQCAtMTI3LDcgKzEyNyw4IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbFZpZXcgewogICAg
IFdlYWtPYmpDUHRyPGlkIDxVSVNjcm9sbFZpZXdEZWxlZ2F0ZT4+IF9leHRlcm5hbERlbGVnYXRl
OwogICAgIFdLU2Nyb2xsVmlld0RlbGVnYXRlRm9yd2FyZGVyICpfZGVsZWdhdGVGb3J3YXJkZXI7
CiAKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKKy8vIEZJ
WE1FOiBMaWtlbHkgd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgY2FzZSBmb3Igd2F0Y2hPUyBh
bmQgdHZPUy4KKyNpZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAg
ICAgQk9PTCBfY29udGVudEluc2V0QWRqdXN0bWVudEJlaGF2aW9yV2FzRXh0ZXJuYWxseU92ZXJy
aWRkZW47CiAjZW5kaWYKICAgICBDR0Zsb2F0IF9rZXlib2FyZEJvdHRvbUluc2V0QWRqdXN0bWVu
dDsKQEAgLTE1Myw3ICsxNTQsOCBAQCAtIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUK
ICAgICBzZWxmLmRpcmVjdGlvbmFsTG9ja0VuYWJsZWQgPSBZRVM7CiAgICAgW3NlbGYgX3NldElu
ZGljYXRvckluc2V0QWRqdXN0bWVudEJlaGF2aW9yOlVJU2Nyb2xsVmlld0luZGljYXRvckluc2V0
QWRqdXN0bWVudEFsd2F5c107CiAKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAwMDAKKy8vIEZJWE1FOiBMaWtlbHkgd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwg
Y2FzZSBmb3Igd2F0Y2hPUyBhbmQgdHZPUy4KKyNpZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBM
QVRGT1JNKEFQUExFVFYpCiAgICAgX2NvbnRlbnRJbnNldEFkanVzdG1lbnRCZWhhdmlvcldhc0V4
dGVybmFsbHlPdmVycmlkZGVuID0gKHNlbGYuY29udGVudEluc2V0QWRqdXN0bWVudEJlaGF2aW9y
ICE9IFVJU2Nyb2xsVmlld0NvbnRlbnRJbnNldEFkanVzdG1lbnRBdXRvbWF0aWMpOwogI2VuZGlm
CiAgICAgCkBAIC0yNzgsNyArMjgwLDggQEAgLSAodm9pZClzZXRDb250ZW50SW5zZXQ6KFVJRWRn
ZUluc2V0cyljb250ZW50SW5zZXQKICAgICBbX2ludGVybmFsRGVsZWdhdGUgX3NjaGVkdWxlVmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlXTsKIH0KIAotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDExMDAwMAorLy8gRklYTUU6IExpa2VseSB3ZSBjYW4gcmVtb3ZlIHRoaXMg
c3BlY2lhbCBjYXNlIGZvciB3YXRjaE9TIGFuZCB0dk9TLgorI2lmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIAogLSAoQk9PTClfY29udGVudEluc2V0QWRqdXN0bWVu
dEJlaGF2aW9yV2FzRXh0ZXJuYWxseU92ZXJyaWRkZW4KIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQppbmRl
eCAwNDI3YWFjODVlYTkxYWFkN2YzNmE2YzhmZTkwZDRjZDY5ZTZkODg3Li40YzIxOGNkNzAyNGMw
ZDJlZTJkZTlkYjI4NzhjODYxZjcxYjIzYzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCkBAIC03OSw2
ICs3OSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Zpc2libGVVbml0cy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9XZWJDb250ZW50UmVhZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0
cmFzLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTcGVsbENoZWNrZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9N
YWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBAIC0xMDMsNyArMTA0LDggQEAg
LSAoTlNTdHJpbmcgKilsYW5ndWFnZUZvcldvcmRSYW5nZTooTlNSYW5nZSlyYW5nZSBpblN0cmlu
ZzooTlNTdHJpbmcgKilzdHJpbmcgb3IKIEBlbmQKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKElP
U19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQor
Ly8gRklYTUU6IFNlZW1zIGxpa2VseSB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGlzIGxlZ2FjeSBjb2Rl
IGZvciB3YXRjaE9TIGFuZCB0dk9TLgorI2lmIFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JN
KEFQUExFVFYpCiBAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoV2ViTlNBdHRyaWJ1dGVk
U3RyaW5nRGV0YWlscykKIC0gKERPTURvY3VtZW50RnJhZ21lbnQgKilfZG9jdW1lbnRGcm9tUmFu
Z2U6KE5TUmFuZ2UpcmFuZ2UgZG9jdW1lbnQ6KERPTURvY3VtZW50ICopZG9jdW1lbnQgZG9jdW1l
bnRBdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKilhdHRyaWJ1dGVzIHN1YnJlc291cmNlczooTlNB
cnJheSAqKilzdWJyZXNvdXJjZXM7CiBAZW5kCkBAIC00MTksNyArNDIxLDggQEAgdm9pZCBXZWJF
ZGl0b3JDbGllbnQ6OmdldENsaWVudFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UoV2ViQ29yZTo6UmFu
Z2UqLCBWZWN0b3I8U3QKICAgICAvLyBOb3QgaW1wbGVtZW50ZWQgV2ViS2l0LCBvbmx5IFdlYktp
dDIuCiB9CiAKLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9STShNQUMpCisvLyBGSVhNRTogU2Vl
bXMgbGlrZWx5IHdlIGNhbiBnZXQgcmlkIG9mIHRoaXMgbGVnYWN5IGNvZGUgZm9yIHdhdGNoT1Mg
YW5kIHR2T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQog
CiAvLyBGSVhNRTogUmVtb3ZlIGJvdGggdGhpcyBzdHViIGFuZCB0aGUgcmVhbCB2ZXJzaW9uIG9m
IHRoaXMgZnVuY3Rpb24gYmVsb3cgb25jZSB3ZSBkb24ndCBuZWVkIHRoZSByZWFsIHZlcnNpb24g
b24gYW55IHN1cHBvcnRlZCBwbGF0Zm9ybS4KIC8vIFRoaXMgc3R1YiBpcyBub3QgdXNlZCBvdXRz
aWRlIFdlYktpdCwgYnV0IGl0J3MgaGVyZSBzbyB3ZSB3b24ndCBnZXQgYSBsaW5rZXIgZXJyb3Iu
CkBAIC00NTQsMTAgKzQ1Nyw2IEBAIHN0YXRpYyBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXNGb3JB
dHRyaWJ1dGVkU3RyaW5nQ29udmVyc2lvbigpCiAgICAgICAgIFtleGNsdWRlZEVsZW1lbnRzIGFk
ZE9iamVjdDpAIm9iamVjdCJdOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQot
ICAgIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IE5TRXhjbHVkZWRFbGVtZW50c0RvY3VtZW50QXR0
cmlidXRlID0gQCJFeGNsdWRlZEVsZW1lbnRzIjsKLSNlbmRpZgotCiAgICAgTlNEaWN0aW9uYXJ5
ICpkaWN0aW9uYXJ5ID0gQHsgTlNFeGNsdWRlZEVsZW1lbnRzRG9jdW1lbnRBdHRyaWJ1dGU6IGV4
Y2x1ZGVkRWxlbWVudHMgfTsKIAogICAgIFtleGNsdWRlZEVsZW1lbnRzIHJlbGVhc2VdOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggMTUz
NGU2ZjJiYWMzNmNiMTI4Y2IyNGUyMTMxNjNlZGE3OWM4MDdmZC4uZWU1YTY1ZThmZTMzZDI5MGUz
NWZiNmUyMjMyYzVkYTgwODAzY2FlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0xMzYsNiArMTM2LDcgQEAKICNpbXBvcnQgPGRsZmNu
Lmg+CiAjaW1wb3J0IDxsaW1pdHM+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJ
Lmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oPgogI2lt
cG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaD4KICNpbXBvcnQg
PHBhbC9zcGkvbWFjL05TU2Nyb2xsZXJJbXBTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05T
U3BlbGxDaGVja2VyU1BJLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggYTBlNzE2MWIyZTY2MTQ2OWIzMWZk
NzBhNzkxMWQ0Yzg2OTI1NWRhMi4uOWIyOTUzZjBhODJhNDljMzY3NDZkOTI1MDdjN2I0YzE2YzBm
Njc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURl
bGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
VUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNDUsNyArNDUsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAot
I2lmIFRBUkdFVF9PU19JUEhPTkUgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwCisjaWYgVEFSR0VUX09TX0lPUwogQHByb3RvY29sIFVJRHJvcFNlc3Npb247CiAj
ZW5kaWYKIApAQCAtMjk4LDggKzI5OCw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1l
c3NhZ2VFcnJvck1lc3NhZ2VMZXZlbDsKIC0gKHZvaWQpd2ViVmlld1N1cHBvcnRlZE9yaWVudGF0
aW9uc1VwZGF0ZWQ6KFdlYlZpZXcgKilzZW5kZXI7CiAKIC0gKEJPT0wpd2ViVmlld0NhbkNoZWNr
R2VvbG9jYXRpb25BdXRob3JpemF0aW9uU3RhdHVzOihXZWJWaWV3ICopc2VuZGVyOworI2VuZGlm
CiAKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKKyNpZiBU
QVJHRVRfT1NfSU9TCiAvKiEKICBAbWV0aG9kIHdlYlZpZXc6ZHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
TWFza0ZvclNlc3Npb246CiAgQHBhcmFtIHNlbmRlciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBk
ZWxlZ2F0ZSBtZXRob2QKQEAgLTMwOCw3ICszMDksNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYkNv
bnNvbGVNZXNzYWdlRXJyb3JNZXNzYWdlTGV2ZWw7CiAgKi8KIC0gKFdlYkRyYWdEZXN0aW5hdGlv
bkFjdGlvbil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYWdEZXN0aW5hdGlvbkFjdGlvbk1h
c2tGb3JTZXNzaW9uOihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbjsKICNlbmRpZgotI2VuZGlm
CiAKIC0gKE5TRGF0YSAqKXdlYkNyeXB0b01hc3RlcktleUZvcldlYlZpZXc6KFdlYlZpZXcgKilz
ZW5kZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCBkNGZhODMyZDhkNzMxY2JlZWVlNTAzYTg4ZTRkYzIzMzM4NGY2MTQyLi5kNjhlNjRmZWNlNGVl
YmY1NDQ2MzAzYzE1MDYxMDNhMTYyMjEzYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xOTY5LDcgKzE5NjksNyBAQCAtICh2b2lkKV9kaWRDb25j
bHVkZUVkaXREcmFnCiAgICAgfQogfQogCi0jZWxpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMTAwMDAKKyNlbGlmIFBMQVRGT1JNKElPUykKIAogLSAoQk9PTClfcmVxdWVz
dFN0YXJ0RGF0YUludGVyYWN0aW9uOihDR1BvaW50KWNsaWVudFBvc2l0aW9uIGdsb2JhbFBvc2l0
aW9uOihDR1BvaW50KWdsb2JhbFBvc2l0aW9uCiB7CkBAIC0yMDM5LDYgKzIwMzksNyBAQCAtIChD
R1JlY3QpX2RhdGFJbnRlcmFjdGlvbkNhcmV0UmVjdAogfQogCiAjZW5kaWYKKwogI2VuZGlmIC8v
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAKIHN0YXRpYyBOU011dGFibGVTZXQgKmtub3duUGx1Z2lu
TUlNRVR5cGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
d1ByaXZhdGUuaAppbmRleCA1MzFjODEwYWIzOTdhMzU0MDcwMzU3Y2JiZjM4MDI3ZGUwYjAxNzY3
Li4wZWUyODliODFmZjU2NmE5NzEwZDE1ZDBlMWI1NTI1NGIyOTJkYjU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC0xMTcsNyAr
MTE3LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJRdWlja0xvb2tGaWxlTmFtZUtleTsKIGV4dGVy
biBOU1N0cmluZyAqV2ViUXVpY2tMb29rVVRJS2V5OwogI2VuZGlmCiAKLSNpZiBUQVJHRVRfT1Nf
SVBIT05FICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorI2lm
IFRBUkdFVF9PU19JT1MKIEBwcm90b2NvbCBVSURyb3BTZXNzaW9uOwogI2VuZGlmCiAKQEAgLTQ3
OSw3ICs0NzksNyBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4KIAogLSAodm9p
ZClfcmVwbGFjZUN1cnJlbnRIaXN0b3J5SXRlbTooV2ViSGlzdG9yeUl0ZW0gKilpdGVtOwogCi0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisjaWYgVEFSR0VU
X09TX0lPUwogLSAoQk9PTClfcmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uOihDR1BvaW50KWNs
aWVudFBvc2l0aW9uIGdsb2JhbFBvc2l0aW9uOihDR1BvaW50KWdsb2JhbFBvc2l0aW9uOwogLSAo
V2ViVUlUZXh0SW5kaWNhdG9yRGF0YSAqKV9nZXREYXRhSW50ZXJhY3Rpb25EYXRhOwogQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBzdHJvbmcsIGdldHRlcj1fZGF0YU9wZXJhdGlvblRl
eHRJbmRpY2F0b3IpIFdlYlVJVGV4dEluZGljYXRvckRhdGEgKmRhdGFPcGVyYXRpb25UZXh0SW5k
aWNhdG9yOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGE4NzZhMzk2NDUyZjhjMTgxMmE4Y2RhYmE2MzhkNTM1NjMwMjJiMWUuLmIyZjdjMmZlYTAy
NTMzYzA1NmUxNmNmZTBkOTRlMjVjYmEzNjA0NWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMC0wNS0wNCAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCBjaGVja3MgYWdhaW5zdCBvbGQgdmVyc2lvbnMgZXhwbGljaXQg
YWJvdXQgd2F0Y2hPUyBhbmQgdHZPUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjExNDAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RhdGFEZXRl
Y3Rpb24ubW06CisgICAgICAgIFJlbW92ZSB1bm5lZWRlZCBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCBjaGVjay4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW06CisgICAgICAgIE1vdmUgZnJvbSBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCB0bworICAgICAgICAhUExBVEZPUk0oV0FUQ0hPUykgJiYg
IVBMQVRGT1JNKEFQUExFVFYpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbToKKyAgICAgICAgTW92ZSBmcm9tIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIHRvCisgICAgICAgIFBMQVRGT1JNKElPUykuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9PdmVyZmxvd1Njcm9sbFZpZXdUZXN0cy5t
bToKKyAgICAgICAgTW92ZSBmcm9tIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIHRv
CisgICAgICAgICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtUZXN0UnVubmVyV0tXZWJWaWV3IHNldE92ZXJyaWRlU2FmZUFyZWFJbnNldHM6XSk6
IERpdHRvLgorCiAyMDIwLTA1LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW0NhdGFsaW5hXSBBU1NFUlRJT04gRkFJTEVEOiBVbnNhZmUg
dG8gcmVmL2RlcmVmIGZyb20gZGlmZmVyZW50IHRocmVhZHMgc2VlbiB3aXRoIFRlc3RXZWJLaXRB
UEkuTXVsdGlwbGVDbGllbnRDZXJ0aWZpY2F0ZUNvbm5lY3Rpb25zLkZhaWx1cmUKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGF0YURldGVjdGlvbi5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGF0YURldGVjdGlvbi5t
bQppbmRleCAwYjkxMTI3YWI3MmIzZjc3Zjg2ZjZiY2VlMWZhODFiYmFkM2ZjNzI3Li43ZDRhMjM3
NTQzODQ5NWZkZTZjNWZlZGY2ODg0ZWYwODE2MDdlZGYxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RhdGFEZXRlY3Rpb24ubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCkBAIC0xNDYs
MTEgKzE0Niw5IEBAIFRFU1QoV2ViS2l0LCBBZGRBbmRSZW1vdmVEYXRhRGV0ZWN0b3JzKQogICAg
ICAgICBFWFBFQ1RfV0tfU1RSRVEoIkZsaWdodEluZm9ybWF0aW9uIiwgcmVzdWx0c1syXS50eXBl
KTsKICAgICAgICAgRVhQRUNUX1dLX1NUUkVRKCJBQzc4MCIsIHJlc3VsdHNbMl0udmFsdWUpOwog
Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwCiAgICAgICAg
IEVYUEVDVF9FUShERFJlc3VsdENhdGVnb3J5VW5rbm93biwgcmVzdWx0c1swXS5jYXRlZ29yeSk7
CiAgICAgICAgIEVYUEVDVF9FUShERFJlc3VsdENhdGVnb3J5Q2FsZW5kYXJFdmVudCwgcmVzdWx0
c1sxXS5jYXRlZ29yeSk7CiAgICAgICAgIEVYUEVDVF9FUShERFJlc3VsdENhdGVnb3J5TWlzYywg
cmVzdWx0c1syXS5jYXRlZ29yeSk7Ci0jZW5kaWYKICAgICB9OwogCiAgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseURldGVjdERhdGFXaXRoVHlwZXM6V0tEYXRhRGV0ZWN0b3JUeXBlQWxsXTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2ht
ZW50VGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0
YWNobWVudFRlc3RzLm1tCmluZGV4IGM0NGYwZGFiZGZlMThhYWIwNTQ4Y2M5MmM3MzIzNzM1MTIw
ODBkN2MuLjQzM2E5NTJkOTU0YzZmZGI0YWRjODQ2ZWMxNWNmYTlkZDNkN2E5MzYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVz
dHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFj
aG1lbnRUZXN0cy5tbQpAQCAtNjksNyArNjksNyBAQCAtIChfV0tBdHRhY2htZW50ICopX2F0dGFj
aG1lbnRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lCiB9CiBAZW5kCiAKLSNkZWZpbmUgVVNFU19N
T0RFUk5fQVRUUklCVVRFRF9TVFJJTkdfQ09OVkVSU0lPTiAoKFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkgfHwgUExBVEZP
Uk0oTUFDKSkKKyNkZWZpbmUgVVNFU19NT0RFUk5fQVRUUklCVVRFRF9TVFJJTkdfQ09OVkVSU0lP
TiAoIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSkKIAogQGludGVyZmFj
ZSBBdHRhY2htZW50VXBkYXRlT2JzZXJ2ZXIgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0
ZT4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNBcnJheSAqaW5zZXJ0ZWQ7CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSFRUUENv
b2tpZVN0b3JlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0hU
VFBDb29raWVTdG9yZS5tbQppbmRleCBhNDY0OTUxZmE1ODg2YzhjNmIzOTMwYzdiNzA3YzkwNTc0
N2JhYWJkLi4xZDBjNWIwMzQwMjM4OTM5MWNhOTgwYmRjOTJjM2QwNjY3ODczYjY4IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSFRUUENvb2tpZVN0
b3JlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tIVFRQ
Q29va2llU3RvcmUubW0KQEAgLTM0OCw3ICszNDgsOCBAQCBURVNUKFdLSFRUUENvb2tpZVN0b3Jl
LCBIdHRwT25seSkKICAgICBbY29va2llcyByZWxlYXNlXTsKIH0KIAotI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExB
VEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTIwMDAwKQorLy8gRklYTUU6IFdvdWxkIGJlIGdvb2QgdG8gZW5hYmxlIHRoaXMgdGVzdCBmb3Ig
d2F0Y2hPUyBhbmQgdHZPUy4KKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TKQogVEVTVChXS0hUVFBD
b29raWVTdG9yZSwgQ3JlYXRpb25UaW1lKQogeyAgIAogICAgIGF1dG8gZGF0YVN0b3JlID0gW1dL
V2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKQEAgLTQwMiw3ICs0MDMsNyBAQCBU
RVNUKFdLSFRUUENvb2tpZVN0b3JlLCBDcmVhdGlvblRpbWUpCiAgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZnb3RGbGFnKTsKICAgICBnb3RGbGFnID0gZmFsc2U7CiB9Ci0jZW5kaWYgLy8g
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMjAwMDApCisjZW5kaWYKIAogLy8gRklYTUU6IFRoaXMgI2lmIHNob3VsZCBi
ZSByZW1vdmVkIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzM1MzQ0MjAyPiBpcyByZXNvbHZlZCBhbmQg
Ym90cyBhcmUgdXBkYXRlZC4KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8PSAxMDEzMDEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL092ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvT3ZlcmZsb3dTY3JvbGxWaWV3VGVzdHMubW0KaW5kZXggNzE5NjI1ZTZiNjE1
MjQwZTM3N2NkODIxOTk0ZjdhYThmZGIyZTdmZS4uMjQ2NDUxYmFiZDA5OTM3ZmM5ZGEzY2Q3NTg0
NjBhZTNkOGZiZDg1NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3Mv
T3ZlcmZsb3dTY3JvbGxWaWV3VGVzdHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9pb3MvT3ZlcmZsb3dTY3JvbGxWaWV3VGVzdHMubW0KQEAgLTM0LDcgKzM0LDggQEAKICNpbXBv
cnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogCi0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwCisvLyBGSVhNRTog
TGlrZWx5IHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIHdhdGNoT1MgYW5kIHR2
T1MuCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogc3RhdGlj
IE5TU3RyaW5nICpjb25zdCBVSVNjcm9sbFZpZXdJbmRpY2F0b3JDbGFzcyA9IEAiX1VJU2Nyb2xs
Vmlld1Njcm9sbEluZGljYXRvciI7CiAjZWxzZQogc3RhdGljIE5TU3RyaW5nICpjb25zdCBVSVNj
cm9sbFZpZXdJbmRpY2F0b3JDbGFzcyA9IEAiVUlJbWFnZVZpZXciOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCmluZGV4IGI0OGQx
MmY2ZDQ4YTE0MzBhNDMwZjRlNWQwNjRjNTQzY2RjMjAzNGYuLjFmZTU0YjM5MzZkMDIwNjU5ODI3
NGFlMTg2YWU3NGYxZDdlOWU0ZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Y29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KQEAgLTQ4MSw3ICs0ODEsOSBAQCAtICh2b2lk
KWFjY2Vzc2liaWxpdHlSZXRyaWV2ZVNwZWFrU2VsZWN0aW9uQ29udGVudFdpdGhDb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXgogLSAodm9pZClzZXRPdmVycmlkZVNhZmVBcmVhSW5zZXRzOihVSUVk
Z2VJbnNldHMpaW5zZXRzCiB7CiAgICAgX292ZXJyaWRlU2FmZUFyZWFJbnNldHMgPSBpbnNldHM7
Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisKKy8vIEZJ
WE1FOiBMaWtlbHkgd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgY2FzZSBmb3Igd2F0Y2hPUyBh
bmQgdHZPUy4KKyNpZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAg
ICAgW3NlbGYgX3VwZGF0ZVNhZmVBcmVhSW5zZXRzXTsKICNlbmRpZgogfQo=
</data>
<flag name="review"
          id="413837"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>