<?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>247118</bug_id>
          
          <creation_ts>2022-10-27 02:11:50 -0700</creation_ts>
          <short_desc>[MQ4] Add schemas for resolution and -webkit-device-pixel-ratio features</short_desc>
          <delta_ts>2022-10-27 07:49:14 -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>CSS</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>
          <dependson>247124</dependson>
          <blocked>180234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ntim</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1908661</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-27 02:11:50 -0700</bug_when>
    <thetext>Support resolution features</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908662</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-27 02:13:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/101625468&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908664</commentid>
    <comment_count>2</comment_count>
      <attachid>463270</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-27 02:22:57 -0700</bug_when>
    <thetext>Created attachment 463270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908702</commentid>
    <comment_count>3</comment_count>
      <attachid>463270</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-10-27 07:04:13 -0700</bug_when>
    <thetext>Comment on attachment 463270
Patch

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

&gt; Source/WebCore/css/query/GenericMediaQueryParser.cpp:64
&gt; +        if (name.startsWith(&quot;-webkit-min-&quot;_s))
&gt; +            return { &quot;-webkit-&quot;_s + StringView(name).substring(12), ComparisonOperator::GreaterThanOrEqual };
&gt; +        if (name.startsWith(&quot;-webkit-max-&quot;_s))
&gt; +            return { &quot;-webkit-&quot;_s + StringView(name).substring(12), ComparisonOperator::LessThanOrEqual };

Does this make us support -webkit-min/max for _all_ the range based media queries? If so, I think we should just check specific names here.

Also, how does this even work? As implemented, it sounds like this would just work for `-webkit-min--webkit-device-pixel-ratio` as opposed to `-webkit-min-device-pixel-ratio`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908703</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-27 07:08:44 -0700</bug_when>
    <thetext>&gt; Does this make us support -webkit-min/max for _all_ the range based media
&gt; queries? If so, I think we should just check specific names here.

The generated name contains -webkit- prefix which won&apos;t match any known feature and the parsing will fail during validation.

&gt; Also, how does this even work? As implemented, it sounds like this would
&gt; just work for `-webkit-min--webkit-device-pixel-ratio` as opposed to
&gt; `-webkit-min-device-pixel-ratio`.

I don&apos;t understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908704</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-10-27 07:11:47 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #4)
&gt; &gt; Also, how does this even work? As implemented, it sounds like this would
&gt; &gt; just work for `-webkit-min--webkit-device-pixel-ratio` as opposed to
&gt; &gt; `-webkit-min-device-pixel-ratio`.
&gt; 
&gt; I don&apos;t understand.

Isn&apos;t the schema name `-webkit-device-pixel-ratio`, how does it match `device-pixel-ratio` (e.g. without the -webkit- prefix)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908705</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-27 07:12:54 -0700</bug_when>
    <thetext>The idea here is to replace -webkit-max- prefix with -webkit- prefix to get the actual feature name. This is equivalent to stripping away min-/max- prefix in the usual case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908710</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-27 07:49:11 -0700</bug_when>
    <thetext>Committed 256064@main (b0723e965bf6): &lt;https://commits.webkit.org/256064@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463270.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463270</attachid>
            <date>2022-10-27 02:22:57 -0700</date>
            <delta_ts>2022-10-27 07:49:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-247118-20221027122256.patch</filename>
            <type>text/plain</type>
            <size>10306</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA3NGFkMmViYzYyNDI5ZjVhZTQ2ZTk2MmRlMmFmZGVkYzVhN2M0N2NmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI3IE9jdCAyMDIyIDEyOjE1OjI0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIHNjaGVtYXMgZm9yIHJlc29sdXRpb24gYW5kCiAtd2Via2l0LWRldmljZS1waXhlbC1yYXRp
byBmZWF0dXJlcwogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NzEx
OCByZGFyOi8vMTAxNjI1NDY4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdPcGVyYXRvcnMuaDoKKFdURjo6U3RyaW5nQXBwZW5kOjpvcGVy
YXRvciBBdG9tU3RyaW5nIGNvbnN0KToKCkF0b21TdHJpbmcoU3RyaW5nKSBpcyBleHBsaWNpdC4K
CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNw
cDoKKFdlYkNvcmU6Ok1ROjpldmFsdWF0ZVJlc29sdXRpb25Db21wYXJpc29uKToKKFdlYkNvcmU6
Ok1ROjpldmFsdWF0ZVJlc29sdXRpb25GZWF0dXJlKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29yZTo6TVE6OkdlbmVyaWNNZWRp
YVF1ZXJ5UGFyc2VyQmFzZTo6Y29uc3VtZUJvb2xlYW5PclBsYWluRmVhdHVyZSk6CgpTdXBwb3J0
IC13ZWJraXQtbWluLS8td2Via2l0LW1heC0gcHJlZml4ZXMuCgooV2ViQ29yZTo6TVE6OkdlbmVy
aWNNZWRpYVF1ZXJ5UGFyc2VyQmFzZTo6Y29uc3VtZVZhbHVlKToKCkNvbnN1bWUgcmVzb2x1dGlv
biB2YWx1ZXMuCgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMu
Y3BwOgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjpOdW1iZXJTY2hlbWE6Ok51bWJlclNjaGVtYSk6
CihXZWJDb3JlOjpNUTo6RmVhdHVyZXM6Ok51bWJlclNjaGVtYTo6dmFsdWVGdW5jdGlvbik6CihX
ZWJDb3JlOjpNUTo6RmVhdHVyZXM6OlJlc29sdXRpb25TY2hlbWE6OlJlc29sdXRpb25TY2hlbWEp
OgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjpSZXNvbHV0aW9uU2NoZW1hOjp2YWx1ZUZ1bmN0aW9u
KToKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6ZGV2aWNlU2NhbGVGYWN0b3IpOgooV2ViQ29yZTo6
TVE6OkZlYXR1cmVzOjpkZXZpY2VQaXhlbFJhdGlvKToKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6
cmVzb2x1dGlvbik6CgpBZGQgc2NoZW1hcyBhbmQgZXZhbHVhdGlvbiBmdW5jdGlvbnMuCi0tLQog
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdPcGVyYXRvcnMuaCAgICAgICAgIHwgIDIgKy0KIC4u
Li9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwICB8IDI0ICsrKysrKwog
Li4uL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oICAgIHwgIDEgKwogLi4u
L2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAgICAgIHwgIDcgKysKIC4uLi9X
ZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwICB8IDc3ICsrKysrKysrKysr
KysrKysrKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdPcGVyYXRvcnMuaCBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nT3BlcmF0b3JzLmgKaW5kZXggMjU1NGJiNGQzZjJj
Li40ZjUzYzI0ZTYyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nT3Bl
cmF0b3JzLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdPcGVyYXRvcnMuaApAQCAt
NDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBvcGVyYXRvciBBdG9tU3RyaW5nKCkgY29uc3QK
ICAgICB7Ci0gICAgICAgIHJldHVybiBvcGVyYXRvciBTdHJpbmcoKTsKKyAgICAgICAgcmV0dXJu
IEF0b21TdHJpbmcob3BlcmF0b3IgU3RyaW5nKCkpOwogICAgIH0KIAogICAgIGJvb2wgaXM4Qml0
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVy
eUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCmluZGV4IGYyM2QxZGY1MjBlNi4uNjRmOWRjNDk5OWE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKQEAgLTEwOSw2ICsxMDksMTkgQEAgc3RhdGljIEV2YWx1YXRpb25SZXN1bHQgZXZh
bHVhdGVJbnRlZ2VyQ29tcGFyaXNvbihpbnQgbnVtYmVyLCBjb25zdCBzdGQ6Om9wdGlvbmEKICAg
ICByZXR1cm4gdG9FdmFsdWF0aW9uUmVzdWx0KGNvbXBhcmUoY29tcGFyaXNvbi0+b3AsIGxlZnQs
IHJpZ2h0KSk7CiB9OwogCitzdGF0aWMgRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJlc29sdXRp
b25Db21wYXJpc29uKGRvdWJsZSByZXNvbHV0aW9uLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbXBh
cmlzb24+JiBjb21wYXJpc29uLCBTaWRlIHNpZGUpCit7CisgICAgaWYgKCFjb21wYXJpc29uKQor
ICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKKworICAgIGF1dG8gZXhwcmVz
c2lvblJlc29sdXRpb24gPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KGNvbXBh
cmlzb24tPnZhbHVlLmdldCgpKS0+ZG91YmxlVmFsdWUoQ1NTVW5pdFR5cGU6OkNTU19EUFBYKTsK
KworICAgIGF1dG8gbGVmdCA9IHNpZGUgPT0gU2lkZTo6TGVmdCA/IGV4cHJlc3Npb25SZXNvbHV0
aW9uIDogcmVzb2x1dGlvbjsKKyAgICBhdXRvIHJpZ2h0ID0gc2lkZSA9PSBTaWRlOjpMZWZ0ID8g
cmVzb2x1dGlvbiA6IGV4cHJlc3Npb25SZXNvbHV0aW9uOworCisgICAgcmV0dXJuIHRvRXZhbHVh
dGlvblJlc3VsdChjb21wYXJlKGNvbXBhcmlzb24tPm9wLCBsZWZ0LCByaWdodCkpOworfTsKKwog
RXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZUxlbmd0aEZlYXR1cmUoY29uc3QgRmVhdHVyZSYgZmVh
dHVyZSwgTGF5b3V0VW5pdCBsZW5ndGgsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEm
IGNvbnZlcnNpb25EYXRhKQogewogICAgIGlmICghZmVhdHVyZS5sZWZ0Q29tcGFyaXNvbiAmJiAh
ZmVhdHVyZS5yaWdodENvbXBhcmlzb24pCkBAIC0xOTMsNiArMjA2LDE3IEBAIEV2YWx1YXRpb25S
ZXN1bHQgZXZhbHVhdGVOdW1iZXJGZWF0dXJlKGNvbnN0IEZlYXR1cmUmIGZlYXR1cmUsIGRvdWJs
ZSBjdXJyZW50VmFsCiAgICAgcmV0dXJuIGxlZnRSZXN1bHQgJiByaWdodFJlc3VsdDsKIH0KIAor
RXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJlc29sdXRpb25GZWF0dXJlKGNvbnN0IEZlYXR1cmUm
IGZlYXR1cmUsIGRvdWJsZSBjdXJyZW50VmFsdWUpCit7CisgICAgaWYgKCFmZWF0dXJlLmxlZnRD
b21wYXJpc29uICYmICFmZWF0dXJlLnJpZ2h0Q29tcGFyaXNvbikKKyAgICAgICAgcmV0dXJuIHRv
RXZhbHVhdGlvblJlc3VsdCghIWN1cnJlbnRWYWx1ZSk7CisKKyAgICBhdXRvIGxlZnRSZXN1bHQg
PSBldmFsdWF0ZVJlc29sdXRpb25Db21wYXJpc29uKGN1cnJlbnRWYWx1ZSwgZmVhdHVyZS5sZWZ0
Q29tcGFyaXNvbiwgU2lkZTo6TGVmdCk7CisgICAgYXV0byByaWdodFJlc3VsdCA9IGV2YWx1YXRl
UmVzb2x1dGlvbkNvbXBhcmlzb24oY3VycmVudFZhbHVlLCBmZWF0dXJlLnJpZ2h0Q29tcGFyaXNv
biwgU2lkZTo6UmlnaHQpOworCisgICAgcmV0dXJuIGxlZnRSZXN1bHQgJiByaWdodFJlc3VsdDsK
K30KKwogRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZUlkZW50aWZpZXJGZWF0dXJlKGNvbnN0IEZl
YXR1cmUmIGZlYXR1cmUsIENTU1ZhbHVlSUQgY3VycmVudFZhbHVlKQogewogICAgIGlmICghZmVh
dHVyZS5yaWdodENvbXBhcmlzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDA1NmVlYmI4ZDg5Yy4uODA3NWJh
YTA5ZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01l
ZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDAsNiArNDAsNyBAQCBFdmFsdWF0aW9uUmVzdWx0IGV2
YWx1YXRlUmF0aW9GZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBkb3VibGUpOwogRXZhbHVhdGlvblJl
c3VsdCBldmFsdWF0ZUJvb2xlYW5GZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBib29sKTsKIEV2YWx1
YXRpb25SZXN1bHQgZXZhbHVhdGVJbnRlZ2VyRmVhdHVyZShjb25zdCBGZWF0dXJlJiwgaW50KTsK
IEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVOdW1iZXJGZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBk
b3VibGUpOworRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJlc29sdXRpb25GZWF0dXJlKGNvbnN0
IEZlYXR1cmUmLCBkb3VibGUpOwogRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZUlkZW50aWZpZXJG
ZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBDU1NWYWx1ZUlEKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
Q29uY3JldGVFdmFsdWF0b3I+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
R2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dl
bmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcAppbmRleCAwMGY4MThmZGQyNjEuLmJiMTU0MmU3NWM5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVl
cnlQYXJzZXIuY3BwCkBAIC01OCw2ICs1OCwxMCBAQCBzdGQ6Om9wdGlvbmFsPEZlYXR1cmU+IEdl
bmVyaWNNZWRpYVF1ZXJ5UGFyc2VyQmFzZTo6Y29uc3VtZUJvb2xlYW5PclBsYWluRmVhdHVyZQog
ICAgICAgICAgICAgcmV0dXJuIHsgU3RyaW5nVmlldyhuYW1lKS5zdWJzdHJpbmcoNCkudG9BdG9t
U3RyaW5nKCksIENvbXBhcmlzb25PcGVyYXRvcjo6R3JlYXRlclRoYW5PckVxdWFsIH07CiAgICAg
ICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIm1heC0iX3MpKQogICAgICAgICAgICAgcmV0dXJuIHsg
U3RyaW5nVmlldyhuYW1lKS5zdWJzdHJpbmcoNCkudG9BdG9tU3RyaW5nKCksIENvbXBhcmlzb25P
cGVyYXRvcjo6TGVzc1RoYW5PckVxdWFsIH07CisgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgo
Ii13ZWJraXQtbWluLSJfcykpCisgICAgICAgICAgICByZXR1cm4geyAiLXdlYmtpdC0iX3MgKyBT
dHJpbmdWaWV3KG5hbWUpLnN1YnN0cmluZygxMiksIENvbXBhcmlzb25PcGVyYXRvcjo6R3JlYXRl
clRoYW5PckVxdWFsIH07CisgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi13ZWJraXQtbWF4
LSJfcykpCisgICAgICAgICAgICByZXR1cm4geyAiLXdlYmtpdC0iX3MgKyBTdHJpbmdWaWV3KG5h
bWUpLnN1YnN0cmluZygxMiksIENvbXBhcmlzb25PcGVyYXRvcjo6TGVzc1RoYW5PckVxdWFsIH07
CiAKICAgICAgICAgcmV0dXJuIHsgbmFtZSwgQ29tcGFyaXNvbk9wZXJhdG9yOjpFcXVhbCB9Owog
ICAgIH07CkBAIC0xOTQsNiArMTk4LDkgQEAgUmVmUHRyPENTU1ZhbHVlPiBHZW5lcmljTWVkaWFR
dWVyeVBhcnNlckJhc2U6OmNvbnN1bWVWYWx1ZShDU1NQYXJzZXJUb2tlblJhbmdlJgogICAgICAg
ICByZXR1cm4gdmFsdWU7CiAgICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OmNvbnN1bWVBc3BlY3RSYXRpb1ZhbHVlKHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHZh
bHVlOworICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25z
dW1lUmVzb2x1dGlvbihyYW5nZSkpCisgICAgICAgIHJldHVybiB2YWx1ZTsKKwogICAgIHJldHVy
biBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVk
aWFRdWVyeUZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5
RmVhdHVyZXMuY3BwCmluZGV4IGZhNGVlNDM4M2VmNS4uOWZkMzA4MjNkMTE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcApAQCAtNzUsNiAr
NzUsMjMgQEAgcHJpdmF0ZToKICAgICBWYWx1ZUZ1bmN0aW9uIHZhbHVlRnVuY3Rpb247CiB9Owog
CitzdHJ1Y3QgTnVtYmVyU2NoZW1hIDogcHVibGljIEZlYXR1cmVTY2hlbWEgeworICAgIHVzaW5n
IFZhbHVlRnVuY3Rpb24gPSBGdW5jdGlvbjxkb3VibGUoY29uc3QgRmVhdHVyZUV2YWx1YXRpb25D
b250ZXh0Jik+OworCisgICAgTnVtYmVyU2NoZW1hKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIFZh
bHVlRnVuY3Rpb24mJiB2YWx1ZUZ1bmN0aW9uKQorICAgICAgICA6IEZlYXR1cmVTY2hlbWEobmFt
ZSwgRmVhdHVyZVNjaGVtYTo6VHlwZTo6UmFuZ2UsIHsgRmVhdHVyZVNjaGVtYTo6VmFsdWVUeXBl
OjpJbnRlZ2VyLCBGZWF0dXJlU2NoZW1hOjpWYWx1ZVR5cGU6Ok51bWJlciB9KQorICAgICAgICAs
IHZhbHVlRnVuY3Rpb24oV1RGTW92ZSh2YWx1ZUZ1bmN0aW9uKSkKKyAgICB7IH0KKworICAgIEV2
YWx1YXRpb25SZXN1bHQgZXZhbHVhdGUoY29uc3QgRmVhdHVyZSYgZmVhdHVyZSwgY29uc3QgRmVh
dHVyZUV2YWx1YXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGV2YWx1YXRlTnVtYmVyRmVhdHVyZShmZWF0dXJlLCB2YWx1ZUZ1bmN0aW9u
KGNvbnRleHQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgVmFsdWVGdW5jdGlvbiB2YWx1ZUZ1
bmN0aW9uOworfTsKKwogc3RydWN0IExlbmd0aFNjaGVtYSA6IHB1YmxpYyBGZWF0dXJlU2NoZW1h
IHsKICAgICB1c2luZyBWYWx1ZUZ1bmN0aW9uID0gRnVuY3Rpb248TGF5b3V0VW5pdChjb25zdCBG
ZWF0dXJlRXZhbHVhdGlvbkNvbnRleHQmKT47CiAKQEAgLTEwOSw2ICsxMjYsMjMgQEAgcHJpdmF0
ZToKICAgICBWYWx1ZUZ1bmN0aW9uIHZhbHVlRnVuY3Rpb247CiB9OwogCitzdHJ1Y3QgUmVzb2x1
dGlvblNjaGVtYSA6IHB1YmxpYyBGZWF0dXJlU2NoZW1hIHsKKyAgICB1c2luZyBWYWx1ZUZ1bmN0
aW9uID0gRnVuY3Rpb248ZG91YmxlKGNvbnN0IEZlYXR1cmVFdmFsdWF0aW9uQ29udGV4dCYpPjsK
KworICAgIFJlc29sdXRpb25TY2hlbWEoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgVmFsdWVGdW5j
dGlvbiYmIHZhbHVlRnVuY3Rpb24pCisgICAgICAgIDogRmVhdHVyZVNjaGVtYShuYW1lLCBGZWF0
dXJlU2NoZW1hOjpUeXBlOjpSYW5nZSwgeyBGZWF0dXJlU2NoZW1hOjpWYWx1ZVR5cGU6OlJlc29s
dXRpb24gfSkKKyAgICAgICAgLCB2YWx1ZUZ1bmN0aW9uKFdURk1vdmUodmFsdWVGdW5jdGlvbikp
CisgICAgeyB9CisKKyAgICBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlKGNvbnN0IEZlYXR1cmUm
IGZlYXR1cmUsIGNvbnN0IEZlYXR1cmVFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkgY29uc3Qg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZVJlc29sdXRpb25GZWF0dXJl
KGZlYXR1cmUsIHZhbHVlRnVuY3Rpb24oY29udGV4dCkpOworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBWYWx1ZUZ1bmN0aW9uIHZhbHVlRnVuY3Rpb247Cit9OworCiB1c2luZyBNYXRjaGluZ0lkZW50
aWZpZXJzID0gVmVjdG9yPENTU1ZhbHVlSUQsIDE+OwogCiBzdHJ1Y3QgSWRlbnRpZmllclNjaGVt
YSA6IHB1YmxpYyBGZWF0dXJlU2NoZW1hIHsKQEAgLTEzNCw2ICsxNjgsMjMgQEAgcHJpdmF0ZToK
ICAgICBWYWx1ZUZ1bmN0aW9uIHZhbHVlRnVuY3Rpb247CiB9OwogCitzdGF0aWMgZG91YmxlIGRl
dmljZVNjYWxlRmFjdG9yKGNvbnN0IEZlYXR1cmVFdmFsdWF0aW9uQ29udGV4dCYgY29udGV4dCkK
K3sKKyAgICBhdXRvJiBmcmFtZSA9ICpjb250ZXh0LmRvY3VtZW50LmZyYW1lKCk7CisgICAgYXV0
byBtZWRpYVR5cGUgPSBmcmFtZS52aWV3KCktPm1lZGlhVHlwZSgpOworICAgIAorICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShtZWRpYVR5cGUsICJzY3JlZW4iX3MpKQorICAg
ICAgICByZXR1cm4gZnJhbWUucGFnZSgpID8gZnJhbWUucGFnZSgpLT5kZXZpY2VTY2FsZUZhY3Rv
cigpIDogMTsKKworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShtZWRpYVR5
cGUsICJwcmludCJfcykpIHsKKyAgICAgICAgLy8gVGhlIHJlc29sdXRpb24gb2YgaW1hZ2VzIHdo
aWxlIHByaW50aW5nIHNob3VsZCBub3QgZGVwZW5kIG9uIHRoZSBkcGkKKyAgICAgICAgLy8gb2Yg
dGhlIHNjcmVlbi4gVW50aWwgd2Ugc3VwcG9ydCBwcm9wZXIgd2F5cyBvZiBxdWVyeWluZyB0aGlz
IGluZm8KKyAgICAgICAgLy8gd2UgdXNlIDMwMHB4IHdoaWNoIGlzIGNvbnNpZGVyZWQgbWluaW11
bSBmb3IgY3VycmVudCBwcmludGVycy4KKyAgICAgICAgcmV0dXJuIDMuMTI1OyAvLyAzMDBkcGkg
LyA5NmRwaTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKIGNvbnN0IEZlYXR1cmVTY2hlbWEm
IGFuaW1hdGlvbigpCiB7CiAgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxCb29s
ZWFuU2NoZW1hPiBzY2hlbWEgewpAQCAtMjUzLDcgKzMwNCwxNiBAQCBjb25zdCBGZWF0dXJlU2No
ZW1hJiBkZXZpY2VIZWlnaHQoKQogICAgIHJldHVybiBzY2hlbWE7CiB9CiAKLWNvbnN0IEZlYXR1
cmVTY2hlbWEmIGRldmljZVBpeGVsUmF0aW8oKTsKK2NvbnN0IEZlYXR1cmVTY2hlbWEmIGRldmlj
ZVBpeGVsUmF0aW8oKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8TnVt
YmVyU2NoZW1hPiBzY2hlbWEgeworICAgICAgICAiLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW8i
X3MsCisgICAgICAgIFtdKGF1dG8mIGNvbnRleHQpIHsKKyAgICAgICAgICAgIHJldHVybiBkZXZp
Y2VTY2FsZUZhY3Rvcihjb250ZXh0KTsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIHNj
aGVtYTsKK30KIAogY29uc3QgRmVhdHVyZVNjaGVtYSYgZGV2aWNlV2lkdGgoKQogewpAQCAtNDk1
LDcgKzU1NSwxNiBAQCBjb25zdCBGZWF0dXJlU2NoZW1hJiBwcmVmZXJzUmVkdWNlZE1vdGlvbigp
CiAgICAgcmV0dXJuIHNjaGVtYTsKIH0KIAotY29uc3QgRmVhdHVyZVNjaGVtYSYgcmVzb2x1dGlv
bigpOworY29uc3QgRmVhdHVyZVNjaGVtYSYgcmVzb2x1dGlvbigpCit7CisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxSZXNvbHV0aW9uU2NoZW1hPiBzY2hlbWEgeworICAgICAg
ICAicmVzb2x1dGlvbiJfcywKKyAgICAgICAgW10oYXV0byYgY29udGV4dCkgeworICAgICAgICAg
ICAgcmV0dXJuIGRldmljZVNjYWxlRmFjdG9yKGNvbnRleHQpOworICAgICAgICB9CisgICAgfTsK
KyAgICByZXR1cm4gc2NoZW1hOworfQogCiBjb25zdCBGZWF0dXJlU2NoZW1hJiBzY2FuKCkKIHsK
QEAgLTYzNSw3ICs3MDQsNyBAQCBWZWN0b3I8Y29uc3QgRmVhdHVyZVNjaGVtYSo+IGFsbFNjaGVt
YXMoKQogICAgICAgICAmY29sb3JJbmRleCgpLAogICAgICAgICAmZGV2aWNlQXNwZWN0UmF0aW8o
KSwKICAgICAgICAgJmRldmljZUhlaWdodCgpLAotLy8gRklYTUU6ICZkZXZpY2VQaXhlbFJhdGlv
KCksCisgICAgICAgICZkZXZpY2VQaXhlbFJhdGlvKCksCiAgICAgICAgICZkZXZpY2VXaWR0aCgp
LAogICAgICAgICAmZHluYW1pY1JhbmdlKCksCiAgICAgICAgICZmb3JjZWRDb2xvcnMoKSwKQEAg
LTY0OSw3ICs3MTgsNyBAQCBWZWN0b3I8Y29uc3QgRmVhdHVyZVNjaGVtYSo+IGFsbFNjaGVtYXMo
KQogICAgICAgICAmcHJlZmVyc0NvbnRyYXN0KCksCiAgICAgICAgICZwcmVmZXJzRGFya0ludGVy
ZmFjZSgpLAogICAgICAgICAmcHJlZmVyc1JlZHVjZWRNb3Rpb24oKSwKLS8vIEZJWE1FOiAmcmVz
b2x1dGlvbigpLAorICAgICAgICAmcmVzb2x1dGlvbigpLAogICAgICAgICAmc2NhbigpLAogICAg
ICAgICAmdHJhbnNmb3JtMmQoKSwKICAgICAgICAgJnRyYW5zZm9ybTNkKCksCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>