<?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>218264</bug_id>
          
          <creation_ts>2020-10-27 15:41:38 -0700</creation_ts>
          <short_desc>Make RenderingMode a bool enum and remove ShouldAccelerate</short_desc>
          <delta_ts>2020-10-27 18:37:28 -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>Canvas</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>217735</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702129</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-10-27 15:41:38 -0700</bug_when>
    <thetext>The following four values are only used in one instance of ImageBuffer::create():

RenderingMode::DisplayListAccelerated,
RenderingMode::DisplayListUnaccelerated,
RenderingMode::RemoteAccelerated,
RenderingMode::RemoteUnaccelerated

Many places in the code convert from RenderingMode to ShouldAccelerate and vice versa. Also one of the WebChromeClient::createImageBuffer() always returns null since it does not override its virtual function in the base class ChromeClient.

So RenderingMode is converted back to be a bool enum as it was before and ShouldAccelerate will be removed. No conversion is needed anymore. And only one instance of ImageBuffer::create() will be handling  creating the remote and display list ImageBuffers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702139</commentid>
    <comment_count>1</comment_count>
      <attachid>412474</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-10-27 16:09:43 -0700</bug_when>
    <thetext>Created attachment 412474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702157</commentid>
    <comment_count>2</comment_count>
      <attachid>412479</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-10-27 17:12:00 -0700</bug_when>
    <thetext>Created attachment 412479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702191</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-27 18:36:55 -0700</bug_when>
    <thetext>Committed r269084: &lt;https://trac.webkit.org/changeset/269084&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412479.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702192</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-27 18:37:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/70747549&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412474</attachid>
            <date>2020-10-27 16:09:43 -0700</date>
            <delta_ts>2020-10-27 17:11:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218264-20201027160942.patch</filename>
            <type>text/plain</type>
            <size>29370</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZjMwZDZmZTFjZGU3
YTI4NjQ2MWI1NjQzMDE0OTM4ODA1MTEzZC4uMzlmNjE3ODZjMDUzZjExM2NmNDJiOGVkN2FhYmNj
YWEzY2U1M2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTEwLTI3ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgUmVuZGVyaW5n
TW9kZSBhIGJvb2wgZW51bSBhbmQgcmVtb3ZlIFNob3VsZEFjY2VsZXJhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI2NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnZlcnQgUmVuZGVyaW5nTW9k
ZSBiYWNrIHRvIGJlIGEgYm9vbCBlbnVtLiBTaG91bGRBY2NlbGVyYXRlIHdpbGwgYmUKKyAgICAg
ICAgcmVtb3ZlZCBzbyBubyBjb252ZXJzaW9uIGZyb20gUmVuZGVyaW5nTW9kZSB0byBTaG91bGRB
Y2NlbGVyYXRlIGFuZCB2aWNlCisgICAgICAgIHZlcnNhIGlzIG5lZWRlZCBhbnltb3JlLiBPbmx5
IG9uZSBpbnN0YW5jZSBvZiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKCkgd2lsbAorICAgICAgICBiZSBo
YW5kbGluZyBjcmVhdGluZyB0aGUgcmVtb3RlIGFuZCBkaXNwbGF5IGxpc3QgSW1hZ2VCdWZmZXJz
LgorCisgICAgICAgIC0tIFJlbW92ZSB1bnVzZWQgY3JlYXRlSW1hZ2VCdWZmZXIoKSBtZXRob2Qg
aW4gSG9zdFdpbmRvdyBhbmQgQ2hyb21lQ2xpZW50LgorICAgICAgICAtLSBSZW1vdmUgdW51c2Vk
IGFyZ3VtZW50ICdTaG91bGRVc2VEaXNwbGF5TGlzdCcgZnJvbSBjcmVhdGVJbWFnZUJ1ZmZlcigp
CisgICAgICAgICAgIG9mIEhvc3RXaW5kb3csIENocm9tZUNsaWVudCBhbmQgV2ViQ2hyb21lQ2xp
ZW50LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VmlkZW9FbGVtZW50OjpjcmVhdGVCdWZmZXJGb3JQYWludGluZyBjb25zdCk6CisgICAgICAgICog
aHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToK
KyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmNy
ZWF0ZUltYWdlQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAg
ICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6
OmNyZWF0ZUltYWdlQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJp
bmdNb2RlLmg6CisKIDIwMjAtMTAtMjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVIFByb2Nlc3NdOiBJbXBsZW1lbnQgRGlzcGxheUxp
c3Q6OkRyYXdJbWFnZUJ1ZmZlciBpdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMzODI0M2U5NDk0ZTE5MGNhNWM3
ODU0YzU5ZjhjYWQ0MDg3ZTZkMTguLjUwNTkyOTUzNDQ5MjFlOTNlMTkzMjI0Yzc5MDAyYjJjMjEy
ZWQ5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMTAtMjcgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBSZW5kZXJpbmdNb2RlIGEg
Ym9vbCBlbnVtIGFuZCByZW1vdmUgU2hvdWxkQWNjZWxlcmF0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBjcmVhdGluZyBhIHJlbW90ZSBJbWFn
ZUJ1ZmZlciBpbiBXZWJLaXQsIGFsbCB3ZSBuZWVkIHRvIGtub3cgaXMgd2hldGhlcgorICAgICAg
ICB0aGUgYmFja2VuZCBpcyBhY2NlbGVyYXRlZCBvciBub3QuIFJlbW90ZUltYWdlQnVmZmVyUHJv
eHkgaGFzIHRvIGJlIGJhY2tlZAorICAgICAgICBieSBhIERpc3BsYXlMaXN0LiBSZW1vdGVJbWFn
ZUJ1ZmZlciBoYXMgdG8gb3duIHRoZSByZWFsIGJhY2tlbmQuIFR3byBlbnVtCisgICAgICAgIHZh
bHVlcyBmb3IgUmVuZGVyaW5nTW9kZSBpcyBzdWZmaWNpZW50IGZvciBjcmVhdGluZyB0aGUgcmVt
b3RlIEltYWdlQnVmZmVyLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFj
a2VuZDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHk6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNocm9tZUNsaWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIgY29uc3QpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMjAtMTAt
MjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbR1BVIFByb2Nlc3NdOiBJbXBsZW1lbnQgRGlzcGxheUxpc3Q6OkRyYXdJbWFnZUJ1ZmZlciBp
dGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDExNWJh
NTlhOWZiNWFlOGJkMGMzMTBlOTM4ZTZkMDIyMmVjZGZhMDcuLmFjNDEwODg4YTFhN2Y0NDRjOTVj
MGM1ZDExYWQ1YWJkYzExMDdmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCkBAIC05MzYsMTAgKzkzNiwxMCBAQCB2b2lkIEhUTUxDYW52YXNFbGVtZW50Ojpj
cmVhdGVJbWFnZUJ1ZmZlcigpIGNvbnN0CiAKICAgICBhdXRvIGhvc3RXaW5kb3cgPSAoZG9jdW1l
bnQoKS52aWV3KCkgJiYgZG9jdW1lbnQoKS52aWV3KCktPnJvb3QoKSkgPyBkb2N1bWVudCgpLnZp
ZXcoKS0+cm9vdCgpLT5ob3N0V2luZG93KCkgOiBudWxscHRyOwogCi0gICAgYXV0byBhY2NlbGVy
YXRlID0gc2hvdWxkQWNjZWxlcmF0ZShzaXplKCkpID8gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzIDog
U2hvdWxkQWNjZWxlcmF0ZTo6Tm87CisgICAgYXV0byByZW5kZXJpbmdNb2RlID0gc2hvdWxkQWNj
ZWxlcmF0ZShzaXplKCkpID8gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJpbmdN
b2RlOjpVbmFjY2VsZXJhdGVkOwogICAgIC8vIEZJWE1FOiBBZGQgYSBuZXcgc2V0dGluZyBmb3Ig
RGlzcGxheUxpc3QgZHJhd2luZyBvbiBjYW52YXMuCiAgICAgYXV0byB1c2VEaXNwbGF5TGlzdCA9
IG1fdXNlc0Rpc3BsYXlMaXN0RHJhd2luZy52YWx1ZU9yKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5k
aXNwbGF5TGlzdERyYXdpbmdFbmFibGVkKCkpID8gU2hvdWxkVXNlRGlzcGxheUxpc3Q6OlllcyA6
IFNob3VsZFVzZURpc3BsYXlMaXN0OjpObzsKLSAgICBzZXRJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUoKSwgYWNjZWxlcmF0ZSwgdXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1
cnBvc2U6OkNhbnZhcywgMSwgQ29sb3JTcGFjZTo6U1JHQiwgaG9zdFdpbmRvdykpOworICAgIHNl
dEltYWdlQnVmZmVyKEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSgpLCByZW5kZXJpbmdNb2RlLCB1
c2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZTo6Q2FudmFzLCAxLCBDb2xvclNwYWNlOjpT
UkdCLCBob3N0V2luZG93KSk7CiAKICAgICBpZiAoYnVmZmVyKCkgJiYgYnVmZmVyKCktPmRyYXdp
bmdDb250ZXh0KCkpCiAgICAgICAgIGJ1ZmZlcigpLT5kcmF3aW5nQ29udGV4dCgpLT5zZXRUcmFj
a3NEaXNwbGF5TGlzdFJlcGxheShtX3RyYWNrc0Rpc3BsYXlMaXN0UmVwbGF5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDFkZDUxYjRjYTIxMmYyZWEwYTRh
ZjY5M2M3MmIxNzkzMTQxNTE5ZGEuLjBlNzgxMDAzOTE3ZTZmZDJhMjI2ODAzNzY1NjcxNDg3ODk5
NTdkODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApAQCAtMjkx
LDExICsyOTEsMTEgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VCdWZmZXI+IEhUTUxWaWRlb0VsZW1lbnQ6OmNyZWF0ZUJ1ZmZlckZvclBhaW50aW5nKGNv
bnN0IEZsb2F0U2l6ZSYgc2l6ZSwgU2hvdWxkQWNjZWxlcmF0ZSBzaG91bGRBY2NlbGVyYXRlKSBj
b25zdAorc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBIVE1MVmlkZW9FbGVtZW50OjpjcmVh
dGVCdWZmZXJGb3JQYWludGluZyhjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSkgY29uc3QKIHsKICAgICBhdXRvKiBob3N0V2luZG93ID0gZG9jdW1lbnQo
KS52aWV3KCkgJiYgZG9jdW1lbnQoKS52aWV3KCktPnJvb3QoKSA/IGRvY3VtZW50KCkudmlldygp
LT5yb290KCktPmhvc3RXaW5kb3coKSA6IG51bGxwdHI7CiAgICAgYXV0byBzaG91bGRVc2VEaXNw
bGF5TGlzdCA9IGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNwbGF5TGlzdERyYXdpbmdFbmFibGVk
KCkgPyBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzIDogU2hvdWxkVXNlRGlzcGxheUxpc3Q6Ok5v
OwotICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNob3VsZEFjY2VsZXJhdGUs
IHNob3VsZFVzZURpc3BsYXlMaXN0LCBSZW5kZXJpbmdQdXJwb3NlOjpNZWRpYVBhaW50aW5nLCAx
LCBDb2xvclNwYWNlOjpTUkdCLCBob3N0V2luZG93KTsKKyAgICByZXR1cm4gSW1hZ2VCdWZmZXI6
OmNyZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCBzaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVy
aW5nUHVycG9zZTo6TWVkaWFQYWludGluZywgMSwgQ29sb3JTcGFjZTo6U1JHQiwgaG9zdFdpbmRv
dyk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaAppbmRleCA2MzcyMDRkY2RmN2FiNzZj
NTFmNzgwNWM3NjRjMGIxN2EyYmU0Mzg2Li5hNjYzODgxYWZkMjZiZGZlMGUwZDBkN2YxOWYwYTY3
YjM1ZjM4ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaApAQCAtMzgs
NyArMzgsNyBAQCBjbGFzcyBJbWFnZUJ1ZmZlcjsKIGNsYXNzIFJlbmRlclZpZGVvOwogY2xhc3Mg
UGljdHVyZUluUGljdHVyZU9ic2VydmVyOwogCi1lbnVtIGNsYXNzIFNob3VsZEFjY2VsZXJhdGUg
OiBib29sOworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogYm9vbDsKIAogY2xhc3MgSFRNTFZp
ZGVvRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MTWVkaWFFbGVtZW50LCBwdWJsaWMgU3VwcGxl
bWVudGFibGU8SFRNTFZpZGVvRWxlbWVudD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
SFRNTFZpZGVvRWxlbWVudCk7CkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdl
YmtpdFJlcXVlc3RGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlQnVmZmVyRm9yUGFpbnRpbmcoY29uc3QgRmxvYXRT
aXplJiwgU2hvdWxkQWNjZWxlcmF0ZSkgY29uc3Q7CisgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdl
QnVmZmVyPiBjcmVhdGVCdWZmZXJGb3JQYWludGluZyhjb25zdCBGbG9hdFNpemUmLCBSZW5kZXJp
bmdNb2RlKSBjb25zdDsKIAogICAgIC8vIFVzZWQgYnkgY2FudmFzIHRvIGdhaW4gcmF3IHBpeGVs
IGFjY2VzcwogICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0ltYWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCmlu
ZGV4IGJhMTI5OGU0Zjc0N2MzYmRiMzhmYWU4MDkyODI2ODg5NmJlZTllZjkuLjUwMjFiZDA2YjRm
MDYwYTIxNTM4YTM2NTU3NTdhMmFkMjRkOWFhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRt
YXAuY3BwCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlz
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIGF1
dG8gc291cmNlUmVjdGFuZ2xlID0gbWF5YmVTb3VyY2VSZWN0YW5nbGUucmVsZWFzZVJldHVyblZh
bHVlKCk7CiAKICAgICBhdXRvIG91dHB1dFNpemUgPSBvdXRwdXRTaXplRm9yU291cmNlUmVjdGFu
Z2xlKHNvdXJjZVJlY3RhbmdsZSwgb3B0aW9ucyk7Ci0gICAgYXV0byBiaXRtYXBEYXRhID0gdmlk
ZW8tPmNyZWF0ZUJ1ZmZlckZvclBhaW50aW5nKG91dHB1dFNpemUsIGJ1ZmZlclJlbmRlcmluZ01v
ZGUgPT0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgPyBTaG91bGRBY2NlbGVyYXRlOjpZZXMg
OiBTaG91bGRBY2NlbGVyYXRlOjpObyk7CisgICAgYXV0byBiaXRtYXBEYXRhID0gdmlkZW8tPmNy
ZWF0ZUJ1ZmZlckZvclBhaW50aW5nKG91dHB1dFNpemUsIGJ1ZmZlclJlbmRlcmluZ01vZGUpOwog
ICAgIGlmICghYml0bWFwRGF0YSkgewogICAgICAgICByZXNvbHZlV2l0aEJsYW5rSW1hZ2VCdWZm
ZXIoIXRhaW50c09yaWdpbihzY3JpcHRFeGVjdXRpb25Db250ZXh0LnNlY3VyaXR5T3JpZ2luKCks
ICp2aWRlbyksIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2UuY3BwCmluZGV4IGU4ZDY4MTNmZDRhY2ExNzQ2MjMxY2I5NTExOGMxNjE2ZWVjZTA4NTEu
LjZhODBiODQ2MDBlMGEyYmIwNTU1MjM5NTVmZTljYzYwYTlhZWMzY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2UuY3BwCkBAIC0xOTQ1LDggKzE5NDUsOCBAQCBFeGNlcHRpb25PcjxSZWZQdHI8Q2FudmFz
UGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNyZWF0ZVBhdHRlcm4oSAog
ICAgICAgICByZXR1cm4gUmVmUHRyPENhbnZhc1BhdHRlcm4+IHsgQ2FudmFzUGF0dGVybjo6Y3Jl
YXRlKEJpdG1hcEltYWdlOjpjcmVhdGUoV1RGTW92ZShuYXRpdmVJbWFnZSkpLCByZXBlYXRYLCBy
ZXBlYXRZLCBvcmlnaW5DbGVhbikgfTsKICNlbmRpZgogCi0gICAgYXV0byBzaG91bGRBY2NlbGVy
YXRlID0gIWRyYXdpbmdDb250ZXh0KCkgfHwgZHJhd2luZ0NvbnRleHQoKS0+aXNBY2NlbGVyYXRl
ZENvbnRleHQoKSA/IFNob3VsZEFjY2VsZXJhdGU6OlllcyA6IFNob3VsZEFjY2VsZXJhdGU6Ok5v
OwotICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSB2aWRlb0VsZW1lbnQuY3JlYXRlQnVmZmVyRm9yUGFp
bnRpbmcoc2l6ZSh2aWRlb0VsZW1lbnQpLCBzaG91bGRBY2NlbGVyYXRlKTsKKyAgICBhdXRvIHJl
bmRlcmluZ01vZGUgPSAhZHJhd2luZ0NvbnRleHQoKSB8fCBkcmF3aW5nQ29udGV4dCgpLT5pc0Fj
Y2VsZXJhdGVkQ29udGV4dCgpID8gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJp
bmdNb2RlOjpVbmFjY2VsZXJhdGVkOworICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSB2aWRlb0VsZW1l
bnQuY3JlYXRlQnVmZmVyRm9yUGFpbnRpbmcoc2l6ZSh2aWRlb0VsZW1lbnQpLCByZW5kZXJpbmdN
b2RlKTsKICAgICBpZiAoIWltYWdlQnVmZmVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDdjNzEwMDE1NTcyNDE3ZWYwYjM2OWNkZDc5MTkwZWRi
OGM1ZDE2M2QuLmY3OWIzMzkwZGQyZjc4ZTQ2MzViNGViODA2NjliNWVhYzk0N2M0YTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTUyMywxNCArNTIzLDkgQEAgdm9pZCBDaHJvbWU6OnNldEN1
cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKICAg
ICBtX2NsaWVudC5zZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoaGlkZGVuVW50aWxNb3Vz
ZU1vdmVzKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBDaHJvbWU6OmNyZWF0
ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgU2hvdWxkQWNjZWxlcmF0ZSBzaG91
bGRBY2NlbGVyYXRlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCBzaG91bGRVc2VEaXNwbGF5TGlzdCwg
UmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3Bh
Y2UgY29sb3JTcGFjZSkgY29uc3QKK3N0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gQ2hyb21l
OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSwgUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jbGll
bnQuY3JlYXRlSW1hZ2VCdWZmZXIoc2l6ZSwgc2hvdWxkQWNjZWxlcmF0ZSwgc2hvdWxkVXNlRGlz
cGxheUxpc3QsIHB1cnBvc2UsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSk7Ci19Ci0KLXN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gQ2hyb21lOjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25z
dCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVz
b2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fY2xpZW50LmNyZWF0ZUltYWdlQnVmZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHJlc29sdXRp
b25TY2FsZSwgY29sb3JTcGFjZSk7CisgICAgcmV0dXJuIG1fY2xpZW50LmNyZWF0ZUltYWdlQnVm
ZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHB1cnBvc2UsIHJlc29sdXRpb25TY2FsZSwgY29sb3JT
cGFjZSk7CiB9CiAKIFBsYXRmb3JtRGlzcGxheUlEIENocm9tZTo6ZGlzcGxheUlEKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5oCmluZGV4IDA2ZTUzNDI2Y2YzNzM0ZWNkNGU0YTZhYmExYzc5MTVjZDdk
NzYzNzguLmRiNGYzMjE4NmNjN2VlMWViY2M5ZDI0Y2JjMWFkMzIzMjBlZWIwNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuaApAQCAtODQsOCArODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXJzb3Io
Y29uc3QgQ3Vyc29yJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1v
dXNlTW92ZXMoYm9vbCkgb3ZlcnJpZGU7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFNob3VsZEFjY2VsZXJhdGUs
IFNob3VsZFVzZURpc3BsYXlMaXN0LCBSZW5kZXJpbmdQdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIENvbG9yU3BhY2UpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgUmVuZGVyaW5n
TW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlKSBjb25zdCBvdmVycmlkZTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0
IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0IHJlc29s
dXRpb25TY2FsZSwgQ29sb3JTcGFjZSkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBQbGF0Zm9ybURp
c3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHdpbmRvd1NjcmVl
bkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+KSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE2ZjgyZjUxNzk2ZTVhODU4ZTNi
YmYwOGI1NDBiYmZiNjc0OGViODUuLjEwNDEyNDA3OWVjMTkyN2YwMmJiODA1ZDJjNGMyZWQ2MjNl
N2M5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzIzLDggKzMyMyw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3Jl
YXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVy
biBudWxscHRyOyB9CiAKLSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hv
dWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0LCBDb2xvclNwYWNlKSBj
b25zdCB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1h
Z2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01v
ZGUsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmly
dHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0
IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0LCBDb2xv
clNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICAgICAvLyBQYXNzIG51bGxwdHIg
YXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KICAgICB2aXJ0
dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IGI0OTE1NWE2M2I4MDAy
M2FlNWNjNTk3YzAxNmQwMmJlNWRhMTBjZDUuLjRhOWY1ZDQ3ZWE4NDE4NzEzOTMwNGFlNzNhZTJm
ZTVhYjY1ZTJjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5k
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTMzLDkg
KzMzLDcgQEAgY2xhc3MgQ3Vyc29yOwogY2xhc3MgSW1hZ2VCdWZmZXI7CiAKIGVudW0gY2xhc3Mg
Q29sb3JTcGFjZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFJlbmRlcmluZ01vZGUgOiB1aW50OF90
OwotZW51bSBjbGFzcyBTaG91bGRBY2NlbGVyYXRlIDogYm9vbDsKLWVudW0gY2xhc3MgU2hvdWxk
VXNlRGlzcGxheUxpc3QgOiBib29sOworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogYm9vbDsK
IGVudW0gY2xhc3MgUmVuZGVyaW5nUHVycG9zZSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIEhvc3RXaW5k
b3cgewpAQCAtNjIsOCArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRQb2ludCBhY2Nl
c3NpYmlsaXR5U2NyZWVuVG9Sb290Vmlldyhjb25zdCBJbnRQb2ludCYpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIEludFJlY3Qgcm9vdFZpZXdUb0FjY2Vzc2liaWxpdHlTY3JlZW4oY29uc3QgSW50
UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVm
ZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmLCBTaG91bGRBY2NlbGVyYXRl
LCBTaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQgcmVzb2x1dGlv
blNjYWxlLCBDb2xvclNwYWNlKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRl
cmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZl
cihjb25zdCBGbG9hdFNpemUmLCBSZW5kZXJpbmdNb2RlLCBSZW5kZXJpbmdQdXJwb3NlLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3BhY2UpIGNvbnN0ID0gMDsKIAogICAgIC8vIE1ldGhv
ZCBmb3IgcmV0cmlldmluZyB0aGUgbmF0aXZlIGNsaWVudCBvZiB0aGUgcGFnZS4KICAgICB2aXJ0
dWFsIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAKaW5k
ZXggOTI1OTMzZTg2M2I0NTlhYmJmMThkNjRlMjVlZTA3MTI0YzM4NjA0Zi4uZTNiYmI0MjYzYWEw
NzMxZmYwMzgxOTk1YjVkZTViZDNhNTU1OGJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNwcApAQCAtMzgsNTEgKzM4LDM1IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBmbG9hdCBNYXhDbGFtcGVkTGVuZ3RoID0gNDA5
NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBNYXhDbGFtcGVkQXJlYSA9IE1heENsYW1wZWRMZW5ndGgg
KiBNYXhDbGFtcGVkTGVuZ3RoOwogCi1zdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IEltYWdl
QnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplLCBTaG91bGRBY2NlbGVyYXRlIHNo
b3VsZEFjY2VsZXJhdGUsIFNob3VsZFVzZURpc3BsYXlMaXN0IHNob3VsZFVzZURpc3BsYXlMaXN0
LCBSZW5kZXJpbmdQdXJwb3NlIHB1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JT
cGFjZSBjb2xvclNwYWNlLCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93KQorc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyPiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNvbnN0IEZsb2F0U2l6ZSYg
c2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCBz
aG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNv
bHV0aW9uU2NhbGUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgY29uc3QgSG9zdFdpbmRvdyogaG9z
dFdpbmRvdykKIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVy
OwogICAgIGlmIChob3N0V2luZG93KQotICAgICAgICBpbWFnZUJ1ZmZlciA9IGhvc3RXaW5kb3ct
PmNyZWF0ZUltYWdlQnVmZmVyKHNpemUsIHNob3VsZEFjY2VsZXJhdGUsIHNob3VsZFVzZURpc3Bs
YXlMaXN0LCBwdXJwb3NlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOwotCi0gICAgaWYg
KCFpbWFnZUJ1ZmZlcikgewotICAgICAgICBSZW5kZXJpbmdNb2RlIG1vZGU7Ci0gICAgICAgIGlm
IChzaG91bGRVc2VEaXNwbGF5TGlzdCA9PSBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzKQotICAg
ICAgICAgICAgbW9kZSA9IHNob3VsZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVz
ID8gUmVuZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RBY2NlbGVyYXRlZCA6IFJlbmRlcmluZ01vZGU6
OkRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbW9k
ZSA9IHNob3VsZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzID8gUmVuZGVyaW5n
TW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkOwotICAgICAg
ICBpbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgbW9kZSwgcmVzb2x1dGlv
blNjYWxlLCBjb2xvclNwYWNlLCBob3N0V2luZG93KTsKKyAgICAgICAgaW1hZ2VCdWZmZXIgPSBo
b3N0V2luZG93LT5jcmVhdGVJbWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCBwdXJwb3Nl
LCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOworCisgICAgaWYgKCFpbWFnZUJ1ZmZlciAm
JiBzaG91bGRVc2VEaXNwbGF5TGlzdCA9PSBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzKSB7Cisg
ICAgICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkKQor
ICAgICAgICAgICAgaW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cp
OworICAgICAgICAKKyAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgICAgIGltYWdl
QnVmZmVyID0gRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXpl
LCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cpOwogICAgIH0KIAorICAg
IGlmICghaW1hZ2VCdWZmZXIpCisgICAgICAgIGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNy
ZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhv
c3RXaW5kb3cpOworCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwogfQogCiBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IEltYWdlQnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXpl
LCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29s
b3JTcGFjZSBjb2xvclNwYWNlLCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93KQogewogICAg
IHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7Ci0KLSAgICBzd2l0Y2gg
KHJlbmRlcmluZ01vZGUpIHsKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOgor
ICAgIAorICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVk
KQogICAgICAgICBpbWFnZUJ1ZmZlciA9IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShz
aXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cpOwotICAgICAgICBG
QUxMVEhST1VHSDsKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQ6Ci0gICAg
ICAgIGlmICghaW1hZ2VCdWZmZXIpCi0gICAgICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFj
ZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2Rl
OjpEaXNwbGF5TGlzdEFjY2VsZXJhdGVkOgotICAgICAgICBpbWFnZUJ1ZmZlciA9IERpc3BsYXlM
aXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwg
Y29sb3JTcGFjZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2Ug
UmVuZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkOgotICAgICAgICBpZiAoIWlt
YWdlQnVmZmVyKQotICAgICAgICAgICAgaW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFj
ZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2Rl
OjpSZW1vdGVBY2NlbGVyYXRlZDoKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlJlbW90ZVVuYWNj
ZWxlcmF0ZWQ6Ci0gICAgICAgIGlmIChob3N0V2luZG93KQotICAgICAgICAgICAgaW1hZ2VCdWZm
ZXIgPSBob3N0V2luZG93LT5jcmVhdGVJbWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCBy
ZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOwotICAgICAgICBicmVhazsKLSAgICB9CisgICAg
CisgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgaW1hZ2VCdWZmZXIgPSBVbmFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2Us
IGhvc3RXaW5kb3cpOwogCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwogfQpAQCAtOTAsMjkgKzc0
LDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gSW1hZ2VCdWZmZXI6OmNyZWF0ZShj
b25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluCiBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+IEltYWdlQnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVy
PiBpbWFnZUJ1ZmZlcjsKLQotICAgIHN3aXRjaCAoY29udGV4dC5yZW5kZXJpbmdNb2RlKCkpIHsK
LSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOgorICAgIAorICAgIGlmIChjb250
ZXh0LnJlbmRlcmluZ01vZGUoKSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAg
ICAgaW1hZ2VCdWZmZXIgPSBBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgY29u
dGV4dCk7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgUmVuZGVyaW5nTW9kZTo6VW5h
Y2NlbGVyYXRlZDoKLSAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgICAgIGltYWdl
QnVmZmVyID0gVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgY29udGV4dCk7
Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2RlOjpEaXNwbGF5TGlzdEFj
Y2VsZXJhdGVkOgotICAgICAgICBpbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIGNvbnRleHQpOwotICAgICAgICBGQUxMVEhST1VHSDsK
LSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZDoKLSAgICAg
ICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgICAgIGltYWdlQnVmZmVyID0gRGlzcGxheUxp
c3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBjb250ZXh0KTsKLSAgICAg
ICAgYnJlYWs7Ci0KLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlJlbW90ZVVuYWNjZWxlcmF0ZWQ6
Ci0gICAgY2FzZSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVBY2NlbGVyYXRlZDoKLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICAKKyAgICBpZiAo
IWltYWdlQnVmZmVyKQorICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlcjo6Y3JlYXRlKHNpemUsIGNvbnRleHQpOwogCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5k
ZXggODVjMDdiYjA5NTEzYmEwM2JjMGVkZjUyMzczM2Y3ODQ4M2Q2NTIxYi4uZTczNmFmODIwYTVj
ZWQ2M2FlNzUxNzZhMjk5NDIzMmJkYWRmMmE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIERyYXdp
bmdDb250ZXh0OwogY2xhc3MgSW1hZ2VCdWZmZXIgewogcHVibGljOgogICAgIC8vIFdpbGwgcmV0
dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KLSAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgRmxv
YXRTaXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmlu
Z1B1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEsIENvbG9yU3BhY2UgPSBDb2xvclNw
YWNlOjpTUkdCLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBGbG9h
dFNpemUmLCBSZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVy
cG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlID0gMSwgQ29sb3JTcGFjZSA9IENvbG9yU3BhY2U6
OlNSR0IsIGNvbnN0IEhvc3RXaW5kb3cqID0gbnVsbHB0cik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEZsb2F0U2l6
ZSYsIFJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEsIENvbG9yU3BhY2Ug
PSBDb2xvclNwYWNlOjpTUkdCLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOwogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBGbG9hdFNpemUm
LCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oCmluZGV4IDcwNzg3MGY2YTVmZjE5OTgxMTM5OWY3
NjMwNGNjNjZhMzE3NWYyODkuLmE1YWM5YjIxNjBmYjZmZDk2NDZmNTJjYjY0YjAwZjBjOWNlZjRh
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmlu
Z01vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJpbmdN
b2RlLmgKQEAgLTMzLDE2ICszMyw3IEBAIGVudW0gY2xhc3MgUmVuZGVyaW5nUHVycG9zZSA6IHVp
bnQ4X3QgewogICAgIE1lZGlhUGFpbnRpbmcKIH07CiAKLWVudW0gY2xhc3MgU2hvdWxkQWNjZWxl
cmF0ZSA6IGJvb2wgeyBObywgWWVzIH07CiBlbnVtIGNsYXNzIFNob3VsZFVzZURpc3BsYXlMaXN0
IDogYm9vbCB7IE5vLCBZZXMgfTsKLQotZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogdWludDhf
dCB7Ci0gICAgQWNjZWxlcmF0ZWQsCi0gICAgVW5hY2NlbGVyYXRlZCwKLSAgICBEaXNwbGF5TGlz
dEFjY2VsZXJhdGVkLAotICAgIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCwKLSAgICBSZW1vdGVB
Y2NlbGVyYXRlZCwKLSAgICBSZW1vdGVVbmFjY2VsZXJhdGVkCi19OworZW51bSBjbGFzcyBSZW5k
ZXJpbmdNb2RlIDogYm9vbCB7IFVuYWNjZWxlcmF0ZWQsIEFjY2VsZXJhdGVkIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCAxNTMyZGU0NTQ5
NDQyNTFkZmNlOTQ2NjBkZDU4NTVmZjM2MjY0ZGQ1Li5kNWJiMGYyZDAzZTZmMzVhOThlNDE5YzQx
NWQwNTZiMjk0YmU1N2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC0xMjIsMTEgKzEy
MiwxMSBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmZsdXNoRGlzcGxheUxpc3RXYXND
b21taXR0ZWQoRGlzcGxheUxpc3RGbHVzaElkZW50aQogCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFJl
bmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNw
YWNlIGNvbG9yU3BhY2UsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKHJlbmRlcmluZ01vZGUgPT0g
UmVuZGVyaW5nTW9kZTo6UmVtb3RlQWNjZWxlcmF0ZWQgfHwgcmVuZGVyaW5nTW9kZSA9PSBSZW5k
ZXJpbmdNb2RlOjpSZW1vdGVVbmFjY2VsZXJhdGVkKTsKKyAgICBBU1NFUlQocmVuZGVyaW5nTW9k
ZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCB8fCByZW5kZXJpbmdNb2RlID09IFJlbmRl
cmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkltYWdlQnVmZmVyPiBpbWFnZTsKIAotICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmlu
Z01vZGU6OlJlbW90ZUFjY2VsZXJhdGVkKQorICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRl
cmluZ01vZGU6OkFjY2VsZXJhdGVkKQogICAgICAgICBpbWFnZSA9IEFjY2VsZXJhdGVkUmVtb3Rl
SW1hZ2VCdWZmZXI6OmNyZWF0ZShsb2dpY2FsU2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNw
YWNlLCAqdGhpcywgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKIAogICAgIGlmICghaW1h
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCBkMGFhZTNjYzIwNDUwNjk2YTg5Zjk1YTVmMDY3
ZGZlZmM2ZTNlZWZiLi4yODVlMmY3NGI0ZDRmZDZlNmE4YzVlOTEwMjVhMWM5MjZmNWZmYjE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgSXRlbTsKIH0KIGNs
YXNzIEZsb2F0U2l6ZTsKIGVudW0gY2xhc3MgQ29sb3JTcGFjZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNs
YXNzIFJlbmRlcmluZ01vZGUgOiB1aW50OF90OworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDog
Ym9vbDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDY0NTlmYTQxZWU4ZTdhYjEzMjBlZTI3ZDIyZTY5
NzQxMzU5NDMwOTcuLjZhMWE2MTcwNzczNTIyNjQ0YmY4NGE4M2U2ZmM3NzhhMTA2ZTIyNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC04OTAs
MTEgKzg5MCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UmVuZGVy
aW5nTW9kZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgV2ViQ29yZTo6
UmVuZGVyaW5nTW9kZSwKICAgICBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwK
LSAgICBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLAotICAgIFdlYkNvcmU6
OlJlbmRlcmluZ01vZGU6OkRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQsCi0gICAgV2ViQ29yZTo6UmVu
ZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkLAotICAgIFdlYkNvcmU6OlJlbmRl
cmluZ01vZGU6OlJlbW90ZUFjY2VsZXJhdGVkLAotICAgIFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6
OlJlbW90ZVVuYWNjZWxlcmF0ZWQKKyAgICBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpVbmFjY2Vs
ZXJhdGVkCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmNwcAppbmRleCBhY2NmYzY4OWM3N2Y3MzljODg1OWY3ZDljMTc1NDZjNjY0MDc3ZTU0Li43YTAx
OTMwYWI2NmM0NDczMDUxMDkzMDM0ZDRmMzZkMmMwZTY0OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCkBAIC04NywyMCArODcsMTUgQEAgYm9vbCBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHk6OndhaXRGb3JGbHVzaERpc3BsYXlMaXN0V2FzQ29tbWl0dGVk
KCkKICAgICByZXR1cm4gY29ubmVjdGlvbi0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8
TWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Rmx1c2hEaXNwbGF5TGlzdFdh
c0NvbW1pdHRlZD4obV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgMV9zLCBJUEM6OldhaXRG
b3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Ojpj
cmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFNob3VsZEFjY2VsZXJhdGUg
c2hvdWxkQWNjZWxlcmF0ZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9y
U3BhY2UpCitzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eTo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBSZW5kZXJp
bmdNb2RlIHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSBj
b2xvclNwYWNlKQogewotICAgIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZTsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyOwogCi0gICAgaWYg
KHNob3VsZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzKSB7Ci0gICAgICAgIHJl
bmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVBY2NlbGVyYXRlZDsKKyAgICBpZiAo
cmVuZGVyaW5nTW9kZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAgICAgaW1h
Z2VCdWZmZXIgPSBBY2NlbGVyYXRlZFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmNyZWF0ZShzaXpl
LCByZXNvbHV0aW9uU2NhbGUsICp0aGlzKTsKLSAgICB9CiAKLSAgICBpZiAoIWltYWdlQnVmZmVy
KSB7Ci0gICAgICAgIHJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVVbmFjY2Vs
ZXJhdGVkOworICAgIGlmICghaW1hZ2VCdWZmZXIpCiAgICAgICAgIGltYWdlQnVmZmVyID0gVW5h
Y2NlbGVyYXRlZFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9u
U2NhbGUsICp0aGlzKTsKLSAgICB9CiAKICAgICBpZiAoaW1hZ2VCdWZmZXIpIHsKICAgICAgICAg
c2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Q3JlYXRlSW1hZ2VCdWZmZXIo
c2l6ZSwgcmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBpbWFnZUJ1
ZmZlci0+cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpLCBtX3JlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCmluZGV4IDQz
NjFiYWFmZWZjMzUwYzcwMDlhOTdhNmRiNjhkNTI1ZWJjMWU0NTcuLjk5NTY1YjZmMTY2YmIyZDgw
NjE0MTg0OTcyZTM0MzcwNmNlN2ZlYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkuaApAQCAtNDUsOCArNDUsNyBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBJbWFnZURh
dGE7CiBlbnVtIGNsYXNzIEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90OwogZW51bSBj
bGFzcyBDb2xvclNwYWNlIDogdWludDhfdDsKLWVudW0gY2xhc3MgUmVuZGVyaW5nTW9kZSA6IHVp
bnQ4X3Q7Ci1lbnVtIGNsYXNzIFNob3VsZEFjY2VsZXJhdGUgOiBib29sOworZW51bSBjbGFzcyBS
ZW5kZXJpbmdNb2RlIDogYm9vbDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03MCw3ICs2
OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZXMgdG8gYmUgc2Vu
dC4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdl
QnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIFdlYkNvcmU6OlNob3VsZEFjY2VsZXJh
dGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSk7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25z
dCBXZWJDb3JlOjpGbG9hdFNpemUmLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNv
bHV0aW9uU2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2UpOwogICAgIFJlZlB0cjxXZWJDb3JlOjpJ
bWFnZURhdGE+IGdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91
dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgV2ViQ29yZTo6UmVu
ZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB2b2lkIGZsdXNoRGlzcGxheUxpc3QoY29u
c3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiwgV2ViQ29yZTo6UmVuZGVyaW5n
UmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICBEaXNwbGF5TGlzdEZsdXNoSWRlbnRpZmllciBmbHVz
aERpc3BsYXlMaXN0QW5kQ29tbWl0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5
TGlzdCYsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IGY4Zjk0YzRhYTg3Njg4YTYyNDBkNDNmNjUwMjNkMDEyZmY5N2RhZWYu
LjI5NzlhZTBjZmRhNTI1MzU2MzhmYTAzYTBhY2EyNDZiYTQxYjdjYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC05MDYsMTIgKzkwNiwxMiBAQCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkmIFdlYkNocm9tZUNsaWVudDo6ZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KAog
ICAgIHJldHVybiAqbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk7CiB9CiAKLXN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJ1ZmZlcj4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVJbWFnZUJ1ZmZlcihj
b25zdCBGbG9hdFNpemUmIHNpemUsIFNob3VsZEFjY2VsZXJhdGUgc2hvdWxkQWNjZWxlcmF0ZSwg
U2hvdWxkVXNlRGlzcGxheUxpc3Qgc2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1cnBv
c2UgcHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2Up
IGNvbnN0CitzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IFdlYkNocm9tZUNsaWVudDo6Y3Jl
YXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBSZW5kZXJpbmdNb2RlIHJlbmRl
cmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxl
LCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3BhZ2Uuc2hvdWxk
VXNlUmVtb3RlUmVuZGVyaW5nRm9yKHB1cnBvc2UpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
IAotICAgIHJldHVybiBlbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5jcmVhdGVJ
bWFnZUJ1ZmZlcihzaXplLCBzaG91bGRBY2NlbGVyYXRlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9y
U3BhY2UpOworICAgIHJldHVybiBlbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5j
cmVhdGVJbWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCByZXNvbHV0aW9uU2NhbGUsIGNv
bG9yU3BhY2UpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDg3YzFiOGRkY2Y5YjY1OWU1ZGE3YjNhYmUyODNiZmUxNGE2ZDBkZDMuLmY1
NDc5NGE2MjM2YjVlMGQ1N2JmNzczOTZjMzY3ZGE2NzBlZDdjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTI0NCw3ICsyNDQsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSYgZW5zdXJlUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5KCkgY29uc3Q7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkltYWdl
QnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBXZWJD
b3JlOjpTaG91bGRBY2NlbGVyYXRlLCBXZWJDb3JlOjpTaG91bGRVc2VEaXNwbGF5TGlzdCwgV2Vi
Q29yZTo6UmVuZGVyaW5nUHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpD
b2xvclNwYWNlKSBjb25zdCBmaW5hbDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1h
Z2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIFdl
YkNvcmU6OlJlbmRlcmluZ01vZGUsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0IHJl
c29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSkgY29uc3QgZmluYWw7CiAjZW5kaWYK
IAogICAgIENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIGFsbG93ZWRDb21wb3NpdGluZ1RyaWdnZXJz
KCkgY29uc3QgZmluYWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412479</attachid>
            <date>2020-10-27 17:12:00 -0700</date>
            <delta_ts>2020-10-27 18:36:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218264-20201027171159.patch</filename>
            <type>text/plain</type>
            <size>29421</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZjMwZDZmZTFjZGU3
YTI4NjQ2MWI1NjQzMDE0OTM4ODA1MTEzZC4uMzlmNjE3ODZjMDUzZjExM2NmNDJiOGVkN2FhYmNj
YWEzY2U1M2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTEwLTI3ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgUmVuZGVyaW5n
TW9kZSBhIGJvb2wgZW51bSBhbmQgcmVtb3ZlIFNob3VsZEFjY2VsZXJhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI2NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnZlcnQgUmVuZGVyaW5nTW9k
ZSBiYWNrIHRvIGJlIGEgYm9vbCBlbnVtLiBTaG91bGRBY2NlbGVyYXRlIHdpbGwgYmUKKyAgICAg
ICAgcmVtb3ZlZCBzbyBubyBjb252ZXJzaW9uIGZyb20gUmVuZGVyaW5nTW9kZSB0byBTaG91bGRB
Y2NlbGVyYXRlIGFuZCB2aWNlCisgICAgICAgIHZlcnNhIGlzIG5lZWRlZCBhbnltb3JlLiBPbmx5
IG9uZSBpbnN0YW5jZSBvZiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKCkgd2lsbAorICAgICAgICBiZSBo
YW5kbGluZyBjcmVhdGluZyB0aGUgcmVtb3RlIGFuZCBkaXNwbGF5IGxpc3QgSW1hZ2VCdWZmZXJz
LgorCisgICAgICAgIC0tIFJlbW92ZSB1bnVzZWQgY3JlYXRlSW1hZ2VCdWZmZXIoKSBtZXRob2Qg
aW4gSG9zdFdpbmRvdyBhbmQgQ2hyb21lQ2xpZW50LgorICAgICAgICAtLSBSZW1vdmUgdW51c2Vk
IGFyZ3VtZW50ICdTaG91bGRVc2VEaXNwbGF5TGlzdCcgZnJvbSBjcmVhdGVJbWFnZUJ1ZmZlcigp
CisgICAgICAgICAgIG9mIEhvc3RXaW5kb3csIENocm9tZUNsaWVudCBhbmQgV2ViQ2hyb21lQ2xp
ZW50LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIgY29uc3QpOgorICAg
ICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VmlkZW9FbGVtZW50OjpjcmVhdGVCdWZmZXJGb3JQYWludGluZyBjb25zdCk6CisgICAgICAgICog
aHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToK
KyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmNy
ZWF0ZUltYWdlQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAg
ICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6
OmNyZWF0ZUltYWdlQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJp
bmdNb2RlLmg6CisKIDIwMjAtMTAtMjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVIFByb2Nlc3NdOiBJbXBsZW1lbnQgRGlzcGxheUxp
c3Q6OkRyYXdJbWFnZUJ1ZmZlciBpdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMzODI0M2U5NDk0ZTE5MGNhNWM3
ODU0YzU5ZjhjYWQ0MDg3ZTZkMTguLjUwNTkyOTUzNDQ5MjFlOTNlMTkzMjI0Yzc5MDAyYjJjMjEy
ZWQ5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMTAtMjcgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBSZW5kZXJpbmdNb2RlIGEg
Ym9vbCBlbnVtIGFuZCByZW1vdmUgU2hvdWxkQWNjZWxlcmF0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBjcmVhdGluZyBhIHJlbW90ZSBJbWFn
ZUJ1ZmZlciBpbiBXZWJLaXQsIGFsbCB3ZSBuZWVkIHRvIGtub3cgaXMgd2hldGhlcgorICAgICAg
ICB0aGUgYmFja2VuZCBpcyBhY2NlbGVyYXRlZCBvciBub3QuIFJlbW90ZUltYWdlQnVmZmVyUHJv
eHkgaGFzIHRvIGJlIGJhY2tlZAorICAgICAgICBieSBhIERpc3BsYXlMaXN0LiBSZW1vdGVJbWFn
ZUJ1ZmZlciBoYXMgdG8gb3duIHRoZSByZWFsIGJhY2tlbmQuIFR3byBlbnVtCisgICAgICAgIHZh
bHVlcyBmb3IgUmVuZGVyaW5nTW9kZSBpcyBzdWZmaWNpZW50IGZvciBjcmVhdGluZyB0aGUgcmVt
b3RlIEltYWdlQnVmZmVyLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFj
a2VuZDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHk6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNocm9tZUNsaWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIgY29uc3QpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMjAtMTAt
MjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbR1BVIFByb2Nlc3NdOiBJbXBsZW1lbnQgRGlzcGxheUxpc3Q6OkRyYXdJbWFnZUJ1ZmZlciBp
dGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDExNWJh
NTlhOWZiNWFlOGJkMGMzMTBlOTM4ZTZkMDIyMmVjZGZhMDcuLmFjNDEwODg4YTFhN2Y0NDRjOTVj
MGM1ZDExYWQ1YWJkYzExMDdmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCkBAIC05MzYsMTAgKzkzNiwxMCBAQCB2b2lkIEhUTUxDYW52YXNFbGVtZW50Ojpj
cmVhdGVJbWFnZUJ1ZmZlcigpIGNvbnN0CiAKICAgICBhdXRvIGhvc3RXaW5kb3cgPSAoZG9jdW1l
bnQoKS52aWV3KCkgJiYgZG9jdW1lbnQoKS52aWV3KCktPnJvb3QoKSkgPyBkb2N1bWVudCgpLnZp
ZXcoKS0+cm9vdCgpLT5ob3N0V2luZG93KCkgOiBudWxscHRyOwogCi0gICAgYXV0byBhY2NlbGVy
YXRlID0gc2hvdWxkQWNjZWxlcmF0ZShzaXplKCkpID8gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzIDog
U2hvdWxkQWNjZWxlcmF0ZTo6Tm87CisgICAgYXV0byByZW5kZXJpbmdNb2RlID0gc2hvdWxkQWNj
ZWxlcmF0ZShzaXplKCkpID8gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJpbmdN
b2RlOjpVbmFjY2VsZXJhdGVkOwogICAgIC8vIEZJWE1FOiBBZGQgYSBuZXcgc2V0dGluZyBmb3Ig
RGlzcGxheUxpc3QgZHJhd2luZyBvbiBjYW52YXMuCiAgICAgYXV0byB1c2VEaXNwbGF5TGlzdCA9
IG1fdXNlc0Rpc3BsYXlMaXN0RHJhd2luZy52YWx1ZU9yKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5k
aXNwbGF5TGlzdERyYXdpbmdFbmFibGVkKCkpID8gU2hvdWxkVXNlRGlzcGxheUxpc3Q6OlllcyA6
IFNob3VsZFVzZURpc3BsYXlMaXN0OjpObzsKLSAgICBzZXRJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUoKSwgYWNjZWxlcmF0ZSwgdXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1
cnBvc2U6OkNhbnZhcywgMSwgQ29sb3JTcGFjZTo6U1JHQiwgaG9zdFdpbmRvdykpOworICAgIHNl
dEltYWdlQnVmZmVyKEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSgpLCByZW5kZXJpbmdNb2RlLCB1
c2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZTo6Q2FudmFzLCAxLCBDb2xvclNwYWNlOjpT
UkdCLCBob3N0V2luZG93KSk7CiAKICAgICBpZiAoYnVmZmVyKCkgJiYgYnVmZmVyKCktPmRyYXdp
bmdDb250ZXh0KCkpCiAgICAgICAgIGJ1ZmZlcigpLT5kcmF3aW5nQ29udGV4dCgpLT5zZXRUcmFj
a3NEaXNwbGF5TGlzdFJlcGxheShtX3RyYWNrc0Rpc3BsYXlMaXN0UmVwbGF5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDFkZDUxYjRjYTIxMmYyZWEwYTRh
ZjY5M2M3MmIxNzkzMTQxNTE5ZGEuLjBlNzgxMDAzOTE3ZTZmZDJhMjI2ODAzNzY1NjcxNDg3ODk5
NTdkODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApAQCAtMjkx
LDExICsyOTEsMTEgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VCdWZmZXI+IEhUTUxWaWRlb0VsZW1lbnQ6OmNyZWF0ZUJ1ZmZlckZvclBhaW50aW5nKGNv
bnN0IEZsb2F0U2l6ZSYgc2l6ZSwgU2hvdWxkQWNjZWxlcmF0ZSBzaG91bGRBY2NlbGVyYXRlKSBj
b25zdAorc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBIVE1MVmlkZW9FbGVtZW50OjpjcmVh
dGVCdWZmZXJGb3JQYWludGluZyhjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSkgY29uc3QKIHsKICAgICBhdXRvKiBob3N0V2luZG93ID0gZG9jdW1lbnQo
KS52aWV3KCkgJiYgZG9jdW1lbnQoKS52aWV3KCktPnJvb3QoKSA/IGRvY3VtZW50KCkudmlldygp
LT5yb290KCktPmhvc3RXaW5kb3coKSA6IG51bGxwdHI7CiAgICAgYXV0byBzaG91bGRVc2VEaXNw
bGF5TGlzdCA9IGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNwbGF5TGlzdERyYXdpbmdFbmFibGVk
KCkgPyBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzIDogU2hvdWxkVXNlRGlzcGxheUxpc3Q6Ok5v
OwotICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNob3VsZEFjY2VsZXJhdGUs
IHNob3VsZFVzZURpc3BsYXlMaXN0LCBSZW5kZXJpbmdQdXJwb3NlOjpNZWRpYVBhaW50aW5nLCAx
LCBDb2xvclNwYWNlOjpTUkdCLCBob3N0V2luZG93KTsKKyAgICByZXR1cm4gSW1hZ2VCdWZmZXI6
OmNyZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCBzaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVy
aW5nUHVycG9zZTo6TWVkaWFQYWludGluZywgMSwgQ29sb3JTcGFjZTo6U1JHQiwgaG9zdFdpbmRv
dyk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaAppbmRleCA2MzcyMDRkY2RmN2FiNzZj
NTFmNzgwNWM3NjRjMGIxN2EyYmU0Mzg2Li5hNjYzODgxYWZkMjZiZGZlMGUwZDBkN2YxOWYwYTY3
YjM1ZjM4ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaApAQCAtMzgs
NyArMzgsNyBAQCBjbGFzcyBJbWFnZUJ1ZmZlcjsKIGNsYXNzIFJlbmRlclZpZGVvOwogY2xhc3Mg
UGljdHVyZUluUGljdHVyZU9ic2VydmVyOwogCi1lbnVtIGNsYXNzIFNob3VsZEFjY2VsZXJhdGUg
OiBib29sOworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogYm9vbDsKIAogY2xhc3MgSFRNTFZp
ZGVvRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MTWVkaWFFbGVtZW50LCBwdWJsaWMgU3VwcGxl
bWVudGFibGU8SFRNTFZpZGVvRWxlbWVudD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
SFRNTFZpZGVvRWxlbWVudCk7CkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdl
YmtpdFJlcXVlc3RGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlQnVmZmVyRm9yUGFpbnRpbmcoY29uc3QgRmxvYXRT
aXplJiwgU2hvdWxkQWNjZWxlcmF0ZSkgY29uc3Q7CisgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdl
QnVmZmVyPiBjcmVhdGVCdWZmZXJGb3JQYWludGluZyhjb25zdCBGbG9hdFNpemUmLCBSZW5kZXJp
bmdNb2RlKSBjb25zdDsKIAogICAgIC8vIFVzZWQgYnkgY2FudmFzIHRvIGdhaW4gcmF3IHBpeGVs
IGFjY2VzcwogICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0ltYWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCmlu
ZGV4IGJhMTI5OGU0Zjc0N2MzYmRiMzhmYWU4MDkyODI2ODg5NmJlZTllZjkuLjUwMjFiZDA2YjRm
MDYwYTIxNTM4YTM2NTU3NTdhMmFkMjRkOWFhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRt
YXAuY3BwCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlz
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIGF1
dG8gc291cmNlUmVjdGFuZ2xlID0gbWF5YmVTb3VyY2VSZWN0YW5nbGUucmVsZWFzZVJldHVyblZh
bHVlKCk7CiAKICAgICBhdXRvIG91dHB1dFNpemUgPSBvdXRwdXRTaXplRm9yU291cmNlUmVjdGFu
Z2xlKHNvdXJjZVJlY3RhbmdsZSwgb3B0aW9ucyk7Ci0gICAgYXV0byBiaXRtYXBEYXRhID0gdmlk
ZW8tPmNyZWF0ZUJ1ZmZlckZvclBhaW50aW5nKG91dHB1dFNpemUsIGJ1ZmZlclJlbmRlcmluZ01v
ZGUgPT0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgPyBTaG91bGRBY2NlbGVyYXRlOjpZZXMg
OiBTaG91bGRBY2NlbGVyYXRlOjpObyk7CisgICAgYXV0byBiaXRtYXBEYXRhID0gdmlkZW8tPmNy
ZWF0ZUJ1ZmZlckZvclBhaW50aW5nKG91dHB1dFNpemUsIGJ1ZmZlclJlbmRlcmluZ01vZGUpOwog
ICAgIGlmICghYml0bWFwRGF0YSkgewogICAgICAgICByZXNvbHZlV2l0aEJsYW5rSW1hZ2VCdWZm
ZXIoIXRhaW50c09yaWdpbihzY3JpcHRFeGVjdXRpb25Db250ZXh0LnNlY3VyaXR5T3JpZ2luKCks
ICp2aWRlbyksIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2UuY3BwCmluZGV4IGU4ZDY4MTNmZDRhY2ExNzQ2MjMxY2I5NTExOGMxNjE2ZWVjZTA4NTEu
LjZhODBiODQ2MDBlMGEyYmIwNTU1MjM5NTVmZTljYzYwYTlhZWMzY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2UuY3BwCkBAIC0xOTQ1LDggKzE5NDUsOCBAQCBFeGNlcHRpb25PcjxSZWZQdHI8Q2FudmFz
UGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNyZWF0ZVBhdHRlcm4oSAog
ICAgICAgICByZXR1cm4gUmVmUHRyPENhbnZhc1BhdHRlcm4+IHsgQ2FudmFzUGF0dGVybjo6Y3Jl
YXRlKEJpdG1hcEltYWdlOjpjcmVhdGUoV1RGTW92ZShuYXRpdmVJbWFnZSkpLCByZXBlYXRYLCBy
ZXBlYXRZLCBvcmlnaW5DbGVhbikgfTsKICNlbmRpZgogCi0gICAgYXV0byBzaG91bGRBY2NlbGVy
YXRlID0gIWRyYXdpbmdDb250ZXh0KCkgfHwgZHJhd2luZ0NvbnRleHQoKS0+aXNBY2NlbGVyYXRl
ZENvbnRleHQoKSA/IFNob3VsZEFjY2VsZXJhdGU6OlllcyA6IFNob3VsZEFjY2VsZXJhdGU6Ok5v
OwotICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSB2aWRlb0VsZW1lbnQuY3JlYXRlQnVmZmVyRm9yUGFp
bnRpbmcoc2l6ZSh2aWRlb0VsZW1lbnQpLCBzaG91bGRBY2NlbGVyYXRlKTsKKyAgICBhdXRvIHJl
bmRlcmluZ01vZGUgPSAhZHJhd2luZ0NvbnRleHQoKSB8fCBkcmF3aW5nQ29udGV4dCgpLT5pc0Fj
Y2VsZXJhdGVkQ29udGV4dCgpID8gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJp
bmdNb2RlOjpVbmFjY2VsZXJhdGVkOworICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSB2aWRlb0VsZW1l
bnQuY3JlYXRlQnVmZmVyRm9yUGFpbnRpbmcoc2l6ZSh2aWRlb0VsZW1lbnQpLCByZW5kZXJpbmdN
b2RlKTsKICAgICBpZiAoIWltYWdlQnVmZmVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDdjNzEwMDE1NTcyNDE3ZWYwYjM2OWNkZDc5MTkwZWRi
OGM1ZDE2M2QuLmY3OWIzMzkwZGQyZjc4ZTQ2MzViNGViODA2NjliNWVhYzk0N2M0YTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTUyMywxNCArNTIzLDkgQEAgdm9pZCBDaHJvbWU6OnNldEN1
cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKICAg
ICBtX2NsaWVudC5zZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoaGlkZGVuVW50aWxNb3Vz
ZU1vdmVzKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBDaHJvbWU6OmNyZWF0
ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgU2hvdWxkQWNjZWxlcmF0ZSBzaG91
bGRBY2NlbGVyYXRlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCBzaG91bGRVc2VEaXNwbGF5TGlzdCwg
UmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3Bh
Y2UgY29sb3JTcGFjZSkgY29uc3QKK3N0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gQ2hyb21l
OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSwgUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jbGll
bnQuY3JlYXRlSW1hZ2VCdWZmZXIoc2l6ZSwgc2hvdWxkQWNjZWxlcmF0ZSwgc2hvdWxkVXNlRGlz
cGxheUxpc3QsIHB1cnBvc2UsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSk7Ci19Ci0KLXN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gQ2hyb21lOjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25z
dCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVz
b2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fY2xpZW50LmNyZWF0ZUltYWdlQnVmZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHJlc29sdXRp
b25TY2FsZSwgY29sb3JTcGFjZSk7CisgICAgcmV0dXJuIG1fY2xpZW50LmNyZWF0ZUltYWdlQnVm
ZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHB1cnBvc2UsIHJlc29sdXRpb25TY2FsZSwgY29sb3JT
cGFjZSk7CiB9CiAKIFBsYXRmb3JtRGlzcGxheUlEIENocm9tZTo6ZGlzcGxheUlEKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5oCmluZGV4IDA2ZTUzNDI2Y2YzNzM0ZWNkNGU0YTZhYmExYzc5MTVjZDdk
NzYzNzguLmRiNGYzMjE4NmNjN2VlMWViY2M5ZDI0Y2JjMWFkMzIzMjBlZWIwNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuaApAQCAtODQsOCArODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXJzb3Io
Y29uc3QgQ3Vyc29yJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1v
dXNlTW92ZXMoYm9vbCkgb3ZlcnJpZGU7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFNob3VsZEFjY2VsZXJhdGUs
IFNob3VsZFVzZURpc3BsYXlMaXN0LCBSZW5kZXJpbmdQdXJwb3NlLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIENvbG9yU3BhY2UpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgUmVuZGVyaW5n
TW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlKSBjb25zdCBvdmVycmlkZTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0
IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0IHJlc29s
dXRpb25TY2FsZSwgQ29sb3JTcGFjZSkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBQbGF0Zm9ybURp
c3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHdpbmRvd1NjcmVl
bkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+KSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE2ZjgyZjUxNzk2ZTVhODU4ZTNi
YmYwOGI1NDBiYmZiNjc0OGViODUuLjEwNDEyNDA3OWVjMTkyN2YwMmJiODA1ZDJjNGMyZWQ2MjNl
N2M5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzIzLDggKzMyMyw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3Jl
YXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVy
biBudWxscHRyOyB9CiAKLSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hv
dWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0LCBDb2xvclNwYWNlKSBj
b25zdCB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1h
Z2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01v
ZGUsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmly
dHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0
IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0LCBDb2xv
clNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICAgICAvLyBQYXNzIG51bGxwdHIg
YXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KICAgICB2aXJ0
dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IGI0OTE1NWE2M2I4MDAy
M2FlNWNjNTk3YzAxNmQwMmJlNWRhMTBjZDUuLjRhOWY1ZDQ3ZWE4NDE4NzEzOTMwNGFlNzNhZTJm
ZTVhYjY1ZTJjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5k
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTMzLDkg
KzMzLDcgQEAgY2xhc3MgQ3Vyc29yOwogY2xhc3MgSW1hZ2VCdWZmZXI7CiAKIGVudW0gY2xhc3Mg
Q29sb3JTcGFjZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNsYXNzIFJlbmRlcmluZ01vZGUgOiB1aW50OF90
OwotZW51bSBjbGFzcyBTaG91bGRBY2NlbGVyYXRlIDogYm9vbDsKLWVudW0gY2xhc3MgU2hvdWxk
VXNlRGlzcGxheUxpc3QgOiBib29sOworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogYm9vbDsK
IGVudW0gY2xhc3MgUmVuZGVyaW5nUHVycG9zZSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIEhvc3RXaW5k
b3cgewpAQCAtNjIsOCArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRQb2ludCBhY2Nl
c3NpYmlsaXR5U2NyZWVuVG9Sb290Vmlldyhjb25zdCBJbnRQb2ludCYpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIEludFJlY3Qgcm9vdFZpZXdUb0FjY2Vzc2liaWxpdHlTY3JlZW4oY29uc3QgSW50
UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVm
ZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmLCBTaG91bGRBY2NlbGVyYXRl
LCBTaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQgcmVzb2x1dGlv
blNjYWxlLCBDb2xvclNwYWNlKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRl
cmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZl
cihjb25zdCBGbG9hdFNpemUmLCBSZW5kZXJpbmdNb2RlLCBSZW5kZXJpbmdQdXJwb3NlLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3BhY2UpIGNvbnN0ID0gMDsKIAogICAgIC8vIE1ldGhv
ZCBmb3IgcmV0cmlldmluZyB0aGUgbmF0aXZlIGNsaWVudCBvZiB0aGUgcGFnZS4KICAgICB2aXJ0
dWFsIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAKaW5k
ZXggOTI1OTMzZTg2M2I0NTlhYmJmMThkNjRlMjVlZTA3MTI0YzM4NjA0Zi4uZTNiYmI0MjYzYWEw
NzMxZmYwMzgxOTk1YjVkZTViZDNhNTU1OGJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNwcApAQCAtMzgsNTEgKzM4LDM1IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBmbG9hdCBNYXhDbGFtcGVkTGVuZ3RoID0gNDA5
NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBNYXhDbGFtcGVkQXJlYSA9IE1heENsYW1wZWRMZW5ndGgg
KiBNYXhDbGFtcGVkTGVuZ3RoOwogCi1zdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IEltYWdl
QnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplLCBTaG91bGRBY2NlbGVyYXRlIHNo
b3VsZEFjY2VsZXJhdGUsIFNob3VsZFVzZURpc3BsYXlMaXN0IHNob3VsZFVzZURpc3BsYXlMaXN0
LCBSZW5kZXJpbmdQdXJwb3NlIHB1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JT
cGFjZSBjb2xvclNwYWNlLCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93KQorc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyPiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNvbnN0IEZsb2F0U2l6ZSYg
c2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCBz
aG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlLCBmbG9hdCByZXNv
bHV0aW9uU2NhbGUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgY29uc3QgSG9zdFdpbmRvdyogaG9z
dFdpbmRvdykKIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVy
OwogICAgIGlmIChob3N0V2luZG93KQotICAgICAgICBpbWFnZUJ1ZmZlciA9IGhvc3RXaW5kb3ct
PmNyZWF0ZUltYWdlQnVmZmVyKHNpemUsIHNob3VsZEFjY2VsZXJhdGUsIHNob3VsZFVzZURpc3Bs
YXlMaXN0LCBwdXJwb3NlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOwotCi0gICAgaWYg
KCFpbWFnZUJ1ZmZlcikgewotICAgICAgICBSZW5kZXJpbmdNb2RlIG1vZGU7Ci0gICAgICAgIGlm
IChzaG91bGRVc2VEaXNwbGF5TGlzdCA9PSBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzKQotICAg
ICAgICAgICAgbW9kZSA9IHNob3VsZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVz
ID8gUmVuZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RBY2NlbGVyYXRlZCA6IFJlbmRlcmluZ01vZGU6
OkRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbW9k
ZSA9IHNob3VsZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzID8gUmVuZGVyaW5n
TW9kZTo6QWNjZWxlcmF0ZWQgOiBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkOwotICAgICAg
ICBpbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgbW9kZSwgcmVzb2x1dGlv
blNjYWxlLCBjb2xvclNwYWNlLCBob3N0V2luZG93KTsKKyAgICAgICAgaW1hZ2VCdWZmZXIgPSBo
b3N0V2luZG93LT5jcmVhdGVJbWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCBwdXJwb3Nl
LCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOworCisgICAgaWYgKCFpbWFnZUJ1ZmZlciAm
JiBzaG91bGRVc2VEaXNwbGF5TGlzdCA9PSBTaG91bGRVc2VEaXNwbGF5TGlzdDo6WWVzKSB7Cisg
ICAgICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkKQor
ICAgICAgICAgICAgaW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cp
OworICAgICAgICAKKyAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgICAgIGltYWdl
QnVmZmVyID0gRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXpl
LCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cpOwogICAgIH0KIAorICAg
IGlmICghaW1hZ2VCdWZmZXIpCisgICAgICAgIGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNy
ZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhv
c3RXaW5kb3cpOworCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwogfQogCiBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IEltYWdlQnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXpl
LCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29s
b3JTcGFjZSBjb2xvclNwYWNlLCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93KQogewogICAg
IHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7Ci0KLSAgICBzd2l0Y2gg
KHJlbmRlcmluZ01vZGUpIHsKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOgor
ICAgIAorICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVk
KQogICAgICAgICBpbWFnZUJ1ZmZlciA9IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShz
aXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIGhvc3RXaW5kb3cpOwotICAgICAgICBG
QUxMVEhST1VHSDsKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQ6Ci0gICAg
ICAgIGlmICghaW1hZ2VCdWZmZXIpCi0gICAgICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFj
ZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2Rl
OjpEaXNwbGF5TGlzdEFjY2VsZXJhdGVkOgotICAgICAgICBpbWFnZUJ1ZmZlciA9IERpc3BsYXlM
aXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwg
Y29sb3JTcGFjZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2Ug
UmVuZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkOgotICAgICAgICBpZiAoIWlt
YWdlQnVmZmVyKQotICAgICAgICAgICAgaW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFj
ZSwgaG9zdFdpbmRvdyk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2Rl
OjpSZW1vdGVBY2NlbGVyYXRlZDoKLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlJlbW90ZVVuYWNj
ZWxlcmF0ZWQ6Ci0gICAgICAgIGlmIChob3N0V2luZG93KQotICAgICAgICAgICAgaW1hZ2VCdWZm
ZXIgPSBob3N0V2luZG93LT5jcmVhdGVJbWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCBy
ZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UpOwotICAgICAgICBicmVhazsKLSAgICB9CisgICAg
CisgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgaW1hZ2VCdWZmZXIgPSBVbmFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2Us
IGhvc3RXaW5kb3cpOwogCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwogfQpAQCAtOTAsMjkgKzc0
LDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gSW1hZ2VCdWZmZXI6OmNyZWF0ZShj
b25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluCiBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+IEltYWdlQnVmZmVyOjpjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVy
PiBpbWFnZUJ1ZmZlcjsKLQotICAgIHN3aXRjaCAoY29udGV4dC5yZW5kZXJpbmdNb2RlKCkpIHsK
LSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOgorICAgIAorICAgIGlmIChjb250
ZXh0LnJlbmRlcmluZ01vZGUoKSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAg
ICAgaW1hZ2VCdWZmZXIgPSBBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgY29u
dGV4dCk7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgUmVuZGVyaW5nTW9kZTo6VW5h
Y2NlbGVyYXRlZDoKLSAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgICAgIGltYWdl
QnVmZmVyID0gVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgY29udGV4dCk7
Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBSZW5kZXJpbmdNb2RlOjpEaXNwbGF5TGlzdEFj
Y2VsZXJhdGVkOgotICAgICAgICBpbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIGNvbnRleHQpOwotICAgICAgICBGQUxMVEhST1VHSDsK
LSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OkRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZDoKLSAgICAg
ICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgICAgIGltYWdlQnVmZmVyID0gRGlzcGxheUxp
c3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBjb250ZXh0KTsKLSAgICAg
ICAgYnJlYWs7Ci0KLSAgICBjYXNlIFJlbmRlcmluZ01vZGU6OlJlbW90ZVVuYWNjZWxlcmF0ZWQ6
Ci0gICAgY2FzZSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVBY2NlbGVyYXRlZDoKLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICAKKyAgICBpZiAo
IWltYWdlQnVmZmVyKQorICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlcjo6Y3JlYXRlKHNpemUsIGNvbnRleHQpOwogCiAgICAgcmV0dXJuIGltYWdlQnVmZmVyOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5k
ZXggODVjMDdiYjA5NTEzYmEwM2JjMGVkZjUyMzczM2Y3ODQ4M2Q2NTIxYi4uZTczNmFmODIwYTVj
ZWQ2M2FlNzUxNzZhMjk5NDIzMmJkYWRmMmE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIERyYXdp
bmdDb250ZXh0OwogY2xhc3MgSW1hZ2VCdWZmZXIgewogcHVibGljOgogICAgIC8vIFdpbGwgcmV0
dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KLSAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgRmxv
YXRTaXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmlu
Z1B1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEsIENvbG9yU3BhY2UgPSBDb2xvclNw
YWNlOjpTUkdCLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBGbG9h
dFNpemUmLCBSZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNwbGF5TGlzdCwgUmVuZGVyaW5nUHVy
cG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlID0gMSwgQ29sb3JTcGFjZSA9IENvbG9yU3BhY2U6
OlNSR0IsIGNvbnN0IEhvc3RXaW5kb3cqID0gbnVsbHB0cik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEZsb2F0U2l6
ZSYsIFJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEsIENvbG9yU3BhY2Ug
PSBDb2xvclNwYWNlOjpTUkdCLCBjb25zdCBIb3N0V2luZG93KiA9IG51bGxwdHIpOwogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBGbG9hdFNpemUm
LCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oCmluZGV4IDcwNzg3MGY2YTVmZjE5OTgxMTM5OWY3
NjMwNGNjNjZhMzE3NWYyODkuLmE1YWM5YjIxNjBmYjZmZDk2NDZmNTJjYjY0YjAwZjBjOWNlZjRh
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmlu
Z01vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJpbmdN
b2RlLmgKQEAgLTMzLDE2ICszMyw3IEBAIGVudW0gY2xhc3MgUmVuZGVyaW5nUHVycG9zZSA6IHVp
bnQ4X3QgewogICAgIE1lZGlhUGFpbnRpbmcKIH07CiAKLWVudW0gY2xhc3MgU2hvdWxkQWNjZWxl
cmF0ZSA6IGJvb2wgeyBObywgWWVzIH07CiBlbnVtIGNsYXNzIFNob3VsZFVzZURpc3BsYXlMaXN0
IDogYm9vbCB7IE5vLCBZZXMgfTsKLQotZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDogdWludDhf
dCB7Ci0gICAgQWNjZWxlcmF0ZWQsCi0gICAgVW5hY2NlbGVyYXRlZCwKLSAgICBEaXNwbGF5TGlz
dEFjY2VsZXJhdGVkLAotICAgIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCwKLSAgICBSZW1vdGVB
Y2NlbGVyYXRlZCwKLSAgICBSZW1vdGVVbmFjY2VsZXJhdGVkCi19OworZW51bSBjbGFzcyBSZW5k
ZXJpbmdNb2RlIDogYm9vbCB7IFVuYWNjZWxlcmF0ZWQsIEFjY2VsZXJhdGVkIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCAxNTMyZGU0NTQ5
NDQyNTFkZmNlOTQ2NjBkZDU4NTVmZjM2MjY0ZGQ1Li5kNWJiMGYyZDAzZTZmMzVhOThlNDE5YzQx
NWQwNTZiMjk0YmU1N2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC0xMjIsMTEgKzEy
MiwxMSBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmZsdXNoRGlzcGxheUxpc3RXYXND
b21taXR0ZWQoRGlzcGxheUxpc3RGbHVzaElkZW50aQogCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFJl
bmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNw
YWNlIGNvbG9yU3BhY2UsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKHJlbmRlcmluZ01vZGUgPT0g
UmVuZGVyaW5nTW9kZTo6UmVtb3RlQWNjZWxlcmF0ZWQgfHwgcmVuZGVyaW5nTW9kZSA9PSBSZW5k
ZXJpbmdNb2RlOjpSZW1vdGVVbmFjY2VsZXJhdGVkKTsKKyAgICBBU1NFUlQocmVuZGVyaW5nTW9k
ZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCB8fCByZW5kZXJpbmdNb2RlID09IFJlbmRl
cmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkltYWdlQnVmZmVyPiBpbWFnZTsKIAotICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmlu
Z01vZGU6OlJlbW90ZUFjY2VsZXJhdGVkKQorICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRl
cmluZ01vZGU6OkFjY2VsZXJhdGVkKQogICAgICAgICBpbWFnZSA9IEFjY2VsZXJhdGVkUmVtb3Rl
SW1hZ2VCdWZmZXI6OmNyZWF0ZShsb2dpY2FsU2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNw
YWNlLCAqdGhpcywgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKIAogICAgIGlmICghaW1h
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCBkMGFhZTNjYzIwNDUwNjk2YTg5Zjk1YTVmMDY3
ZGZlZmM2ZTNlZWZiLi4yODVlMmY3NGI0ZDRmZDZlNmE4YzVlOTEwMjVhMWM5MjZmNWZmYjE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgSXRlbTsKIH0KIGNs
YXNzIEZsb2F0U2l6ZTsKIGVudW0gY2xhc3MgQ29sb3JTcGFjZSA6IHVpbnQ4X3Q7Ci1lbnVtIGNs
YXNzIFJlbmRlcmluZ01vZGUgOiB1aW50OF90OworZW51bSBjbGFzcyBSZW5kZXJpbmdNb2RlIDog
Ym9vbDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDY0NTlmYTQxZWU4ZTdhYjEzMjBlZTI3ZDIyZTY5
NzQxMzU5NDMwOTcuLmFiY2EwMjQwYjZkYTk0ZjgzNTg1YmFmMTljYjQ5NmIwOWI5MmI4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC04ODks
MTIgKzg4OSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Q29sb3JT
cGFjZT4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpSZW5kZXJpbmdN
b2RlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICBXZWJDb3JlOjpSZW5k
ZXJpbmdNb2RlLAotICAgIFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkLAogICAg
IFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsCi0gICAgV2ViQ29yZTo6UmVu
ZGVyaW5nTW9kZTo6RGlzcGxheUxpc3RBY2NlbGVyYXRlZCwKLSAgICBXZWJDb3JlOjpSZW5kZXJp
bmdNb2RlOjpEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQsCi0gICAgV2ViQ29yZTo6UmVuZGVyaW5n
TW9kZTo6UmVtb3RlQWNjZWxlcmF0ZWQsCi0gICAgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZTo6UmVt
b3RlVW5hY2NlbGVyYXRlZAorICAgIFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVk
CiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcApp
bmRleCBhY2NmYzY4OWM3N2Y3MzljODg1OWY3ZDljMTc1NDZjNjY0MDc3ZTU0Li43YTAxOTMwYWI2
NmM0NDczMDUxMDkzMDM0ZDRmMzZkMmMwZTY0OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHkuY3BwCkBAIC04NywyMCArODcsMTUgQEAgYm9vbCBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHk6OndhaXRGb3JGbHVzaERpc3BsYXlMaXN0V2FzQ29tbWl0dGVkKCkKICAg
ICByZXR1cm4gY29ubmVjdGlvbi0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2Fn
ZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Rmx1c2hEaXNwbGF5TGlzdFdhc0NvbW1p
dHRlZD4obV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgMV9zLCBJUEM6OldhaXRGb3JPcHRp
b246OkludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKLXN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJ1ZmZlcj4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpjcmVhdGVJ
bWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFNob3VsZEFjY2VsZXJhdGUgc2hvdWxk
QWNjZWxlcmF0ZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2Up
CitzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eTo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBSZW5kZXJpbmdNb2Rl
IHJlbmRlcmluZ01vZGUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSBjb2xvclNw
YWNlKQogewotICAgIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZTsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyOwogCi0gICAgaWYgKHNob3Vs
ZEFjY2VsZXJhdGUgPT0gU2hvdWxkQWNjZWxlcmF0ZTo6WWVzKSB7Ci0gICAgICAgIHJlbmRlcmlu
Z01vZGUgPSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVBY2NlbGVyYXRlZDsKKyAgICBpZiAocmVuZGVy
aW5nTW9kZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAgICAgaW1hZ2VCdWZm
ZXIgPSBBY2NlbGVyYXRlZFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmNyZWF0ZShzaXplLCByZXNv
bHV0aW9uU2NhbGUsICp0aGlzKTsKLSAgICB9CiAKLSAgICBpZiAoIWltYWdlQnVmZmVyKSB7Ci0g
ICAgICAgIHJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpSZW1vdGVVbmFjY2VsZXJhdGVk
OworICAgIGlmICghaW1hZ2VCdWZmZXIpCiAgICAgICAgIGltYWdlQnVmZmVyID0gVW5hY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUs
ICp0aGlzKTsKLSAgICB9CiAKICAgICBpZiAoaW1hZ2VCdWZmZXIpIHsKICAgICAgICAgc2VuZChN
ZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Q3JlYXRlSW1hZ2VCdWZmZXIoc2l6ZSwg
cmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBpbWFnZUJ1ZmZlci0+
cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpLCBtX3JlbmRlcmluZ0JhY2tlbmRJZGVudGlm
aWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCmluZGV4IDQzNjFiYWFm
ZWZjMzUwYzcwMDlhOTdhNmRiNjhkNTI1ZWJjMWU0NTcuLjk5NTY1YjZmMTY2YmIyZDgwNjE0MTg0
OTcyZTM0MzcwNmNlN2ZlYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
aApAQCAtNDUsOCArNDUsNyBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBJbWFnZURhdGE7CiBl
bnVtIGNsYXNzIEFscGhhUHJlbXVsdGlwbGljYXRpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBD
b2xvclNwYWNlIDogdWludDhfdDsKLWVudW0gY2xhc3MgUmVuZGVyaW5nTW9kZSA6IHVpbnQ4X3Q7
Ci1lbnVtIGNsYXNzIFNob3VsZEFjY2VsZXJhdGUgOiBib29sOworZW51bSBjbGFzcyBSZW5kZXJp
bmdNb2RlIDogYm9vbDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03MCw3ICs2OSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZXMgdG8gYmUgc2VudC4KLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVy
KGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIFdlYkNvcmU6OlNob3VsZEFjY2VsZXJhdGUsIGZs
b2F0IHJlc29sdXRpb25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpGbG9hdFNpemUmLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIFdlYkNvcmU6OkNvbG9yU3BhY2UpOwogICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZURh
dGE+IGdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZv
cm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgV2ViQ29yZTo6UmVuZGVyaW5n
UmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB2b2lkIGZsdXNoRGlzcGxheUxpc3QoY29uc3QgV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0JiwgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyKTsKICAgICBEaXNwbGF5TGlzdEZsdXNoSWRlbnRpZmllciBmbHVzaERpc3Bs
YXlMaXN0QW5kQ29tbWl0KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYs
IFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCmluZGV4IGY4Zjk0YzRhYTg3Njg4YTYyNDBkNDNmNjUwMjNkMDEyZmY5N2RhZWYuLjI5Nzlh
ZTBjZmRhNTI1MzU2MzhmYTAzYTBhY2EyNDZiYTQxYjdjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCkBAIC05MDYsMTIgKzkwNiwxMiBAQCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkmIFdl
YkNocm9tZUNsaWVudDo6ZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KAogICAgIHJl
dHVybiAqbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxJbWFnZUJ1ZmZlcj4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBG
bG9hdFNpemUmIHNpemUsIFNob3VsZEFjY2VsZXJhdGUgc2hvdWxkQWNjZWxlcmF0ZSwgU2hvdWxk
VXNlRGlzcGxheUxpc3Qgc2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1cnBvc2UgcHVy
cG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpIGNvbnN0
CitzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlSW1h
Z2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01v
ZGUsIFJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3BhZ2Uuc2hvdWxkVXNlUmVt
b3RlUmVuZGVyaW5nRm9yKHB1cnBvc2UpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAg
IHJldHVybiBlbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5jcmVhdGVJbWFnZUJ1
ZmZlcihzaXplLCBzaG91bGRBY2NlbGVyYXRlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2Up
OworICAgIHJldHVybiBlbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5jcmVhdGVJ
bWFnZUJ1ZmZlcihzaXplLCByZW5kZXJpbmdNb2RlLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3Bh
Y2UpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDg3YzFiOGRkY2Y5YjY1OWU1ZGE3YjNhYmUyODNiZmUxNGE2ZDBkZDMuLmY1NDc5NGE2
MjM2YjVlMGQ1N2JmNzczOTZjMzY3ZGE2NzBlZDdjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTI0NCw3ICsyNDQsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAg
IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSYgZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5KCkgY29uc3Q7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkltYWdlQnVmZmVy
PiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBXZWJDb3JlOjpT
aG91bGRBY2NlbGVyYXRlLCBXZWJDb3JlOjpTaG91bGRVc2VEaXNwbGF5TGlzdCwgV2ViQ29yZTo6
UmVuZGVyaW5nUHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBXZWJDb3JlOjpDb2xvclNw
YWNlKSBjb25zdCBmaW5hbDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VCdWZm
ZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIFdlYkNvcmU6
OlJlbmRlcmluZ01vZGUsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0IHJlc29sdXRp
b25TY2FsZSwgV2ViQ29yZTo6Q29sb3JTcGFjZSkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAogICAg
IENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIGFsbG93ZWRDb21wb3NpdGluZ1RyaWdnZXJzKCkgY29u
c3QgZmluYWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>