<?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>256183</bug_id>
          
          <creation_ts>2023-05-01 15:55:32 -0700</creation_ts>
          <short_desc>Rename leading-trim to text-box-trim to match the latest spec</short_desc>
          <delta_ts>2023-05-02 07:50:21 -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>Layout and Rendering</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>
          
          <blocked>256190</blocked>
    
    <blocked>256194</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ntim</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1952240</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-05-01 15:55:32 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952242</commentid>
    <comment_count>1</comment_count>
      <attachid>466162</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-05-01 16:01:13 -0700</bug_when>
    <thetext>Created attachment 466162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952246</commentid>
    <comment_count>2</comment_count>
      <attachid>466162</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2023-05-01 16:46:01 -0700</bug_when>
    <thetext>Comment on attachment 466162
Patch

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

text-edge needs to be renamed to text-box-edge too, but I guess this can be a separate patch

&gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:574
&gt;  #define FOR_EACH(CASE) CASE(Normal) CASE(Start) CASE(End) CASE(Both)

The initial value is now &quot;none&quot; instead of &quot;normal&quot;.

&gt; Source/WebCore/css/CSSProperties.json:3793
&gt;                  &quot;normal&quot;,

same here

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:690
&gt;      Normal,

same here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952249</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-05-01 16:48:40 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #2)
&gt; Comment on attachment 466162 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=466162&amp;action=review
&gt; 
&gt; text-edge needs to be renamed to text-box-edge too, but I guess this can be
&gt; a separate patch
&gt; 
&gt; &gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:574
&gt; &gt;  #define FOR_EACH(CASE) CASE(Normal) CASE(Start) CASE(End) CASE(Both)
&gt; 
&gt; The initial value is now &quot;none&quot; instead of &quot;normal&quot;.
&gt; 
&gt; &gt; Source/WebCore/css/CSSProperties.json:3793
&gt; &gt;                  &quot;normal&quot;,
&gt; 
&gt; same here
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyleConstants.h:690
&gt; &gt;      Normal,
&gt; 
&gt; same here
yeah, these are all going to be in separate patches as this is a rename patch on leading-trim.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952285</commentid>
    <comment_count>4</comment_count>
      <attachid>466165</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-05-01 19:29:54 -0700</bug_when>
    <thetext>Created attachment 466165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952380</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-05-02 07:49:49 -0700</bug_when>
    <thetext>Committed 263587@main (9aeb8b696f2d): &lt;https://commits.webkit.org/263587@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 466165.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952382</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-05-02 07:50:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/108788823&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466162</attachid>
            <date>2023-05-01 16:01:13 -0700</date>
            <delta_ts>2023-05-01 19:29:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-256183-20230501160112.patch</filename>
            <type>text/plain</type>
            <size>52289</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAwZWRhZGJmNmM2MTc0MmEzZmVhZThjZjY2NTJjOTNkNGI0M2IyZDhiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMSBNYXkgMjAyMyAxNTo1NjowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFVwZGF0ZSBs
ZWFkaW5nLXRyaW0gKHRvIHRleHQtYm94LXRyaW0pIHRvIG1hdGNoIHRoZSBsYXRlc3QKIHNwZWMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NjE4MwoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgpTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUt
My8jbGVhZGluZy10cmltIChhcHBhcmVudGx5IHNwZWMgYW5jaG9yIGxpbmsgbmVlZHMgdXBkYXRp
bmcgdG9vKS4KCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0OgoqIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaXBhZC9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNj
YWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dDoKKiBTb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWw6CiogU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcDoKKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5QW5pbWF0aW9uV3JhcHBlck1hcDo6Q1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVyTWFwKToK
KiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgoqIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb246CiogU291cmNlL1dlYkNvcmUvY3NzL0Nv
bXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwOgooV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwOgooV2ViQ29yZTo6aW5pdGlhbFZhbHVlRm9yTG9uZ2hhbmQp
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tM
YXlvdXRTdGF0ZS5oOgooV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpCbG9ja0xh
eW91dFN0YXRlKToKKFdlYkNvcmU6OkxheW91dDo6QmxvY2tMYXlvdXRTdGF0ZTo6dGV4dEJveFRy
aW0gY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpsZWFkaW5nVHJp
bSBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGV2ZWxCb3guaDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGV2
ZWxCb3g6OnRleHRCb3hUcmltIGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGV2ZWxC
b3g6OmlubGluZUJveENvbnRlbnRPZmZzZXRGb3JUZXh0Qm94VHJpbSBjb25zdCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUxldmVsQm94OjpzZXRJbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yVGV4
dEJveFRyaW0pOgooV2ViQ29yZTo6TGF5b3V0OjptX3N0eWxlKToKKFdlYkNvcmU6OkxheW91dDo6
SW5saW5lTGV2ZWxCb3g6OmxlYWRpbmdUcmltIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lTGV2ZWxCb3g6OmlubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJp
bSBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUxldmVsQm94OjpzZXRJ
bmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yTGVhZGluZ1RyaW0pOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3Bw
OgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsUmVjdEZvclRleHRSdW4gY29uc3Qp
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3hCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OnNl
dFZlcnRpY2FsUHJvcGVydGllc0ZvcklubGluZUxldmVsQm94IGNvbnN0KToKKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94R2VvbWV0cnkgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjp0ZXh0Qm94VHJpbSk6
CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6bGF5b3V0KToKKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpsZWFkaW5nVHJpbSk6IERlbGV0ZWQuCiogU291cmNlL1dl
YkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQuY3BwOgooV2ViQ29yZTo6TG9j
YWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpwdXNoTGF5b3V0U3RhdGUpOgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgooV2ViQ29yZTo6VGV4dEJveFRyaW1t
ZXI6OlRleHRCb3hUcmltbWVyKToKKFdlYkNvcmU6OlRleHRCb3hUcmltbWVyOjp+VGV4dEJveFRy
aW1tZXIpOgooV2ViQ29yZTo6VGV4dEJveFRyaW1tZXI6OnNldFRleHRCb3hUcmltRm9yU3VidHJl
ZSk6CihXZWJDb3JlOjpUZXh0Qm94VHJpbW1lcjo6YWRqdXN0VGV4dEJveFRyaW1BZnRlckxheW91
dCk6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEluRmxvd0NoaWxkcmVuKToKKFdl
YkNvcmU6OkxlYWRpbmdUcmltbWVyOjpMZWFkaW5nVHJpbW1lcik6IERlbGV0ZWQuCihXZWJDb3Jl
OjpMZWFkaW5nVHJpbW1lcjo6fkxlYWRpbmdUcmltbWVyKTogRGVsZXRlZC4KKFdlYkNvcmU6Okxl
YWRpbmdUcmltbWVyOjpzZXRMZWFkaW5nVHJpbUZvclN1YnRyZWUpOiBEZWxldGVkLgooV2ViQ29y
ZTo6TGVhZGluZ1RyaW1tZXI6OmFkanVzdExlYWRpbmdUcmltQWZ0ZXJMYXlvdXQpOiBEZWxldGVk
LgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuY3BwOgooV2ViQ29yZTo6UmVuZGVy
TGF5b3V0U3RhdGU6OlJlbmRlckxheW91dFN0YXRlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5b3V0U3RhdGUuaDoKKFdlYkNvcmU6OlJlbmRlckxheW91dFN0YXRlOjp0ZXh0
Qm94VHJpbSk6CihXZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6aGFzVGV4dEJveFRyaW1TdGFy
dCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6aGFzVGV4dEJveFRyaW1FbmQg
Y29uc3QpOgooV2ViQ29yZTo6UmVuZGVyTGF5b3V0U3RhdGU6OnJlc2V0VGV4dEJveFRyaW0pOgoo
V2ViQ29yZTo6UmVuZGVyTGF5b3V0U3RhdGU6OmFkZFRleHRCb3hUcmltU3RhcnQpOgooV2ViQ29y
ZTo6UmVuZGVyTGF5b3V0U3RhdGU6OnJlbW92ZVRleHRCb3hUcmltU3RhcnQpOgooV2ViQ29yZTo6
UmVuZGVyTGF5b3V0U3RhdGU6OmFkZFRleHRCb3hUcmltRW5kKToKKFdlYkNvcmU6OlJlbmRlckxh
eW91dFN0YXRlOjpsZWFkaW5nVHJpbSk6IERlbGV0ZWQuCihXZWJDb3JlOjpSZW5kZXJMYXlvdXRT
dGF0ZTo6aGFzTGVhZGluZ1RyaW1TdGFydCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpSZW5k
ZXJMYXlvdXRTdGF0ZTo6aGFzTGVhZGluZ1RyaW1FbmQgY29uc3QpOiBEZWxldGVkLgooV2ViQ29y
ZTo6UmVuZGVyTGF5b3V0U3RhdGU6OnJlc2V0TGVhZGluZ1RyaW0pOiBEZWxldGVkLgooV2ViQ29y
ZTo6UmVuZGVyTGF5b3V0U3RhdGU6OmFkZExlYWRpbmdUcmltU3RhcnQpOiBEZWxldGVkLgooV2Vi
Q29yZTo6UmVuZGVyTGF5b3V0U3RhdGU6OnJlbW92ZUxlYWRpbmdUcmltU3RhcnQpOiBEZWxldGVk
LgooV2ViQ29yZTo6UmVuZGVyTGF5b3V0U3RhdGU6OmFkZExlYWRpbmdUcmltRW5kKTogRGVsZXRl
ZC4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjp0ZXh0Qm94VHJpbSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6c2V0VGV4dEJveFRyaW0pOgooV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0Qm94
VHJpbSk6CihXZWJDb3JlOjpSZW5kZXJTdHlsZTo6bGVhZGluZ1RyaW0gY29uc3QpOiBEZWxldGVk
LgooV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldExlYWRpbmdUcmltKTogRGVsZXRlZC4KKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjppbml0aWFsTGVhZGluZ1RyaW0pOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHA6CihXZWJDb3Jl
OjpvcGVyYXRvcjw8KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5jcHA6CihXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
OjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6Ci0tLQogLi4uL1ByZWZlcmVuY2VzL1Vu
aWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sICAgIHwgMjggKysrKy0tLS0KIC4uLi9hbmltYXRpb24v
Q1NTUHJvcGVydHlBbmltYXRpb24uY3BwICAgICAgICB8ICAyICstCiAuLi4vV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbiAgICAgICAgIHwgIDYgKy0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
b21wdXRlZFN0eWxlRXh0cmFjdG9yLmNwcCB8ICA0ICstCiAuLi4vV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcCAgfCAgMiArLQogLi4uL2Jsb2NrL0Jsb2NrTGF5b3V0U3Rh
dGUuaCAgICAgICAgICAgICAgICAgIHwgMTQgKystLQogLi4uL2lubGluZS9JbmxpbmVMZXZlbEJv
eC5oICAgICAgICAgICAgICAgICAgIHwgMTIgKystLQogLi4uL2lubGluZS9JbmxpbmVMaW5lQm94
LmNwcCAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4uLi9pbmxpbmUvSW5saW5lTGluZUJveEJ1
aWxkZXIuY3BwICAgICAgICAgICB8IDE4ICsrLS0tCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0
aW9uTGluZUxheW91dC5jcHAgICAgfCAxNiArKy0tLQogLi4uL3BhZ2UvTG9jYWxGcmFtZVZpZXdM
YXlvdXRDb250ZXh0LmNwcCAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwICB8IDY2ICsrKysrKysrKy0tLS0tLS0tLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCAgICB8ICA0ICstCiAuLi4vV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuY3BwICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheW91dFN0YXRlLmggIHwgNDIgKysrKysrLS0tLS0tCiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCAgfCAgNiArLQogLi4uL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgIHwgMTIgKystLQogLi4uL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oICAgIHwgIDQgKy0KIC4uLi9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCAgICAgICB8ICA2ICstCiAuLi4vc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oICAgICAgICAgfCAgMiArLQogLi4uL2FsbC1wcm9wLWlu
aXRpYWwteG1sLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDIgKy0KIC4uLi9hbGwtcHJvcC1pbml0
aWFsLXhtbC1leHBlY3RlZC50eHQgICAgICAgICB8ICAyICstCiAuLi4vYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0ICAgICAgICAgfCAgMiArLQogLi4uL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDIgKy0KIC4uLi9hbGwtcHJvcC1pbml0aWFsLXht
bC1leHBlY3RlZC50eHQgICAgICAgICB8ICAyICstCiAuLi4vYWxsLXByb3AtaW5pdGlhbC14bWwt
ZXhwZWN0ZWQudHh0ICAgICAgICAgfCAgMiArLQogMjcgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2Vy
dGlvbnMoKyksIDEzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMzY2MGEw
ZGVhODQzLi4wNjlkMmFiMDE4ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTEwOTQsMjAgKzEw
OTQsNiBAQCBDU1NJbnB1dFNlY3VyaXR5RW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVm
YXVsdDogZmFsc2UKIAotQ1NTTGVhZGluZ1RyaW1FbmFibGVkOgotICB0eXBlOiBib29sCi0gIHN0
YXR1czogcHJldmlldwotICBjYXRlZ29yeTogY3NzCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQ1NT
IGxlYWRpbmctdHJpbSBwcm9wZXJ0eSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIGxlYWRpbmctdHJpbSIKLSAgZGVmYXVsdFZhbHVlOgotICAgIFdlYktpdExlZ2FjeToKLSAg
ICAgIGRlZmF1bHQ6IGZhbHNlCi0gICAgV2ViS2l0OgotICAgICAgZGVmYXVsdDogZmFsc2UKLSAg
ICBXZWJDb3JlOgotICAgICAgZGVmYXVsdDogZmFsc2UKLQogQ1NTTWFyZ2luVHJpbUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgc3RhdHVzOiBzdGFibGUKQEAgLTEyNTEsNiArMTIzNywyMCBAQCBD
U1NUZXh0QWxpZ25MYXN0RW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogdHJ1
ZQogCitDU1NUZXh0Qm94VHJpbUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgc3RhdHVzOiBwcmV2
aWV3CisgIGNhdGVnb3J5OiBjc3MKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgdGV4dC1ib3gt
dHJpbSBwcm9wZXJ0eSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRleHQt
Ym94LXRyaW0iCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZh
dWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29y
ZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisKIENTU1RleHRHcm91cEFsaWduRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBzdGF0dXM6IHRlc3RhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCAyYzI1YTc2ZDdjYzUuLjMxZDA0
ZDhmZWU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5
QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlB
bmltYXRpb24uY3BwCkBAIC0zNjAzLDcgKzM2MDMsNyBAQCBDU1NQcm9wZXJ0eUFuaW1hdGlvbldy
YXBwZXJNYXA6OkNTU1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcCgpCiAgICAgICAgIG5ldyBE
aXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxCb3hTaXppbmc+KENTU1Byb3BlcnR5Qm94U2l6aW5nLCAm
UmVuZGVyU3R5bGU6OmJveFNpemluZywgJlJlbmRlclN0eWxlOjpzZXRCb3hTaXppbmcpLAogICAg
ICAgICBuZXcgRGlzY3JldGVQcm9wZXJ0eVdyYXBwZXI8Q2FwdGlvblNpZGU+KENTU1Byb3BlcnR5
Q2FwdGlvblNpZGUsICZSZW5kZXJTdHlsZTo6Y2FwdGlvblNpZGUsICZSZW5kZXJTdHlsZTo6c2V0
Q2FwdGlvblNpZGUpLAogICAgICAgICBuZXcgRGlzY3JldGVQcm9wZXJ0eVdyYXBwZXI8Q2xlYXI+
KENTU1Byb3BlcnR5Q2xlYXIsICZSZW5kZXJTdHlsZTo6Y2xlYXIsICZSZW5kZXJTdHlsZTo6c2V0
Q2xlYXIpLAotICAgICAgICBuZXcgRGlzY3JldGVQcm9wZXJ0eVdyYXBwZXI8TGVhZGluZ1RyaW0+
KENTU1Byb3BlcnR5TGVhZGluZ1RyaW0sICZSZW5kZXJTdHlsZTo6bGVhZGluZ1RyaW0sICZSZW5k
ZXJTdHlsZTo6c2V0TGVhZGluZ1RyaW0pLAorICAgICAgICBuZXcgRGlzY3JldGVQcm9wZXJ0eVdy
YXBwZXI8VGV4dEJveFRyaW0+KENTU1Byb3BlcnR5VGV4dEJveFRyaW0sICZSZW5kZXJTdHlsZTo6
dGV4dEJveFRyaW0sICZSZW5kZXJTdHlsZTo6c2V0VGV4dEJveFRyaW0pLAogICAgICAgICBuZXcg
RGlzY3JldGVQcm9wZXJ0eVdyYXBwZXI8UHJpbnRDb2xvckFkanVzdD4oQ1NTUHJvcGVydHlQcmlu
dENvbG9yQWRqdXN0LCAmUmVuZGVyU3R5bGU6OnByaW50Q29sb3JBZGp1c3QsICZSZW5kZXJTdHls
ZTo6c2V0UHJpbnRDb2xvckFkanVzdCksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3Jh
cHBlcjxDb2x1bW5GaWxsPihDU1NQcm9wZXJ0eUNvbHVtbkZpbGwsICZSZW5kZXJTdHlsZTo6Y29s
dW1uRmlsbCwgJlJlbmRlclN0eWxlOjpzZXRDb2x1bW5GaWxsKSwKICAgICAgICAgbmV3IERpc2Ny
ZXRlUHJvcGVydHlXcmFwcGVyPEJvcmRlclN0eWxlPihDU1NQcm9wZXJ0eUNvbHVtblJ1bGVTdHls
ZSwgJlJlbmRlclN0eWxlOjpjb2x1bW5SdWxlU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1u
UnVsZVN0eWxlKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oCmluZGV4IDBiMjZiOWVlMDg1MC4uNjVhMTk2NTc1OTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTU3MCw3ICs1NzAsNyBA
QCBERUZJTkVfVE9fRlJPTV9DU1NfVkFMVUVfSURfRlVOQ1RJT05TCiAjdW5kZWYgVFlQRQogI3Vu
ZGVmIEZPUl9FQUNICiAKLSNkZWZpbmUgVFlQRSBMZWFkaW5nVHJpbQorI2RlZmluZSBUWVBFIFRl
eHRCb3hUcmltCiAjZGVmaW5lIEZPUl9FQUNIKENBU0UpIENBU0UoTm9ybWFsKSBDQVNFKFN0YXJ0
KSBDQVNFKEVuZCkgQ0FTRShCb3RoKQogREVGSU5FX1RPX0ZST01fQ1NTX1ZBTFVFX0lEX0ZVTkNU
SU9OUwogI3VuZGVmIFRZUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4
IDMwMWE1MTQwNDAzMy4uMzJjOTcxNjBhMmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
aWVzLmpzb24KQEAgLTY5MCw3ICs2OTAsNyBAQAogICAgICAgICAgICAgXSwKICAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJU
ZXh0RWRnZSIsCi0gICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzTGVhZGluZ1Ry
aW1FbmFibGVkIiwKKyAgICAgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NUZXh0Qm94
VHJpbUVuYWJsZWQiLAogICAgICAgICAgICAgICAgICJwYXJzZXItZnVuY3Rpb24iOiAiY29uc3Vt
ZVRleHRFZGdlIiwKICAgICAgICAgICAgICAgICAicGFyc2VyLWdyYW1tYXItdW51c2VkIjogImxl
YWRpbmcgfCBbIFsgdGV4dCB8IGNhcCB8IGV4IHwgaWRlb2dyYXBoaWMgfCBpZGVvZ3JhcGhpYy1p
bmsgXSBbIHRleHQgfCBhbHBoYWJldGljIHwgaWRlb2dyYXBoaWMgfCBpZGVvZ3JhcGhpYy1pbmsg
XT8gXSIsCiAgICAgICAgICAgICAgICAgInBhcnNlci1ncmFtbWFyLXVudXNlZC1yZWFzb24iOiAi
TmVlZHMgc3VwcG9ydCBmb3IgJ2dyb3VwcycgYW5kICdvcHRpb25hbCcuIgpAQCAtMzc4OCw3ICsz
Nzg4LDcgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9T
VkcxMS90ZXh0Lmh0bWwjS2VybmluZ1Byb3BlcnR5IgogICAgICAgICAgICAgfQogICAgICAgICB9
LAotICAgICAgICAibGVhZGluZy10cmltIjogeworICAgICAgICAidGV4dC1ib3gtdHJpbSI6IHsK
ICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCiAgICAgICAgICAgICAgICAgIm5vcm1hbCIsCiAgICAg
ICAgICAgICAgICAgInN0YXJ0IiwKQEAgLTM3OTYsNyArMzc5Niw3IEBACiAgICAgICAgICAgICAg
ICAgImJvdGgiCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKLSAgICAgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NMZWFkaW5nVHJpbUVu
YWJsZWQiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc1RleHRCb3hUcmlt
RW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgInBhcnNlci1ncmFtbWFyIjogIjw8dmFsdWVzPj4i
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5jcHAKaW5kZXggZmViNzY4NWM5
YjdhLi5iNmE2OGJkMDRhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRl
ZFN0eWxlRXh0cmFjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHls
ZUV4dHJhY3Rvci5jcHAKQEAgLTMxMzAsOCArMzEzMCw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29t
cHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVy
U3R5CiAgICAgICAgIHJldHVybiBtX2FsbG93VmlzaXRlZFN0eWxlID8gY3NzVmFsdWVQb29sLmNy
ZWF0ZUNvbG9yVmFsdWUoc3R5bGUudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q2Fy
ZXRDb2xvcikpIDogY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS5jYXJldENv
bG9yKCkpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlDbGVhcjoKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUNvbnZlcnRpbmdUb0NTU1ZhbHVlSUQoc3R5bGUuY2xlYXIoKSk7Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eUxlYWRpbmdUcmltOgotICAgICAgICByZXR1cm4gY3JlYXRlQ29udmVydGluZ1RvQ1NTVmFs
dWVJRChzdHlsZS5sZWFkaW5nVHJpbSgpKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5VGV4dEJveFRy
aW06CisgICAgICAgIHJldHVybiBjcmVhdGVDb252ZXJ0aW5nVG9DU1NWYWx1ZUlEKHN0eWxlLnRl
eHRCb3hUcmltKCkpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlDb2xvcjoKICAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbC5jcmVhdGVDb2xvclZhbHVlKG1fYWxsb3dWaXNpdGVkU3R5bGUgPyBzdHls
ZS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlDb2xvcikgOiBzdHlsZS5jb2xvcigp
KTsKICAgICBjYXNlIENTU1Byb3BlcnR5UHJpbnRDb2xvckFkanVzdDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggMWI3MDM5ZmRmNThi
Li5lYjUwNDQyYjNhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC05NjYsMTMgKzk2NiwxMyBAQCBzdGF0aWMgY29uc3RleHByIElu
aXRpYWxWYWx1ZSBpbml0aWFsVmFsdWVGb3JMb25naGFuZChDU1NQcm9wZXJ0eUlEIGxvbmdoYW5k
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlGb250V2VpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5Q29udGVudDoK
LSAgICBjYXNlIENTU1Byb3BlcnR5TGVhZGluZ1RyaW06CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUxl
dHRlclNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQ6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eU92ZXJmbG93V3JhcDoKICAgICBjYXNlIENTU1Byb3BlcnR5Um93R2FwOgogICAg
IGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxTbmFwU3RvcDoKICAgICBjYXNlIENTU1Byb3BlcnR5U3Bl
YWtBczoKKyAgICBjYXNlIENTU1Byb3BlcnR5VGV4dEJveFRyaW06CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdoaXRlU3BhY2U6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdvcmRCcmVhazoKICAgICBjYXNl
IENTU1Byb3BlcnR5V29yZFNwYWNpbmc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2Jsb2NrL0Jsb2NrTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tMYXlvdXRTdGF0ZS5o
CmluZGV4IDY1MTBlNGMwOTdjZi4uMjk3MmQzODc3MTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2Jsb2NrL0Jsb2NrTGF5b3V0U3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2Jsb2NrL0Jsb2Nr
TGF5b3V0U3RhdGUuaApAQCAtMzksMzIgKzM5LDMyIEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90
IG1heGltdW1MaW5lQ291bnQgeyAwIH07CiAgICAgICAgIHNpemVfdCBjdXJyZW50TGluZUNvdW50
IHsgMCB9OwogICAgIH07Ci0gICAgZW51bSBjbGFzcyBMZWFkaW5nVHJpbVNpZGUgOiB1aW50OF90
IHsKKyAgICBlbnVtIGNsYXNzIFRleHRCb3hUcmltU2lkZSA6IHVpbnQ4X3QgewogICAgICAgICBT
dGFydCA9IDEgPDwgMCwKICAgICAgICAgRW5kICAgPSAxIDw8IDEKICAgICB9OwotICAgIHVzaW5n
IExlYWRpbmdUcmltID0gT3B0aW9uU2V0PExlYWRpbmdUcmltU2lkZT47Ci0gICAgQmxvY2tMYXlv
dXRTdGF0ZShGbG9hdGluZ1N0YXRlJiwgc3RkOjpvcHRpb25hbDxMaW5lQ2xhbXA+ID0geyB9LCBM
ZWFkaW5nVHJpbSA9IHsgfSwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBpbnRydXNpdmVJbml0
aWFsTGV0dGVyTG9naWNhbEJvdHRvbSA9IHsgfSk7CisgICAgdXNpbmcgVGV4dEJveFRyaW0gPSBP
cHRpb25TZXQ8VGV4dEJveFRyaW1TaWRlPjsKKyAgICBCbG9ja0xheW91dFN0YXRlKEZsb2F0aW5n
U3RhdGUmLCBzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gPSB7IH0sIFRleHRCb3hUcmltID0geyB9
LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGludHJ1c2l2ZUluaXRpYWxMZXR0ZXJMb2dpY2Fs
Qm90dG9tID0geyB9KTsKIAogICAgIEZsb2F0aW5nU3RhdGUmIGZsb2F0aW5nU3RhdGUoKSB7IHJl
dHVybiBtX2Zsb2F0aW5nU3RhdGU7IH0KICAgICBjb25zdCBGbG9hdGluZ1N0YXRlJiBmbG9hdGlu
Z1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9mbG9hdGluZ1N0YXRlOyB9CiAKICAgICBzdGQ6Om9w
dGlvbmFsPExpbmVDbGFtcD4gbGluZUNsYW1wKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQ2xhbXA7
IH0KLSAgICBMZWFkaW5nVHJpbSBsZWFkaW5nVHJpbSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVhZGlu
Z1RyaW07IH0KKyAgICBUZXh0Qm94VHJpbSB0ZXh0Qm94VHJpbSgpIGNvbnN0IHsgcmV0dXJuIG1f
dGV4dEJveFRyaW07IH0KIAogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gaW50cnVzaXZl
SW5pdGlhbExldHRlckxvZ2ljYWxCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2ludHJ1c2l2ZUlu
aXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tOyB9CiAKIHByaXZhdGU6CiAgICAgRmxvYXRpbmdTdGF0
ZSYgbV9mbG9hdGluZ1N0YXRlOwogICAgIHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiBtX2xpbmVD
bGFtcDsKLSAgICBMZWFkaW5nVHJpbSBtX2xlYWRpbmdUcmltOworICAgIFRleHRCb3hUcmltIG1f
dGV4dEJveFRyaW07CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBtX2ludHJ1c2l2ZUlu
aXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tOwogfTsKIAotaW5saW5lIEJsb2NrTGF5b3V0U3RhdGU6
OkJsb2NrTGF5b3V0U3RhdGUoRmxvYXRpbmdTdGF0ZSYgZmxvYXRpbmdTdGF0ZSwgc3RkOjpvcHRp
b25hbDxMaW5lQ2xhbXA+IGxpbmVDbGFtcCwgTGVhZGluZ1RyaW0gbGVhZGluZ1RyaW0sIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gaW50cnVzaXZlSW5pdGlhbExldHRlckxvZ2ljYWxCb3R0b20p
CitpbmxpbmUgQmxvY2tMYXlvdXRTdGF0ZTo6QmxvY2tMYXlvdXRTdGF0ZShGbG9hdGluZ1N0YXRl
JiBmbG9hdGluZ1N0YXRlLCBzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gbGluZUNsYW1wLCBUZXh0
Qm94VHJpbSB0ZXh0Qm94VHJpbSwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBpbnRydXNpdmVJ
bml0aWFsTGV0dGVyTG9naWNhbEJvdHRvbSkKICAgICA6IG1fZmxvYXRpbmdTdGF0ZShmbG9hdGlu
Z1N0YXRlKQogICAgICwgbV9saW5lQ2xhbXAobGluZUNsYW1wKQotICAgICwgbV9sZWFkaW5nVHJp
bShsZWFkaW5nVHJpbSkKKyAgICAsIG1fdGV4dEJveFRyaW0odGV4dEJveFRyaW0pCiAgICAgLCBt
X2ludHJ1c2l2ZUluaXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tKGludHJ1c2l2ZUluaXRpYWxMZXR0
ZXJMb2dpY2FsQm90dG9tKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2ZWxCb3guaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmgKaW5k
ZXggNjQ3NGQ0OTY2OGEzLi5iZWVkNzExOTM4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2
ZWxCb3guaApAQCAtODIsOCArODIsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBGSVhNRTogTWF5YmUg
aXQncyB0aW1lIHRvIHN1YmNsYXNzIGlubGluZSBib3ggdHlwZXMuCiAgICAgVGV4dEVkZ2UgdGV4
dEVkZ2UoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlLnRleHRFZGdlOyB9Ci0gICAgTGVhZGluZ1Ry
aW0gbGVhZGluZ1RyaW0oKSBjb25zdCB7IHJldHVybiBtX3N0eWxlLmxlYWRpbmdUcmltOyB9Ci0g
ICAgSW5saW5lTGF5b3V0VW5pdCBpbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yTGVhZGluZ1RyaW0o
KSBjb25zdCB7IHJldHVybiBtX2lubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJpbTsg
fQorICAgIFRleHRCb3hUcmltIHRleHRCb3hUcmltKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS50
ZXh0Qm94VHJpbTsgfQorICAgIElubGluZUxheW91dFVuaXQgaW5saW5lQm94Q29udGVudE9mZnNl
dEZvclRleHRCb3hUcmltKCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVCb3hDb250ZW50T2Zmc2V0
Rm9yVGV4dEJveFRyaW07IH0KIAogICAgIGJvb2wgaGFzQW5ub3RhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIChoYXNDb250ZW50KCkgfHwgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiBtX2Fubm90
YXRpb24uaGFzX3ZhbHVlKCk7IH07CiAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBhbm5vdGF0aW9uQWJvdmUoKSBjb25zdCB7IHJldHVybiBoYXNBbm5vdGF0aW9uKCkgPyBzdGQ6
Om9wdGlvbmFsIHsgbV9hbm5vdGF0aW9uLT5hYm92ZSB9IDogc3RkOjpudWxsb3B0OyB9CkBAIC0x
MzksNyArMTM5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KElubGluZUxh
eW91dFVuaXQgbG9naWNhbExlZnQpIHsgbV9sb2dpY2FsUmVjdC5zZXRMZWZ0KGxvZ2ljYWxMZWZ0
KTsgfQogICAgIHZvaWQgc2V0QXNjZW50QW5kRGVzY2VudChBc2NlbnRBbmREZXNjZW50IGFzY2Vu
dEFuZERlc2NlbnQpIHsgbV9hc2NlbnRBbmREZXNjZW50ID0geyBJbmxpbmVMYXlvdXRVbml0KHJv
dW5kVG9JbnQoYXNjZW50QW5kRGVzY2VudC5hc2NlbnQpKSwgSW5saW5lTGF5b3V0VW5pdChyb3Vu
ZFRvSW50KGFzY2VudEFuZERlc2NlbnQuZGVzY2VudCkpIH07IH0KICAgICB2b2lkIHNldExheW91
dEJvdW5kcyhjb25zdCBBc2NlbnRBbmREZXNjZW50JiBsYXlvdXRCb3VuZHMpIHsgbV9sYXlvdXRC
b3VuZHMgPSB7IElubGluZUxheW91dFVuaXQocm91bmRUb0ludChsYXlvdXRCb3VuZHMuYXNjZW50
KSksIElubGluZUxheW91dFVuaXQocm91bmRUb0ludChsYXlvdXRCb3VuZHMuZGVzY2VudCkpIH07
IH0KLSAgICB2b2lkIHNldElubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJpbShJbmxp
bmVMYXlvdXRVbml0IG9mZnNldCkgeyBtX2lubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5n
VHJpbSA9IG9mZnNldDsgfQorICAgIHZvaWQgc2V0SW5saW5lQm94Q29udGVudE9mZnNldEZvclRl
eHRCb3hUcmltKElubGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1faW5saW5lQm94Q29udGVudE9m
ZnNldEZvclRleHRCb3hUcmltID0gb2Zmc2V0OyB9CiAKICAgICB2b2lkIHNldElzRmlyc3RCb3go
KSB7IG1faXNGaXJzdFdpdGhpbkxheW91dEJveCA9IHRydWU7IH0KICAgICB2b2lkIHNldElzTGFz
dEJveCgpIHsgbV9pc0xhc3RXaXRoaW5MYXlvdXRCb3ggPSB0cnVlOyB9CkBAIC0xNTAsNyArMTUw
LDcgQEAgcHJpdmF0ZToKICAgICBJbmxpbmVSZWN0IG1fbG9naWNhbFJlY3Q7CiAgICAgQXNjZW50
QW5kRGVzY2VudCBtX2xheW91dEJvdW5kczsKICAgICBBc2NlbnRBbmREZXNjZW50IG1fYXNjZW50
QW5kRGVzY2VudDsKLSAgICBJbmxpbmVMYXlvdXRVbml0IG1faW5saW5lQm94Q29udGVudE9mZnNl
dEZvckxlYWRpbmdUcmltIHsgMC5mIH07CisgICAgSW5saW5lTGF5b3V0VW5pdCBtX2lubGluZUJv
eENvbnRlbnRPZmZzZXRGb3JUZXh0Qm94VHJpbSB7IDAuZiB9OwogICAgIGJvb2wgbV9oYXNDb250
ZW50IHsgZmFsc2UgfTsKICAgICAvLyBUaGVzZSBiaXRzIGFyZSBhYm91dCB3aGV0aGVyIHRoaXMg
aW5saW5lIGxldmVsIGJveCBpcyB0aGUgZmlyc3QvbGFzdCBnZW5lcmF0ZWQgYm94IG9mIHRoZSBh
c3NvY2lhdGVkIExheW91dDo6Qm94CiAgICAgLy8gKGUuZy4gYWx3YXlzIHRydWUgZm9yIGF0b21p
YyBpbmxpbmUgbGV2ZWwgYm94ZXMsIGJ1dCBpbmxpbmUgYm94ZXMgc3Bhbm5pbmcgb3ZlciBtdWx0
aXBsZSBsaW5lcyBjYW4gcHJvZHVjZSBzZXBhcmF0ZSBmaXJzdC9sYXN0IGJveGVzKS4KQEAgLTE2
Miw3ICsxNjIsNyBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBGb250TWV0cmljcyYgcHJpbWFy
eUZvbnRNZXRyaWNzOwogICAgICAgICBjb25zdCBMZW5ndGgmIGxpbmVIZWlnaHQ7CiAgICAgICAg
IFRleHRFZGdlIHRleHRFZGdlOwotICAgICAgICBMZWFkaW5nVHJpbSBsZWFkaW5nVHJpbTsKKyAg
ICAgICAgVGV4dEJveFRyaW0gdGV4dEJveFRyaW07CiAgICAgICAgIFdURjo6T3B0aW9uU2V0PExp
bmVCb3hDb250YWluPiBsaW5lQm94Q29udGFpbjsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBw
cmltYXJ5Rm9udFNpemUgeyAwIH07CiAgICAgICAgIFZlcnRpY2FsQWxpZ25tZW50IHZlcnRpY2Fs
QWxpZ25tZW50IHsgfTsKQEAgLTE4Miw3ICsxODIsNyBAQCBpbmxpbmUgSW5saW5lTGV2ZWxCb3g6
OklubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBSZW5kZXJTdHlsZSYg
cwogICAgICwgbV9pc0ZpcnN0V2l0aGluTGF5b3V0Qm94KHBvc2l0aW9uV2l0aGluTGF5b3V0Qm94
LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluTGF5b3V0Qm94OjpGaXJzdCkpCiAgICAgLCBtX2lzTGFz
dFdpdGhpbkxheW91dEJveChwb3NpdGlvbldpdGhpbkxheW91dEJveC5jb250YWlucyhQb3NpdGlv
bldpdGhpbkxheW91dEJveDo6TGFzdCkpCiAgICAgLCBtX3R5cGUodHlwZSkKLSAgICAsIG1fc3R5
bGUoeyBzdHlsZS5mb250Q2FzY2FkZSgpLm1ldHJpY3NPZlByaW1hcnlGb250KCksIHN0eWxlLmxp
bmVIZWlnaHQoKSwgc3R5bGUudGV4dEVkZ2UoKSwgc3R5bGUubGVhZGluZ1RyaW0oKSwgc3R5bGUu
bGluZUJveENvbnRhaW4oKSwgSW5saW5lTGF5b3V0VW5pdChzdHlsZS5mb250Q2FzY2FkZSgpLmZv
bnREZXNjcmlwdGlvbigpLmNvbXB1dGVkUGl4ZWxTaXplKCkpLCB7IH0gfSkKKyAgICAsIG1fc3R5
bGUoeyBzdHlsZS5mb250Q2FzY2FkZSgpLm1ldHJpY3NPZlByaW1hcnlGb250KCksIHN0eWxlLmxp
bmVIZWlnaHQoKSwgc3R5bGUudGV4dEVkZ2UoKSwgc3R5bGUudGV4dEJveFRyaW0oKSwgc3R5bGUu
bGluZUJveENvbnRhaW4oKSwgSW5saW5lTGF5b3V0VW5pdChzdHlsZS5mb250Q2FzY2FkZSgpLmZv
bnREZXNjcmlwdGlvbigpLmNvbXB1dGVkUGl4ZWxTaXplKCkpLCB7IH0gfSkKIHsKICAgICBtX3N0
eWxlLnZlcnRpY2FsQWxpZ25tZW50LnR5cGUgPSBzdHlsZS52ZXJ0aWNhbEFsaWduKCk7CiAgICAg
aWYgKG1fc3R5bGUudmVydGljYWxBbGlnbm1lbnQudHlwZSA9PSBWZXJ0aWNhbEFsaWduOjpMZW5n
dGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCmluZGV4IDc4ZWU5OTViZjQ5Yi4u
MTE2NWY5MTk5MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcApAQCAtNTIs
MTMgKzUyLDEzIEBAIElubGluZVJlY3QgTGluZUJveDo6bG9naWNhbFJlY3RGb3JUZXh0UnVuKGNv
bnN0IExpbmU6OlJ1biYgcnVuKSBjb25zdAogICAgIEFTU0VSVChydW4uaXNUZXh0KCkgfHwgcnVu
LmlzU29mdExpbmVCcmVhaygpKTsKICAgICBhdXRvKiBhbmNlc3RvcklubGluZUJveCA9ICZwYXJl
bnRJbmxpbmVCb3gocnVuKTsKICAgICBBU1NFUlQoYW5jZXN0b3JJbmxpbmVCb3gtPmlzSW5saW5l
Qm94KCkpOwotICAgIGF1dG8gcnVubG9naWNhbFRvcCA9IGFuY2VzdG9ySW5saW5lQm94LT5sb2dp
Y2FsVG9wKCkgLSBhbmNlc3RvcklubGluZUJveC0+aW5saW5lQm94Q29udGVudE9mZnNldEZvckxl
YWRpbmdUcmltKCk7CisgICAgYXV0byBydW5sb2dpY2FsVG9wID0gYW5jZXN0b3JJbmxpbmVCb3gt
PmxvZ2ljYWxUb3AoKSAtIGFuY2VzdG9ySW5saW5lQm94LT5pbmxpbmVCb3hDb250ZW50T2Zmc2V0
Rm9yVGV4dEJveFRyaW0oKTsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSBh
bmNlc3RvcklubGluZUJveC0+cHJpbWFyeW1ldHJpY3NPZlByaW1hcnlGb250KCkuaGVpZ2h0KCk7
CiAKICAgICB3aGlsZSAoYW5jZXN0b3JJbmxpbmVCb3ggIT0gJm1fcm9vdElubGluZUJveCAmJiAh
YW5jZXN0b3JJbmxpbmVCb3gtPmhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7CiAgICAg
ICAgIGFuY2VzdG9ySW5saW5lQm94ID0gJnBhcmVudElubGluZUJveCgqYW5jZXN0b3JJbmxpbmVC
b3gpOwogICAgICAgICBBU1NFUlQoYW5jZXN0b3JJbmxpbmVCb3gtPmlzSW5saW5lQm94KCkpOwot
ICAgICAgICBydW5sb2dpY2FsVG9wICs9IChhbmNlc3RvcklubGluZUJveC0+bG9naWNhbFRvcCgp
IC0gYW5jZXN0b3JJbmxpbmVCb3gtPmlubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJp
bSgpKTsKKyAgICAgICAgcnVubG9naWNhbFRvcCArPSAoYW5jZXN0b3JJbmxpbmVCb3gtPmxvZ2lj
YWxUb3AoKSAtIGFuY2VzdG9ySW5saW5lQm94LT5pbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yVGV4
dEJveFRyaW0oKSk7CiAgICAgfQogICAgIHJldHVybiB7IHJ1bmxvZ2ljYWxUb3AsIG1fcm9vdElu
bGluZUJveC5sb2dpY2FsTGVmdCgpICsgcnVuLmxvZ2ljYWxMZWZ0KCksIHJ1bi5sb2dpY2FsV2lk
dGgoKSwgbG9naWNhbEhlaWdodCB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwCmluZGV4IDU1ZDRhMzRjODZkMC4uNWNlMmNkODU4NWQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQm94QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCkBAIC0yMzUsMTUgKzIz
NSwxNSBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpzZXRWZXJ0aWNhbFByb3BlcnRpZXNGb3JJbmxp
bmVMZXZlbEJveChjb25zdCBMaW5lQm94JiBsaW5lQgogCiAgICAgaWYgKGlubGluZUxldmVsQm94
LmlzSW5saW5lQm94KCkpIHsKICAgICAgICAgYXV0byBhc2NlbnRBbmREZXNjZW50ID0gWyZdKCkg
LT4gSW5saW5lTGV2ZWxCb3g6OkFzY2VudEFuZERlc2NlbnQgewotICAgICAgICAgICAgYXV0byBs
ZWFkaW5nVHJpbSA9IGlubGluZUxldmVsQm94LmxlYWRpbmdUcmltKCk7CisgICAgICAgICAgICBh
dXRvIHRleHRCb3hUcmltID0gaW5saW5lTGV2ZWxCb3gudGV4dEJveFRyaW0oKTsKICAgICAgICAg
ICAgIGF1dG8gZm9udEJhc2VsaW5lID0gbGluZUJveC5iYXNlbGluZVR5cGUoKTsKLSAgICAgICAg
ICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc1Jvb3RJbmxpbmVCb3goKSB8fCBsZWFkaW5nVHJpbSA9
PSBMZWFkaW5nVHJpbTo6Tm9ybWFsKQorICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94Lmlz
Um9vdElubGluZUJveCgpIHx8IHRleHRCb3hUcmltID09IFRleHRCb3hUcmltOjpOb3JtYWwpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHByaW1hcnlGb250TWV0cmljc0ZvcklubGluZUJveChpbmxp
bmVMZXZlbEJveCwgZm9udEJhc2VsaW5lKTsKIAogICAgICAgICAgICAgYXV0byYgZm9udE1ldHJp
Y3MgPSBpbmxpbmVMZXZlbEJveC5wcmltYXJ5bWV0cmljc09mUHJpbWFyeUZvbnQoKTsKICAgICAg
ICAgICAgIGF1dG8gYXNjZW50QW5kRGVzY2VudCA9IGFzY2VudEFuZERlc2NlbnRXaXRoVGV4dEVk
Z2VGb3JJbmxpbmVCb3goaW5saW5lTGV2ZWxCb3gsIGZvbnRNZXRyaWNzLCBmb250QmFzZWxpbmUp
OwotICAgICAgICAgICAgYXV0byBhc2NlbnQgPSBsZWFkaW5nVHJpbSA9PSBMZWFkaW5nVHJpbTo6
RW5kID8gZm9udE1ldHJpY3MuYXNjZW50KGZvbnRCYXNlbGluZSkgOiBhc2NlbnRBbmREZXNjZW50
LmFzY2VudDsKLSAgICAgICAgICAgIGF1dG8gZGVzY2VudCA9IGxlYWRpbmdUcmltID09IExlYWRp
bmdUcmltOjpTdGFydCA/IGZvbnRNZXRyaWNzLmRlc2NlbnQoZm9udEJhc2VsaW5lKSA6IGFzY2Vu
dEFuZERlc2NlbnQuZGVzY2VudDsKKyAgICAgICAgICAgIGF1dG8gYXNjZW50ID0gdGV4dEJveFRy
aW0gPT0gVGV4dEJveFRyaW06OkVuZCA/IGZvbnRNZXRyaWNzLmFzY2VudChmb250QmFzZWxpbmUp
IDogYXNjZW50QW5kRGVzY2VudC5hc2NlbnQ7CisgICAgICAgICAgICBhdXRvIGRlc2NlbnQgPSB0
ZXh0Qm94VHJpbSA9PSBUZXh0Qm94VHJpbTo6U3RhcnQgPyBmb250TWV0cmljcy5kZXNjZW50KGZv
bnRCYXNlbGluZSkgOiBhc2NlbnRBbmREZXNjZW50LmRlc2NlbnQ7CiAgICAgICAgICAgICByZXR1
cm4geyBhc2NlbnQsIGRlc2NlbnQgfTsKICAgICAgICAgfSgpOwogCkBAIC0yNTEsOSArMjUxLDkg
QEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxQcm9wZXJ0aWVzRm9ySW5saW5lTGV2
ZWxCb3goY29uc3QgTGluZUJveCYgbGluZUIKICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBs
YXlvdXQgYm91bmRzLgogICAgICAgICBzZXRMYXlvdXRCb3VuZHNGb3JJbmxpbmVCb3goaW5saW5l
TGV2ZWxCb3gsIGxpbmVCb3guYmFzZWxpbmVUeXBlKCkpOwogCi0gICAgICAgIC8vIFdpdGggbGVh
ZGluZy10cmltLCB0aGUgaW5saW5lIGJveCB0b3AgaXMgbm90IGFsd2F5cyB3aGVyZSB0aGUgY29u
dGVudCBzdGFydHMuCisgICAgICAgIC8vIFdpdGggdGV4dC1ib3gtdHJpbSwgdGhlIGlubGluZSBi
b3ggdG9wIGlzIG5vdCBhbHdheXMgd2hlcmUgdGhlIGNvbnRlbnQgc3RhcnRzLgogICAgICAgICBh
dXRvIGZvbnRNZXRyaWNCYXNlZEFzY2VudCA9IHByaW1hcnlGb250TWV0cmljc0ZvcklubGluZUJv
eChpbmxpbmVMZXZlbEJveCwgbGluZUJveC5iYXNlbGluZVR5cGUoKSkuYXNjZW50OwotICAgICAg
ICBpbmxpbmVMZXZlbEJveC5zZXRJbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yTGVhZGluZ1RyaW0o
Zm9udE1ldHJpY0Jhc2VkQXNjZW50IC0gYXNjZW50QW5kRGVzY2VudC5hc2NlbnQpOworICAgICAg
ICBpbmxpbmVMZXZlbEJveC5zZXRJbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9yVGV4dEJveFRyaW0o
Zm9udE1ldHJpY0Jhc2VkQXNjZW50IC0gYXNjZW50QW5kRGVzY2VudC5hc2NlbnQpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0xpbmVCcmVha0JveCgp
KSB7CkBAIC02MjUsOSArNjI1LDkgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVC
b3hHZW9tZXRyeShMaW5lQm94JiBsaW5lQm94KSBjb25zdAogICAgIGF1dG8gbGluZUJveExvZ2lj
YWxIZWlnaHQgPSBMaW5lQm94VmVydGljYWxBbGlnbmVyIHsgZm9ybWF0dGluZ0NvbnRleHQoKSB9
LmNvbXB1dGVMb2dpY2FsSGVpZ2h0QW5kQWxpZ24obGluZUJveCk7CiAKICAgICBhdXRvJiByb290
U3R5bGUgPSB0aGlzLT5yb290U3R5bGUoKTsKLSAgICBhdXRvIGxlYWRpbmdUcmltID0gYmxvY2tM
YXlvdXRTdGF0ZSgpLmxlYWRpbmdUcmltKCk7Ci0gICAgYXV0byBzaG91bGRUcmltQmxvY2tTdGFy
dE9mTGluZUJveCA9IGlzRmlyc3RMaW5lKCkgJiYgbGVhZGluZ1RyaW0uY29udGFpbnMoQmxvY2tM
YXlvdXRTdGF0ZTo6TGVhZGluZ1RyaW1TaWRlOjpTdGFydCkgJiYgcm9vdFN0eWxlLnRleHRFZGdl
KCkub3ZlciAhPSBUZXh0RWRnZVR5cGU6OkxlYWRpbmc7Ci0gICAgYXV0byBzaG91bGRUcmltQmxv
Y2tFbmRPZkxpbmVCb3ggPSBpc0xhc3RMaW5lKCkgJiYgbGVhZGluZ1RyaW0uY29udGFpbnMoQmxv
Y2tMYXlvdXRTdGF0ZTo6TGVhZGluZ1RyaW1TaWRlOjpFbmQpICYmIHJvb3RTdHlsZS50ZXh0RWRn
ZSgpLnVuZGVyICE9IFRleHRFZGdlVHlwZTo6TGVhZGluZzsKKyAgICBhdXRvIHRleHRCb3hUcmlt
ID0gYmxvY2tMYXlvdXRTdGF0ZSgpLnRleHRCb3hUcmltKCk7CisgICAgYXV0byBzaG91bGRUcmlt
QmxvY2tTdGFydE9mTGluZUJveCA9IGlzRmlyc3RMaW5lKCkgJiYgdGV4dEJveFRyaW0uY29udGFp
bnMoQmxvY2tMYXlvdXRTdGF0ZTo6VGV4dEJveFRyaW1TaWRlOjpTdGFydCkgJiYgcm9vdFN0eWxl
LnRleHRFZGdlKCkub3ZlciAhPSBUZXh0RWRnZVR5cGU6OkxlYWRpbmc7CisgICAgYXV0byBzaG91
bGRUcmltQmxvY2tFbmRPZkxpbmVCb3ggPSBpc0xhc3RMaW5lKCkgJiYgdGV4dEJveFRyaW0uY29u
dGFpbnMoQmxvY2tMYXlvdXRTdGF0ZTo6VGV4dEJveFRyaW1TaWRlOjpFbmQpICYmIHJvb3RTdHls
ZS50ZXh0RWRnZSgpLnVuZGVyICE9IFRleHRFZGdlVHlwZTo6TGVhZGluZzsKIAogICAgIGlmIChz
aG91bGRUcmltQmxvY2tFbmRPZkxpbmVCb3gpIHsKICAgICAgICAgYXV0byB0ZXh0RWRnZVVuZGVy
SGVpZ2h0ID0gWyZdIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0
LmNwcAppbmRleCAzMjYyMWYxZjg5YzkuLjYzNTExOWIwMGIwNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVM
YXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUv
TGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNTI3LDE3ICs1MjcsMTcgQEAgc3Rh
dGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dDo6QmxvY2tMYXlvdXRTdGF0ZTo6TGluZUNs
YW1wPiBsaW5lQ2xhbXAoY29uc3QKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgaW5saW5l
IExheW91dDo6QmxvY2tMYXlvdXRTdGF0ZTo6TGVhZGluZ1RyaW0gbGVhZGluZ1RyaW0oY29uc3Qg
UmVuZGVyQmxvY2tGbG93JiByb290UmVuZGVyZXIpCitzdGF0aWMgaW5saW5lIExheW91dDo6Qmxv
Y2tMYXlvdXRTdGF0ZTo6VGV4dEJveFRyaW0gdGV4dEJveFRyaW0oY29uc3QgUmVuZGVyQmxvY2tG
bG93JiByb290UmVuZGVyZXIpCiB7CiAgICAgYXV0byogbGF5b3V0U3RhdGUgPSByb290UmVuZGVy
ZXIudmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpOwogICAg
IGlmICghbGF5b3V0U3RhdGUpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgYXV0byBsZWFkaW5n
VHJpbUZvcklGQyA9IExheW91dDo6QmxvY2tMYXlvdXRTdGF0ZTo6TGVhZGluZ1RyaW0geyB9Owot
ICAgIGlmIChsYXlvdXRTdGF0ZS0+aGFzTGVhZGluZ1RyaW1TdGFydCgpKQotICAgICAgICBsZWFk
aW5nVHJpbUZvcklGQy5hZGQoTGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpMZWFkaW5nVHJpbVNp
ZGU6OlN0YXJ0KTsKLSAgICBpZiAobGF5b3V0U3RhdGUtPmhhc0xlYWRpbmdUcmltRW5kKHJvb3RS
ZW5kZXJlcikpCi0gICAgICAgIGxlYWRpbmdUcmltRm9ySUZDLmFkZChMYXlvdXQ6OkJsb2NrTGF5
b3V0U3RhdGU6OkxlYWRpbmdUcmltU2lkZTo6RW5kKTsKLSAgICByZXR1cm4gbGVhZGluZ1RyaW1G
b3JJRkM7CisgICAgYXV0byB0ZXh0Qm94VHJpbUZvcklGQyA9IExheW91dDo6QmxvY2tMYXlvdXRT
dGF0ZTo6VGV4dEJveFRyaW0geyB9OworICAgIGlmIChsYXlvdXRTdGF0ZS0+aGFzVGV4dEJveFRy
aW1TdGFydCgpKQorICAgICAgICB0ZXh0Qm94VHJpbUZvcklGQy5hZGQoTGF5b3V0OjpCbG9ja0xh
eW91dFN0YXRlOjpUZXh0Qm94VHJpbVNpZGU6OlN0YXJ0KTsKKyAgICBpZiAobGF5b3V0U3RhdGUt
Pmhhc1RleHRCb3hUcmltRW5kKHJvb3RSZW5kZXJlcikpCisgICAgICAgIHRleHRCb3hUcmltRm9y
SUZDLmFkZChMYXlvdXQ6OkJsb2NrTGF5b3V0U3RhdGU6OlRleHRCb3hUcmltU2lkZTo6RW5kKTsK
KyAgICByZXR1cm4gdGV4dEJveFRyaW1Gb3JJRkM7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0
UmVjdD4gTGluZUxheW91dDo6bGF5b3V0KCkKQEAgLTU3Myw3ICs1NzMsNyBAQCBzdGQ6Om9wdGlv
bmFsPExheW91dFJlY3Q+IExpbmVMYXlvdXQ6OmxheW91dCgpCiAgICAgICAgIGF1dG8gY29uc3Ry
YWludHNGb3JJbkZsb3dDb250ZW50ID0gTGF5b3V0OjpDb25zdHJhaW50c0ZvckluRmxvd0NvbnRl
bnQgeyBtX2lubGluZUNvbnRlbnRDb25zdHJhaW50cy0+aG9yaXpvbnRhbCgpLCBwYXJ0aWFsQ29u
dGVudFRvcCB9OwogICAgICAgICByZXR1cm4geyBjb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQs
IG1faW5saW5lQ29udGVudENvbnN0cmFpbnRzLT52aXN1YWxMZWZ0KCkgfTsKICAgICB9KCk7Ci0g
ICAgYXV0byBwYXJlbnRCbG9ja0xheW91dFN0YXRlID0gTGF5b3V0OjpCbG9ja0xheW91dFN0YXRl
IHsgbV9ibG9ja0Zvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCksIGxpbmVDbGFtcChmbG93
KCkpLCBsZWFkaW5nVHJpbShmbG93KCkpLCBpbnRydXNpdmVJbml0aWFsTGV0dGVyQm90dG9tKCkg
fTsKKyAgICBhdXRvIHBhcmVudEJsb2NrTGF5b3V0U3RhdGUgPSBMYXlvdXQ6OkJsb2NrTGF5b3V0
U3RhdGUgeyBtX2Jsb2NrRm9ybWF0dGluZ1N0YXRlLmZsb2F0aW5nU3RhdGUoKSwgbGluZUNsYW1w
KGZsb3coKSksIHRleHRCb3hUcmltKGZsb3coKSksIGludHJ1c2l2ZUluaXRpYWxMZXR0ZXJCb3R0
b20oKSB9OwogICAgIGF1dG8gaW5saW5lTGF5b3V0U3RhdGUgPSBMYXlvdXQ6OklubGluZUxheW91
dFN0YXRlIHsgcGFyZW50QmxvY2tMYXlvdXRTdGF0ZSwgV1RGTW92ZShtX25lc3RlZExpc3RNYXJr
ZXJPZmZzZXRzKSB9OwogICAgIGF1dG8gaW5saW5lRm9ybWF0dGluZ0NvbnRleHQgPSBMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdDb250ZXh0IHsgcm9vdExheW91dEJveCgpLCBtX2lubGluZUZvcm1h
dHRpbmdTdGF0ZSwgbV9saW5lRGFtYWdlLmdldCgpIH07CiAgICAgYXV0byBsYXlvdXRSZXN1bHQg
PSBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5sYXlvdXRJbkZsb3dBbmRGbG9hdENvbnRlbnRGb3JJ
bnRlZ3JhdGlvbihpbmxpbmVDb250ZW50Q29uc3RyYWludHMsIGlubGluZUxheW91dFN0YXRlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcAppbmRleCA1MDA5MTgwZDNiMGQuLjcwODc4Y2ZlM2VjMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcApAQCAtNjEzLDcg
KzYxMyw3IEBAIGJvb2wgTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpwdXNoTGF5b3V0U3Rh
dGUoUmVuZGVyQm94JiByZW5kZXJlciwgY29uc3QgTGF5CiAgICAgICAgICAgICAsIHBhZ2VIZWln
aHQKICAgICAgICAgICAgICwgcGFnZUhlaWdodENoYW5nZWQKICAgICAgICAgICAgICwgbGF5b3V0
U3RhdGUgPyBsYXlvdXRTdGF0ZS0+bGluZUNsYW1wKCkgOiBzdGQ6Om51bGxvcHQKLSAgICAgICAg
ICAgICwgbGF5b3V0U3RhdGUgPyBsYXlvdXRTdGF0ZS0+bGVhZGluZ1RyaW0oKSA6IFJlbmRlckxh
eW91dFN0YXRlOjpMZWFkaW5nVHJpbSgpKSk7CisgICAgICAgICAgICAsIGxheW91dFN0YXRlID8g
bGF5b3V0U3RhdGUtPnRleHRCb3hUcmltKCkgOiBSZW5kZXJMYXlvdXRTdGF0ZTo6VGV4dEJveFRy
aW0oKSkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3NjI5
OWIyOTRiZDEuLjYxMmNlNWRkYmEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKQEAgLTY3Myw2OCArNjczLDY4IEBAIHN0YXRpYyBSZW5kZXJCbG9j
a0Zsb3cqIGxhc3RJbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QoY29uc3QgUmVuZGVyQmxvY2tG
bG93JiBlCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLWNsYXNzIExlYWRpbmdUcmltbWVyIHsK
K2NsYXNzIFRleHRCb3hUcmltbWVyIHsKIHB1YmxpYzoKLSAgICBMZWFkaW5nVHJpbW1lcihjb25z
dCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0IFJlbmRlckJsb2NrRmxvdyogaW5saW5lRm9y
bWF0dGluZ0NvbnRleHRSb290Rm9yTGVhZGluZ1RyaW1FbmQgPSBudWxscHRyKQorICAgIFRleHRC
b3hUcmltbWVyKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgUmVuZGVyQmxvY2tG
bG93KiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCA9IG51bGxw
dHIpCiAgICAgICAgIDogbV9mbG93KGZsb3cpCiAgICAgewotICAgICAgICBzZXRMZWFkaW5nVHJp
bUZvclN1YnRyZWUoaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9yTGVhZGluZ1RyaW1FbmQp
OworICAgICAgICBzZXRUZXh0Qm94VHJpbUZvclN1YnRyZWUoaW5saW5lRm9ybWF0dGluZ0NvbnRl
eHRSb290Rm9yVGV4dEJveFRyaW1FbmQpOwogICAgIH0KIAotICAgIH5MZWFkaW5nVHJpbW1lcigp
CisgICAgflRleHRCb3hUcmltbWVyKCkKICAgICB7Ci0gICAgICAgIGFkanVzdExlYWRpbmdUcmlt
QWZ0ZXJMYXlvdXQoKTsKKyAgICAgICAgYWRqdXN0VGV4dEJveFRyaW1BZnRlckxheW91dCgpOwog
ICAgIH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIHNldExlYWRpbmdUcmltRm9yU3VidHJlZShjb25z
dCBSZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvckxlYWRpbmdU
cmltRW5kKTsKLSAgICB2b2lkIGFkanVzdExlYWRpbmdUcmltQWZ0ZXJMYXlvdXQoKTsKKyAgICB2
b2lkIHNldFRleHRCb3hUcmltRm9yU3VidHJlZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cqIGlubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hUcmltRW5kKTsKKyAgICB2b2lkIGFkanVz
dFRleHRCb3hUcmltQWZ0ZXJMYXlvdXQoKTsKIAogICAgIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYg
bV9mbG93OwogfTsKIAotdm9pZCBMZWFkaW5nVHJpbW1lcjo6c2V0TGVhZGluZ1RyaW1Gb3JTdWJ0
cmVlKGNvbnN0IFJlbmRlckJsb2NrRmxvdyogaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9y
TGVhZGluZ1RyaW1FbmQpCit2b2lkIFRleHRCb3hUcmltbWVyOjpzZXRUZXh0Qm94VHJpbUZvclN1
YnRyZWUoY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RG
b3JUZXh0Qm94VHJpbUVuZCkKIHsKICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IG1fZmxvdy52aWV3
KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7CiAgICAgaWYgKCFs
YXlvdXRTdGF0ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gbGVhZGluZ1RyaW0gPSBtX2Zs
b3cuc3R5bGUoKS5sZWFkaW5nVHJpbSgpOwotICAgIGlmIChsZWFkaW5nVHJpbSA9PSBMZWFkaW5n
VHJpbTo6Tm9ybWFsKSB7CisgICAgYXV0byB0ZXh0Qm94VHJpbSA9IG1fZmxvdy5zdHlsZSgpLnRl
eHRCb3hUcmltKCk7CisgICAgaWYgKHRleHRCb3hUcmltID09IFRleHRCb3hUcmltOjpOb3JtYWwp
IHsKICAgICAgICAgaWYgKG1fZmxvdy5ib3JkZXJBbmRQYWRkaW5nU3RhcnQoKSkgewogICAgICAg
ICAgICAgLy8gRm9yIGJsb2NrIGNvbnRhaW5lcnM6IHRyaW0gdGhlIGJsb2NrLXN0YXJ0IHNpZGUg
b2YgdGhlIGZpcnN0IGZvcm1hdHRlZCBsaW5lIHRvIHRoZSBjb3JyZXNwb25kaW5nCiAgICAgICAg
ICAgICAvLyB0ZXh0LWVkZ2UgbWV0cmljIG9mIGl0cyByb290IGlubGluZSBib3guIElmIHRoZXJl
IGlzIG5vIHN1Y2ggbGluZSwgb3IgaWYgdGhlcmUgaXMgaW50ZXJ2ZW5pbmcgbm9uLXplcm8gcGFk
ZGluZyBvciBib3JkZXJzLAogICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gZWZmZWN0LgotICAg
ICAgICAgICAgbGF5b3V0U3RhdGUtPnJlc2V0TGVhZGluZ1RyaW0oKTsKKyAgICAgICAgICAgIGxh
eW91dFN0YXRlLT5yZXNldFRleHRCb3hUcmltKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIG5lc3RlZCBsZWFkaW5nIHRy
aW1zIGlmIGFwcGxpY2FibGUuCi0gICAgbGF5b3V0U3RhdGUtPnJlc2V0TGVhZGluZ1RyaW0oKTsK
LSAgICBhdXRvIGFwcGx5TGVhZGluZ1RyaW1TdGFydCA9IGxlYWRpbmdUcmltID09IExlYWRpbmdU
cmltOjpTdGFydCB8fCBsZWFkaW5nVHJpbSA9PSBMZWFkaW5nVHJpbTo6Qm90aDsKLSAgICBhdXRv
IGFwcGx5TGVhZGluZ1RyaW1FbmQgPSAobGVhZGluZ1RyaW0gPT0gTGVhZGluZ1RyaW06OkVuZCB8
fCBsZWFkaW5nVHJpbSA9PSBMZWFkaW5nVHJpbTo6Qm90aCkgJiYgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRSb290Rm9yTGVhZGluZ1RyaW1FbmQ7Ci0gICAgaWYgKGFwcGx5TGVhZGluZ1RyaW1FbmQp
IHsKLSAgICAgICAgbGF5b3V0U3RhdGUtPmFkZExlYWRpbmdUcmltRW5kKCppbmxpbmVGb3JtYXR0
aW5nQ29udGV4dFJvb3RGb3JMZWFkaW5nVHJpbUVuZCk7CisgICAgbGF5b3V0U3RhdGUtPnJlc2V0
VGV4dEJveFRyaW0oKTsKKyAgICBhdXRvIGFwcGx5VGV4dEJveFRyaW1TdGFydCA9IHRleHRCb3hU
cmltID09IFRleHRCb3hUcmltOjpTdGFydCB8fCB0ZXh0Qm94VHJpbSA9PSBUZXh0Qm94VHJpbTo6
Qm90aDsKKyAgICBhdXRvIGFwcGx5VGV4dEJveFRyaW1FbmQgPSAodGV4dEJveFRyaW0gPT0gVGV4
dEJveFRyaW06OkVuZCB8fCB0ZXh0Qm94VHJpbSA9PSBUZXh0Qm94VHJpbTo6Qm90aCkgJiYgaW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9yVGV4dEJveFRyaW1FbmQ7CisgICAgaWYgKGFwcGx5
VGV4dEJveFRyaW1FbmQpIHsKKyAgICAgICAgbGF5b3V0U3RhdGUtPmFkZFRleHRCb3hUcmltRW5k
KCppbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCk7CiAgICAgICAg
IC8vIEZJWE1FOiBJbnN0ZWFkIHdlIHNob3VsZCBqdXN0IGRhbWFnZSB0aGUgbGFzdCBsaW5lLgot
ICAgICAgICBpZiAoYXV0byogZmlyc3RGb3JtYXR0ZWRMaW5lUm9vdCA9IGZpcnN0SW5saW5lRm9y
bWF0dGluZ0NvbnRleHRSb290KG1fZmxvdyk7IGZpcnN0Rm9ybWF0dGVkTGluZVJvb3QgJiYgZmly
c3RGb3JtYXR0ZWRMaW5lUm9vdCAhPSBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RGb3JMZWFk
aW5nVHJpbUVuZCkgeworICAgICAgICBpZiAoYXV0byogZmlyc3RGb3JtYXR0ZWRMaW5lUm9vdCA9
IGZpcnN0SW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KG1fZmxvdyk7IGZpcnN0Rm9ybWF0dGVk
TGluZVJvb3QgJiYgZmlyc3RGb3JtYXR0ZWRMaW5lUm9vdCAhPSBpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCkgewogICAgICAgICAgICAgLy8gV2hlbiB3ZSBydW4g
YSAibGFzdCBsaW5lIiBsYXlvdXQgb24gdGhlIGxhc3QgZm9ybWF0dGluZyBjb250ZXh0LCB3ZSBz
aG91bGQgbm90IHRyaW0gdGhlIGZpcnN0IGxpbmUgZXZlciAoc2VlIEZJWE1FKS4KLSAgICAgICAg
ICAgIGFwcGx5TGVhZGluZ1RyaW1TdGFydCA9IGZhbHNlOworICAgICAgICAgICAgYXBwbHlUZXh0
Qm94VHJpbVN0YXJ0ID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGFwcGx5TGVh
ZGluZ1RyaW1TdGFydCkKLSAgICAgICAgbGF5b3V0U3RhdGUtPmFkZExlYWRpbmdUcmltU3RhcnQo
KTsKKyAgICBpZiAoYXBwbHlUZXh0Qm94VHJpbVN0YXJ0KQorICAgICAgICBsYXlvdXRTdGF0ZS0+
YWRkVGV4dEJveFRyaW1TdGFydCgpOwogfQogCi12b2lkIExlYWRpbmdUcmltbWVyOjphZGp1c3RM
ZWFkaW5nVHJpbUFmdGVyTGF5b3V0KCkKK3ZvaWQgVGV4dEJveFRyaW1tZXI6OmFkanVzdFRleHRC
b3hUcmltQWZ0ZXJMYXlvdXQoKQogewogICAgIGF1dG8qIGxheW91dFN0YXRlID0gbV9mbG93LnZp
ZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKICAgICBpZiAo
IWxheW91dFN0YXRlKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1fZmxvdy5zdHlsZSgpLmxl
YWRpbmdUcmltKCkgIT0gTGVhZGluZ1RyaW06Ok5vcm1hbCkKLSAgICAgICAgcmV0dXJuIGxheW91
dFN0YXRlLT5yZXNldExlYWRpbmdUcmltKCk7Ci0gICAgLy8gVGhpcyBpcyBwcm9wYWdhdGVkIGxl
YWRpbmctdHJpbS4KLSAgICBpZiAobGF5b3V0U3RhdGUtPmhhc0xlYWRpbmdUcmltU3RhcnQoKSAm
JiBtX2Zsb3cuaGFzTGluZXMoKSkgeworICAgIGlmIChtX2Zsb3cuc3R5bGUoKS50ZXh0Qm94VHJp
bSgpICE9IFRleHRCb3hUcmltOjpOb3JtYWwpCisgICAgICAgIHJldHVybiBsYXlvdXRTdGF0ZS0+
cmVzZXRUZXh0Qm94VHJpbSgpOworICAgIC8vIFRoaXMgaXMgcHJvcGFnYXRlZCB0ZXh0LWJveC10
cmltLgorICAgIGlmIChsYXlvdXRTdGF0ZS0+aGFzVGV4dEJveFRyaW1TdGFydCgpICYmIG1fZmxv
dy5oYXNMaW5lcygpKSB7CiAgICAgICAgIC8vIE9ubHkgdGhlIGZpcnN0IGZvcm1hdHRlZCBsaW5l
IGlzIHRyaW1tZWQuCi0gICAgICAgIGxheW91dFN0YXRlLT5yZW1vdmVMZWFkaW5nVHJpbVN0YXJ0
KCk7CisgICAgICAgIGxheW91dFN0YXRlLT5yZW1vdmVUZXh0Qm94VHJpbVN0YXJ0KCk7CiAgICAg
fQogfQogCkBAIC03NTMsMjAgKzc1MywyMCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0
SW5GbG93Q2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZQogICAg
IH0KIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7Ci0gICAgICAgIGF1dG8gbGVhZGluZ1Ry
aW1tZXIgPSBMZWFkaW5nVHJpbW1lciB7ICp0aGlzLCB0aGlzIH07CisgICAgICAgIGF1dG8gdGV4
dEJveFRyaW1tZXIgPSBUZXh0Qm94VHJpbW1lciB7ICp0aGlzLCB0aGlzIH07CiAgICAgICAgIGxh
eW91dElubGluZUNoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIHJlcGFpbnRMb2dpY2FsVG9wLCBy
ZXBhaW50TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICB7CiAg
ICAgICAgIC8vIFdpdGggYmxvY2sgY2hpbGRyZW4sIHRoZXJlJ3Mgbm8gd2F5IHRvIHRlbGwgd2hh
dCB0aGUgbGFzdCBmb3JtYXR0ZWQgbGluZSBpcyB1bnRpbCBhZnRlciB3ZSBmaW5pc2hlZCBsYXlp
bmcgb3V0IHRoZSBzdWJ0cmVlLgotICAgICAgICBhdXRvIGxlYWRpbmdUcmltbWVyID0gTGVhZGlu
Z1RyaW1tZXIgeyAqdGhpcyB9OworICAgICAgICBhdXRvIHRleHRCb3hUcmltbWVyID0gVGV4dEJv
eFRyaW1tZXIgeyAqdGhpcyB9OwogICAgICAgICBsYXlvdXRCbG9ja0NoaWxkcmVuKHJlbGF5b3V0
Q2hpbGRyZW4sIG1heEZsb2F0TG9naWNhbEJvdHRvbSk7CiAgICAgfQogCi0gICAgYXV0byBoYW5k
bGVMZWFkaW5nVHJpbUVuZCA9IFsmXSB7Ci0gICAgICAgIGF1dG8gaGFzTGVhZGluZ1RyaW1FbmQg
PSBzdHlsZSgpLmxlYWRpbmdUcmltKCkgPT0gTGVhZGluZ1RyaW06OkVuZCB8fCBzdHlsZSgpLmxl
YWRpbmdUcmltKCkgPT0gTGVhZGluZ1RyaW06OkJvdGg7Ci0gICAgICAgIGlmICghaGFzTGVhZGlu
Z1RyaW1FbmQpCisgICAgYXV0byBoYW5kbGVUZXh0Qm94VHJpbUVuZCA9IFsmXSB7CisgICAgICAg
IGF1dG8gaGFzVGV4dEJveFRyaW1FbmQgPSBzdHlsZSgpLnRleHRCb3hUcmltKCkgPT0gVGV4dEJv
eFRyaW06OkVuZCB8fCBzdHlsZSgpLnRleHRCb3hUcmltKCkgPT0gVGV4dEJveFRyaW06OkJvdGg7
CisgICAgICAgIGlmICghaGFzVGV4dEJveFRyaW1FbmQpCiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIC8vIERpcnR5IHRoZSBsYXN0IGZvcm1hdHRlZCBsaW5lIChpbiB0aGUgbGFzdCBJRkMp
IGFuZCBpc3N1ZSByZWxheW91dCB3aXRoIGZvcmNpbmcgdHJpbW1pbmcgdGhlIGxhc3QgbGluZS4K
ICAgICAgICAgaWYgKGF1dG8qIHJvb3RGb3JMYXN0Rm9ybWF0dGVkTGluZSA9IGxhc3RJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dFJvb3QoKnRoaXMpKSB7CkBAIC03NzUsMTEgKzc3NSwxMSBAQCB2b2lk
IFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5GbG93Q2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxk
cmVuLCBMYXlvdXRVbml0JiByZQogICAgICAgICAgICAgICAgIGFuY2VzdG9yLT5zZXROZWVkc0xh
eW91dChNYXJrT25seVRoaXMpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBhdXRvIGxl
YWRpbmdUcmltbWVyID0gTGVhZGluZ1RyaW1tZXIgeyAqdGhpcywgcm9vdEZvckxhc3RGb3JtYXR0
ZWRMaW5lIH07CisgICAgICAgICAgICBhdXRvIHRleHRCb3hUcmltbWVyID0gVGV4dEJveFRyaW1t
ZXIgeyAqdGhpcywgcm9vdEZvckxhc3RGb3JtYXR0ZWRMaW5lIH07CiAgICAgICAgICAgICBsYXlv
dXRCbG9ja0NoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIG1heEZsb2F0TG9naWNhbEJvdHRvbSk7
CiAgICAgICAgIH0KICAgICB9OwotICAgIGhhbmRsZUxlYWRpbmdUcmltRW5kKCk7CisgICAgaGFu
ZGxlVGV4dEJveFRyaW1FbmQoKTsKIH0KIAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJs
b2NrQ2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiBtYXhGbG9hdExv
Z2ljYWxCb3R0b20pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggZTY1ZmRkOThhNjI5Li5hMTZlNDkyYTY5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTU0MSw4ICs1NDEsOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWlu
TG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0OwogICAgIHZv
aWQgYWRqdXN0SW5pdGlhbExldHRlclBvc2l0aW9uKFJlbmRlckJveCYgY2hpbGRCb3gsIExheW91
dFVuaXQmIGxvZ2ljYWxUb3BPZmZzZXQsIExheW91dFVuaXQmIG1hcmdpbkJlZm9yZU9mZnNldCk7
CiAKLSAgICB2b2lkIHNldExlYWRpbmdUcmltRm9yU3VidHJlZShjb25zdCBSZW5kZXJCbG9ja0Zs
b3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvckxlYWRpbmdUcmltRW5kID0gbnVsbHB0
cik7Ci0gICAgdm9pZCBhZGp1c3RMZWFkaW5nVHJpbUFmdGVyTGF5b3V0KCk7CisgICAgdm9pZCBz
ZXRUZXh0Qm94VHJpbUZvclN1YnRyZWUoY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCA9IG51bGxwdHIpOworICAgIHZvaWQg
YWRqdXN0VGV4dEJveFRyaW1BZnRlckxheW91dCgpOwogCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJ
WklORykKICAgICBpbnQgbV93aWR0aEZvclRleHRBdXRvc2l6aW5nOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5jcHAKaW5kZXggNmJjZjQ0ZjViODRkLi5h
YzJmZjU0M2RhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXlvdXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheW91
dFN0YXRlLmNwcApAQCAtNjMsNyArNjMsNyBAQCBSZW5kZXJMYXlvdXRTdGF0ZTo6UmVuZGVyTGF5
b3V0U3RhdGUoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIElzUGFnaW5hdGVkIGlzUGFnaQogICAg
IH0KIH0KIAotUmVuZGVyTGF5b3V0U3RhdGU6OlJlbmRlckxheW91dFN0YXRlKGNvbnN0IExvY2Fs
RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6TGF5b3V0U3RhdGVTdGFjayYgbGF5b3V0U3RhdGVTdGFj
aywgUmVuZGVyQm94JiByZW5kZXJlciwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0LCBMYXlvdXRV
bml0IHBhZ2VMb2dpY2FsSGVpZ2h0LCBib29sIHBhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCwgc3Rk
OjpvcHRpb25hbDxMaW5lQ2xhbXA+IGxpbmVDbGFtcCwgc3RkOjpvcHRpb25hbDxMZWFkaW5nVHJp
bT4gbGVhZGluZ1RyaW0pCitSZW5kZXJMYXlvdXRTdGF0ZTo6UmVuZGVyTGF5b3V0U3RhdGUoY29u
c3QgTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpMYXlvdXRTdGF0ZVN0YWNrJiBsYXlvdXRT
dGF0ZVN0YWNrLCBSZW5kZXJCb3gmIHJlbmRlcmVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQs
IExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wgcGFnZUxvZ2ljYWxIZWlnaHRDaGFu
Z2VkLCBzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gbGluZUNsYW1wLCBzdGQ6Om9wdGlvbmFsPFRl
eHRCb3hUcmltPiB0ZXh0Qm94VHJpbSkKICAgICA6IG1fY2xpcHBlZChmYWxzZSkKICAgICAsIG1f
aXNQYWdpbmF0ZWQoZmFsc2UpCiAgICAgLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZChmYWxz
ZSkKQEAgLTczLDcgKzczLDcgQEAgUmVuZGVyTGF5b3V0U3RhdGU6OlJlbmRlckxheW91dFN0YXRl
KGNvbnN0IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6TGF5b3V0U3QKICNlbmRpZgogICAg
ICwgbV9ibG9ja1N0YXJ0VHJpbW1pbmcoVmVjdG9yPGJvb2w+KDApKQogICAgICwgbV9saW5lQ2xh
bXAobGluZUNsYW1wKQotICAgICwgbV9sZWFkaW5nVHJpbShsZWFkaW5nVHJpbSkKKyAgICAsIG1f
dGV4dEJveFRyaW0odGV4dEJveFRyaW0pCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAsIG1fcmVu
ZGVyZXIoJnJlbmRlcmVyKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXlvdXRTdGF0ZS5oCmluZGV4IDJjMTFhMzdjM2RlMy4uZGE1MGI1NzEyN2I5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuaApAQCAtNDMsNyArNDMs
NyBAQCBjbGFzcyBSZW5kZXJMYXlvdXRTdGF0ZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVuZGVyTGF5b3V0U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAogcHVibGljOgot
ICAgIHN0cnVjdCBMZWFkaW5nVHJpbSB7CisgICAgc3RydWN0IFRleHRCb3hUcmltIHsKICAgICAg
ICAgYm9vbCB0cmltRmlyc3RGb3JtYXR0ZWRMaW5lIHsgZmFsc2UgfTsKICAgICAgICAgV2Vha1B0
cjxjb25zdCBSZW5kZXJCbG9ja0Zsb3c+IHRyaW1MYXN0Rm9ybWF0dGVkTGluZU9uVGFyZ2V0Owog
ICAgIH07CkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Jsb2NrU3RhcnRU
cmltbWluZyhWZWN0b3I8Ym9vbD4oMCkpCiAgICAgewogICAgIH0KLSAgICBSZW5kZXJMYXlvdXRT
dGF0ZShjb25zdCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OkxheW91dFN0YXRlU3RhY2sm
LCBSZW5kZXJCb3gmLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFnZUhl
aWdodCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCwgc3RkOjpvcHRpb25hbDxMaW5lQ2xhbXA+LCBz
dGQ6Om9wdGlvbmFsPExlYWRpbmdUcmltPik7CisgICAgUmVuZGVyTGF5b3V0U3RhdGUoY29uc3Qg
TG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpMYXlvdXRTdGF0ZVN0YWNrJiwgUmVuZGVyQm94
JiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQsIGJvb2wg
cGFnZUhlaWdodENoYW5nZWQsIHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiwgc3RkOjpvcHRpb25h
bDxUZXh0Qm94VHJpbT4pOwogICAgIGVudW0gY2xhc3MgSXNQYWdpbmF0ZWQgOiBib29sIHsgTm8s
IFllcyB9OwogICAgIGV4cGxpY2l0IFJlbmRlckxheW91dFN0YXRlKFJlbmRlckVsZW1lbnQmLCBJ
c1BhZ2luYXRlZCA9IElzUGFnaW5hdGVkOjpObyk7CiAKQEAgLTEwMiwxNSArMTAyLDE1IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldExpbmVDbGFtcChzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gbGlu
ZUNsYW1wKSB7IG1fbGluZUNsYW1wID0gbGluZUNsYW1wOyB9CiAgICAgc3RkOjpvcHRpb25hbDxM
aW5lQ2xhbXA+IGxpbmVDbGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUNsYW1wOyB9CiAKLSAg
ICBzdGQ6Om9wdGlvbmFsPExlYWRpbmdUcmltPiBsZWFkaW5nVHJpbSgpIHsgcmV0dXJuIG1fbGVh
ZGluZ1RyaW07IH0KLSAgICBib29sIGhhc0xlYWRpbmdUcmltU3RhcnQoKSBjb25zdCB7IHJldHVy
biBtX2xlYWRpbmdUcmltICYmIG1fbGVhZGluZ1RyaW0tPnRyaW1GaXJzdEZvcm1hdHRlZExpbmU7
IH0KLSAgICBib29sIGhhc0xlYWRpbmdUcmltRW5kKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgY2Fu
ZGlkYXRlKSBjb25zdCB7IHJldHVybiBtX2xlYWRpbmdUcmltICYmIG1fbGVhZGluZ1RyaW0tPnRy
aW1MYXN0Rm9ybWF0dGVkTGluZU9uVGFyZ2V0LmdldCgpID09ICZjYW5kaWRhdGU7IH0KKyAgICBz
dGQ6Om9wdGlvbmFsPFRleHRCb3hUcmltPiB0ZXh0Qm94VHJpbSgpIHsgcmV0dXJuIG1fdGV4dEJv
eFRyaW07IH0KKyAgICBib29sIGhhc1RleHRCb3hUcmltU3RhcnQoKSBjb25zdCB7IHJldHVybiBt
X3RleHRCb3hUcmltICYmIG1fdGV4dEJveFRyaW0tPnRyaW1GaXJzdEZvcm1hdHRlZExpbmU7IH0K
KyAgICBib29sIGhhc1RleHRCb3hUcmltRW5kKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgY2FuZGlk
YXRlKSBjb25zdCB7IHJldHVybiBtX3RleHRCb3hUcmltICYmIG1fdGV4dEJveFRyaW0tPnRyaW1M
YXN0Rm9ybWF0dGVkTGluZU9uVGFyZ2V0LmdldCgpID09ICZjYW5kaWRhdGU7IH0KIAotICAgIHZv
aWQgYWRkTGVhZGluZ1RyaW1TdGFydCgpOwotICAgIHZvaWQgcmVtb3ZlTGVhZGluZ1RyaW1TdGFy
dCgpOworICAgIHZvaWQgYWRkVGV4dEJveFRyaW1TdGFydCgpOworICAgIHZvaWQgcmVtb3ZlVGV4
dEJveFRyaW1TdGFydCgpOwogCi0gICAgdm9pZCBhZGRMZWFkaW5nVHJpbUVuZChjb25zdCBSZW5k
ZXJCbG9ja0Zsb3cmIHRhcmdldElubGluZUZvcm1hdHRpbmdDb250ZXh0KTsKLSAgICB2b2lkIHJl
c2V0TGVhZGluZ1RyaW0oKSB7IG1fbGVhZGluZ1RyaW0gPSB7IH07IH0KKyAgICB2b2lkIGFkZFRl
eHRCb3hUcmltRW5kKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgdGFyZ2V0SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQpOworICAgIHZvaWQgcmVzZXRUZXh0Qm94VHJpbSgpIHsgbV90ZXh0Qm94VHJpbSA9
IHsgfTsgfQogCiAgICAgdm9pZCBwdXNoQmxvY2tTdGFydFRyaW1taW5nKGJvb2wgYmxvY2tTdGFy
dFRyaW1taW5nKSB7IG1fYmxvY2tTdGFydFRyaW1taW5nLmFwcGVuZChibG9ja1N0YXJ0VHJpbW1p
bmcpOyB9CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBibG9ja1N0YXJ0VHJpbW1pbmcoKSBjb25z
dCB7IHJldHVybiBtX2Jsb2NrU3RhcnRUcmltbWluZy5pc0VtcHR5KCkgPyBzdGQ6Om51bGxvcHQg
OiBzdGQ6Om9wdGlvbmFsKG1fYmxvY2tTdGFydFRyaW1taW5nLmxhc3QoKSk7IH0KQEAgLTE2Miw3
ICsxNjIsNyBAQCBwcml2YXRlOgogICAgIExheW91dFNpemUgbV9saW5lR3JpZE9mZnNldDsKICAg
ICBMYXlvdXRTaXplIG1fbGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luOwogICAgIHN0ZDo6b3B0aW9u
YWw8TGluZUNsYW1wPiBtX2xpbmVDbGFtcDsKLSAgICBzdGQ6Om9wdGlvbmFsPExlYWRpbmdUcmlt
PiBtX2xlYWRpbmdUcmltOworICAgIHN0ZDo6b3B0aW9uYWw8VGV4dEJveFRyaW0+IG1fdGV4dEJv
eFRyaW07CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBSZW5kZXJFbGVtZW50KiBtX3JlbmRlcmVy
IHsgbnVsbHB0ciB9OwogI2VuZGlmCkBAIC0yMTEsMjggKzIxMSwyOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9wdXNoZWQgeyBmYWxzZSB9OwogfTsKIAotaW5saW5lIHZvaWQgUmVuZGVyTGF5b3V0
U3RhdGU6OmFkZExlYWRpbmdUcmltU3RhcnQoKQoraW5saW5lIHZvaWQgUmVuZGVyTGF5b3V0U3Rh
dGU6OmFkZFRleHRCb3hUcmltU3RhcnQoKQogewotICAgIGlmIChtX2xlYWRpbmdUcmltKSB7Ci0g
ICAgICAgIG1fbGVhZGluZ1RyaW0tPnRyaW1GaXJzdEZvcm1hdHRlZExpbmUgPSB0cnVlOworICAg
IGlmIChtX3RleHRCb3hUcmltKSB7CisgICAgICAgIG1fdGV4dEJveFRyaW0tPnRyaW1GaXJzdEZv
cm1hdHRlZExpbmUgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG1fbGVhZGlu
Z1RyaW0gPSB7IHRydWUsIHsgfSB9OworICAgIG1fdGV4dEJveFRyaW0gPSB7IHRydWUsIHsgfSB9
OwogfQogCi1pbmxpbmUgdm9pZCBSZW5kZXJMYXlvdXRTdGF0ZTo6cmVtb3ZlTGVhZGluZ1RyaW1T
dGFydCgpCitpbmxpbmUgdm9pZCBSZW5kZXJMYXlvdXRTdGF0ZTo6cmVtb3ZlVGV4dEJveFRyaW1T
dGFydCgpCiB7Ci0gICAgQVNTRVJUKG1fbGVhZGluZ1RyaW0gJiYgbV9sZWFkaW5nVHJpbS0+dHJp
bUZpcnN0Rm9ybWF0dGVkTGluZSk7Ci0gICAgbV9sZWFkaW5nVHJpbS0+dHJpbUZpcnN0Rm9ybWF0
dGVkTGluZSA9IGZhbHNlOworICAgIEFTU0VSVChtX3RleHRCb3hUcmltICYmIG1fdGV4dEJveFRy
aW0tPnRyaW1GaXJzdEZvcm1hdHRlZExpbmUpOworICAgIG1fdGV4dEJveFRyaW0tPnRyaW1GaXJz
dEZvcm1hdHRlZExpbmUgPSBmYWxzZTsKIH0KIAotaW5saW5lIHZvaWQgUmVuZGVyTGF5b3V0U3Rh
dGU6OmFkZExlYWRpbmdUcmltRW5kKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgdGFyZ2V0SW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQpCitpbmxpbmUgdm9pZCBSZW5kZXJMYXlvdXRTdGF0ZTo6YWRkVGV4
dEJveFRyaW1FbmQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiB0YXJnZXRJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dCkKIHsKLSAgICBpZiAobV9sZWFkaW5nVHJpbSkgewotICAgICAgICBtX2xlYWRpbmdU
cmltLT50cmltTGFzdEZvcm1hdHRlZExpbmVPblRhcmdldCA9ICZ0YXJnZXRJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDsKKyAgICBpZiAobV90ZXh0Qm94VHJpbSkgeworICAgICAgICBtX3RleHRCb3hU
cmltLT50cmltTGFzdEZvcm1hdHRlZExpbmVPblRhcmdldCA9ICZ0YXJnZXRJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2xlYWRpbmdUcmltID0g
eyBmYWxzZSwgJnRhcmdldElubGluZUZvcm1hdHRpbmdDb250ZXh0IH07CisgICAgbV90ZXh0Qm94
VHJpbSA9IHsgZmFsc2UsICZ0YXJnZXRJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCB9OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDVkYmY3MDYwOTU3Ny4uNWMzZTdjMzg2NzY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNDI4LDcgKzQyOCw3
IEBAIHB1YmxpYzoKICAgICBUZXh0SW5kZW50VHlwZSB0ZXh0SW5kZW50VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFRleHRJbmRlbnRUeXBlPihtX3JhcmVJbmhlcml0ZWREYXRhLT50
ZXh0SW5kZW50VHlwZSk7IH0KICAgICBUZXh0SnVzdGlmeSB0ZXh0SnVzdGlmeSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFRleHRKdXN0aWZ5PihtX3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0
SnVzdGlmeSk7IH0KIAotICAgIExlYWRpbmdUcmltIGxlYWRpbmdUcmltKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8TGVhZGluZ1RyaW0+KG1fbm9uSW5oZXJpdGVkRGF0YS0+cmFyZURhdGEt
PmxlYWRpbmdUcmltKTsgfQorICAgIFRleHRCb3hUcmltIHRleHRCb3hUcmltKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEJveFRyaW0+KG1fbm9uSW5oZXJpdGVkRGF0YS0+cmFyZURh
dGEtPnRleHRCb3hUcmltKTsgfQogICAgIFRleHRFZGdlIHRleHRFZGdlKCkgY29uc3Q7CiAKICAg
ICBPcHRpb25TZXQ8TWFyZ2luVHJpbVR5cGU+IG1hcmdpblRyaW0oKSBjb25zdCB7IHJldHVybiBt
X25vbkluaGVyaXRlZERhdGEtPnJhcmVEYXRhLT5tYXJnaW5UcmltOyB9CkBAIC0xMTE1LDcgKzEx
MTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUZXh0SW5kZW50VHlwZShUZXh0SW5kZW50VHlw
ZSB2KSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgdGV4dEluZGVudFR5cGUsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPih2KSk7IH0KICAgICB2b2lkIHNldFRleHRKdXN0aWZ5KFRleHRKdXN0
aWZ5IHYpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCB0ZXh0SnVzdGlmeSwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHYpKTsgfQogCi0gICAgdm9pZCBzZXRMZWFkaW5nVHJpbShMZWFkaW5n
VHJpbSB2YWx1ZSkgeyBTRVRfTkVTVEVEX1ZBUihtX25vbkluaGVyaXRlZERhdGEsIHJhcmVEYXRh
LCBsZWFkaW5nVHJpbSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKyAgICB2b2lk
IHNldFRleHRCb3hUcmltKFRleHRCb3hUcmltIHZhbHVlKSB7IFNFVF9ORVNURURfVkFSKG1fbm9u
SW5oZXJpdGVkRGF0YSwgcmFyZURhdGEsIHRleHRCb3hUcmltLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4odmFsdWUpKTsgfQogICAgIHZvaWQgc2V0VGV4dEVkZ2UoVGV4dEVkZ2UpOwogCiAgICAgdm9p
ZCBzZXRNYXJnaW5UcmltKE9wdGlvblNldDxNYXJnaW5UcmltVHlwZT4gdmFsdWUpIHsgU0VUX05F
U1RFRF9WQVIobV9ub25Jbmhlcml0ZWREYXRhLCByYXJlRGF0YSwgbWFyZ2luVHJpbSwgdmFsdWUp
OyB9CkBAIC0xNzM5LDcgKzE3MzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIE9wdGlvblNldDxN
YXJnaW5UcmltVHlwZT4gaW5pdGlhbE1hcmdpblRyaW0oKSB7IHJldHVybiB7IH07IH0KICAgICBz
dGF0aWMgTGVuZ3RoIGluaXRpYWxQYWRkaW5nKCkgeyByZXR1cm4gTGVuZ3RoKExlbmd0aFR5cGU6
OkZpeGVkKTsgfQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFRleHRJbmRlbnQoKSB7IHJldHVy
biBMZW5ndGgoTGVuZ3RoVHlwZTo6Rml4ZWQpOyB9Ci0gICAgc3RhdGljIExlYWRpbmdUcmltIGlu
aXRpYWxMZWFkaW5nVHJpbSgpIHsgcmV0dXJuIExlYWRpbmdUcmltOjpOb3JtYWw7IH0KKyAgICBz
dGF0aWMgVGV4dEJveFRyaW0gaW5pdGlhbFRleHRCb3hUcmltKCkgeyByZXR1cm4gVGV4dEJveFRy
aW06Ok5vcm1hbDsgfQogICAgIHN0YXRpYyBUZXh0RWRnZSBpbml0aWFsVGV4dEVkZ2UoKTsKICAg
ICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxaZXJvTGVuZ3RoKCkgeyByZXR1cm4gTGVuZ3RoKExlbmd0
aFR5cGU6OkZpeGVkKTsgfQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE9uZUxlbmd0aCgpIHsg
cmV0dXJuIExlbmd0aCgxLCBMZW5ndGhUeXBlOjpGaXhlZCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwCmluZGV4
IGI3ZWM0ZGU4OWRlOS4uNGYwZjE2NTRkMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKQEAgLTExODMsMTMg
KzExODMsMTMgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgVGV4dFdy
YXAgd3JhcCkKICAgICByZXR1cm4gdHM7CiB9CiAKLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4
dFN0cmVhbSYgdHMsIExlYWRpbmdUcmltIGxlYWRpbmdUcmltKQorVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiB0cywgVGV4dEJveFRyaW0gdGV4dEJveFRyaW0pCiB7Ci0gICAgc3dp
dGNoIChsZWFkaW5nVHJpbSkgewotICAgIGNhc2UgTGVhZGluZ1RyaW06Ok5vcm1hbDogdHMgPDwg
Ik5vcm1hbCI7IGJyZWFrOwotICAgIGNhc2UgTGVhZGluZ1RyaW06OlN0YXJ0OiB0cyA8PCAiU3Rh
cnQiOyBicmVhazsKLSAgICBjYXNlIExlYWRpbmdUcmltOjpFbmQ6IHRzIDw8ICJFbmQiOyBicmVh
azsKLSAgICBjYXNlIExlYWRpbmdUcmltOjpCb3RoOiB0cyA8PCAiQm90aCI7IGJyZWFrOworICAg
IHN3aXRjaCAodGV4dEJveFRyaW0pIHsKKyAgICBjYXNlIFRleHRCb3hUcmltOjpOb3JtYWw6IHRz
IDw8ICJOb3JtYWwiOyBicmVhazsKKyAgICBjYXNlIFRleHRCb3hUcmltOjpTdGFydDogdHMgPDwg
IlN0YXJ0IjsgYnJlYWs7CisgICAgY2FzZSBUZXh0Qm94VHJpbTo6RW5kOiB0cyA8PCAiRW5kIjsg
YnJlYWs7CisgICAgY2FzZSBUZXh0Qm94VHJpbTo6Qm90aDogdHMgPDwgIkJvdGgiOyBicmVhazsK
ICAgICB9CiAgICAgcmV0dXJuIHRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCAzMzM3NzRkZmQ1OGMuLmEy
NjliM2RmNGZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTY4Niw3ICs2ODYsNyBAQCBlbnVtIGNsYXNzIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiA6IHVpbnQ4X3QgewogICAgIFJpZ2h0CiB9OwogCi1lbnVtIGNs
YXNzIExlYWRpbmdUcmltIDogdWludDhfdCB7CitlbnVtIGNsYXNzIFRleHRCb3hUcmltIDogdWlu
dDhfdCB7CiAgICAgTm9ybWFsLAogICAgIFN0YXJ0LAogICAgIEVuZCwKQEAgLTEyNjksNyArMTI2
OSw3IEBAIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUZXh0
U2VjdXJpdHkpOwogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IFRleHRUcmFuc2Zvcm0pOwogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0
cmVhbSYsIFRleHRVbmRlcmxpbmVQb3NpdGlvbik7CiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoV1RGOjpUZXh0U3RyZWFtJiwgVGV4dFdyYXApOwotV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRv
cjw8KFdURjo6VGV4dFN0cmVhbSYsIExlYWRpbmdUcmltKTsKK1dURjo6VGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUZXh0Qm94VHJpbSk7CiBXVEY6OlRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgVGV4dEVkZ2VUeXBlKTsKIFdURjo6VGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUZXh0Wm9vbSk7CiBXVEY6OlRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgVHJhbnNmb3JtQm94KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmNwcAppbmRleCAwNWUzMmJiNWM0MWEuLmI0MDEyYmE1YjRhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIFN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoKQogICAgICwgY29udGFpbkludHJp
bnNpY1dpZHRoVHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxD
b250YWluSW50cmluc2ljV2lkdGhUeXBlKCkpKQogICAgICwgY29udGFpbkludHJpbnNpY0hlaWdo
dFR5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGFpbklu
dHJpbnNpY0hlaWdodFR5cGUoKSkpCiAgICAgLCBjb250YWluZXJUeXBlKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRhaW5lclR5cGUoKSkpCi0gICAgLCBsZWFk
aW5nVHJpbShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxMZWFkaW5n
VHJpbSgpKSkKKyAgICAsIHRleHRCb3hUcmltKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJT
dHlsZTo6aW5pdGlhbFRleHRCb3hUcmltKCkpKQogICAgICwgb3ZlcmZsb3dBbmNob3Ioc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsT3ZlcmZsb3dBbmNob3IoKSkpCiAg
ICAgLCBoYXNDbGlwKGZhbHNlKQogewpAQCAtMTk0LDcgKzE5NCw3IEBAIGlubGluZSBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxl
UmFyZU5vbkluCiAgICAgLCBjb250YWluSW50cmluc2ljV2lkdGhUeXBlKG8uY29udGFpbkludHJp
bnNpY1dpZHRoVHlwZSkKICAgICAsIGNvbnRhaW5JbnRyaW5zaWNIZWlnaHRUeXBlKG8uY29udGFp
bkludHJpbnNpY0hlaWdodFR5cGUpCiAgICAgLCBjb250YWluZXJUeXBlKG8uY29udGFpbmVyVHlw
ZSkKLSAgICAsIGxlYWRpbmdUcmltKG8ubGVhZGluZ1RyaW0pCisgICAgLCB0ZXh0Qm94VHJpbShv
LnRleHRCb3hUcmltKQogICAgICwgb3ZlcmZsb3dBbmNob3Ioby5vdmVyZmxvd0FuY2hvcikKICAg
ICAsIGhhc0NsaXAoby5oYXNDbGlwKQogewpAQCAtMjgzLDcgKzI4Myw3IEBAIGJvb2wgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhJiBvKSBjCiAgICAgICAgICYmIGNvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUgPT0gby5j
b250YWluSW50cmluc2ljV2lkdGhUeXBlCiAgICAgICAgICYmIGNvbnRhaW5JbnRyaW5zaWNIZWln
aHRUeXBlID09IG8uY29udGFpbkludHJpbnNpY0hlaWdodFR5cGUKICAgICAgICAgJiYgY29udGFp
bmVyVHlwZSA9PSBvLmNvbnRhaW5lclR5cGUKLSAgICAgICAgJiYgbGVhZGluZ1RyaW0gPT0gby5s
ZWFkaW5nVHJpbQorICAgICAgICAmJiB0ZXh0Qm94VHJpbSA9PSBvLnRleHRCb3hUcmltCiAgICAg
ICAgICYmIG92ZXJmbG93QW5jaG9yID09IG8ub3ZlcmZsb3dBbmNob3IKICAgICAgICAgJiYgaGFz
Q2xpcCA9PSBvLmhhc0NsaXA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCBmOGY3MTJmNzhk
YzguLjA5MjZlODcxZmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0yMTMsNyArMjEzLDcg
QEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgY29udGFpbmVyVHlwZSA6IDI7IC8vIENvbnRhaW5l
clR5cGUKIAotICAgIHVuc2lnbmVkIGxlYWRpbmdUcmltIDogMjsgLy8gTGVhZGluZ1RyaW0KKyAg
ICB1bnNpZ25lZCB0ZXh0Qm94VHJpbSA6IDI7IC8vIFRleHRCb3hUcmltCiAKICAgICB1bnNpZ25l
ZCBvdmVyZmxvd0FuY2hvciA6IDE7IC8vIFNjcm9sbCBBbmNob3JpbmctIE92ZXJmbG93QW5jaG9y
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRl
L2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAppbmRleCA4ZDgzM2RjOWQ5MDUuLjdh
MGRkM2FjNTk1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAtMTc2LDcg
KzE3Niw3IEBAIFBBU1MganVzdGlmeS1pdGVtcwogUEFTUyBqdXN0aWZ5LXNlbGYKIFBBU1MganVz
dGlmeS10cmFja3MKIFBBU1Mga2VybmluZwotUEFTUyBsZWFkaW5nLXRyaW0KK1BBU1MgdGV4dC1i
b3gtdHJpbQogUEFTUyBsZWZ0CiBQQVNTIGxldHRlci1zcGFjaW5nCiBQQVNTIGxpZ2h0aW5nLWNv
bG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVk
LnR4dAppbmRleCBjNTc2OTdmZmI3NTUuLjFhZDQwZGI4M2FhNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xNzYsNyArMTc2
LDcgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1c3RpZnktc2VsZgogUEFTUyBqdXN0aWZ5
LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRpbmctdHJpbQorUEFTUyB0ZXh0LWJveC10
cmltCiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVyLXNwYWNpbmcKIFBBU1MgbGlnaHRpbmctY29sb3IK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBl
Y3RlZC50eHQKaW5kZXggYjEwZjg1MGUzY2FjLi4yZmFiNzIwNjg2NTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBA
IC0xNzYsNyArMTc2LDcgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1c3RpZnktc2VsZgog
UEFTUyBqdXN0aWZ5LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRpbmctdHJpbQorUEFT
UyB0ZXh0LWJveC10cmltCiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVyLXNwYWNpbmcKIFBBU1MgbGln
aHRpbmctY29sb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwYWQvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBhZC9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXht
bC1leHBlY3RlZC50eHQKaW5kZXggYmUzZjM3YWM4ZjU0Li41MzE1ZmMxYzAwNmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwYWQvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwYWQvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBA
IC0xNzYsNyArMTc2LDcgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1c3RpZnktc2VsZgog
UEFTUyBqdXN0aWZ5LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRpbmctdHJpbQorUEFT
UyB0ZXh0LWJveC10cmltCiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVyLXNwYWNpbmcKIFBBU1MgbGln
aHRpbmctY29sb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5p
dGlhbC14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0
aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggZjU4N2VmY2Y0MzIzLi4zZjQzYTdmYzNkNTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhw
ZWN0ZWQudHh0CkBAIC0xNzYsNyArMTc2LDcgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1
c3RpZnktc2VsZgogUEFTUyBqdXN0aWZ5LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRp
bmctdHJpbQorUEFTUyB0ZXh0LWJveC10cmltCiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVyLXNwYWNp
bmcKIFBBU1MgbGlnaHRpbmctY29sb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwt
cHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3At
aW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDcxYWRjN2Y5MWVmOS4uOWIxOGUyNDczYzk4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQKQEAgLTE3Niw3ICsxNzYsNyBAQCBQQVNTIGp1c3RpZnktaXRlbXMKIFBBU1MganVzdGlm
eS1zZWxmCiBQQVNTIGp1c3RpZnktdHJhY2tzCiBQQVNTIGtlcm5pbmcKLVBBU1MgbGVhZGluZy10
cmltCitQQVNTIHRleHQtYm94LXRyaW0KIFBBU1MgbGVmdAogUEFTUyBsZXR0ZXItc3BhY2luZwog
UEFTUyBsaWdodGluZy1jb2xvcgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466165</attachid>
            <date>2023-05-01 19:29:54 -0700</date>
            <delta_ts>2023-05-02 07:49:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-256183-20230501192953.patch</filename>
            <type>text/plain</type>
            <size>52950</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBiOWFmYWFhMTZjOTIzYmQxZWE4ZWJkYWQzZmIyMjg3NTlhNjA5NjM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMSBNYXkgMjAyMyAxNTo1NjowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFJlbmFtZSBs
ZWFkaW5nLXRyaW0gdG8gdGV4dC1ib3gtdHJpbSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTYxODMKClJldmlld2VkIGJ5
IFRpbSBOZ3V5ZW4uCgpTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8jbGVh
ZGluZy10cmltLgoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQ6CiogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pcGFkL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNh
c2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0OgoqIFNvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5jZXMueWFtbDoKKiBTb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgooV2ViQ29yZTo6Q1NTUHJv
cGVydHlBbmltYXRpb25XcmFwcGVyTWFwOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXAp
OgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CiogU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKiBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5jcHA6CihXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFj
dG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZSk6CiogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CihXZWJDb3JlOjppbml0aWFsVmFsdWVGb3JMb25naGFu
ZCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay9CbG9j
a0xheW91dFN0YXRlLmg6CihXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrTGF5b3V0U3RhdGU6OkJsb2Nr
TGF5b3V0U3RhdGUpOgooV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjp0ZXh0Qm94
VHJpbSBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrTGF5b3V0U3RhdGU6OmxlYWRpbmdU
cmltIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMZXZlbEJveC5oOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVM
ZXZlbEJveDo6dGV4dEJveFRyaW0gY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZl
bEJveDo6aW5saW5lQm94Q29udGVudE9mZnNldEZvclRleHRCb3hUcmltIGNvbnN0KToKKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lTGV2ZWxCb3g6OnNldElubGluZUJveENvbnRlbnRPZmZzZXRGb3JU
ZXh0Qm94VHJpbSk6CihXZWJDb3JlOjpMYXlvdXQ6Om1fc3R5bGUpOgooV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVMZXZlbEJveDo6bGVhZGluZ1RyaW0gY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVMZXZlbEJveDo6aW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRpbmdU
cmltIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGV2ZWxCb3g6OnNl
dElubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJpbSk6IERlbGV0ZWQuCiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5j
cHA6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1biBjb25z
dCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6
c2V0VmVydGljYWxQcm9wZXJ0aWVzRm9ySW5saW5lTGV2ZWxCb3ggY29uc3QpOgooV2ViQ29yZTo6
TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hHZW9tZXRyeSBjb25zdCk6Ciog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuY3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnRleHRCb3hUcmlt
KToKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpsYXlvdXQpOgooV2Vi
Q29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmxlYWRpbmdUcmltKTogRGVsZXRlZC4KKiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHA6CihXZWJDb3JlOjpM
b2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OnB1c2hMYXlvdXRTdGF0ZSk6CiogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpUZXh0Qm94VHJp
bW1lcjo6VGV4dEJveFRyaW1tZXIpOgooV2ViQ29yZTo6VGV4dEJveFRyaW1tZXI6On5UZXh0Qm94
VHJpbW1lcik6CihXZWJDb3JlOjpUZXh0Qm94VHJpbW1lcjo6c2V0VGV4dEJveFRyaW1Gb3JTdWJ0
cmVlKToKKFdlYkNvcmU6OlRleHRCb3hUcmltbWVyOjphZGp1c3RUZXh0Qm94VHJpbUFmdGVyTGF5
b3V0KToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5GbG93Q2hpbGRyZW4pOgoo
V2ViQ29yZTo6TGVhZGluZ1RyaW1tZXI6OkxlYWRpbmdUcmltbWVyKTogRGVsZXRlZC4KKFdlYkNv
cmU6OkxlYWRpbmdUcmltbWVyOjp+TGVhZGluZ1RyaW1tZXIpOiBEZWxldGVkLgooV2ViQ29yZTo6
TGVhZGluZ1RyaW1tZXI6OnNldExlYWRpbmdUcmltRm9yU3VidHJlZSk6IERlbGV0ZWQuCihXZWJD
b3JlOjpMZWFkaW5nVHJpbW1lcjo6YWRqdXN0TGVhZGluZ1RyaW1BZnRlckxheW91dCk6IERlbGV0
ZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJMYXlvdXRTdGF0ZTo6UmVuZGVyTGF5b3V0U3RhdGUpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5oOgooV2ViQ29yZTo6UmVuZGVyTGF5b3V0U3RhdGU6OnRl
eHRCb3hUcmltKToKKFdlYkNvcmU6OlJlbmRlckxheW91dFN0YXRlOjpoYXNUZXh0Qm94VHJpbVN0
YXJ0IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlckxheW91dFN0YXRlOjpoYXNUZXh0Qm94VHJpbUVu
ZCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6cmVzZXRUZXh0Qm94VHJpbSk6
CihXZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6YWRkVGV4dEJveFRyaW1TdGFydCk6CihXZWJD
b3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6cmVtb3ZlVGV4dEJveFRyaW1TdGFydCk6CihXZWJDb3Jl
OjpSZW5kZXJMYXlvdXRTdGF0ZTo6YWRkVGV4dEJveFRyaW1FbmQpOgooV2ViQ29yZTo6UmVuZGVy
TGF5b3V0U3RhdGU6OmxlYWRpbmdUcmltKTogRGVsZXRlZC4KKFdlYkNvcmU6OlJlbmRlckxheW91
dFN0YXRlOjpoYXNMZWFkaW5nVHJpbVN0YXJ0IGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6OlJl
bmRlckxheW91dFN0YXRlOjpoYXNMZWFkaW5nVHJpbUVuZCBjb25zdCk6IERlbGV0ZWQuCihXZWJD
b3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6cmVzZXRMZWFkaW5nVHJpbSk6IERlbGV0ZWQuCihXZWJD
b3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6YWRkTGVhZGluZ1RyaW1TdGFydCk6IERlbGV0ZWQuCihX
ZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6cmVtb3ZlTGVhZGluZ1RyaW1TdGFydCk6IERlbGV0
ZWQuCihXZWJDb3JlOjpSZW5kZXJMYXlvdXRTdGF0ZTo6YWRkTGVhZGluZ1RyaW1FbmQpOiBEZWxl
dGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgooV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OnRleHRCb3hUcmltIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclN0
eWxlOjpzZXRUZXh0Qm94VHJpbSk6CihXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRC
b3hUcmltKToKKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpsZWFkaW5nVHJpbSBjb25zdCk6IERlbGV0
ZWQuCihXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0TGVhZGluZ1RyaW0pOiBEZWxldGVkLgooV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxMZWFkaW5nVHJpbSk6IERlbGV0ZWQuCiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcDoKKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZUNvbnN0YW50cy5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEpOgooV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKLS0tCiAuLi4vUHJlZmVyZW5jZXMv
VW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWwgICAgfCAyOCArKysrLS0tLQogLi4uL2FuaW1hdGlv
bi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgICAgICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydGllcy5qc29uICAgICAgICAgfCAgNiArLQogU291cmNlL1dlYkNvcmUvY3Nz
L0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwIHwgIDQgKy0KIC4uLi9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwICB8ICAyICstCiAuLi4vYmxvY2svQmxvY2tMYXlvdXRT
dGF0ZS5oICAgICAgICAgICAgICAgICAgfCAxNCArKy0tCiAuLi4vaW5saW5lL0lubGluZUxldmVs
Qm94LmggICAgICAgICAgICAgICAgICAgfCAxMiArKy0tCiAuLi4vaW5saW5lL0lubGluZUxpbmVC
b3guY3BwICAgICAgICAgICAgICAgICAgfCAgNCArLQogLi4uL2lubGluZS9JbmxpbmVMaW5lQm94
QnVpbGRlci5jcHAgICAgICAgICAgIHwgMTggKystLS0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdy
YXRpb25MaW5lTGF5b3V0LmNwcCAgICB8IDE2ICsrLS0tCiAuLi4vcGFnZS9Mb2NhbEZyYW1lVmll
d0xheW91dENvbnRleHQuY3BwICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAgIHwgNjYgKysrKysrKysrLS0tLS0tLS0tLQogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oICAgIHwgIDQgKy0KIC4uLi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5jcHAgICB8ICA0ICstCiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuaCAgfCA0MiArKysrKystLS0tLS0KIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oICB8ICA2ICstCiAuLi4vcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCAgfCAxMiArKy0tCiAuLi4vcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggICAgfCAgNCArLQogLi4uL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwICAgICAgIHwgIDYgKy0KIC4uLi9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggICAgICAgICB8ICAyICstCiAuLi4vYWxsLXByb3At
aW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0ICAgICAgICAgfCAgMiArLQogLi4uL2FsbC1wcm9wLWlu
aXRpYWwteG1sLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDIgKy0KIC4uLi9hbGwtcHJvcC1pbml0
aWFsLXhtbC1leHBlY3RlZC50eHQgICAgICAgICB8ICAyICstCiAuLi4vYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0ICAgICAgICAgfCAgMiArLQogLi4uL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDIgKy0KIC4uLi9hbGwtcHJvcC1pbml0aWFsLXht
bC1leHBlY3RlZC50eHQgICAgICAgICB8ICAyICstCiAyNyBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5z
ZXJ0aW9ucygrKSwgMTM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XVEYv
U2NyaXB0cy9QcmVmZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAzNjYw
YTBkZWE4NDMuLjA2OWQyYWIwMThlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1VuaWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA5NCwyMCAr
MTA5NCw2IEBAIENTU0lucHV0U2VjdXJpdHlFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBk
ZWZhdWx0OiBmYWxzZQogCi1DU1NMZWFkaW5nVHJpbUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAg
c3RhdHVzOiBwcmV2aWV3Ci0gIGNhdGVnb3J5OiBjc3MKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJD
U1MgbGVhZGluZy10cmltIHByb3BlcnR5IgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJF
bmFibGUgbGVhZGluZy10cmltIgotICBkZWZhdWx0VmFsdWU6Ci0gICAgV2ViS2l0TGVnYWN5Ogot
ICAgICAgZGVmYXVsdDogZmFsc2UKLSAgICBXZWJLaXQ6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQot
ICAgIFdlYkNvcmU6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQotCiBDU1NNYXJnaW5UcmltRW5hYmxl
ZDoKICAgdHlwZTogYm9vbAogICBzdGF0dXM6IHN0YWJsZQpAQCAtMTI1MSw2ICsxMjM3LDIwIEBA
IENTU1RleHRBbGlnbkxhc3RFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiB0
cnVlCiAKK0NTU1RleHRCb3hUcmltRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBzdGF0dXM6IHBy
ZXZpZXcKKyAgY2F0ZWdvcnk6IGNzcworICBodW1hblJlYWRhYmxlTmFtZTogIkNTUyB0ZXh0LWJv
eC10cmltIHByb3BlcnR5IgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGV4
dC1ib3gtdHJpbSIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRl
ZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJD
b3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogQ1NTVGV4dEdyb3VwQWxpZ25FbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIHN0YXR1czogdGVzdGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IDJjMjVhNzZkN2NjNS4uMzFk
MDRkOGZlZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVy
dHlBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0
eUFuaW1hdGlvbi5jcHAKQEAgLTM2MDMsNyArMzYwMyw3IEBAIENTU1Byb3BlcnR5QW5pbWF0aW9u
V3JhcHBlck1hcDo6Q1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVyTWFwKCkKICAgICAgICAgbmV3
IERpc2NyZXRlUHJvcGVydHlXcmFwcGVyPEJveFNpemluZz4oQ1NTUHJvcGVydHlCb3hTaXppbmcs
ICZSZW5kZXJTdHlsZTo6Ym94U2l6aW5nLCAmUmVuZGVyU3R5bGU6OnNldEJveFNpemluZyksCiAg
ICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxDYXB0aW9uU2lkZT4oQ1NTUHJvcGVy
dHlDYXB0aW9uU2lkZSwgJlJlbmRlclN0eWxlOjpjYXB0aW9uU2lkZSwgJlJlbmRlclN0eWxlOjpz
ZXRDYXB0aW9uU2lkZSksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxDbGVh
cj4oQ1NTUHJvcGVydHlDbGVhciwgJlJlbmRlclN0eWxlOjpjbGVhciwgJlJlbmRlclN0eWxlOjpz
ZXRDbGVhciksCi0gICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxMZWFkaW5nVHJp
bT4oQ1NTUHJvcGVydHlMZWFkaW5nVHJpbSwgJlJlbmRlclN0eWxlOjpsZWFkaW5nVHJpbSwgJlJl
bmRlclN0eWxlOjpzZXRMZWFkaW5nVHJpbSksCisgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5
V3JhcHBlcjxUZXh0Qm94VHJpbT4oQ1NTUHJvcGVydHlUZXh0Qm94VHJpbSwgJlJlbmRlclN0eWxl
Ojp0ZXh0Qm94VHJpbSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0Qm94VHJpbSksCiAgICAgICAgIG5l
dyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxQcmludENvbG9yQWRqdXN0PihDU1NQcm9wZXJ0eVBy
aW50Q29sb3JBZGp1c3QsICZSZW5kZXJTdHlsZTo6cHJpbnRDb2xvckFkanVzdCwgJlJlbmRlclN0
eWxlOjpzZXRQcmludENvbG9yQWRqdXN0KSwKICAgICAgICAgbmV3IERpc2NyZXRlUHJvcGVydHlX
cmFwcGVyPENvbHVtbkZpbGw+KENTU1Byb3BlcnR5Q29sdW1uRmlsbCwgJlJlbmRlclN0eWxlOjpj
b2x1bW5GaWxsLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbkZpbGwpLAogICAgICAgICBuZXcgRGlz
Y3JldGVQcm9wZXJ0eVdyYXBwZXI8Qm9yZGVyU3R5bGU+KENTU1Byb3BlcnR5Q29sdW1uUnVsZVN0
eWxlLCAmUmVuZGVyU3R5bGU6OmNvbHVtblJ1bGVTdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRDb2x1
bW5SdWxlU3R5bGUpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgKaW5kZXggMGIyNmI5ZWUwODUwLi42NWExOTY1NzU5NTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNTcwLDcgKzU3MCw3
IEBAIERFRklORV9UT19GUk9NX0NTU19WQUxVRV9JRF9GVU5DVElPTlMKICN1bmRlZiBUWVBFCiAj
dW5kZWYgRk9SX0VBQ0gKIAotI2RlZmluZSBUWVBFIExlYWRpbmdUcmltCisjZGVmaW5lIFRZUEUg
VGV4dEJveFRyaW0KICNkZWZpbmUgRk9SX0VBQ0goQ0FTRSkgQ0FTRShOb3JtYWwpIENBU0UoU3Rh
cnQpIENBU0UoRW5kKSBDQVNFKEJvdGgpCiBERUZJTkVfVE9fRlJPTV9DU1NfVkFMVUVfSURfRlVO
Q1RJT05TCiAjdW5kZWYgVFlQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5k
ZXggMzAxYTUxNDA0MDMzLi4zMmM5NzE2MGEyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNjkwLDcgKzY5MCw3IEBACiAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjog
IlRleHRFZGdlIiwKLSAgICAgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NMZWFkaW5n
VHJpbUVuYWJsZWQiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc1RleHRC
b3hUcmltRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgInBhcnNlci1mdW5jdGlvbiI6ICJjb25z
dW1lVGV4dEVkZ2UiLAogICAgICAgICAgICAgICAgICJwYXJzZXItZ3JhbW1hci11bnVzZWQiOiAi
bGVhZGluZyB8IFsgWyB0ZXh0IHwgY2FwIHwgZXggfCBpZGVvZ3JhcGhpYyB8IGlkZW9ncmFwaGlj
LWluayBdIFsgdGV4dCB8IGFscGhhYmV0aWMgfCBpZGVvZ3JhcGhpYyB8IGlkZW9ncmFwaGljLWlu
ayBdPyBdIiwKICAgICAgICAgICAgICAgICAicGFyc2VyLWdyYW1tYXItdW51c2VkLXJlYXNvbiI6
ICJOZWVkcyBzdXBwb3J0IGZvciAnZ3JvdXBzJyBhbmQgJ29wdGlvbmFsJy4iCkBAIC0zNzg4LDcg
KzM3ODgsNyBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RS
L1NWRzExL3RleHQuaHRtbCNLZXJuaW5nUHJvcGVydHkiCiAgICAgICAgICAgICB9CiAgICAgICAg
IH0sCi0gICAgICAgICJsZWFkaW5nLXRyaW0iOiB7CisgICAgICAgICJ0ZXh0LWJveC10cmltIjog
ewogICAgICAgICAgICAgInZhbHVlcyI6IFsKICAgICAgICAgICAgICAgICAibm9ybWFsIiwKICAg
ICAgICAgICAgICAgICAic3RhcnQiLApAQCAtMzc5Niw3ICszNzk2LDcgQEAKICAgICAgICAgICAg
ICAgICAiYm90aCIKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0
aWVzIjogewotICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0xlYWRpbmdUcmlt
RW5hYmxlZCIsCisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzVGV4dEJveFRy
aW1FbmFibGVkIiwKICAgICAgICAgICAgICAgICAicGFyc2VyLWdyYW1tYXIiOiAiPDx2YWx1ZXM+
PiIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRlZFN0eWxlRXh0cmFjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRlZFN0eWxlRXh0cmFjdG9yLmNwcAppbmRleCBmZWI3Njg1
YzliN2EuLmI2YTY4YmQwNGExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbXB1
dGVkU3R5bGVFeHRyYWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRlZFN0
eWxlRXh0cmFjdG9yLmNwcApAQCAtMzEzMCw4ICszMTMwLDggQEAgUmVmUHRyPENTU1ZhbHVlPiBD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5k
ZXJTdHkKICAgICAgICAgcmV0dXJuIG1fYWxsb3dWaXNpdGVkU3R5bGUgPyBjc3NWYWx1ZVBvb2wu
Y3JlYXRlQ29sb3JWYWx1ZShzdHlsZS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlD
YXJldENvbG9yKSkgOiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUsIHN0eWxlLmNhcmV0
Q29sb3IoKSk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsZWFyOgogICAgICAgICByZXR1cm4gY3Jl
YXRlQ29udmVydGluZ1RvQ1NTVmFsdWVJRChzdHlsZS5jbGVhcigpKTsKLSAgICBjYXNlIENTU1By
b3BlcnR5TGVhZGluZ1RyaW06Ci0gICAgICAgIHJldHVybiBjcmVhdGVDb252ZXJ0aW5nVG9DU1NW
YWx1ZUlEKHN0eWxlLmxlYWRpbmdUcmltKCkpOworICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0Qm94
VHJpbToKKyAgICAgICAgcmV0dXJuIGNyZWF0ZUNvbnZlcnRpbmdUb0NTU1ZhbHVlSUQoc3R5bGUu
dGV4dEJveFRyaW0oKSk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbG9yOgogICAgICAgICByZXR1
cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUNvbG9yVmFsdWUobV9hbGxvd1Zpc2l0ZWRTdHlsZSA/IHN0
eWxlLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSA6IHN0eWxlLmNvbG9y
KCkpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlQcmludENvbG9yQWRqdXN0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCAxYjcwMzlmZGY1
OGIuLmViNTA0NDJiM2EwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHAKQEAgLTk2NiwxMyArOTY2LDEzIEBAIHN0YXRpYyBjb25zdGV4cHIg
SW5pdGlhbFZhbHVlIGluaXRpYWxWYWx1ZUZvckxvbmdoYW5kKENTU1Byb3BlcnR5SUQgbG9uZ2hh
bmQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50UG9zaXRpb246CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eUZvbnRXZWlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUp1c3RpZnlDb250ZW50
OgotICAgIGNhc2UgQ1NTUHJvcGVydHlMZWFkaW5nVHJpbToKICAgICBjYXNlIENTU1Byb3BlcnR5
TGV0dGVyU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3BlcnR5TGluZUhlaWdodDoKICAgICBjYXNl
IENTU1Byb3BlcnR5T3ZlcmZsb3dXcmFwOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSb3dHYXA6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFNuYXBTdG9wOgogICAgIGNhc2UgQ1NTUHJvcGVydHlT
cGVha0FzOgorICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0Qm94VHJpbToKICAgICBjYXNlIENTU1By
b3BlcnR5V2hpdGVTcGFjZToKICAgICBjYXNlIENTU1Byb3BlcnR5V29yZEJyZWFrOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXb3JkU3BhY2luZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tMYXlvdXRTdGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay9CbG9ja0xheW91dFN0YXRl
LmgKaW5kZXggNjUxMGU0YzA5N2NmLi4yOTcyZDM4NzcxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tMYXlvdXRTdGF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxv
Y2tMYXlvdXRTdGF0ZS5oCkBAIC0zOSwzMiArMzksMzIgQEAgcHVibGljOgogICAgICAgICBzaXpl
X3QgbWF4aW11bUxpbmVDb3VudCB7IDAgfTsKICAgICAgICAgc2l6ZV90IGN1cnJlbnRMaW5lQ291
bnQgeyAwIH07CiAgICAgfTsKLSAgICBlbnVtIGNsYXNzIExlYWRpbmdUcmltU2lkZSA6IHVpbnQ4
X3QgeworICAgIGVudW0gY2xhc3MgVGV4dEJveFRyaW1TaWRlIDogdWludDhfdCB7CiAgICAgICAg
IFN0YXJ0ID0gMSA8PCAwLAogICAgICAgICBFbmQgICA9IDEgPDwgMQogICAgIH07Ci0gICAgdXNp
bmcgTGVhZGluZ1RyaW0gPSBPcHRpb25TZXQ8TGVhZGluZ1RyaW1TaWRlPjsKLSAgICBCbG9ja0xh
eW91dFN0YXRlKEZsb2F0aW5nU3RhdGUmLCBzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gPSB7IH0s
IExlYWRpbmdUcmltID0geyB9LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGludHJ1c2l2ZUlu
aXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tID0geyB9KTsKKyAgICB1c2luZyBUZXh0Qm94VHJpbSA9
IE9wdGlvblNldDxUZXh0Qm94VHJpbVNpZGU+OworICAgIEJsb2NrTGF5b3V0U3RhdGUoRmxvYXRp
bmdTdGF0ZSYsIHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiA9IHsgfSwgVGV4dEJveFRyaW0gPSB7
IH0sIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gaW50cnVzaXZlSW5pdGlhbExldHRlckxvZ2lj
YWxCb3R0b20gPSB7IH0pOwogCiAgICAgRmxvYXRpbmdTdGF0ZSYgZmxvYXRpbmdTdGF0ZSgpIHsg
cmV0dXJuIG1fZmxvYXRpbmdTdGF0ZTsgfQogICAgIGNvbnN0IEZsb2F0aW5nU3RhdGUmIGZsb2F0
aW5nU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2Zsb2F0aW5nU3RhdGU7IH0KIAogICAgIHN0ZDo6
b3B0aW9uYWw8TGluZUNsYW1wPiBsaW5lQ2xhbXAoKSBjb25zdCB7IHJldHVybiBtX2xpbmVDbGFt
cDsgfQotICAgIExlYWRpbmdUcmltIGxlYWRpbmdUcmltKCkgY29uc3QgeyByZXR1cm4gbV9sZWFk
aW5nVHJpbTsgfQorICAgIFRleHRCb3hUcmltIHRleHRCb3hUcmltKCkgY29uc3QgeyByZXR1cm4g
bV90ZXh0Qm94VHJpbTsgfQogCiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBpbnRydXNp
dmVJbml0aWFsTGV0dGVyTG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1faW50cnVzaXZl
SW5pdGlhbExldHRlckxvZ2ljYWxCb3R0b207IH0KIAogcHJpdmF0ZToKICAgICBGbG9hdGluZ1N0
YXRlJiBtX2Zsb2F0aW5nU3RhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxMaW5lQ2xhbXA+IG1fbGlu
ZUNsYW1wOwotICAgIExlYWRpbmdUcmltIG1fbGVhZGluZ1RyaW07CisgICAgVGV4dEJveFRyaW0g
bV90ZXh0Qm94VHJpbTsKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IG1faW50cnVzaXZl
SW5pdGlhbExldHRlckxvZ2ljYWxCb3R0b207CiB9OwogCi1pbmxpbmUgQmxvY2tMYXlvdXRTdGF0
ZTo6QmxvY2tMYXlvdXRTdGF0ZShGbG9hdGluZ1N0YXRlJiBmbG9hdGluZ1N0YXRlLCBzdGQ6Om9w
dGlvbmFsPExpbmVDbGFtcD4gbGluZUNsYW1wLCBMZWFkaW5nVHJpbSBsZWFkaW5nVHJpbSwgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiBpbnRydXNpdmVJbml0aWFsTGV0dGVyTG9naWNhbEJvdHRv
bSkKK2lubGluZSBCbG9ja0xheW91dFN0YXRlOjpCbG9ja0xheW91dFN0YXRlKEZsb2F0aW5nU3Rh
dGUmIGZsb2F0aW5nU3RhdGUsIHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiBsaW5lQ2xhbXAsIFRl
eHRCb3hUcmltIHRleHRCb3hUcmltLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGludHJ1c2l2
ZUluaXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tKQogICAgIDogbV9mbG9hdGluZ1N0YXRlKGZsb2F0
aW5nU3RhdGUpCiAgICAgLCBtX2xpbmVDbGFtcChsaW5lQ2xhbXApCi0gICAgLCBtX2xlYWRpbmdU
cmltKGxlYWRpbmdUcmltKQorICAgICwgbV90ZXh0Qm94VHJpbSh0ZXh0Qm94VHJpbSkKICAgICAs
IG1faW50cnVzaXZlSW5pdGlhbExldHRlckxvZ2ljYWxCb3R0b20oaW50cnVzaXZlSW5pdGlhbExl
dHRlckxvZ2ljYWxCb3R0b20pCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMZXZlbEJveC5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2ZWxCb3guaApp
bmRleCA2NDc0ZDQ5NjY4YTMuLmJlZWQ3MTE5Mzg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2ZWxCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
ZXZlbEJveC5oCkBAIC04Miw4ICs4Miw4IEBAIHB1YmxpYzoKIAogICAgIC8vIEZJWE1FOiBNYXli
ZSBpdCdzIHRpbWUgdG8gc3ViY2xhc3MgaW5saW5lIGJveCB0eXBlcy4KICAgICBUZXh0RWRnZSB0
ZXh0RWRnZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGUudGV4dEVkZ2U7IH0KLSAgICBMZWFkaW5n
VHJpbSBsZWFkaW5nVHJpbSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGUubGVhZGluZ1RyaW07IH0K
LSAgICBJbmxpbmVMYXlvdXRVbml0IGlubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJp
bSgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRpbmdUcmlt
OyB9CisgICAgVGV4dEJveFRyaW0gdGV4dEJveFRyaW0oKSBjb25zdCB7IHJldHVybiBtX3N0eWxl
LnRleHRCb3hUcmltOyB9CisgICAgSW5saW5lTGF5b3V0VW5pdCBpbmxpbmVCb3hDb250ZW50T2Zm
c2V0Rm9yVGV4dEJveFRyaW0oKSBjb25zdCB7IHJldHVybiBtX2lubGluZUJveENvbnRlbnRPZmZz
ZXRGb3JUZXh0Qm94VHJpbTsgfQogCiAgICAgYm9vbCBoYXNBbm5vdGF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gKGhhc0NvbnRlbnQoKSB8fCBpc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmIG1fYW5u
b3RhdGlvbi5oYXNfdmFsdWUoKTsgfTsKICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVu
aXQ+IGFubm90YXRpb25BYm92ZSgpIGNvbnN0IHsgcmV0dXJuIGhhc0Fubm90YXRpb24oKSA/IHN0
ZDo6b3B0aW9uYWwgeyBtX2Fubm90YXRpb24tPmFib3ZlIH0gOiBzdGQ6Om51bGxvcHQ7IH0KQEAg
LTEzOSw3ICsxMzksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TG9naWNhbExlZnQoSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsTGVmdCkgeyBtX2xvZ2ljYWxSZWN0LnNldExlZnQobG9naWNhbExl
ZnQpOyB9CiAgICAgdm9pZCBzZXRBc2NlbnRBbmREZXNjZW50KEFzY2VudEFuZERlc2NlbnQgYXNj
ZW50QW5kRGVzY2VudCkgeyBtX2FzY2VudEFuZERlc2NlbnQgPSB7IElubGluZUxheW91dFVuaXQo
cm91bmRUb0ludChhc2NlbnRBbmREZXNjZW50LmFzY2VudCkpLCBJbmxpbmVMYXlvdXRVbml0KHJv
dW5kVG9JbnQoYXNjZW50QW5kRGVzY2VudC5kZXNjZW50KSkgfTsgfQogICAgIHZvaWQgc2V0TGF5
b3V0Qm91bmRzKGNvbnN0IEFzY2VudEFuZERlc2NlbnQmIGxheW91dEJvdW5kcykgeyBtX2xheW91
dEJvdW5kcyA9IHsgSW5saW5lTGF5b3V0VW5pdChyb3VuZFRvSW50KGxheW91dEJvdW5kcy5hc2Nl
bnQpKSwgSW5saW5lTGF5b3V0VW5pdChyb3VuZFRvSW50KGxheW91dEJvdW5kcy5kZXNjZW50KSkg
fTsgfQotICAgIHZvaWQgc2V0SW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRpbmdUcmltKElu
bGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1faW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRp
bmdUcmltID0gb2Zmc2V0OyB9CisgICAgdm9pZCBzZXRJbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9y
VGV4dEJveFRyaW0oSW5saW5lTGF5b3V0VW5pdCBvZmZzZXQpIHsgbV9pbmxpbmVCb3hDb250ZW50
T2Zmc2V0Rm9yVGV4dEJveFRyaW0gPSBvZmZzZXQ7IH0KIAogICAgIHZvaWQgc2V0SXNGaXJzdEJv
eCgpIHsgbV9pc0ZpcnN0V2l0aGluTGF5b3V0Qm94ID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0SXNM
YXN0Qm94KCkgeyBtX2lzTGFzdFdpdGhpbkxheW91dEJveCA9IHRydWU7IH0KQEAgLTE1MCw3ICsx
NTAsNyBAQCBwcml2YXRlOgogICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICBBc2Nl
bnRBbmREZXNjZW50IG1fbGF5b3V0Qm91bmRzOwogICAgIEFzY2VudEFuZERlc2NlbnQgbV9hc2Nl
bnRBbmREZXNjZW50OwotICAgIElubGluZUxheW91dFVuaXQgbV9pbmxpbmVCb3hDb250ZW50T2Zm
c2V0Rm9yTGVhZGluZ1RyaW0geyAwLmYgfTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IG1faW5saW5l
Qm94Q29udGVudE9mZnNldEZvclRleHRCb3hUcmltIHsgMC5mIH07CiAgICAgYm9vbCBtX2hhc0Nv
bnRlbnQgeyBmYWxzZSB9OwogICAgIC8vIFRoZXNlIGJpdHMgYXJlIGFib3V0IHdoZXRoZXIgdGhp
cyBpbmxpbmUgbGV2ZWwgYm94IGlzIHRoZSBmaXJzdC9sYXN0IGdlbmVyYXRlZCBib3ggb2YgdGhl
IGFzc29jaWF0ZWQgTGF5b3V0OjpCb3gKICAgICAvLyAoZS5nLiBhbHdheXMgdHJ1ZSBmb3IgYXRv
bWljIGlubGluZSBsZXZlbCBib3hlcywgYnV0IGlubGluZSBib3hlcyBzcGFubmluZyBvdmVyIG11
bHRpcGxlIGxpbmVzIGNhbiBwcm9kdWNlIHNlcGFyYXRlIGZpcnN0L2xhc3QgYm94ZXMpLgpAQCAt
MTYyLDcgKzE2Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBwcmlt
YXJ5Rm9udE1ldHJpY3M7CiAgICAgICAgIGNvbnN0IExlbmd0aCYgbGluZUhlaWdodDsKICAgICAg
ICAgVGV4dEVkZ2UgdGV4dEVkZ2U7Ci0gICAgICAgIExlYWRpbmdUcmltIGxlYWRpbmdUcmltOwor
ICAgICAgICBUZXh0Qm94VHJpbSB0ZXh0Qm94VHJpbTsKICAgICAgICAgV1RGOjpPcHRpb25TZXQ8
TGluZUJveENvbnRhaW4+IGxpbmVCb3hDb250YWluOwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IHByaW1hcnlGb250U2l6ZSB7IDAgfTsKICAgICAgICAgVmVydGljYWxBbGlnbm1lbnQgdmVydGlj
YWxBbGlnbm1lbnQgeyB9OwpAQCAtMTgyLDcgKzE4Miw3IEBAIGlubGluZSBJbmxpbmVMZXZlbEJv
eDo6SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IFJlbmRlclN0eWxl
JiBzCiAgICAgLCBtX2lzRmlyc3RXaXRoaW5MYXlvdXRCb3gocG9zaXRpb25XaXRoaW5MYXlvdXRC
b3guY29udGFpbnMoUG9zaXRpb25XaXRoaW5MYXlvdXRCb3g6OkZpcnN0KSkKICAgICAsIG1faXNM
YXN0V2l0aGluTGF5b3V0Qm94KHBvc2l0aW9uV2l0aGluTGF5b3V0Qm94LmNvbnRhaW5zKFBvc2l0
aW9uV2l0aGluTGF5b3V0Qm94OjpMYXN0KSkKICAgICAsIG1fdHlwZSh0eXBlKQotICAgICwgbV9z
dHlsZSh7IHN0eWxlLmZvbnRDYXNjYWRlKCkubWV0cmljc09mUHJpbWFyeUZvbnQoKSwgc3R5bGUu
bGluZUhlaWdodCgpLCBzdHlsZS50ZXh0RWRnZSgpLCBzdHlsZS5sZWFkaW5nVHJpbSgpLCBzdHls
ZS5saW5lQm94Q29udGFpbigpLCBJbmxpbmVMYXlvdXRVbml0KHN0eWxlLmZvbnRDYXNjYWRlKCku
Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRQaXhlbFNpemUoKSksIHsgfSB9KQorICAgICwgbV9z
dHlsZSh7IHN0eWxlLmZvbnRDYXNjYWRlKCkubWV0cmljc09mUHJpbWFyeUZvbnQoKSwgc3R5bGUu
bGluZUhlaWdodCgpLCBzdHlsZS50ZXh0RWRnZSgpLCBzdHlsZS50ZXh0Qm94VHJpbSgpLCBzdHls
ZS5saW5lQm94Q29udGFpbigpLCBJbmxpbmVMYXlvdXRVbml0KHN0eWxlLmZvbnRDYXNjYWRlKCku
Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRQaXhlbFNpemUoKSksIHsgfSB9KQogewogICAgIG1f
c3R5bGUudmVydGljYWxBbGlnbm1lbnQudHlwZSA9IHN0eWxlLnZlcnRpY2FsQWxpZ24oKTsKICAg
ICBpZiAobV9zdHlsZS52ZXJ0aWNhbEFsaWdubWVudC50eXBlID09IFZlcnRpY2FsQWxpZ246Okxl
bmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAKaW5kZXggNzhlZTk5NWJmNDli
Li4xMTY1ZjkxOTkyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCkBAIC01
MiwxMyArNTIsMTMgQEAgSW5saW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvclRleHRSdW4o
Y29uc3QgTGluZTo6UnVuJiBydW4pIGNvbnN0CiAgICAgQVNTRVJUKHJ1bi5pc1RleHQoKSB8fCBy
dW4uaXNTb2Z0TGluZUJyZWFrKCkpOwogICAgIGF1dG8qIGFuY2VzdG9ySW5saW5lQm94ID0gJnBh
cmVudElubGluZUJveChydW4pOwogICAgIEFTU0VSVChhbmNlc3RvcklubGluZUJveC0+aXNJbmxp
bmVCb3goKSk7Ci0gICAgYXV0byBydW5sb2dpY2FsVG9wID0gYW5jZXN0b3JJbmxpbmVCb3gtPmxv
Z2ljYWxUb3AoKSAtIGFuY2VzdG9ySW5saW5lQm94LT5pbmxpbmVCb3hDb250ZW50T2Zmc2V0Rm9y
TGVhZGluZ1RyaW0oKTsKKyAgICBhdXRvIHJ1bmxvZ2ljYWxUb3AgPSBhbmNlc3RvcklubGluZUJv
eC0+bG9naWNhbFRvcCgpIC0gYW5jZXN0b3JJbmxpbmVCb3gtPmlubGluZUJveENvbnRlbnRPZmZz
ZXRGb3JUZXh0Qm94VHJpbSgpOwogICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCA9
IGFuY2VzdG9ySW5saW5lQm94LT5wcmltYXJ5bWV0cmljc09mUHJpbWFyeUZvbnQoKS5oZWlnaHQo
KTsKIAogICAgIHdoaWxlIChhbmNlc3RvcklubGluZUJveCAhPSAmbV9yb290SW5saW5lQm94ICYm
ICFhbmNlc3RvcklubGluZUJveC0+aGFzTGluZUJveFJlbGF0aXZlQWxpZ25tZW50KCkpIHsKICAg
ICAgICAgYW5jZXN0b3JJbmxpbmVCb3ggPSAmcGFyZW50SW5saW5lQm94KCphbmNlc3RvcklubGlu
ZUJveCk7CiAgICAgICAgIEFTU0VSVChhbmNlc3RvcklubGluZUJveC0+aXNJbmxpbmVCb3goKSk7
Ci0gICAgICAgIHJ1bmxvZ2ljYWxUb3AgKz0gKGFuY2VzdG9ySW5saW5lQm94LT5sb2dpY2FsVG9w
KCkgLSBhbmNlc3RvcklubGluZUJveC0+aW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRpbmdU
cmltKCkpOworICAgICAgICBydW5sb2dpY2FsVG9wICs9IChhbmNlc3RvcklubGluZUJveC0+bG9n
aWNhbFRvcCgpIC0gYW5jZXN0b3JJbmxpbmVCb3gtPmlubGluZUJveENvbnRlbnRPZmZzZXRGb3JU
ZXh0Qm94VHJpbSgpKTsKICAgICB9CiAgICAgcmV0dXJuIHsgcnVubG9naWNhbFRvcCwgbV9yb290
SW5saW5lQm94LmxvZ2ljYWxMZWZ0KCkgKyBydW4ubG9naWNhbExlZnQoKSwgcnVuLmxvZ2ljYWxX
aWR0aCgpLCBsb2dpY2FsSGVpZ2h0IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94QnVpbGRlci5jcHAKaW5kZXggNTVkNGEzNGM4NmQwLi41Y2UyY2Q4NTg1ZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTIzNSwxNSAr
MjM1LDE1IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OnNldFZlcnRpY2FsUHJvcGVydGllc0Zvcklu
bGluZUxldmVsQm94KGNvbnN0IExpbmVCb3gmIGxpbmVCCiAKICAgICBpZiAoaW5saW5lTGV2ZWxC
b3guaXNJbmxpbmVCb3goKSkgewogICAgICAgICBhdXRvIGFzY2VudEFuZERlc2NlbnQgPSBbJl0o
KSAtPiBJbmxpbmVMZXZlbEJveDo6QXNjZW50QW5kRGVzY2VudCB7Ci0gICAgICAgICAgICBhdXRv
IGxlYWRpbmdUcmltID0gaW5saW5lTGV2ZWxCb3gubGVhZGluZ1RyaW0oKTsKKyAgICAgICAgICAg
IGF1dG8gdGV4dEJveFRyaW0gPSBpbmxpbmVMZXZlbEJveC50ZXh0Qm94VHJpbSgpOwogICAgICAg
ICAgICAgYXV0byBmb250QmFzZWxpbmUgPSBsaW5lQm94LmJhc2VsaW5lVHlwZSgpOwotICAgICAg
ICAgICAgaWYgKGlubGluZUxldmVsQm94LmlzUm9vdElubGluZUJveCgpIHx8IGxlYWRpbmdUcmlt
ID09IExlYWRpbmdUcmltOjpOb3JtYWwpCisgICAgICAgICAgICBpZiAoaW5saW5lTGV2ZWxCb3gu
aXNSb290SW5saW5lQm94KCkgfHwgdGV4dEJveFRyaW0gPT0gVGV4dEJveFRyaW06Ok5vcm1hbCkK
ICAgICAgICAgICAgICAgICByZXR1cm4gcHJpbWFyeUZvbnRNZXRyaWNzRm9ySW5saW5lQm94KGlu
bGluZUxldmVsQm94LCBmb250QmFzZWxpbmUpOwogCiAgICAgICAgICAgICBhdXRvJiBmb250TWV0
cmljcyA9IGlubGluZUxldmVsQm94LnByaW1hcnltZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOwogICAg
ICAgICAgICAgYXV0byBhc2NlbnRBbmREZXNjZW50ID0gYXNjZW50QW5kRGVzY2VudFdpdGhUZXh0
RWRnZUZvcklubGluZUJveChpbmxpbmVMZXZlbEJveCwgZm9udE1ldHJpY3MsIGZvbnRCYXNlbGlu
ZSk7Ci0gICAgICAgICAgICBhdXRvIGFzY2VudCA9IGxlYWRpbmdUcmltID09IExlYWRpbmdUcmlt
OjpFbmQgPyBmb250TWV0cmljcy5hc2NlbnQoZm9udEJhc2VsaW5lKSA6IGFzY2VudEFuZERlc2Nl
bnQuYXNjZW50OwotICAgICAgICAgICAgYXV0byBkZXNjZW50ID0gbGVhZGluZ1RyaW0gPT0gTGVh
ZGluZ1RyaW06OlN0YXJ0ID8gZm9udE1ldHJpY3MuZGVzY2VudChmb250QmFzZWxpbmUpIDogYXNj
ZW50QW5kRGVzY2VudC5kZXNjZW50OworICAgICAgICAgICAgYXV0byBhc2NlbnQgPSB0ZXh0Qm94
VHJpbSA9PSBUZXh0Qm94VHJpbTo6RW5kID8gZm9udE1ldHJpY3MuYXNjZW50KGZvbnRCYXNlbGlu
ZSkgOiBhc2NlbnRBbmREZXNjZW50LmFzY2VudDsKKyAgICAgICAgICAgIGF1dG8gZGVzY2VudCA9
IHRleHRCb3hUcmltID09IFRleHRCb3hUcmltOjpTdGFydCA/IGZvbnRNZXRyaWNzLmRlc2NlbnQo
Zm9udEJhc2VsaW5lKSA6IGFzY2VudEFuZERlc2NlbnQuZGVzY2VudDsKICAgICAgICAgICAgIHJl
dHVybiB7IGFzY2VudCwgZGVzY2VudCB9OwogICAgICAgICB9KCk7CiAKQEAgLTI1MSw5ICsyNTEs
OSBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpzZXRWZXJ0aWNhbFByb3BlcnRpZXNGb3JJbmxpbmVM
ZXZlbEJveChjb25zdCBMaW5lQm94JiBsaW5lQgogICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0
IGxheW91dCBib3VuZHMuCiAgICAgICAgIHNldExheW91dEJvdW5kc0ZvcklubGluZUJveChpbmxp
bmVMZXZlbEJveCwgbGluZUJveC5iYXNlbGluZVR5cGUoKSk7CiAKLSAgICAgICAgLy8gV2l0aCBs
ZWFkaW5nLXRyaW0sIHRoZSBpbmxpbmUgYm94IHRvcCBpcyBub3QgYWx3YXlzIHdoZXJlIHRoZSBj
b250ZW50IHN0YXJ0cy4KKyAgICAgICAgLy8gV2l0aCB0ZXh0LWJveC10cmltLCB0aGUgaW5saW5l
IGJveCB0b3AgaXMgbm90IGFsd2F5cyB3aGVyZSB0aGUgY29udGVudCBzdGFydHMuCiAgICAgICAg
IGF1dG8gZm9udE1ldHJpY0Jhc2VkQXNjZW50ID0gcHJpbWFyeUZvbnRNZXRyaWNzRm9ySW5saW5l
Qm94KGlubGluZUxldmVsQm94LCBsaW5lQm94LmJhc2VsaW5lVHlwZSgpKS5hc2NlbnQ7Ci0gICAg
ICAgIGlubGluZUxldmVsQm94LnNldElubGluZUJveENvbnRlbnRPZmZzZXRGb3JMZWFkaW5nVHJp
bShmb250TWV0cmljQmFzZWRBc2NlbnQgLSBhc2NlbnRBbmREZXNjZW50LmFzY2VudCk7CisgICAg
ICAgIGlubGluZUxldmVsQm94LnNldElubGluZUJveENvbnRlbnRPZmZzZXRGb3JUZXh0Qm94VHJp
bShmb250TWV0cmljQmFzZWRBc2NlbnQgLSBhc2NlbnRBbmREZXNjZW50LmFzY2VudCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGlubGluZUxldmVsQm94LmlzTGluZUJyZWFrQm94
KCkpIHsKQEAgLTYyNSw5ICs2MjUsOSBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGlu
ZUJveEdlb21ldHJ5KExpbmVCb3gmIGxpbmVCb3gpIGNvbnN0CiAgICAgYXV0byBsaW5lQm94TG9n
aWNhbEhlaWdodCA9IExpbmVCb3hWZXJ0aWNhbEFsaWduZXIgeyBmb3JtYXR0aW5nQ29udGV4dCgp
IH0uY29tcHV0ZUxvZ2ljYWxIZWlnaHRBbmRBbGlnbihsaW5lQm94KTsKIAogICAgIGF1dG8mIHJv
b3RTdHlsZSA9IHRoaXMtPnJvb3RTdHlsZSgpOwotICAgIGF1dG8gbGVhZGluZ1RyaW0gPSBibG9j
a0xheW91dFN0YXRlKCkubGVhZGluZ1RyaW0oKTsKLSAgICBhdXRvIHNob3VsZFRyaW1CbG9ja1N0
YXJ0T2ZMaW5lQm94ID0gaXNGaXJzdExpbmUoKSAmJiBsZWFkaW5nVHJpbS5jb250YWlucyhCbG9j
a0xheW91dFN0YXRlOjpMZWFkaW5nVHJpbVNpZGU6OlN0YXJ0KSAmJiByb290U3R5bGUudGV4dEVk
Z2UoKS5vdmVyICE9IFRleHRFZGdlVHlwZTo6TGVhZGluZzsKLSAgICBhdXRvIHNob3VsZFRyaW1C
bG9ja0VuZE9mTGluZUJveCA9IGlzTGFzdExpbmUoKSAmJiBsZWFkaW5nVHJpbS5jb250YWlucyhC
bG9ja0xheW91dFN0YXRlOjpMZWFkaW5nVHJpbVNpZGU6OkVuZCkgJiYgcm9vdFN0eWxlLnRleHRF
ZGdlKCkudW5kZXIgIT0gVGV4dEVkZ2VUeXBlOjpMZWFkaW5nOworICAgIGF1dG8gdGV4dEJveFRy
aW0gPSBibG9ja0xheW91dFN0YXRlKCkudGV4dEJveFRyaW0oKTsKKyAgICBhdXRvIHNob3VsZFRy
aW1CbG9ja1N0YXJ0T2ZMaW5lQm94ID0gaXNGaXJzdExpbmUoKSAmJiB0ZXh0Qm94VHJpbS5jb250
YWlucyhCbG9ja0xheW91dFN0YXRlOjpUZXh0Qm94VHJpbVNpZGU6OlN0YXJ0KSAmJiByb290U3R5
bGUudGV4dEVkZ2UoKS5vdmVyICE9IFRleHRFZGdlVHlwZTo6TGVhZGluZzsKKyAgICBhdXRvIHNo
b3VsZFRyaW1CbG9ja0VuZE9mTGluZUJveCA9IGlzTGFzdExpbmUoKSAmJiB0ZXh0Qm94VHJpbS5j
b250YWlucyhCbG9ja0xheW91dFN0YXRlOjpUZXh0Qm94VHJpbVNpZGU6OkVuZCkgJiYgcm9vdFN0
eWxlLnRleHRFZGdlKCkudW5kZXIgIT0gVGV4dEVkZ2VUeXBlOjpMZWFkaW5nOwogCiAgICAgaWYg
KHNob3VsZFRyaW1CbG9ja0VuZE9mTGluZUJveCkgewogICAgICAgICBhdXRvIHRleHRFZGdlVW5k
ZXJIZWlnaHQgPSBbJl0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuY3BwCmluZGV4IDMyNjIxZjFmODljOS4uNjM1MTE5YjAwYjA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGlu
ZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC01MjcsMTcgKzUyNywxNyBAQCBz
dGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8TGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpMaW5l
Q2xhbXA+IGxpbmVDbGFtcChjb25zdAogICAgIHJldHVybiB7IH07CiB9CiAKLXN0YXRpYyBpbmxp
bmUgTGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpMZWFkaW5nVHJpbSBsZWFkaW5nVHJpbShjb25z
dCBSZW5kZXJCbG9ja0Zsb3cmIHJvb3RSZW5kZXJlcikKK3N0YXRpYyBpbmxpbmUgTGF5b3V0OjpC
bG9ja0xheW91dFN0YXRlOjpUZXh0Qm94VHJpbSB0ZXh0Qm94VHJpbShjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmIHJvb3RSZW5kZXJlcikKIHsKICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHJvb3RSZW5k
ZXJlci52aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7CiAg
ICAgaWYgKCFsYXlvdXRTdGF0ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBhdXRvIGxlYWRp
bmdUcmltRm9ySUZDID0gTGF5b3V0OjpCbG9ja0xheW91dFN0YXRlOjpMZWFkaW5nVHJpbSB7IH07
Ci0gICAgaWYgKGxheW91dFN0YXRlLT5oYXNMZWFkaW5nVHJpbVN0YXJ0KCkpCi0gICAgICAgIGxl
YWRpbmdUcmltRm9ySUZDLmFkZChMYXlvdXQ6OkJsb2NrTGF5b3V0U3RhdGU6OkxlYWRpbmdUcmlt
U2lkZTo6U3RhcnQpOwotICAgIGlmIChsYXlvdXRTdGF0ZS0+aGFzTGVhZGluZ1RyaW1FbmQocm9v
dFJlbmRlcmVyKSkKLSAgICAgICAgbGVhZGluZ1RyaW1Gb3JJRkMuYWRkKExheW91dDo6QmxvY2tM
YXlvdXRTdGF0ZTo6TGVhZGluZ1RyaW1TaWRlOjpFbmQpOwotICAgIHJldHVybiBsZWFkaW5nVHJp
bUZvcklGQzsKKyAgICBhdXRvIHRleHRCb3hUcmltRm9ySUZDID0gTGF5b3V0OjpCbG9ja0xheW91
dFN0YXRlOjpUZXh0Qm94VHJpbSB7IH07CisgICAgaWYgKGxheW91dFN0YXRlLT5oYXNUZXh0Qm94
VHJpbVN0YXJ0KCkpCisgICAgICAgIHRleHRCb3hUcmltRm9ySUZDLmFkZChMYXlvdXQ6OkJsb2Nr
TGF5b3V0U3RhdGU6OlRleHRCb3hUcmltU2lkZTo6U3RhcnQpOworICAgIGlmIChsYXlvdXRTdGF0
ZS0+aGFzVGV4dEJveFRyaW1FbmQocm9vdFJlbmRlcmVyKSkKKyAgICAgICAgdGV4dEJveFRyaW1G
b3JJRkMuYWRkKExheW91dDo6QmxvY2tMYXlvdXRTdGF0ZTo6VGV4dEJveFRyaW1TaWRlOjpFbmQp
OworICAgIHJldHVybiB0ZXh0Qm94VHJpbUZvcklGQzsKIH0KIAogc3RkOjpvcHRpb25hbDxMYXlv
dXRSZWN0PiBMaW5lTGF5b3V0OjpsYXlvdXQoKQpAQCAtNTczLDcgKzU3Myw3IEBAIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0UmVjdD4gTGluZUxheW91dDo6bGF5b3V0KCkKICAgICAgICAgYXV0byBjb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBMYXlvdXQ6OkNvbnN0cmFpbnRzRm9ySW5GbG93Q29u
dGVudCB7IG1faW5saW5lQ29udGVudENvbnN0cmFpbnRzLT5ob3Jpem9udGFsKCksIHBhcnRpYWxD
b250ZW50VG9wIH07CiAgICAgICAgIHJldHVybiB7IGNvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVu
dCwgbV9pbmxpbmVDb250ZW50Q29uc3RyYWludHMtPnZpc3VhbExlZnQoKSB9OwogICAgIH0oKTsK
LSAgICBhdXRvIHBhcmVudEJsb2NrTGF5b3V0U3RhdGUgPSBMYXlvdXQ6OkJsb2NrTGF5b3V0U3Rh
dGUgeyBtX2Jsb2NrRm9ybWF0dGluZ1N0YXRlLmZsb2F0aW5nU3RhdGUoKSwgbGluZUNsYW1wKGZs
b3coKSksIGxlYWRpbmdUcmltKGZsb3coKSksIGludHJ1c2l2ZUluaXRpYWxMZXR0ZXJCb3R0b20o
KSB9OworICAgIGF1dG8gcGFyZW50QmxvY2tMYXlvdXRTdGF0ZSA9IExheW91dDo6QmxvY2tMYXlv
dXRTdGF0ZSB7IG1fYmxvY2tGb3JtYXR0aW5nU3RhdGUuZmxvYXRpbmdTdGF0ZSgpLCBsaW5lQ2xh
bXAoZmxvdygpKSwgdGV4dEJveFRyaW0oZmxvdygpKSwgaW50cnVzaXZlSW5pdGlhbExldHRlckJv
dHRvbSgpIH07CiAgICAgYXV0byBpbmxpbmVMYXlvdXRTdGF0ZSA9IExheW91dDo6SW5saW5lTGF5
b3V0U3RhdGUgeyBwYXJlbnRCbG9ja0xheW91dFN0YXRlLCBXVEZNb3ZlKG1fbmVzdGVkTGlzdE1h
cmtlck9mZnNldHMpIH07CiAgICAgYXV0byBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCA9IExheW91
dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQgeyByb290TGF5b3V0Qm94KCksIG1faW5saW5lRm9y
bWF0dGluZ1N0YXRlLCBtX2xpbmVEYW1hZ2UuZ2V0KCkgfTsKICAgICBhdXRvIGxheW91dFJlc3Vs
dCA9IGlubGluZUZvcm1hdHRpbmdDb250ZXh0LmxheW91dEluRmxvd0FuZEZsb2F0Q29udGVudEZv
ckludGVncmF0aW9uKGlubGluZUNvbnRlbnRDb25zdHJhaW50cywgaW5saW5lTGF5b3V0U3RhdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQuY3BwCmluZGV4IDUwMDkxODBkM2IwZC4uNzA4NzhjZmUzZWMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCkBAIC02MTMs
NyArNjEzLDcgQEAgYm9vbCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OnB1c2hMYXlvdXRT
dGF0ZShSZW5kZXJCb3gmIHJlbmRlcmVyLCBjb25zdCBMYXkKICAgICAgICAgICAgICwgcGFnZUhl
aWdodAogICAgICAgICAgICAgLCBwYWdlSGVpZ2h0Q2hhbmdlZAogICAgICAgICAgICAgLCBsYXlv
dXRTdGF0ZSA/IGxheW91dFN0YXRlLT5saW5lQ2xhbXAoKSA6IHN0ZDo6bnVsbG9wdAotICAgICAg
ICAgICAgLCBsYXlvdXRTdGF0ZSA/IGxheW91dFN0YXRlLT5sZWFkaW5nVHJpbSgpIDogUmVuZGVy
TGF5b3V0U3RhdGU6OkxlYWRpbmdUcmltKCkpKTsKKyAgICAgICAgICAgICwgbGF5b3V0U3RhdGUg
PyBsYXlvdXRTdGF0ZS0+dGV4dEJveFRyaW0oKSA6IFJlbmRlckxheW91dFN0YXRlOjpUZXh0Qm94
VHJpbSgpKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDc2
Mjk5YjI5NGJkMS4uNjEyY2U1ZGRiYTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcApAQCAtNjczLDY4ICs2NzMsNjggQEAgc3RhdGljIFJlbmRlckJs
b2NrRmxvdyogbGFzdElubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdChjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmIGUKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotY2xhc3MgTGVhZGluZ1RyaW1tZXIg
eworY2xhc3MgVGV4dEJveFRyaW1tZXIgewogcHVibGljOgotICAgIExlYWRpbmdUcmltbWVyKGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVG
b3JtYXR0aW5nQ29udGV4dFJvb3RGb3JMZWFkaW5nVHJpbUVuZCA9IG51bGxwdHIpCisgICAgVGV4
dEJveFRyaW1tZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5kZXJCbG9j
a0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hUcmltRW5kID0gbnVs
bHB0cikKICAgICAgICAgOiBtX2Zsb3coZmxvdykKICAgICB7Ci0gICAgICAgIHNldExlYWRpbmdU
cmltRm9yU3VidHJlZShpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RGb3JMZWFkaW5nVHJpbUVu
ZCk7CisgICAgICAgIHNldFRleHRCb3hUcmltRm9yU3VidHJlZShpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCk7CiAgICAgfQogCi0gICAgfkxlYWRpbmdUcmltbWVy
KCkKKyAgICB+VGV4dEJveFRyaW1tZXIoKQogICAgIHsKLSAgICAgICAgYWRqdXN0TGVhZGluZ1Ry
aW1BZnRlckxheW91dCgpOworICAgICAgICBhZGp1c3RUZXh0Qm94VHJpbUFmdGVyTGF5b3V0KCk7
CiAgICAgfQogCiBwcml2YXRlOgotICAgIHZvaWQgc2V0TGVhZGluZ1RyaW1Gb3JTdWJ0cmVlKGNv
bnN0IFJlbmRlckJsb2NrRmxvdyogaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9yTGVhZGlu
Z1RyaW1FbmQpOwotICAgIHZvaWQgYWRqdXN0TGVhZGluZ1RyaW1BZnRlckxheW91dCgpOworICAg
IHZvaWQgc2V0VGV4dEJveFRyaW1Gb3JTdWJ0cmVlKGNvbnN0IFJlbmRlckJsb2NrRmxvdyogaW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9yVGV4dEJveFRyaW1FbmQpOworICAgIHZvaWQgYWRq
dXN0VGV4dEJveFRyaW1BZnRlckxheW91dCgpOwogCiAgICAgY29uc3QgUmVuZGVyQmxvY2tGbG93
JiBtX2Zsb3c7CiB9OwogCi12b2lkIExlYWRpbmdUcmltbWVyOjpzZXRMZWFkaW5nVHJpbUZvclN1
YnRyZWUoY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RG
b3JMZWFkaW5nVHJpbUVuZCkKK3ZvaWQgVGV4dEJveFRyaW1tZXI6OnNldFRleHRCb3hUcmltRm9y
U3VidHJlZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9v
dEZvclRleHRCb3hUcmltRW5kKQogewogICAgIGF1dG8qIGxheW91dFN0YXRlID0gbV9mbG93LnZp
ZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKICAgICBpZiAo
IWxheW91dFN0YXRlKQogICAgICAgICByZXR1cm47Ci0gICAgYXV0byBsZWFkaW5nVHJpbSA9IG1f
Zmxvdy5zdHlsZSgpLmxlYWRpbmdUcmltKCk7Ci0gICAgaWYgKGxlYWRpbmdUcmltID09IExlYWRp
bmdUcmltOjpOb3JtYWwpIHsKKyAgICBhdXRvIHRleHRCb3hUcmltID0gbV9mbG93LnN0eWxlKCku
dGV4dEJveFRyaW0oKTsKKyAgICBpZiAodGV4dEJveFRyaW0gPT0gVGV4dEJveFRyaW06Ok5vcm1h
bCkgewogICAgICAgICBpZiAobV9mbG93LmJvcmRlckFuZFBhZGRpbmdTdGFydCgpKSB7CiAgICAg
ICAgICAgICAvLyBGb3IgYmxvY2sgY29udGFpbmVyczogdHJpbSB0aGUgYmxvY2stc3RhcnQgc2lk
ZSBvZiB0aGUgZmlyc3QgZm9ybWF0dGVkIGxpbmUgdG8gdGhlIGNvcnJlc3BvbmRpbmcKICAgICAg
ICAgICAgIC8vIHRleHQtZWRnZSBtZXRyaWMgb2YgaXRzIHJvb3QgaW5saW5lIGJveC4gSWYgdGhl
cmUgaXMgbm8gc3VjaCBsaW5lLCBvciBpZiB0aGVyZSBpcyBpbnRlcnZlbmluZyBub24temVybyBw
YWRkaW5nIG9yIGJvcmRlcnMsCiAgICAgICAgICAgICAvLyB0aGVyZSBpcyBubyBlZmZlY3QuCi0g
ICAgICAgICAgICBsYXlvdXRTdGF0ZS0+cmVzZXRMZWFkaW5nVHJpbSgpOworICAgICAgICAgICAg
bGF5b3V0U3RhdGUtPnJlc2V0VGV4dEJveFRyaW0oKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgbmVzdGVkIGxlYWRpbmcg
dHJpbXMgaWYgYXBwbGljYWJsZS4KLSAgICBsYXlvdXRTdGF0ZS0+cmVzZXRMZWFkaW5nVHJpbSgp
OwotICAgIGF1dG8gYXBwbHlMZWFkaW5nVHJpbVN0YXJ0ID0gbGVhZGluZ1RyaW0gPT0gTGVhZGlu
Z1RyaW06OlN0YXJ0IHx8IGxlYWRpbmdUcmltID09IExlYWRpbmdUcmltOjpCb3RoOwotICAgIGF1
dG8gYXBwbHlMZWFkaW5nVHJpbUVuZCA9IChsZWFkaW5nVHJpbSA9PSBMZWFkaW5nVHJpbTo6RW5k
IHx8IGxlYWRpbmdUcmltID09IExlYWRpbmdUcmltOjpCb3RoKSAmJiBpbmxpbmVGb3JtYXR0aW5n
Q29udGV4dFJvb3RGb3JMZWFkaW5nVHJpbUVuZDsKLSAgICBpZiAoYXBwbHlMZWFkaW5nVHJpbUVu
ZCkgewotICAgICAgICBsYXlvdXRTdGF0ZS0+YWRkTGVhZGluZ1RyaW1FbmQoKmlubGluZUZvcm1h
dHRpbmdDb250ZXh0Um9vdEZvckxlYWRpbmdUcmltRW5kKTsKKyAgICBsYXlvdXRTdGF0ZS0+cmVz
ZXRUZXh0Qm94VHJpbSgpOworICAgIGF1dG8gYXBwbHlUZXh0Qm94VHJpbVN0YXJ0ID0gdGV4dEJv
eFRyaW0gPT0gVGV4dEJveFRyaW06OlN0YXJ0IHx8IHRleHRCb3hUcmltID09IFRleHRCb3hUcmlt
OjpCb3RoOworICAgIGF1dG8gYXBwbHlUZXh0Qm94VHJpbUVuZCA9ICh0ZXh0Qm94VHJpbSA9PSBU
ZXh0Qm94VHJpbTo6RW5kIHx8IHRleHRCb3hUcmltID09IFRleHRCb3hUcmltOjpCb3RoKSAmJiBp
bmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZDsKKyAgICBpZiAoYXBw
bHlUZXh0Qm94VHJpbUVuZCkgeworICAgICAgICBsYXlvdXRTdGF0ZS0+YWRkVGV4dEJveFRyaW1F
bmQoKmlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hUcmltRW5kKTsKICAgICAg
ICAgLy8gRklYTUU6IEluc3RlYWQgd2Ugc2hvdWxkIGp1c3QgZGFtYWdlIHRoZSBsYXN0IGxpbmUu
Ci0gICAgICAgIGlmIChhdXRvKiBmaXJzdEZvcm1hdHRlZExpbmVSb290ID0gZmlyc3RJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dFJvb3QobV9mbG93KTsgZmlyc3RGb3JtYXR0ZWRMaW5lUm9vdCAmJiBm
aXJzdEZvcm1hdHRlZExpbmVSb290ICE9IGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvckxl
YWRpbmdUcmltRW5kKSB7CisgICAgICAgIGlmIChhdXRvKiBmaXJzdEZvcm1hdHRlZExpbmVSb290
ID0gZmlyc3RJbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QobV9mbG93KTsgZmlyc3RGb3JtYXR0
ZWRMaW5lUm9vdCAmJiBmaXJzdEZvcm1hdHRlZExpbmVSb290ICE9IGlubGluZUZvcm1hdHRpbmdD
b250ZXh0Um9vdEZvclRleHRCb3hUcmltRW5kKSB7CiAgICAgICAgICAgICAvLyBXaGVuIHdlIHJ1
biBhICJsYXN0IGxpbmUiIGxheW91dCBvbiB0aGUgbGFzdCBmb3JtYXR0aW5nIGNvbnRleHQsIHdl
IHNob3VsZCBub3QgdHJpbSB0aGUgZmlyc3QgbGluZSBldmVyIChzZWUgRklYTUUpLgotICAgICAg
ICAgICAgYXBwbHlMZWFkaW5nVHJpbVN0YXJ0ID0gZmFsc2U7CisgICAgICAgICAgICBhcHBseVRl
eHRCb3hUcmltU3RhcnQgPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0KLSAgICBpZiAoYXBwbHlM
ZWFkaW5nVHJpbVN0YXJ0KQotICAgICAgICBsYXlvdXRTdGF0ZS0+YWRkTGVhZGluZ1RyaW1TdGFy
dCgpOworICAgIGlmIChhcHBseVRleHRCb3hUcmltU3RhcnQpCisgICAgICAgIGxheW91dFN0YXRl
LT5hZGRUZXh0Qm94VHJpbVN0YXJ0KCk7CiB9CiAKLXZvaWQgTGVhZGluZ1RyaW1tZXI6OmFkanVz
dExlYWRpbmdUcmltQWZ0ZXJMYXlvdXQoKQordm9pZCBUZXh0Qm94VHJpbW1lcjo6YWRqdXN0VGV4
dEJveFRyaW1BZnRlckxheW91dCgpCiB7CiAgICAgYXV0byogbGF5b3V0U3RhdGUgPSBtX2Zsb3cu
dmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpOwogICAgIGlm
ICghbGF5b3V0U3RhdGUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAobV9mbG93LnN0eWxlKCku
bGVhZGluZ1RyaW0oKSAhPSBMZWFkaW5nVHJpbTo6Tm9ybWFsKQotICAgICAgICByZXR1cm4gbGF5
b3V0U3RhdGUtPnJlc2V0TGVhZGluZ1RyaW0oKTsKLSAgICAvLyBUaGlzIGlzIHByb3BhZ2F0ZWQg
bGVhZGluZy10cmltLgotICAgIGlmIChsYXlvdXRTdGF0ZS0+aGFzTGVhZGluZ1RyaW1TdGFydCgp
ICYmIG1fZmxvdy5oYXNMaW5lcygpKSB7CisgICAgaWYgKG1fZmxvdy5zdHlsZSgpLnRleHRCb3hU
cmltKCkgIT0gVGV4dEJveFRyaW06Ok5vcm1hbCkKKyAgICAgICAgcmV0dXJuIGxheW91dFN0YXRl
LT5yZXNldFRleHRCb3hUcmltKCk7CisgICAgLy8gVGhpcyBpcyBwcm9wYWdhdGVkIHRleHQtYm94
LXRyaW0uCisgICAgaWYgKGxheW91dFN0YXRlLT5oYXNUZXh0Qm94VHJpbVN0YXJ0KCkgJiYgbV9m
bG93Lmhhc0xpbmVzKCkpIHsKICAgICAgICAgLy8gT25seSB0aGUgZmlyc3QgZm9ybWF0dGVkIGxp
bmUgaXMgdHJpbW1lZC4KLSAgICAgICAgbGF5b3V0U3RhdGUtPnJlbW92ZUxlYWRpbmdUcmltU3Rh
cnQoKTsKKyAgICAgICAgbGF5b3V0U3RhdGUtPnJlbW92ZVRleHRCb3hUcmltU3RhcnQoKTsKICAg
ICB9CiB9CiAKQEAgLTc1MywyMCArNzUzLDIwIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlv
dXRJbkZsb3dDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlCiAg
ICAgfQogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKLSAgICAgICAgYXV0byBsZWFkaW5n
VHJpbW1lciA9IExlYWRpbmdUcmltbWVyIHsgKnRoaXMsIHRoaXMgfTsKKyAgICAgICAgYXV0byB0
ZXh0Qm94VHJpbW1lciA9IFRleHRCb3hUcmltbWVyIHsgKnRoaXMsIHRoaXMgfTsKICAgICAgICAg
bGF5b3V0SW5saW5lQ2hpbGRyZW4ocmVsYXlvdXRDaGlsZHJlbiwgcmVwYWludExvZ2ljYWxUb3As
IHJlcGFpbnRMb2dpY2FsQm90dG9tKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIHsK
ICAgICAgICAgLy8gV2l0aCBibG9jayBjaGlsZHJlbiwgdGhlcmUncyBubyB3YXkgdG8gdGVsbCB3
aGF0IHRoZSBsYXN0IGZvcm1hdHRlZCBsaW5lIGlzIHVudGlsIGFmdGVyIHdlIGZpbmlzaGVkIGxh
eWluZyBvdXQgdGhlIHN1YnRyZWUuCi0gICAgICAgIGF1dG8gbGVhZGluZ1RyaW1tZXIgPSBMZWFk
aW5nVHJpbW1lciB7ICp0aGlzIH07CisgICAgICAgIGF1dG8gdGV4dEJveFRyaW1tZXIgPSBUZXh0
Qm94VHJpbW1lciB7ICp0aGlzIH07CiAgICAgICAgIGxheW91dEJsb2NrQ2hpbGRyZW4ocmVsYXlv
dXRDaGlsZHJlbiwgbWF4RmxvYXRMb2dpY2FsQm90dG9tKTsKICAgICB9CiAKLSAgICBhdXRvIGhh
bmRsZUxlYWRpbmdUcmltRW5kID0gWyZdIHsKLSAgICAgICAgYXV0byBoYXNMZWFkaW5nVHJpbUVu
ZCA9IHN0eWxlKCkubGVhZGluZ1RyaW0oKSA9PSBMZWFkaW5nVHJpbTo6RW5kIHx8IHN0eWxlKCku
bGVhZGluZ1RyaW0oKSA9PSBMZWFkaW5nVHJpbTo6Qm90aDsKLSAgICAgICAgaWYgKCFoYXNMZWFk
aW5nVHJpbUVuZCkKKyAgICBhdXRvIGhhbmRsZVRleHRCb3hUcmltRW5kID0gWyZdIHsKKyAgICAg
ICAgYXV0byBoYXNUZXh0Qm94VHJpbUVuZCA9IHN0eWxlKCkudGV4dEJveFRyaW0oKSA9PSBUZXh0
Qm94VHJpbTo6RW5kIHx8IHN0eWxlKCkudGV4dEJveFRyaW0oKSA9PSBUZXh0Qm94VHJpbTo6Qm90
aDsKKyAgICAgICAgaWYgKCFoYXNUZXh0Qm94VHJpbUVuZCkKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgLy8gRGlydHkgdGhlIGxhc3QgZm9ybWF0dGVkIGxpbmUgKGluIHRoZSBsYXN0IElG
QykgYW5kIGlzc3VlIHJlbGF5b3V0IHdpdGggZm9yY2luZyB0cmltbWluZyB0aGUgbGFzdCBsaW5l
LgogICAgICAgICBpZiAoYXV0byogcm9vdEZvckxhc3RGb3JtYXR0ZWRMaW5lID0gbGFzdElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Um9vdCgqdGhpcykpIHsKQEAgLTc3NSwxMSArNzc1LDExIEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbkZsb3dDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hp
bGRyZW4sIExheW91dFVuaXQmIHJlCiAgICAgICAgICAgICAgICAgYW5jZXN0b3ItPnNldE5lZWRz
TGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGF1dG8g
bGVhZGluZ1RyaW1tZXIgPSBMZWFkaW5nVHJpbW1lciB7ICp0aGlzLCByb290Rm9yTGFzdEZvcm1h
dHRlZExpbmUgfTsKKyAgICAgICAgICAgIGF1dG8gdGV4dEJveFRyaW1tZXIgPSBUZXh0Qm94VHJp
bW1lciB7ICp0aGlzLCByb290Rm9yTGFzdEZvcm1hdHRlZExpbmUgfTsKICAgICAgICAgICAgIGxh
eW91dEJsb2NrQ2hpbGRyZW4ocmVsYXlvdXRDaGlsZHJlbiwgbWF4RmxvYXRMb2dpY2FsQm90dG9t
KTsKICAgICAgICAgfQogICAgIH07Ci0gICAgaGFuZGxlTGVhZGluZ1RyaW1FbmQoKTsKKyAgICBo
YW5kbGVUZXh0Qm94VHJpbUVuZCgpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0
QmxvY2tDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIG1heEZsb2F0
TG9naWNhbEJvdHRvbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aAppbmRleCBlNjVmZGQ5OGE2MjkuLmExNmU0OTJhNjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTQxLDggKzU0MSw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBt
aW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3Q7CiAgICAg
dm9pZCBhZGp1c3RJbml0aWFsTGV0dGVyUG9zaXRpb24oUmVuZGVyQm94JiBjaGlsZEJveCwgTGF5
b3V0VW5pdCYgbG9naWNhbFRvcE9mZnNldCwgTGF5b3V0VW5pdCYgbWFyZ2luQmVmb3JlT2Zmc2V0
KTsKIAotICAgIHZvaWQgc2V0TGVhZGluZ1RyaW1Gb3JTdWJ0cmVlKGNvbnN0IFJlbmRlckJsb2Nr
RmxvdyogaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290Rm9yTGVhZGluZ1RyaW1FbmQgPSBudWxs
cHRyKTsKLSAgICB2b2lkIGFkanVzdExlYWRpbmdUcmltQWZ0ZXJMYXlvdXQoKTsKKyAgICB2b2lk
IHNldFRleHRCb3hUcmltRm9yU3VidHJlZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZv
cm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hUcmltRW5kID0gbnVsbHB0cik7CisgICAgdm9p
ZCBhZGp1c3RUZXh0Qm94VHJpbUFmdGVyTGF5b3V0KCk7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRP
U0laSU5HKQogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheW91dFN0YXRlLmNwcAppbmRleCA2YmNmNDRmNWI4NGQu
LmFjMmZmNTQzZGExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
b3V0U3RhdGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIFJlbmRlckxheW91dFN0YXRlOjpSZW5kZXJM
YXlvdXRTdGF0ZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgSXNQYWdpbmF0ZWQgaXNQYWdpCiAg
ICAgfQogfQogCi1SZW5kZXJMYXlvdXRTdGF0ZTo6UmVuZGVyTGF5b3V0U3RhdGUoY29uc3QgTG9j
YWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpMYXlvdXRTdGF0ZVN0YWNrJiBsYXlvdXRTdGF0ZVN0
YWNrLCBSZW5kZXJCb3gmIHJlbmRlcmVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91
dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkLCBz
dGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4gbGluZUNsYW1wLCBzdGQ6Om9wdGlvbmFsPExlYWRpbmdU
cmltPiBsZWFkaW5nVHJpbSkKK1JlbmRlckxheW91dFN0YXRlOjpSZW5kZXJMYXlvdXRTdGF0ZShj
b25zdCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OkxheW91dFN0YXRlU3RhY2smIGxheW91
dFN0YXRlU3RhY2ssIFJlbmRlckJveCYgcmVuZGVyZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNl
dCwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCBwYWdlTG9naWNhbEhlaWdodENo
YW5nZWQsIHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiBsaW5lQ2xhbXAsIHN0ZDo6b3B0aW9uYWw8
VGV4dEJveFRyaW0+IHRleHRCb3hUcmltKQogICAgIDogbV9jbGlwcGVkKGZhbHNlKQogICAgICwg
bV9pc1BhZ2luYXRlZChmYWxzZSkKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKGZh
bHNlKQpAQCAtNzMsNyArNzMsNyBAQCBSZW5kZXJMYXlvdXRTdGF0ZTo6UmVuZGVyTGF5b3V0U3Rh
dGUoY29uc3QgTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpMYXlvdXRTdAogI2VuZGlmCiAg
ICAgLCBtX2Jsb2NrU3RhcnRUcmltbWluZyhWZWN0b3I8Ym9vbD4oMCkpCiAgICAgLCBtX2xpbmVD
bGFtcChsaW5lQ2xhbXApCi0gICAgLCBtX2xlYWRpbmdUcmltKGxlYWRpbmdUcmltKQorICAgICwg
bV90ZXh0Qm94VHJpbSh0ZXh0Qm94VHJpbSkKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgICwgbV9y
ZW5kZXJlcigmcmVuZGVyZXIpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheW91dFN0YXRlLmgKaW5kZXggMmMxMWEzN2MzZGUzLi5kYTUwYjU3MTI3YjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXlvdXRTdGF0ZS5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIFJlbmRlckxheW91dFN0YXRlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJMYXlvdXRTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogCiBwdWJsaWM6
Ci0gICAgc3RydWN0IExlYWRpbmdUcmltIHsKKyAgICBzdHJ1Y3QgVGV4dEJveFRyaW0gewogICAg
ICAgICBib29sIHRyaW1GaXJzdEZvcm1hdHRlZExpbmUgeyBmYWxzZSB9OwogICAgICAgICBXZWFr
UHRyPGNvbnN0IFJlbmRlckJsb2NrRmxvdz4gdHJpbUxhc3RGb3JtYXR0ZWRMaW5lT25UYXJnZXQ7
CiAgICAgfTsKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fYmxvY2tTdGFy
dFRyaW1taW5nKFZlY3Rvcjxib29sPigwKSkKICAgICB7CiAgICAgfQotICAgIFJlbmRlckxheW91
dFN0YXRlKGNvbnN0IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6TGF5b3V0U3RhdGVTdGFj
ayYsIFJlbmRlckJveCYsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCwgTGF5b3V0VW5pdCBwYWdl
SGVpZ2h0LCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkLCBzdGQ6Om9wdGlvbmFsPExpbmVDbGFtcD4s
IHN0ZDo6b3B0aW9uYWw8TGVhZGluZ1RyaW0+KTsKKyAgICBSZW5kZXJMYXlvdXRTdGF0ZShjb25z
dCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OkxheW91dFN0YXRlU3RhY2smLCBSZW5kZXJC
b3gmLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFnZUhlaWdodCwgYm9v
bCBwYWdlSGVpZ2h0Q2hhbmdlZCwgc3RkOjpvcHRpb25hbDxMaW5lQ2xhbXA+LCBzdGQ6Om9wdGlv
bmFsPFRleHRCb3hUcmltPik7CiAgICAgZW51bSBjbGFzcyBJc1BhZ2luYXRlZCA6IGJvb2wgeyBO
bywgWWVzIH07CiAgICAgZXhwbGljaXQgUmVuZGVyTGF5b3V0U3RhdGUoUmVuZGVyRWxlbWVudCYs
IElzUGFnaW5hdGVkID0gSXNQYWdpbmF0ZWQ6Ok5vKTsKIApAQCAtMTAyLDE1ICsxMDIsMTUgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0TGluZUNsYW1wKHN0ZDo6b3B0aW9uYWw8TGluZUNsYW1wPiBs
aW5lQ2xhbXApIHsgbV9saW5lQ2xhbXAgPSBsaW5lQ2xhbXA7IH0KICAgICBzdGQ6Om9wdGlvbmFs
PExpbmVDbGFtcD4gbGluZUNsYW1wKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQ2xhbXA7IH0KIAot
ICAgIHN0ZDo6b3B0aW9uYWw8TGVhZGluZ1RyaW0+IGxlYWRpbmdUcmltKCkgeyByZXR1cm4gbV9s
ZWFkaW5nVHJpbTsgfQotICAgIGJvb2wgaGFzTGVhZGluZ1RyaW1TdGFydCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVhZGluZ1RyaW0gJiYgbV9sZWFkaW5nVHJpbS0+dHJpbUZpcnN0Rm9ybWF0dGVkTGlu
ZTsgfQotICAgIGJvb2wgaGFzTGVhZGluZ1RyaW1FbmQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBj
YW5kaWRhdGUpIGNvbnN0IHsgcmV0dXJuIG1fbGVhZGluZ1RyaW0gJiYgbV9sZWFkaW5nVHJpbS0+
dHJpbUxhc3RGb3JtYXR0ZWRMaW5lT25UYXJnZXQuZ2V0KCkgPT0gJmNhbmRpZGF0ZTsgfQorICAg
IHN0ZDo6b3B0aW9uYWw8VGV4dEJveFRyaW0+IHRleHRCb3hUcmltKCkgeyByZXR1cm4gbV90ZXh0
Qm94VHJpbTsgfQorICAgIGJvb2wgaGFzVGV4dEJveFRyaW1TdGFydCgpIGNvbnN0IHsgcmV0dXJu
IG1fdGV4dEJveFRyaW0gJiYgbV90ZXh0Qm94VHJpbS0+dHJpbUZpcnN0Rm9ybWF0dGVkTGluZTsg
fQorICAgIGJvb2wgaGFzVGV4dEJveFRyaW1FbmQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBjYW5k
aWRhdGUpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEJveFRyaW0gJiYgbV90ZXh0Qm94VHJpbS0+dHJp
bUxhc3RGb3JtYXR0ZWRMaW5lT25UYXJnZXQuZ2V0KCkgPT0gJmNhbmRpZGF0ZTsgfQogCi0gICAg
dm9pZCBhZGRMZWFkaW5nVHJpbVN0YXJ0KCk7Ci0gICAgdm9pZCByZW1vdmVMZWFkaW5nVHJpbVN0
YXJ0KCk7CisgICAgdm9pZCBhZGRUZXh0Qm94VHJpbVN0YXJ0KCk7CisgICAgdm9pZCByZW1vdmVU
ZXh0Qm94VHJpbVN0YXJ0KCk7CiAKLSAgICB2b2lkIGFkZExlYWRpbmdUcmltRW5kKGNvbnN0IFJl
bmRlckJsb2NrRmxvdyYgdGFyZ2V0SW5saW5lRm9ybWF0dGluZ0NvbnRleHQpOwotICAgIHZvaWQg
cmVzZXRMZWFkaW5nVHJpbSgpIHsgbV9sZWFkaW5nVHJpbSA9IHsgfTsgfQorICAgIHZvaWQgYWRk
VGV4dEJveFRyaW1FbmQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiB0YXJnZXRJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCk7CisgICAgdm9pZCByZXNldFRleHRCb3hUcmltKCkgeyBtX3RleHRCb3hUcmlt
ID0geyB9OyB9CiAKICAgICB2b2lkIHB1c2hCbG9ja1N0YXJ0VHJpbW1pbmcoYm9vbCBibG9ja1N0
YXJ0VHJpbW1pbmcpIHsgbV9ibG9ja1N0YXJ0VHJpbW1pbmcuYXBwZW5kKGJsb2NrU3RhcnRUcmlt
bWluZyk7IH0KICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGJsb2NrU3RhcnRUcmltbWluZygpIGNv
bnN0IHsgcmV0dXJuIG1fYmxvY2tTdGFydFRyaW1taW5nLmlzRW1wdHkoKSA/IHN0ZDo6bnVsbG9w
dCA6IHN0ZDo6b3B0aW9uYWwobV9ibG9ja1N0YXJ0VHJpbW1pbmcubGFzdCgpKTsgfQpAQCAtMTYy
LDcgKzE2Miw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0U2l6ZSBtX2xpbmVHcmlkT2Zmc2V0Owog
ICAgIExheW91dFNpemUgbV9saW5lR3JpZFBhZ2luYXRpb25PcmlnaW47CiAgICAgc3RkOjpvcHRp
b25hbDxMaW5lQ2xhbXA+IG1fbGluZUNsYW1wOwotICAgIHN0ZDo6b3B0aW9uYWw8TGVhZGluZ1Ry
aW0+IG1fbGVhZGluZ1RyaW07CisgICAgc3RkOjpvcHRpb25hbDxUZXh0Qm94VHJpbT4gbV90ZXh0
Qm94VHJpbTsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIFJlbmRlckVsZW1lbnQqIG1fcmVuZGVy
ZXIgeyBudWxscHRyIH07CiAjZW5kaWYKQEAgLTIxMSwyOCArMjExLDI4IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX3B1c2hlZCB7IGZhbHNlIH07CiB9OwogCi1pbmxpbmUgdm9pZCBSZW5kZXJMYXlv
dXRTdGF0ZTo6YWRkTGVhZGluZ1RyaW1TdGFydCgpCitpbmxpbmUgdm9pZCBSZW5kZXJMYXlvdXRT
dGF0ZTo6YWRkVGV4dEJveFRyaW1TdGFydCgpCiB7Ci0gICAgaWYgKG1fbGVhZGluZ1RyaW0pIHsK
LSAgICAgICAgbV9sZWFkaW5nVHJpbS0+dHJpbUZpcnN0Rm9ybWF0dGVkTGluZSA9IHRydWU7Cisg
ICAgaWYgKG1fdGV4dEJveFRyaW0pIHsKKyAgICAgICAgbV90ZXh0Qm94VHJpbS0+dHJpbUZpcnN0
Rm9ybWF0dGVkTGluZSA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9sZWFk
aW5nVHJpbSA9IHsgdHJ1ZSwgeyB9IH07CisgICAgbV90ZXh0Qm94VHJpbSA9IHsgdHJ1ZSwgeyB9
IH07CiB9CiAKLWlubGluZSB2b2lkIFJlbmRlckxheW91dFN0YXRlOjpyZW1vdmVMZWFkaW5nVHJp
bVN0YXJ0KCkKK2lubGluZSB2b2lkIFJlbmRlckxheW91dFN0YXRlOjpyZW1vdmVUZXh0Qm94VHJp
bVN0YXJ0KCkKIHsKLSAgICBBU1NFUlQobV9sZWFkaW5nVHJpbSAmJiBtX2xlYWRpbmdUcmltLT50
cmltRmlyc3RGb3JtYXR0ZWRMaW5lKTsKLSAgICBtX2xlYWRpbmdUcmltLT50cmltRmlyc3RGb3Jt
YXR0ZWRMaW5lID0gZmFsc2U7CisgICAgQVNTRVJUKG1fdGV4dEJveFRyaW0gJiYgbV90ZXh0Qm94
VHJpbS0+dHJpbUZpcnN0Rm9ybWF0dGVkTGluZSk7CisgICAgbV90ZXh0Qm94VHJpbS0+dHJpbUZp
cnN0Rm9ybWF0dGVkTGluZSA9IGZhbHNlOwogfQogCi1pbmxpbmUgdm9pZCBSZW5kZXJMYXlvdXRT
dGF0ZTo6YWRkTGVhZGluZ1RyaW1FbmQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiB0YXJnZXRJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dCkKK2lubGluZSB2b2lkIFJlbmRlckxheW91dFN0YXRlOjphZGRU
ZXh0Qm94VHJpbUVuZChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIHRhcmdldElubGluZUZvcm1hdHRp
bmdDb250ZXh0KQogewotICAgIGlmIChtX2xlYWRpbmdUcmltKSB7Ci0gICAgICAgIG1fbGVhZGlu
Z1RyaW0tPnRyaW1MYXN0Rm9ybWF0dGVkTGluZU9uVGFyZ2V0ID0gJnRhcmdldElubGluZUZvcm1h
dHRpbmdDb250ZXh0OworICAgIGlmIChtX3RleHRCb3hUcmltKSB7CisgICAgICAgIG1fdGV4dEJv
eFRyaW0tPnRyaW1MYXN0Rm9ybWF0dGVkTGluZU9uVGFyZ2V0ID0gJnRhcmdldElubGluZUZvcm1h
dHRpbmdDb250ZXh0OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG1fbGVhZGluZ1RyaW0g
PSB7IGZhbHNlLCAmdGFyZ2V0SW5saW5lRm9ybWF0dGluZ0NvbnRleHQgfTsKKyAgICBtX3RleHRC
b3hUcmltID0geyBmYWxzZSwgJnRhcmdldElubGluZUZvcm1hdHRpbmdDb250ZXh0IH07CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKaW5kZXggNWRiZjcwNjA5NTc3Li41YzNlN2MzODY3NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC00MjgsNyArNDI4
LDcgQEAgcHVibGljOgogICAgIFRleHRJbmRlbnRUeXBlIHRleHRJbmRlbnRUeXBlKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEluZGVudFR5cGU+KG1fcmFyZUluaGVyaXRlZERhdGEt
PnRleHRJbmRlbnRUeXBlKTsgfQogICAgIFRleHRKdXN0aWZ5IHRleHRKdXN0aWZ5KCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEp1c3RpZnk+KG1fcmFyZUluaGVyaXRlZERhdGEtPnRl
eHRKdXN0aWZ5KTsgfQogCi0gICAgTGVhZGluZ1RyaW0gbGVhZGluZ1RyaW0oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxMZWFkaW5nVHJpbT4obV9ub25Jbmhlcml0ZWREYXRhLT5yYXJlRGF0
YS0+bGVhZGluZ1RyaW0pOyB9CisgICAgVGV4dEJveFRyaW0gdGV4dEJveFRyaW0oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0Qm94VHJpbT4obV9ub25Jbmhlcml0ZWREYXRhLT5yYXJl
RGF0YS0+dGV4dEJveFRyaW0pOyB9CiAgICAgVGV4dEVkZ2UgdGV4dEVkZ2UoKSBjb25zdDsKIAog
ICAgIE9wdGlvblNldDxNYXJnaW5UcmltVHlwZT4gbWFyZ2luVHJpbSgpIGNvbnN0IHsgcmV0dXJu
IG1fbm9uSW5oZXJpdGVkRGF0YS0+cmFyZURhdGEtPm1hcmdpblRyaW07IH0KQEAgLTExMTUsNyAr
MTExNSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRleHRJbmRlbnRUeXBlKFRleHRJbmRlbnRU
eXBlIHYpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCB0ZXh0SW5kZW50VHlwZSwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHYpKTsgfQogICAgIHZvaWQgc2V0VGV4dEp1c3RpZnkoVGV4dEp1
c3RpZnkgdikgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIHRleHRKdXN0aWZ5LCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4odikpOyB9CiAKLSAgICB2b2lkIHNldExlYWRpbmdUcmltKExlYWRp
bmdUcmltIHZhbHVlKSB7IFNFVF9ORVNURURfVkFSKG1fbm9uSW5oZXJpdGVkRGF0YSwgcmFyZURh
dGEsIGxlYWRpbmdUcmltLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmFsdWUpKTsgfQorICAgIHZv
aWQgc2V0VGV4dEJveFRyaW0oVGV4dEJveFRyaW0gdmFsdWUpIHsgU0VUX05FU1RFRF9WQVIobV9u
b25Jbmhlcml0ZWREYXRhLCByYXJlRGF0YSwgdGV4dEJveFRyaW0sIHN0YXRpY19jYXN0PHVuc2ln
bmVkPih2YWx1ZSkpOyB9CiAgICAgdm9pZCBzZXRUZXh0RWRnZShUZXh0RWRnZSk7CiAKICAgICB2
b2lkIHNldE1hcmdpblRyaW0oT3B0aW9uU2V0PE1hcmdpblRyaW1UeXBlPiB2YWx1ZSkgeyBTRVRf
TkVTVEVEX1ZBUihtX25vbkluaGVyaXRlZERhdGEsIHJhcmVEYXRhLCBtYXJnaW5UcmltLCB2YWx1
ZSk7IH0KQEAgLTE3MzksNyArMTczOSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uU2V0
PE1hcmdpblRyaW1UeXBlPiBpbml0aWFsTWFyZ2luVHJpbSgpIHsgcmV0dXJuIHsgfTsgfQogICAg
IHN0YXRpYyBMZW5ndGggaW5pdGlhbFBhZGRpbmcoKSB7IHJldHVybiBMZW5ndGgoTGVuZ3RoVHlw
ZTo6Rml4ZWQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsVGV4dEluZGVudCgpIHsgcmV0
dXJuIExlbmd0aChMZW5ndGhUeXBlOjpGaXhlZCk7IH0KLSAgICBzdGF0aWMgTGVhZGluZ1RyaW0g
aW5pdGlhbExlYWRpbmdUcmltKCkgeyByZXR1cm4gTGVhZGluZ1RyaW06Ok5vcm1hbDsgfQorICAg
IHN0YXRpYyBUZXh0Qm94VHJpbSBpbml0aWFsVGV4dEJveFRyaW0oKSB7IHJldHVybiBUZXh0Qm94
VHJpbTo6Tm9ybWFsOyB9CiAgICAgc3RhdGljIFRleHRFZGdlIGluaXRpYWxUZXh0RWRnZSgpOwog
ICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFplcm9MZW5ndGgoKSB7IHJldHVybiBMZW5ndGgoTGVu
Z3RoVHlwZTo6Rml4ZWQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT25lTGVuZ3RoKCkg
eyByZXR1cm4gTGVuZ3RoKDEsIExlbmd0aFR5cGU6OkZpeGVkKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKaW5k
ZXggYjdlYzRkZTg5ZGU5Li40ZjBmMTY1NGQwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcApAQCAtMTE4Mywx
MyArMTE4MywxMyBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBUZXh0
V3JhcCB3cmFwKQogICAgIHJldHVybiB0czsKIH0KIAotVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChU
ZXh0U3RyZWFtJiB0cywgTGVhZGluZ1RyaW0gbGVhZGluZ1RyaW0pCitUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBUZXh0Qm94VHJpbSB0ZXh0Qm94VHJpbSkKIHsKLSAgICBz
d2l0Y2ggKGxlYWRpbmdUcmltKSB7Ci0gICAgY2FzZSBMZWFkaW5nVHJpbTo6Tm9ybWFsOiB0cyA8
PCAiTm9ybWFsIjsgYnJlYWs7Ci0gICAgY2FzZSBMZWFkaW5nVHJpbTo6U3RhcnQ6IHRzIDw8ICJT
dGFydCI7IGJyZWFrOwotICAgIGNhc2UgTGVhZGluZ1RyaW06OkVuZDogdHMgPDwgIkVuZCI7IGJy
ZWFrOwotICAgIGNhc2UgTGVhZGluZ1RyaW06OkJvdGg6IHRzIDw8ICJCb3RoIjsgYnJlYWs7Cisg
ICAgc3dpdGNoICh0ZXh0Qm94VHJpbSkgeworICAgIGNhc2UgVGV4dEJveFRyaW06Ok5vcm1hbDog
dHMgPDwgIk5vcm1hbCI7IGJyZWFrOworICAgIGNhc2UgVGV4dEJveFRyaW06OlN0YXJ0OiB0cyA8
PCAiU3RhcnQiOyBicmVhazsKKyAgICBjYXNlIFRleHRCb3hUcmltOjpFbmQ6IHRzIDw8ICJFbmQi
OyBicmVhazsKKyAgICBjYXNlIFRleHRCb3hUcmltOjpCb3RoOiB0cyA8PCAiQm90aCI7IGJyZWFr
OwogICAgIH0KICAgICByZXR1cm4gdHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDMzMzc3NGRmZDU4Yy4u
YTI2OWIzZGY0ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNjg2LDcgKzY4Niw3IEBAIGVudW0gY2xhc3Mg
VGV4dFVuZGVybGluZVBvc2l0aW9uIDogdWludDhfdCB7CiAgICAgUmlnaHQKIH07CiAKLWVudW0g
Y2xhc3MgTGVhZGluZ1RyaW0gOiB1aW50OF90IHsKK2VudW0gY2xhc3MgVGV4dEJveFRyaW0gOiB1
aW50OF90IHsKICAgICBOb3JtYWwsCiAgICAgU3RhcnQsCiAgICAgRW5kLApAQCAtMTI2OSw3ICsx
MjY5LDcgQEAgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFRl
eHRTZWN1cml0eSk7CiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFt
JiwgVGV4dFRyYW5zZm9ybSk7CiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0
U3RyZWFtJiwgVGV4dFVuZGVybGluZVBvc2l0aW9uKTsKIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUZXh0V3JhcCk7Ci1XVEY6OlRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgTGVhZGluZ1RyaW0pOworV1RGOjpUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFRleHRCb3hUcmltKTsKIFdURjo6VGV4dFN0cmVh
bSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUZXh0RWRnZVR5cGUpOwogV1RGOjpUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFRleHRab29tKTsKIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBUcmFuc2Zvcm1Cb3gpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDA1ZTMyYmI1YzQxYS4uYjQwMTJiYTViNGE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBjb250YWluSW50
cmluc2ljV2lkdGhUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlh
bENvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUoKSkpCiAgICAgLCBjb250YWluSW50cmluc2ljSGVp
Z2h0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxDb250YWlu
SW50cmluc2ljSGVpZ2h0VHlwZSgpKSkKICAgICAsIGNvbnRhaW5lclR5cGUoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGFpbmVyVHlwZSgpKSkKLSAgICAsIGxl
YWRpbmdUcmltKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbExlYWRp
bmdUcmltKCkpKQorICAgICwgdGV4dEJveFRyaW0oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRl
clN0eWxlOjppbml0aWFsVGV4dEJveFRyaW0oKSkpCiAgICAgLCBvdmVyZmxvd0FuY2hvcihzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxPdmVyZmxvd0FuY2hvcigpKSkK
ICAgICAsIGhhc0NsaXAoZmFsc2UpCiB7CkBAIC0xOTQsNyArMTk0LDcgQEAgaW5saW5lIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlTm9uSW4KICAgICAsIGNvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUoby5jb250YWluSW50
cmluc2ljV2lkdGhUeXBlKQogICAgICwgY29udGFpbkludHJpbnNpY0hlaWdodFR5cGUoby5jb250
YWluSW50cmluc2ljSGVpZ2h0VHlwZSkKICAgICAsIGNvbnRhaW5lclR5cGUoby5jb250YWluZXJU
eXBlKQotICAgICwgbGVhZGluZ1RyaW0oby5sZWFkaW5nVHJpbSkKKyAgICAsIHRleHRCb3hUcmlt
KG8udGV4dEJveFRyaW0pCiAgICAgLCBvdmVyZmxvd0FuY2hvcihvLm92ZXJmbG93QW5jaG9yKQog
ICAgICwgaGFzQ2xpcChvLmhhc0NsaXApCiB7CkBAIC0yODMsNyArMjgzLDcgQEAgYm9vbCBTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEmIG8pIGMKICAgICAgICAgJiYgY29udGFpbkludHJpbnNpY1dpZHRoVHlwZSA9PSBv
LmNvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUKICAgICAgICAgJiYgY29udGFpbkludHJpbnNpY0hl
aWdodFR5cGUgPT0gby5jb250YWluSW50cmluc2ljSGVpZ2h0VHlwZQogICAgICAgICAmJiBjb250
YWluZXJUeXBlID09IG8uY29udGFpbmVyVHlwZQotICAgICAgICAmJiBsZWFkaW5nVHJpbSA9PSBv
LmxlYWRpbmdUcmltCisgICAgICAgICYmIHRleHRCb3hUcmltID09IG8udGV4dEJveFRyaW0KICAg
ICAgICAgJiYgb3ZlcmZsb3dBbmNob3IgPT0gby5vdmVyZmxvd0FuY2hvcgogICAgICAgICAmJiBo
YXNDbGlwID09IG8uaGFzQ2xpcDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IGY4ZjcxMmY3
OGRjOC4uMDkyNmU4NzFmYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTIxMyw3ICsyMTMs
NyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBjb250YWluZXJUeXBlIDogMjsgLy8gQ29udGFp
bmVyVHlwZQogCi0gICAgdW5zaWduZWQgbGVhZGluZ1RyaW0gOiAyOyAvLyBMZWFkaW5nVHJpbQor
ICAgIHVuc2lnbmVkIHRleHRCb3hUcmltIDogMjsgLy8gVGV4dEJveFRyaW0KIAogICAgIHVuc2ln
bmVkIG92ZXJmbG93QW5jaG9yIDogMTsgLy8gU2Nyb2xsIEFuY2hvcmluZy0gT3ZlcmZsb3dBbmNo
b3IKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDhkODMzZGM5ZDkwNS4u
NTIyZDVmZDNiOWI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xNzYs
NyArMTc2LDYgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1c3RpZnktc2VsZgogUEFTUyBq
dXN0aWZ5LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRpbmctdHJpbQogUEFTUyBsZWZ0
CiBQQVNTIGxldHRlci1zcGFjaW5nCiBQQVNTIGxpZ2h0aW5nLWNvbG9yCkBAIC0zMDMsNiArMzAy
LDcgQEAgUEFTUyB0ZXh0LWFsaWduCiBQQVNTIHRleHQtYWxpZ24tbGFzdAogUEFTUyB0ZXh0LWFu
Y2hvcgogUEFTUyB0ZXh0LWF1dG9zcGFjZQorUEFTUyB0ZXh0LWJveC10cmltCiBQQVNTIHRleHQt
Y29tYmluZS11cHJpZ2h0CiBQQVNTIHRleHQtZGVjb3JhdGlvbi1jb2xvcgogUEFTUyB0ZXh0LWRl
Y29yYXRpb24tbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRp
YWwteG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXht
bC1leHBlY3RlZC50eHQKaW5kZXggYzU3Njk3ZmZiNzU1Li4xYWQ0MGRiODNhYTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAt
MTc2LDcgKzE3Niw3IEBAIFBBU1MganVzdGlmeS1pdGVtcwogUEFTUyBqdXN0aWZ5LXNlbGYKIFBB
U1MganVzdGlmeS10cmFja3MKIFBBU1Mga2VybmluZwotUEFTUyBsZWFkaW5nLXRyaW0KK1BBU1Mg
dGV4dC1ib3gtdHJpbQogUEFTUyBsZWZ0CiBQQVNTIGxldHRlci1zcGFjaW5nCiBQQVNTIGxpZ2h0
aW5nLWNvbG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRp
YWwteG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IGIxMGY4NTBlM2NhYy4uYTJhMDlkYjdmYTJmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVj
dGVkLnR4dApAQCAtMTc2LDcgKzE3Niw2IEBAIFBBU1MganVzdGlmeS1pdGVtcwogUEFTUyBqdXN0
aWZ5LXNlbGYKIFBBU1MganVzdGlmeS10cmFja3MKIFBBU1Mga2VybmluZwotUEFTUyBsZWFkaW5n
LXRyaW0KIFBBU1MgbGVmdAogUEFTUyBsZXR0ZXItc3BhY2luZwogUEFTUyBsaWdodGluZy1jb2xv
cgpAQCAtMzAzLDYgKzMwMiw3IEBAIFBBU1MgdGV4dC1hbGlnbgogUEFTUyB0ZXh0LWFsaWduLWxh
c3QKIFBBU1MgdGV4dC1hbmNob3IKIFBBU1MgdGV4dC1hdXRvc3BhY2UKK1BBU1MgdGV4dC1ib3gt
dHJpbQogUEFTUyB0ZXh0LWNvbWJpbmUtdXByaWdodAogUEFTUyB0ZXh0LWRlY29yYXRpb24tY29s
b3IKIFBBU1MgdGV4dC1kZWNvcmF0aW9uLWxpbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lwYWQvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaXBhZC9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9h
bGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggYmUzZjM3YWM4ZjU0Li42NGFk
OWYwNmM0YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwYWQvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14
bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwYWQvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14
bWwtZXhwZWN0ZWQudHh0CkBAIC0xNzYsNyArMTc2LDYgQEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQ
QVNTIGp1c3RpZnktc2VsZgogUEFTUyBqdXN0aWZ5LXRyYWNrcwogUEFTUyBrZXJuaW5nCi1QQVNT
IGxlYWRpbmctdHJpbQogUEFTUyBsZWZ0CiBQQVNTIGxldHRlci1zcGFjaW5nCiBQQVNTIGxpZ2h0
aW5nLWNvbG9yCkBAIC0zMDMsNiArMzAyLDcgQEAgUEFTUyB0ZXh0LWFsaWduCiBQQVNTIHRleHQt
YWxpZ24tbGFzdAogUEFTUyB0ZXh0LWFuY2hvcgogUEFTUyB0ZXh0LWF1dG9zcGFjZQorUEFTUyB0
ZXh0LWJveC10cmltCiBQQVNTIHRleHQtY29tYmluZS11cHJpZ2h0CiBQQVNTIHRleHQtZGVjb3Jh
dGlvbi1jb2xvcgogUEFTUyB0ZXh0LWRlY29yYXRpb24tbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAppbmRleCBmNTg3
ZWZjZjQzMjMuLmFjZmJhNzJhOTYzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9h
bGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2Fk
ZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKQEAgLTE3Niw3ICsxNzYsNiBAQCBQ
QVNTIGp1c3RpZnktaXRlbXMKIFBBU1MganVzdGlmeS1zZWxmCiBQQVNTIGp1c3RpZnktdHJhY2tz
CiBQQVNTIGtlcm5pbmcKLVBBU1MgbGVhZGluZy10cmltCiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVy
LXNwYWNpbmcKIFBBU1MgbGlnaHRpbmctY29sb3IKQEAgLTMwMiw2ICszMDEsNyBAQCBQQVNTIHRl
eHQtYWxpZ24KIFBBU1MgdGV4dC1hbGlnbi1sYXN0CiBQQVNTIHRleHQtYW5jaG9yCiBQQVNTIHRl
eHQtYXV0b3NwYWNlCitQQVNTIHRleHQtYm94LXRyaW0KIFBBU1MgdGV4dC1jb21iaW5lLXVwcmln
aHQKIFBBU1MgdGV4dC1kZWNvcmF0aW9uLWNvbG9yCiBQQVNTIHRleHQtZGVjb3JhdGlvbi1saW5l
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4
dAppbmRleCA3MWFkYzdmOTFlZjkuLjliMThlMjQ3M2M5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
YXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNh
c2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xNzYsNyArMTc2LDcg
QEAgUEFTUyBqdXN0aWZ5LWl0ZW1zCiBQQVNTIGp1c3RpZnktc2VsZgogUEFTUyBqdXN0aWZ5LXRy
YWNrcwogUEFTUyBrZXJuaW5nCi1QQVNTIGxlYWRpbmctdHJpbQorUEFTUyB0ZXh0LWJveC10cmlt
CiBQQVNTIGxlZnQKIFBBU1MgbGV0dGVyLXNwYWNpbmcKIFBBU1MgbGlnaHRpbmctY29sb3IK
</data>

          </attachment>
      

    </bug>

</bugzilla>