<?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>187717</bug_id>
          
          <creation_ts>2018-07-16 16:55:21 -0700</creation_ts>
          <short_desc>Add color filter for transforming colors in Dark Mode</short_desc>
          <delta_ts>2018-07-16 19:04:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>enrica</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1442557</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-16 16:55:21 -0700</bug_when>
    <thetext>Add color filter for transforming colors in Dark Mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442559</commentid>
    <comment_count>1</comment_count>
      <attachid>345130</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-16 16:57:30 -0700</bug_when>
    <thetext>Created attachment 345130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442560</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-16 16:57:49 -0700</bug_when>
    <thetext>rdar://problem/41146650</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442562</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-07-16 17:01:00 -0700</bug_when>
    <thetext>Attachment 345130 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/filters/FilterOperation.h:59:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/graphics/filters/FilterOperation.h:277:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
ERROR: Source/WebCore/platform/graphics/filters/FilterOperation.h:282:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
ERROR: Source/WebCore/platform/graphics/filters/FilterOperation.h:293:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
ERROR: Source/WebCore/platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:407:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 5 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442587</commentid>
    <comment_count>4</comment_count>
      <attachid>345130</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-16 19:04:19 -0700</bug_when>
    <thetext>Comment on attachment 345130
Patch

Dean reviewed this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442588</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-16 19:04:42 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/233877/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345130</attachid>
            <date>2018-07-16 16:57:30 -0700</date>
            <delta_ts>2018-07-16 19:04:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187717-20180716165729.patch</filename>
            <type>text/plain</type>
            <size>50508</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFhODI1OWQxNjE2ZDQ1
NmVlMzZiZTc0ODNlYTQyZjQ2ZTQ3MTQ0Ni4uNGQyMDY5ZDY1NzU2OTVlOWI3YTEzOTZjOTc0ZTYx
ZjA4ZTdmODQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE4LTA3LTE2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBjb2xvciBm
aWx0ZXIgZm9yIHRyYW5zZm9ybWluZyBjb2xvcnMgaW4gRGFyayBNb2RlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc3MTcKKyAgICAgICAgcmRhcjov
L3Byb2JsZW0vNDExNDY2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgCisgICAgICAgIEFkZCBhIG5ldyBmaWx0ZXIgZnVuY3Rpb24gZm9yIHVzZSBpbiAt
YXBwbGUtY29sb3ItZmlsdGVyIGZvciB0cmFuc2Zvcm1pbmcgY29sb3JzCisgICAgICAgIHdoZW4g
aW4gRGFyayBNb2RlLiBUaGUgZmlsdGVyIGlzIGNhbGxlZCBhcHBsZS1pbnZlcnQtbGlnaHRuZXNz
KCksIGFuZCB0YWtlcyBubyBwYXJhbWV0ZXJzLgorICAgICAgICBJdCdzIGJhc2VkIG9uIGEgbGln
aHRuZXNzIGludmVydCBpbiBIU0wgc3BhY2UsIHdpdGggc29tZSBhZGp1c3RtZW50cyB0byBpbXBy
b3ZlIHRoZSBjb250cmFzdAorICAgICAgICBvZiBzb21lIGNvbG9ycyBvbiBkYXJrIGJhY2tncm91
bmRzLCBzbyBkb2VzIGEgbXVjaCBiZXR0ZXIgam9iIHRoYXQgdXNpbmcgaW52ZXJ0KCkgd2l0aCBo
dWUtcm90YXRlKCkuCisKKyAgICAgICAgVGVzdDogY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZp
bHRlci1hcHBsZS1pbnZlcnQtbGlnaHRuZXNzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHls
ZUV4dHJhY3Rvcjo6dmFsdWVGb3JGaWx0ZXIpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdv
cmRzLmluOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmZpbHRlck9wZXJhdGlvbkZvclR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VTaW5nbGVWYWx1ZSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
Ojpjb25zdW1lRmlsdGVySW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzOjppc1BpeGVsRmlsdGVyRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXJIZWxwZXJzOjppc0NvbG9yRmlsdGVyRnVuY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lRmlsdGVyRnVuY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lRmls
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6aXNWYWxp
ZFByaW1pdGl2ZUZpbHRlckZ1bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50cyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNSR0JUb0xpbmVhckNv
bXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6bGluZWFyVG9TUkdCQ29tcG9uZW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpzUkdCVG9MaW5lYXJDb2xvckNvbXBvbmVudEZvckx1bWluYW5jZSk6
CisgICAgICAgIChXZWJDb3JlOjpsdW1pbmFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6c1JHQlRv
SFNMKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNIdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFNM
VG9TUkdCKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yTWF0cml4OjpDb2xvck1hdHJpeCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tOgorICAg
ICAgICAoUGxhdGZvcm1DQUZpbHRlcnM6OmZpbHRlclZhbHVlRm9yT3BlcmF0aW9uKToKKyAgICAg
ICAgKFBsYXRmb3JtQ0FGaWx0ZXJzOjpjb2xvck1hdHJpeFZhbHVlRm9yRmlsdGVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludmVydExpZ2h0bmVzc0ZpbHRlck9wZXJhdGlvbjo6b3BlcmF0b3I9PSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb246
OmJsZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkludmVydExpZ2h0bmVzc0ZpbHRlck9wZXJhdGlv
bjo6dHJhbnNmb3JtQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKToKKwogMjAxOC0wNy0xNiAgU2Vy
Z2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViVlJd
IEFkZCBzdXBwb3J0IGZvciBjb25uZWN0L2Rpc2Nvbm5lY3QgYW5kIG1vdW50L3VubW91bnQgZGV2
aWNlIGV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBiYTI1NzFjOTlhODI0NDZmMGYwZjMyOGUxMGI5M2Q3ZDIx
ZDY1ZWU1Li5mMzJmMDQzMjlkZjc5M2NiOWFmYzc0OTI5MDgwMjNmMmRjMGEyMjI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA3LTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBjb2xvciBmaWx0ZXIgZm9yIHRyYW5zZm9ybWlu
ZyBjb2xvcnMgaW4gRGFyayBNb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODc3MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAg
ICAoSVBDOjpBcmd1bWVudENvZGVyPEZpbHRlck9wZXJhdGlvbj46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OmRlY29kZUZpbHRlck9wZXJhdGlvbik6CisKIDIwMTgtMDctMTUgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBodHRwL3Rl
c3RzL21pc2MvYnViYmxlLWRyYWctZXZlbnRzLmh0bWwgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA3ODY5NWM0
Yzg1OWY5NmQ4OWNiZGFhYTY1YmNmODRjMzEyM2JlMmU0Li5mZWFjNjg3ODJhZGZlZmI0OTk1YzMz
Zjk4NzIwMDFlYzIzMTI0ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTAxMyw2ICsxMDEzLDEwIEBAIFJlZjxDU1NW
YWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JGaWx0ZXIoY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlLCBjCiAgICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChjc3NW
YWx1ZVBvb2wuY3JlYXRlVmFsdWUoZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRl
ck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKS5hbW91bnQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVIpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpBUFBMRV9JTlZFUlRfTElHSFRORVNTOiB7
CisgICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSBDU1NGdW5jdGlvblZhbHVlOjpjcmVhdGUo
Q1NTVmFsdWVBcHBsZUludmVydExpZ2h0bmVzcyk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lUWTog
ewogICAgICAgICAgICAgICAgIGZpbHRlclZhbHVlID0gQ1NTRnVuY3Rpb25WYWx1ZTo6Y3JlYXRl
KENTU1ZhbHVlT3BhY2l0eSk7CiAgICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZp
bHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKS5hbW91bnQoKSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5k
ZXggMDNiNWZmYTg2MDk4MzA5ZDdmYmQ0YjdhMjdjNjY5YTQ5N2U4ZmMyYy4uMDIwNDdiNTE3YmJj
Y2U1NTc0NDJjYzY0MGFiYzkzNWRjYzJjNWRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KQEAgLTEyMzIsNiArMTIzMiw3IEBAIGN1YmljLWJlemllcgogc3ByaW5nCiBz
dGVwcwogZnJhbWVzCithcHBsZS1pbnZlcnQtbGlnaHRuZXNzCiAKIC8vIGNvbG9ycwogcmdiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMWJhNjczMDQ0ZGQyOWRmYTNmNDdl
NTE4NWNjMGI0ZWYyMGJlNDk0MS4uN2NlM2RiZDVkMTlkMDNiMjQ1ZTA2ZDUxZTg3OTY5MmIxZjgw
OGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTg4NSw2ICsxODg1
LDggQEAgc3RhdGljIEZpbHRlck9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSBmaWx0ZXJPcGVyYXRp
b25Gb3JUeXBlKENTU1ZhbHVlSUQgdHlwZSkKICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlv
bjo6SFVFX1JPVEFURTsKICAgICBjYXNlIENTU1ZhbHVlSW52ZXJ0OgogICAgICAgICByZXR1cm4g
RmlsdGVyT3BlcmF0aW9uOjpJTlZFUlQ7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlSW52ZXJ0TGln
aHRuZXNzOgorICAgICAgICByZXR1cm4gRmlsdGVyT3BlcmF0aW9uOjpBUFBMRV9JTlZFUlRfTElH
SFRORVNTOwogICAgIGNhc2UgQ1NTVmFsdWVPcGFjaXR5OgogICAgICAgICByZXR1cm4gRmlsdGVy
T3BlcmF0aW9uOjpPUEFDSVRZOwogICAgIGNhc2UgQ1NTVmFsdWVCcmlnaHRuZXNzOgpAQCAtMTk5
MSw2ICsxOTkzLDEwIEBAIGJvb2wgU3R5bGVSZXNvbHZlcjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9u
cyhjb25zdCBDU1NWYWx1ZSYgaW5WYWx1ZSwgRmlsdGVyT3BlcmF0CiAgICAgICAgICAgICBvcGVy
YXRpb25zLm9wZXJhdGlvbnMoKS5hcHBlbmQoQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9w
ZXJhdGlvbjo6Y3JlYXRlKGFtb3VudCwgb3BlcmF0aW9uVHlwZSkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkFQUExFX0lOVkVS
VF9MSUdIVE5FU1M6IHsKKyAgICAgICAgICAgIG9wZXJhdGlvbnMub3BlcmF0aW9ucygpLmFwcGVu
ZChJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb246OmNyZWF0ZSgpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpCTFVSOiB7
CiAgICAgICAgICAgICBMZW5ndGggc3RkRGV2aWF0aW9uID0gTGVuZ3RoKDAsIEZpeGVkKTsKICAg
ICAgICAgICAgIGlmIChmaWx0ZXJWYWx1ZS5sZW5ndGgoKSA+PSAxKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCBlNTY2OTY0M2Y0YzM0
MmI4ZjFhMDcwYmYyNTQ3MDJiODU3MDBiZTllLi5iZDI3ZDYzZTc2YTI0ZmM5Zjk2ZWM2MGM2YWM2
N2RhMWVlNTJjNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtNDEzMywxMSArNDEzMywxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENT
U1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHks
IENTUwogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdEJhY2tkcm9wRmlsdGVyOgogI2VuZGlmCi0gICAgICAgIHJldHVybiBjb25zdW1lRmlsdGVy
KG1fcmFuZ2UsIG1fY29udGV4dCwgQWxsb3dlZEZpbHRlckZ1bmN0aW9uczo6QWxsKTsKKyAgICAg
ICAgcmV0dXJuIGNvbnN1bWVGaWx0ZXIobV9yYW5nZSwgbV9jb250ZXh0LCBBbGxvd2VkRmlsdGVy
RnVuY3Rpb25zOjpQaXhlbEZpbHRlcnMpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlBcHBsZUNvbG9y
RmlsdGVyOgogICAgICAgICBpZiAoIW1fY29udGV4dC5jb2xvckZpbHRlckVuYWJsZWQpCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIGNvbnN1bWVGaWx0ZXIobV9y
YW5nZSwgbV9jb250ZXh0LCBBbGxvd2VkRmlsdGVyRnVuY3Rpb25zOjpDb2xvcik7CisgICAgICAg
IHJldHVybiBjb25zdW1lRmlsdGVyKG1fcmFuZ2UsIG1fY29udGV4dCwgQWxsb3dlZEZpbHRlckZ1
bmN0aW9uczo6Q29sb3JGaWx0ZXJzKTsKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dERlY29yYXRp
b246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0Ogog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAK
aW5kZXggYWI2MmIwOGYxOTVkYTQ4MGZiNDdhNmI0ZjA5ZThjNDliOTU2YjU5Ny4uYTQ0YTUyNjFk
YjZiMjEwODBlNmFiZmJlNzU1YWE4NGFlNGVkZjQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMTI4Niw3
ICsxMjg2LDcgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUZpbHRlckltYWdlKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1AKICAgICBpZiAoIWltYWdlVmFsdWUg
fHwgIWNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UoYXJncykpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCi0gICAgYXV0byBmaWx0ZXJWYWx1ZSA9IGNvbnN1bWVGaWx0ZXIoYXJncywg
Y29udGV4dCk7CisgICAgYXV0byBmaWx0ZXJWYWx1ZSA9IGNvbnN1bWVGaWx0ZXIoYXJncywgY29u
dGV4dCwgQWxsb3dlZEZpbHRlckZ1bmN0aW9uczo6UGl4ZWxGaWx0ZXJzKTsKIAogICAgIGlmICgh
ZmlsdGVyVmFsdWUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMTM5MCw3ICsxMzkwLDcg
QEAgc3RhdGljIGJvb2wgaXNHZW5lcmF0ZWRJbWFnZShDU1NWYWx1ZUlEIGlkKQogICAgICAgICB8
fCBpZCA9PSBDU1NWYWx1ZUZpbHRlcjsKIH0KICAgICAKLXN0YXRpYyBib29sIGlzVmFsaWRQcmlt
aXRpdmVGaWx0ZXJGdW5jdGlvbihDU1NWYWx1ZUlEIGZpbHRlckZ1bmN0aW9uKQorc3RhdGljIGJv
b2wgaXNQaXhlbEZpbHRlckZ1bmN0aW9uKENTU1ZhbHVlSUQgZmlsdGVyRnVuY3Rpb24pCiB7CiAg
ICAgc3dpdGNoIChmaWx0ZXJGdW5jdGlvbikgewogICAgIGNhc2UgQ1NTVmFsdWVCbHVyOgpAQCAt
MTQyMCw2ICsxNDIwLDcgQEAgc3RhdGljIGJvb2wgaXNDb2xvckZpbHRlckZ1bmN0aW9uKENTU1Zh
bHVlSUQgZmlsdGVyRnVuY3Rpb24pCiAgICAgY2FzZSBDU1NWYWx1ZU9wYWNpdHk6CiAgICAgY2Fz
ZSBDU1NWYWx1ZVNhdHVyYXRlOgogICAgIGNhc2UgQ1NTVmFsdWVTZXBpYToKKyAgICBjYXNlIENT
U1ZhbHVlQXBwbGVJbnZlcnRMaWdodG5lc3M6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE0NDEsMTQgKzE0NDIsMjYgQEAgc3Rh
dGljIGJvb2wgYWxsb3dzVmFsdWVzR3JlYXRlclRoYW5PbmUoQ1NTVmFsdWVJRCBmaWx0ZXJGdW5j
dGlvbikKIHN0YXRpYyBSZWZQdHI8Q1NTRnVuY3Rpb25WYWx1ZT4gY29uc3VtZUZpbHRlckZ1bmN0
aW9uKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBj
b250ZXh0LCBBbGxvd2VkRmlsdGVyRnVuY3Rpb25zIGFsbG93ZWRGdW5jdGlvbnMpCiB7CiAgICAg
Q1NTVmFsdWVJRCBmaWx0ZXJUeXBlID0gcmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKTsKLSAgICBp
ZiAoIWlzVmFsaWRQcmltaXRpdmVGaWx0ZXJGdW5jdGlvbihmaWx0ZXJUeXBlKSkKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoYWxsb3dlZEZ1bmN0aW9ucyA9PSBBbGxvd2VkRmls
dGVyRnVuY3Rpb25zOjpDb2xvciAmJiAhaXNDb2xvckZpbHRlckZ1bmN0aW9uKGZpbHRlclR5cGUp
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBzd2l0Y2ggKGFsbG93ZWRGdW5jdGlvbnMp
IHsKKyAgICBjYXNlIEFsbG93ZWRGaWx0ZXJGdW5jdGlvbnM6OlBpeGVsRmlsdGVyczoKKyAgICAg
ICAgaWYgKCFpc1BpeGVsRmlsdGVyRnVuY3Rpb24oZmlsdGVyVHlwZSkpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBbGxvd2VkRmlsdGVyRnVu
Y3Rpb25zOjpDb2xvckZpbHRlcnM6CisgICAgICAgIGlmICghaXNDb2xvckZpbHRlckZ1bmN0aW9u
KGZpbHRlclR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGJyZWFr
OworICAgIH0KIAogICAgIENTU1BhcnNlclRva2VuUmFuZ2UgYXJncyA9IGNvbnN1bWVGdW5jdGlv
bihyYW5nZSk7CiAgICAgUmVmUHRyPENTU0Z1bmN0aW9uVmFsdWU+IGZpbHRlclZhbHVlID0gQ1NT
RnVuY3Rpb25WYWx1ZTo6Y3JlYXRlKGZpbHRlclR5cGUpOworCisgICAgaWYgKGZpbHRlclR5cGUg
PT0gQ1NTVmFsdWVBcHBsZUludmVydExpZ2h0bmVzcykgeworICAgICAgICBpZiAoIWFyZ3MuYXRF
bmQoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gZmlsdGVy
VmFsdWU7CisgICAgfQorCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKIAogICAg
IGlmIChmaWx0ZXJUeXBlID09IENTU1ZhbHVlRHJvcFNoYWRvdykKQEAgLTE0ODQsNyArMTQ5Nyw3
IEBAIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUZpbHRlcihDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4CiAgICAgaWYgKHJhbmdlLnBlZWsoKS5pZCgpID09
IENTU1ZhbHVlTm9uZSkKICAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudChyYW5nZSk7CiAKLSAg
ICBib29sIHJlZmVyZW5jZUZpbHRlcnNBbGxvd2VkID0gYWxsb3dlZEZ1bmN0aW9ucyA9PSBBbGxv
d2VkRmlsdGVyRnVuY3Rpb25zOjpBbGw7CisgICAgYm9vbCByZWZlcmVuY2VGaWx0ZXJzQWxsb3dl
ZCA9IGFsbG93ZWRGdW5jdGlvbnMgPT0gQWxsb3dlZEZpbHRlckZ1bmN0aW9uczo6UGl4ZWxGaWx0
ZXJzOwogICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQo
KTsKICAgICBkbyB7CiAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gZmlsdGVyVmFsdWUgPSByZWZl
cmVuY2VGaWx0ZXJzQWxsb3dlZCA/IGNvbnN1bWVVcmwocmFuZ2UpIDogbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5o
CmluZGV4IGEwNzgxMDdkMGIxNDEwNTZiYmNjMTA4ZjI0YjBlY2U0MTQ1NmNjNWQuLmU2MzAwMjcz
MjkzNDhjNjVlYTg5ZDRlODdhMGQ2MWQ2NGVkNDI3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuaApAQCAtOTQsMTEgKzk0
LDExIEBAIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUltYWdlKENTU1BhcnNlclRva2VuUmFuZ2Um
LCBDU1NQYXJzZXJDb250ZXh0LCBDb25zdW1lR2VuCiBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVJ
bWFnZU9yTm9uZShDU1NQYXJzZXJUb2tlblJhbmdlJiwgQ1NTUGFyc2VyQ29udGV4dCk7CiAKIGVu
dW0gY2xhc3MgQWxsb3dlZEZpbHRlckZ1bmN0aW9ucyB7Ci0gICAgQWxsLAotICAgIENvbG9yCisg
ICAgUGl4ZWxGaWx0ZXJzLAorICAgIENvbG9yRmlsdGVycwogfTsKIAotUmVmUHRyPENTU1ZhbHVl
PiBjb25zdW1lRmlsdGVyKENTU1BhcnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiwgQWxsb3dlZEZpbHRlckZ1bmN0aW9ucyA9IEFsbG93ZWRGaWx0ZXJGdW5jdGlvbnM6OkFs
bCk7CitSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVGaWx0ZXIoQ1NTUGFyc2VyVG9rZW5SYW5nZSYs
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmLCBBbGxvd2VkRmlsdGVyRnVuY3Rpb25zKTsKIFJlZlB0
cjxDU1NTaGFkb3dWYWx1ZT4gY29uc3VtZVNpbmdsZVNoYWRvdyhDU1NQYXJzZXJUb2tlblJhbmdl
JiwgQ1NTUGFyc2VyTW9kZSwgYm9vbCBhbGxvd0luc2V0LCBib29sIGFsbG93U3ByZWFkKTsKIAog
Ly8gVGVtcGxhdGUgaW1wbGVtZW50YXRpb25zIGFyZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxl
IGZvciByZWFkYWJpbGl0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBhOWVkNDk2
YWVlNjMzYmNkYjVkNDg5NjUzNGNlN2M1OTkyMjQwNGJjLi41MTJlYzlhN2VjNzIyYzdjNDVkNWQw
OGMwN2ZiNTIyOGI1ZDJhZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC00MTM5
LDcgKzQxMzksNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdAogICAgIGlmICghbGF5b3V0Q29u
dGV4dCgpLmluUGFpbnRhYmxlU3RhdGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNTRVJU
KCFuZWVkc0xheW91dCgpKTsKKy8vICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7CiAgICAgaWYg
KG5lZWRzTGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuY3BwCmluZGV4IDVkZDE1MGY3YTAxOWIxMjU1NWMzNjVlYmFmZWUw
YWQwNDdmYTQ3YjQuLjMxNzAxMDM2YjYyNGZlZDQ5MzU0YmFlOTVlODJkZWQxZDEyYTAyZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKQEAgLTExNyw2ICsx
MTcsNyBAQCBzdGF0aWMgZG91YmxlIGNhbGNIdWUoZG91YmxlIHRlbXAxLCBkb3VibGUgdGVtcDIs
IGRvdWJsZSBodWVWYWwpCiAvLyBmdXJ0aGVyIGV4cGxhbmF0aW9uIGF2YWlsYWJsZSBhdCBodHRw
Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hTTF9jb2xvcl9zcGFjZQogCiAvLyBIdWUgaXMgaW4g
dGhlIHJhbmdlIG9mIDAgdG8gNi4wLCB0aGUgcmVtYWluZGVyIGFyZSBpbiB0aGUgcmFuZ2UgMCB0
byAxLjAKKy8vIEZJWE1FOiBVc2UgSFNMVG9TUkdCKCkuCiBSR0JBMzIgbWFrZVJHQkFGcm9tSFNM
QShkb3VibGUgaHVlLCBkb3VibGUgc2F0dXJhdGlvbiwgZG91YmxlIGxpZ2h0bmVzcywgZG91Ymxl
IGFscGhhKQogewogICAgIGNvbnN0IGRvdWJsZSBzY2FsZUZhY3RvciA9IG5leHRhZnRlcigyNTYu
MCwgMC4wKTsKQEAgLTUzMyw2ICs1MzQsNyBAQCB2b2lkIENvbG9yOjpnZXRSR0JBKGRvdWJsZSYg
ciwgZG91YmxlJiBnLCBkb3VibGUmIGIsIGRvdWJsZSYgYSkgY29uc3QKICAgICBhID0gYWxwaGEo
KSAvIDI1NS4wOwogfQogCisvLyBGSVhNRTogVXNlIHNSR0JUb0hTTCgpLgogdm9pZCBDb2xvcjo6
Z2V0SFNMKGRvdWJsZSYgaHVlLCBkb3VibGUmIHNhdHVyYXRpb24sIGRvdWJsZSYgbGlnaHRuZXNz
KSBjb25zdAogewogICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFNMX2NvbG9y
X3NwYWNlLiBUaGlzIGlzIGEgZGlyZWN0IGNvcHkgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmNwcAppbmRleCAxNzI5OWEyZDYwMjg3
YTFlZDFmMjY5MjE4YTU2MGY5YWJmM2Q1OGUwLi42MGFlMDA0YTk5MjQxNDM1NDZmOWRjNTVhOWQ5
ODJkM2IyZjNlZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvclV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3JVdGlsaXRpZXMuY3BwCkBAIC03MywxMiArNzMsMTY3IEBAIEZsb2F0Q29tcG9uZW50
cyBzUkdCQ29sb3JUb0xpbmVhckNvbXBvbmVudHMoY29uc3QgQ29sb3ImIGNvbG9yKQogICAgIH07
CiB9CiAKK0Zsb2F0Q29tcG9uZW50cyBzUkdCVG9MaW5lYXJDb21wb25lbnRzKGNvbnN0IEZsb2F0
Q29tcG9uZW50cyYgc1JHQkNvbG9yKQoreworICAgIHJldHVybiB7CisgICAgICAgIHNSR0JUb0xp
bmVhckNvbG9yQ29tcG9uZW50KHNSR0JDb2xvci5jb21wb25lbnRzWzBdKSwKKyAgICAgICAgc1JH
QlRvTGluZWFyQ29sb3JDb21wb25lbnQoc1JHQkNvbG9yLmNvbXBvbmVudHNbMV0pLAorICAgICAg
ICBzUkdCVG9MaW5lYXJDb2xvckNvbXBvbmVudChzUkdCQ29sb3IuY29tcG9uZW50c1syXSksCisg
ICAgICAgIHNSR0JDb2xvci5jb21wb25lbnRzWzNdCisgICAgfTsKK30KKworRmxvYXRDb21wb25l
bnRzIGxpbmVhclRvU1JHQkNvbXBvbmVudHMoY29uc3QgRmxvYXRDb21wb25lbnRzJiBsaW5lYXJS
R0IpCit7CisgICAgcmV0dXJuIHsKKyAgICAgICAgbGluZWFyVG9TUkdCQ29sb3JDb21wb25lbnQo
bGluZWFyUkdCLmNvbXBvbmVudHNbMF0pLAorICAgICAgICBsaW5lYXJUb1NSR0JDb2xvckNvbXBv
bmVudChsaW5lYXJSR0IuY29tcG9uZW50c1sxXSksCisgICAgICAgIGxpbmVhclRvU1JHQkNvbG9y
Q29tcG9uZW50KGxpbmVhclJHQi5jb21wb25lbnRzWzJdKSwKKyAgICAgICAgbGluZWFyUkdCLmNv
bXBvbmVudHNbM10KKyAgICB9OworfQorCisvLyBUaGlzIGlzIHNpbWlsYXIgdG8gc1JHQlRvTGlu
ZWFyQ29sb3JDb21wb25lbnQgYnV0IGZvciBzb21lIHJlYXNvbgorLy8gaHR0cHM6Ly93d3cudzMu
b3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWYKKy8v
IGRvZXNuJ3QgdXNlIHRoZSBzdGFuZGFyZCBzUkdCIC0+IGxpbmVhclJHQiB0aHJlc2hvbGQgb2Yg
MC4wNDA0NS4KK3N0YXRpYyBmbG9hdCBzUkdCVG9MaW5lYXJDb2xvckNvbXBvbmVudEZvckx1bWlu
YW5jZShmbG9hdCBjKQoreworICAgIGlmIChjIDw9IDAuMDM5MjhmKQorICAgICAgICByZXR1cm4g
YyAvIDEyLjkyZjsKKworICAgIHJldHVybiBjbGFtcFRvPGZsb2F0PihzdGQ6OnBvdygoYyArIDAu
MDU1ZikgLyAxLjA1NWYsIDIuNGYpLCAwLCAxKTsKK30KKworZmxvYXQgbHVtaW5hbmNlKGNvbnN0
IEZsb2F0Q29tcG9uZW50cyYgc1JHQkNvbXBvbnRlbnRzKQoreworICAgIC8vIFZhbHVlcyBmcm9t
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZl
bHVtaW5hbmNlZGVmCisgICAgcmV0dXJuIDAuMjEyNmYgKiBzUkdCVG9MaW5lYXJDb2xvckNvbXBv
bmVudEZvckx1bWluYW5jZShzUkdCQ29tcG9udGVudHMuY29tcG9uZW50c1swXSkKKyAgICAgICAg
KyAwLjcxNTJmICogc1JHQlRvTGluZWFyQ29sb3JDb21wb25lbnRGb3JMdW1pbmFuY2Uoc1JHQkNv
bXBvbnRlbnRzLmNvbXBvbmVudHNbMV0pCisgICAgICAgICsgMC4wNzIyZiAqIHNSR0JUb0xpbmVh
ckNvbG9yQ29tcG9uZW50Rm9yTHVtaW5hbmNlKHNSR0JDb21wb250ZW50cy5jb21wb25lbnRzWzJd
KTsKK30KKworRmxvYXRDb21wb25lbnRzIHNSR0JUb0hTTChjb25zdCBGbG9hdENvbXBvbmVudHMm
IHNSR0JDb2xvcikKK3sKKyAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hTTF9j
b2xvcl9zcGFjZS4KKyAgICBmbG9hdCByID0gc1JHQkNvbG9yLmNvbXBvbmVudHNbMF07CisgICAg
ZmxvYXQgZyA9IHNSR0JDb2xvci5jb21wb25lbnRzWzFdOworICAgIGZsb2F0IGIgPSBzUkdCQ29s
b3IuY29tcG9uZW50c1syXTsKKworICAgIGZsb2F0IG1heCA9IHN0ZDo6bWF4KHN0ZDo6bWF4KHIs
IGcpLCBiKTsKKyAgICBmbG9hdCBtaW4gPSBzdGQ6Om1pbihzdGQ6Om1pbihyLCBnKSwgYik7Cisg
ICAgZmxvYXQgY2hyb21hID0gbWF4IC0gbWluOworCisgICAgZmxvYXQgaHVlOworICAgIGlmICgh
Y2hyb21hKQorICAgICAgICBodWUgPSAwOworICAgIGVsc2UgaWYgKG1heCA9PSByKQorICAgICAg
ICBodWUgPSAoNjAuMGYgKiAoKGcgLSBiKSAvIGNocm9tYSkpICsgMzYwLjBmOworICAgIGVsc2Ug
aWYgKG1heCA9PSBnKQorICAgICAgICBodWUgPSAoNjAuMGYgKiAoKGIgLSByKSAvIGNocm9tYSkp
ICsgMTIwLjBmOworICAgIGVsc2UKKyAgICAgICAgaHVlID0gKDYwLjBmICogKChyIC0gZykgLyBj
aHJvbWEpKSArIDI0MC4wZjsKKworICAgIGlmIChodWUgPj0gMzYwLjBmKQorICAgICAgICBodWUg
LT0gMzYwLjBmOworCisgICAgaHVlIC89IDM2MC4wZjsKKworICAgIGZsb2F0IGxpZ2h0bmVzcyA9
IDAuNWYgKiAobWF4ICsgbWluKTsKKyAgICBmbG9hdCBzYXR1cmF0aW9uOworICAgIGlmICghY2hy
b21hKQorICAgICAgICBzYXR1cmF0aW9uID0gMDsKKyAgICBlbHNlIGlmIChsaWdodG5lc3MgPD0g
MC41ZikKKyAgICAgICAgc2F0dXJhdGlvbiA9IChjaHJvbWEgLyAobWF4ICsgbWluKSk7CisgICAg
ZWxzZQorICAgICAgICBzYXR1cmF0aW9uID0gKGNocm9tYSAvICgyLjBmIC0gKG1heCArIG1pbikp
KTsKKworICAgIHJldHVybiB7CisgICAgICAgIGh1ZSwKKyAgICAgICAgc2F0dXJhdGlvbiwKKyAg
ICAgICAgbGlnaHRuZXNzLAorICAgICAgICBzUkdCQ29sb3IuY29tcG9uZW50c1szXQorICAgIH07
Cit9CisKKy8vIEh1ZSBpcyBpbiB0aGUgcmFuZ2UgMC02LCBvdGhlciBhcmdzIGluIDAtMS4KK3N0
YXRpYyBmbG9hdCBjYWxjSHVlKGZsb2F0IHRlbXAxLCBmbG9hdCB0ZW1wMiwgZmxvYXQgaHVlVmFs
KQoreworICAgIGlmIChodWVWYWwgPCAwLjBmKQorICAgICAgICBodWVWYWwgKz0gNi4wZjsKKyAg
ICBlbHNlIGlmIChodWVWYWwgPj0gNi4wZikKKyAgICAgICAgaHVlVmFsIC09IDYuMGY7CisgICAg
aWYgKGh1ZVZhbCA8IDEuMGYpCisgICAgICAgIHJldHVybiB0ZW1wMSArICh0ZW1wMiAtIHRlbXAx
KSAqIGh1ZVZhbDsKKyAgICBpZiAoaHVlVmFsIDwgMy4wZikKKyAgICAgICAgcmV0dXJuIHRlbXAy
OworICAgIGlmIChodWVWYWwgPCA0LjBmKQorICAgICAgICByZXR1cm4gdGVtcDEgKyAodGVtcDIg
LSB0ZW1wMSkgKiAoNC4wZiAtIGh1ZVZhbCk7CisgICAgcmV0dXJuIHRlbXAxOworfQorCisvLyBF
eHBsYW5hdGlvbiBvZiB0aGlzIGFsZ29yaXRobSBjYW4gYmUgZm91bmQgaW4gdGhlIENTUyBDb2xv
ciA0IE1vZHVsZQorLy8gc3BlY2lmaWNhdGlvbiBhdCBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWNvbG9yLTQvI2hzbC10by1yZ2Igd2l0aAorLy8gZnVydGhlciBleHBsYW5hdGlvbiBhdmFp
bGFibGUgYXQgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IU0xfY29sb3Jfc3BhY2UKK0Zs
b2F0Q29tcG9uZW50cyBIU0xUb1NSR0IoY29uc3QgRmxvYXRDb21wb25lbnRzJiBoc2xDb2xvcikK
K3sKKyAgICBmbG9hdCBodWUgPSBoc2xDb2xvci5jb21wb25lbnRzWzBdOworICAgIGZsb2F0IHNh
dHVyYXRpb24gPSBoc2xDb2xvci5jb21wb25lbnRzWzFdOworICAgIGZsb2F0IGxpZ2h0bmVzcyA9
IGhzbENvbG9yLmNvbXBvbmVudHNbMl07CisKKyAgICAvLyBDb252ZXJ0IGJhY2sgdG8gUkdCLgor
ICAgIGlmICghc2F0dXJhdGlvbikgeworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgbGln
aHRuZXNzLAorICAgICAgICAgICAgbGlnaHRuZXNzLAorICAgICAgICAgICAgbGlnaHRuZXNzLAor
ICAgICAgICAgICAgaHNsQ29sb3IuY29tcG9uZW50c1szXQorICAgICAgICB9OworICAgIH0KKyAg
ICAKKyAgICBmbG9hdCB0ZW1wMiA9IGxpZ2h0bmVzcyA8PSAwLjVmID8gbGlnaHRuZXNzICogKDEu
MGYgKyBzYXR1cmF0aW9uKSA6IGxpZ2h0bmVzcyArIHNhdHVyYXRpb24gLSBsaWdodG5lc3MgKiBz
YXR1cmF0aW9uOworICAgIGZsb2F0IHRlbXAxID0gMi4wZiAqIGxpZ2h0bmVzcyAtIHRlbXAyOwor
ICAgIAorICAgIGh1ZSAqPSA2LjBmOyAvLyBjYWxjSHVlKCkgd2FudHMgaHVlIGluIHRoZSAwLTYg
cmFuZ2UuCisgICAgcmV0dXJuIHsKKyAgICAgICAgY2FsY0h1ZSh0ZW1wMSwgdGVtcDIsIGh1ZSAr
IDIuMGYpLAorICAgICAgICBjYWxjSHVlKHRlbXAxLCB0ZW1wMiwgaHVlKSwKKyAgICAgICAgY2Fs
Y0h1ZSh0ZW1wMSwgdGVtcDIsIGh1ZSAtIDIuMGYpLAorICAgICAgICBoc2xDb2xvci5jb21wb25l
bnRzWzNdCisgICAgfTsKK30KIAogQ29sb3JNYXRyaXg6OkNvbG9yTWF0cml4KCkKIHsKICAgICBt
YWtlSWRlbnRpdHkoKTsKIH0KIAorQ29sb3JNYXRyaXg6OkNvbG9yTWF0cml4KGZsb2F0IHZhbHVl
c1syMF0pCit7CisgICAgbV9tYXRyaXhbMF1bMF0gPSB2YWx1ZXNbMF07CisgICAgbV9tYXRyaXhb
MF1bMV0gPSB2YWx1ZXNbMV07CisgICAgbV9tYXRyaXhbMF1bMl0gPSB2YWx1ZXNbMl07CisgICAg
bV9tYXRyaXhbMF1bM10gPSB2YWx1ZXNbM107CisgICAgbV9tYXRyaXhbMF1bNF0gPSB2YWx1ZXNb
NF07CisKKyAgICBtX21hdHJpeFsxXVswXSA9IHZhbHVlc1s1XTsKKyAgICBtX21hdHJpeFsxXVsx
XSA9IHZhbHVlc1s2XTsKKyAgICBtX21hdHJpeFsxXVsyXSA9IHZhbHVlc1s3XTsKKyAgICBtX21h
dHJpeFsxXVszXSA9IHZhbHVlc1s4XTsKKyAgICBtX21hdHJpeFsxXVs0XSA9IHZhbHVlc1s5XTsK
KworICAgIG1fbWF0cml4WzJdWzBdID0gdmFsdWVzWzEwXTsKKyAgICBtX21hdHJpeFsyXVsxXSA9
IHZhbHVlc1sxMV07CisgICAgbV9tYXRyaXhbMl1bMl0gPSB2YWx1ZXNbMTJdOworICAgIG1fbWF0
cml4WzJdWzNdID0gdmFsdWVzWzEzXTsKKyAgICBtX21hdHJpeFsyXVs0XSA9IHZhbHVlc1sxNF07
CisKKyAgICBtX21hdHJpeFszXVswXSA9IHZhbHVlc1sxNV07CisgICAgbV9tYXRyaXhbM11bMV0g
PSB2YWx1ZXNbMTZdOworICAgIG1fbWF0cml4WzNdWzJdID0gdmFsdWVzWzE3XTsKKyAgICBtX21h
dHJpeFszXVszXSA9IHZhbHVlc1sxOF07CisgICAgbV9tYXRyaXhbM11bNF0gPSB2YWx1ZXNbMTld
OworfQorCiB2b2lkIENvbG9yTWF0cml4OjptYWtlSWRlbnRpdHkoKQogewogICAgIG1lbXNldCht
X21hdHJpeCwgMCwgc2l6ZW9mKG1fbWF0cml4KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaAppbmRleCA2ZjkyNDJlMzFkZDIxZTNhMTI3
MDc2NTVmZGUxYjkzNTcwZDRjMzFhLi43NjZmZmIyZjU3MWFiZGE2ZmE0ZWY2MDU2MWM5MjdiNzAx
MjFlNjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
clV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
VXRpbGl0aWVzLmgKQEAgLTE1NSw2ICsxNTUsMTMgQEAgZmxvYXQgbGluZWFyVG9TUkdCQ29sb3JD
b21wb25lbnQoZmxvYXQpOwogZmxvYXQgc1JHQlRvTGluZWFyQ29sb3JDb21wb25lbnQoZmxvYXQp
OwogCiBGbG9hdENvbXBvbmVudHMgc1JHQkNvbG9yVG9MaW5lYXJDb21wb25lbnRzKGNvbnN0IENv
bG9yJik7CitGbG9hdENvbXBvbmVudHMgc1JHQlRvTGluZWFyQ29tcG9uZW50cyhjb25zdCBGbG9h
dENvbXBvbmVudHMmKTsKK0Zsb2F0Q29tcG9uZW50cyBsaW5lYXJUb1NSR0JDb21wb25lbnRzKGNv
bnN0IEZsb2F0Q29tcG9uZW50cyYpOworCitGbG9hdENvbXBvbmVudHMgc1JHQlRvSFNMKGNvbnN0
IEZsb2F0Q29tcG9uZW50cyYpOworRmxvYXRDb21wb25lbnRzIEhTTFRvU1JHQihjb25zdCBGbG9h
dENvbXBvbmVudHMmKTsKKworZmxvYXQgbHVtaW5hbmNlKGNvbnN0IEZsb2F0Q29tcG9uZW50cyYg
c1JHQkNvbXBvbnRlbnRzKTsKIAogY2xhc3MgQ29sb3JNYXRyaXggewogcHVibGljOgpAQCAtMTY0
LDYgKzE3MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29sb3JNYXRyaXggc2VwaWFNYXRyaXgo
ZmxvYXQpOwogCiAgICAgQ29sb3JNYXRyaXgoKTsKKyAgICBDb2xvck1hdHJpeChmbG9hdFsyMF0p
OwogICAgIAogICAgIHZvaWQgdHJhbnNmb3JtQ29sb3JDb21wb25lbnRzKEZsb2F0Q29tcG9uZW50
cyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUZpbHRlcnNDb2NvYS5tbQppbmRleCA0
NzVkZmQzNzQ5MzVlYjgyYmY1NmEwZDZhOGMyMTBhNTQ2MzMxNGUzLi44OTBkNjVlMWU5MDYzYzNi
YWVmZDdkNTdiYjc3NzFhMTEzYmM1ZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FGaWx0ZXJz
Q29jb2EubW0KQEAgLTEyOSw2ICsxMjksOSBAQCB2b2lkIFBsYXRmb3JtQ0FGaWx0ZXJzOjpzZXRG
aWx0ZXJzT25MYXllcihQbGF0Zm9ybUxheWVyKiBsYXllciwgY29uc3QgRmlsdGVyT3BlcgogICAg
ICAgICAgICAgW2FycmF5LmdldCgpIGFkZE9iamVjdDpmaWx0ZXJdOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkFQUExFX0lOVkVS
VF9MSUdIVE5FU1M6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gQVBQTEVf
SU5WRVJUX0xJR0hUTkVTUyBpcyBvbmx5IHVzZWQgaW4gLWFwcGxlLWNvbG9yLWZpbHRlci4KKyAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lUWTog
ewogICAgICAgICAgICAgUmV0YWluUHRyPE5TVmFsdWU+IGNvbG9yTWF0cml4VmFsdWUgPSBQbGF0
Zm9ybUNBRmlsdGVyczo6Y29sb3JNYXRyaXhWYWx1ZUZvckZpbHRlcihmaWx0ZXJPcGVyYXRpb24u
dHlwZSgpLCAmZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENBRmlsdGVyICpmaWx0ZXIg
PSBbQ0FGaWx0ZXIgZmlsdGVyV2l0aFR5cGU6a0NBRmlsdGVyQ29sb3JNYXRyaXhdOwpAQCAtMjMz
LDYgKzIzNiw5IEBAIHZvaWQgUGxhdGZvcm1DQUZpbHRlcnM6OnNldEZpbHRlcnNPbkxheWVyKFBs
YXRmb3JtTGF5ZXIqIGxheWVyLCBjb25zdCBGaWx0ZXJPcGVyCiAgICAgICAgICAgICBbYXJyYXku
Z2V0KCkgYWRkT2JqZWN0OmZpbHRlcl07CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQor
ICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6QVBQTEVfSU5WRVJUX0xJR0hUTkVTUzoKKyAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBBUFBMRV9JTlZFUlRfTElHSFRORVNT
IGlzIG9ubHkgdXNlZCBpbiAtYXBwbGUtY29sb3ItZmlsdGVyLgorICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpPUEFDSVRZOiB7CiAgICAgICAgICAgICBj
b25zdCBhdXRvJiBjb21wb25lbnRUcmFuc2Zlck9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29t
cG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7CiAgICAgICAg
ICAgICBDSUZpbHRlciogZmlsdGVyID0gW0NJRmlsdGVyIGZpbHRlcldpdGhOYW1lOkAiQ0lDb2xv
ck1hdHJpeCJdOwpAQCAtMzk3LDYgKzQwMyw5IEBAIFJldGFpblB0cjxOU1ZhbHVlPiBQbGF0Zm9y
bUNBRmlsdGVyczo6ZmlsdGVyVmFsdWVGb3JPcGVyYXRpb24oY29uc3QgRmlsdGVyT3BlcmF0CiAj
ZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpB
UFBMRV9JTlZFUlRfTElHSFRORVNTOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IC8vIEFQUExFX0lOVkVSVF9MSUdIVE5FU1MgaXMgb25seSB1c2VkIGluIC1hcHBsZS1jb2xvci1m
aWx0ZXIuCisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpPUEFDSVRZ
OiB7CiAjaWYgVVNFX0NBX0ZJTFRFUlMKICAgICAgICAgLy8gT3BhY2l0eSBDQUZpbHRlcjogaW5w
dXRDb2xvck1hdHJpeApAQCAtNDk4LDYgKzUwNyw5IEBAIFJldGFpblB0cjxOU1ZhbHVlPiBQbGF0
Zm9ybUNBRmlsdGVyczo6Y29sb3JNYXRyaXhWYWx1ZUZvckZpbHRlcihGaWx0ZXJPcGVyYXRpb246
CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiBbTlNWYWx1ZSB2YWx1ZVdpdGhDQUNvbG9yTWF0
cml4OmNvbG9yTWF0cml4XTsKICAgICB9CisgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkFQUExF
X0lOVkVSVF9MSUdIVE5FU1M6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBBUFBM
RV9JTlZFUlRfTElHSFRORVNTIGlzIG9ubHkgdXNlZCBpbiAtYXBwbGUtY29sb3ItZmlsdGVyLgor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lU
WTogewogICAgICAgICBmbG9hdCBhbW91bnQgPSBmaWx0ZXJPcGVyYXRpb24gPyBkb3duY2FzdDxC
YXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pLT5h
bW91bnQoKSA6IDE7CiAgICAgICAgIENBQ29sb3JNYXRyaXggY29sb3JNYXRyaXggPSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JN
YXRyaXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bG9yTWF0cml4LmNwcAppbmRleCBjYjJjMGZkMjIxZGU2MGNiNjBjMzZlMGM5OGFiYmY1ZDVlNzA4
OTJhLi5lNjE0MWJkZTMyMDRjMTc3YWI2OWY1MWM1ZDAzNDI1YTQ3ZmM1OTc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXgu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xv
ck1hdHJpeC5jcHAKQEAgLTg3LDYgKzg3LDcgQEAgaW5saW5lIHZvaWQgc2F0dXJhdGVBbmRIdWVS
b3RhdGUoZmxvYXQmIHJlZCwgZmxvYXQmIGdyZWVuLCBmbG9hdCYgYmx1ZSwgY29uc3QgZmwKICAg
ICBibHVlICAgID0gciAqIGNvbXBvbmVudHNbNl0gKyBnICogY29tcG9uZW50c1s3XSArIGIgKiBj
b21wb25lbnRzWzhdOwogfQogCisvLyBGSVhNRTogdGhpcyBzaG91bGQgdXNlIGx1bWluYW5jZShj
b25zdCBGbG9hdENvbXBvbmVudHMmIHNSR0JDb21wb250ZW50cykuCiBpbmxpbmUgdm9pZCBsdW1p
bmFuY2UoZmxvYXQmIHJlZCwgZmxvYXQmIGdyZWVuLCBmbG9hdCYgYmx1ZSwgZmxvYXQmIGFscGhh
KQogewogICAgIGFscGhhID0gMC4yMTI1ICogcmVkICsgMC43MTU0ICogZ3JlZW4gKyAwLjA3MjEg
KiBibHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uY3BwCmluZGV4IDc5ZjYwZTExZDc4ZDFlN2EyNDRi
MjBiZmUxNGJlMzMzZDM3MTk2ZWIuLmEzYjE2ZmIwN2ViYzZhNTRlNjMzNzQ5M2QyZjk3MGM2NWY4
MzY4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRmlsdGVyT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHAKQEAgLTIxMyw2ICsyMTMsNDYgQEAgZG91
YmxlIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb246OnBhc3N0aHJvdWdoQW1v
dW50KCkgY29uc3QKICAgICB9CiB9CiAgICAgCitib29sIEludmVydExpZ2h0bmVzc0ZpbHRlck9w
ZXJhdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGaWx0ZXJPcGVyYXRpb24mIG9wZXJhdGlvbikgY29u
c3QKK3sKKyAgICBpZiAoIWlzU2FtZVR5cGUob3BlcmF0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisgICAgCitSZWZQdHI8RmlsdGVyT3BlcmF0aW9u
PiBJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb246OmJsZW5kKGNvbnN0IEZpbHRlck9wZXJh
dGlvbiogZnJvbSwgZG91YmxlLCBib29sKQoreworICAgIGlmIChmcm9tICYmICFmcm9tLT5pc1Nh
bWVUeXBlKCp0aGlzKSkKKyAgICAgICAgcmV0dXJuIHRoaXM7CisKKyAgICAvLyBUaGlzIGZpbHRl
ciBpcyBub3QgY3VycmVudGx5IGJsZW5kYWJsZS4KKyAgICByZXR1cm4gSW52ZXJ0TGlnaHRuZXNz
RmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUoKTsKK30KKworYm9vbCBJbnZlcnRMaWdodG5lc3NGaWx0
ZXJPcGVyYXRpb246OnRyYW5zZm9ybUNvbG9yKEZsb2F0Q29tcG9uZW50cyYgc1JHQkNvbG9yQ29t
cG9uZW50cykgY29uc3QKK3sKKyAgICBGbG9hdENvbXBvbmVudHMgaHNsQ29tcG9uZW50cyA9IHNS
R0JUb0hTTChzUkdCQ29sb3JDb21wb25lbnRzKTsKKyAgICAKKyAgICAvLyBSb3RhdGUgdGhlIGh1
ZSAxODBkZWcuCisgICAgaHNsQ29tcG9uZW50cy5jb21wb25lbnRzWzBdID0gZm1vZChoc2xDb21w
b25lbnRzLmNvbXBvbmVudHNbMF0gKyAwLjVmLCAxLjBmKTsKKyAgICAKKyAgICAvLyBDb252ZXJ0
IGJhY2sgdG8gUkdCLgorICAgIHNSR0JDb2xvckNvbXBvbmVudHMgPSBIU0xUb1NSR0IoaHNsQ29t
cG9uZW50cyk7CisgICAgCisgICAgLy8gQXBwbHkgdGhlIG1hdHJpeC4gU2VlIHJkYXI6Ly9wcm9i
bGVtLzQxMTQ2NjUwIGZvciBob3cgdGhpcyBtYXRyaXggd2FzIGRlcml2ZWQuCisgICAgZmxvYXQg
bWF0cml4VmFsdWVzWzIwXSA9IHsKKyAgICAgICAgLTAuODk1MzU4LCAwLjIwNTcxNiwgLTAuMTEw
MzU4LCAwLCAxLAorICAgICAgICAwLjEwNDk5NCwgLTAuNzk0Mjk1LCAtMC4xMTA2OTksIDAsIDEs
CisgICAgICAgIDAuMTA1MDUsIDAuMjA1ODk1LCAtMS4xMTA5NDUsIDAsIDEsCisgICAgICAgIDAs
IDAsIDAsIDEsIDAKKyAgICB9OworCisgICAgQ29sb3JNYXRyaXggdG9EYXJrTW9kZU1hdHJpeCht
YXRyaXhWYWx1ZXMpOworICAgIHRvRGFya01vZGVNYXRyaXgudHJhbnNmb3JtQ29sb3JDb21wb25l
bnRzKHNSR0JDb2xvckNvbXBvbmVudHMpOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEJs
dXJGaWx0ZXJPcGVyYXRpb246Om9wZXJhdG9yPT0oY29uc3QgRmlsdGVyT3BlcmF0aW9uJiBvcGVy
YXRpb24pIGNvbnN0CiB7CiAgICAgaWYgKCFpc1NhbWVUeXBlKG9wZXJhdGlvbikpCkBAIC0yOTcs
NiArMzM3LDEwIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0
IEZpbHRlck9wZXJhdGlvbiYgZmlsdGVyKQogICAgICAgICB0cyA8PCAiaW52ZXJ0KCIgPDwgY29t
cG9uZW50VHJhbnNmZXJGaWx0ZXIuYW1vdW50KCkgPDwgIikiOwogICAgICAgICBicmVhazsKICAg
ICB9CisgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkFQUExFX0lOVkVSVF9MSUdIVE5FU1M6IHsK
KyAgICAgICAgdHMgPDwgImFwcGxlLWludmVydC1saWdodG5lc3MoKSI7CisgICAgICAgIGJyZWFr
OworICAgIH0KICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lUWTogewogICAgICAgICBj
b25zdCBhdXRvJiBjb21wb25lbnRUcmFuc2ZlckZpbHRlciA9IGRvd25jYXN0PEJhc2ljQ29tcG9u
ZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24+KGZpbHRlcik7CiAgICAgICAgIHRzIDw8ICJvcGFj
aXR5KCIgPDwgY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIuYW1vdW50KCkgPDwgIikiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVy
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVy
T3BlcmF0aW9uLmgKaW5kZXggNGJkOGUyNzUzOTgyNWRhZDhjYTE1YmZlMmUzNWNhYjFhNTEwNGVi
NS4uN2I2MmUwZTkxMGEzN2FhM2FhOWQ3MzJhZmQ0MWIyMDM2NTM0Njg4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9w
ZXJhdGlvbi5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgU0FUVVJBVEUsCiAg
ICAgICAgIEhVRV9ST1RBVEUsCiAgICAgICAgIElOVkVSVCwKKyAgICAgICAgQVBQTEVfSU5WRVJU
X0xJR0hUTkVTUywKICAgICAgICAgT1BBQ0lUWSwKICAgICAgICAgQlJJR0hUTkVTUywKICAgICAg
ICAgQ09OVFJBU1QsCkBAIC0yNzAsNiArMjcxLDMxIEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1f
YW1vdW50OwogfTsKIAorY2xhc3MgV0VCQ09SRV9FWFBPUlQgSW52ZXJ0TGlnaHRuZXNzRmlsdGVy
T3BlcmF0aW9uIDogcHVibGljIEZpbHRlck9wZXJhdGlvbiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb24+IGNyZWF0ZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb24o
KSk7CisgICAgfQorCisgICAgUmVmPEZpbHRlck9wZXJhdGlvbj4gY2xvbmUoKSBjb25zdCBvdmVy
cmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW52ZXJ0TGlnaHRuZXNz
RmlsdGVyT3BlcmF0aW9uKCkpOworICAgIH0KKworICAgIFJlZlB0cjxGaWx0ZXJPcGVyYXRpb24+
IGJsZW5kKGNvbnN0IEZpbHRlck9wZXJhdGlvbiogZnJvbSwgZG91YmxlIHByb2dyZXNzLCBib29s
IGJsZW5kVG9QYXNzdGhyb3VnaCA9IGZhbHNlKSBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgRmlsdGVyT3BlcmF0aW9uJikgY29uc3Qgb3ZlcnJpZGU7CisK
KyAgICBJbnZlcnRMaWdodG5lc3NGaWx0ZXJPcGVyYXRpb24oKQorICAgICAgICA6IEZpbHRlck9w
ZXJhdGlvbihBUFBMRV9JTlZFUlRfTElHSFRORVNTKQorICAgIHsKKyAgICB9CisKKyAgICBib29s
IHRyYW5zZm9ybUNvbG9yKEZsb2F0Q29tcG9uZW50cyYpIGNvbnN0IG92ZXJyaWRlOworfTsKKwog
Y2xhc3MgV0VCQ09SRV9FWFBPUlQgQmx1ckZpbHRlck9wZXJhdGlvbiA6IHB1YmxpYyBGaWx0ZXJP
cGVyYXRpb24gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Qmx1ckZpbHRlck9wZXJhdGlvbj4g
Y3JlYXRlKExlbmd0aCBzdGREZXZpYXRpb24pCkBAIC0zNTQsNiArMzgwLDcgQEAgU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19GSUxURVJPUEVSQVRJT04oUGFzc3Rocm91Z2hGaWx0ZXJPcGVyYXRpb24s
IHR5cGUoKSA9PSBXZWIKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRklMVEVST1BFUkFUSU9OKFJl
ZmVyZW5jZUZpbHRlck9wZXJhdGlvbiwgdHlwZSgpID09IFdlYkNvcmU6OkZpbHRlck9wZXJhdGlv
bjo6UkVGRVJFTkNFKQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19GSUxURVJPUEVSQVRJT04oQmFz
aWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbiwgaXNCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3Bl
cmF0aW9uKCkpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0ZJTFRFUk9QRVJBVElPTihCYXNpY0Nv
bXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uLCBpc0Jhc2ljQ29tcG9uZW50VHJhbnNmZXJG
aWx0ZXJPcGVyYXRpb24oKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRklMVEVST1BFUkFUSU9O
KEludmVydExpZ2h0bmVzc0ZpbHRlck9wZXJhdGlvbiwgdHlwZSgpID09IFdlYkNvcmU6OkZpbHRl
ck9wZXJhdGlvbjo6QVBQTEVfSU5WRVJUX0xJR0hUTkVTUykKIFNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfRklMVEVST1BFUkFUSU9OKEJsdXJGaWx0ZXJPcGVyYXRpb24sIHR5cGUoKSA9PSBXZWJDb3Jl
OjpGaWx0ZXJPcGVyYXRpb246OkJMVVIpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0ZJTFRFUk9Q
RVJBVElPTihEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uLCB0eXBlKCkgPT0gV2ViQ29yZTo6Rmls
dGVyT3BlcmF0aW9uOjpEUk9QX1NIQURPVykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAKaW5kZXggZTMxNmMyZGM3NzBiMjNlNDIxMTA2
OTkyMzBhMDEzOThlYmRmZWI3ZS4uZDZmYTk5NTdkOTQyZDFkOWIyNTU5Y2EwNDk2MGM4MmY4Y2Ri
ZDRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJl
bmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVu
ZGVyZXIuY3BwCkBAIC0yMjksNiArMjI5LDkgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6
YnVpbGQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAg
ICAgICAgICAgIGVmZmVjdCA9IEZFQ29tcG9uZW50VHJhbnNmZXI6OmNyZWF0ZSgqdGhpcywgdHJh
bnNmZXJGdW5jdGlvbiwgdHJhbnNmZXJGdW5jdGlvbiwgdHJhbnNmZXJGdW5jdGlvbiwgbnVsbEZ1
bmN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgRmls
dGVyT3BlcmF0aW9uOjpBUFBMRV9JTlZFUlRfTElHSFRORVNTOgorICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7IC8vIEFQUExFX0lOVkVSVF9MSUdIVE5FU1MgaXMgb25seSB1c2VkIGlu
IC1hcHBsZS1jb2xvci1maWx0ZXIuCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBG
aWx0ZXJPcGVyYXRpb246Ok9QQUNJVFk6IHsKICAgICAgICAgICAgIGF1dG8mIGNvbXBvbmVudFRy
YW5zZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9w
ZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGEyYjRiZjUzN2IyYzg4NzlmM2RkNGU4MDM0ZWVk
YzQ1ZjUwYjA1YjYuLjg3OGQzNzE2ZTNhNGUzNDMxZGFkNGVjNmRiZmE0MDkyYzI2ODE1NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAt
MjIxOCw2ICsyMjE4LDkgQEAgdm9pZCBBcmd1bWVudENvZGVyPEZpbHRlck9wZXJhdGlvbj46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGaWx0ZXJPcGVyYXQKICAgICBjYXNlIEZpbHRl
ck9wZXJhdGlvbjo6Q09OVFJBU1Q6CiAgICAgICAgIGVuY29kZXIgPDwgZG93bmNhc3Q8QmFzaWND
b21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oZmlsdGVyKS5hbW91bnQoKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkFQUExFX0lOVkVSVF9MSUdIVE5F
U1M6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBBUFBMRV9JTlZFUlRfTElHSFRO
RVNTIGlzIG9ubHkgdXNlZCBpbiAtYXBwbGUtY29sb3ItZmlsdGVyLgorICAgICAgICBicmVhazsK
ICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6QkxVUjoKICAgICAgICAgZW5jb2RlciA8PCBkb3du
Y2FzdDxCbHVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXIpLnN0ZERldmlhdGlvbigpOwogICAgICAg
ICBicmVhazsKQEAgLTIyNjgsNiArMjI3MSw5IEBAIGJvb2wgZGVjb2RlRmlsdGVyT3BlcmF0aW9u
KERlY29kZXImIGRlY29kZXIsIFJlZlB0cjxGaWx0ZXJPcGVyYXRpb24+JiBmaWx0ZXIpCiAgICAg
ICAgIGZpbHRlciA9IEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb246OmNyZWF0
ZShhbW91bnQsIHR5cGUpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBGaWx0ZXJP
cGVyYXRpb246OkFQUExFX0lOVkVSVF9MSUdIVE5FU1M6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyAvLyBBUFBMRV9JTlZFUlRfTElHSFRORVNTIGlzIG9ubHkgdXNlZCBpbiAtYXBwbGUt
Y29sb3ItZmlsdGVyLgorICAgICAgICBicmVhazsKICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6
QkxVUjogewogICAgICAgICBMZW5ndGggc3RkRGV2aWF0aW9uOwogICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHN0ZERldmlhdGlvbikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjdhOTczMDMyMmNkOTRkOWQ3NTYzMDcw
OWQxODExZGM2ODIzZjQ0NS4uOGJjMzBlYzJkYWI5NzZlY2JlYzU5YzIwZDhmY2Q0NDdiNjllMDNm
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA3LTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBjb2xvciBmaWx0ZXIgZm9yIHRyYW5z
Zm9ybWluZyBjb2xvcnMgaW4gRGFyayBNb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODc3MTcKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDExNDY2
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNz
czMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYXBwbGUtaW52ZXJ0LWxpZ2h0bmVzcy1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NvbG9yLWZpbHRlcnMvY29sb3ItZmls
dGVyLWFwcGxlLWludmVydC1saWdodG5lc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
b2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1wYXJzaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2NvbG9yLWZpbHRlcnMvY29sb3ItZmlsdGVyLXBhcnNpbmcuaHRtbDoKKwogMjAxOC0w
Ny0xNiAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9T
IF0gTGF5b3V0IFRlc3QgZmFzdC9mb3Jtcy9zdWJtaXQtY2hhbmdlLWZyYWdtZW50Lmh0bWwgaXMg
YSBmbGFreSBUaW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbG9yLWZpbHRl
cnMvY29sb3ItZmlsdGVyLWFwcGxlLWludmVydC1saWdodG5lc3MtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYXBwbGUtaW52ZXJ0LWxp
Z2h0bmVzcy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNjZiZjU2OTNjMjc0ZDY2NTQwMWQ2
N2I4ZjY2YTIxNjBiNmFlNjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nv
bG9yLWZpbHRlcnMvY29sb3ItZmlsdGVyLWFwcGxlLWludmVydC1saWdodG5lc3MtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE3NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnNhbXBsZSB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDUwMHB4OworICAgICAgICAgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDUxLDUxLDUxKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIAorICAgICAgICAgICAgLnNhbXBsZSA+IGRpdiB7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAzMHB4OworICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4OworICAgICAgICAg
ICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAudGVzdAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgICAgICAgICAgYm9yZGVy
OiA1MHB4IHNvbGlkIGdyZWVuOworICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAg
ICAgICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGNvbnN0IGNvbG9ycyA9IFsKKyAgICAgICAg
ICAgICAgICAvLyBPcmlnaW5hbCwgVHJhbnNmb3JtZWQuCisgICAgICAgICAgICAgICAgWyJyZ2Io
MCwgMCwgMCkiLCAicmdiKDI1NSwyNTUsMjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1
NSwgMjU1LCAyNTUpIiwgInJnYig1MSw1MSw1MSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigy
MzUsIDIzNSwgMjM1KSIsICJyZ2IoNjcsNjcsNjcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MjE0LCAyMTQsIDIxNCkiLCAicmdiKDg0LDg0LDg0KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDE5MiwgMTkyLCAxOTIpIiwgInJnYigxMDEsMTAxLDEwMSkiXSwKKyAgICAgICAgICAgICAgICBb
InJnYigxNzAsIDE3MCwgMTcwKSIsICJyZ2IoMTE5LDExOSwxMTkpIl0sCisgICAgICAgICAgICAg
ICAgWyJyZ2IoMTQ2LCAxNDYsIDE0NikiLCAicmdiKDEzOCwxMzgsMTM4KSJdLAorICAgICAgICAg
ICAgICAgIFsicmdiKDEyMiwgMTIyLCAxMjIpIiwgInJnYigxNTcsMTU3LDE1NykiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYig5NiwgOTYsIDk2KSIsICJyZ2IoMTc4LDE3OCwxNzgpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoNjgsIDY4LCA2OCkiLCAicmdiKDIwMSwyMDEsMjAxKSJdLAorICAg
ICAgICAgICAgICAgIFsicmdiKDM1LCAzNSwgMzUpIiwgInJnYigyMjcsMjI3LDIyNykiXSwKKyAg
ICAgICAgICAgICAgICBbInJnYigwLCAwLCAwKSIsICJyZ2IoMjU1LDI1NSwyNTUpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoMCwgNTQsIDc0KSIsICJyZ2IoMTkzLDI0NywyNTUpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoMCwgMzAsIDg3KSIsICJyZ2IoMTg5LDIxOSwyNTUpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoMTcsIDUsIDU5KSIsICJyZ2IoMjI1LDIxMywyNTUpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoNDYsIDcsIDYyKSIsICJyZ2IoMjQ2LDIwNywyNTUpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoNjAsIDgsIDI3KSIsICJyZ2IoMjU1LDIwNCwyMjMpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoOTIsIDcsIDApIiwgInJnYigyNTUsMTc3LDE3MCkiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYig5MCwgMjgsIDApIiwgInJnYigyNTUsMTk2LDE2OCkiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYig4OCwgNTIsIDApIiwgInJnYigyNTMsMjE3LDE2NSkiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYig4NSwgNjEsIDApIiwgInJnYigyNTEsMjI3LDE2NikiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYigxMDIsIDk3LCAwKSIsICJyZ2IoMjQ1LDI0MCwxNDMpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoNzksIDg1LCAzKSIsICJyZ2IoMjM4LDI0NCwxNjIpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoMzgsIDYyLCAxNSkiLCAicmdiKDIxNiwyNDAsMTkzKSJdLAorICAg
ICAgICAgICAgICAgIFsicmdiKDAsIDc3LCAxMDEpIiwgInJnYigxNzAsMjQ3LDI1NSkiXSwKKyAg
ICAgICAgICAgICAgICBbInJnYigwLCA0NiwgMTIyKSIsICJyZ2IoMTYxLDIwNywyNTUpIl0sCisg
ICAgICAgICAgICAgICAgWyJyZ2IoMjYsIDEwLCA4MykiLCAicmdiKDIxMSwxOTUsMjU1KSJdLAor
ICAgICAgICAgICAgICAgIFsicmdiKDY5LCAxNCwgODkpIiwgInJnYigyNDEsMTg2LDI1NSkiXSwK
KyAgICAgICAgICAgICAgICBbInJnYig4NiwgMTYsIDQxKSIsICJyZ2IoMjUyLDE4MiwyMDcpIl0s
CisgICAgICAgICAgICAgICAgWyJyZ2IoMTMxLCAxNywgMCkiLCAicmdiKDI1NSwxNTAsMTMzKSJd
LAorICAgICAgICAgICAgICAgIFsicmdiKDEyNCwgNDIsIDApIiwgInJnYigyNTUsMTc2LDEzNCki
XSwKKyAgICAgICAgICAgICAgICBbInJnYigxMjIsIDc0LCAwKSIsICJyZ2IoMjUxLDIwMywxMjkp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTIwLCA4NywgMCkiLCAicmdiKDI0OSwyMTYsMTI4
KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE0MSwgMTM0LCAwKSIsICJyZ2IoMjQxLDIzNCwx
MDApIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTExLCAxMTgsIDgpIiwgInJnYigyMzAsMjM3
LDEyNykiXSwKKyAgICAgICAgICAgICAgICBbInJnYig1NiwgODcsIDI2KSIsICJyZ2IoMjAwLDIz
MSwxNzApIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMCwgMTA5LCAxNDMpIiwgInJnYigxMzQs
MjQzLDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigwLCA2NiwgMTcwKSIsICJyZ2IoMTI0
LDE5MCwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoNDQsIDE5LCAxMTgpIiwgInJnYigx
OTQsMTY5LDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYig5NywgMjMsIDEyNCkiLCAicmdi
KDIzMywxNTksMjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDEyMSwgMjYsIDYyKSIsICJy
Z2IoMjQ3LDE1MiwxODgpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTgxLCAyNiwgMCkiLCAi
cmdiKDI1NSwxMTIsODYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTczLCA2MiwgMCkiLCAi
cmdiKDI1NSwxNDgsODYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTY5LCAxMDQsIDApIiwg
InJnYigyNTAsMTg1LDgxKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE2NywgMTIzLCAwKSIs
ICJyZ2IoMjQ2LDIwMiw3OSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxOTYsIDE4OCwgMCki
LCAicmdiKDIzNSwyMjcsMzkpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTU0LCAxNjYsIDE0
KSIsICJyZ2IoMjE2LDIyOCw3NikiXSwKKyAgICAgICAgICAgICAgICBbInJnYig3OSwgMTIyLCA0
MCkiLCAicmdiKDE3NSwyMTgsMTM2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDAsIDE0MCwg
MTgwKSIsICJyZ2IoMTAyLDI0MiwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMCwgODYs
IDIxNCkiLCAicmdiKDkwLDE3NiwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoNTUsIDI2
LCAxNDgpIiwgInJnYigxNzYsMTQ3LDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxMjMs
IDMzLCAxNTkpIiwgInJnYigyMjIsMTMyLDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigx
NTQsIDM2LCA3OSkiLCAicmdiKDI0MiwxMjQsMTY3KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDIyNywgMzYsIDApIiwgInJnYigyNTUsNzgsNDIpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MjE3LCA4MCwgMCkiLCAicmdiKDI1NSwxMjIsNDIpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MjEzLCAxMzIsIDApIiwgInJnYigyNDgsMTY3LDM1KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDIxMCwgMTU3LCAwKSIsICJyZ2IoMjQzLDE5MCwzMykiXSwKKyAgICAgICAgICAgICAgICBbInJn
YigyNDUsIDIzNiwgMCkiLCAicmdiKDIzMCwyMjEsMCkiXSwKKyAgICAgICAgICAgICAgICBbInJn
YigxOTUsIDIwOSwgMjMpIiwgInJnYigyMDQsMjE3LDMxKSJdLAorICAgICAgICAgICAgICAgIFsi
cmdiKDEwMiwgMTU2LCA1MykiLCAicmdiKDE1MywyMDcsMTA0KSJdLAorICAgICAgICAgICAgICAg
IFsicmdiKDAsIDE2MywgMjE1KSIsICJyZ2IoNzMsMjM2LDI1NSkiXSwKKyAgICAgICAgICAgICAg
ICBbInJnYigwLCA5NywgMjU1KSIsICJyZ2IoNTksMTU2LDI1NSkiXSwKKyAgICAgICAgICAgICAg
ICBbInJnYig3NywgMzQsIDE3OSkiLCAicmdiKDE2NiwxMjMsMjU1KSJdLAorICAgICAgICAgICAg
ICAgIFsicmdiKDE1MywgNDEsIDE4OSkiLCAicmdiKDIyMCwxMDgsMjU1KSJdLAorICAgICAgICAg
ICAgICAgIFsicmdiKDE4NSwgNDUsIDkzKSIsICJyZ2IoMjM4LDk4LDE0NikiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTUsIDY0LCAxOSkiLCAicmdiKDI1Myw2MiwxNykiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTUsIDEwNiwgMCkiLCAicmdiKDI1NSwxMDgsMikiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTUsIDE3MCwgMCkiLCAicmdiKDI0NCwxNTksMCkiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTQsIDE5OSwgMCkiLCAicmdiKDIzOCwxODMsMCkiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTUsIDI1MiwgNjUpIiwgInJnYigxODMsMTgwLDApIl0sCisgICAgICAg
ICAgICAgICAgWyJyZ2IoMjE3LCAyMzUsIDU1KSIsICJyZ2IoMTc1LDE5MywxMykiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYigxMTksIDE4NywgNjUpIiwgInJnYigxMjksMTk3LDc1KSJdLAorICAg
ICAgICAgICAgICAgIFsicmdiKDAsIDE5OSwgMjUyKSIsICJyZ2IoNDAsMjM5LDI1NSkiXSwKKyAg
ICAgICAgICAgICAgICBbInJnYig1OCwgMTM2LCAyNTQpIiwgInJnYig1NywxMzUsMjUzKSJdLAor
ICAgICAgICAgICAgICAgIFsicmdiKDk0LCA0OCwgMjM1KSIsICJyZ2IoMTI5LDgzLDI1NSkiXSwK
KyAgICAgICAgICAgICAgICBbInJnYigxOTAsIDU2LCAyNDMpIiwgInJnYigyMDEsNjcsMjU0KSJd
LAorICAgICAgICAgICAgICAgIFsicmdiKDIzMCwgNTksIDEyMikiLCAicmdiKDIzMSw2MCwxMjMp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCA5OCwgODEpIiwgInJnYigyMDMsNDYsMjkp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAxMzQsIDcxKSIsICJyZ2IoMjAzLDgyLDE5
KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMTgwLCA2MykiLCAicmdiKDE5OSwxMjQs
NykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTQsIDIwMywgNjIpIiwgInJnYigxOTUsMTQ0
LDMpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAyNDcsIDEwNykiLCAicmdiKDE1NSwx
NDcsNykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMjgsIDIzOSwgMTAxKSIsICJyZ2IoMTQ5
LDE2MCwyMikiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxNTAsIDIxMSwgOTUpIiwgInJnYigx
MTIsMTczLDU3KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDgzLCAyMTMsIDI1MykiLCAicmdi
KDQ1LDE3NSwyMTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTE2LCAxNjcsIDI1NCkiLCAi
cmdiKDU3LDEwOCwxOTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTM1LCA3OCwgMjU0KSIs
ICJyZ2IoMTIyLDY1LDI0MSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMTEsIDg3LCAyNTQp
IiwgInJnYigxODEsNTcsMjI0KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDIzNywgMTEzLCAx
NTgpIiwgInJnYigxODEsNTcsMTAyKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMTQw
LCAxMzApIiwgInJnYigxNjEsNDYsMzYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAx
NjUsIDEyNSkiLCAicmdiKDE1OSw2OSwyOSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTUs
IDE5OCwgMTE5KSIsICJyZ2IoMTU3LDk5LDIwKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1
NSwgMjE2LCAxMTkpIiwgInJnYigxNTMsMTE0LDE3KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDI1NSwgMjQ5LCAxNDkpIiwgInJnYigxMjUsMTE5LDE5KSJdLAorICAgICAgICAgICAgICAgIFsi
cmdiKDIzNSwgMjQzLCAxNDMpIiwgInJnYigxMjIsMTMwLDMwKSJdLAorICAgICAgICAgICAgICAg
IFsicmdiKDE3NywgMjIxLCAxNDApIiwgInJnYig5NSwxMzksNTgpIl0sCisgICAgICAgICAgICAg
ICAgWyJyZ2IoMTQ4LCAyMjcsIDI1NCkiLCAicmdiKDQ3LDEyNiwxNTMpIl0sCisgICAgICAgICAg
ICAgICAgWyJyZ2IoMTY4LCAxOTgsIDI1NCkiLCAicmdiKDU1LDg1LDE0MSkiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigxNzcsIDE0MCwgMjU0KSIsICJyZ2IoOTgsNjEsMTc1KSJdLAorICAgICAg
ICAgICAgICAgIFsicmdiKDIyNywgMTQ2LCAyNTQpIiwgInJnYigxMzYsNTUsMTYzKSJdLAorICAg
ICAgICAgICAgICAgIFsicmdiKDI0NCwgMTY0LCAxOTIpIiwgInJnYigxMzUsNTUsODMpIl0sCisg
ICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAxODEsIDE3NSkiLCAicmdiKDEyMSw0Nyw0MSkiXSwK
KyAgICAgICAgICAgICAgICBbInJnYigyNTUsIDE5NiwgMTcxKSIsICJyZ2IoMTIxLDYyLDM3KSJd
LAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMjE3LCAxNjgpIiwgInJnYigxMTksODEsMzIp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAyMjgsIDE2OCkiLCAicmdiKDExNyw5MCwz
MCkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTUsIDI1MSwgMTg1KSIsICJyZ2IoMTAwLDk2
LDMwKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI0MiwgMjQ3LCAxODMpIiwgInJnYig5Nywx
MDIsMzgpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjA0LCAyMzIsIDE4MSkiLCAicmdiKDgw
LDEwNyw1NikiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMDIsIDI0MCwgMjU0KSIsICJyZ2Io
NTAsODgsMTAyKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDIxMiwgMjI3LCAyNTQpIiwgInJn
Yig1Myw2OCw5NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMTcsIDIwMiwgMjU0KSIsICJy
Z2IoNzEsNTYsMTA4KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI0MSwgMjAxLCAyNTQpIiwg
InJnYig5Myw1MywxMDYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjQ5LCAyMTEsIDIyNCki
LCAicmdiKDkxLDUzLDY2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMjE4LCAyMTYp
IiwgInJnYig4Niw0OCw0NikiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTUsIDIyNiwgMjE0
KSIsICJyZ2IoODUsNTYsNDQpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAyMzYsIDIx
MykiLCAicmdiKDg0LDY1LDQyKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMjQyLCAy
MTMpIiwgInJnYig4Myw3MCw0MSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTQsIDI1Miwg
MjIxKSIsICJyZ2IoNzUsNzMsNDIpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjQ4LCAyNTAs
IDIxOSkiLCAicmdiKDc1LDc3LDQ2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDIyNCwgMjM3
LCAyMTIpIiwgInJnYig3MSw4NCw1OSkiXSwKKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGNyZWF0ZVN3YXRjaGVzKHBhcmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBmb3IgKGNvbG9yIG9mIGNvbG9ycykgeworICAgICAgICAgICAgICAgICAgICB2YXIg
Y2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgICAgICAg
ICAgY2hpbGQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gY29sb3JbMV07CisgICAgICAgICAgICAg
ICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBkb1NldHVwKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB2YXIgZGl2OworICAgICAgICAgICAgICAgIGZvciAoZGl2IG9m
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYW1wbGUnKSkKKyAgICAgICAgICAgICAgICAg
ICAgY3JlYXRlU3dhdGNoZXMoZGl2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1NldHVwLCBmYWxzZSk7
CisgICAgICAgICAgICAKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
PgorICAgICAgICA8ZGl2IGNsYXNzPSJzYW1wbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0
ZXItYXBwbGUtaW52ZXJ0LWxpZ2h0bmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1m
aWx0ZXJzL2NvbG9yLWZpbHRlci1hcHBsZS1pbnZlcnQtbGlnaHRuZXNzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTAxZjFiNTMxNTE2NWMyMThkNDA1NTg0MzgwOTU3NGRlNGQ1NzczNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYXBwbGUt
aW52ZXJ0LWxpZ2h0bmVzcy5odG1sCkBAIC0wLDAgKzEsMTc3IEBACis8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNvbG9yRmlsdGVyPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuc2FtcGxlIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiA0
MDBweDsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgICAgICAg
ICAgICAgICAtYXBwbGUtY29sb3ItZmlsdGVyOiBhcHBsZS1pbnZlcnQtbGlnaHRuZXNzKCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC5zYW1wbGUgPiBkaXYgewor
ICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMzBw
eDsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgICAgICAgICBmbG9hdDog
bGVmdDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLnRlc3QKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICAg
ICAgICAgIGJvcmRlcjogNTBweCBzb2xpZCBncmVlbjsKKyAgICAgICAgICAgICAgICBtYXJnaW46
IDEwcHg7CisgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBjb25zdCBjb2xvcnMg
PSBbCisgICAgICAgICAgICAgICAgLy8gT3JpZ2luYWwsIFRyYW5zZm9ybWVkLgorICAgICAgICAg
ICAgICAgIFsicmdiKDAsIDAsIDApIiwgInJnYigyNTUsMjU1LDI1NSkiXSwKKyAgICAgICAgICAg
ICAgICBbInJnYigyNTUsIDI1NSwgMjU1KSIsICJyZ2IoNTEsNTEsNTEpIl0sCisgICAgICAgICAg
ICAgICAgWyJyZ2IoMjM1LCAyMzUsIDIzNSkiLCAicmdiKDY3LDY3LDY3KSJdLAorICAgICAgICAg
ICAgICAgIFsicmdiKDIxNCwgMjE0LCAyMTQpIiwgInJnYig4NCw4NCw4NCkiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigxOTIsIDE5MiwgMTkyKSIsICJyZ2IoMTAxLDEwMSwxMDEpIl0sCisgICAg
ICAgICAgICAgICAgWyJyZ2IoMTcwLCAxNzAsIDE3MCkiLCAicmdiKDExOSwxMTksMTE5KSJdLAor
ICAgICAgICAgICAgICAgIFsicmdiKDE0NiwgMTQ2LCAxNDYpIiwgInJnYigxMzgsMTM4LDEzOCki
XSwKKyAgICAgICAgICAgICAgICBbInJnYigxMjIsIDEyMiwgMTIyKSIsICJyZ2IoMTU3LDE1Nywx
NTcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoOTYsIDk2LCA5NikiLCAicmdiKDE3OCwxNzgs
MTc4KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDY4LCA2OCwgNjgpIiwgInJnYigyMDEsMjAx
LDIwMSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigzNSwgMzUsIDM1KSIsICJyZ2IoMjI3LDIy
NywyMjcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMCwgMCwgMCkiLCAicmdiKDI1NSwyNTUs
MjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDAsIDU0LCA3NCkiLCAicmdiKDE5MywyNDcs
MjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDAsIDMwLCA4NykiLCAicmdiKDE4OSwyMTks
MjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE3LCA1LCA1OSkiLCAicmdiKDIyNSwyMTMs
MjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDQ2LCA3LCA2MikiLCAicmdiKDI0NiwyMDcs
MjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDYwLCA4LCAyNykiLCAicmdiKDI1NSwyMDQs
MjIzKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDkyLCA3LCAwKSIsICJyZ2IoMjU1LDE3Nywx
NzApIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoOTAsIDI4LCAwKSIsICJyZ2IoMjU1LDE5Niwx
NjgpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoODgsIDUyLCAwKSIsICJyZ2IoMjUzLDIxNywx
NjUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoODUsIDYxLCAwKSIsICJyZ2IoMjUxLDIyNywx
NjYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTAyLCA5NywgMCkiLCAicmdiKDI0NSwyNDAs
MTQzKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDc5LCA4NSwgMykiLCAicmdiKDIzOCwyNDQs
MTYyKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDM4LCA2MiwgMTUpIiwgInJnYigyMTYsMjQw
LDE5MykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigwLCA3NywgMTAxKSIsICJyZ2IoMTcwLDI0
NywyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMCwgNDYsIDEyMikiLCAicmdiKDE2MSwy
MDcsMjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI2LCAxMCwgODMpIiwgInJnYigyMTEs
MTk1LDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYig2OSwgMTQsIDg5KSIsICJyZ2IoMjQx
LDE4NiwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoODYsIDE2LCA0MSkiLCAicmdiKDI1
MiwxODIsMjA3KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDEzMSwgMTcsIDApIiwgInJnYigy
NTUsMTUwLDEzMykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxMjQsIDQyLCAwKSIsICJyZ2Io
MjU1LDE3NiwxMzQpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTIyLCA3NCwgMCkiLCAicmdi
KDI1MSwyMDMsMTI5KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDEyMCwgODcsIDApIiwgInJn
YigyNDksMjE2LDEyOCkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxNDEsIDEzNCwgMCkiLCAi
cmdiKDI0MSwyMzQsMTAwKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDExMSwgMTE4LCA4KSIs
ICJyZ2IoMjMwLDIzNywxMjcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoNTYsIDg3LCAyNiki
LCAicmdiKDIwMCwyMzEsMTcwKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDAsIDEwOSwgMTQz
KSIsICJyZ2IoMTM0LDI0MywyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMCwgNjYsIDE3
MCkiLCAicmdiKDEyNCwxOTAsMjU1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDQ0LCAxOSwg
MTE4KSIsICJyZ2IoMTk0LDE2OSwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoOTcsIDIz
LCAxMjQpIiwgInJnYigyMzMsMTU5LDI1NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigxMjEs
IDI2LCA2MikiLCAicmdiKDI0NywxNTIsMTg4KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE4
MSwgMjYsIDApIiwgInJnYigyNTUsMTEyLDg2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE3
MywgNjIsIDApIiwgInJnYigyNTUsMTQ4LDg2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDE2
OSwgMTA0LCAwKSIsICJyZ2IoMjUwLDE4NSw4MSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigx
NjcsIDEyMywgMCkiLCAicmdiKDI0NiwyMDIsNzkpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MTk2LCAxODgsIDApIiwgInJnYigyMzUsMjI3LDM5KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDE1NCwgMTY2LCAxNCkiLCAicmdiKDIxNiwyMjgsNzYpIl0sCisgICAgICAgICAgICAgICAgWyJy
Z2IoNzksIDEyMiwgNDApIiwgInJnYigxNzUsMjE4LDEzNikiXSwKKyAgICAgICAgICAgICAgICBb
InJnYigwLCAxNDAsIDE4MCkiLCAicmdiKDEwMiwyNDIsMjU1KSJdLAorICAgICAgICAgICAgICAg
IFsicmdiKDAsIDg2LCAyMTQpIiwgInJnYig5MCwxNzYsMjU1KSJdLAorICAgICAgICAgICAgICAg
IFsicmdiKDU1LCAyNiwgMTQ4KSIsICJyZ2IoMTc2LDE0NywyNTUpIl0sCisgICAgICAgICAgICAg
ICAgWyJyZ2IoMTIzLCAzMywgMTU5KSIsICJyZ2IoMjIyLDEzMiwyNTUpIl0sCisgICAgICAgICAg
ICAgICAgWyJyZ2IoMTU0LCAzNiwgNzkpIiwgInJnYigyNDIsMTI0LDE2NykiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyMjcsIDM2LCAwKSIsICJyZ2IoMjU1LDc4LDQyKSJdLAorICAgICAgICAg
ICAgICAgIFsicmdiKDIxNywgODAsIDApIiwgInJnYigyNTUsMTIyLDQyKSJdLAorICAgICAgICAg
ICAgICAgIFsicmdiKDIxMywgMTMyLCAwKSIsICJyZ2IoMjQ4LDE2NywzNSkiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyMTAsIDE1NywgMCkiLCAicmdiKDI0MywxOTAsMzMpIl0sCisgICAgICAg
ICAgICAgICAgWyJyZ2IoMjQ1LCAyMzYsIDApIiwgInJnYigyMzAsMjIxLDApIl0sCisgICAgICAg
ICAgICAgICAgWyJyZ2IoMTk1LCAyMDksIDIzKSIsICJyZ2IoMjA0LDIxNywzMSkiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYigxMDIsIDE1NiwgNTMpIiwgInJnYigxNTMsMjA3LDEwNCkiXSwKKyAg
ICAgICAgICAgICAgICBbInJnYigwLCAxNjMsIDIxNSkiLCAicmdiKDczLDIzNiwyNTUpIl0sCisg
ICAgICAgICAgICAgICAgWyJyZ2IoMCwgOTcsIDI1NSkiLCAicmdiKDU5LDE1NiwyNTUpIl0sCisg
ICAgICAgICAgICAgICAgWyJyZ2IoNzcsIDM0LCAxNzkpIiwgInJnYigxNjYsMTIzLDI1NSkiXSwK
KyAgICAgICAgICAgICAgICBbInJnYigxNTMsIDQxLCAxODkpIiwgInJnYigyMjAsMTA4LDI1NSki
XSwKKyAgICAgICAgICAgICAgICBbInJnYigxODUsIDQ1LCA5MykiLCAicmdiKDIzOCw5OCwxNDYp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCA2NCwgMTkpIiwgInJnYigyNTMsNjIsMTcp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAxMDYsIDApIiwgInJnYigyNTUsMTA4LDIp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAxNzAsIDApIiwgInJnYigyNDQsMTU5LDAp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU0LCAxOTksIDApIiwgInJnYigyMzgsMTgzLDAp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAyNTIsIDY1KSIsICJyZ2IoMTgzLDE4MCww
KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDIxNywgMjM1LCA1NSkiLCAicmdiKDE3NSwxOTMs
MTMpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTE5LCAxODcsIDY1KSIsICJyZ2IoMTI5LDE5
Nyw3NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigwLCAxOTksIDI1MikiLCAicmdiKDQwLDIz
OSwyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoNTgsIDEzNiwgMjU0KSIsICJyZ2IoNTcs
MTM1LDI1MykiXSwKKyAgICAgICAgICAgICAgICBbInJnYig5NCwgNDgsIDIzNSkiLCAicmdiKDEy
OSw4MywyNTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTkwLCA1NiwgMjQzKSIsICJyZ2Io
MjAxLDY3LDI1NCkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMzAsIDU5LCAxMjIpIiwgInJn
YigyMzEsNjAsMTIzKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgOTgsIDgxKSIsICJy
Z2IoMjAzLDQ2LDI5KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMTM0LCA3MSkiLCAi
cmdiKDIwMyw4MiwxOSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTUsIDE4MCwgNjMpIiwg
InJnYigxOTksMTI0LDcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU0LCAyMDMsIDYyKSIs
ICJyZ2IoMTk1LDE0NCwzKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMjQ3LCAxMDcp
IiwgInJnYigxNTUsMTQ3LDcpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjI4LCAyMzksIDEw
MSkiLCAicmdiKDE0OSwxNjAsMjIpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTUwLCAyMTEs
IDk1KSIsICJyZ2IoMTEyLDE3Myw1NykiXSwKKyAgICAgICAgICAgICAgICBbInJnYig4MywgMjEz
LCAyNTMpIiwgInJnYig0NSwxNzUsMjE1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDExNiwg
MTY3LCAyNTQpIiwgInJnYig1NywxMDgsMTk1KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDEz
NSwgNzgsIDI1NCkiLCAicmdiKDEyMiw2NSwyNDEpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MjExLCA4NywgMjU0KSIsICJyZ2IoMTgxLDU3LDIyNCkiXSwKKyAgICAgICAgICAgICAgICBbInJn
YigyMzcsIDExMywgMTU4KSIsICJyZ2IoMTgxLDU3LDEwMikiXSwKKyAgICAgICAgICAgICAgICBb
InJnYigyNTUsIDE0MCwgMTMwKSIsICJyZ2IoMTYxLDQ2LDM2KSJdLAorICAgICAgICAgICAgICAg
IFsicmdiKDI1NSwgMTY1LCAxMjUpIiwgInJnYigxNTksNjksMjkpIl0sCisgICAgICAgICAgICAg
ICAgWyJyZ2IoMjU1LCAxOTgsIDExOSkiLCAicmdiKDE1Nyw5OSwyMCkiXSwKKyAgICAgICAgICAg
ICAgICBbInJnYigyNTUsIDIxNiwgMTE5KSIsICJyZ2IoMTUzLDExNCwxNykiXSwKKyAgICAgICAg
ICAgICAgICBbInJnYigyNTUsIDI0OSwgMTQ5KSIsICJyZ2IoMTI1LDExOSwxOSkiXSwKKyAgICAg
ICAgICAgICAgICBbInJnYigyMzUsIDI0MywgMTQzKSIsICJyZ2IoMTIyLDEzMCwzMCkiXSwKKyAg
ICAgICAgICAgICAgICBbInJnYigxNzcsIDIyMSwgMTQwKSIsICJyZ2IoOTUsMTM5LDU4KSJdLAor
ICAgICAgICAgICAgICAgIFsicmdiKDE0OCwgMjI3LCAyNTQpIiwgInJnYig0NywxMjYsMTUzKSJd
LAorICAgICAgICAgICAgICAgIFsicmdiKDE2OCwgMTk4LCAyNTQpIiwgInJnYig1NSw4NSwxNDEp
Il0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMTc3LCAxNDAsIDI1NCkiLCAicmdiKDk4LDYxLDE3
NSkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMjcsIDE0NiwgMjU0KSIsICJyZ2IoMTM2LDU1
LDE2MykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNDQsIDE2NCwgMTkyKSIsICJyZ2IoMTM1
LDU1LDgzKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMTgxLCAxNzUpIiwgInJnYigx
MjEsNDcsNDEpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAxOTYsIDE3MSkiLCAicmdi
KDEyMSw2MiwzNykiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNTUsIDIxNywgMTY4KSIsICJy
Z2IoMTE5LDgxLDMyKSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI1NSwgMjI4LCAxNjgpIiwg
InJnYigxMTcsOTAsMzApIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjU1LCAyNTEsIDE4NSki
LCAicmdiKDEwMCw5NiwzMCkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNDIsIDI0NywgMTgz
KSIsICJyZ2IoOTcsMTAyLDM4KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDIwNCwgMjMyLCAx
ODEpIiwgInJnYig4MCwxMDcsNTYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjAyLCAyNDAs
IDI1NCkiLCAicmdiKDUwLDg4LDEwMikiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyMTIsIDIy
NywgMjU0KSIsICJyZ2IoNTMsNjgsOTUpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2IoMjE3LCAy
MDIsIDI1NCkiLCAicmdiKDcxLDU2LDEwOCkiXSwKKyAgICAgICAgICAgICAgICBbInJnYigyNDEs
IDIwMSwgMjU0KSIsICJyZ2IoOTMsNTMsMTA2KSJdLAorICAgICAgICAgICAgICAgIFsicmdiKDI0
OSwgMjExLCAyMjQpIiwgInJnYig5MSw1Myw2NikiXSwKKyAgICAgICAgICAgICAgICBbInJnYigy
NTUsIDIxOCwgMjE2KSIsICJyZ2IoODYsNDgsNDYpIl0sCisgICAgICAgICAgICAgICAgWyJyZ2Io
MjU1LCAyMjYsIDIxNCkiLCAicmdiKDg1LDU2LDQ0KSJdLAorICAgICAgICAgICAgICAgIFsicmdi
KDI1NSwgMjM2LCAyMTMpIiwgInJnYig4NCw2NSw0MikiXSwKKyAgICAgICAgICAgICAgICBbInJn
YigyNTUsIDI0MiwgMjEzKSIsICJyZ2IoODMsNzAsNDEpIl0sCisgICAgICAgICAgICAgICAgWyJy
Z2IoMjU0LCAyNTIsIDIyMSkiLCAicmdiKDc1LDczLDQyKSJdLAorICAgICAgICAgICAgICAgIFsi
cmdiKDI0OCwgMjUwLCAyMTkpIiwgInJnYig3NSw3Nyw0NikiXSwKKyAgICAgICAgICAgICAgICBb
InJnYigyMjQsIDIzNywgMjEyKSIsICJyZ2IoNzEsODQsNTkpIl0sCisgICAgICAgICAgICBdOwor
CisgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVTd2F0Y2hlcyhwYXJlbnQpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgZm9yIChjb2xvciBvZiBjb2xvcnMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdmFyIGNoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
ICAgICAgICAgICAgICAgIGNoaWxkLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGNvbG9yWzBdOwor
ICAgICAgICAgICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZG9TZXR1cCgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGRpdjsKKyAgICAgICAgICAgICAg
ICBmb3IgKGRpdiBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc2FtcGxlJykpCisgICAg
ICAgICAgICAgICAgICAgIGNyZWF0ZVN3YXRjaGVzKGRpdik7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9T
ZXR1cCwgZmFsc2UpOworICAgICAgICAgICAgCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2FtcGxlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbG9yLWZpbHRl
cnMvY29sb3ItZmlsdGVyLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9j
b2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5Y2I4
MWFmNmIyZTMwNDUxMWI2Y2JjOWYwMjc4MjdlY2E5ZDM2OGNiLi5kZTZmMTFjZDkyZDMwN2QyYWZk
ZmI3YjMzY2MzYzlmNDFhNDlmNzAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NvbG9y
LWZpbHRlcnMvY29sb3ItZmlsdGVyLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItcGFyc2luZy1leHBlY3RlZC50eHQK
QEAgLTMzLDQgKzMzLDYgQEAgUEFTUyBzYXR1cmF0ZSgpOiB2YWx1ZXMgb2YgYW1vdW50IG92ZXIg
MTAwJSBhcmUgYWxsb3dlZCwgcHJvdmlkaW5nIHN1cGVyLXNhdHVyYXQKIFBBU1Mgc2VwaWEoKTog
dmFsdWVzIG9mIGFtb3VudCBvdmVyIDEwMCUgYXJlIGFsbG93ZWQgYnV0IFVBcyBtdXN0IGNsYW1w
IHRoZSB2YWx1ZXMgdG8gMSAKIFBBU1MgUGFyc2UgZmlsdGVyIGxpc3QgCiBQQVNTIEZpbHRlciBs
aXN0IHdpdGggYmx1ciBpcyBpbnZhbGlkIAorUEFTUyBQYXJzZSBhcHBsZS1pbnZlcnQtbGlnaHRu
ZXNzKCkgCitQQVNTIGFwcGxlLWludmVydC1saWdodG5lc3MoKSB0YWtlcyBubyBhcmd1bWVudHMg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0
ZXItcGFyc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZp
bHRlci1wYXJzaW5nLmh0bWwKaW5kZXggZTllMDVhODc1NGJhMmFmODFiZDk4MjIxODg1ZTMyMTJl
N2U3MzY5Mi4uMDRiZGZiYzAwNjEyMmI2NmVhOTA2MWEyMTc1YjNiMzFlYzlkMWQ5YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1wYXJzaW5n
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1w
YXJzaW5nLmh0bWwKQEAgLTY3LDYgKzY3LDEwIEBAIHRlc3RDb2xvckZpbHRlclBhcnNpbmcoInNl
cGlhKDUuMykiLCAic2VwaWEoMSkiLCAic2VwaWEoKTogdmFsdWVzIG9mIGFtb3VudCBvdmVyCiB0
ZXN0Q29sb3JGaWx0ZXJQYXJzaW5nKCJncmF5c2NhbGUoNTAlKSBodWUtcm90YXRlKDQ1ZGVnKSBv
cGFjaXR5KDAuNSkiLCAiZ3JheXNjYWxlKDAuNSkgaHVlLXJvdGF0ZSg0NWRlZykgb3BhY2l0eSgw
LjUpIiwgIlBhcnNlIGZpbHRlciBsaXN0Iik7CiB0ZXN0Q29sb3JGaWx0ZXJQYXJzaW5nKCJncmF5
c2NhbGUoNTAlKSBibHVyKDEwcHgpIG9wYWNpdHkoMC41KSIsICJub25lIiwgIkZpbHRlciBsaXN0
IHdpdGggYmx1ciBpcyBpbnZhbGlkIik7CiAKKy8vIGFwcGxlLWludmVydC1saWdodG5lc3MKK3Rl
c3RDb2xvckZpbHRlclBhcnNpbmcoImFwcGxlLWludmVydC1saWdodG5lc3MoKSIsICJhcHBsZS1p
bnZlcnQtbGlnaHRuZXNzKCkiLCAiUGFyc2UgYXBwbGUtaW52ZXJ0LWxpZ2h0bmVzcygpIik7Cit0
ZXN0Q29sb3JGaWx0ZXJQYXJzaW5nKCJhcHBsZS1pbnZlcnQtbGlnaHRuZXNzKDAuNSkiLCAibm9u
ZSIsICJhcHBsZS1pbnZlcnQtbGlnaHRuZXNzKCkgdGFrZXMgbm8gYXJndW1lbnRzIik7CisKIDwv
c2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwv
aHRtbD4K
</data>
<flag name="review"
          id="363128"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>