HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: //proc/self/root/proc/self/root/home4/cca63905/.trash/wp-content/plugins/css-hero/js/worker.js
if ('function' === typeof importScripts){
	importScripts("less_mod.js"); // https://github.com/openstyles/less-bundle
	importScripts("csstojson.js");
}

var fa_icons = ['500px','address-book-o','address-book','address-card-o','address-card','adjust','adn','align-center','align-justify','align-left','align-right','amazon','ambulance','anchor','android','angellist','angle-double-down','angle-double-left','angle-double-right','angle-double-up','angle-down','angle-left','angle-right','angle-up','apple','archive','area-chart','arrow-circle-down','arrow-circle-left','arrow-circle-o-down','arrow-circle-o-left','arrow-circle-o-up','arrow-circle-right','arrow-circle-up','arrow-down','arrow-left','arrow-right','arrow-up','arrows-alt','arrows-h','arrows-v','arrows','asl-interpreting','asterisk','at','audio-description','automobile','backward','balance-scale','ban','bandcamp','bank','bar-chart-o','bar-chart','barcode','bars','bath','bathtub','battery-0','battery-1','battery-2','battery-3','battery-4','battery-empty','battery-full','battery-half','battery-quarter','battery','bed','beer','behance-square','behance','bell-o','bell-slash-o','bell-slash','bell','bicycle','binoculars','birthday-cake','bitbucket-square','bitbucket','bitcoin','black-tie','blind','bluetooth-b','bluetooth','bold','bolt','bomb','book','bookmark-o','bookmark','braille','briefcase','btc','bug','building-o','building','bullhorn','bullseye','bus','buysellads','cab','calculator','calendar-check-o','calendar-minus-o','calendar-o','calendar-plus-o','calendar-times-o','calendar','camera-retro','camera','car','caret-down','caret-left','caret-right','caret-square-o-down','caret-square-o-left','caret-square-o-up','caret-up','cart-arrow-down','cart-plus','cc-amex','cc-diners-club','cc-discover','cc-jcb','cc-mastercard','cc-paypal','cc-stripe','cc-visa','cc','certificate','chain-broken','chain','check-circle-o','check-circle','check-square-o','check-square','check','chevron-circle-down','chevron-circle-left','chevron-circle-up','chevron-down','chevron-left','chevron-right','chevron-up','child','chrome','circle-o-notch','circle-o','circle-thin','circle','clipboard','clock-o','clone','close','cloud-download','cloud-upload','cloud','cny','code-fork','code','codepen','codiepie','coffee','cog','cogs','columns','comment-o','comment','commenting-o','commenting','comments-o','comments','compass','compress','connectdevelop','contao','copy','copyright','creative-commons','credit-card-alt','credit-card','crop','crosshairs','css3','cube','cubes','cut','cutlery','dashboard','dashcube','database','deaf','deafness','dedent','delicious','desktop','deviantart','diamond','digg','dollar','dot-circle-o','download','dribbble','drivers-license-o','drivers-license','dropbox','drupal','edge','edit','eercast','eject','ellipsis-h','ellipsis-v','empire','envelope-o','envelope-open-o','envelope-open','envelope-square','envelope','envira','eraser','etsy','eur','euro','exchange','exclamation-circle','exclamation','expand','expeditedssl','external-link','eye-slash','eye','eyedropper','fa','facebook-f','facebook-official','facebook-square','facebook','fast-backward','fast-forward','fax','feed','female','fighter-jet','file-archive-o','file-audio-o','file-code-o','file-excel-o','file-image-o','file-movie-o','file-o','file-pdf-o','file-photo-o','file-picture-o','file-powerpoint-o','file-sound-o','file-text-o','file-text','file-video-o','file-word-o','file-zip-o','file','files-o','film','filter','fire-extinguisher','fire','firefox','first-order','flag-checkered','flag-o','flag','flash','flask','flickr','floppy-o','folder-o','folder-open-o','folder-open','folder','font-awesome','font','fonticons','fort-awesome','forumbee','forward','foursquare','free-code-camp','frown-o','futbol-o','gamepad','gavel','gbp','ge','gear','gears','genderless','get-pocket','gg-circle','gg','gift','git-square','git','github-alt','github-square','github','gitlab','gittip','glass','glide-g','glide','globe','google-plus-circle','google-plus-square','google-plus','google-wallet','google','graduation-cap','gratipay','grav','group','h-square','hacker-news','hand-grab-o','hand-lizard-o','hand-o-down','hand-o-left','hand-o-right','hand-o-up','hand-paper-o','hand-peace-o','hand-pointer-o','hand-rock-o','hand-scissors-o','hand-spock-o','hand-stop-o','handshake-o','hard-of-hearing','hashtag','hdd-o','header','headphones','heart-o','heart','heartbeat','history','home','hospital-o','hotel','hourglass-1','hourglass-2','hourglass-3','hourglass-end','hourglass-half','hourglass-o','hourglass-start','hourglass','houzz','html5','i-cursor','id-badge','id-card-o','id-card','ils','image','imdb','inbox','indent','industry','info-circle','info','inr','instagram','institution','internet-explorer','intersex','ioxhost','italic','joomla','jpy','jsfiddle','key','keyboard-o','krw','language','laptop','lastfm-square','lastfm','leaf','leanpub','legal','lemon-o','level-down','level-up','life-bouy','life-buoy','life-ring','life-saver','lightbulb-o','line-chart','link','linkedin-square','linkedin','linode','linux','list-alt','list-ol','list-ul','list','location-arrow','lock','long-arrow-down','long-arrow-left','long-arrow-right','long-arrow-up','low-vision','magic','magnet','mail-forward','mail-reply-all','mail-reply','male','map-marker','map-o','map-pin','map-signs','map','mars-double','mars-stroke-h','mars-stroke-v','mars-stroke','mars','maxcdn','meanpath','medium','medkit','meetup','meh-o','mercury','microchip','microphone-slash','microphone','minus-circle','minus-square-o','minus-square','minus','mixcloud','mobile-phone','mobile','modx','money','moon-o','mortar-board','motorcycle','mouse-pointer','music','navicon','neuter','newspaper-o','object-group','object-ungroup','odnoklassniki','opencart','openid','opera','optin-monster','outdent','pagelines','paint-brush','paper-plane-o','paper-plane','paperclip','paragraph','paste','pause-circle-o','pause-circle','pause','paw','paypal','pencil-square-o','pencil-square','pencil','percent','phone-square','phone','photo','picture-o','pie-chart','pied-piper-alt','pied-piper-pp','pied-piper','pinterest-p','pinterest-square','pinterest','plane','play-circle-o','play-circle','play','plug','plus-circle','plus-square-o','plus-square','plus','podcast','power-off','print','product-hunt','puzzle-piece','qq','qrcode','question-circle-o','question-circle','question','quora','quote-left','quote-right','ra','random','ravelry','rebel','recycle','reddit-alien','reddit-square','reddit','refresh','registered','remove','renren','reorder','repeat','reply-all','reply','resistance','retweet','rmb','road','rocket','rotate-left','rotate-right','rouble','rss-square','rss','rub','ruble','rupee','s15','safari','save','scissors','scribd','search-minus','search-plus','search','sellsy','send-o','send','server','share-alt-square','share-alt','share-square-o','share-square','share','shekel','sheqel','shield','ship','shirtsinbulk','shopping-bag','shopping-basket','shopping-cart','shower','sign-in','sign-language','sign-out','signal','signing','simplybuilt','sitemap','skyatlas','skype','slack','sliders','slideshare','smile-o','snapchat-ghost','snapchat-square','snapchat','snowflake-o','soccer-ball-o','sort-alpha-asc','sort-alpha-desc','sort-amount-asc','sort-amount-desc','sort-asc','sort-desc','sort-down','sort-numeric-asc','sort-numeric-desc','sort-up','sort','soundcloud','space-shuttle','spinner','spoon','spotify','square-o','square','stack-exchange','stack-overflow','star-half-empty','star-half-full','star-half-o','star-half','star-o','star','steam-square','steam','step-backward','step-forward','stethoscope','sticky-note-o','sticky-note','stop-circle-o','stop-circle','stop','street-view','strikethrough','stumbleupon-circle','stumbleupon','subscript','subway','suitcase','sun-o','superpowers','superscript','support','table','tablet','tachometer','tag','tags','tasks','taxi','telegram','television','tencent-weibo','terminal','text-height','text-width','th-large','th-list','th','themeisle','thermometer-0','thermometer-1','thermometer-2','thermometer-3','thermometer-4','thermometer-empty','thermometer-full','thermometer-half','thermometer-quarter','thermometer','thumb-tack','thumbs-down','thumbs-o-down','thumbs-o-up','thumbs-up','ticket','times-circle-o','times-circle','times-rectangle-o','times-rectangle','times','tint','toggle-down','toggle-left','toggle-off','toggle-on','toggle-right','toggle-up','trademark','train','transgender-alt','transgender','trash-o','trash','tree','trello','tripadvisor','trophy','truck','try','tty','tumblr-square','tumblr','turkish-lira','tv','twitch','twitter-square','twitter','umbrella','underline','undo','universal-access','university','unlink','unlock-alt','unlock','unsorted','upload','usb','usd','user-circle-o','user-circle','user-md','user-o','user-plus','user-secret','user-times','user','users','vcard-o','vcard','venus-double','venus-mars','venus','viacoin','viadeo-square','viadeo','video-camera','vimeo-square','vimeo','vine','vk','volume-down','volume-off','volume-up','warning','wechat','weibo','weixin','whatsapp','wheelchair-alt','wheelchair','wifi','wikipedia-w','window-close-o','window-close','window-maximize','window-minimize','window-restore','windows','won','wordpress','wpbeginner','wpexplorer','wpforms','wrench','xing-square','xing','y-combinator-square','y-combinator','yahoo','yc-square','yc','yelp','yen','yoast','youtube-play','youtube-square','youtube'];

self.addEventListener('message', function(e){
	var d = e.data;
	
	
	if (d.type == 'detect_mq_edits'){
		var _css = d.val;
		_css = _css.replace(/ /g,' ').split(' {').join('{');
		var _mqs = d.mqs;
		var _cur = d.curel;
		var _ret = {}
		_cur = _cur.trim();
		var _glo = _css;
		///
		for (var m in _mqs){
			var _mq = _mqs[m]
			if (_mq != 'all'){
				_mq = _mq.replace(/  /g,' ').split(' :').join(':').split(': ').join(':').split(':').join(': ')
				_mq = _mq.split(' )').join(')').split('( ').join(')')
				var start = _css.indexOf(_mq);
				if (start > -1){
					start = start+_mq.length;
					var close = find_closing_bracket(_css,start)
					
					if (close > start){
						var nao = _mq+_css.substring(start,close+1);
				
						var ise = nao.indexOf(_cur+'{') > -1 ? true : false;
						_ret[m] = {css:nao,is_edited:ise};
						_glo = _glo.replace(nao,'')
	
					}
					
				}
			}
			
		}
		var nse = _glo.indexOf(_cur+'{') > -1 ? true : false;
		_ret['all'] = {css:_glo,is_edited:nse};
		self.postMessage({type:'return_mq_edits',val:_ret});
		
	}
	
	if (d.type == 'default_classes'){
		var code = d.val;
		var g = code.split('// START');
		g.shift()
		
		var the_props = {}
		var idx = 0;
		var l = g.length;
		for (var a in g){
			idx++;
			var cont = g[a];
			var desc = cont.split('// DESC:')[1]
				desc = desc.split('\n')[0]
				cont = cont.replace('// DESC:'+desc,'')
			var grup = cont.split('// GROUP:')[1]
				grup = grup.split('\n')[0]
				cont = cont.replace('// GROUP:'+grup,'')
			var props = cont.trim();
			var sel = props.split('{')[0].trim();
			
			desc = desc.trim();
			grup = grup.toLowerCase().trim();
			
			if (!the_props[grup]) the_props[grup] = []
			
			var ob = {sel:sel,desc:desc,unid:'uni-'+idx}
			less.render(code+'.hero-snippet-prev.uni-'+idx+'{'+sel+';}', '', function(error, output) {
				if (!error) ob['render'] = output.css;
			})
			the_props[grup].push(ob)
			
			
		}
		var retu = '<div class="hero-description">Snippets are groups of re-usable edits that you can apply on the fly.</div>'+return_snippet_html(the_props)
		
		self.postMessage({type:'default_classes_return',val:retu});

	}
	if (d.type == 'less'){
		var requires = d.built_in_libs;
		var code = d.val;
		var imports = '';
		
		// GRAB IMPORTS
		var imp_code = code;
		var imp_comm_arr = imp_code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
		if (imp_comm_arr){
			imp_comm_arr.forEach((e) => {
				imp_code = imp_code.replace(e,'')
			});
		}
		var impos = imp_code.match(/@import(.*?)\;/g)
		
		for (var w in impos){
			imports += impos[w]+'\n'
			code = code.replace(impos[w],'')
			
		}
		
		// END GRAB IMPORTS
		
		// CUSTOM MQ MATCH
		var custom_mqs = {}
		var mq_code = code;
		// REMOVE COMMENTS
		if (code.indexOf('@media') > -1){
			var comm_arr = mq_code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
			if (comm_arr){
				comm_arr.forEach((e) => {
					mq_code = mq_code.replace(e,'')
				});
			}
			// REMOVE NESTEDS
			for(var i=0; i<mq_code.length;i++) {
			    if (mq_code[i] === "{"){
				    var end = find_closing_bracket(mq_code, i);
				    var nao = mq_code.substring(i,end+1);
					mq_code = mq_code.replace(nao,'{}');
					
			    }
			}
			//var mqs = mq_code.match(/@media[^{]*\{(?:(?!\}\s*\}).)*/gis)
			var mqs = mq_code.split('@media');
			mqs.shift()
			
			for (var m in mqs){
				var _mq = mqs[m].split('{')[0].trim();
				// CONDIZIONE RIVEDIBILE
				if (_mq.indexOf('@') == -1) custom_mqs[m] = '@media '+_mq;
			}
		}
		// END CUSTOM MQ MATCH
		
		var req_lines = requires.split(/\r\n|\r|\n/).length
		
		less.render(requires+code).then(result => {
			self.postMessage({type:'css',val:result.css,imps:imports,custom_mqs:custom_mqs});
		},function(eror){
			self.postMessage({type:'less_error',val:eror,rql:req_lines});
		})
	}
	
	if (d.type == 'scan_classes'){
		var code = d.val;
		var ori_code = code;
		code = code.replace(/ /g,' ').replace(/ \(/g,'(').replace(/\( /g,'(').replace(/ \{/g,'{').replace(/\{ /g,'{')
		var comm_arr = code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
		if (comm_arr){
			comm_arr.forEach((e) => {
				code = code.replace(e,'')
			});
		}
		var ufo = code.match(/\.(.*?)\{/g)
		var classes = {}
		for (var u in ufo){
			var e = ufo[u];
			if(e.indexOf('(')>-1){
				if (e.indexOf(':')>-1 && e.indexOf('(@') == -1){
					
				} else {
					
					var s = code.indexOf(e) + e.length;
					var g =find_closing_bracket(code, s);
					var f = code.substring(s,g).trim();
					var cl = e.split('{')[0];
					classes[cl] = f;
				}
			}
		}
		var the_ret_classes = {'custom':[]}
		for (var a in classes){
			var rand = Math.floor((Math.random() * 1000) + 1);
			var ob = {sel:a,desc:'',unid:'randy-'+rand,props:classes[a]}
			less.render(a+'{'+classes[a]+'} .hero-snippet-prev.randy-'+rand+'{'+a+';}', '', function(error, output) {
				if (!error){
					ob['render'] = output.css;
				} else {
					ob['render'] = '';
				}
			})
			the_ret_classes['custom'].push(ob)
		
		}
		
		var the_html = return_snippet_html(the_ret_classes)
		var retu = {variables:classes,the_html:the_html}
		self.postMessage({type:'return_classes',val:retu});
		
		
		
	}
	if (d.type == 'page_colors'){
		var str = d.val
		var mum = str.split('color:')
		var ccs = [];
		for (var m in mum){
			var c = mum[m].split(';')[0].replace('!important','')
			if (c.indexOf('rgb(')>0 && ccs.indexOf(c) == -1){
				ccs.push(c)
			}
		}
		self.postMessage({type:'return_page_colors',val:ccs});
	}
	if (d.type == 'scan_vars'){
		var code = d.val;
		code = code.split('@media').join('').split('@import').join('').split('@-moz-').join('').split('@-webkit-').join('').split('@-ms-').join('').split('@-o-').join('')
		var comm_arr = code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
		if (comm_arr){
			comm_arr.forEach((e) => {
				code = code.replace(e,'')
			});
		}
		var ori_code = code;
		
		code = code.replace(/ *\([^)]*\) */g, "");
		
		for(var i=0; i<code.length;i++) {
		    if (code[i] === "{"){
			    var end = find_closing_bracket(code, i);
			    var nao = code.substring(i,end+1);
				code = code.replace(nao,'');
		    }
		}
		
		var strip = '';
		var record = false;
		
		for(var i=0; i<code.length;i++) {
			
			
		    if (code[i] === "@"){
				record = true;
		    }
		    
		    if (code[i]=== ':'){
			    record = false;
			    strip+= ','
		    }
		    /*
		    if (code[i] === ';'){
			    record = false;
			    strip += ';'
			}
			*/
		    
		    if (record) strip += code[i]
		   
		}
		
		strip = strip.replace(/;/g,',').split(',,').join('').replace(/\s/g, "").split(',')
		ori_code = ori_code.replace(/  /g,' ').replace(/: /g,':').replace(/ :/g,':')
		var uniq = strip => [...new Set(strip)];
		var array = Array.from(strip);
		
		
		
		var vars = {}
		var flat = '';
		for (var a in array){
			var v = array[a];
			var u = ori_code.indexOf(v+':')
			var c = ori_code.substring(u+v.length+1,ori_code.length).split(';')[0]
			if (v && v != '' && v != '@' && v.indexOf('*')==-1 && v.indexOf('/')==-1 && v.indexOf('+')==-1 && v.indexOf('-')==-1){
				vars[v] = {value:c.trim()};
				flat += v+':'+c+';'
			}
		}
		
		for (var v in vars){
			
			var render = vars[v].value
			less.render(flat+'.test{value:'+render+';}', '', function(error, output) {
				if (!error){
					var val = output.css
					
					var c = val.split('value:')[1]
						c = c.split(';')[0]
						c = c.trim();
						vars[v]['compiled'] = c;
				}
			})
			
		}
		self.postMessage({type:'return_vars',val:vars});
	}
	
	
}, false);

function find_closing_bracket(str, pos){
	if (str[pos] != '{') {
		//throw new Error("No '{' at index " + pos);
	}
	let depth = 1;
	for (let i = pos + 1; i < str.length; i++) {
		switch (str[i]) {
			case '{':
				depth++;
			break;
			case '}':
			if (--depth == 0) {
			return i;
			}
			break;
		}
	}
	return -1;    // No matching closing parenthesis
}
function return_snippet_html(obj){
	var zippo = '';
	for (var o in obj){
		var snips = obj[o];
		if (o == 'custom'){
			var cla = '';
			var title = 'Your Snippets';
			var mod_snippet = '<span class="mod-snippet">Modify Snippet</span>';
		
		} elseĀ {
			var cla = '';
			var title = o;
			var mod_snippet = '';
		
		}
		zippo += '<div class="hero-snippet-group '+cla+'" data-group="'+o+'"><div class="hero-group-head ico">'+title+'</div><div class="hero-snippet-group-inner">';
		for (var s in snips){
			var claname = snips[s].sel;
			var unid = snips[s].unid;
			var params = claname.split('(')[1].slice(0, -1);
			var params = params.replace(/;/g,',')
			if (params.indexOf('@')>-1){
				var reparams = '<div class="snippet-params">';
				var par = params.split(',');
				
				for (var i in par){
					var parval = par[i].split(':')[1];
					var parnam = par[i].split(':')[0];
					var pick = '';
					var var_render = '<div class="hero-load-vars ico oe">\
					<div class="hero-extra scroller var-loader">\
						<div class="extra-title">\
							<span>Variables</span>\
							<span class="hero-closer ico"></span>\
						</div>\
						<div class="var-loader-inner"></div>\
					</div>\
				</div>';
				
				if (parnam == '@icon' && claname.indexOf('.icon-fa')>-1){
					/// FONTAWESOME
					reparams += '<div class="snippet-par icons-browser scroller" data-reference="'+parnam+'">';
						for (var fa in fa_icons){
							reparams += '<div class="icon-el" data-val="'+fa_icons[fa]+'" style="background-image:url(//cdn.rawgit.com/encharm/Font-Awesome-SVG-PNG/266b63d5/black/svg/'+fa_icons[fa]+'.svg);"></div>';
						}
					reparams += '</div>'
				}
				reparams += '<div class="snippet-par" data-par-hook="'+parnam+'"><span>'+parnam+'</span><div><input class="snipar" value="'+parval+'" />'+pick+var_render+'</div></div>'
				
				
				
				}
				reparams += '</div>'
			} else {
				var reparams = '';
			}
			
			var style = '<style>'+snips[s].render+'</style>';
			zippo += '<div class="hero-snippet hero-oe-ref" data-cla-name="'+claname+'">'+style+'<header>'+claname.split('(')[0]+'</header><div class="hero-snippet-wrap"><div class="hero-snippet-prev '+unid+'">'+claname.split('(')[0]+'</div></div><p>'+snips[s].desc+'</p>'+reparams+'<div class="hero-snippet-footer">'+mod_snippet+'<span class="preview-snippet"><span></span>Preview</span><span class="apply-snippet"></span></div></div>'
		}
		zippo += '</div><div class="hero-back-to-group"><span>Back</span></div></div>'
	}
	return zippo;
}

function remove_unused_gfonts(code){
	var gfonts = code.match(/fonts.googleapis.com(.*?)\;/g)
	for (var g in gfonts){
		var new_g = gfonts[g]
		var fonts = gfonts[g].replace(/'/g,'').replace(/"/g,'').split(')')[0].split('=')[1].split('|');
		for (var f in fonts){
			var f_check = fonts[f].split('+').join(' ');
			if (f_check && code.split(f_check).length <= 2){

				code = code.split(fonts[f]+'|').join('')
				code = code.split(fonts[f]).join('')
				code = code.split("@import url('https://fonts.googleapis.com/css?family=');").join('')
				code = code.split("@import url(https://fonts.googleapis.com/css?family=);").join('')
				code = code.split('@import url("https://fonts.googleapis.com/css?family=");').join('')
				
			}
		}
	}
}

// Alone in winter by fair means is impossible