1/**handles:twbbwg-circle,twbbwg-global**/ 2(i=>{var t;"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?(i(t=require("jquery")),module.exports=t):i(jQuery)})(function(u){function r(i){this.init(i)}r.prototype={value:0,size:100,startAngle:-Math.PI,thickness:"auto",fill:{gradient:["#3aeabb","#fdd250"]},emptyFill:"rgba(0, 0, 0, .1)",animation:{duration:1200,easing:"circleProgressEasing"},animationStartValue:0,reverse:!1,lineCap:"butt",insertMode:"prepend",constructor:r,el:null,canvas:null,ctx:null,radius:0,arcFill:null,lastFrameValue:0,init:function(i){u.extend(this,i),this.radius=this.size/2,this.initWidget(),this.initFill(),this.draw(),this.el.trigger("circle-inited")},initWidget:function(){this.canvas||(this.canvas=u("<canvas>")["prepend"==this.insertMode?"prependTo":"appendTo"](this.el)[0]);var i=this.canvas,t;i.width=this.size,i.height=this.size,this.ctx=i.getContext("2d"),1<window.devicePixelRatio&&(t=window.devicePixelRatio,i.style.width=i.style.height=this.size+"px",i.width=i.height=this.size*t,this.ctx.scale(t,t))},initFill:function(){var t=this,i=this.fill,e=this.ctx,a=this.size,n;if(!i)throw Error("The fill is not specified!");if((i="string"==typeof i?{color:i}:i).color&&(this.arcFill=i.color),i.gradient){var s=i.gradient;if(1==s.length)this.arcFill=s[0];else if(1<s.length){for(var r=i.gradientAngle||0,r=i.gradientDirection||[a/2*(1-Math.cos(r)),a/2*(1+Math.sin(r)),a/2*(1+Math.cos(r)),a/2*(1-Math.sin(r))],l=e.createLinearGradient.apply(e,r),o=0;o<s.length;o++){var h=s[o],c=o/(s.length-1);u.isArray(h)&&(c=h[1],h=h[0]),l.addColorStop(c,h)}this.arcFill=l}}function d(){var i=u("<canvas>")[0];i.width=t.size,i.height=t.size,i.getContext("2d").drawImage(n,0,0,a,a),t.arcFill=t.ctx.createPattern(i,"no-repeat"),t.drawFrame(t.lastFrameValue)}i.image&&(i.image instanceof Image?n=i.image:(n=new Image).src=i.image,n.complete?d():n.onload=d)},draw:function(){this.animation?this.drawAnimated(this.value):this.drawFrame(this.value)},drawFrame:function(i){this.lastFrameValue=i,this.ctx.clearRect(0,0,this.size,this.size),this.drawEmptyArc(i),this.drawArc(i)},drawArc:function(i){var t,e,a,n;0!==i&&(t=this.ctx,e=this.radius,a=this.getThickness(),n=this.startAngle,t.save(),t.beginPath(),this.reverse?t.arc(e,e,e-a/2,n-2*Math.PI*i,n):t.arc(e,e,e-a/2,n,n+2*Math.PI*i),t.lineWidth=a,t.lineCap=this.lineCap,t.strokeStyle=this.arcFill,t.stroke(),t.restore())},drawEmptyArc:function(i){var t=this.ctx,e=this.radius,a=this.getThickness(),n=this.startAngle;i<1&&(t.save(),t.beginPath(),i<=0?t.arc(e,e,e-a/2,0,2*Math.PI):this.reverse?t.arc(e,e,e-a/2,n,n-2*Math.PI*i):t.arc(e,e,e-a/2,n+2*Math.PI*i,n),t.lineWidth=a,t.strokeStyle=this.emptyFill,t.stroke(),t.restore())},drawAnimated:function(e){var a=this,n=this.el,i=u(this.canvas);i.stop(!0,!1),n.trigger("circle-animation-start"),i.css({animationProgress:0}).animate({animationProgress:1},u.extend({},this.animation,{step:function(i){var t=a.animationStartValue*(1-i)+e*i;a.drawFrame(t),n.trigger("circle-animation-progress",[i,t])}})).promise().always(function(){n.trigger("circle-animation-end")})},getThickness:function(){return u.isNumeric(this.thickness)?this.thickness:this.size/14},getValue:function(){return this.value},setValue:function(i){this.animation&&(this.animationStartValue=this.lastFrameValue),this.value=i,this.draw()}},u.circleProgress={defaults:r.prototype},u.easing.circleProgressEasing=function(i){return i<.5?.5*(i*=2)*i*i:1-.5*(i=2-2*i)*i*i},u.fn.circleProgress=function(n,i){var s="circle-progress",t=this.data(s),e;if("widget"==n){if(t)return t.canvas;throw Error('Calling "widget" method on not initialized instance is forbidden')}if("value"!=n)return this.each(function(){var i=u(this),t=i.data(s),e=u.isPlainObject(n)?n:{},a;t?t.init(e):("string"==typeof(a=u.extend({},i.data())).fill&&(a.fill=JSON.parse(a.fill)),"string"==typeof a.animation&&(a.animation=JSON.parse(a.animation)),(e=u.extend(a,e)).el=i,t=new r(e),i.data(s,t))});if(t)return void 0===i?t.getValue():(e=i,this.each(function(){u(this).data(s).setValue(e)}));throw Error('Calling "value" method on not initialized instance is forbidden')}}); 3function twb_run_notif_check(){jQuery.ajax({type:"POST",url:twb.ajax_url,data:{action:"twb_notif_check",twb_nonce:twb.nonce}}).success(function(e){var e=jQuery.parseJSON(e);""!=e.html&&(1==e.changeLogo&&jQuery(".twb_admin_bar_menu_header span").addClass("twb_counted"),jQuery("#wp-admin-bar-twb_adminbar_info").append(e.html),jQuery(".twb_admin_bar_menu_content .twb-score-container").removeClass("twb-hidden"),jQuery(".twb_admin_bar_menu_content .twb-score-container .twb-score-circle").each(function(){twb_draw_score_circle(this)}),clearInterval(twb_run_notif_check))}).error(function(){clearInterval(twb_run_notif_check)})}function twb_disable_check(){twb_inprogress=!0,jQuery(".twb-notoptimized").hover(function(){jQuery(this).parent().find(".twb-score-disabled-container").removeClass("twb-hidden")},function(){jQuery(this).parent().find(".twb-score-disabled-container").addClass("twb-hidden")})}function twb_check_score(e){var t=jQuery(e).data("post_id"),r=jQuery(e).parent().parent().parent();jQuery(".twb_admin_bar_menu.twb_frontend").addClass("twb_score_inprogress"),r.find(".twb-optimized").hasClass("twb-hidden")?r.find(".twb-optimizing").removeClass("twb-hidden"):(r.find(".twb-score-overlay").removeClass("twb-hidden"),r.find(".twb-score-overlay div").removeClass("twb-reload").addClass("twb-loader")),r.find(".twb-notoptimized").addClass("twb-hidden"),r.hasClass("twb_elementor_settings_content")&&jQuery(".twb_elementor_control_title").text(twb.checking).removeClass("twb_not_optimized").prepend("<span class='twb_inprogress'></span>"),twb_disable_check(),jQuery.ajax({url:twb.ajax_url,type:"POST",dataType:"json",data:{action:"twb_check_score",post_id:t,twb_nonce:twb.nonce},success:function(e){var t,t;e.error?(r.find(".twb-score-overlay").removeClass("twb-hidden"),r.find(".twb-score-overlay div").removeClass("twb-loader").addClass("twb-reload")):(r.find(".twb-score-overlay").addClass("twb-hidden"),(t=r.find(".twb-score-desktop").find(".twb-score-circle")).data({score:e.desktop_score,tti:e.desktop_tti}),twb_draw_score_circle(t),(t=r.find(".twb-score-mobile").find(".twb-score-circle")).data({score:e.mobile_score,tti:e.mobile_tti}),twb_draw_score_circle(t))},error:function(e,t,n){r.find(".twb-score-overlay").removeClass("twb-hidden"),r.find(".twb-score-overlay div").removeClass("twb-loader").addClass("twb-reload")},complete:function(e,t){r.find(".twb-optimizing").addClass("twb-hidden"),r.find(".twb-optimized").removeClass("twb-hidden"),jQuery("#wpadminbar .twb-optimized .twb-score-container").removeClass("twb-hidden"),jQuery("#wpadminbar .twb_admin_bar_menu").removeClass("twb_score_inprogress"),jQuery("#wpadminbar .twb_menu_logo").remove(),jQuery("#wpadminbar .twb_not_optimized_logo").removeClass("twb-hidden"),jQuery("#wpadminbar .twb_admin_bar_menu_header").addClass("twb_not_optimized"),twb_inprogress=!1,jQuery(".twb-notoptimized").hover(function(){jQuery(this).parent().find(".twb-score-disabled-container").addClass("twb-hidden")}),r.hasClass("twb_elementor_settings_content")&&jQuery(".twb_elementor_control_title").text(twb.notoptimized).remove("span.twb_inprogress").addClass("twb_not_optimized")}})}
3function twb_draw_score_circle(r){var i=parseInt(jQuery(r).data("score")),e=parseInt(jQuery(r).data("size")),t=parseInt(jQuery(r).data("thickness")),o=i<=49?"rgb(253, 60, 49)":90<=i?"rgb(12, 206, 107)":"rgb(255, 164, 0)",n=(jQuery(r).parent().find(".twb-load-time").html(jQuery(r).data("tti")),r);"function"==typeof jQuery(n).circleProgress&&jQuery(n).circleProgress({value:i/100,size:e,startAngle:-Math.PI/4*2,lineCap:"round",emptyFill:"rgba(255, 255, 255, 0)",thickness:t,fill:{color:o}}).on("circle-animation-progress",function(e,t){var n='<span class="twb-score0"></span>';0!=i&&(n=Math.round(i*t)),jQuery(r).find(".twb-score-circle-animated").html(n).css({color:o}),jQuery(r).find("canvas").html(Math.round(i*t))})}function twb_add_elementor_button(){window.elementor.modules.layouts.panel.pages.menu.Menu.addItem({name:twb.title,icon:"twb-element-menu-icon",title:twb.title,type:"page",callback:()=>{try{window.$e.route("panel/page-settings/twb_optimize")}catch(e){window.$e.route("panel/page-settings/settings"),window.$e.route("panel/page-settings/twb_optimize")}}},"more")}jQuery(function(){var e,e;jQuery(".bwg-container").length&&(e=(e='<div class="twb_admin_bar_menu_header">')+('<img class="twb_menu_logo" src="'+twb.plugin_url)+'/assets/images/logo_white.svg" /><div class="twb_menu_logo">Optimize Images</div></div>',jQuery(".twb_admin_bar_menu").html(e).on("click",function(){window.open(twb.href,"_blank")}),jQuery(".twb_admin_bar_menu_main").remove()),twb_inprogress=!1,jQuery(".twb-notoptimized").each(function(){"inprogress"==jQuery(this).data("status")&&twb_disable_check()}),jQuery(".twb-notoptimized .twb_check_score_button").on("click",function(){twb_inprogress||twb_check_score(this)}),jQuery("th[id^='twb-speed-']").hover(function(){jQuery(this).find(".twb-dismiss-container").removeClass("twb-hidden")},function(){jQuery(this).find(".twb-dismiss-container").addClass("twb-hidden")}),jQuery(".twb-see-score").hover(function(){jQuery(this).parent().parent().find(".twb-score-container").removeClass("twb-hidden")},function(){jQuery(this).parent().parent().find(".twb-score-container").addClass("twb-hidden")}),jQuery(".twb-score-container:not(.twb_admin_bar_menu_content .twb-score-container), .twb-score-disabled-container").hover(function(){jQuery(this).removeClass("twb-hidden")},function(){jQuery(this).addClass("twb-hidden")}),jQuery(".twb-score-circle").each(function(){twb_draw_score_circle(this)}),jQuery("#wp-admin-bar-twb_adminbar_info").mouseenter(function(){jQuery(".twb_admin_bar_menu_main .twb-score-container").removeClass("twb-hidden"),jQuery(".twb_admin_bar_menu_main").removeClass("twb-hidden")}).mouseleave(function(){jQuery(".twb_admin_bar_menu_main").addClass("twb-hidden")}),jQuery(".twb-score-circle").each(function(){twb_draw_score_circle(this)}),jQuery(".twb_admin_bar_menu.twb_backend span").hasClass("twb_backend_optimizing_logo")&&(twb_run_notif_check=setInterval(twb_run_notif_check,3e4))}),jQuery(window).on("elementor:init",()=>{window.elementor.on("panel:init",()=>{setTimeout(twb_add_elementor_button)})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.