<?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>235073</bug_id>
          
          <creation_ts>2022-01-11 09:13:50 -0800</creation_ts>
          <short_desc>[GPU Process] [SVG Resources] Make SVG resources create remote ImageBuffers for their drawing</short_desc>
          <delta_ts>2022-01-11 23:50:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>234165</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</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>1829821</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-11 09:13:50 -0800</bug_when>
    <thetext>This will force the SVG resources (i.e. clippers, masks, patterns and gradients) to apply their drawing in the GPU Process. The filters are tracked by bug 231253. We still need to optimize the usage of these ImageBuffers, like not getting a NativeImage from the remote ImageBuffer in WebProcess and then draw the NativeImage to another remote ImageBuffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829822</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-11 09:15:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/87402419&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829825</commentid>
    <comment_count>2</comment_count>
      <attachid>448852</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-11 09:20:42 -0800</bug_when>
    <thetext>Created attachment 448852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829833</commentid>
    <comment_count>3</comment_count>
      <attachid>448852</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-11 09:47:08 -0800</bug_when>
    <thetext>Comment on attachment 448852
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [GPU Process] Make SVG resources create remote ImageBuffers for their drawing

Is there a way to test that this has the desired result?

&gt; Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:164
&gt; +        if (!std::holds_alternative&lt;Ref&lt;T&gt;&gt;(iterator-&gt;value))
&gt; +            return nullptr;
&gt;          return std::get&lt;Ref&lt;T&gt;&gt;(iterator-&gt;value).ptr();

Would be nice to use get_if instead of calling holds_alternative and then get. Would reduce reference count churn, and code would be less repetitive:

    auto value = std::get_if&lt;Ref&lt;T&gt;&gt;(&amp;iterator-&gt;value);
    return value ? value-&gt;ptr() : nullptr;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830007</commentid>
    <comment_count>4</comment_count>
      <attachid>448906</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-11 21:49:00 -0800</bug_when>
    <thetext>Created attachment 448906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830010</commentid>
    <comment_count>5</comment_count>
      <attachid>448852</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-11 22:12:47 -0800</bug_when>
    <thetext>Comment on attachment 448852
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        [GPU Process] Make SVG resources create remote ImageBuffers for their drawing
&gt; 
&gt; Is there a way to test that this has the desired result?

This change fixed some of the layout tests when running them with &quot;--use-gpu-process&quot;. I un-skipped them from LayoutTests/gpu-process/TestExpectations

&gt;&gt; Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:164
&gt;&gt;          return std::get&lt;Ref&lt;T&gt;&gt;(iterator-&gt;value).ptr();
&gt; 
&gt; Would be nice to use get_if instead of calling holds_alternative and then get. Would reduce reference count churn, and code would be less repetitive:
&gt; 
&gt;     auto value = std::get_if&lt;Ref&lt;T&gt;&gt;(&amp;iterator-&gt;value);
&gt;     return value ? value-&gt;ptr() : nullptr;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830022</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-11 23:50:33 -0800</bug_when>
    <thetext>Committed r287911 (245944@main): &lt;https://commits.webkit.org/245944@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448906.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448852</attachid>
            <date>2022-01-11 09:20:42 -0800</date>
            <delta_ts>2022-01-11 09:47:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235073-20220111092041.patch</filename>
            <type>text/plain</type>
            <size>15316</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3ODQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ4MzUyOWE5NWQxNDg4
ZWE2NWJkMDgwYTFiYzYwMTA1Mjg5N2UxOS4uMDY5MDNhNzQxZjk0NzJiZDVmYjMyZWU2OWQ3YTNh
OGEwOWQxYTdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAxLTExICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
TWFrZSBTVkcgcmVzb3VyY2VzIGNyZWF0ZSByZW1vdGUgSW1hZ2VCdWZmZXJzIGZvciB0aGVpciBk
cmF3aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzUwNzMKKyAgICAgICAgcmRhcjovLzg3NDAyNDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyBhIGhvc3RXaW5kb3cgd2hlbiBjYWxsaW5nIFNW
R1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKCkuCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdUb0NvbnRleHQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2xpcFRvVGV4dE1hc2spOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojpwb3N0QXBwbHlSZXNvdXJjZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2UgY29uc3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
c3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1hZ2VF
bGVtZW50OjppbWFnZUJ1ZmZlckZvckVmZmVjdCBjb25zdCk6CisKIDIwMjItMDEtMTAgIFNhbSBX
ZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29sb3IgNF0gQ1NTIGNv
bG9yKCkgZnVuY3Rpb24gc2hvdWxkIG5vdCBjbGFtcCBjaGFubmVscyB0byB0aGUgMC0xIHJhbmdl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDZiZTcwN2RiNDJiNGM4MjhmYzk0MWQ3N2IxMDg5NzY4YWM3MTM2NGMuLjc5
ODNjZTliNjFkYmZhNDExOGJhYzViZGM5MzJjZmYyMDBjZTg4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMjItMDEtMTEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBNYWtlIFNWRyByZXNvdXJjZXMgY3JlYXRlIHJlbW90
ZSBJbWFnZUJ1ZmZlcnMgZm9yIHRoZWlyIGRyYXdpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTA3MworICAgICAgICByZGFyOi8vODc0MDI0MTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFwLmg6CisgICAgICAgIChXZWJLaXQ6
OlF1YWxpZmllZFJlc291cmNlSGVhcDo6Z2V0IGNvbnN0KToKKyAgICAgICAgRG8gbm90IGFzc2Vy
dCBoZXJlIGlmIHRoZSBlbnRyeSBvZiB0aGUgSGFzaE1hcCBkb2VzIG5vdCBob2xkIGEgdmFyaWFu
dAorICAgICAgICBvZiB0aGUgcmVxdWlyZWQgdHlwZS4gV2UgYWxyZWFkeSByZXR1cm4gbnVsbHB0
ciB3aXRob3V0IGFzc2VydGlvbiBpZiB0aGVyZQorICAgICAgICBpcyBubyBlbnRyeSBmb3IgdGhl
IHJlcXVpcmVkIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllci4gV2Ugc2hvdWxkIGxldAorICAg
ICAgICB0aGUgY2FsbGVyIGRlY2lkZXMgd2hhdCB0byBkbyBpbiB0aGUgY2FzZSBvZiBlcnJvci4K
KwogMjAyMi0wMS0xMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW01hY0NhdGFseXN0XSBBZGQgc3lzY2FsbHMgZnJvbSBpT1Mgc2FuZGJveApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuY3BwCmluZGV4IGQ4YWI5MjcyYTEwMjZiMmEyMWU5YzQyNDdkMzhmMDg5NDViYmI0ZTku
LmRhMGQ1NmNkMjcwOTA0NjQ3OGQwMjI0ZTgyMzA0MjBhMzEyNmFkYTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5jcHAKQEAgLTE1NCw3ICsxNTQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6
YXBwbHlDbGlwcGluZ1RvQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsCiAgICAgQWZm
aW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y2Fs
Y3VsYXRlVHJhbnNmb3JtYXRpb25Ub091dGVybW9zdENvb3JkaW5hdGVTeXN0ZW0ocmVuZGVyZXIp
OwogICAgIGlmICghY2xpcHBlckRhdGEuaXNWYWxpZEZvckdlb21ldHJ5KG9iamVjdEJvdW5kaW5n
Qm94LCBjbGlwcGVkQ29udGVudEJvdW5kcywgYWJzb2x1dGVUcmFuc2Zvcm0pKSB7CiAgICAgICAg
IC8vIEZJWE1FICgxNDk0NjkpOiBUaGlzIGltYWdlIGJ1ZmZlciBzaG91bGQgbm90IGJlIHVuY29u
ZGl0aW9uYWxseSB1bmFjY2VsZXJhdGVkLiBNYWtpbmcgaXQgbWF0Y2ggdGhlIGNvbnRleHQgYnJl
YWtzIG5lc3RlZCBjbGlwcGluZywgdGhvdWdoLgotICAgICAgICBhdXRvIG1hc2tJbWFnZSA9IFNW
R1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNsaXBwZWRDb250ZW50Qm91bmRz
LCBhYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFJlbmRl
cmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIG51bGxwdHIpOworICAgICAgICBhdXRvIG1hc2tJbWFn
ZSA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNsaXBwZWRDb250ZW50
Qm91bmRzLCBhYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCks
IFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIGhvc3RXaW5kb3coKSk7CiAgICAgICAgIGlm
ICghbWFza0ltYWdlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
LmNwcAppbmRleCBkMTU5MjUzZjFmYjhiYjA4NWY0ZTM3ZGMwMzgxOGEwOTY5NWVlZTA0Li40NDc1
YTY5ZjhmMmM5NjZmNjNjMzE4M2YzMmVmMTU0ODVhODRhYzJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5j
cHAKQEAgLTUyLDE1ICs1MiwxNSBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OnJl
bW92ZUNsaWVudEZyb21DYWNoZShSZW5kZXJFbGVtZW50JiBjbGllbnQsIGJvbwogfQogCiAjaWYg
VVNFKENHKQotc3RhdGljIGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRl
eHRHcmFkaWVudChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQqJiBz
YXZlZENvbnRleHQsIFJlZlB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdlQnVmZmVyLCBSZW5kZXJPYmpl
Y3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRG
b3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgR3JhcGhpY3NDb250ZXh0
KiYgc2F2ZWRDb250ZXh0LCBSZWZQdHI8SW1hZ2VCdWZmZXI+JiBpbWFnZUJ1ZmZlciwgUmVuZGVy
RWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgYXV0byogdGV4dFJvb3RCbG9jayA9IFJlbmRlclNW
R1RleHQ6OmxvY2F0ZVJlbmRlclNWR1RleHRBbmNlc3Rvcigqb2JqZWN0KTsKKyAgICBhdXRvKiB0
ZXh0Um9vdEJsb2NrID0gUmVuZGVyU1ZHVGV4dDo6bG9jYXRlUmVuZGVyU1ZHVGV4dEFuY2VzdG9y
KHJlbmRlcmVyKTsKICAgICBBU1NFUlQodGV4dFJvb3RCbG9jayk7CiAKICAgICBBZmZpbmVUcmFu
c2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm0gPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVU
cmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0ZVN5c3RlbSgqdGV4dFJvb3RCbG9jayk7
CiAgICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0ID0gdGV4dFJvb3RCbG9jay0+cmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKTsKIAotICAgIGF1dG8gbWFza0ltYWdlID0gU1ZHUmVuZGVyaW5n
Q29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVwYWludFJlY3QsIGFic29sdXRlVHJhbnNmb3Jt
LCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgY29udGV4dC0+cmVuZGVyaW5nTW9kZSgp
KTsKKyAgICBhdXRvIG1hc2tJbWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdl
QnVmZmVyKHJlcGFpbnRSZWN0LCBhYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNw
YWNlOjpTUkdCKCksIGNvbnRleHQtPnJlbmRlcmluZ01vZGUoKSwgcmVuZGVyZXIuaG9zdFdpbmRv
dygpKTsKICAgICBpZiAoIW1hc2tJbWFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC03
Miw5ICs3Miw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRG
b3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYgY29uCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGNsaXBUb1RleHRNYXNrKEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgUmVmUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIsIEZsb2F0
UmVjdCYgdGFyZ2V0UmVjdCwgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGJvb2wgYm91bmRpbmdCb3hN
b2RlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGdyYWRpZW50VHJhbnNmb3JtKQorc3RhdGljIGlu
bGluZSBBZmZpbmVUcmFuc2Zvcm0gY2xpcFRvVGV4dE1hc2soR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0LCBSZWZQdHI8SW1hZ2VCdWZmZXI+JiBpbWFnZUJ1ZmZlciwgRmxvYXRSZWN0JiB0YXJnZXRS
ZWN0LCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgYm9vbCBib3VuZGluZ0JveE1vZGUsIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgZ3JhZGllbnRUcmFuc2Zvcm0pCiB7Ci0gICAgYXV0byogdGV4dFJv
b3RCbG9jayA9IFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJlbmRlclNWR1RleHRBbmNlc3Rvcigqb2Jq
ZWN0KTsKKyAgICBhdXRvKiB0ZXh0Um9vdEJsb2NrID0gUmVuZGVyU1ZHVGV4dDo6bG9jYXRlUmVu
ZGVyU1ZHVGV4dEFuY2VzdG9yKHJlbmRlcmVyKTsKICAgICBBU1NFUlQodGV4dFJvb3RCbG9jayk7
CiAKICAgICBBZmZpbmVUcmFuc2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm0gPSBTVkdSZW5kZXJpbmdD
b250ZXh0OjpjYWxjdWxhdGVUcmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0ZVN5c3Rl
bSgqdGV4dFJvb3RCbG9jayk7CkBAIC0xNTMsNyArMTUzLDcgQEAgYm9vbCBSZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50OjphcHBseVJlc291cmNlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25z
dCBSZW4KIAogICAgIGlmIChpc1BhaW50aW5nVGV4dCkgewogI2lmIFVTRShDRykKLSAgICAgICAg
aWYgKCFjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoY29udGV4dCwgbV9z
YXZlZENvbnRleHQsIG1faW1hZ2VCdWZmZXIsICZyZW5kZXJlcikpIHsKKyAgICAgICAgaWYgKCFj
cmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoY29udGV4dCwgbV9zYXZlZENv
bnRleHQsIG1faW1hZ2VCdWZmZXIsIHJlbmRlcmVyKSkgewogICAgICAgICAgICAgY29udGV4dC0+
cmVzdG9yZSgpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0xOTYs
NyArMTk2LDcgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojpwb3N0QXBwbHlSZXNv
dXJjZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgR3JhcGgKICAgICAgICAgICAgICAgICBjb250
ZXh0ID0gc3RkOjpleGNoYW5nZShtX3NhdmVkQ29udGV4dCwgbnVsbHB0cik7CiAKICAgICAgICAg
ICAgICAgICBGbG9hdFJlY3QgdGFyZ2V0UmVjdDsKLSAgICAgICAgICAgICAgICBBZmZpbmVUcmFu
c2Zvcm0gdXNlcnNwYWNlVHJhbnNmb3JtID0gY2xpcFRvVGV4dE1hc2soKmNvbnRleHQsIG1faW1h
Z2VCdWZmZXIsIHRhcmdldFJlY3QsICZyZW5kZXJlciwgZ3JhZGllbnRVbml0cygpID09IFNWR1Vu
aXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCwgZ3JhZGllbnRUcmFuc2Zv
cm0oKSk7CisgICAgICAgICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHVzZXJzcGFjZVRyYW5zZm9y
bSA9IGNsaXBUb1RleHRNYXNrKCpjb250ZXh0LCBtX2ltYWdlQnVmZmVyLCB0YXJnZXRSZWN0LCBy
ZW5kZXJlciwgZ3JhZGllbnRVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9P
QkpFQ1RCT1VORElOR0JPWCwgZ3JhZGllbnRUcmFuc2Zvcm0oKSk7CiAKICAgICAgICAgICAgICAg
ICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQoZ3JhZGllbnQsIHVzZXJzcGFjZVRyYW5zZm9ybSk7
CiAgICAgICAgICAgICAgICAgY29udGV4dC0+ZmlsbFJlY3QodGFyZ2V0UmVjdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXIuY3BwCmluZGV4IDg4MTY1ZmE3YzhkZGZjNThkMGE0OTBiYzk3NGFhODYwMzg4YzE5NzcuLjc2
NGY3Yzg4OGYzMmJmMTk1OGFlYmUyYjdlNjFhNTE5OTljMjk4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3Bw
CkBAIC04NCw3ICs4NCw3IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVz
b3VyY2UoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlCiAjZW5kaWYKIAogICAg
ICAgICAvLyBGSVhNRSAoMTQ5NDcwKTogVGhpcyBpbWFnZSBidWZmZXIgc2hvdWxkIG5vdCBiZSB1
bmNvbmRpdGlvbmFsbHkgdW5hY2NlbGVyYXRlZC4gTWFraW5nIGl0IG1hdGNoIHRoZSBjb250ZXh0
IGJyZWFrcyBhbHBoYSBtYXNraW5nLCB0aG91Z2guCi0gICAgICAgIG1hc2tlckRhdGEtPm1hc2tJ
bWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKHJlcGFpbnRSZWN0
LCBhYnNvbHV0ZVRyYW5zZm9ybSwgbWFza0NvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGU6OlVuYWNj
ZWxlcmF0ZWQsIG51bGxwdHIpOworICAgICAgICBtYXNrZXJEYXRhLT5tYXNrSW1hZ2UgPSBTVkdS
ZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihyZXBhaW50UmVjdCwgYWJzb2x1dGVU
cmFuc2Zvcm0sIG1hc2tDb2xvclNwYWNlLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBo
b3N0V2luZG93KCkpOwogICAgICAgICBpZiAoIW1hc2tlckRhdGEtPm1hc2tJbWFnZSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCmluZGV4IGI1NjJiZWVlNGNi
OTg5ZTIxMWY0MjczYWFkNjY4YTJlZTM2YmE5MWEuLmIxMjY4YjgzNTcwNTVhMGFjMDY4MzRkMTE5
Y2E3YTYyNmE0ZmY2OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKQEAgLTI0MSw3ICsyNDEsNyBAQCBi
b29sIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6YnVpbGRUaWxlSW1hZ2VUcmFuc2Zvcm0oUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIsCiBSZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbmRlclNWR1Jlc291
cmNlUGF0dGVybjo6Y3JlYXRlVGlsZUltYWdlKGNvbnN0IFBhdHRlcm5BdHRyaWJ1dGVzJiBhdHRy
aWJ1dGVzLCBjb25zdCBGbG9hdFJlY3QmIHRpbGVCb3VuZGFyaWVzLCBjb25zdCBGbG9hdFJlY3Qm
IGFic29sdXRlVGlsZUJvdW5kYXJpZXMsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdGlsZUltYWdl
VHJhbnNmb3JtLCBGbG9hdFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRpbGVCb3VuZGFyaWVzLCBSZW5k
ZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUpIGNvbnN0CiB7CiAgICAgY2xhbXBlZEFic29sdXRlVGls
ZUJvdW5kYXJpZXMgPSBJbWFnZUJ1ZmZlcjo6Y2xhbXBlZFJlY3QoYWJzb2x1dGVUaWxlQm91bmRh
cmllcyk7Ci0gICAgYXV0byB0aWxlSW1hZ2UgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJ
bWFnZUJ1ZmZlcihhYnNvbHV0ZVRpbGVCb3VuZGFyaWVzLCBjbGFtcGVkQWJzb2x1dGVUaWxlQm91
bmRhcmllcywgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIHJlbmRlcmluZ01vZGUpOwor
ICAgIGF1dG8gdGlsZUltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZm
ZXIoYWJzb2x1dGVUaWxlQm91bmRhcmllcywgY2xhbXBlZEFic29sdXRlVGlsZUJvdW5kYXJpZXMs
IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCByZW5kZXJpbmdNb2RlLCBob3N0V2luZG93
KCkpOwogICAgIGlmICghdGlsZUltYWdlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5j
cHAKaW5kZXggZTVlMjBjYTAwY2Q3NzIyNjE2MDc4YzhhNjE5OTEyMTI2NTAxZjFhNi4uZjA4ZTg3
MmQyODY2YWU1MzQyNDg2ZTNjOWY5OThlZGM5NDQ5ODRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC02LDYgKzYs
NyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3Jn
PgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDA5LTIwMTAu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTggQWRvYmUgU3lzdGVt
cyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yNTEsNyArMjUyLDcgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBTVkdSZW5kZXJpbmdDb250ZXh0
OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIHRhcmcKICAgICByZXR1cm4gaW1h
Z2VCdWZmZXI7CiB9CiAKLVJlZlB0cjxJbWFnZUJ1ZmZlcj4gU1ZHUmVuZGVyaW5nQ29udGV4dDo6
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIGNsYW1wZWRSZWN0LCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3Bh
Y2UsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSkKK1JlZlB0cjxJbWFnZUJ1ZmZlcj4gU1ZH
UmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJn
ZXRSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGNsYW1wZWRSZWN0LCBjb25zdCBEZXN0aW5hdGlvbkNv
bG9yU3BhY2UmIGNvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgY29uc3Qg
SG9zdFdpbmRvdyogaG9zdFdpbmRvdykKIHsKICAgICBJbnRTaXplIGNsYW1wZWRTaXplID0gcm91
bmRlZEludFNpemUoY2xhbXBlZFJlY3Quc2l6ZSgpKTsKICAgICBGbG9hdFNpemUgdW5jbGFtcGVk
U2l6ZSA9IHJvdW5kZWRJbnRTaXplKHRhcmdldFJlY3Quc2l6ZSgpKTsKQEAgLTI2MCw3ICsyNjEs
NyBAQCBSZWZQdHI8SW1hZ2VCdWZmZXI+IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdl
QnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgdGFyZwogICAgIGlmIChjbGFtcGVkU2l6ZS5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBpbWFnZUJ1ZmZlciA9IElt
YWdlQnVmZmVyOjpjcmVhdGUoY2xhbXBlZFNpemUsIHJlbmRlcmluZ01vZGUsIDEsIGNvbG9yU3Bh
Y2UsIFBpeGVsRm9ybWF0OjpCR1JBOCk7CisgICAgYXV0byBpbWFnZUJ1ZmZlciA9IEltYWdlQnVm
ZmVyOjpjcmVhdGUoY2xhbXBlZFNpemUsIHJlbmRlcmluZ01vZGUsIFNob3VsZFVzZURpc3BsYXlM
aXN0OjpObywgUmVuZGVyaW5nUHVycG9zZTo6RE9NLCAxLCBjb2xvclNwYWNlLCBQaXhlbEZvcm1h
dDo6QkdSQTgsIGhvc3RXaW5kb3cpOwogICAgIGlmICghaW1hZ2VCdWZmZXIpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDQ4YzZmM2I0NzI5ODI0NjRlMmVmM2M5NWU4M2I2MGU1
NmUwMmY4YjQuLjA0NDc5OTNiOTg3ZTJmNTI0NzMzNDEwNTQ2ZjBhMGU1ZjQzNmQ0MmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5o
CkBAIC0xLDEwICsxLDExIEBACi0vKioKKy8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRl
bCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAx
MiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Via2l0Lm9yZz4uCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0zNSw3ICszNiw2IEBAIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJPYmpl
Y3Q7CiBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjsKIAotLy8gU1ZHUmVuZGVyaW5nQ29u
dGV4dCAKIGNsYXNzIFNWR1JlbmRlcmluZ0NvbnRleHQgewogcHVibGljOgogICAgIGVudW0gTmVl
ZHNHcmFwaGljc0NvbnRleHRTYXZlIHsKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNSZW5kZXJpbmdQcmVwYXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyaW5nRmxhZ3Mg
JiBSZW5kZXJpbmdQcmVwYXJlZDsgfQogCiAgICAgc3RhdGljIFJlZlB0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3Bh
Y2UmLCBSZW5kZXJpbmdNb2RlLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOwotICAgIHN0
YXRpYyBSZWZQdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVj
dCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkUmVjdCwgY29uc3QgRGVzdGlu
YXRpb25Db2xvclNwYWNlJiwgUmVuZGVyaW5nTW9kZSk7CisgICAgc3RhdGljIFJlZlB0cjxJbWFn
ZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGNsYW1wZWRSZWN0LCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2Um
LCBSZW5kZXJpbmdNb2RlLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOwogCiAgICAgc3Rh
dGljIHZvaWQgcmVuZGVyU3VidHJlZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQmLCBSZW5kZXJF
bGVtZW50JiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIHZvaWQgY2xpcFRv
SW1hZ2VCdWZmZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNv
bHV0ZVRyYW5zZm9ybSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBSZWZQdHI8SW1hZ2VC
dWZmZXI+JiwgYm9vbCBzYWZlVG9DbGVhcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VF
bGVtZW50LmNwcAppbmRleCBlNjM1ZDEyNjMxODQwNzU2NDUwY2YyNDE1NmQxM2IzMjI4YzUxZTc5
Li40MGExNWY1YmY5MzhlYzNlOTBmOGQwZjEzYzhjODJhZjIwZjE2ZWNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGQ6OnR1
cGxlPFJlZlB0cjxJbWFnZUJ1ZmZlcj4sIEZsb2F0UmVjdD4gU1ZHRkVJbWFnZUVsZW1lbnQ6Omlt
YWdlQnVmZmVyRm9yRWZmZQogCiAgICAgYXV0byBpbWFnZVJlY3QgPSByZW5kZXJlci0+cmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKIAotICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSBTVkdS
ZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihpbWFnZVJlY3QsIHNoZWFyRnJlZUFi
c29sdXRlVHJhbnNmb3JtLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUmVuZGVyaW5n
TW9kZTo6VW5hY2NlbGVyYXRlZCk7CisgICAgYXV0byBpbWFnZUJ1ZmZlciA9IFNWR1JlbmRlcmlu
Z0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGltYWdlUmVjdCwgc2hlYXJGcmVlQWJzb2x1dGVU
cmFuc2Zvcm0sIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBSZW5kZXJpbmdNb2RlOjpV
bmFjY2VsZXJhdGVkLCByZW5kZXJlci0+aG9zdFdpbmRvdygpKTsKICAgICBpZiAoIWltYWdlQnVm
ZmVyKQogICAgICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFwLmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFwLmgKaW5kZXggZTczZDIy
YTAyMjQ5Zjc3ZmNmZDlkOTgwOWI2ZjNkYjYwOTQ0ODMyOC4uNDhhYmI4Yzc2NDJjNjRhYjI5YWFj
Yzg4Y2YyZGRjMDI4MjU4ZGYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNlSGVhcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9RdWFsaWZpZWRSZXNvdXJjZUhlYXAuaApAQCAtMTU5LDcgKzE1OSw4
IEBAIHByaXZhdGU6CiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX3Jlc291cmNlcy5maW5kKHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgICAgIGlmIChpdGVyYXRvciA9PSBtX3Jl
c291cmNlcy5lbmQoKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICBBU1NF
UlQoc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8VD4+KGl0ZXJhdG9yLT52YWx1ZSkpOworICAg
ICAgICBpZiAoIXN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPFQ+PihpdGVyYXRvci0+dmFsdWUp
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiBzdGQ6OmdldDxS
ZWY8VD4+KGl0ZXJhdG9yLT52YWx1ZSkucHRyKCk7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="474815"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448906</attachid>
            <date>2022-01-11 21:49:00 -0800</date>
            <delta_ts>2022-01-11 23:50:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235073-20220111214859.patch</filename>
            <type>text/plain</type>
            <size>22077</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc0ZjUwYjUxMTcyZjJj
Yzk3MDdlYmZhMDFmNzdiM2E5ZWYxYTFkMC4uMWQzZTE3MDFmZDZmNmJkZDRiMWJjZDcxODE0ZjIw
NGUzMWI3YTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAxLTExICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
TWFrZSBTVkcgcmVzb3VyY2VzIGNyZWF0ZSByZW1vdGUgSW1hZ2VCdWZmZXJzIGZvciB0aGVpciBk
cmF3aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzUwNzMKKyAgICAgICAgcmRhcjovLzg3NDAyNDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgUGFzcyBhIGhvc3RXaW5kb3cgd2hlbiBjYWxsaW5nIFNWR1Jl
bmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKCkuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdUb0NvbnRleHQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Y2xpcFRvVGV4dE1hc2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojpwb3N0QXBwbHlSZXNvdXJjZSk6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2UgY29uc3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcik6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICogc3Zn
L1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1hZ2VFbGVt
ZW50OjppbWFnZUJ1ZmZlckZvckVmZmVjdCBjb25zdCk6CisKIDIwMjItMDEtMTEgIFBlbmcgTGl1
ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBEYXRhVVJMUmVzb3VyY2VNZWRpYUxv
YWRlciBkZWNvZGVzIHRoZSBVUkwgcmVwZWF0ZWRseSBkdXJpbmcgYSB2aWRlbyBwbGF5YmFjawpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBlYTA5NDQ5MDg2MGQwMTE4ZDQ1MGExODQ2OWJmMjViZWRmMDFmNjBlLi4xNGJj
NGM4YmU0ZDUzNTZkYTczYWVkOTEwNmNkMWM5ODNjNmU5YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDIyLTAxLTExICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgor
CisgICAgICAgIFtHUFUgUHJvY2Vzc10gTWFrZSBTVkcgcmVzb3VyY2VzIGNyZWF0ZSByZW1vdGUg
SW1hZ2VCdWZmZXJzIGZvciB0aGVpciBkcmF3aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwNzMKKyAgICAgICAgcmRhcjovLzg3NDAyNDE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNlSGVhcC5oOgorICAgICAgICAoV2ViS2l0OjpRdWFs
aWZpZWRSZXNvdXJjZUhlYXA6OmdldCBjb25zdCk6CisgICAgICAgIERvIG5vdCBhc3NlcnQgaGVy
ZSBpZiB0aGUgZW50cnkgb2YgdGhlIEhhc2hNYXAgZG9lcyBub3QgaG9sZCBhIHZhcmlhbnQKKyAg
ICAgICAgb2YgdGhlIHJlcXVpcmVkIHR5cGUuIFdlIGFscmVhZHkgcmV0dXJuIG51bGxwdHIgd2l0
aG91dCBhc3NlcnRpb24gaWYgdGhlcmUKKyAgICAgICAgaXMgbm8gZW50cnkgZm9yIHRoZSByZXF1
aXJlZCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuIFdlIHNob3VsZCBsZXQKKyAgICAgICAg
dGhlIGNhbGxlciBkZWNpZGVzIHdoYXQgdG8gZG8gaW4gdGhlIGNhc2Ugb2YgZXJyb3IuCisKIDIw
MjItMDEtMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZW1vdmUgcmVmZXJlbmNlcyB0byBtb3ZlZC9kZWxldGVkIGZpbGVzIGluIFdlYktp
dC54Y29kZXByb2oKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAppbmRleCBkOGFiOTI3MmExMDI2YjJhMjFlOWM0
MjQ3ZDM4ZjA4OTQ1YmJiNGU5Li5kYTBkNTZjZDI3MDkwNDY0NzhkMDIyNGU4MjMwNDIwYTMxMjZh
ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgYm9vbCBSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LAogICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybSA9IFNWR1Jl
bmRlcmluZ0NvbnRleHQ6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RDb29yZGlu
YXRlU3lzdGVtKHJlbmRlcmVyKTsKICAgICBpZiAoIWNsaXBwZXJEYXRhLmlzVmFsaWRGb3JHZW9t
ZXRyeShvYmplY3RCb3VuZGluZ0JveCwgY2xpcHBlZENvbnRlbnRCb3VuZHMsIGFic29sdXRlVHJh
bnNmb3JtKSkgewogICAgICAgICAvLyBGSVhNRSAoMTQ5NDY5KTogVGhpcyBpbWFnZSBidWZmZXIg
c2hvdWxkIG5vdCBiZSB1bmNvbmRpdGlvbmFsbHkgdW5hY2NlbGVyYXRlZC4gTWFraW5nIGl0IG1h
dGNoIHRoZSBjb250ZXh0IGJyZWFrcyBuZXN0ZWQgY2xpcHBpbmcsIHRob3VnaC4KLSAgICAgICAg
YXV0byBtYXNrSW1hZ2UgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihj
bGlwcGVkQ29udGVudEJvdW5kcywgYWJzb2x1dGVUcmFuc2Zvcm0sIERlc3RpbmF0aW9uQ29sb3JT
cGFjZTo6U1JHQigpLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBudWxscHRyKTsKKyAg
ICAgICAgYXV0byBtYXNrSW1hZ2UgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1
ZmZlcihjbGlwcGVkQ29udGVudEJvdW5kcywgYWJzb2x1dGVUcmFuc2Zvcm0sIERlc3RpbmF0aW9u
Q29sb3JTcGFjZTo6U1JHQigpLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBob3N0V2lu
ZG93KCkpOwogICAgICAgICBpZiAoIW1hc2tJbWFnZSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAKaW5kZXggZDE1OTI1M2YxZmI4YmIwODVmNGUzN2RjMDM4
MThhMDk2OTVlZWUwNC4uNDQ3NWE2OWY4ZjJjOTY2ZjYzYzMxODNmMzJlZjE1NDg1YTg0YWMyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlR3JhZGllbnQuY3BwCkBAIC01MiwxNSArNTIsMTUgQEAgdm9pZCBSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50OjpyZW1vdmVDbGllbnRGcm9tQ2FjaGUoUmVuZGVyRWxlbWVudCYgY2xp
ZW50LCBib28KIH0KIAogI2lmIFVTRShDRykKLXN0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNr
QW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwg
R3JhcGhpY3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LCBSZWZQdHI8SW1hZ2VCdWZmZXI+JiBpbWFn
ZUJ1ZmZlciwgUmVuZGVyT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgY3JlYXRl
TWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KEdyYXBoaWNzQ29udGV4dComIGNvbnRl
eHQsIEdyYXBoaWNzQ29udGV4dComIHNhdmVkQ29udGV4dCwgUmVmUHRyPEltYWdlQnVmZmVyPiYg
aW1hZ2VCdWZmZXIsIFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogewotICAgIGF1dG8qIHRleHRS
b290QmxvY2sgPSBSZW5kZXJTVkdUZXh0Ojpsb2NhdGVSZW5kZXJTVkdUZXh0QW5jZXN0b3IoKm9i
amVjdCk7CisgICAgYXV0byogdGV4dFJvb3RCbG9jayA9IFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJl
bmRlclNWR1RleHRBbmNlc3RvcihyZW5kZXJlcik7CiAgICAgQVNTRVJUKHRleHRSb290QmxvY2sp
OwogCiAgICAgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtID0gU1ZHUmVuZGVyaW5n
Q29udGV4dDo6Y2FsY3VsYXRlVHJhbnNmb3JtYXRpb25Ub091dGVybW9zdENvb3JkaW5hdGVTeXN0
ZW0oKnRleHRSb290QmxvY2spOwogICAgIEZsb2F0UmVjdCByZXBhaW50UmVjdCA9IHRleHRSb290
QmxvY2stPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7CiAKLSAgICBhdXRvIG1hc2tJ
bWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKHJlcGFpbnRSZWN0
LCBhYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIGNvbnRl
eHQtPnJlbmRlcmluZ01vZGUoKSk7CisgICAgYXV0byBtYXNrSW1hZ2UgPSBTVkdSZW5kZXJpbmdD
b250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihyZXBhaW50UmVjdCwgYWJzb2x1dGVUcmFuc2Zvcm0s
IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBjb250ZXh0LT5yZW5kZXJpbmdNb2RlKCks
IHJlbmRlcmVyLmhvc3RXaW5kb3coKSk7CiAgICAgaWYgKCFtYXNrSW1hZ2UpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApAQCAtNzIsOSArNzIsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3JlYXRl
TWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KEdyYXBoaWNzQ29udGV4dComIGNvbgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIEFmZmluZVRyYW5zZm9ybSBjbGlw
VG9UZXh0TWFzayhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIFJlZlB0cjxJbWFnZUJ1ZmZlcj4m
IGltYWdlQnVmZmVyLCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIFJlbmRlck9iamVjdCogb2JqZWN0
LCBib29sIGJvdW5kaW5nQm94TW9kZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBncmFkaWVudFRy
YW5zZm9ybSkKK3N0YXRpYyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGNsaXBUb1RleHRNYXNrKEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgUmVmUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIs
IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGJvb2wgYm91
bmRpbmdCb3hNb2RlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGdyYWRpZW50VHJhbnNmb3JtKQog
ewotICAgIGF1dG8qIHRleHRSb290QmxvY2sgPSBSZW5kZXJTVkdUZXh0Ojpsb2NhdGVSZW5kZXJT
VkdUZXh0QW5jZXN0b3IoKm9iamVjdCk7CisgICAgYXV0byogdGV4dFJvb3RCbG9jayA9IFJlbmRl
clNWR1RleHQ6OmxvY2F0ZVJlbmRlclNWR1RleHRBbmNlc3RvcihyZW5kZXJlcik7CiAgICAgQVNT
RVJUKHRleHRSb290QmxvY2spOwogCiAgICAgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNm
b3JtID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y2FsY3VsYXRlVHJhbnNmb3JtYXRpb25Ub091dGVy
bW9zdENvb3JkaW5hdGVTeXN0ZW0oKnRleHRSb290QmxvY2spOwpAQCAtMTUzLDcgKzE1Myw3IEBA
IGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZShSZW5kZXJFbGVt
ZW50JiByZW5kZXJlciwgY29uc3QgUmVuCiAKICAgICBpZiAoaXNQYWludGluZ1RleHQpIHsKICNp
ZiBVU0UoQ0cpCi0gICAgICAgIGlmICghY3JlYXRlTWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdy
YWRpZW50KGNvbnRleHQsIG1fc2F2ZWRDb250ZXh0LCBtX2ltYWdlQnVmZmVyLCAmcmVuZGVyZXIp
KSB7CisgICAgICAgIGlmICghY3JlYXRlTWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50
KGNvbnRleHQsIG1fc2F2ZWRDb250ZXh0LCBtX2ltYWdlQnVmZmVyLCByZW5kZXJlcikpIHsKICAg
ICAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgfQpAQCAtMTk2LDcgKzE5Niw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudDo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIEdyYXBoCiAg
ICAgICAgICAgICAgICAgY29udGV4dCA9IHN0ZDo6ZXhjaGFuZ2UobV9zYXZlZENvbnRleHQsIG51
bGxwdHIpOwogCiAgICAgICAgICAgICAgICAgRmxvYXRSZWN0IHRhcmdldFJlY3Q7Ci0gICAgICAg
ICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHVzZXJzcGFjZVRyYW5zZm9ybSA9IGNsaXBUb1RleHRN
YXNrKCpjb250ZXh0LCBtX2ltYWdlQnVmZmVyLCB0YXJnZXRSZWN0LCAmcmVuZGVyZXIsIGdyYWRp
ZW50VW5pdHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdC
T1gsIGdyYWRpZW50VHJhbnNmb3JtKCkpOworICAgICAgICAgICAgICAgIEFmZmluZVRyYW5zZm9y
bSB1c2Vyc3BhY2VUcmFuc2Zvcm0gPSBjbGlwVG9UZXh0TWFzaygqY29udGV4dCwgbV9pbWFnZUJ1
ZmZlciwgdGFyZ2V0UmVjdCwgcmVuZGVyZXIsIGdyYWRpZW50VW5pdHMoKSA9PSBTVkdVbml0VHlw
ZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gsIGdyYWRpZW50VHJhbnNmb3JtKCkp
OwogCiAgICAgICAgICAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KGdyYWRpZW50LCB1
c2Vyc3BhY2VUcmFuc2Zvcm0pOwogICAgICAgICAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRh
cmdldFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAppbmRleCA4ODE2NWZhN2M4ZGRmYzU4ZDBhNDkwYmM5
NzRhYTg2MDM4OGMxOTc3Li43NjRmN2M4ODhmMzJiZjE5NThhZWJlMmI3ZTYxYTUxOTk5YzI5ODUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlTWFza2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlTWFza2VyLmNwcApAQCAtODQsNyArODQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyOjphcHBseVJlc291cmNlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBS
ZW5kZQogI2VuZGlmCiAKICAgICAgICAgLy8gRklYTUUgKDE0OTQ3MCk6IFRoaXMgaW1hZ2UgYnVm
ZmVyIHNob3VsZCBub3QgYmUgdW5jb25kaXRpb25hbGx5IHVuYWNjZWxlcmF0ZWQuIE1ha2luZyBp
dCBtYXRjaCB0aGUgY29udGV4dCBicmVha3MgYWxwaGEgbWFza2luZywgdGhvdWdoLgotICAgICAg
ICBtYXNrZXJEYXRhLT5tYXNrSW1hZ2UgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFn
ZUJ1ZmZlcihyZXBhaW50UmVjdCwgYWJzb2x1dGVUcmFuc2Zvcm0sIG1hc2tDb2xvclNwYWNlLCBS
ZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBudWxscHRyKTsKKyAgICAgICAgbWFza2VyRGF0
YS0+bWFza0ltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVw
YWludFJlY3QsIGFic29sdXRlVHJhbnNmb3JtLCBtYXNrQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9k
ZTo6VW5hY2NlbGVyYXRlZCwgaG9zdFdpbmRvdygpKTsKICAgICAgICAgaWYgKCFtYXNrZXJEYXRh
LT5tYXNrSW1hZ2UpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNw
cAppbmRleCBiNTYyYmVlZTRjYjk4OWUyMTFmNDI3M2FhZDY2OGEyZWUzNmJhOTFhLi5iMTI2OGI4
MzU3MDU1YTBhYzA2ODM0ZDExOWNhN2E2MjZhNGZmNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCkBA
IC0yNDEsNyArMjQxLDcgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmJ1aWxkVGls
ZUltYWdlVHJhbnNmb3JtKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLAogUmVmUHRyPEltYWdlQnVm
ZmVyPiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNyZWF0ZVRpbGVJbWFnZShjb25zdCBQYXR0
ZXJuQXR0cmlidXRlcyYgYXR0cmlidXRlcywgY29uc3QgRmxvYXRSZWN0JiB0aWxlQm91bmRhcmll
cywgY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRpbGVCb3VuZGFyaWVzLCBjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIHRpbGVJbWFnZVRyYW5zZm9ybSwgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVU
aWxlQm91bmRhcmllcywgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKSBjb25zdAogewogICAg
IGNsYW1wZWRBYnNvbHV0ZVRpbGVCb3VuZGFyaWVzID0gSW1hZ2VCdWZmZXI6OmNsYW1wZWRSZWN0
KGFic29sdXRlVGlsZUJvdW5kYXJpZXMpOwotICAgIGF1dG8gdGlsZUltYWdlID0gU1ZHUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoYWJzb2x1dGVUaWxlQm91bmRhcmllcywgY2xh
bXBlZEFic29sdXRlVGlsZUJvdW5kYXJpZXMsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigp
LCByZW5kZXJpbmdNb2RlKTsKKyAgICBhdXRvIHRpbGVJbWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRl
eHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGFic29sdXRlVGlsZUJvdW5kYXJpZXMsIGNsYW1wZWRBYnNv
bHV0ZVRpbGVCb3VuZGFyaWVzLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgcmVuZGVy
aW5nTW9kZSwgaG9zdFdpbmRvdygpKTsKICAgICBpZiAoIXRpbGVJbWFnZSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGU1ZTIwY2EwMGNkNzcyMjYxNjA3OGM4YTYxOTkx
MjEyNjUwMWYxYTYuLmYwOGU4NzJkMjg2NmFlNTM0MjQ4NmUzYzlmOTk4ZWRjOTQ0OTg0YjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250
ZXh0LmNwcApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwOSBEaXJrIFNjaHVs
emUgPGtyaXRAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQgMjAwOS0yMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDE4IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUxLDcgKzI1Miw3IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4g
U1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0
YXJnCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwogfQogCi1SZWZQdHI8SW1hZ2VCdWZmZXI+IFNW
R1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkUmVjdCwgY29uc3QgRGVzdGluYXRpb25D
b2xvclNwYWNlJiBjb2xvclNwYWNlLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUpCitSZWZQ
dHI8SW1hZ2VCdWZmZXI+IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkUmVjdCwg
Y29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiBjb2xvclNwYWNlLCBSZW5kZXJpbmdNb2RlIHJl
bmRlcmluZ01vZGUsIGNvbnN0IEhvc3RXaW5kb3cqIGhvc3RXaW5kb3cpCiB7CiAgICAgSW50U2l6
ZSBjbGFtcGVkU2l6ZSA9IHJvdW5kZWRJbnRTaXplKGNsYW1wZWRSZWN0LnNpemUoKSk7CiAgICAg
RmxvYXRTaXplIHVuY2xhbXBlZFNpemUgPSByb3VuZGVkSW50U2l6ZSh0YXJnZXRSZWN0LnNpemUo
KSk7CkBAIC0yNjAsNyArMjYxLDcgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBTVkdSZW5kZXJpbmdD
b250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIHRhcmcKICAgICBpZiAo
Y2xhbXBlZFNpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGF1
dG8gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCByZW5kZXJp
bmdNb2RlLCAxLCBjb2xvclNwYWNlLCBQaXhlbEZvcm1hdDo6QkdSQTgpOworICAgIGF1dG8gaW1h
Z2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCByZW5kZXJpbmdNb2Rl
LCBTaG91bGRVc2VEaXNwbGF5TGlzdDo6Tm8sIFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgY29s
b3JTcGFjZSwgUGl4ZWxGb3JtYXQ6OkJHUkE4LCBob3N0V2luZG93KTsKICAgICBpZiAoIWltYWdl
QnVmZmVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA0OGM2ZjNiNDcyOTgy
NDY0ZTJlZjNjOTVlODNiNjBlNTZlMDJmOGI0Li4wNDQ3OTkzYjk4N2UyZjUyNDczMzQxMDU0NmYw
YTBlNWY0MzZkNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMSwxMCArMSwxMSBAQAotLyoqCisvKgogICogQ29weXJp
Z2h0IChDKSAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgWm9sdGFuIEhlcmN6ZWcgPHpoZXJjemVnQHdlYmtpdC5vcmc+
LgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzUsNyArMzYsNiBAQCBjbGFzcyBSZW5kZXJFbGVtZW50
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI7CiAK
LS8vIFNWR1JlbmRlcmluZ0NvbnRleHQgCiBjbGFzcyBTVkdSZW5kZXJpbmdDb250ZXh0IHsKIHB1
YmxpYzoKICAgICBlbnVtIE5lZWRzR3JhcGhpY3NDb250ZXh0U2F2ZSB7CkBAIC02MSw3ICs2MSw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVuZGVyaW5nUHJlcGFyZWQoKSBjb25zdCB7IHJldHVy
biBtX3JlbmRlcmluZ0ZsYWdzICYgUmVuZGVyaW5nUHJlcGFyZWQ7IH0KIAogICAgIHN0YXRpYyBS
ZWZQdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3Qg
RGVzdGluYXRpb25Db2xvclNwYWNlJiwgUmVuZGVyaW5nTW9kZSwgY29uc3QgSG9zdFdpbmRvdyog
PSBudWxscHRyKTsKLSAgICBzdGF0aWMgUmVmUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1
ZmZlcihjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBl
ZFJlY3QsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIFJlbmRlcmluZ01vZGUpOworICAg
IHN0YXRpYyBSZWZQdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkUmVjdCwgY29uc3QgRGVz
dGluYXRpb25Db2xvclNwYWNlJiwgUmVuZGVyaW5nTW9kZSwgY29uc3QgSG9zdFdpbmRvdyogPSBu
dWxscHRyKTsKIAogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0NvbnRleHQoR3JhcGhp
Y3NDb250ZXh0JiwgUmVuZGVyRWxlbWVudCYsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwogICAg
IHN0YXRpYyB2b2lkIGNsaXBUb0ltYWdlQnVmZmVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0
UmVjdCwgUmVmUHRyPEltYWdlQnVmZmVyPiYsIGJvb2wgc2FmZVRvQ2xlYXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKaW5kZXggMjAxMTkxNjExMzQ2MGJjZDEyNmQ5
NmFmMjMxZWM5ZDBhNDNlYjNmZS4uYTQzYmU0NzhmZWU4YTQ0ODMyYWE2MzY5YzJkNjZlYjYxY2Yw
YzI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCkBAIC0xOTgs
NyArMTk4LDcgQEAgc3RkOjp0dXBsZTxSZWZQdHI8SW1hZ2VCdWZmZXI+LCBGbG9hdFJlY3Q+IFNW
R0ZFSW1hZ2VFbGVtZW50OjppbWFnZUJ1ZmZlckZvckVmZmUKIAogICAgIGF1dG8gaW1hZ2VSZWN0
ID0gcmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7CiAKLSAgICBhdXRv
IGltYWdlQnVmZmVyID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoaW1h
Z2VSZWN0LCBzaGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNl
OjpTUkdCKCksIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQpOworICAgIGF1dG8gaW1hZ2VC
dWZmZXIgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihpbWFnZVJlY3Qs
IHNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0Io
KSwgUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwgcmVuZGVyZXItPmhvc3RXaW5kb3coKSk7
CiAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKICAgICAgICAgcmV0dXJuIHsgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNlSGVh
cC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNl
SGVhcC5oCmluZGV4IGU3M2QyMmEwMjI0OWY3N2ZjZmQ5ZDk4MDliNmYzZGI2MDk0NDgzMjguLjli
ZDc2ODM5YzI5MDc0NDIyMmIzMWM3ZTQyYzg5YmI5MTI4ZDRjZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9RdWFsaWZpZWRSZXNvdXJjZUhlYXAuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFw
LmgKQEAgLTE1OSw4ICsxNTksOCBAQCBwcml2YXRlOgogICAgICAgICBhdXRvIGl0ZXJhdG9yID0g
bV9yZXNvdXJjZXMuZmluZChyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpOwogICAgICAgICBp
ZiAoaXRlcmF0b3IgPT0gbV9yZXNvdXJjZXMuZW5kKCkpCiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgQVNTRVJUKHN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPFQ+PihpdGVy
YXRvci0+dmFsdWUpKTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6Z2V0PFJlZjxUPj4oaXRlcmF0b3It
PnZhbHVlKS5wdHIoKTsKKyAgICAgICAgYXV0byB2YWx1ZSA9IHN0ZDo6Z2V0X2lmPFJlZjxUPj4o
Jml0ZXJhdG9yLT52YWx1ZSk7CisgICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLT5wdHIoKSA6
IG51bGxwdHI7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGQx
OTY3ZWQzOGVlMGQ1OTM1NGMyYTc0NmVlYWQwNWQ3ZGQwZDA0ZS4uYmJhYTc4MjkxZGUwZjEwYzhm
ZWMwNmFkMmQ5ZTdiNzU4ZmVmYTEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTEx
ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJv
Y2Vzc10gTWFrZSBTVkcgcmVzb3VyY2VzIGNyZWF0ZSByZW1vdGUgSW1hZ2VCdWZmZXJzIGZvciB0
aGVpciBkcmF3aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzUwNzMKKyAgICAgICAgcmRhcjovLzg3NDAyNDE5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25z
OgorCiAyMDIyLTAxLTExICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV3cml0ZSB0b3VjaCBhbmQgZHJhZyB0ZXN0cyB0byBiZSBtb3JlIHJvYnVz
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk3YWMwOWFi
ZDhlODhjYjhiYWMyYTM4NWUxN2E5OWE2NDE5Y2U1NDkuLjNmZWIwYjk3YWVjM2Q1Y2E2MDQ3NGFj
YWRlNzU1NzU5OGEwY2UzNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTIwLDcgKzEyMCw2IEBAIGltcG9ydGVkL2JsaW5rL2Zhc3QvbXVsdGljb2wvdmVy
dGljYWwtcmwvZmxvYXQtY29udGVudC1icmVhay5odG1sCiBpbXBvcnRlZC9ibGluay9zdmcvYXMt
aW1hZ2Uvc3ZnLWFzLWltYWdlLW9iamVjdC1maXQtY29udGFpbi5odG1sCiBpbXBvcnRlZC9ibGlu
ay9zdmcvYXMtaW1hZ2Uvc3ZnLWFzLWltYWdlLW9iamVjdC1maXQtY292ZXIuaHRtbAogaW1wb3J0
ZWQvYmxpbmsvc3ZnL2FzLWltYWdlL3N2Z3ZpZXctcmVmZXJlbmNlcy5odG1sCi1pbXBvcnRlZC9i
bGluay9zdmcvY3VzdG9tL2ZpbGwtZmFsbGJhY2stY3VycmVudGNvbG9yLTEuc3ZnCiBpbXBvcnRl
ZC9ibGluay9zdmcvdGV4dC9vYmItcGFpbnRzZXJ2ZXIuaHRtbAogaW1wb3J0ZWQvbW96aWxsYS9z
dmcvYXMtaW1hZ2UvYmFja2dyb3VuZC1yZXNpemUtMy5odG1sCiBpbXBvcnRlZC9tb3ppbGxhL3N2
Zy9hcy1pbWFnZS9iYWNrZ3JvdW5kLXJlc2l6ZS00Lmh0bWwKQEAgLTEyOCwyNSArMTI3LDkgQEAg
aW1wb3J0ZWQvbW96aWxsYS9zdmcvYXMtaW1hZ2UvYmFja2dyb3VuZC1zdHJldGNoLTEuaHRtbAog
aW1wb3J0ZWQvbW96aWxsYS9zdmcvYXMtaW1hZ2UvaW1nLXNpbXBsZS0zLmh0bWwKIGltcG9ydGVk
L21vemlsbGEvc3ZnL2FzLWltYWdlL2ltZy1zaW1wbGUtNS5odG1sCiBpbXBvcnRlZC9tb3ppbGxh
L3N2Zy9hcy1pbWFnZS9pbWctc2ltcGxlLTcuaHRtbAotaW1wb3J0ZWQvbW96aWxsYS9zdmcvYmxl
bmQtY29sb3ItYnVybi5zdmcKLWltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLXNhdHVyYXRpb24u
c3ZnCi1pbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZlQ29tcG9zaXRlLTIuc3ZnCi1pbXBv
cnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZlRmxvb2QtMS5zdmcKLWltcG9ydGVkL21vemlsbGEv
c3ZnL2ZpbHRlcnMvZmVGbG9vZC0yLnN2ZwotaW1wb3J0ZWQvbW96aWxsYS9zdmcvZmlsdGVycy9m
ZUltYWdlLTEuc3ZnCiBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9saW5lYXJHcmFkaWVudC1iYXNpYy0w
My5zdmcKLWltcG9ydGVkL21vemlsbGEvc3ZnL21hc2stYmFzaWMtMDIuc3ZnCi1pbXBvcnRlZC9t
b3ppbGxhL3N2Zy9tYXNrLWJhc2ljLTAzLnN2ZwotaW1wb3J0ZWQvbW96aWxsYS9zdmcvbWFzay10
eXBlLTAxLnN2ZwotaW1wb3J0ZWQvbW96aWxsYS9zdmcvb2JqZWN0Qm91bmRpbmdCb3gtYW5kLW1h
c2suc3ZnCi1pbXBvcnRlZC9tb3ppbGxhL3N2Zy9vcGFjaXR5LWFuZC1ncmFkaWVudC0wMi5zdmcK
LWltcG9ydGVkL21vemlsbGEvc3ZnL3BhdGgtMDIuc3ZnCi1pbXBvcnRlZC9tb3ppbGxhL3N2Zy9z
dmctaW50ZWdyYXRpb24vY2xpcFBhdGgtaHRtbC0wMy54aHRtbAoraW1wb3J0ZWQvbW96aWxsYS9z
dmcvcGF0dGVybi10cmFuc2Zvcm1lZC0wMS5zdmcKIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQt
Z3JhZGllbnQtMDEuc3ZnCi1pbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L2NsaXBQYXRoLWNvbnRl
bnQuc3ZnCi1pbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L21hc2stYXBwbGllZC5zdmcKLWltcG9y
dGVkL21vemlsbGEvc3ZnL3RleHQvbWFzay1jb250ZW50LTIuc3ZnCi1pbXBvcnRlZC9tb3ppbGxh
L3N2Zy90ZXh0L21hc2stY29udGVudC5zdmcKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tcGF0L3dlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbi10ZXh0Lmh0bWwKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tcGF0L3dlYmtpdC1saW5lYXItZ3JhZGllbnQtbGluZS1i
b3R0b20uaHRtbAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21wYXQvd2Via2l0
LWxpbmVhci1ncmFkaWVudC1saW5lLWxlZnQuaHRtbApAQCAtNTE2LDcyICs0OTksMTQgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5n
L2NvbG9yLTAwNS5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9leHRl
bnNpYmlsaXR5L2ZvcmVpZ25PYmplY3QvbWFza2VkLmh0bWwKIG1hdGhtbC9wcmVzZW50YXRpb24v
bXJvb3QtcHJlZi13aWR0aC5odG1sCiBtZWRpYS90cmFjay90cmFjay1jc3MtdmlzaWJsZS1zdHJv
a2UuaHRtbAotc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZWQtc3RyaW5nLWhyZWYuc3ZnCiBzdmcvYXMt
aW1hZ2Uvc3ZnLWFzLWltYWdlLXdpdGgtcmVsYXRpdmUtc2l6ZS5odG1sCiBzdmcvYXMtaW1hZ2Uv
c3ZnLWNhY2hlZC1kcmF3LWNhbnZhcy5odG1sCiBzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLXZpZXdi
b3guaHRtbAorc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS13aXRoLWRhdGEtdXJpLXVzZS1kYXRhLXVy
aS5zdmcKIHN2Zy9hcy1pbWFnZS9zdmctbm8taW50cmluc2ljLXNpemUtc3dpdGNoaW5nLmh0bWwK
LXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNsaXAtbmVzdGVkLXR3aWNlLnN2Zwotc3ZnL2NsaXAt
cGF0aC9jbGlwLXBhdGgtY2xpcC1ydWxlLTAwMy5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRo
LWNsaXAtcnVsZS0wMDQuc3ZnCi1zdmcvY2xpcC1wYXRoL2NsaXAtcGF0aC1jbGlwLXJ1bGUtMDA1
LnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtY2xpcC1ydWxlLTAwNi5zdmcKLXN2Zy9jbGlw
LXBhdGgvY2xpcC1wYXRoLWNsaXAtcnVsZS0wMDcuc3ZnCi1zdmcvY2xpcC1wYXRoL2NsaXAtcGF0
aC1jbGlwLXJ1bGUtMDA4LnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtY2xpcC1ydWxlLTAx
MC5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNsaXAuc3ZnCi1zdmcvY2xpcC1wYXRoL2Ns
aXAtcGF0aC1jb250ZW50LWNsaXAtMDAxLnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtY29u
dGVudC1jbGlwLTAwMi5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNvbnRlbnQtY2xpcC0w
MDMuc3ZnCi1zdmcvY2xpcC1wYXRoL2NsaXAtcGF0aC1jb250ZW50LXN5bGluZy5zdmcKLXN2Zy9j
bGlwLXBhdGgvY2xpcC1wYXRoLWNvbnRlbnQtdXNlLTAwMi5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xp
cC1wYXRoLWNvbnRlbnQtdXNlLTAwMy5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNvbnRl
bnQtdXNlLTAwNS5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNvbnRlbnQtdXNlLTAwNi5z
dmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLWNzcy10cmFuc2Zvcm0tMDAyLnN2Zwotc3ZnL2Ns
aXAtcGF0aC9jbGlwLXBhdGgtY3NzLXRyYW5zZm9ybS0wMDQuc3ZnCi1zdmcvY2xpcC1wYXRoL2Ns
aXAtcGF0aC1uby1jb250ZW50LTAwMy5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLW9iamVj
dGJvdW5kaW5nYm94LTAwNC5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLW9uLW92ZXJmbG93
aW5nLmh0bWwKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLXByZWNpc2lvbi0wMDEuc3ZnCi1zdmcv
Y2xpcC1wYXRoL2NsaXAtcGF0aC1yZWN1cnNpb24tMDAxLnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlw
LXBhdGgtcmVjdXJzaW9uLTAwMi5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLXRleHQtMDAx
LnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtdGV4dC0wMDIuc3ZnCi1zdmcvY2xpcC1wYXRo
L2NsaXAtcGF0aC10ZXh0LTAwMy5zdmcKLXN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLXRleHQtMDA0
LnN2Zwotc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtdGV4dC0wMDUuc3ZnCi1zdmcvY2xpcC1wYXRo
L2NsaXAtcGF0aC11c2Vyc3BhY2VvbnVzZS0wMDEuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVz
dGVkLWNsaXAtcGF0aC0wMDEuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0
aC0wMDIuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0aC0wMDMuc3ZnCi1z
dmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0aC0wMDQuc3ZnCi1zdmcvY2xpcC1wYXRo
L21hc2stbmVzdGVkLWNsaXAtcGF0aC0wMDUuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVk
LWNsaXAtcGF0aC0wMDYuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0aC0w
MDcuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0aC0wMDguc3ZnCi1zdmcv
Y2xpcC1wYXRoL21hc2stbmVzdGVkLWNsaXAtcGF0aC0wMDkuc3ZnCi1zdmcvY2xpcC1wYXRoL21h
c2stbmVzdGVkLWNsaXAtcGF0aC0wMTAuc3ZnCi1zdmcvY2xpcC1wYXRoL21hc2stbmVzdGVkLWNs
aXAtcGF0aC1wYW5uaW5nLTAwMS5zdmcKLXN2Zy9jbGlwLXBhdGgvbWFzay1uZXN0ZWQtY2xpcC1w
YXRoLXBhbm5pbmctMDAyLnN2Zwotc3ZnL2NsaXAtcGF0aC9vcGFjaXR5LWFzc2VydGlvbi5zdmcK
LXN2Zy9jbGlwLXBhdGgvc3ZnLWluLWh0bWwuaHRtbAogc3ZnL2NsaXAtcGF0aC93ZWJraXQtY2xp
cC1wYXRoLWFmdGVyLnN2Zwogc3ZnL2NsaXAtcGF0aC93ZWJraXQtY2xpcC1wYXRoLWJlZm9yZS5z
dmcKLXN2Zy9jc3MvaW52YWxpZC1jb2xvci1jYXNjYWRlLnN2Zwotc3ZnL2N1c3RvbS9jb21wb3Np
dGVkLXN2Zy13aXRoLW9wYWNpdHkuaHRtbAotc3ZnL2N1c3RvbS9oaWRwaS1tYXNraW5nLWNsaXBw
aW5nLnN2Zwotc3ZnL2N1c3RvbS9ocmVmLXN2Zy1uYW1lc3BhY2Utc3RhdGljLnN2Zwotc3ZnL2N1
c3RvbS9ocmVmLXhsaW5rLWhyZWYtZ3JhZGllbnQtZWxlbWVudC5zdmcKLXN2Zy9jdXN0b20vbG9j
YWwtdXJsLXJlZmVyZW5jZS1maWxsLmh0bWwKLXN2Zy9jdXN0b20vbG9jYWwtdXJsLXJlZmVyZW5j
ZS1tYXNrLmh0bWwKLXN2Zy9jdXN0b20vbG9jYWwtdXJsLXJlZmVyZW5jZS1yYWRpYWwtZ3JhZGll
bnQuaHRtbAotc3ZnL2N1c3RvbS9sb2NhbC11cmwtcmVmZXJlbmNlLXNyY2RvYy5odG1sCi1zdmcv
Y3VzdG9tL2xvY2FsLXVybC1yZWZlcmVuY2Utc3Ryb2tlLmh0bWwKIHN2Zy9jdXN0b20vc3ZnLWZv
bnRzLXNraXAtaW5rLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50LXN2Z2RvbS1ocmVmLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQtc3ZnZG9tLWhyZWYtcHJvcC5odG1sCi1zdmcvZmlsdGVycy9mZUlt
YWdlLWVsZW1lbnQtcHJpbWl0aXZlLXN1YnJlZ2lvbi5zdmcKIHN2Zy9ncmFkaWVudHMvZ3JhZGll
bnQtZmxpcHBlZC1zdGFydC1lbmQtcG9pbnRzLnN2Zwogc3ZnL2dyYWRpZW50cy9zcHJlYWRNZXRo
b2Quc3ZnCiBzdmcvZ3JhZGllbnRzL3NwcmVhZE1ldGhvZEFscGhhLnN2ZwpAQCAtNTkzLDEyICs1
MTgsNiBAQCBzdmcvZ3JhZGllbnRzL3NwcmVhZE1ldGhvZERpYWdvbmFsNC5zdmcKIHN2Zy9ncmFk
aWVudHMvc3ByZWFkTWV0aG9kRHVwbGljYXRlU3RvcC5zdmcKIHN2Zy9ncmFkaWVudHMvc3ByZWFk
TWV0aG9kUmV2ZXJzZWQuc3ZnCiBzdmcvZ3JhZGllbnRzL3N0b3BBbHBoYS5zdmcKLXN2Zy9tYXNr
aW5nL21hc2stbmVnYXRpdmUtc2NhbGUuc3ZnCi1zdmcvbWFza2luZy9tYXNrLXRyYW5zZm9ybWVk
LXRleHQtbWlzc2luZy5zdmcKLXN2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS5zdmcKLXN2Zy9t
YXNraW5nL21hc2stdHlwZS1sdW1pbmFuY2Uuc3ZnCi1zdmcvbWFza2luZy9tYXNrLXR5cGUtbm90
LXNldC5zdmcKLXN2Zy9yZXBhaW50L2J1ZmZlcmVkLXJlbmRlcmluZy1zdGF0aWMtaW1hZ2UuaHRt
bAogc3ZnL3RyYW5zZm9ybXMvdHJhbnNmb3JtZWQtdGV4dC1maWxsLWdyYWRpZW50Lmh0bWwKIHN2
Zy90cmFuc2Zvcm1zL3RyYW5zZm9ybWVkLXRleHQtZmlsbC1wYXR0ZXJuLmh0bWwKIHN5c3RlbS1w
cmV2aWV3L2JhZGdlLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>