PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` var resolveKeyword = require('css-tree').keyword; var { hasNoChildren } = require('./utils'); module.exports = function cleanAtrule(node, item, list) { if (node.block) { // otherwise removed at-rule don't prevent @import for removal if (this.stylesheet !== null) { this.stylesheet.firstAtrulesAllowed = false; } if (hasNoChildren(node.block)) { list.remove(item); return; } } switch (node.name) { case 'charset': if (hasNoChildren(node.prelude)) { list.remove(item); return; } // if there is any rule before @charset -> remove it if (item.prev) { list.remove(item); return; } break; case 'import': if (this.stylesheet === null || !this.stylesheet.firstAtrulesAllowed) { list.remove(item); return; } // if there are some rules that not an @import or @charset before @import // remove it list.prevUntil(item.prev, function(rule) { if (rule.type === 'Atrule') { if (rule.name === 'import' || rule.name === 'charset') { return; } } this.root.firstAtrulesAllowed = false; list.remove(item); return true; }, this); break; default: var name = resolveKeyword(node.name).basename; if (name === 'keyframes' || name === 'media' || name === 'supports') { // drop at-rule with no prelude if (hasNoChildren(node.prelude) || hasNoChildren(node.block)) { list.remove(item); } } } };