<?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>97011</bug_id>
          
          <creation_ts>2012-09-18 06:24:56 -0700</creation_ts>
          <short_desc>Implement &apos;mask-type&apos; for &lt;mask&gt;</short_desc>
          <delta_ts>2012-09-19 10:50:24 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#the-mask-type</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>fmalita</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>722727</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-18 06:24:56 -0700</bug_when>
    <thetext>Implement &apos;mask-type&apos; for &lt;mask&gt; from the CSS Masking specification. It allows switching the mask to use alpha masking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722743</commentid>
    <comment_count>1</comment_count>
      <attachid>164549</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-18 06:51:24 -0700</bug_when>
    <thetext>Created attachment 164549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723574</commentid>
    <comment_count>2</comment_count>
      <attachid>164549</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-09-19 08:12:35 -0700</bug_when>
    <thetext>Comment on attachment 164549
Patch

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

Looks good!
r=me with the below mistake fixed. (Perhaps we could even add a test for it?)

&gt; Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp:197
&gt;          case CSSPropertyMarker:
&gt; +        case CSSPropertyMaskType:
&gt; +            return CSSPrimitiveValue::create(svgStyle-&gt;maskType());

Beep beep! Mistake here: We shouldn&apos;t return the mask type for CSSPropertyMarker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723656</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-19 10:50:24 -0700</bug_when>
    <thetext>Committed r129018: &lt;http://trac.webkit.org/changeset/129018&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164549</attachid>
            <date>2012-09-18 06:51:24 -0700</date>
            <delta_ts>2012-09-19 08:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97011-20120918155048.patch</filename>
            <type>text/plain</type>
            <size>22077</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U2YjkxZDJkNWI2YTBh
Mjk5MGUyOWZlOWJkODAyMDNjMjVkY2Y4NC4uY2U4OTg1M2U2MzllYmNiNDdmZGNmMDkxM2ViZDBh
NTBkN2Y4Nzg2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA5LTE4ICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50ICdtYXNrLXR5
cGUnIGZvciA8bWFzaz4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3MDExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIENTUyBNYXNraW5nIHNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGUgcHJlc2VudGF0
aW9uIGF0dHJpYnV0ZSAnbWFzay10eXBlJyB0bworICAgICAgICBzd2l0Y2ggYmV0d2VlbiBsdW1p
bmFuY2UgYW5kIGFscGhhIG1hc2tpbmcuICdtYXNrLXR5cGUnIGp1c3QgYWZmZWN0cyB0aGUgU1ZH
CisgICAgICAgIG1hc2sgZWxlbWVudC4gVGhlIGx1bWluYW5jZSBtYXNraW5nIGlzIHRoZSBjdXJy
ZW50IGJlaGF2aW9yIG9mIG9mIFNWRyBtYXNraW5nLgorICAgICAgICBBbHBoYSBtYXNraW5nIGlz
IHNpbXVsYXIgdG8gJy13ZWJraXQtbWFzay1pbWFnZScuCisKKyAgICAgICAgVGhpcyBwYXRjaCBp
bXBsZW1lbnRzIHRoaXMgcHJvcGVydHkgYW5kIG1ha2UgaXQgcG9zc2libGUgdG8gc3dpdGNoIGJl
dHdlZW4gYm90aAorICAgICAgICBtYXNraW5nIG1vZGVzLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1
ZSBpcyAnbHVtaW5hbmNlJywgdGhpcyBkb2VzIG5vdCBicmVhaworICAgICAgICBleGlzaXRpbmcg
Y29udGVudCB3aGljaCBpcyB0ZXN0ZWQgd2l0aCBleGlzaXRpbmcgdGVzdHMuCisKKyAgICAgICAg
aHR0cDovL2R2Y3MudzMub3JnL2hnL0ZYVEYvcmF3LWZpbGUvdGlwL21hc2tpbmcvaW5kZXguaHRt
bCN0aGUtbWFzay10eXBlCisKKyAgICAgICAgVGVzdHM6IHN2Zy9jc3MvbWFzay10eXBlLmh0bWwK
KyAgICAgICAgICAgICAgIHN2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS1leHBlY3RlZC5zdmcK
KyAgICAgICAgICAgICAgIHN2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS5zdmcKKyAgICAgICAg
ICAgICAgIHN2Zy9tYXNraW5nL21hc2stdHlwZS1sdW1pbmFuY2UtZXhwZWN0ZWQuc3ZnCisgICAg
ICAgICAgICAgICBzdmcvbWFza2luZy9tYXNrLXR5cGUtbHVtaW5hbmNlLnN2ZworICAgICAgICAg
ICAgICAgc3ZnL21hc2tpbmcvbWFzay10eXBlLW5vdC1zZXQtZXhwZWN0ZWQuc3ZnCisgICAgICAg
ICAgICAgICBzdmcvbWFza2luZy9tYXNrLXR5cGUtbm90LXNldC5zdmcKKworICAgICAgICAqIGNz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOiBBZGQgbWFzay10eXBlIHByb3BlcnR5
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRU1hc2tUeXBlKToKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5o
ZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
OjpnZXRTVkdQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvU1ZHQ1NTUGFyc2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZSk6CisgICAgICAg
ICogY3NzL1NWR0NTU1Byb3BlcnR5TmFtZXMuaW46IEFkZCBtYXNrLXR5cGUuCisgICAgICAgICog
Y3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6YXBwbHlTVkdQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL1NWR0NTU1ZhbHVlS2V5d29y
ZHMuaW46CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpkaWZmKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0
eWxlOjppbml0aWFsTWFza1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6
OnNldE1hc2tUeXBlKToKKyAgICAgICAgKFNWR1JlbmRlclN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1JlbmRlclN0eWxlOjptYXNrVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5k
ZXJTdHlsZTo6c2V0Qml0RGVmYXVsdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZURlZnMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlTWFza2VyLmNwcDoKKworICAgICAgICAgICAgU3dpdGNoIGJldHdlZW4gdGhlIHR3byBtYXNr
aW5nIG1vZGVzIGFjY29yZGluZyB0byB0aGUKKyAgICAgICAgICAgIGNvbXB1dGVkIHZhbHVlIG9m
IG1hc2stdHlwZS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6
OmRyYXdDb250ZW50SW50b01hc2tJbWFnZSk6CisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJ
ZEZvclNWR0F0dHJpYnV0ZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Y3NzUHJvcGVydHlUb1R5
cGVNYXApOgorICAgICAgICAqIHN2Zy9zdmdhdHRycy5pbjogQWRkIHRoZSBuZXcgYXR0cmlidXRl
IHRvIHRoZSBhdHRyaWJ1dGUgbGlzdC4KKwogMjAxMi0wOS0xOCAgU2hpbnlhIEthd2FuYWthICA8
c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRGlzYWJsZSBhZGRpbmcgYW4gQXV0aG9y
U2hhZG93Um9vdCB0byByZXBsYWNlZCBlbGVtZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOGY5NDE4YzAwMmQ0YmM1
N2NiMGNmNDMxNjQyYjVkMWE2MDI2NzgyOC4uZDEwZDczOGEzMDlmOTFhOWFjODY0MzMzZTc4NTE4
ZGU5YzYxNTRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3Nyw2ICszNzcsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eU1hcmtlckVu
ZCwKICAgICBDU1NQcm9wZXJ0eU1hcmtlck1pZCwKICAgICBDU1NQcm9wZXJ0eU1hcmtlclN0YXJ0
LAorICAgIENTU1Byb3BlcnR5TWFza1R5cGUsCiAgICAgQ1NTUHJvcGVydHlTaGFwZVJlbmRlcmlu
ZywKICAgICBDU1NQcm9wZXJ0eVN0cm9rZSwKICAgICBDU1NQcm9wZXJ0eVN0cm9rZURhc2hhcnJh
eSwKQEAgLTI2MTMsNiArMjYxNCw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlNYXJrZXJFbmQ6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJr
ZXJNaWQ6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJrZXJTdGFydDoKKyAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1hc2tUeXBlOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2hhcGVSZW5k
ZXJpbmc6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2U6CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTdHJva2VEYXNoYXJyYXk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCAyZGY1MDIwNTA0NDc2ZTg1Y2JkMmU2MWRlZDM2M2E5
MGE2YmYzN2NmLi4zZGQwOWE2NjA2OTg3ZTYxMzgyZDczODBkMWI2MGY3OGRhMjM1NzJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTQy
NzcsNiArNDI3NywzMyBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgRVZlY3RvckVmZmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIFZFX05PTkU7CiB9CiAKK3Rl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFTWFz
a1R5cGUgZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0
aXZlVW5pdFR5cGUgPSBDU1NfSURFTlQ7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBNVF9M
VU1JTkFOQ0U6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUx1bWluYW5jZTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBNVF9BTFBIQToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9
IENTU1ZhbHVlQWxwaGE7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwordGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVNYXNrVHlwZSgpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1ZUx1bWluYW5jZToK
KyAgICAgICAgcmV0dXJuIE1UX0xVTUlOQU5DRTsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGE6Cisg
ICAgICAgIHJldHVybiBNVF9BTFBIQTsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gTVRfTFVNSU5BTkNFOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykK
IAogI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAppbmRleCBjNzYzM2Y4ZGIzMGYwMWNiMWExN2FjYTEwZmY4MmUwMTI1MTE2ZGUxLi5i
NWE5ZDNmNGYzYTNjODIxNTY0MTg5MWU2ODg5NTJhMzMzMjRiODkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAKQEAgLTY4Myw2ICs2ODMsNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0lu
aGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKICNpZiBFTkFCTEUoU1ZH
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlDbGlwUGF0aDoKICAgICBjYXNlIENTU1Byb3BlcnR5TWFz
azoKKyAgICBjYXNlIENTU1Byb3BlcnR5TWFza1R5cGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUVu
YWJsZUJhY2tncm91bmQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZpbHRlcjoKICAgICBjYXNlIENT
U1Byb3BlcnR5Rmxvb2RDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMWNkOGZhMGFhMDMzOWQzZWJiYzY3
NDAwYjFkNDgwNDI1OGRlYTNmZi4uOTJkOGQ4ZjMzMzIwMTc5MWRmZDkwYmEyYmNhOTFiMWQ5ZDY1
YmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE5Myw2ICsxOTMsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFNWR1Byb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5VmVjdG9yRWZmZWN0OgogICAgICAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUtPnZlY3RvckVmZmVjdCgp
KTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmtlcjoKKyAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU1hc2tUeXBlOgorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUoc3ZnU3R5bGUtPm1hc2tUeXBlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5RW5hYmxl
QmFja2dyb3VuZDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbG9yUHJvZmlsZToKICAgICAg
ICAgICAgIC8vIHRoZSBhYm92ZSBwcm9wZXJ0aWVzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIGlu
IHRoZSBlbmdpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKaW5kZXggYzdlYzZkOWY5
NDE0MzE5MWZhNmMxYWUyNDVkOGZkNjZiYWU2Mzg4Mi4uMjZkNDRlNDYyNjgwNDhhMWU5ODY1OTEy
NjRlODlkOGVjM2RlODQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKQEAgLTI3
MCw2ICsyNzAsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUoQ1NTUHJvcGVydHlJ
RCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5TWFza1R5cGU6IC8vIGx1bWluYW5jZSB8IGFs
cGhhIHwgaW5oZXJpdAorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVMdW1pbmFuY2UgfHwgaWQg
PT0gQ1NTVmFsdWVBbHBoYSkKKyAgICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9IHRydWU7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgLyogc2hvcnRoYW5kIHByb3BlcnRpZXMgKi8KICAgICBjYXNl
IENTU1Byb3BlcnR5TWFya2VyOgogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TVkdDU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1Byb3Bl
cnR5TmFtZXMuaW4KaW5kZXggMzRlNGNhMzNjNjhmMDZmY2JkYzE1OWIzMmIwMTM3NzYzYWY0YmEy
Zi4uZjAxODhmMjY2NzQ4M2VhYTA2NDZlMzZmODUyZGNlMDBmMDRmYjJlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1NWR0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTMwLDYgKzMwLDcgQEAgbWFya2Vy
CiBtYXJrZXItZW5kCiBtYXJrZXItbWlkCiBtYXJrZXItc3RhcnQKK21hc2stdHlwZQogc2hhcGUt
cmVuZGVyaW5nCiBzdHJva2UKIHN0cm9rZS1kYXNoYXJyYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
VkdDU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA1YjM1NDdmNGQ2MjdkM2UxOWExYWU2NWI3NmQw
NjA5YjU5M2FiNWQyLi5lYWVkYzEwNjViM2JmNjg5ZmFhMmNiZTdlYjYyNmVjNzYzODkxZGRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC01ODIsNiAr
NTgyLDE0IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlTVkdQcm9wZXJ0eShDU1NQcm9wZXJ0
eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAgICBzdmdzdHlsZS0+c2V0VmVjdG9y
RWZmZWN0KCpwcmltaXRpdmVWYWx1ZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQor
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFza1R5cGU6IHsKKyAgICAgICAgICAgIEhBTkRMRV9J
TkhFUklUX0FORF9JTklUSUFMKG1hc2tUeXBlLCBNYXNrVHlwZSkKKyAgICAgICAgICAgIGlmICgh
cHJpbWl0aXZlVmFsdWUpCisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIHN2
Z3N0eWxlLT5zZXRNYXNrVHlwZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIC8vIElmIHlvdSBjcmFz
aCBoZXJlLCBpdCdzIGJlY2F1c2UgeW91IGFkZGVkIGEgY3NzIHByb3BlcnR5IGFuZCBhcmUgbm90
IGhhbmRsaW5nIGl0CiAgICAgICAgICAgICAvLyBpbiBlaXRoZXIgdGhpcyBzd2l0Y2ggc3RhdGVt
ZW50IG9yIHRoZSBvbmUgaW4gU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBlMTE1MTY1MTA3ZThhZTEyNmUx
ZmQ5NmMzZTQyZTA0MzQzZWEzNzQ4Li42Zjc2OWI2Nzg0ZGY1Yzk3ZjdiMjU2NDY1NDEzNjJhN2M4
ZjY4MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jk
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAt
NCw2ICs0LDcgQEAKIC8vIENTU19QUk9QXypfQ09MT1IKIC8vCiBhbGljZWJsdWUKK2FscGhhCiBh
bnRpcXVld2hpdGUKIC8vIGFxdWEKIGFxdWFtYXJpbmUKQEAgLTg4LDYgKzg5LDcgQEAgbGlnaHR5
ZWxsb3cKIC8vIGxpbWUKIGxpbWVncmVlbgogbGluZW4KK2x1bWluYW5jZQogbWFnZW50YQogLy8g
bWFyb29uCiBtZWRpdW1hcXVhbWFyaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAppbmRleCBlZGI0NWNkNGJkNmE4ZTNiNTc5MDg1YzY0
YzFmMWM1MmYwNzkzN2Y4Li5kNzQwMTlkMWMxY2U5NjViZmNiY2ZkMGRkMTdkNzllNWIzNzQ5N2Q2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZS5jcHAKQEAgLTIyMyw2ICsyMjMsOSBAQCBTdHlsZURpZmZlcmVuY2UgU1ZHUmVuZGVyU3R5bGU6
OmRpZmYoY29uc3QgU1ZHUmVuZGVyU3R5bGUqIG90aGVyKSBjb25zdAogICAgIGlmIChzdmdfbm9u
aW5oZXJpdGVkX2ZsYWdzLmYuX3ZlY3RvckVmZmVjdCAhPSBvdGhlci0+c3ZnX25vbmluaGVyaXRl
ZF9mbGFncy5mLl92ZWN0b3JFZmZlY3QpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VS
ZXBhaW50OwogCisgICAgaWYgKHN2Z19ub25pbmhlcml0ZWRfZmxhZ3MuZi5tYXNrVHlwZSAhPSBv
dGhlci0+c3ZnX25vbmluaGVyaXRlZF9mbGFncy5mLm1hc2tUeXBlKQorICAgICAgICByZXR1cm4g
U3R5bGVEaWZmZXJlbmNlUmVwYWludDsKKwogICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VFcXVh
bDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1Jl
bmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuaAppbmRleCBlODk4NGMwNDhmNzc2OTY5MzBiNzJhNDY4NDA4NjlhZTEyMWYwZmNmLi5iZTBh
NDc5YmNmMThhM2VmZjE2N2VhMzM5ZTJjNGVhNWE0YzA1NDA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaApAQCAtOTIsNiArOTIsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBpbml0aWFsTWFya2VyU3RhcnRSZXNvdXJjZSgpIHsg
cmV0dXJuIFN0cmluZygpOyB9CiAgICAgc3RhdGljIFN0cmluZyBpbml0aWFsTWFya2VyTWlkUmVz
b3VyY2UoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbE1h
cmtlckVuZFJlc291cmNlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICBzdGF0aWMgRU1hc2tU
eXBlIGluaXRpYWxNYXNrVHlwZSgpIHsgcmV0dXJuIE1UX0xVTUlOQU5DRTsgfQogCiAgICAgc3Rh
dGljIFNWR0xlbmd0aCBpbml0aWFsQmFzZWxpbmVTaGlmdFZhbHVlKCkKICAgICB7CkBAIC0xNDYs
NyArMTQ3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0V3JpdGluZ01vZGUoU1ZHV3JpdGluZ01v
ZGUgdmFsKSB7IHN2Z19pbmhlcml0ZWRfZmxhZ3MuX3dyaXRpbmdNb2RlID0gdmFsOyB9CiAgICAg
dm9pZCBzZXRHbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbChFR2x5cGhPcmllbnRhdGlvbiB2YWwp
IHsgc3ZnX2luaGVyaXRlZF9mbGFncy5fZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwgPSB2YWw7
IH0KICAgICB2b2lkIHNldEdseXBoT3JpZW50YXRpb25WZXJ0aWNhbChFR2x5cGhPcmllbnRhdGlv
biB2YWwpIHsgc3ZnX2luaGVyaXRlZF9mbGFncy5fZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsID0g
dmFsOyB9Ci0gICAgCisgICAgdm9pZCBzZXRNYXNrVHlwZShFTWFza1R5cGUgdmFsKSB7IHN2Z19u
b25pbmhlcml0ZWRfZmxhZ3MuZi5tYXNrVHlwZSA9IHZhbDsgfQorCiAgICAgdm9pZCBzZXRGaWxs
T3BhY2l0eShmbG9hdCBvYmopCiAgICAgewogICAgICAgICBpZiAoIShmaWxsLT5vcGFjaXR5ID09
IG9iaikpCkBAIC0zNDgsNyArMzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBtYXJrZXJTdGFy
dFJlc291cmNlKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkUmVzb3VyY2VzLT5tYXJrZXJTdGFy
dDsgfQogICAgIFN0cmluZyBtYXJrZXJNaWRSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIGluaGVy
aXRlZFJlc291cmNlcy0+bWFya2VyTWlkOyB9CiAgICAgU3RyaW5nIG1hcmtlckVuZFJlc291cmNl
KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkUmVzb3VyY2VzLT5tYXJrZXJFbmQ7IH0KLSAgICAK
KyAgICBFTWFza1R5cGUgbWFza1R5cGUoKSBjb25zdCB7IHJldHVybiAoRU1hc2tUeXBlKSBzdmdf
bm9uaW5oZXJpdGVkX2ZsYWdzLmYubWFza1R5cGU7IH0KKwogICAgIGNvbnN0IFNWR1BhaW50OjpT
VkdQYWludFR5cGUmIHZpc2l0ZWRMaW5rRmlsbFBhaW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGZp
bGwtPnZpc2l0ZWRMaW5rUGFpbnRUeXBlOyB9CiAgICAgY29uc3QgQ29sb3ImIHZpc2l0ZWRMaW5r
RmlsbFBhaW50Q29sb3IoKSBjb25zdCB7IHJldHVybiBmaWxsLT52aXNpdGVkTGlua1BhaW50Q29s
b3I7IH0KICAgICBjb25zdCBTdHJpbmcmIHZpc2l0ZWRMaW5rRmlsbFBhaW50VXJpKCkgY29uc3Qg
eyByZXR1cm4gZmlsbC0+dmlzaXRlZExpbmtQYWludFVyaTsgfQpAQCAtNDE2LDcgKzQxOSw4IEBA
IHByb3RlY3RlZDoKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBfZG9taW5hbnRCYXNlbGluZSA6
IDQ7IC8vIEVEb21pbmFudEJhc2VsaW5lCiAgICAgICAgICAgICAgICAgdW5zaWduZWQgX2Jhc2Vs
aW5lU2hpZnQgOiAyOyAvLyBFQmFzZWxpbmVTaGlmdAogICAgICAgICAgICAgICAgIHVuc2lnbmVk
IF92ZWN0b3JFZmZlY3Q6IDE7IC8vIEVWZWN0b3JFZmZlY3QKLSAgICAgICAgICAgICAgICAvLyAy
MSBiaXRzIHVudXNlZAorICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1hc2tUeXBlOiAxOyAvLyBF
TWFza1R5cGUKKyAgICAgICAgICAgICAgICAvLyAyMCBiaXRzIHVudXNlZAogICAgICAgICAgICAg
fSBmOwogICAgICAgICAgICAgdWludDMyX3QgX25pZmxhZ3M7CiAgICAgICAgIH07CkBAIC00NjEs
NiArNDY1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgc3ZnX25vbmluaGVyaXRlZF9mbGFncy5mLl9k
b21pbmFudEJhc2VsaW5lID0gaW5pdGlhbERvbWluYW50QmFzZWxpbmUoKTsKICAgICAgICAgc3Zn
X25vbmluaGVyaXRlZF9mbGFncy5mLl9iYXNlbGluZVNoaWZ0ID0gaW5pdGlhbEJhc2VsaW5lU2hp
ZnQoKTsKICAgICAgICAgc3ZnX25vbmluaGVyaXRlZF9mbGFncy5mLl92ZWN0b3JFZmZlY3QgPSBp
bml0aWFsVmVjdG9yRWZmZWN0KCk7CisgICAgICAgIHN2Z19ub25pbmhlcml0ZWRfZmxhZ3MuZi5t
YXNrVHlwZSA9IGluaXRpYWxNYXNrVHlwZSgpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaAppbmRleCA5MzFk
YmUzZjllNDA2NTExYWYxYTk0MDBkYzFjNThhMTc3MDJlODVkLi5lNzMwOGNhOTlmZmVjMTA0Njgy
Mzg3NzA2ZWE2MjhiNTNlZGVmYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCkBAIC04Myw2ICs4MywxMSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFZFX05PTl9TQ0FMSU5HX1NUUk9LRQogICAgIH07CiAKKyAg
ICBlbnVtIEVNYXNrVHlwZSB7CisgICAgICAgIE1UX0xVTUlOQU5DRSwKKyAgICAgICAgTVRfQUxQ
SEEKKyAgICB9OworCiAgICAgY2xhc3MgQ1NTVmFsdWU7CiAgICAgY2xhc3MgQ1NTVmFsdWVMaXN0
OwogICAgIGNsYXNzIFNWR1BhaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAppbmRleCBlNmViNmFmYzJjNzJi
ZGEwMDNkMTExMzA2MDU5ZmZlZjIxZTI5MDQ1Li4xZjUwMWE4OGJkOGNjMWUxZjk5MDk3YTIzZDRi
NDQ1ZTAzYjZmNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcApAQCAtMTUzLDggKzE1MywxMiBAQCBib29s
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29udGVudEludG9NYXNrSW1hZ2UoTWFza2Vy
RGF0YSogbWFza2VyRGF0YSwgQwogICAgIFVOVVNFRF9QQVJBTShjb2xvclNwYWNlKTsKICNlbmRp
ZgogCisgICAgQVNTRVJUKHN0eWxlKCkpOworICAgIEFTU0VSVChzdHlsZSgpLT5zdmdTdHlsZSgp
KTsKICAgICAvLyBDcmVhdGUgdGhlIGx1bWluYW5jZSBtYXNrLgotICAgIG1hc2tlckRhdGEtPm1h
c2tJbWFnZS0+Y29udmVydFRvTHVtaW5hbmNlTWFzaygpOworICAgIGlmIChzdHlsZSgpLT5zdmdT
dHlsZSgpLT5tYXNrVHlwZSgpID09IE1UX0xVTUlOQU5DRSkKKyAgICAgICAgbWFza2VyRGF0YS0+
bWFza0ltYWdlLT5jb252ZXJ0VG9MdW1pbmFuY2VNYXNrKCk7CisKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IDM0ZmJkZmRk
ZjI5YTZlY2I1ZGQ2NmU2ODEzMTIxYmZlNzBiYWUwYmQuLmM3NjVkYzYyMzNlZTA5MjM0ZmYxNGEx
OTM0OTUwMGVkOTNmYWVlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHls
ZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5j
cHAKQEAgLTE4MSw2ICsxODEsNyBAQCBDU1NQcm9wZXJ0eUlEIFNWR1N0eWxlZEVsZW1lbnQ6OmNz
c1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0IFF1YWxpZmllZAogICAgICAgICBt
YXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG1hcmtlcl9taWRB
dHRyKTsKICAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBtYXJrZXJfc3RhcnRBdHRyKTsKICAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXNrQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFza190eXBlQXR0cik7CiAgICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgb3BhY2l0eUF0
dHIpOwogICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIG92ZXJmbG93QXR0cik7CiAgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJv
cGVydHlOYW1lVG9JZE1hcCwgcG9pbnRlcl9ldmVudHNBdHRyKTsKQEAgLTI1MSw2ICsyNTIsNyBA
QCBzdGF0aWMgaW5saW5lIEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwJiBjc3NQcm9wZXJ0eVRv
VHlwZU1hcCgpCiAgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobWFya2VyX21pZEF0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKICAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChtYXJrZXJfc3RhcnRBdHRyLCBB
bmltYXRlZFN0cmluZyk7CiAgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobWFza0F0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChtYXNrX3R5cGVBdHRyLCBBbmlt
YXRlZFN0cmluZyk7CiAgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQob3BhY2l0eUF0dHIsIEFuaW1h
dGVkTnVtYmVyKTsKICAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChvdmVyZmxvd0F0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKICAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChwb2ludGVyX2V2ZW50c0F0dHIs
IEFuaW1hdGVkU3RyaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9zdmdhdHRy
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9zdmdhdHRycy5pbgppbmRleCBjMjIwYjY3YjhjMzU0
M2M2ZmUxOGI4NmIwNWY2NTJlNDViODZlM2E2Li44ZmJiN2JkMjJjMmM3ZTIwNjdjMzdkNmJlMzFk
Y2Q0OTFiYmQyYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZnYXR0cnMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3N2Z2F0dHJzLmluCkBAIC0xMTUsNiArMTE1LDcgQEAg
bWFya2VySGVpZ2h0CiBtYXJrZXJVbml0cwogbWFya2VyV2lkdGgKIG1hc2sKK21hc2stdHlwZQog
bWFza0NvbnRlbnRVbml0cwogbWFza1VuaXRzCiBtYXRoZW1hdGljYWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YWRlM2Q0
MTc2ZTFlMjljNjMyNzhlYmExMDhkZGMwY2JlOGIzNWU3Li44MGMwMTE0MmUwMjg4OGI5NWZlODRm
OTZjODY2NjMwMmM0ZTZlNTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDktMTggIERp
cmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgJ21hc2st
dHlwZScgZm9yIDxtYXNrPgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTcwMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBuZXcgdGVzdHMgZm9yIHN3aXRjaGluZyB0aGUgbWFza2luZyBtb2RlIG9u
IDxtYXNrPiBlbGVtZW50IHdpdGggJ21hc2stdHlwZScuCisKKyAgICAgICAgKiBzdmcvY3NzL21h
c2stdHlwZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jc3MvbWFzay10eXBl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS1leHBl
Y3RlZC5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS5z
dmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tYXNraW5nL21hc2stdHlwZS1sdW1pbmFuY2UtZXhw
ZWN0ZWQuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbWFza2luZy9tYXNrLXR5cGUtbHVtaW5h
bmNlLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL21hc2tpbmcvbWFzay10eXBlLW5vdC1zZXQt
ZXhwZWN0ZWQuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbWFza2luZy9tYXNrLXR5cGUtbm90
LXNldC5zdmc6IEFkZGVkLgorCiAyMDEyLTA5LTE4ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFr
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBEaXNhYmxlIGFkZGluZyBhbiBBdXRob3JTaGFkb3dS
b290IHRvIHJlcGxhY2VkIGVsZW1lbnRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9tYXNrLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9tYXNrLXR5cGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNzZmZTUzM2ZhZTJmYTJmNjE0ZDI4OWJkMTI5Yzhi
ZGFlZDI5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL21hc2stdHlw
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCB0aGF0IGNsaXAtcGF0aCBzaGFw
ZXMgYWNjZXB0IGRpZmZlcmVudCBsZW5ndGggdW5pdHMKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgY29tcHV0ZWRTdHlsZSgibWFzay10eXBlIiwgIiIpIGlzICJsdW1pbmFu
Y2UiCitQQVNTIGNvbXB1dGVkU3R5bGUoIm1hc2stdHlwZSIsICJhbHBoYSIpIGlzICJhbHBoYSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgibWFzay10eXBlIiwgImx1bWluYW5jZSIpIGlzICJsdW1pbmFu
Y2UiCitQQVNTIGNvbXB1dGVkU3R5bGUoIm1hc2stdHlwZSIsICIwIikgaXMgImx1bWluYW5jZSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgibWFzay10eXBlIiwgIjEiKSBpcyAibHVtaW5hbmNlIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJtYXNrLXR5cGUiLCAibGluZWFyUkdCIikgaXMgImx1bWluYW5jZSIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL21hc2stdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2Nzcy9tYXNrLXR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWNlMGU0MjNlNDgwNWE0NDZkNmU4
OWRhMjM1MjIwMDU5NmFlYjAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9tYXNrLXR5cGUuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPHN0eWxlPgorKiB7IGZvbnQtc2l6ZTogMTZweDsgfQorZGl2IHsgZm9udC1zaXplOiA4cHg7
IH0KKzwvc3R5bGU+Cis8Ym9keT4KKzxzdmc+PG1hc2sgaWQ9Im1hc2siPjwvbWFzaz48L3N2Zz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBjbGlwLXBhdGggc2hhcGVz
IGFjY2VwdCBkaWZmZXJlbnQgbGVuZ3RoIHVuaXRzJyk7CisKK3ZhciBtYXNrID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ21hc2snKTsKKworZnVuY3Rpb24gY29tcHV0ZWRTdHlsZShwcm9wZXJ0
eSwgdmFsdWUpIHsKKyAgICBtYXNrLnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSk7
CisgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUobWFzaykuZ2V0UHJvcGVydHlWYWx1ZShwcm9w
ZXJ0eSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QocHJvcGVydHksIHZhbHVlLCBleHBlY3RlZCkgewor
ICAgIGlmIChleHBlY3RlZCA9PT0gbnVsbCkKKyAgICAgICAgc2hvdWxkQmVOdWxsKCdjb21wdXRl
ZFN0eWxlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1ZSArICciKScpOworICAgIGVsc2UK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdjb21wdXRlZFN0eWxlKCInICsgcHJvcGVy
dHkgKyAnIiwgIicgKyB2YWx1ZSArICciKScsIGV4cGVjdGVkKTsKK30KKwordGVzdCgibWFzay10
eXBlIiwgIiIsICJsdW1pbmFuY2UiKTsKK3Rlc3QoIm1hc2stdHlwZSIsICJhbHBoYSIsICJhbHBo
YSIpOwordGVzdCgibWFzay10eXBlIiwgImx1bWluYW5jZSIsICJsdW1pbmFuY2UiKTsKKworLy8g
bmVnYXRpdmUgdGVzdHMKK3Rlc3QoIm1hc2stdHlwZSIsICIwIiwgImx1bWluYW5jZSIpOwordGVz
dCgibWFzay10eXBlIiwgIjEiLCAibHVtaW5hbmNlIik7Cit0ZXN0KCJtYXNrLXR5cGUiLCAibGlu
ZWFyUkdCIiwgImx1bWluYW5jZSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9zdmc+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL21hc2tp
bmcvbWFzay10eXBlLWFscGhhLWV4cGVjdGVkLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9tYXNraW5n
L21hc2stdHlwZS1hbHBoYS1leHBlY3RlZC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFkNmI5Yjg0ZmE4MWFm
NWNmZmI1MmIyNGE2MTUzMDJkNTRkMTMwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9tYXNraW5nL21hc2stdHlwZS1hbHBoYS1leHBlY3RlZC5zdmcKQEAgLTAsMCArMSwzIEBA
Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cis8Y2lyY2xlIGN4PSIx
MDAiIGN5PSIxMDAiIHJ4PSIxMDAiIGZpbGw9ImdyZWVuIi8+Cis8L3N2Zz4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbWFza2luZy9tYXNr
LXR5cGUtYWxwaGEuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLWFscGhh
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZTE5YjMzNTZhMjVkMzY3MmE3ZDQ4NThhN2Y2N2Y3YWI0YThkNmQ3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLWFs
cGhhLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIj4KKzxkZWZzPgorCTxtYXNrIGlkPSJtYXNrIiBtYXNrLXR5cGU9ImFscGhhIj4KKwkJ
PHJlY3Qgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIGZpbGw9ImJsYWNrIiBvcGFjaXR5PSIwIi8+
CisJCTxjaXJjbGUgY3g9IjEwMCIgY3k9IjEwMCIgcng9IjEwMCIgZmlsbD0iYmxhY2siLz4KKwk8
L21hc2s+Cis8L2RlZnM+Cis8cmVjdCB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iZ3Jl
ZW4iIG1hc2s9InVybCgjbWFzaykiLz4KKzwvc3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9tYXNraW5nL21hc2stdHlwZS1sdW1pbmFu
Y2UtZXhwZWN0ZWQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLWx1bWlu
YW5jZS1leHBlY3RlZC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFkNmI5Yjg0ZmE4MWFmNWNmZmI1MmIyNGE2
MTUzMDJkNTRkMTMwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9tYXNraW5n
L21hc2stdHlwZS1sdW1pbmFuY2UtZXhwZWN0ZWQuc3ZnCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPGNpcmNsZSBjeD0iMTAwIiBjeT0i
MTAwIiByeD0iMTAwIiBmaWxsPSJncmVlbiIvPgorPC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLWx1
bWluYW5jZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvbWFza2luZy9tYXNrLXR5cGUtbHVtaW5hbmNl
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNWUyY2E1YWJhOTdjNDk1Y2I3YjMxNDJmZDU3NjJlMWI3Y2EwZWQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLWx1
bWluYW5jZS5zdmcKQEAgLTAsMCArMSw5IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyI+Cis8ZGVmcz4KKwk8bWFzayBpZD0ibWFzayIgbWFzay10eXBlPSJsdW1pbmFu
Y2UiPgorCQk8cmVjdCB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iYmxhY2siLz4KKwkJ
PGNpcmNsZSBjeD0iMTAwIiBjeT0iMTAwIiByeD0iMTAwIiBmaWxsPSJ3aGl0ZSIvPgorCTwvbWFz
az4KKzwvZGVmcz4KKzxyZWN0IHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJncmVlbiIg
bWFzaz0idXJsKCNtYXNrKSIvPgorPC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLW5vdC1zZXQtZXhw
ZWN0ZWQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL21hc2tpbmcvbWFzay10eXBlLW5vdC1zZXQtZXhw
ZWN0ZWQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxZDZiOWI4NGZhODFhZjVjZmZiNTJiMjRhNjE1MzAyZDU0
ZDEzMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbWFza2luZy9tYXNrLXR5
cGUtbm90LXNldC1leHBlY3RlZC5zdmcKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cis8Y2lyY2xlIGN4PSIxMDAiIGN5PSIxMDAiIHJ4PSIx
MDAiIGZpbGw9ImdyZWVuIi8+Cis8L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbWFza2luZy9tYXNrLXR5cGUtbm90LXNldC5zdmcg
Yi9MYXlvdXRUZXN0cy9zdmcvbWFza2luZy9tYXNrLXR5cGUtbm90LXNldC5zdmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDI3MTBjNTQzY2Q4ZmM2YjY3NjBkNDI4YzkyYjEzY2E0MjkxMzY1NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9tYXNraW5nL21hc2stdHlwZS1ub3Qtc2V0LnN2ZwpAQCAt
MCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKzxk
ZWZzPgorCTxtYXNrIGlkPSJtYXNrIj4KKwkJPHJlY3Qgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAi
IGZpbGw9ImJsYWNrIi8+CisJCTxjaXJjbGUgY3g9IjEwMCIgY3k9IjEwMCIgcng9IjEwMCIgZmls
bD0id2hpdGUiLz4KKwk8L21hc2s+Cis8L2RlZnM+Cis8cmVjdCB3aWR0aD0iMjAwIiBoZWlnaHQ9
IjIwMCIgZmlsbD0iZ3JlZW4iIG1hc2s9InVybCgjbWFzaykiLz4KKzwvc3ZnPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="176339"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="176604"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>