<?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>239269</bug_id>
          
          <creation_ts>2022-04-12 18:15:05 -0700</creation_ts>
          <short_desc>Remove support for drawing cropped image overlays when hovering over &quot;Copy Cropped Image&quot;</short_desc>
          <delta_ts>2022-04-12 22:00:17 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1860988</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-12 18:15:05 -0700</bug_when>
    <thetext>This code is no longer necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860991</commentid>
    <comment_count>1</comment_count>
      <attachid>457496</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-12 18:21:52 -0700</bug_when>
    <thetext>Created attachment 457496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860994</commentid>
    <comment_count>2</comment_count>
      <attachid>457497</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-12 18:30:50 -0700</bug_when>
    <thetext>Created attachment 457497
Fix watchOS/tvOS builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861026</commentid>
    <comment_count>3</comment_count>
      <attachid>457497</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-12 21:15:59 -0700</bug_when>
    <thetext>Comment on attachment 457497
Fix watchOS/tvOS builds

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861037</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-12 21:59:28 -0700</bug_when>
    <thetext>Committed r292800 (249582@main): &lt;https://commits.webkit.org/249582@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457497.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861038</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-12 22:00:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/91669049&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457496</attachid>
            <date>2022-04-12 18:21:52 -0700</date>
            <delta_ts>2022-04-12 18:42:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239269-20220412182151.patch</filename>
            <type>text/plain</type>
            <size>32134</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YxZGQxMjk1ZjM1ZTEx
ZjkzMzQ0YTI5MWE4ZGJlM2ZhNjZjYzYxNC4uMGZmNTI5ZWQ5OTZhMjM2OWM3OGUxNTExZTRlM2E0
ZWE5YWYwOTUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTA0LTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzdXBw
b3J0IGZvciBkcmF3aW5nIGNyb3BwZWQgaW1hZ2Ugb3ZlcmxheXMgd2hlbiBob3ZlcmluZyBvdmVy
ICJDb3B5IENyb3BwZWQgSW1hZ2UiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzkyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZXZlcnQgPGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3IyOTAyMTE+IC0t
IHRoZSBjb3JyZXNwb25kaW5nIFVJIGlzIG5vIGxvbmdlciBwbGFuIG9mIHJlY29yZC4KKworICAg
ICAgICAqIGRvbS9JbWFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVy
bGF5OjppbWFnZU92ZXJsYXlDcm9wcGVkSW1hZ2VJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6aW1hZ2VPdmVybGF5Q3JvcHBlZEltYWdlQmFja2Ry
b3BJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6
Q3JvcHBlZEltYWdlOjppbnN0YWxsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
T3ZlcmxheTo6Q3JvcHBlZEltYWdlOjpDcm9wcGVkSW1hZ2UpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VPdmVybGF5OjpDcm9wcGVkSW1hZ2U6On5Dcm9wcGVkSW1hZ2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVybGF5OjpDcm9wcGVkSW1hZ2U6OnNldFZp
c2liaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9JbWFnZU92ZXJsYXkuaDoKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9pbWFnZU92ZXJsYXkuY3NzOgorICAgICAgICAoZGl2LmltYWdlLW92
ZXJsYXktZGF0YS1kZXRlY3Rvci1yZXN1bHQpOgorICAgICAgICAoaW1nI2ltYWdlLW92ZXJsYXkt
Y3JvcHBlZC1pbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChkaXYjaW1hZ2Utb3ZlcmxheS1jcm9w
cGVkLWltYWdlLWJhY2tkcm9wKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omluc3RhbGxDcm9wcGVkSW1hZ2VP
dmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dW5pbnN0YWxs
Q3JvcHBlZEltYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjItMDQtMTIgIFR5
bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW5jb3JyZWN0
IHJvbGUgb24gZHluYW1pYyBsaXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjYjdiYmYyMWM5MDMwYjk5NGNlZDMx
NDlkZDVkZDNlNDgwMjY5YWQ0Li5mZmZlYWQxMjJiYjNhM2RhODgyZjY2ZmU4OWQ2YzU3MzA4ZGE1
MmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTEyICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBk
cmF3aW5nIGNyb3BwZWQgaW1hZ2Ugb3ZlcmxheXMgd2hlbiBob3ZlcmluZyBvdmVyICJDb3B5IENy
b3BwZWQgSW1hZ2UiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6Q29udGV4dE1lbnVDb250ZXh0RGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q29udGV4dERhdGE6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q29udGV4dERhdGE6OmRlY29kZSk6CisgICAgICAgICog
U2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4
dE1lbnVDb250ZXh0RGF0YTo6aGl0VGVzdGVkRWxlbWVudENvbnRleHQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmRpZERpc21pc3NDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29u
dGV4dE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKC1bV0tNZW51RGVsZWdhdGUgbWVudTp3aWxs
SGlnaGxpZ2h0SXRlbTpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBh
Z2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5kbGVDb250
ZXh0TWVudUNvcHlDcm9wcGVkSW1hZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OndpbGxIaWdobGlnaHRDb250ZXh0TWVudUl0ZW0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNv
bnRleHRNZW51OjpzaG93KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZERpc21pc3NDb250ZXh0TWVudSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Q3JvcHBlZEltYWdlT3ZlcmxheVZp
c2liaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisK
IDIwMjItMDQtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBsb2dnaW5nIGluIGNhc2UgV2Vic2l0ZURhdGFTdG9yZSBpcyBub3QgZm91bmQgZm9yIHBl
cnNpc3RlbnQgbm90aWZpY2F0aW9uIGV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0ltYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNw
cAppbmRleCBlNGY2YWVhNjVhMTNhY2E1ZTBhNzY0OWVjYmFiOTA1NjI2OTE3YmNkLi4zZTAyOTZk
MjAwZjM0NzExMmUzYTAxNzRmNjNiZmI0NGVjZGY2ZmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VP
dmVybGF5LmNwcApAQCAtMTAxLDE4ICsxMDEsNiBAQCBzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYg
aW1hZ2VPdmVybGF5QmxvY2tDbGFzcygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCiAKLXN0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZU92ZXJsYXlDcm9wcGVkSW1hZ2VJ
ZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0
IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZSIsIEF0
b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICByZXR1cm4gaWRlbnRpZmllcjsK
LX0KLQotc3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlT3ZlcmxheUNyb3BwZWRJbWFnZUJh
Y2tkcm9wSWRlbnRpZmllcigpCi17Ci0gICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3ll
ZDxjb25zdCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1vdmVybGF5LWNyb3BwZWQtaW1h
Z2UtYmFja2Ryb3AiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgcmV0
dXJuIGlkZW50aWZpZXI7Ci19Ci0KIGJvb2wgaGFzT3ZlcmxheShjb25zdCBIVE1MRWxlbWVudCYg
ZWxlbWVudCkKIHsKICAgICBhdXRvIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jvb3QoKTsK
QEAgLTY5NSw4NyArNjgzLDUgQEAgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0
KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb24KIAogI2VuZGlmIC8v
IEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAotc3RkOjp1bmlxdWVfcHRyPENyb3BwZWRJbWFnZT4g
Q3JvcHBlZEltYWdlOjppbnN0YWxsKEhUTUxFbGVtZW50JiBob3N0LCBSZWY8U2hhcmVkQnVmZmVy
PiYmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgRmxvYXRSZWN0IG5vcm1hbGl6
ZWRSZWN0KQotewotICAgIFJlZiBkb2N1bWVudCA9IGhvc3QuZG9jdW1lbnQoKTsKLSAgICBSZWYg
c2hhZG93Um9vdCA9IGhvc3QuZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOwotICAgIFJlZlB0
ciBpbWFnZU92ZXJsYXlSb290ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxEaXZFbGVtZW50PihzaGFk
b3dSb290LT5nZXRFbGVtZW50QnlJZChpbWFnZU92ZXJsYXlFbGVtZW50SWRlbnRpZmllcigpKSk7
Ci0gICAgaWYgKCFpbWFnZU92ZXJsYXlSb290KSB7Ci0gICAgICAgIGltYWdlT3ZlcmxheVJvb3Qg
PSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKLSAgICAgICAgaW1hZ2VP
dmVybGF5Um9vdC0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VPdmVybGF5RWxlbWVudElkZW50aWZpZXIo
KSk7Ci0gICAgICAgIGltYWdlT3ZlcmxheVJvb3QtPnNldFRyYW5zbGF0ZShmYWxzZSk7Ci0gICAg
ICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKCppbWFnZU92ZXJsYXlSb290KTsKLSAgICAgICAg
aW5zdGFsbEltYWdlT3ZlcmxheVN0eWxlU2hlZXQoc2hhZG93Um9vdC5nZXQoKSk7Ci0gICAgfQot
Ci0gICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwot
Ci0gICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckltYWdlPiho
b3N0LnJlbmRlcmVyKCkpKQotICAgICAgICByZW5kZXJlci0+c2V0SGFzSW1hZ2VPdmVybGF5KCk7
Ci0KLSAgICBhdXRvIGNvbnRhaW5lclJlY3QgPSBJbWFnZU92ZXJsYXk6OmNvbnRhaW5lclJlY3Qo
aG9zdCk7Ci0gICAgYXV0byBjcm9wUmVjdCA9IG5vcm1hbGl6ZWRSZWN0OwotICAgIGNyb3BSZWN0
LnNjYWxlKGNvbnRhaW5lclJlY3Qud2lkdGgoKSwgY29udGFpbmVyUmVjdC5oZWlnaHQoKSk7Ci0g
ICAgY3JvcFJlY3QubW92ZShjb250YWluZXJSZWN0LngoKSwgY29udGFpbmVyUmVjdC55KCkpOwot
Ci0gICAgYXV0byBjcm9wcGVkSW1hZ2VCYWNrZHJvcCA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQuZ2V0KCkpOwotICAgIGNyb3BwZWRJbWFnZUJhY2tkcm9wLT5zZXRJZEF0dHJpYnV0
ZShpbWFnZU92ZXJsYXlDcm9wcGVkSW1hZ2VCYWNrZHJvcElkZW50aWZpZXIoKSk7Ci0gICAgaW1h
Z2VPdmVybGF5Um9vdC0+YXBwZW5kQ2hpbGQoY3JvcHBlZEltYWdlQmFja2Ryb3AuZ2V0KCkpOwot
Ci0gICAgYXV0byBjcm9wcGVkSW1hZ2UgPSBIVE1MSW1hZ2VFbGVtZW50OjpjcmVhdGUoZG9jdW1l
bnQuZ2V0KCkpOwotICAgIGF1dG8gY3JvcHBlZEltYWdlVVJMID0gRE9NVVJMOjpjcmVhdGVPYmpl
Y3RVUkwoZG9jdW1lbnQuZ2V0KCksIEJsb2I6OmNyZWF0ZShkb2N1bWVudC5wdHIoKSwgaW1hZ2VE
YXRhLT5leHRyYWN0RGF0YSgpLCBtaW1lVHlwZSkpOwotICAgIGNyb3BwZWRJbWFnZS0+c2V0SWRB
dHRyaWJ1dGUoaW1hZ2VPdmVybGF5Q3JvcHBlZEltYWdlSWRlbnRpZmllcigpKTsKLSAgICBjcm9w
cGVkSW1hZ2UtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpz
cmNBdHRyLCBjcm9wcGVkSW1hZ2VVUkwpOwotICAgIGNyb3BwZWRJbWFnZS0+c2V0SW5saW5lU3R5
bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUxlZnQsIGNyb3BSZWN0LngoKSwgQ1NTVW5pdFR5cGU6OkNT
U19QWCk7Ci0gICAgY3JvcHBlZEltYWdlLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5VG9wLCBjcm9wUmVjdC55KCksIENTU1VuaXRUeXBlOjpDU1NfUFgpOwotICAgIGNyb3BwZWRJ
bWFnZS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBjcm9wUmVjdC53
aWR0aCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKLSAgICBjcm9wcGVkSW1hZ2UtPnNldElubGlu
ZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIGNyb3BSZWN0LmhlaWdodCgpLCBDU1NV
bml0VHlwZTo6Q1NTX1BYKTsKLSAgICBpbWFnZU92ZXJsYXlSb290LT5hcHBlbmRDaGlsZChjcm9w
cGVkSW1hZ2UuZ2V0KCkpOwotCi0gICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOwotICAgIGNyb3BwZWRJbWFnZUJhY2tkcm9wLT5zZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC41LCBDU1NVbml0VHlwZTo6Q1NTX05VTUJF
Uik7Ci0KLSAgICByZXR1cm4gbWFrZVVuaXF1ZTxDcm9wcGVkSW1hZ2U+KGRvY3VtZW50LmdldCgp
LCBob3N0LCBjcm9wcGVkSW1hZ2VCYWNrZHJvcC5nZXQoKSwgY3JvcHBlZEltYWdlVVJMKTsKLX0K
LQotQ3JvcHBlZEltYWdlOjpDcm9wcGVkSW1hZ2UoRG9jdW1lbnQmIGRvY3VtZW50LCBIVE1MRWxl
bWVudCYgaG9zdCwgSFRNTEVsZW1lbnQmIGNyb3BwZWRJbWFnZUJhY2tkcm9wLCBjb25zdCBTdHJp
bmcmIGltYWdlVVJMKQotICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKLSAgICAsIG1faG9zdCho
b3N0KQotICAgICwgbV9jcm9wcGVkSW1hZ2VCYWNrZHJvcChjcm9wcGVkSW1hZ2VCYWNrZHJvcCkK
LSAgICAsIG1faW1hZ2VVUkwoaW1hZ2VVUkwpCi17Ci0gICAgc2V0VmlzaWJpbGl0eSh0cnVlKTsK
LX0KLQotQ3JvcHBlZEltYWdlOjp+Q3JvcHBlZEltYWdlKCkKLXsKLSAgICBpZiAoUmVmUHRyIGRv
Y3VtZW50ID0gbV9kb2N1bWVudC5nZXQoKSkKLSAgICAgICAgRE9NVVJMOjpyZXZva2VPYmplY3RV
UkwoKmRvY3VtZW50LCBtX2ltYWdlVVJMKTsKLQotICAgIFJlZlB0ciBob3N0ID0gbV9ob3N0Lmdl
dCgpOwotICAgIGlmICghaG9zdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyIHNoYWRv
d1Jvb3QgPSBob3N0LT5zaGFkb3dSb290KCk7Ci0gICAgaWYgKCFzaGFkb3dSb290IHx8IHNoYWRv
d1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoUmVmUHRyIGNyb3BwZWRJbWFnZSA9IHNoYWRvd1Jvb3QtPmdldEVsZW1l
bnRCeUlkKGltYWdlT3ZlcmxheUNyb3BwZWRJbWFnZUlkZW50aWZpZXIoKSkpCi0gICAgICAgIGNy
b3BwZWRJbWFnZS0+cmVtb3ZlKCk7Ci0KLSAgICBpZiAoUmVmUHRyIGNyb3BwZWRJbWFnZUJhY2tk
cm9wID0gc2hhZG93Um9vdC0+Z2V0RWxlbWVudEJ5SWQoaW1hZ2VPdmVybGF5Q3JvcHBlZEltYWdl
QmFja2Ryb3BJZGVudGlmaWVyKCkpKQotICAgICAgICBjcm9wcGVkSW1hZ2VCYWNrZHJvcC0+cmVt
b3ZlKCk7Ci19Ci0KLXZvaWQgQ3JvcHBlZEltYWdlOjpzZXRWaXNpYmlsaXR5KGJvb2wgdmlzaWJs
ZSkKLXsKLSAgICBSZWZQdHIgY3JvcHBlZEltYWdlQmFja2Ryb3AgPSBtX2Nyb3BwZWRJbWFnZUJh
Y2tkcm9wLmdldCgpOwotICAgIGlmICghY3JvcHBlZEltYWdlQmFja2Ryb3ApCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGNyb3BwZWRJbWFnZUJhY2tkcm9wLT5kb2N1bWVudCgpLnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIGNyb3BwZWRJbWFnZUJhY2tkcm9wLT5z
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgdmlzaWJsZSA/IDAuNSA6
IDAsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSW1hZ2VP
dmVybGF5CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vSW1hZ2VPdmVybGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmgK
aW5kZXggYTgxMWI3Yzg4NzQ0MDg5MDQ0MWE0YWQzMTgzZWY3NjE1ZGQ5ODRmYy4uOTg5MjZjZTlj
ZmQ5NzVlYjBlYTM1NmQ3Yzg1MzlkMTAxMjRkZTljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0ltYWdlT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJs
YXkuaApAQCAtNjAsMjQgKzYwLDYgQEAgZW51bSBjbGFzcyBDYWNoZVRleHRSZWNvZ25pdGlvblJl
c3VsdHMgOiBib29sIHsgTm8sIFllcyB9OwogV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVXaXRo
VGV4dFJlY29nbml0aW9uUmVzdWx0KEhUTUxFbGVtZW50JiwgY29uc3QgVGV4dFJlY29nbml0aW9u
UmVzdWx0JiwgQ2FjaGVUZXh0UmVjb2duaXRpb25SZXN1bHRzID0gQ2FjaGVUZXh0UmVjb2duaXRp
b25SZXN1bHRzOjpZZXMpOwogI2VuZGlmCiAKLWNsYXNzIENyb3BwZWRJbWFnZSB7Ci0gICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3JvcHBlZElt
YWdlKTsKLXB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PENyb3BwZWRJbWFnZT4gaW5zdGFsbChIVE1MRWxlbWVudCYsIFJlZjxTaGFyZWRCdWZmZXI+JiYs
IGNvbnN0IFN0cmluZyYsIEZsb2F0UmVjdCk7Ci0KLSAgICBDcm9wcGVkSW1hZ2UoRG9jdW1lbnQm
LCBIVE1MRWxlbWVudCYsIEhUTUxFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBpbWFnZVVSTCk7Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgfkNyb3BwZWRJbWFnZSgpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRWaXNpYmlsaXR5KGJvb2wpOwotCi1wcml2YXRlOgotICAgIFdlYWtQdHI8RG9jdW1l
bnQ+IG1fZG9jdW1lbnQ7Ci0gICAgV2Vha1B0cjxIVE1MRWxlbWVudD4gbV9ob3N0OwotICAgIFdl
YWtQdHI8SFRNTEVsZW1lbnQ+IG1fY3JvcHBlZEltYWdlQmFja2Ryb3A7Ci0gICAgU3RyaW5nIG1f
aW1hZ2VVUkw7Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBJbWFnZU92ZXJsYXkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvaW1h
Z2VPdmVybGF5LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MKaW5kZXggMmQyNGYzMDc5MmY2YjA5Mzg3MTYwZWY5MTgzMTRiMTRiMmE1ZmU1My4uYjlkOWEy
MDhkNTRhODQyYzc2Y2IxMGQzYjVhMmM4MTQ2NmRhNjlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9pbWFnZU92ZXJsYXkuY3NzCkBAIC04NSwxOCArODUsMyBAQCBkaXYuaW1hZ2Ut
b3ZlcmxheS1kYXRhLWRldGVjdG9yLXJlc3VsdCB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwog
ICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiB9Ci0KLWltZyNpbWFnZS1vdmVybGF5LWNy
b3BwZWQtaW1hZ2UgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICBwb2ludGVyLWV2ZW50
czogbm9uZTsKLX0KLQotZGl2I2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1iYWNrZHJvcCB7
Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGJhY2tncm91bmQ6IHdoaXRlOwotICAgIHdp
ZHRoOiAxMDAlOwotICAgIGhlaWdodDogMTAwJTsKLSAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAu
NXMgZWFzZS1pbi1vdXQ7Ci0gICAgb3BhY2l0eTogMDsKLSAgICBwb2ludGVyLWV2ZW50czogbm9u
ZTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBmZjAzYjVmMTNhODhm
ZGU3M2Q5MmRjZDUxZDBhOTI3OWY1MjAwY2RiLi40NDZhZjIxNTY2Yzc4YjUxOWYyNDM0ZmE3MmI5
ZDg1NDYzMTEzZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01OTUw
LDI5ICs1OTUwLDYgQEAgdm9pZCBJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVu
dCYgZWxlbWVudCwgVmVjdG9yPEltYWdlT3ZlcmxheUxpbmU+JiYKICNlbmRpZgogfQogCi12b2lk
IEludGVybmFsczo6aW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkoRWxlbWVudCYgZWxlbWVudCwg
UmVmPERPTVJlY3RSZWFkT25seT4mJiBub3JtYWxpemVkQ3JvcFJlY3QpCi17Ci0gICAgUmVmUHRy
IGh0bWxFbGVtZW50ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxFbGVtZW50PihlbGVtZW50KTsKLSAg
ICBpZiAoIWh0bWxFbGVtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIGltYWdlRGF0
YSA9IHBuZ0RhdGFGb3JUZXN0aW5nKCk7Ci0gICAgaWYgKCFpbWFnZURhdGEpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1fY3JvcHBlZEltYWdlT3ZlcmxheSA9IEltYWdlT3ZlcmxheTo6Q3JvcHBl
ZEltYWdlOjppbnN0YWxsKCpodG1sRWxlbWVudCwgaW1hZ2VEYXRhLnJlbGVhc2VOb25OdWxsKCks
ICJpbWFnZS9wbmciX3MsIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRD
cm9wUmVjdC0+eCgpKSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDcm9w
UmVjdC0+eSgpKSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDcm9wUmVj
dC0+d2lkdGgoKSksCi0gICAgICAgIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQ3JvcFJl
Y3QtPmhlaWdodCgpKQotICAgIH0pOwotfQotCi12b2lkIEludGVybmFsczo6dW5pbnN0YWxsQ3Jv
cHBlZEltYWdlT3ZlcmxheSgpCi17Ci0gICAgbV9jcm9wcGVkSW1hZ2VPdmVybGF5ID0gbnVsbHB0
cjsKLX0KLQogYm9vbCBJbnRlcm5hbHM6Omhhc0FjdGl2ZURhdGFEZXRlY3RvckhpZ2hsaWdodCgp
IGNvbnN0CiB7CiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKSAmJiBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAxNzdkOTA3YTI4NWNkOTZk
MTFiZWI4MGI1NmEyZWI1ZTU1YTA1MjY1Li45MmM2YzZlMDJlOWY2YmMxMDI0MjU5MzI4MzVhODM1
ODQ5YWFmZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTk4Niw4ICs5ODYs
NiBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHZvaWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVt
ZW50JiwgVmVjdG9yPEltYWdlT3ZlcmxheUxpbmU+JiYsIFZlY3RvcjxJbWFnZU92ZXJsYXlCbG9j
az4mJiA9IHsgfSwgVmVjdG9yPEltYWdlT3ZlcmxheURhdGFEZXRlY3Rvcj4mJiA9IHsgfSk7Ci0g
ICAgdm9pZCBpbnN0YWxsQ3JvcHBlZEltYWdlT3ZlcmxheShFbGVtZW50JiwgUmVmPERPTVJlY3RS
ZWFkT25seT4mJik7Ci0gICAgdm9pZCB1bmluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KCk7CiAg
ICAgYm9vbCBoYXNBY3RpdmVEYXRhRGV0ZWN0b3JIaWdobGlnaHQoKSBjb25zdDsKIAogI2lmIEVO
QUJMRShJTUFHRV9BTkFMWVNJUykKQEAgLTEzNTMsOCArMTM1MSw2IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKFZJREVPKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYXB0aW9uVXNlclByZWZlcmVuY2Vz
VGVzdGluZ01vZGVUb2tlbj4gbV90ZXN0aW5nTW9kZVRva2VuOwogI2VuZGlmCi0KLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8SW1hZ2VPdmVybGF5OjpDcm9wcGVkSW1hZ2U+IG1fY3JvcHBlZEltYWdlT3Zl
cmxheTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAppbmRleCBiYTdkY2VkZGQwODRiNTQ1MTM0NGViMDU4NTVkZWJhZDg4ODFiM2Iy
Li5mYmMwYjc4YjczMmIxMDk0MTAzY2QyOTU3ZTk0N2MxZmJlN2Q4ZjEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC05OTgsOCArOTk4LDYgQEAgdHlwZWRlZiAoRmV0Y2hS
ZXF1ZXN0IG9yIEZldGNoUmVzcG9uc2UpIEZldGNoT2JqZWN0OwogICAgIFtDb25kaXRpb25hbD1J
TUFHRV9BTkFMWVNJU10gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRleHRSZWNvZ25pdGlv
bkNhbmRpZGF0ZTsKICAgICBbQ29uZGl0aW9uYWw9SU1BR0VfQU5BTFlTSVNdIHVuZGVmaW5lZCBy
ZXF1ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQgZWxlbWVudCwgVm9pZENhbGxiYWNrIGNhbGxi
YWNrKTsKICAgICB1bmRlZmluZWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50IGVsZW1lbnQs
IHNlcXVlbmNlPEltYWdlT3ZlcmxheUxpbmU+IGxpbmVzLCBvcHRpb25hbCBzZXF1ZW5jZTxJbWFn
ZU92ZXJsYXlCbG9jaz4gYmxvY2tzID0gW10sIG9wdGlvbmFsIHNlcXVlbmNlPEltYWdlT3Zlcmxh
eURhdGFEZXRlY3Rvcj4gZGF0YURldGVjdG9ycyA9IFtdKTsKLSAgICB1bmRlZmluZWQgaW5zdGFs
bENyb3BwZWRJbWFnZU92ZXJsYXkoRWxlbWVudCBlbGVtZW50LCBET01SZWN0UmVhZE9ubHkgbm9y
bWFsaXplZENyb3BSZWN0KTsKLSAgICB1bmRlZmluZWQgdW5pbnN0YWxsQ3JvcHBlZEltYWdlT3Zl
cmxheSgpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGhhc0FjdGl2ZURhdGFEZXRl
Y3RvckhpZ2hsaWdodDsKIAogICAgIGJvb2xlYW4gdXNpbmdBcHBsZUludGVybmFsU0RLKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCmluZGV4
IDFmNzgxMjc4NjE1NDBkZWQ3YzlhMDQ4NjJhNDcwMzEyMGIwMTU3ZTAuLjA0MDM2MjAwMGY1ZjM1
ZDRjYjU2NzJmNWM3Zjc2YWFhMTgyMTc2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCkBAIC00MywxNCArNDMsMTMgQEAgQ29udGV4dE1l
bnVDb250ZXh0RGF0YTo6Q29udGV4dE1lbnVDb250ZXh0RGF0YSgpCiB7CiB9CiAKLUNvbnRleHRN
ZW51Q29udGV4dERhdGE6OkNvbnRleHRNZW51Q29udGV4dERhdGEoY29uc3QgSW50UG9pbnQmIG1l
bnVMb2NhdGlvbiwgc3RkOjpvcHRpb25hbDxFbGVtZW50Q29udGV4dD4mJiBoaXRUZXN0ZWRFbGVt
ZW50Q29udGV4dCwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
IG1lbnVJdGVtcywgY29uc3QgQ29udGV4dE1lbnVDb250ZXh0JiBjb250ZXh0KQorQ29udGV4dE1l
bnVDb250ZXh0RGF0YTo6Q29udGV4dE1lbnVDb250ZXh0RGF0YShjb25zdCBJbnRQb2ludCYgbWVu
dUxvY2F0aW9uLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYg
bWVudUl0ZW1zLCBjb25zdCBDb250ZXh0TWVudUNvbnRleHQmIGNvbnRleHQpCiAjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgOiBtX3R5cGUoY29udGV4dC5jb250cm9sbGVkSW1hZ2Uo
KSA/IFR5cGU6OlNlcnZpY2VzTWVudSA6IGNvbnRleHQudHlwZSgpKQogI2Vsc2UKICAgICA6IG1f
dHlwZShjb250ZXh0LnR5cGUoKSkKICNlbmRpZgogICAgICwgbV9tZW51TG9jYXRpb24obWVudUxv
Y2F0aW9uKQotICAgICwgbV9oaXRUZXN0ZWRFbGVtZW50Q29udGV4dChXVEZNb3ZlKGhpdFRlc3Rl
ZEVsZW1lbnRDb250ZXh0KSkKICAgICAsIG1fbWVudUl0ZW1zKG1lbnVJdGVtcykKICAgICAsIG1f
d2ViSGl0VGVzdFJlc3VsdERhdGEoeyBjb250ZXh0LmhpdFRlc3RSZXN1bHQoKSwgdHJ1ZSB9KQog
ICAgICwgbV9zZWxlY3RlZFRleHQoY29udGV4dC5zZWxlY3RlZFRleHQoKSkKQEAgLTk1LDcgKzk0
LDYgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRleHREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgbV90eXBlOwogICAgIGVuY29kZXIgPDwg
bV9tZW51TG9jYXRpb247Ci0gICAgZW5jb2RlciA8PCBtX2hpdFRlc3RlZEVsZW1lbnRDb250ZXh0
OwogICAgIGVuY29kZXIgPDwgbV9tZW51SXRlbXM7CiAgICAgZW5jb2RlciA8PCBtX3dlYkhpdFRl
c3RSZXN1bHREYXRhOwogICAgIGVuY29kZXIgPDwgbV9zZWxlY3RlZFRleHQ7CkBAIC0xMjMsOSAr
MTIxLDYgQEAgYm9vbCBDb250ZXh0TWVudUNvbnRleHREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVy
JiBkZWNvZGVyLCBDb250ZXh0TWVudUNvbnRleHREYXQKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5tX21lbnVMb2NhdGlvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1faGl0VGVzdGVkRWxlbWVudENvbnRleHQpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX21l
bnVJdGVtcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oCmluZGV4IDE5MmE2ODI0MTg3NGZhODVkNGRlMTU3
OGMyZDUxOWRkNmMxZDk2NzQuLmQwMWFlNjdmMDhiOTRjMTQxN2EyN2QxNWIwN2QyM2VmMmYxNDVm
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERh
dGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgK
QEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IFdlYkNvcmU6OkNv
bnRleHRNZW51Q29udGV4dDo6VHlwZTsKIAogICAgIENvbnRleHRNZW51Q29udGV4dERhdGEoKTsK
LSAgICBDb250ZXh0TWVudUNvbnRleHREYXRhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51
TG9jYXRpb24sIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RWxlbWVudENvbnRleHQ+JiYgaGl0VGVz
dGVkRWxlbWVudENvbnRleHQsIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRl
bURhdGE+JiBtZW51SXRlbXMsIGNvbnN0IFdlYkNvcmU6OkNvbnRleHRNZW51Q29udGV4dCYpOwor
ICAgIENvbnRleHRNZW51Q29udGV4dERhdGEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVM
b2NhdGlvbiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIG1l
bnVJdGVtcywgY29uc3QgV2ViQ29yZTo6Q29udGV4dE1lbnVDb250ZXh0Jik7CiAKICAgICBUeXBl
IHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgbWVudUxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9tZW51TG9jYXRpb247IH0KICAg
ICBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgbWVudUl0ZW1z
KCkgY29uc3QgeyByZXR1cm4gbV9tZW51SXRlbXM7IH0KIAotICAgIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6RWxlbWVudENvbnRleHQ+IGhpdFRlc3RlZEVsZW1lbnRDb250ZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9oaXRUZXN0ZWRFbGVtZW50Q29udGV4dDsgfQogICAgIGNvbnN0IHN0ZDo6b3B0aW9u
YWw8V2ViSGl0VGVzdFJlc3VsdERhdGE+JiB3ZWJIaXRUZXN0UmVzdWx0RGF0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViSGl0VGVzdFJlc3VsdERhdGE7IH0KICAgICBjb25zdCBTdHJpbmcmIHNlbGVj
dGVkVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0ZWRUZXh0OyB9CiAKQEAgLTg3LDcgKzg2
LDYgQEAgcHJpdmF0ZToKICAgICBUeXBlIG1fdHlwZTsKIAogICAgIFdlYkNvcmU6OkludFBvaW50
IG1fbWVudUxvY2F0aW9uOwotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RWxlbWVudENvbnRl
eHQ+IG1faGl0VGVzdGVkRWxlbWVudENvbnRleHQ7CiAgICAgVmVjdG9yPFdlYktpdDo6V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YT4gbV9tZW51SXRlbXM7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkhp
dFRlc3RSZXN1bHREYXRhPiBtX3dlYkhpdFRlc3RSZXN1bHREYXRhOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZWJmY2M4YjQ1OTY0Njc1OGJhYzMyYjczNTU0
NjA1YTdiYmI5MmQ4MC4uZTIyZWNjMTA2OTdmM2NmZTg4NDM0MTA4NDY3OTU2ZWM5MDMwNTc3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MTA0LDExICs3
MTA0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZERpc21pc3NDb250ZXh0TWVudSgpCiAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkRGlzbWlzc0NvbnRleHRNZW51KCkpOwogCiAgICAg
cGFnZUNsaWVudCgpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOwotCi0jaWYgRU5BQkxFKElNQUdF
X0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAgICBtX2Nyb3BwZWRJbWFnZVJlc3VsdCA9IHsgfTsK
LSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0
ZTo6SW5hY3RpdmU7Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCkBAIC04MjYz
LDExICs4MjU4LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NF
eGl0ZWQoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHRlcm1pbmEKICAgICBtX2N1cnJlbnRGdWxs
c2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRpZmllciA9IHN0ZDo6bnVsbG9wdDsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAgICBtX2Nyb3BwZWRJbWFn
ZVJlc3VsdCA9IHsgfTsKLSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJ
bWFnZU92ZXJsYXlTdGF0ZTo6SW5hY3RpdmU7Ci0jZW5kaWYKLQogICAgIC8vIEZJWE1FOiA8cmRh
cjovL3Byb2JsZW0vMzg2NzY2MDQ+IEluIGNhc2Ugb2YgcHJvY2VzcyBzd2FwcywgdGhlIG9sZCBw
cm9jZXNzIHNob3VsZCBncmFjZWZ1bGx5IHN1c3BlbmQgaW5zdGVhZCBvZiB0ZXJtaW5hdGluZy4K
ICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NUZXJtaW5hdGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGUzOWVmODQ5Y2E4MmVjZDczOGVjMGM0MzdiNmE1MDQ2
Njc2ZWEwODAuLmJjMTc0NTMyZDJlMTIwNDE0ODc0NzMxYTBjNDZkOGQ1YmJjMDM1MjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMzg2LDcgKzEzODYsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKICAgICB2b2lkIGNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKICAgICB2
b2lkIGhhbmRsZUNvbnRleHRNZW51S2V5RXZlbnQoKTsKLSAgICB2b2lkIHdpbGxIaWdobGlnaHRD
b250ZXh0TWVudUl0ZW0oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24pOwogI2VuZGlmCiAKICAg
ICAvLyBDYWxsZWQgYnkgdGhlIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuCkBAIC0z
MjQ1LDE3ICszMjQ0LDYgQEAgcHJpdmF0ZToKICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJv
eHk+IG1fZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblRpbWVyOwogI2VuZGlmCiAgICAgYm9vbCBt
X2hhc1BlbmRpbmdFbGVtZW50RnVsbFNjcmVlblZpZGVvRXh0cmFjdGlvbiB7IGZhbHNlIH07Ci0K
LSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQotICAgIGVudW0gY2xhc3Mg
Q3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlIDogdWludDhfdCB7Ci0gICAgICAgIEluYWN0aXZlLAot
ICAgICAgICBBbmFseXppbmcsCi0gICAgICAgIEhpZGRlbiwKLSAgICAgICAgU2hvd2luZywKLSAg
ICB9OwotICAgIFdlYkNvcmU6OlBsYXRmb3JtSW1hZ2VQdHIgbV9jcm9wcGVkSW1hZ2VSZXN1bHQ7
Ci0gICAgQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlIG1fY3JvcHBlZEltYWdlT3ZlcmxheVN0YXRl
IHsgQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlOjpJbmFjdGl2ZSB9OwotI2VuZGlmIC8vIEVOQUJM
RShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCiB9OwogCiAjaWZkZWYgX19PQkpDX18KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5
TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlN
YWMubW0KaW5kZXggZGVjODhlNzgzM2Y2MzUyN2YxZDZkOGZiZTc0MTVmMmZjYzU3OGI2OC4uNmJi
YjA1ZTAzNTU2MzFiOTA3NjI4ZWUyNGM1OWY1N2U2Y2JiY2I0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTE4
NiwxMSArMTg2LDYgQEAgLSAodm9pZCltZW51RGlkQ2xvc2U6KE5TTWVudSAqKW1lbnUKICAgICBf
bWVudVByb3h5LT5wYWdlKCktPmRpZERpc21pc3NDb250ZXh0TWVudSgpOwogfQogCi0tICh2b2lk
KW1lbnU6KE5TTWVudSAqKW1lbnUgd2lsbEhpZ2hsaWdodEl0ZW06KE5TTWVudUl0ZW0gKilpdGVt
Ci17Ci0gICAgX21lbnVQcm94eS0+cGFnZSgpLT53aWxsSGlnaGxpZ2h0Q29udGV4dE1lbnVJdGVt
KHN0YXRpY19jYXN0PFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPihpdGVtLnRhZykpOwotfQot
CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJQYWdlUHJveHlNYWMubW0KaW5kZXggMTAyZGZlOThmMmRkYzY2MjU1MDY3ZWMyMzZi
YTIxYzUyODI3YTI3NS4uZmIwNGVhOWVlZjhhYzBkZWRiZGY5MTIwNzBmZTAzZDg5ZGRhMjQyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBA
IC03NzksNzQgKzc3OSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93SW1hZ2VJblF1aWNrTG9v
a1ByZXZpZXdQYW5lbChTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwCiAKICNlbmRpZiAvLyBF
TkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsSGlnaGxpZ2h0
Q29udGV4dE1lbnVJdGVtKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKLXsKLSNpZiBFTkFCTEUo
SU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQotICAgIGlmIChhY3Rpb24gIT0gQ29udGV4dE1l
bnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZSkgewotICAgICAgICBpZiAobV9jcm9wcGVkSW1hZ2VP
dmVybGF5U3RhdGUgPT0gQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlOjpTaG93aW5nKSB7Ci0gICAg
ICAgICAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlT
dGF0ZTo6SGlkZGVuOwotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q3Jv
cHBlZEltYWdlT3ZlcmxheVZpc2liaWxpdHkoZmFsc2UpKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fY3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlID09IENy
b3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6SGlkZGVuKSB7Ci0gICAgICAgIG1fY3JvcHBlZEltYWdl
T3ZlcmxheVN0YXRlID0gQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlOjpTaG93aW5nOwotICAgICAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRDcm9wcGVkSW1hZ2VPdmVybGF5VmlzaWJpbGl0
eSh0cnVlKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9jcm9wcGVkSW1h
Z2VPdmVybGF5U3RhdGUgIT0gQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlOjpJbmFjdGl2ZSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBlbGVtZW50Q29udGV4dCA9IG1fYWN0aXZlQ29udGV4
dE1lbnVDb250ZXh0RGF0YS5oaXRUZXN0ZWRFbGVtZW50Q29udGV4dCgpOwotICAgIGlmICghZWxl
bWVudENvbnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8mIGhpdFRlc3REYXRhID0g
bV9hY3RpdmVDb250ZXh0TWVudUNvbnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCkudmFs
dWUoKTsKLSAgICBhdXRvIGltYWdlQml0bWFwID0gaGl0VGVzdERhdGEuaW1hZ2VCaXRtYXA7Ci0g
ICAgaWYgKCFpbWFnZUJpdG1hcCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBpbWFnZSA9
IGltYWdlQml0bWFwLT5tYWtlQ0dJbWFnZUNvcHkoKTsKLSAgICBpZiAoIWltYWdlKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJbWFn
ZU92ZXJsYXlTdGF0ZTo6QW5hbHl6aW5nOwotCi0gICAgcmVxdWVzdEltYWdlQW5hbHlzaXNNYXJr
dXAoaW1hZ2UuZ2V0KCksIFt3ZWFrUGFnZSA9IFdlYWtQdHIgeyAqdGhpcyB9LCBlbGVtZW50Q29u
dGV4dCA9IFdURk1vdmUoKmVsZW1lbnRDb250ZXh0KV0oQ0dJbWFnZVJlZiByZXN1bHRJbWFnZSwg
Q0dSZWN0IG5vcm1hbGl6ZWRDcm9wUmVjdCkgewotICAgICAgICBpZiAoIXJlc3VsdEltYWdlIHx8
IENHUmVjdElzRW1wdHkobm9ybWFsaXplZENyb3BSZWN0KSkKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICBSZWZQdHIgcHJvdGVjdGVkUGFnZSA9IHdlYWtQYWdlLmdldCgpOwotICAgICAg
ICBpZiAoIXByb3RlY3RlZFBhZ2UpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgcHJv
dGVjdGVkUGFnZS0+bV9jcm9wcGVkSW1hZ2VSZXN1bHQgPSByZXN1bHRJbWFnZTsKLQotICAgICAg
ICBpZiAocHJvdGVjdGVkUGFnZS0+bV9jcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGUgIT0gQ3JvcHBl
ZEltYWdlT3ZlcmxheVN0YXRlOjpBbmFseXppbmcpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgYXV0byB0aWZmRGF0YSA9IHRyYW5zY29kZShyZXN1bHRJbWFnZSwgKF9fYnJpZGdlIENG
U3RyaW5nUmVmKVVUVHlwZVRJRkYuaWRlbnRpZmllcik7Ci0gICAgICAgIGlmICghdGlmZkRhdGEp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byBzaGFyZWRNZW1vcnkgPSBTaGFy
ZWRNZW1vcnk6OmFsbG9jYXRlKFt0aWZmRGF0YSBsZW5ndGhdKTsKLSAgICAgICAgaWYgKCFzaGFy
ZWRNZW1vcnkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgW3RpZmZEYXRhIGdldEJ5
dGVzOnNoYXJlZE1lbW9yeS0+ZGF0YSgpIGxlbmd0aDpbdGlmZkRhdGEgbGVuZ3RoXV07Ci0KLSAg
ICAgICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlOwotICAgICAgICBzaGFyZWRNZW1vcnkt
PmNyZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkp
OwotICAgICAgICBwcm90ZWN0ZWRQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnN0YWxs
Q3JvcHBlZEltYWdlT3ZlcmxheShlbGVtZW50Q29udGV4dCwgeyBXVEZNb3ZlKGhhbmRsZSksIHNo
YXJlZE1lbW9yeS0+c2l6ZSgpIH0sICJpbWFnZS90aWZmIl9zLCBub3JtYWxpemVkQ3JvcFJlY3Qp
KTsKLSAgICAgICAgcHJvdGVjdGVkUGFnZS0+bV9jcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGUgPSBD
cm9wcGVkSW1hZ2VPdmVybGF5U3RhdGU6OlNob3dpbmc7Ci0gICAgfSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShhY3Rpb24pOwotI2VuZGlmCi19Ci0KICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVNfRU5IQU5DRU1FTlRTKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVD
b3B5Q3JvcHBlZEltYWdlKFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIGNvbnN0IFN0cmlu
ZyYgcHJlZmVycmVkTUlNRVR5cGUpCkBAIC04NjUsMTEgKzc5Nyw2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpoYW5kbGVDb250ZXh0TWVudUNvcHlDcm9wcGVkSW1hZ2UoU2hhcmVhYmxlQml0bWFwJiBp
bWFnZUJpdG1hCiAgICAgICAgIFtwYXN0ZWJvYXJkIHNldERhdGE6ZGF0YS5nZXQoKSBmb3JUeXBl
OihfX2JyaWRnZSBOU1N0cmluZyAqKXR5cGUuZ2V0KCldOwogICAgIH07CiAKLSAgICBpZiAobV9j
cm9wcGVkSW1hZ2VSZXN1bHQpIHsKLSAgICAgICAgcGVyZm9ybUNvcHkobV9jcm9wcGVkSW1hZ2VS
ZXN1bHQuZ2V0KCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgYXV0byBvcmlnaW5h
bEltYWdlID0gaW1hZ2VCaXRtYXAubWFrZUNHSW1hZ2VDb3B5KCk7CiAgICAgaWYgKCFvcmlnaW5h
bEltYWdlKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5kZXggM2MxY2FmOGM3MDRmNDU4ODA1MWRi
YzYyMTAyNmI4NDFiMzNlOWE5Ny4uYjE4Y2VjNThlM2E2MTg4NTFlNDM2YmY3OTNjMzM1NjVjNzA4
YWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
bnRleHRNZW51LmNwcApAQCAtNjMsMTMgKzYzLDkgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hv
dygpCiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKICAgICBtZW51SXRlbXNXaXRo
VXNlckRhdGEobWVudUl0ZW1zLCB1c2VyRGF0YSk7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPEVsZW1l
bnRDb250ZXh0PiBoaXRUZXN0ZWRFbGVtZW50Q29udGV4dDsKLSAgICBpZiAoUmVmUHRyIGhpdFRl
c3RlZEVsZW1lbnQgPSBjb250cm9sbGVyLmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZEVs
ZW1lbnQoKSkKLSAgICAgICAgaGl0VGVzdGVkRWxlbWVudENvbnRleHQgPSBtX3BhZ2UtPmNvbnRl
eHRGb3JFbGVtZW50KCpoaXRUZXN0ZWRFbGVtZW50KTsKLQogICAgIGF1dG8gbWVudUxvY2F0aW9u
ID0gdmlldy0+Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRyb2xsZXIuaGl0VGVzdFJlc3VsdCgpLnJv
dW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSk7CiAKLSAgICBDb250ZXh0TWVudUNvbnRleHRE
YXRhIGNvbnRleHRNZW51Q29udGV4dERhdGEobWVudUxvY2F0aW9uLCBXVEZNb3ZlKGhpdFRlc3Rl
ZEVsZW1lbnRDb250ZXh0KSwgbWVudUl0ZW1zLCBjb250cm9sbGVyLmNvbnRleHQoKSk7CisgICAg
Q29udGV4dE1lbnVDb250ZXh0RGF0YSBjb250ZXh0TWVudUNvbnRleHREYXRhKG1lbnVMb2NhdGlv
biwgbWVudUl0ZW1zLCBjb250cm9sbGVyLmNvbnRleHQoKSk7CiAKICAgICAvLyBNYXJrIHRoZSBX
ZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJ
UHJvY2Vzcy4KICAgICBtX3BhZ2UtPnN0YXJ0V2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU5
YTQzODhhZDc5OTdjYWIxNzAwZDk0YWM3YWYyMDQ2ZDE3MzExZTguLjBhMjY4MWQwYTM4NmFmODYz
NTQxMTgyNWJlMzkzMmM0MmRiNDFmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDAxLDEwICszMDAxLDYgQEAgdm9pZCBXZWJQYWdlOjpk
aWRTaG93Q29udGV4dE1lbnUoKQogdm9pZCBXZWJQYWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUo
KQogewogICAgIGNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLmRpZERpc21pc3ND
b250ZXh0TWVudSgpOwotCi0jaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykK
LSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXkgPSBudWxscHRyOwotI2VuZGlmCiB9CiAKICNlbmRp
ZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTc5MjUsMjkgKzc5MjEsNiBAQCB2b2lkIFdl
YlBhZ2U6OnJlcXVlc3RJbWFnZUJpdG1hcChjb25zdCBFbGVtZW50Q29udGV4dCYgY29udGV4dCwg
Q29tcGxldGlvbkhhbmRsZQogICAgIGNvbXBsZXRpb24oaGFuZGxlLCBtaW1lVHlwZSk7CiB9CiAK
LSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQotCi12b2lkIFdlYlBhZ2U6
Omluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KGNvbnN0IEVsZW1lbnRDb250ZXh0JiBjb250ZXh0
LCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcm
IG1pbWVUeXBlLCBGbG9hdFJlY3Qgbm9ybWFsaXplZENyb3BSZWN0KQotewotICAgIGF1dG8gc2hh
cmVkTWVtb3J5ID0gU2hhcmVkTWVtb3J5OjptYXAoaW1hZ2VEYXRhLmhhbmRsZSwgU2hhcmVkTWVt
b3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7Ci0gICAgaWYgKCFzaGFyZWRNZW1vcnkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIFJlZlB0ciBlbGVtZW50ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxF
bGVtZW50PihlbGVtZW50Rm9yQ29udGV4dChjb250ZXh0KS5nZXQoKSk7Ci0gICAgaWYgKCFlbGVt
ZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXkgPSBJbWFn
ZU92ZXJsYXk6OkNyb3BwZWRJbWFnZTo6aW5zdGFsbCgqZWxlbWVudCwgc2hhcmVkTWVtb3J5LT5j
cmVhdGVTaGFyZWRCdWZmZXIoaW1hZ2VEYXRhLmRhdGFTaXplKSwgbWltZVR5cGUsIG5vcm1hbGl6
ZWRDcm9wUmVjdCk7Ci19Ci0KLXZvaWQgV2ViUGFnZTo6c2V0Q3JvcHBlZEltYWdlT3ZlcmxheVZp
c2liaWxpdHkoYm9vbCB2aXNpYmxlKQotewotICAgIGlmIChtX2Nyb3BwZWRJbWFnZU92ZXJsYXkp
Ci0gICAgICAgIG1fY3JvcHBlZEltYWdlT3ZlcmxheS0+c2V0VmlzaWJpbGl0eSh2aXNpYmxlKTsK
LX0KLQotI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCi0KICNp
ZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgVVNFKFVJQ09OVEVYVE1F
TlUpCiB2b2lkIFdlYlBhZ2U6OnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoRmxvYXRSZWN0
JiYgdGFyZ2V0RnJhbWUsIFZlY3RvcjxNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVJdGVtPiYmIGl0
ZW1zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW06
OklEKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkNDY5NWMxYTkwNGVjYmIxNjllZGRhNzRmYmQxMDEwYzQ3
MTI4YWJkLi5iMjQzMTM4M2I1MTA0Yzk1MDg0MTZlYzEzNTRjYzY4MWFhYzkyYjMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yNjUsMTAgKzI2NSw2
IEBAIGNsYXNzIEhUTUxBdHRhY2htZW50RWxlbWVudDsKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJ
X1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIHN0cnVjdCBUcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mbzsKICNlbmRpZgotCi1uYW1lc3BhY2UgSW1hZ2VPdmVybGF5IHsKLWNsYXNz
IENyb3BwZWRJbWFnZTsKLX0KIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNDYwLDEwICsx
NDU2LDYgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lkIHJlcXVlc3RJbWFnZUJpdG1hcChj
b25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29u
c3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmIHNvdXJjZU1JTUVUeXBl
KT4mJik7Ci0jaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAgICB2b2lk
IGluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0
JiwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgV2ViQ29yZTo6RmxvYXRSZWN0IG5vcm1hbGl6ZWRDcm9wUmVjdCk7Ci0gICAg
dm9pZCBzZXRDcm9wcGVkSW1hZ2VPdmVybGF5VmlzaWJpbGl0eShib29sKTsKLSNlbmRpZgogCiAj
aWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CiAgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6OlRy
YW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJik7CkBAIC0yNDYzLDEwICsyNDU1LDYgQEAgcHJpdmF0
ZToKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgV2ViQ29yZTo6SGlnaGxpZ2h0Vmlz
aWJpbGl0eSBtX2FwcEhpZ2hsaWdodHNWaXNpYmxlIHsgV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJp
bGl0eTo6SGlkZGVuIH07CiAjZW5kaWYKLQotI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhB
TkNFTUVOVFMpCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6Q3Jv
cHBlZEltYWdlPiBtX2Nyb3BwZWRJbWFnZU92ZXJsYXk7Ci0jZW5kaWYKIH07CiAKICNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IGY1MjUzMTI5YWY3MTVhMDYzNmY0NjU5Njll
ZTVhY2Y5YWU0ZjhkN2QuLjI1YzI4YjdjZDQ1OGM5YjI3MmM3MWNkMDBhMzc2ZDI2YzRlNjM3ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgpAQCAtMTMxLDExICsxMzEsNiBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQog
CiAgICAgUmVxdWVzdEltYWdlQml0bWFwKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBl
bGVtZW50Q29udGV4dCkgLT4gKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaW1hZ2Us
IFN0cmluZyBzb3VyY2VNSU1FVHlwZSkKIAotI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhB
TkNFTUVOVFMpCi0gICAgSW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkoc3RydWN0IFdlYkNvcmU6
OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBD
SGFuZGxlIGltYWdlRGF0YSwgU3RyaW5nIG1pbWVUeXBlLCBXZWJDb3JlOjpGbG9hdFJlY3Qgbm9y
bWFsaXplZENyb3BSZWN0KQotICAgIFNldENyb3BwZWRJbWFnZU92ZXJsYXlWaXNpYmlsaXR5KGJv
b2wgdmlzaWJsZSkKLSNlbmRpZgotCiAgICAgU2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihib29s
IGNvbnRyb2xsZWQpCiAKICAgICBDb25uZWN0SW5zcGVjdG9yKFN0cmluZyB0YXJnZXRJZCwgSW5z
cGVjdG9yOjpGcm9udGVuZENoYW5uZWw6OkNvbm5lY3Rpb25UeXBlIGNvbm5lY3Rpb25UeXBlKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDY0OWZlNmJjYjg2ZTZjYzUzZGI0MTJlNDQ5OWI2ZGMwNmVjMzk0MWUuLmM3NTExOTA0
YzVjYmYzN2U0YjZiMTYyODRhNDliOGRhY2I2ZmU1MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wNC0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgZHJhd2luZyBjcm9wcGVkIGltYWdlIG92ZXJsYXlzIHdo
ZW4gaG92ZXJpbmcgb3ZlciAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MjY5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0
aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWNyb3Bw
ZWQtaW1hZ2UuaHRtbDogUmVtb3ZlZC4KKwogMjAyMi0wNC0xMiAgVHlsZXIgV2lsY29jayAgPHR5
bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbmNvcnJlY3Qgcm9sZSBvbiBkeW5hbWlj
IGxpc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0
aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFn
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2MWJlN2NlNTYx
YmZiNjI5NGRkMDRkZjU3MzJlOWUyODFjYjljMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25p
dGlvbi9pbWFnZS1vdmVybGF5LWNyb3BwZWQtaW1hZ2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTMgKzAsMCBAQAotCi1QQVNTIGNyb3BwZWRJbWFnZSBpcyBub24tbnVsbC4KLVBB
U1MgY3JvcHBlZEltYWdlQmFja2Ryb3AgaXMgbm9uLW51bGwuCi1QQVNTIGNyb3BwZWRJbWFnZVJl
Y3QueCBpcyAxMDAKLVBBU1MgY3JvcHBlZEltYWdlUmVjdC55IGlzIDEwMAotUEFTUyBjcm9wcGVk
SW1hZ2VSZWN0LndpZHRoIGlzIDIwMAotUEFTUyBjcm9wcGVkSW1hZ2VSZWN0LmhlaWdodCBpcyAy
MDAKLVBBU1MgY3JvcHBlZEltYWdlIGlzIG51bGwKLVBBU1MgY3JvcHBlZEltYWdlQmFja2Ryb3Ag
aXMgbnVsbAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24v
aW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTBiNjVjMDBhNDFlN2IzN2U1YzJjMTc5OTc4OGMw
NWQzY2ViYzQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1j
cm9wcGVkLWltYWdlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHN0eWxlPgotYm9keSwgaHRtbCB7Ci0gICAgbWFyZ2lu
OiAwOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPGltZyBzcmM9Ii4uL3Jlc291cmNl
cy9ncmVlbi00MDB4NDAwLnBuZyI+PC9pbWc+Ci08cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KLTxz
Y3JpcHQ+Ci1hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCkgPT4gewotICAgIGNvbnN0IGltYWdl
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW1nIik7Ci0KLSAgICBpbnRlcm5hbHMuaW5zdGFs
bENyb3BwZWRJbWFnZU92ZXJsYXkoaW1hZ2UsIG5ldyBET01SZWN0UmVhZE9ubHkoMC4yNSwgMC4y
NSwgMC41LCAwLjUpKTsKLQotICAgIGNyb3BwZWRJbWFnZSA9IGludGVybmFscy5zaGFkb3dSb290
KGltYWdlKS5nZXRFbGVtZW50QnlJZCgiaW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlIik7Ci0g
ICAgY3JvcHBlZEltYWdlQmFja2Ryb3AgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChpbWFnZSkuZ2V0
RWxlbWVudEJ5SWQoImltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1iYWNrZHJvcCIpOwotICAg
IHNob3VsZEJlTm9uTnVsbCgiY3JvcHBlZEltYWdlIik7Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJj
cm9wcGVkSW1hZ2VCYWNrZHJvcCIpOwotCi0gICAgY3JvcHBlZEltYWdlUmVjdCA9IGNyb3BwZWRJ
bWFnZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBzaG91bGRCZSgiY3JvcHBlZEltYWdl
UmVjdC54IiwgIjEwMCIpOwotICAgIHNob3VsZEJlKCJjcm9wcGVkSW1hZ2VSZWN0LnkiLCAiMTAw
Iik7Ci0gICAgc2hvdWxkQmUoImNyb3BwZWRJbWFnZVJlY3Qud2lkdGgiLCAiMjAwIik7Ci0gICAg
c2hvdWxkQmUoImNyb3BwZWRJbWFnZVJlY3QuaGVpZ2h0IiwgIjIwMCIpOwotCi0gICAgaW50ZXJu
YWxzLnVuaW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkoKTsKLQotICAgIGNyb3BwZWRJbWFnZSA9
IGludGVybmFscy5zaGFkb3dSb290KGltYWdlKS5nZXRFbGVtZW50QnlJZCgiaW1hZ2Utb3Zlcmxh
eS1jcm9wcGVkLWltYWdlIik7Ci0gICAgY3JvcHBlZEltYWdlQmFja2Ryb3AgPSBpbnRlcm5hbHMu
c2hhZG93Um9vdChpbWFnZSkuZ2V0RWxlbWVudEJ5SWQoImltYWdlLW92ZXJsYXktY3JvcHBlZC1p
bWFnZS1iYWNrZHJvcCIpOwotICAgIHNob3VsZEJlTnVsbCgiY3JvcHBlZEltYWdlIik7Ci0gICAg
c2hvdWxkQmVOdWxsKCJjcm9wcGVkSW1hZ2VCYWNrZHJvcCIpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="commit-queue"
          id="486126"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457497</attachid>
            <date>2022-04-12 18:30:50 -0700</date>
            <delta_ts>2022-04-12 21:59:30 -0700</delta_ts>
            <desc>Fix watchOS/tvOS builds</desc>
            <filename>bug-239269-20220412183050.patch</filename>
            <type>text/plain</type>
            <size>33415</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YxZGQxMjk1ZjM1ZTEx
ZjkzMzQ0YTI5MWE4ZGJlM2ZhNjZjYzYxNC4uMTJmZmQ2MzYxYjQ2ZDU4YjI3NjJlZGYyZTU0OWY0
NWU4MjRhZDNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzdXBw
b3J0IGZvciBkcmF3aW5nIGNyb3BwZWQgaW1hZ2Ugb3ZlcmxheXMgd2hlbiBob3ZlcmluZyBvdmVy
ICJDb3B5IENyb3BwZWQgSW1hZ2UiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzkyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBSZXZlcnQgPGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3IyOTAyMTE+IC0tIHRo
ZSBjb3JyZXNwb25kaW5nIFVJIGlzIG5vIGxvbmdlciBwbGFuIG9mIHJlY29yZC4KKworICAgICAg
ICAqIGRvbS9JbWFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVybGF5
OjppbnN0YWxsSW1hZ2VPdmVybGF5U3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZU92ZXJsYXk6OmltYWdlT3ZlcmxheUNyb3BwZWRJbWFnZUlkZW50aWZpZXIpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVybGF5OjppbWFnZU92ZXJsYXlDcm9wcGVkSW1hZ2VC
YWNrZHJvcElkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVy
bGF5OjpDcm9wcGVkSW1hZ2U6Omluc3RhbGwpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VPdmVybGF5OjpDcm9wcGVkSW1hZ2U6OkNyb3BwZWRJbWFnZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OkNyb3BwZWRJbWFnZTo6fkNyb3BwZWRJbWFnZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OkNyb3BwZWRJbWFnZTo6
c2V0VmlzaWJpbGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0ltYWdlT3ZlcmxheS5oOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3M6CisgICAgICAgIChkaXYuaW1h
Z2Utb3ZlcmxheS1kYXRhLWRldGVjdG9yLXJlc3VsdCk6CisgICAgICAgIChpbWcjaW1hZ2Utb3Zl
cmxheS1jcm9wcGVkLWltYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKGRpdiNpbWFnZS1vdmVybGF5
LWNyb3BwZWQtaW1hZ2UtYmFja2Ryb3ApOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aW5zdGFsbENyb3BwZWRJ
bWFnZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjp1bmlu
c3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMi0wNC0x
MiAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbmNv
cnJlY3Qgcm9sZSBvbiBkeW5hbWljIGxpc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiN2JiZjIxYzkwMzBiOTk0
Y2VkMzE0OWRkNWRkM2U0ODAyNjlhZDQuLmNjZTcyZjk0MzFiYWI5ZDZhN2I3YzZmY2NjNDk1MzNk
MWJjMmQ4NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDQtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQg
Zm9yIGRyYXdpbmcgY3JvcHBlZCBpbWFnZSBvdmVybGF5cyB3aGVuIGhvdmVyaW5nIG92ZXIgIkNv
cHkgQ3JvcHBlZCBJbWFnZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTI2OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgICogU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDb250ZXh0TWVudUNvbnRleHREYXRhOjpDb250ZXh0TWVudUNvbnRleHREYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6ZGVjb2RlKToKKyAgICAgICAg
KiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oOgorICAgICAgICAoV2ViS2l0OjpDb250
ZXh0TWVudUNvbnRleHREYXRhOjpoaXRUZXN0ZWRFbGVtZW50Q29udGV4dCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpyZXNldFN0YXRlQWZ0ZXJQcm9jZXNzRXhpdGVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJD
b250ZXh0TWVudVByb3h5TWFjLm1tOgorICAgICAgICAoLVtXS01lbnVEZWxlZ2F0ZSBtZW51Ondp
bGxIaWdobGlnaHRJdGVtOl0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZUNv
bnRleHRNZW51Q29weUNyb3BwZWRJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6d2lsbEhpZ2hsaWdodENvbnRleHRNZW51SXRlbSk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29udGV4dE1lbnU6OnNob3cpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRDcm9wcGVkSW1hZ2VPdmVybGF5
VmlzaWJpbGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoK
KwogMjAyMi0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGxvZ2dpbmcgaW4gY2FzZSBXZWJzaXRlRGF0YVN0b3JlIGlzIG5vdCBmb3VuZCBmb3Ig
cGVyc2lzdGVudCBub3RpZmljYXRpb24gZXZlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vSW1hZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXku
Y3BwCmluZGV4IGU0ZjZhZWE2NWExM2FjYTVlMGE3NjQ5ZWNiYWI5MDU2MjY5MTdiY2QuLmUwNGM3
NjY5YjYzNGMwMzY3ZjYyNzgwOWRmMTZmYzM0NDU2NTZlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFn
ZU92ZXJsYXkuY3BwCkBAIC0xMDEsMTggKzEwMSw2IEBAIHN0YXRpYyBjb25zdCBBdG9tU3RyaW5n
JiBpbWFnZU92ZXJsYXlCbG9ja0NsYXNzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFM
WVNJUykKIAotc3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlT3ZlcmxheUNyb3BwZWRJbWFn
ZUlkZW50aWZpZXIoKQotewotICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29u
c3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlIiwg
QXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgIHJldHVybiBpZGVudGlmaWVy
OwotfQotCi1zdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VPdmVybGF5Q3JvcHBlZEltYWdl
QmFja2Ryb3BJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJv
eWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdlLW92ZXJsYXktY3JvcHBlZC1p
bWFnZS1iYWNrZHJvcCIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICBy
ZXR1cm4gaWRlbnRpZmllcjsKLX0KLQogYm9vbCBoYXNPdmVybGF5KGNvbnN0IEhUTUxFbGVtZW50
JiBlbGVtZW50KQogewogICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCgp
OwpAQCAtMjI1LDE0ICsyMTMsNiBAQCB2b2lkIHJlbW92ZU92ZXJsYXlTb29uSWZOZWVkZWQoSFRN
TEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgfSk7CiB9CiAKLXN0YXRpYyB2b2lkIGluc3RhbGxJbWFn
ZU92ZXJsYXlTdHlsZVNoZWV0KFNoYWRvd1Jvb3QmIHNoYWRvd1Jvb3QpCi17Ci0gICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmlu
Z0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlT3ZlcmxheVVzZXJBZ2VudFN0eWxlU2hl
ZXQsIHNpemVvZihpbWFnZU92ZXJsYXlVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwotICAgIGF1dG8g
c3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgc2hh
ZG93Um9vdC5kb2N1bWVudCgpLCBmYWxzZSk7Ci0gICAgc3R5bGUtPnNldFRleHRDb250ZW50KHNo
YWRvd1N0eWxlKTsKLSAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKFdURk1vdmUoc3R5bGUpKTsK
LX0KLQogSW50UmVjdCBjb250YWluZXJSZWN0KEhUTUxFbGVtZW50JiBlbGVtZW50KQogewogICAg
IGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwpAQCAtMjQ3LDYgKzIyNywxNCBA
QCBJbnRSZWN0IGNvbnRhaW5lclJlY3QoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCiAKICNpZiBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCiAKK3N0YXRpYyB2b2lkIGluc3RhbGxJbWFnZU92ZXJsYXlTdHls
ZVNoZWV0KFNoYWRvd1Jvb3QmIHNoYWRvd1Jvb3QpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0ltcGw6OmNyZWF0
ZVdpdGhvdXRDb3B5aW5nKGltYWdlT3ZlcmxheVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihp
bWFnZU92ZXJsYXlVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1M
U3R5bGVFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgc2hhZG93Um9vdC5kb2N1
bWVudCgpLCBmYWxzZSk7CisgICAgc3R5bGUtPnNldFRleHRDb250ZW50KHNoYWRvd1N0eWxlKTsK
KyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKK30KKwogc3RydWN0
IExpbmVFbGVtZW50cyB7CiAgICAgUmVmPEhUTUxEaXZFbGVtZW50PiBsaW5lOwogICAgIFZlY3Rv
cjxSZWY8SFRNTEVsZW1lbnQ+PiBjaGlsZHJlbjsKQEAgLTY5NSw4NyArNjgzLDUgQEAgdm9pZCB1
cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBUZXh0UmVjb2duaXRpb24KIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAot
c3RkOjp1bmlxdWVfcHRyPENyb3BwZWRJbWFnZT4gQ3JvcHBlZEltYWdlOjppbnN0YWxsKEhUTUxF
bGVtZW50JiBob3N0LCBSZWY8U2hhcmVkQnVmZmVyPiYmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgRmxvYXRSZWN0IG5vcm1hbGl6ZWRSZWN0KQotewotICAgIFJlZiBkb2N1bWVu
dCA9IGhvc3QuZG9jdW1lbnQoKTsKLSAgICBSZWYgc2hhZG93Um9vdCA9IGhvc3QuZW5zdXJlVXNl
ckFnZW50U2hhZG93Um9vdCgpOwotICAgIFJlZlB0ciBpbWFnZU92ZXJsYXlSb290ID0gZHluYW1p
Y0Rvd25jYXN0PEhUTUxEaXZFbGVtZW50PihzaGFkb3dSb290LT5nZXRFbGVtZW50QnlJZChpbWFn
ZU92ZXJsYXlFbGVtZW50SWRlbnRpZmllcigpKSk7Ci0gICAgaWYgKCFpbWFnZU92ZXJsYXlSb290
KSB7Ci0gICAgICAgIGltYWdlT3ZlcmxheVJvb3QgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRv
Y3VtZW50LmdldCgpKTsKLSAgICAgICAgaW1hZ2VPdmVybGF5Um9vdC0+c2V0SWRBdHRyaWJ1dGUo
aW1hZ2VPdmVybGF5RWxlbWVudElkZW50aWZpZXIoKSk7Ci0gICAgICAgIGltYWdlT3ZlcmxheVJv
b3QtPnNldFRyYW5zbGF0ZShmYWxzZSk7Ci0gICAgICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxk
KCppbWFnZU92ZXJsYXlSb290KTsKLSAgICAgICAgaW5zdGFsbEltYWdlT3ZlcmxheVN0eWxlU2hl
ZXQoc2hhZG93Um9vdC5nZXQoKSk7Ci0gICAgfQotCi0gICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotCi0gICAgaWYgKGF1dG8qIHJlbmRlcmVyID0g
ZHluYW1pY0Rvd25jYXN0PFJlbmRlckltYWdlPihob3N0LnJlbmRlcmVyKCkpKQotICAgICAgICBy
ZW5kZXJlci0+c2V0SGFzSW1hZ2VPdmVybGF5KCk7Ci0KLSAgICBhdXRvIGNvbnRhaW5lclJlY3Qg
PSBJbWFnZU92ZXJsYXk6OmNvbnRhaW5lclJlY3QoaG9zdCk7Ci0gICAgYXV0byBjcm9wUmVjdCA9
IG5vcm1hbGl6ZWRSZWN0OwotICAgIGNyb3BSZWN0LnNjYWxlKGNvbnRhaW5lclJlY3Qud2lkdGgo
KSwgY29udGFpbmVyUmVjdC5oZWlnaHQoKSk7Ci0gICAgY3JvcFJlY3QubW92ZShjb250YWluZXJS
ZWN0LngoKSwgY29udGFpbmVyUmVjdC55KCkpOwotCi0gICAgYXV0byBjcm9wcGVkSW1hZ2VCYWNr
ZHJvcCA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOwotICAgIGNyb3Bw
ZWRJbWFnZUJhY2tkcm9wLT5zZXRJZEF0dHJpYnV0ZShpbWFnZU92ZXJsYXlDcm9wcGVkSW1hZ2VC
YWNrZHJvcElkZW50aWZpZXIoKSk7Ci0gICAgaW1hZ2VPdmVybGF5Um9vdC0+YXBwZW5kQ2hpbGQo
Y3JvcHBlZEltYWdlQmFja2Ryb3AuZ2V0KCkpOwotCi0gICAgYXV0byBjcm9wcGVkSW1hZ2UgPSBI
VE1MSW1hZ2VFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOwotICAgIGF1dG8gY3JvcHBl
ZEltYWdlVVJMID0gRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoZG9jdW1lbnQuZ2V0KCksIEJsb2I6
OmNyZWF0ZShkb2N1bWVudC5wdHIoKSwgaW1hZ2VEYXRhLT5leHRyYWN0RGF0YSgpLCBtaW1lVHlw
ZSkpOwotICAgIGNyb3BwZWRJbWFnZS0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VPdmVybGF5Q3JvcHBl
ZEltYWdlSWRlbnRpZmllcigpKTsKLSAgICBjcm9wcGVkSW1hZ2UtPnNldEF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyLCBjcm9wcGVkSW1hZ2VVUkwpOwot
ICAgIGNyb3BwZWRJbWFnZS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUxlZnQs
IGNyb3BSZWN0LngoKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7Ci0gICAgY3JvcHBlZEltYWdlLT5z
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VG9wLCBjcm9wUmVjdC55KCksIENTU1Vu
aXRUeXBlOjpDU1NfUFgpOwotICAgIGNyb3BwZWRJbWFnZS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVdpZHRoLCBjcm9wUmVjdC53aWR0aCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BY
KTsKLSAgICBjcm9wcGVkSW1hZ2UtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlI
ZWlnaHQsIGNyb3BSZWN0LmhlaWdodCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKLSAgICBpbWFn
ZU92ZXJsYXlSb290LT5hcHBlbmRDaGlsZChjcm9wcGVkSW1hZ2UuZ2V0KCkpOwotCi0gICAgZG9j
dW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIGNyb3Bw
ZWRJbWFnZUJhY2tkcm9wLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0
eSwgMC41LCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUik7Ci0KLSAgICByZXR1cm4gbWFrZVVuaXF1
ZTxDcm9wcGVkSW1hZ2U+KGRvY3VtZW50LmdldCgpLCBob3N0LCBjcm9wcGVkSW1hZ2VCYWNrZHJv
cC5nZXQoKSwgY3JvcHBlZEltYWdlVVJMKTsKLX0KLQotQ3JvcHBlZEltYWdlOjpDcm9wcGVkSW1h
Z2UoRG9jdW1lbnQmIGRvY3VtZW50LCBIVE1MRWxlbWVudCYgaG9zdCwgSFRNTEVsZW1lbnQmIGNy
b3BwZWRJbWFnZUJhY2tkcm9wLCBjb25zdCBTdHJpbmcmIGltYWdlVVJMKQotICAgIDogbV9kb2N1
bWVudChkb2N1bWVudCkKLSAgICAsIG1faG9zdChob3N0KQotICAgICwgbV9jcm9wcGVkSW1hZ2VC
YWNrZHJvcChjcm9wcGVkSW1hZ2VCYWNrZHJvcCkKLSAgICAsIG1faW1hZ2VVUkwoaW1hZ2VVUkwp
Ci17Ci0gICAgc2V0VmlzaWJpbGl0eSh0cnVlKTsKLX0KLQotQ3JvcHBlZEltYWdlOjp+Q3JvcHBl
ZEltYWdlKCkKLXsKLSAgICBpZiAoUmVmUHRyIGRvY3VtZW50ID0gbV9kb2N1bWVudC5nZXQoKSkK
LSAgICAgICAgRE9NVVJMOjpyZXZva2VPYmplY3RVUkwoKmRvY3VtZW50LCBtX2ltYWdlVVJMKTsK
LQotICAgIFJlZlB0ciBob3N0ID0gbV9ob3N0LmdldCgpOwotICAgIGlmICghaG9zdCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgUmVmUHRyIHNoYWRvd1Jvb3QgPSBob3N0LT5zaGFkb3dSb290KCk7
Ci0gICAgaWYgKCFzaGFkb3dSb290IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290
TW9kZTo6VXNlckFnZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoUmVmUHRyIGNyb3Bw
ZWRJbWFnZSA9IHNoYWRvd1Jvb3QtPmdldEVsZW1lbnRCeUlkKGltYWdlT3ZlcmxheUNyb3BwZWRJ
bWFnZUlkZW50aWZpZXIoKSkpCi0gICAgICAgIGNyb3BwZWRJbWFnZS0+cmVtb3ZlKCk7Ci0KLSAg
ICBpZiAoUmVmUHRyIGNyb3BwZWRJbWFnZUJhY2tkcm9wID0gc2hhZG93Um9vdC0+Z2V0RWxlbWVu
dEJ5SWQoaW1hZ2VPdmVybGF5Q3JvcHBlZEltYWdlQmFja2Ryb3BJZGVudGlmaWVyKCkpKQotICAg
ICAgICBjcm9wcGVkSW1hZ2VCYWNrZHJvcC0+cmVtb3ZlKCk7Ci19Ci0KLXZvaWQgQ3JvcHBlZElt
YWdlOjpzZXRWaXNpYmlsaXR5KGJvb2wgdmlzaWJsZSkKLXsKLSAgICBSZWZQdHIgY3JvcHBlZElt
YWdlQmFja2Ryb3AgPSBtX2Nyb3BwZWRJbWFnZUJhY2tkcm9wLmdldCgpOwotICAgIGlmICghY3Jv
cHBlZEltYWdlQmFja2Ryb3ApCi0gICAgICAgIHJldHVybjsKLQotICAgIGNyb3BwZWRJbWFnZUJh
Y2tkcm9wLT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygp
OwotICAgIGNyb3BwZWRJbWFnZUJhY2tkcm9wLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1By
b3BlcnR5T3BhY2l0eSwgdmlzaWJsZSA/IDAuNSA6IDAsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVS
KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSW1hZ2VPdmVybGF5CiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmgKaW5kZXggYTgxMWI3Yzg4NzQ0MDg5MDQ0MWE0
YWQzMTgzZWY3NjE1ZGQ5ODRmYy4uOTg5MjZjZTljZmQ5NzVlYjBlYTM1NmQ3Yzg1MzlkMTAxMjRk
ZTljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0ltYWdlT3ZlcmxheS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuaApAQCAtNjAsMjQgKzYwLDYgQEAgZW51
bSBjbGFzcyBDYWNoZVRleHRSZWNvZ25pdGlvblJlc3VsdHMgOiBib29sIHsgTm8sIFllcyB9Owog
V0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KEhUTUxF
bGVtZW50JiwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0JiwgQ2FjaGVUZXh0UmVjb2duaXRp
b25SZXN1bHRzID0gQ2FjaGVUZXh0UmVjb2duaXRpb25SZXN1bHRzOjpZZXMpOwogI2VuZGlmCiAK
LWNsYXNzIENyb3BwZWRJbWFnZSB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0gICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ3JvcHBlZEltYWdlKTsKLXB1YmxpYzoKLSAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyb3BwZWRJbWFnZT4gaW5zdGFsbChIVE1M
RWxlbWVudCYsIFJlZjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYsIEZsb2F0UmVjdCk7
Ci0KLSAgICBDcm9wcGVkSW1hZ2UoRG9jdW1lbnQmLCBIVE1MRWxlbWVudCYsIEhUTUxFbGVtZW50
JiwgY29uc3QgU3RyaW5nJiBpbWFnZVVSTCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgfkNyb3BwZWRJ
bWFnZSgpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRWaXNpYmlsaXR5KGJvb2wpOwot
Ci1wcml2YXRlOgotICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Ci0gICAgV2Vha1B0
cjxIVE1MRWxlbWVudD4gbV9ob3N0OwotICAgIFdlYWtQdHI8SFRNTEVsZW1lbnQ+IG1fY3JvcHBl
ZEltYWdlQmFja2Ryb3A7Ci0gICAgU3RyaW5nIG1faW1hZ2VVUkw7Ci19OwotCiB9IC8vIG5hbWVz
cGFjZSBJbWFnZU92ZXJsYXkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKaW5kZXggMmQyNGYzMDc5MmY2YjA5Mzg3
MTYwZWY5MTgzMTRiMTRiMmE1ZmU1My4uYjlkOWEyMDhkNTRhODQyYzc2Y2IxMGQzYjVhMmM4MTQ2
NmRhNjlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvaW1hZ2VPdmVy
bGF5LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9pbWFnZU92ZXJsYXkuY3Nz
CkBAIC04NSwxOCArODUsMyBAQCBkaXYuaW1hZ2Utb3ZlcmxheS1kYXRhLWRldGVjdG9yLXJlc3Vs
dCB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5v
bmU7CiB9Ci0KLWltZyNpbWFnZS1vdmVybGF5LWNyb3BwZWQtaW1hZ2UgewotICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKLSAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKLX0KLQotZGl2I2ltYWdlLW92
ZXJsYXktY3JvcHBlZC1pbWFnZS1iYWNrZHJvcCB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwot
ICAgIGJhY2tncm91bmQ6IHdoaXRlOwotICAgIHdpZHRoOiAxMDAlOwotICAgIGhlaWdodDogMTAw
JTsKLSAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7Ci0gICAgb3BhY2l0
eTogMDsKLSAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCBmZjAzYjVmMTNhODhmZGU3M2Q5MmRjZDUxZDBhOTI3OWY1MjAwY2Ri
Li40NDZhZjIxNTY2Yzc4YjUxOWYyNDM0ZmE3MmI5ZDg1NDYzMTEzZTdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01OTUwLDI5ICs1OTUwLDYgQEAgdm9pZCBJbnRlcm5h
bHM6Omluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYgZWxlbWVudCwgVmVjdG9yPEltYWdlT3Zl
cmxheUxpbmU+JiYKICNlbmRpZgogfQogCi12b2lkIEludGVybmFsczo6aW5zdGFsbENyb3BwZWRJ
bWFnZU92ZXJsYXkoRWxlbWVudCYgZWxlbWVudCwgUmVmPERPTVJlY3RSZWFkT25seT4mJiBub3Jt
YWxpemVkQ3JvcFJlY3QpCi17Ci0gICAgUmVmUHRyIGh0bWxFbGVtZW50ID0gZHluYW1pY0Rvd25j
YXN0PEhUTUxFbGVtZW50PihlbGVtZW50KTsKLSAgICBpZiAoIWh0bWxFbGVtZW50KQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBhdXRvIGltYWdlRGF0YSA9IHBuZ0RhdGFGb3JUZXN0aW5nKCk7Ci0g
ICAgaWYgKCFpbWFnZURhdGEpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fY3JvcHBlZEltYWdl
T3ZlcmxheSA9IEltYWdlT3ZlcmxheTo6Q3JvcHBlZEltYWdlOjppbnN0YWxsKCpodG1sRWxlbWVu
dCwgaW1hZ2VEYXRhLnJlbGVhc2VOb25OdWxsKCksICJpbWFnZS9wbmciX3MsIHsKLSAgICAgICAg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDcm9wUmVjdC0+eCgpKSwKLSAgICAgICAgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDcm9wUmVjdC0+eSgpKSwKLSAgICAgICAgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRDcm9wUmVjdC0+d2lkdGgoKSksCi0gICAgICAgIHN0YXRp
Y19jYXN0PGZsb2F0Pihub3JtYWxpemVkQ3JvcFJlY3QtPmhlaWdodCgpKQotICAgIH0pOwotfQot
Ci12b2lkIEludGVybmFsczo6dW5pbnN0YWxsQ3JvcHBlZEltYWdlT3ZlcmxheSgpCi17Ci0gICAg
bV9jcm9wcGVkSW1hZ2VPdmVybGF5ID0gbnVsbHB0cjsKLX0KLQogYm9vbCBJbnRlcm5hbHM6Omhh
c0FjdGl2ZURhdGFEZXRlY3RvckhpZ2hsaWdodCgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKERBVEFf
REVURUNUSU9OKSAmJiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAppbmRleCAxNzdkOTA3YTI4NWNkOTZkMTFiZWI4MGI1NmEyZWI1ZTU1YTA1MjY1Li45
MmM2YzZlMDJlOWY2YmMxMDI0MjU5MzI4MzVhODM1ODQ5YWFmZjU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKQEAgLTk4Niw4ICs5ODYsNiBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAg
IHZvaWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiwgVmVjdG9yPEltYWdlT3ZlcmxheUxp
bmU+JiYsIFZlY3RvcjxJbWFnZU92ZXJsYXlCbG9jaz4mJiA9IHsgfSwgVmVjdG9yPEltYWdlT3Zl
cmxheURhdGFEZXRlY3Rvcj4mJiA9IHsgfSk7Ci0gICAgdm9pZCBpbnN0YWxsQ3JvcHBlZEltYWdl
T3ZlcmxheShFbGVtZW50JiwgUmVmPERPTVJlY3RSZWFkT25seT4mJik7Ci0gICAgdm9pZCB1bmlu
c3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5KCk7CiAgICAgYm9vbCBoYXNBY3RpdmVEYXRhRGV0ZWN0
b3JIaWdobGlnaHQoKSBjb25zdDsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKQEAgLTEz
NTMsOCArMTM1MSw2IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHN0ZDo6dW5p
cXVlX3B0cjxDYXB0aW9uVXNlclByZWZlcmVuY2VzVGVzdGluZ01vZGVUb2tlbj4gbV90ZXN0aW5n
TW9kZVRva2VuOwogI2VuZGlmCi0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VPdmVybGF5OjpD
cm9wcGVkSW1hZ2U+IG1fY3JvcHBlZEltYWdlT3ZlcmxheTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBiYTdkY2VkZGQw
ODRiNTQ1MTM0NGViMDU4NTVkZWJhZDg4ODFiM2IyLi5mYmMwYjc4YjczMmIxMDk0MTAzY2QyOTU3
ZTk0N2MxZmJlN2Q4ZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC05
OTgsOCArOTk4LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIEZldGNoUmVzcG9uc2UpIEZl
dGNoT2JqZWN0OwogICAgIFtDb25kaXRpb25hbD1JTUFHRV9BTkFMWVNJU10gcmVhZG9ubHkgYXR0
cmlidXRlIEVsZW1lbnQ/IHRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZTsKICAgICBbQ29uZGl0aW9u
YWw9SU1BR0VfQU5BTFlTSVNdIHVuZGVmaW5lZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1l
bnQgZWxlbWVudCwgVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB1bmRlZmluZWQgaW5zdGFs
bEltYWdlT3ZlcmxheShFbGVtZW50IGVsZW1lbnQsIHNlcXVlbmNlPEltYWdlT3ZlcmxheUxpbmU+
IGxpbmVzLCBvcHRpb25hbCBzZXF1ZW5jZTxJbWFnZU92ZXJsYXlCbG9jaz4gYmxvY2tzID0gW10s
IG9wdGlvbmFsIHNlcXVlbmNlPEltYWdlT3ZlcmxheURhdGFEZXRlY3Rvcj4gZGF0YURldGVjdG9y
cyA9IFtdKTsKLSAgICB1bmRlZmluZWQgaW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkoRWxlbWVu
dCBlbGVtZW50LCBET01SZWN0UmVhZE9ubHkgbm9ybWFsaXplZENyb3BSZWN0KTsKLSAgICB1bmRl
ZmluZWQgdW5pbnN0YWxsQ3JvcHBlZEltYWdlT3ZlcmxheSgpOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGhhc0FjdGl2ZURhdGFEZXRlY3RvckhpZ2hsaWdodDsKIAogICAgIGJvb2xl
YW4gdXNpbmdBcHBsZUludGVybmFsU0RLKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
bnRleHRNZW51Q29udGV4dERhdGEuY3BwCmluZGV4IDFmNzgxMjc4NjE1NDBkZWQ3YzlhMDQ4NjJh
NDcwMzEyMGIwMTU3ZTAuLjA0MDM2MjAwMGY1ZjM1ZDRjYjU2NzJmNWM3Zjc2YWFhMTgyMTc2MDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3Bw
CkBAIC00MywxNCArNDMsMTMgQEAgQ29udGV4dE1lbnVDb250ZXh0RGF0YTo6Q29udGV4dE1lbnVD
b250ZXh0RGF0YSgpCiB7CiB9CiAKLUNvbnRleHRNZW51Q29udGV4dERhdGE6OkNvbnRleHRNZW51
Q29udGV4dERhdGEoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgc3RkOjpvcHRpb25hbDxF
bGVtZW50Q29udGV4dD4mJiBoaXRUZXN0ZWRFbGVtZW50Q29udGV4dCwgY29uc3QgVmVjdG9yPFdl
YktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIG1lbnVJdGVtcywgY29uc3QgQ29udGV4dE1l
bnVDb250ZXh0JiBjb250ZXh0KQorQ29udGV4dE1lbnVDb250ZXh0RGF0YTo6Q29udGV4dE1lbnVD
b250ZXh0RGF0YShjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBWZWN0b3I8V2Vi
S2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgbWVudUl0ZW1zLCBjb25zdCBDb250ZXh0TWVu
dUNvbnRleHQmIGNvbnRleHQpCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgOiBt
X3R5cGUoY29udGV4dC5jb250cm9sbGVkSW1hZ2UoKSA/IFR5cGU6OlNlcnZpY2VzTWVudSA6IGNv
bnRleHQudHlwZSgpKQogI2Vsc2UKICAgICA6IG1fdHlwZShjb250ZXh0LnR5cGUoKSkKICNlbmRp
ZgogICAgICwgbV9tZW51TG9jYXRpb24obWVudUxvY2F0aW9uKQotICAgICwgbV9oaXRUZXN0ZWRF
bGVtZW50Q29udGV4dChXVEZNb3ZlKGhpdFRlc3RlZEVsZW1lbnRDb250ZXh0KSkKICAgICAsIG1f
bWVudUl0ZW1zKG1lbnVJdGVtcykKICAgICAsIG1fd2ViSGl0VGVzdFJlc3VsdERhdGEoeyBjb250
ZXh0LmhpdFRlc3RSZXN1bHQoKSwgdHJ1ZSB9KQogICAgICwgbV9zZWxlY3RlZFRleHQoY29udGV4
dC5zZWxlY3RlZFRleHQoKSkKQEAgLTk1LDcgKzk0LDYgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRl
eHREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29k
ZXIgPDwgbV90eXBlOwogICAgIGVuY29kZXIgPDwgbV9tZW51TG9jYXRpb247Ci0gICAgZW5jb2Rl
ciA8PCBtX2hpdFRlc3RlZEVsZW1lbnRDb250ZXh0OwogICAgIGVuY29kZXIgPDwgbV9tZW51SXRl
bXM7CiAgICAgZW5jb2RlciA8PCBtX3dlYkhpdFRlc3RSZXN1bHREYXRhOwogICAgIGVuY29kZXIg
PDwgbV9zZWxlY3RlZFRleHQ7CkBAIC0xMjMsOSArMTIxLDYgQEAgYm9vbCBDb250ZXh0TWVudUNv
bnRleHREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBDb250ZXh0TWVudUNvbnRl
eHREYXQKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX21lbnVMb2NhdGlvbikpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1f
aGl0VGVzdGVkRWxlbWVudENvbnRleHQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX21lbnVJdGVtcykpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250
ZXh0RGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5o
CmluZGV4IDE5MmE2ODI0MTg3NGZhODVkNGRlMTU3OGMyZDUxOWRkNmMxZDk2NzQuLmQwMWFlNjdm
MDhiOTRjMTQxN2EyN2QxNWIwN2QyM2VmMmYxNDVmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6
CiAgICAgdXNpbmcgVHlwZSA9IFdlYkNvcmU6OkNvbnRleHRNZW51Q29udGV4dDo6VHlwZTsKIAog
ICAgIENvbnRleHRNZW51Q29udGV4dERhdGEoKTsKLSAgICBDb250ZXh0TWVudUNvbnRleHREYXRh
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6RWxlbWVudENvbnRleHQ+JiYgaGl0VGVzdGVkRWxlbWVudENvbnRleHQsIGNvbnN0IFZl
Y3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBtZW51SXRlbXMsIGNvbnN0IFdl
YkNvcmU6OkNvbnRleHRNZW51Q29udGV4dCYpOworICAgIENvbnRleHRNZW51Q29udGV4dERhdGEo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgVmVjdG9yPFdlYktp
dDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIG1lbnVJdGVtcywgY29uc3QgV2ViQ29yZTo6Q29u
dGV4dE1lbnVDb250ZXh0Jik7CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KICAgICBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9tZW51TG9jYXRpb247IH0KICAgICBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJD
b250ZXh0TWVudUl0ZW1EYXRhPiYgbWVudUl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9tZW51SXRl
bXM7IH0KIAotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RWxlbWVudENvbnRleHQ+IGhpdFRl
c3RlZEVsZW1lbnRDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9oaXRUZXN0ZWRFbGVtZW50Q29u
dGV4dDsgfQogICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViSGl0VGVzdFJlc3VsdERhdGE+JiB3
ZWJIaXRUZXN0UmVzdWx0RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViSGl0VGVzdFJlc3VsdERh
dGE7IH0KICAgICBjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VsZWN0ZWRUZXh0OyB9CiAKQEAgLTg3LDcgKzg2LDYgQEAgcHJpdmF0ZToKICAgICBUeXBlIG1f
dHlwZTsKIAogICAgIFdlYkNvcmU6OkludFBvaW50IG1fbWVudUxvY2F0aW9uOwotICAgIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6RWxlbWVudENvbnRleHQ+IG1faGl0VGVzdGVkRWxlbWVudENvbnRl
eHQ7CiAgICAgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbV9tZW51SXRl
bXM7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkhpdFRlc3RSZXN1bHREYXRhPiBtX3dlYkhpdFRl
c3RSZXN1bHREYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggZWJmY2M4YjQ1OTY0Njc1OGJhYzMyYjczNTU0NjA1YTdiYmI5MmQ4MC4uZTIyZWNjMTA2OTdm
M2NmZTg4NDM0MTA4NDY3OTU2ZWM5MDMwNTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC03MTA0LDExICs3MTA0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRpZERpc21pc3NDb250ZXh0TWVudSgpCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlk
RGlzbWlzc0NvbnRleHRNZW51KCkpOwogCiAgICAgcGFnZUNsaWVudCgpLmRpZERpc21pc3NDb250
ZXh0TWVudSgpOwotCi0jaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAg
ICBtX2Nyb3BwZWRJbWFnZVJlc3VsdCA9IHsgfTsKLSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXlT
dGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6SW5hY3RpdmU7Ci0jZW5kaWYKIH0KIAog
dm9pZCBXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRl
eHRNZW51SXRlbURhdGEmIGl0ZW0pCkBAIC04MjYzLDExICs4MjU4LDYgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVh
c29uIHRlcm1pbmEKICAgICBtX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRpZmll
ciA9IHN0ZDo6bnVsbG9wdDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VO
SEFOQ0VNRU5UUykKLSAgICBtX2Nyb3BwZWRJbWFnZVJlc3VsdCA9IHsgfTsKLSAgICBtX2Nyb3Bw
ZWRJbWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6SW5hY3RpdmU7
Ci0jZW5kaWYKLQogICAgIC8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vMzg2NzY2MDQ+IEluIGNh
c2Ugb2YgcHJvY2VzcyBzd2FwcywgdGhlIG9sZCBwcm9jZXNzIHNob3VsZCBncmFjZWZ1bGx5IHN1
c3BlbmQgaW5zdGVhZCBvZiB0ZXJtaW5hdGluZy4KICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NUZXJt
aW5hdGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGUz
OWVmODQ5Y2E4MmVjZDczOGVjMGM0MzdiNmE1MDQ2Njc2ZWEwODAuLmJjMTc0NTMyZDJlMTIwNDE0
ODc0NzMxYTBjNDZkOGQ1YmJjMDM1MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0xMzg2LDcgKzEzODYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWREaXNtaXNz
Q29udGV4dE1lbnUoKTsKICAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdl
YkNvbnRleHRNZW51SXRlbURhdGEmKTsKICAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51S2V5RXZl
bnQoKTsKLSAgICB2b2lkIHdpbGxIaWdobGlnaHRDb250ZXh0TWVudUl0ZW0oV2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb24pOwogI2VuZGlmCiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIFdlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyUHJveHkuCkBAIC0zMjQ1LDE3ICszMjQ0LDYgQEAgcHJpdmF0ZToK
ICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJveHk+IG1fZnVsbHNjcmVlblZpZGVvRXh0cmFj
dGlvblRpbWVyOwogI2VuZGlmCiAgICAgYm9vbCBtX2hhc1BlbmRpbmdFbGVtZW50RnVsbFNjcmVl
blZpZGVvRXh0cmFjdGlvbiB7IGZhbHNlIH07Ci0KLSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNf
RU5IQU5DRU1FTlRTKQotICAgIGVudW0gY2xhc3MgQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlIDog
dWludDhfdCB7Ci0gICAgICAgIEluYWN0aXZlLAotICAgICAgICBBbmFseXppbmcsCi0gICAgICAg
IEhpZGRlbiwKLSAgICAgICAgU2hvd2luZywKLSAgICB9OwotICAgIFdlYkNvcmU6OlBsYXRmb3Jt
SW1hZ2VQdHIgbV9jcm9wcGVkSW1hZ2VSZXN1bHQ7Ci0gICAgQ3JvcHBlZEltYWdlT3ZlcmxheVN0
YXRlIG1fY3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlIHsgQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRl
OjpJbmFjdGl2ZSB9OwotI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVO
VFMpCiB9OwogCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggZGVjODhlNzgzM2Y2MzUy
N2YxZDZkOGZiZTc0MTVmMmZjYzU3OGI2OC4uNmJiYjA1ZTAzNTU2MzFiOTA3NjI4ZWUyNGM1OWY1
N2U2Y2JiY2I0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNv
bnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
YkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTE4NiwxMSArMTg2LDYgQEAgLSAodm9pZCltZW51
RGlkQ2xvc2U6KE5TTWVudSAqKW1lbnUKICAgICBfbWVudVByb3h5LT5wYWdlKCktPmRpZERpc21p
c3NDb250ZXh0TWVudSgpOwogfQogCi0tICh2b2lkKW1lbnU6KE5TTWVudSAqKW1lbnUgd2lsbEhp
Z2hsaWdodEl0ZW06KE5TTWVudUl0ZW0gKilpdGVtCi17Ci0gICAgX21lbnVQcm94eS0+cGFnZSgp
LT53aWxsSGlnaGxpZ2h0Q29udGV4dE1lbnVJdGVtKHN0YXRpY19jYXN0PFdlYkNvcmU6OkNvbnRl
eHRNZW51QWN0aW9uPihpdGVtLnRhZykpOwotfQotCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KaW5k
ZXggMTAyZGZlOThmMmRkYzY2MjU1MDY3ZWMyMzZiYTIxYzUyODI3YTI3NS4uZmIwNGVhOWVlZjhh
YzBkZWRiZGY5MTIwNzBmZTAzZDg5ZGRhMjQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC03NzksNzQgKzc3OSw2IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzaG93SW1hZ2VJblF1aWNrTG9va1ByZXZpZXdQYW5lbChTaGFyZWFibGVCaXRt
YXAmIGltYWdlQml0bWFwCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZv
aWQgV2ViUGFnZVByb3h5Ojp3aWxsSGlnaGxpZ2h0Q29udGV4dE1lbnVJdGVtKENvbnRleHRNZW51
QWN0aW9uIGFjdGlvbikKLXsKLSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRT
KQotICAgIGlmIChhY3Rpb24gIT0gQ29udGV4dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZSkg
ewotICAgICAgICBpZiAobV9jcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGUgPT0gQ3JvcHBlZEltYWdl
T3ZlcmxheVN0YXRlOjpTaG93aW5nKSB7Ci0gICAgICAgICAgICBtX2Nyb3BwZWRJbWFnZU92ZXJs
YXlTdGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6SGlkZGVuOwotICAgICAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q3JvcHBlZEltYWdlT3ZlcmxheVZpc2liaWxpdHko
ZmFsc2UpKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1f
Y3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlID09IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6SGlk
ZGVuKSB7Ci0gICAgICAgIG1fY3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlID0gQ3JvcHBlZEltYWdl
T3ZlcmxheVN0YXRlOjpTaG93aW5nOwotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRDcm9wcGVkSW1hZ2VPdmVybGF5VmlzaWJpbGl0eSh0cnVlKSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBpZiAobV9jcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGUgIT0gQ3JvcHBlZElt
YWdlT3ZlcmxheVN0YXRlOjpJbmFjdGl2ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBl
bGVtZW50Q29udGV4dCA9IG1fYWN0aXZlQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oaXRUZXN0ZWRF
bGVtZW50Q29udGV4dCgpOwotICAgIGlmICghZWxlbWVudENvbnRleHQpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGF1dG8mIGhpdFRlc3REYXRhID0gbV9hY3RpdmVDb250ZXh0TWVudUNvbnRleHRE
YXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCkudmFsdWUoKTsKLSAgICBhdXRvIGltYWdlQml0bWFw
ID0gaGl0VGVzdERhdGEuaW1hZ2VCaXRtYXA7Ci0gICAgaWYgKCFpbWFnZUJpdG1hcCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgYXV0byBpbWFnZSA9IGltYWdlQml0bWFwLT5tYWtlQ0dJbWFnZUNv
cHkoKTsKLSAgICBpZiAoIWltYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2Nyb3BwZWRJ
bWFnZU92ZXJsYXlTdGF0ZSA9IENyb3BwZWRJbWFnZU92ZXJsYXlTdGF0ZTo6QW5hbHl6aW5nOwot
Ci0gICAgcmVxdWVzdEltYWdlQW5hbHlzaXNNYXJrdXAoaW1hZ2UuZ2V0KCksIFt3ZWFrUGFnZSA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBlbGVtZW50Q29udGV4dCA9IFdURk1vdmUoKmVsZW1lbnRDb250
ZXh0KV0oQ0dJbWFnZVJlZiByZXN1bHRJbWFnZSwgQ0dSZWN0IG5vcm1hbGl6ZWRDcm9wUmVjdCkg
ewotICAgICAgICBpZiAoIXJlc3VsdEltYWdlIHx8IENHUmVjdElzRW1wdHkobm9ybWFsaXplZENy
b3BSZWN0KSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBSZWZQdHIgcHJvdGVjdGVk
UGFnZSA9IHdlYWtQYWdlLmdldCgpOwotICAgICAgICBpZiAoIXByb3RlY3RlZFBhZ2UpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgcHJvdGVjdGVkUGFnZS0+bV9jcm9wcGVkSW1hZ2VS
ZXN1bHQgPSByZXN1bHRJbWFnZTsKLQotICAgICAgICBpZiAocHJvdGVjdGVkUGFnZS0+bV9jcm9w
cGVkSW1hZ2VPdmVybGF5U3RhdGUgIT0gQ3JvcHBlZEltYWdlT3ZlcmxheVN0YXRlOjpBbmFseXpp
bmcpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byB0aWZmRGF0YSA9IHRyYW5z
Y29kZShyZXN1bHRJbWFnZSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKVVUVHlwZVRJRkYuaWRlbnRp
Zmllcik7Ci0gICAgICAgIGlmICghdGlmZkRhdGEpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgYXV0byBzaGFyZWRNZW1vcnkgPSBTaGFyZWRNZW1vcnk6OmFsbG9jYXRlKFt0aWZmRGF0
YSBsZW5ndGhdKTsKLSAgICAgICAgaWYgKCFzaGFyZWRNZW1vcnkpCi0gICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgW3RpZmZEYXRhIGdldEJ5dGVzOnNoYXJlZE1lbW9yeS0+ZGF0YSgpIGxl
bmd0aDpbdGlmZkRhdGEgbGVuZ3RoXV07Ci0KLSAgICAgICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUg
aGFuZGxlOwotICAgICAgICBzaGFyZWRNZW1vcnktPmNyZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJl
ZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwotICAgICAgICBwcm90ZWN0ZWRQYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpJbnN0YWxsQ3JvcHBlZEltYWdlT3ZlcmxheShlbGVtZW50
Q29udGV4dCwgeyBXVEZNb3ZlKGhhbmRsZSksIHNoYXJlZE1lbW9yeS0+c2l6ZSgpIH0sICJpbWFn
ZS90aWZmIl9zLCBub3JtYWxpemVkQ3JvcFJlY3QpKTsKLSAgICAgICAgcHJvdGVjdGVkUGFnZS0+
bV9jcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGUgPSBDcm9wcGVkSW1hZ2VPdmVybGF5U3RhdGU6OlNo
b3dpbmc7Ci0gICAgfSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShhY3Rpb24pOwotI2VuZGlm
Ci19Ci0KICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQogCiB2b2lkIFdl
YlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVDb3B5Q3JvcHBlZEltYWdlKFNoYXJlYWJsZUJp
dG1hcCYgaW1hZ2VCaXRtYXAsIGNvbnN0IFN0cmluZyYgcHJlZmVycmVkTUlNRVR5cGUpCkBAIC04
NjUsMTEgKzc5Nyw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250ZXh0TWVudUNvcHlD
cm9wcGVkSW1hZ2UoU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hCiAgICAgICAgIFtwYXN0ZWJv
YXJkIHNldERhdGE6ZGF0YS5nZXQoKSBmb3JUeXBlOihfX2JyaWRnZSBOU1N0cmluZyAqKXR5cGUu
Z2V0KCldOwogICAgIH07CiAKLSAgICBpZiAobV9jcm9wcGVkSW1hZ2VSZXN1bHQpIHsKLSAgICAg
ICAgcGVyZm9ybUNvcHkobV9jcm9wcGVkSW1hZ2VSZXN1bHQuZ2V0KCkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCiAgICAgYXV0byBvcmlnaW5hbEltYWdlID0gaW1hZ2VCaXRtYXAubWFrZUNH
SW1hZ2VDb3B5KCk7CiAgICAgaWYgKCFvcmlnaW5hbEltYWdlKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHAKaW5kZXggM2MxY2FmOGM3MDRmNDU4ODA1MWRiYzYyMTAyNmI4NDFiMzNlOWE5Ny4uYjE4Y2Vj
NThlM2E2MTg4NTFlNDM2YmY3OTNjMzM1NjVjNzA4YWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtNjMsMTMgKzYz
LDkgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0
PiB1c2VyRGF0YTsKICAgICBtZW51SXRlbXNXaXRoVXNlckRhdGEobWVudUl0ZW1zLCB1c2VyRGF0
YSk7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPEVsZW1lbnRDb250ZXh0PiBoaXRUZXN0ZWRFbGVtZW50
Q29udGV4dDsKLSAgICBpZiAoUmVmUHRyIGhpdFRlc3RlZEVsZW1lbnQgPSBjb250cm9sbGVyLmhp
dFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZEVsZW1lbnQoKSkKLSAgICAgICAgaGl0VGVzdGVk
RWxlbWVudENvbnRleHQgPSBtX3BhZ2UtPmNvbnRleHRGb3JFbGVtZW50KCpoaXRUZXN0ZWRFbGVt
ZW50KTsKLQogICAgIGF1dG8gbWVudUxvY2F0aW9uID0gdmlldy0+Y29udGVudHNUb1Jvb3RWaWV3
KGNvbnRyb2xsZXIuaGl0VGVzdFJlc3VsdCgpLnJvdW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUo
KSk7CiAKLSAgICBDb250ZXh0TWVudUNvbnRleHREYXRhIGNvbnRleHRNZW51Q29udGV4dERhdGEo
bWVudUxvY2F0aW9uLCBXVEZNb3ZlKGhpdFRlc3RlZEVsZW1lbnRDb250ZXh0KSwgbWVudUl0ZW1z
LCBjb250cm9sbGVyLmNvbnRleHQoKSk7CisgICAgQ29udGV4dE1lbnVDb250ZXh0RGF0YSBjb250
ZXh0TWVudUNvbnRleHREYXRhKG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zLCBjb250cm9sbGVyLmNv
bnRleHQoKSk7CiAKICAgICAvLyBNYXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBj
b250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJUHJvY2Vzcy4KICAgICBtX3BhZ2UtPnN0YXJ0
V2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU5YTQzODhhZDc5OTdjYWIxNzAwZDk0YWM3YWYy
MDQ2ZDE3MzExZTguLjBhMjY4MWQwYTM4NmFmODYzNTQxMTgyNWJlMzkzMmM0MmRiNDFmMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDAx
LDEwICszMDAxLDYgQEAgdm9pZCBXZWJQYWdlOjpkaWRTaG93Q29udGV4dE1lbnUoKQogdm9pZCBX
ZWJQYWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQogewogICAgIGNvcmVQYWdlKCktPmNvbnRl
eHRNZW51Q29udHJvbGxlcigpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOwotCi0jaWYgRU5BQkxF
KElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAgICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXkg
PSBudWxscHRyOwotI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
QEAgLTc5MjUsMjkgKzc5MjEsNiBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RJbWFnZUJpdG1hcChj
b25zdCBFbGVtZW50Q29udGV4dCYgY29udGV4dCwgQ29tcGxldGlvbkhhbmRsZQogICAgIGNvbXBs
ZXRpb24oaGFuZGxlLCBtaW1lVHlwZSk7CiB9CiAKLSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNf
RU5IQU5DRU1FTlRTKQotCi12b2lkIFdlYlBhZ2U6Omluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5
KGNvbnN0IEVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hh
bmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBGbG9hdFJlY3Qgbm9ybWFs
aXplZENyb3BSZWN0KQotewotICAgIGF1dG8gc2hhcmVkTWVtb3J5ID0gU2hhcmVkTWVtb3J5Ojpt
YXAoaW1hZ2VEYXRhLmhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7
Ci0gICAgaWYgKCFzaGFyZWRNZW1vcnkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0ciBl
bGVtZW50ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxFbGVtZW50PihlbGVtZW50Rm9yQ29udGV4dChj
b250ZXh0KS5nZXQoKSk7Ci0gICAgaWYgKCFlbGVtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX2Nyb3BwZWRJbWFnZU92ZXJsYXkgPSBJbWFnZU92ZXJsYXk6OkNyb3BwZWRJbWFnZTo6aW5z
dGFsbCgqZWxlbWVudCwgc2hhcmVkTWVtb3J5LT5jcmVhdGVTaGFyZWRCdWZmZXIoaW1hZ2VEYXRh
LmRhdGFTaXplKSwgbWltZVR5cGUsIG5vcm1hbGl6ZWRDcm9wUmVjdCk7Ci19Ci0KLXZvaWQgV2Vi
UGFnZTo6c2V0Q3JvcHBlZEltYWdlT3ZlcmxheVZpc2liaWxpdHkoYm9vbCB2aXNpYmxlKQotewot
ICAgIGlmIChtX2Nyb3BwZWRJbWFnZU92ZXJsYXkpCi0gICAgICAgIG1fY3JvcHBlZEltYWdlT3Zl
cmxheS0+c2V0VmlzaWJpbGl0eSh2aXNpYmxlKTsKLX0KLQotI2VuZGlmIC8vIEVOQUJMRShJTUFH
RV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCi0KICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfQ09O
VEVYVF9NRU5VUykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCiB2b2lkIFdlYlBhZ2U6OnNob3dNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnUoRmxvYXRSZWN0JiYgdGFyZ2V0RnJhbWUsIFZlY3RvcjxNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnVJdGVtPiYmIGl0ZW1zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW06OklEKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkNDY5
NWMxYTkwNGVjYmIxNjllZGRhNzRmYmQxMDEwYzQ3MTI4YWJkLi5iMjQzMTM4M2I1MTA0Yzk1MDg0
MTZlYzEzNTRjYzY4MWFhYzkyYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC0yNjUsMTAgKzI2NSw2IEBAIGNsYXNzIEhUTUxBdHRhY2htZW50RWxl
bWVudDsKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKIHN0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbzsKICNlbmRpZgotCi1u
YW1lc3BhY2UgSW1hZ2VPdmVybGF5IHsKLWNsYXNzIENyb3BwZWRJbWFnZTsKLX0KIH0KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC0xNDYwLDEwICsxNDU2LDYgQEAgcHVibGljOgogI2VuZGlmCiAK
ICAgICB2b2lkIHJlcXVlc3RJbWFnZUJpdG1hcChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUm
LCBjb25zdCBTdHJpbmcmIHNvdXJjZU1JTUVUeXBlKT4mJik7Ci0jaWYgRU5BQkxFKElNQUdFX0FO
QUxZU0lTX0VOSEFOQ0VNRU5UUykKLSAgICB2b2lkIGluc3RhbGxDcm9wcGVkSW1hZ2VPdmVybGF5
KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENI
YW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgV2ViQ29yZTo6RmxvYXRS
ZWN0IG5vcm1hbGl6ZWRDcm9wUmVjdCk7Ci0gICAgdm9pZCBzZXRDcm9wcGVkSW1hZ2VPdmVybGF5
VmlzaWJpbGl0eShib29sKTsKLSNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJW
SUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVu
dVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJik7
CkBAIC0yNDYzLDEwICsyNDU1LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCiAgICAgV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eSBtX2FwcEhpZ2hsaWdodHNWaXNp
YmxlIHsgV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eTo6SGlkZGVuIH07CiAjZW5kaWYKLQot
I2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCi0gICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6Q3JvcHBlZEltYWdlPiBtX2Nyb3BwZWRJbWFnZU92
ZXJsYXk7Ci0jZW5kaWYKIH07CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IGY1MjUzMTI5YWY3MTVhMDYzNmY0NjU5NjllZTVhY2Y5YWU0ZjhkN2QuLjI1YzI4YjdjZDQ1
OGM5YjI3MmM3MWNkMDBhMzc2ZDI2YzRlNjM3ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMTMxLDExICsxMzEs
NiBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6
OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAgICAgUmVxdWVzdEltYWdlQml0bWFwKHN0
cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCkgLT4gKFdlYktpdDo6
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaW1hZ2UsIFN0cmluZyBzb3VyY2VNSU1FVHlwZSkKIAot
I2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCi0gICAgSW5zdGFsbENyb3Bw
ZWRJbWFnZU92ZXJsYXkoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250
ZXh0LCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGltYWdlRGF0YSwgU3RyaW5nIG1p
bWVUeXBlLCBXZWJDb3JlOjpGbG9hdFJlY3Qgbm9ybWFsaXplZENyb3BSZWN0KQotICAgIFNldENy
b3BwZWRJbWFnZU92ZXJsYXlWaXNpYmlsaXR5KGJvb2wgdmlzaWJsZSkKLSNlbmRpZgotCiAgICAg
U2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihib29sIGNvbnRyb2xsZWQpCiAKICAgICBDb25uZWN0
SW5zcGVjdG9yKFN0cmluZyB0YXJnZXRJZCwgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWw6OkNv
bm5lY3Rpb25UeXBlIGNvbm5lY3Rpb25UeXBlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY0OWZlNmJjYjg2ZTZjYzUzZGI0
MTJlNDQ5OWI2ZGMwNmVjMzk0MWUuLjUxNmE4NzQ2M2QzMzdkNDk4NTQxOWU5M2Y5YjI1YTE5MzY1
NWY1NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0xMiAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgZHJh
d2luZyBjcm9wcGVkIGltYWdlIG92ZXJsYXlzIHdoZW4gaG92ZXJpbmcgb3ZlciAiQ29weSBDcm9w
cGVkIEltYWdlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM5MjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
KiBmYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFn
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvdGV4dC1yZWNv
Z25pdGlvbi9pbWFnZS1vdmVybGF5LWNyb3BwZWQtaW1hZ2UuaHRtbDogUmVtb3ZlZC4KKwogMjAy
Mi0wNC0xMiAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBJbmNvcnJlY3Qgcm9sZSBvbiBkeW5hbWljIGxpc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9u
L2ltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI2MWJlN2NlNTYxYmZiNjI5NGRkMDRkZjU3MzJlOWUyODFjYjljMzIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWNyb3BwZWQtaW1h
Z2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotCi1QQVNTIGNy
b3BwZWRJbWFnZSBpcyBub24tbnVsbC4KLVBBU1MgY3JvcHBlZEltYWdlQmFja2Ryb3AgaXMgbm9u
LW51bGwuCi1QQVNTIGNyb3BwZWRJbWFnZVJlY3QueCBpcyAxMDAKLVBBU1MgY3JvcHBlZEltYWdl
UmVjdC55IGlzIDEwMAotUEFTUyBjcm9wcGVkSW1hZ2VSZWN0LndpZHRoIGlzIDIwMAotUEFTUyBj
cm9wcGVkSW1hZ2VSZWN0LmhlaWdodCBpcyAyMDAKLVBBU1MgY3JvcHBlZEltYWdlIGlzIG51bGwK
LVBBU1MgY3JvcHBlZEltYWdlQmFja2Ryb3AgaXMgbnVsbAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJs
YXktY3JvcHBlZC1pbWFnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTBi
NjVjMDBhNDFlN2IzN2U1YzJjMTc5OTc4OGMwNWQzY2ViYzQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQt
cmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHN0eWxl
PgotYm9keSwgaHRtbCB7Ci0gICAgbWFyZ2luOiAwOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi00MDB4NDAwLnBuZyI+PC9pbWc+Ci08
cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KLTxzY3JpcHQ+Ci1hZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgKCkgPT4gewotICAgIGNvbnN0IGltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW1n
Iik7Ci0KLSAgICBpbnRlcm5hbHMuaW5zdGFsbENyb3BwZWRJbWFnZU92ZXJsYXkoaW1hZ2UsIG5l
dyBET01SZWN0UmVhZE9ubHkoMC4yNSwgMC4yNSwgMC41LCAwLjUpKTsKLQotICAgIGNyb3BwZWRJ
bWFnZSA9IGludGVybmFscy5zaGFkb3dSb290KGltYWdlKS5nZXRFbGVtZW50QnlJZCgiaW1hZ2Ut
b3ZlcmxheS1jcm9wcGVkLWltYWdlIik7Ci0gICAgY3JvcHBlZEltYWdlQmFja2Ryb3AgPSBpbnRl
cm5hbHMuc2hhZG93Um9vdChpbWFnZSkuZ2V0RWxlbWVudEJ5SWQoImltYWdlLW92ZXJsYXktY3Jv
cHBlZC1pbWFnZS1iYWNrZHJvcCIpOwotICAgIHNob3VsZEJlTm9uTnVsbCgiY3JvcHBlZEltYWdl
Iik7Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJjcm9wcGVkSW1hZ2VCYWNrZHJvcCIpOwotCi0gICAg
Y3JvcHBlZEltYWdlUmVjdCA9IGNyb3BwZWRJbWFnZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
LSAgICBzaG91bGRCZSgiY3JvcHBlZEltYWdlUmVjdC54IiwgIjEwMCIpOwotICAgIHNob3VsZEJl
KCJjcm9wcGVkSW1hZ2VSZWN0LnkiLCAiMTAwIik7Ci0gICAgc2hvdWxkQmUoImNyb3BwZWRJbWFn
ZVJlY3Qud2lkdGgiLCAiMjAwIik7Ci0gICAgc2hvdWxkQmUoImNyb3BwZWRJbWFnZVJlY3QuaGVp
Z2h0IiwgIjIwMCIpOwotCi0gICAgaW50ZXJuYWxzLnVuaW5zdGFsbENyb3BwZWRJbWFnZU92ZXJs
YXkoKTsKLQotICAgIGNyb3BwZWRJbWFnZSA9IGludGVybmFscy5zaGFkb3dSb290KGltYWdlKS5n
ZXRFbGVtZW50QnlJZCgiaW1hZ2Utb3ZlcmxheS1jcm9wcGVkLWltYWdlIik7Ci0gICAgY3JvcHBl
ZEltYWdlQmFja2Ryb3AgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChpbWFnZSkuZ2V0RWxlbWVudEJ5
SWQoImltYWdlLW92ZXJsYXktY3JvcHBlZC1pbWFnZS1iYWNrZHJvcCIpOwotICAgIHNob3VsZEJl
TnVsbCgiY3JvcHBlZEltYWdlIik7Ci0gICAgc2hvdWxkQmVOdWxsKCJjcm9wcGVkSW1hZ2VCYWNr
ZHJvcCIpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>