1var pJS=function(e,d){var c=document.querySelector("#"+e+" > .particles-js-canvas-el"); 2this.pJS={canvas:{el:c,w:c.offsetWidth,h:c.offsetHeight},particles:{number:{value:400,density:{enable:true,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:false,anim:{enable:false,speed:2,opacity_min:0,sync:false}},size:{value:20,random:false,anim:{enable:false,speed:20,size_min:0,sync:false}},line_linked:{enable:true,distance:100,color:"#fff",opacity:1,width:1},move:{enable:true,speed:2,direction:"none",random:false,straight:false,out_mode:"out",bounce:false,attract:{enable:false,rotateX:3000,rotateY:3000}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:true,mode:"grab"},onclick:{enable:true,mode:"push"},resize:true},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:0.4},repulse:{distance:200,duration:0.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:false,fn:{interact:{},modes:{},vendors:{}},tmp:{}}; 3var a=this.pJS; 4if(d){Object.deepExtend(a,d) 5}a.tmp.obj={size_value:a.particles.size.value,size_anim_speed:a.particles.size.anim.speed,move_speed:a.particles.move.speed,line_linked_distance:a.particles.line_linked.distance,line_linked_width:a.particles.line_linked.width,mode_grab_distance:a.interactivity.modes.grab.distance,mode_bubble_distance:a.interactivity.modes.bubble.distance,mode_bubble_size:a.interactivity.modes.bubble.size,mode_repulse_distance:a.interactivity.modes.repulse.distance}; 6a.fn.retinaInit=function(){if(a.retina_detect&&window.devicePixelRatio>1){a.canvas.pxratio=window.devicePixelRatio; 7a.tmp.retina=true 8}else{a.canvas.pxratio=1; 9a.tmp.retina=false 10}a.canvas.w=a.canvas.el.offsetWidth*a.canvas.pxratio; 11a.canvas.h=a.canvas.el.offsetHeight*a.canvas.pxratio; 12a.particles.size.value=a.tmp.obj.size_value*a.canvas.pxratio; 13a.particles.size.anim.speed=a.tmp.obj.size_anim_speed*a.canvas.pxratio; 14a.particles.move.speed=a.tmp.obj.move_speed*a.canvas.pxratio; 15a.particles.line_linked.distance=a.tmp.obj.line_linked_distance*a.canvas.pxratio; 16a.interactivity.modes.grab.distance=a.tmp.obj.mode_grab_distance*a.canvas.pxratio; 17a.interactivity.modes.bubble.distance=a.tmp.obj.mode_bubble_distance*a.canvas.pxratio; 18a.particles.line_linked.width=a.tmp.obj.line_linked_width*a.canvas.pxratio; 19a.interactivity.modes.bubble.size=a.tmp.obj.mode_bubble_size*a.canvas.pxratio; 20a.interactivity.modes.repulse.distance=a.tmp.obj.mode_repulse_distance*a.canvas.pxratio 21}; 22a.fn.canvasInit=function(){a.canvas.ctx=a.canvas.el.getContext("2d") 23}; 24a.fn.canvasSize=function(){a.canvas.el.width=a.canvas.w; 25a.canvas.el.height=a.canvas.h; 26if(a&&a.interactivity.events.resize){window.addEventListener("resize",function(){a.canvas.w=a.canvas.el.offsetWidth; 27a.canvas.h=a.canvas.el.offsetHeight; 28if(a.tmp.retina){a.canvas.w*=a.canvas.pxratio; 29a.canvas.h*=a.canvas.pxratio 30}a.canvas.el.width=a.canvas.w; 31a.canvas.el.height=a.canvas.h; 32if(!a.particles.move.enable){a.fn.particlesEmpty(); 33a.fn.particlesCreate(); 34a.fn.particlesDraw(); 35a.fn.vendors.densityAutoParticles() 36}a.fn.vendors.densityAutoParticles() 37}) 38}}; 39a.fn.canvasPaint=function(){a.canvas.ctx.fillRect(0,0,a.canvas.w,a.canvas.h) 40}; 41a.fn.canvasClear=function(){a.canvas.ctx.clearRect(0,0,a.canvas.w,a.canvas.h) 42}; 43a.fn.particle=function(h,i,g){this.radius=(a.particles.size.random?Math.random():1)*a.particles.size.value; 44if(a.particles.size.anim.enable){this.size_status=false; 45this.vs=a.particles.size.anim.speed/100; 46if(!a.particles.size.anim.sync){this.vs=this.vs*Math.random() 47}}this.x=g?g.x:Math.random()*a.canvas.w; 48this.y=g?g.y:Math.random()*a.canvas.h; 49if(this.x>a.canvas.w-this.radius*2){this.x=this.x-this.radius 50}else{if(this.x<this.radius*2){this.x=this.x+this.radius 51}}if(this.y>a.canvas.h-this.radius*2){this.y=this.y-this.radius 52}else{if(this.y<this.radius*2){this.y=this.y+this.radius 53}}if(a.particles.move.bounce){a.fn.vendors.checkOverlap(this,g) 54}this.color={}; 55if(typeof(h.value)=="object"){if(h.value instanceof Array){var k=h.value[Math.floor(Math.random()*a.particles.color.value.length)]; 56this.color.rgb=hexToRgb(k) 57}else{if(h.value.r!=undefined&&h.value.g!=undefined&&h.value.b!=undefined){this.color.rgb={r:h.value.r,g:h.value.g,b:h.value.b} 58}if(h.value.h!=undefined&&h.value.s!=undefined&&h.value.l!=undefined){this.color.hsl={h:h.value.h,s:h.value.s,l:h.value.l} 59}}}else{if(h.value=="random"){this.color.rgb={r:(Math.floor(Math.random()*(255-0+1))+0),g:(Math.floor(Math.random()*(255-0+1))+0),b:(Math.floor(Math.random()*(255-0+1))+0)} 60}
60else{if(typeof(h.value)=="string"){this.color=h; 61this.color.rgb=hexToRgb(this.color.value) 62}}}this.opacity=(a.particles.opacity.random?Math.random():1)*a.particles.opacity.value; 63if(a.particles.opacity.anim.enable){this.opacity_status=false; 64this.vo=a.particles.opacity.anim.speed/100; 65if(!a.particles.opacity.anim.sync){this.vo=this.vo*Math.random() 66}}var m={}; 67switch(a.particles.move.direction){case"top":m={x:0,y:-1}; 68break; 69case"top-right":m={x:0.5,y:-0.5}; 70break; 71case"right":m={x:1,y:-0}; 72break; 73case"bottom-right":m={x:0.5,y:0.5}; 74break; 75case"bottom":m={x:0,y:1}; 76break; 77case"bottom-left":m={x:-0.5,y:1}; 78break; 79case"left":m={x:-1,y:0}; 80break; 81case"top-left":m={x:-0.5,y:-0.5}; 82break; 83default:m={x:0,y:0}; 84break 85}if(a.particles.move.straight){this.vx=m.x; 86this.vy=m.y; 87if(a.particles.move.random){this.vx=this.vx*(Math.random()); 88this.vy=this.vy*(Math.random()) 89}}else{this.vx=m.x+Math.random()-0.5; 90this.vy=m.y+Math.random()-0.5 91}this.vx_i=this.vx; 92this.vy_i=this.vy; 93var l=a.particles.shape.type; 94if(typeof(l)=="object"){if(l instanceof Array){var f=l[Math.floor(Math.random()*l.length)]; 95this.shape=f 96}}else{this.shape=l 97}if(this.shape=="image"){var j=a.particles.shape; 98this.img={src:j.image.src,ratio:j.image.width/j.image.height}; 99if(!this.img.ratio){this.img.ratio=1 100}if(a.tmp.img_type=="svg"&&a.tmp.source_svg!=undefined){a.fn.vendors.createSvgImg(this); 101if(a.tmp.pushing){this.img.loaded=false 102}}}}; 103function b(g){var f=g.match(/[\d.]+/g); 104if(f){return{r:parseInt(f[0]),g:parseInt(f[1]),b:parseInt(f[2]),alpha:parseFloat(f[3])} 105}return null 106}a.fn.particle.prototype.draw=function(){var l=this; 107if(l.radius_bubble!=undefined){var g=l.radius_bubble 108}else{var g=l.radius 109}if(l.opacity_bubble!=undefined){var j=l.opacity_bubble 110}else{var j=l.opacity 111}if(l.color.rgb){var h="rgba("+l.color.rgb.r+","+l.color.rgb.g+","+l.color.rgb.b+","+j+")" 112}else{if(l.color.value.indexOf("rgba")>-1){var k=b(l.color.value); 113var h="rgba("+k.r+","+k.g+","+k.b+","+k.alpha+")" 114}else{var h="hsla("+l.color.hsl.h+","+l.color.hsl.s+"%,"+l.color.hsl.l+"%,"+j+")" 115}}a.canvas.ctx.fillStyle=h; 116a.canvas.ctx.beginPath(); 117switch(l.shape){case"circle":a.canvas.ctx.arc(l.x,l.y,g,0,Math.PI*2,false); 118break; 119case"edge":a.canvas.ctx.rect(l.x-g,l.y-g,g*2,g*2); 120break; 121case"triangle":a.fn.vendors.drawShape(a.canvas.ctx,l.x-g,l.y+g/1.66,g*2,3,2); 122break; 123case"polygon":a.fn.vendors.drawShape(a.canvas.ctx,l.x-g/(a.particles.shape.polygon.nb_sides/3.5),l.y-g/(2.66/3.5),g*2.66/(a.particles.shape.polygon.nb_sides/3),a.particles.shape.polygon.nb_sides,1); 124break; 125case"star":a.fn.vendors.drawShape(a.canvas.ctx,l.x-g*2/(a.particles.shape.polygon.nb_sides/4),l.y-g/(2*2.66/3.5),g*2*2.66/(a.particles.shape.polygon.nb_sides/3),a.particles.shape.polygon.nb_sides,2); 126break; 127case"image":function f(){a.canvas.ctx.drawImage(i,l.x-g,l.y-g,g*2,g*2/l.img.ratio) 128}if(a.tmp.img_type=="svg"){var i=l.img.obj 129}else{var i=a.tmp.img_obj 130}if(i){f() 131}break 132}a.canvas.ctx.closePath(); 133if(a.particles.shape.stroke.width>0){a.canvas.ctx.strokeStyle=a.particles.shape.stroke.color; 134a.canvas.ctx.lineWidth=a.particles.shape.stroke.width; 135a.canvas.ctx.stroke() 136}a.canvas.ctx.fill() 137}; 138a.fn.particlesCreate=function(){for(var f=0; 139f<a.particles.number.value; 140f++){a.particles.array.push(new a.fn.particle(a.particles.color,a.particles.opacity.value)) 141}}; 142a.fn.particlesUpdate=function(){for(var k=0; 143k<a.particles.array.length; 144k++){var m=a.particles.array[k]; 145if(a.particles.move.enable){var h=a.particles.move.speed/2; 146m.x+=m.vx*h; 147m.y+=m.vy*h 148}if(a.particles.opacity.anim.enable){if(m.opacity_status==true){if(m.opacity>=a.particles.opacity.value){m.opacity_status=false 149}m.opacity+=m.vo 150}else{if(m.opacity<=a.particles.opacity.anim.opacity_min){m.opacity_status=true 151}m.opacity-=m.vo 152}if(m.opacity<0){m.opacity=0 153}}if(a.particles.size.anim.enable){if(m.size_status==true){if(m.radius>=a.particles.size.value){m.size_status=false 154}m.radius+=m.vs 155}else{if(m.radius<=a.particles.size.anim.size_min){m.size_status=true 156}m.radius-=m.vs 157}if(m.radius<0){m.radius=0 158}}if(a.particles.move.out_mode=="bounce"){var f={x_left:m.radius,x_right:a.canvas.w,y_top:m.radius,y_bottom:a.canvas.h} 159}else{var f={x_left:-m.radius,x_right:a.canvas.w+m.radius,y_top:-m.radius,y_bottom:a.canvas.h+m.radius} 160}if(m.x-m.radius>a.canvas.w){m.x=f.x_left; 161m.y=Math.random()*a.canvas.h 162}else{if(m.x+m.radius<0){m.x=f.x_right; 163m.y=Math.random()*a.canvas.h 164}}if(m.y-m.radius>a.canvas.h){m.y=f.y_top; 165m.x=Math.random()*a.canvas.w 166}else{if(m.y+m.radius<0){m.y=f.y_bottom; 167m.x=Math.random()*a.canvas.w 168}}switch(a.particles.move.out_mode){case"bounce":if(m.x+m.radius>a.canvas.w){m.vx=-m.vx 169}else{if(m.x-m.radius<0){m.vx=-m.vx 170}}if(m.y+m.radius>a.canvas.h){m.vy=-m.vy 171}else{if(m.y-m.radius<0){m.vy=-m.vy 172}}break 173}if(isInArray("grab",a.interactivity.events.onhover.mode)){a.fn.modes.grabParticle(m) 174}if(isInArray("bubble",a.interactivity.events.onhover.mode)||isInArray("bubble",a.interactivity.events.onclick.mode)){a.fn.modes.bubbleParticle(m) 175}if(isInArray("repulse",a.interactivity.events.onhover.mode)||isInArray("repulse",a.interactivity.events.onclick.mode)){a.fn.modes.repulseParticle(m) 176}if(a.particles.line_linked.enable||a.particles.move.attract.enable){for(var g=k+1; 177g<a.particles.array.length; 178g++){var l=a.particles.array[g]; 179if(a.particles.line_linked.enable){a.fn.interact.linkParticles(m,l) 180}if(a.particles.move.attract.enable){a.fn.interact.attractParticles(m,l) 181}if(a.particles.move.bounce){a.fn.interact.bounceParticles(m,l) 182}}}}}; 183a.fn.particlesDraw=function(){a.canvas.ctx.clearRect(0,0,a.canvas.w,a.canvas.h); 184a.fn.particlesUpdate(); 185for(var f=0; 186f<a.particles.array.length; 187f++){var g=a.particles.array[f]; 188g.draw() 189}}; 190a.fn.particlesEmpty=function(){a.particles.array=[] 191};
192a.fn.particlesRefresh=function(){cancelRequestAnimFrame(a.fn.checkAnimFrame); 193cancelRequestAnimFrame(a.fn.drawAnimFrame); 194a.tmp.source_svg=undefined; 195a.tmp.img_obj=undefined; 196a.tmp.count_svg=0; 197a.fn.particlesEmpty(); 198a.fn.canvasClear(); 199a.fn.vendors.start() 200}; 201a.fn.interact.linkParticles=function(m,j){var h=m.x-j.x,g=m.y-j.y,l=Math.sqrt(h*h+g*g); 202if(l<=a.particles.line_linked.distance){var k=a.particles.line_linked.opacity-(l/(1/a.particles.line_linked.opacity))/a.particles.line_linked.distance; 203if(k>0){var f=a.particles.line_linked.color_rgb_line; 204if(a.particles.line_linked.color.indexOf("rgba")>-1){var i=b(a.particles.line_linked.color); 205a.canvas.ctx.strokeStyle="rgba("+i.r+","+i.g+","+i.b+","+i.alpha+")" 206}else{a.canvas.ctx.strokeStyle="rgba("+f.r+","+f.g+","+f.b+","+k+")" 207}a.canvas.ctx.lineWidth=a.particles.line_linked.width; 208a.canvas.ctx.beginPath(); 209a.canvas.ctx.moveTo(m.x,m.y); 210a.canvas.ctx.lineTo(j.x,j.y); 211a.canvas.ctx.stroke(); 212a.canvas.ctx.closePath() 213}}}; 214a.fn.interact.attractParticles=function(l,j){var g=l.x-j.x,f=l.y-j.y,k=Math.sqrt(g*g+f*f); 215if(k<=a.particles.line_linked.distance){var i=g/(a.particles.move.attract.rotateX*1000),h=f/(a.particles.move.attract.rotateY*1000); 216l.vx-=i; 217l.vy-=h; 218j.vx+=i; 219j.vy+=h 220}}; 221a.fn.interact.bounceParticles=function(k,h){var g=k.x-h.x,f=k.y-h.y,j=Math.sqrt(g*g+f*f),i=k.radius+h.radius; 222if(j<=i){k.vx=-k.vx; 223k.vy=-k.vy; 224h.vx=-h.vx; 225h.vy=-h.vy 226}}; 227a.fn.modes.pushParticles=function(f,h){a.tmp.pushing=true; 228for(var g=0; 229g<f; 230g++){a.particles.array.push(new a.fn.particle(a.particles.color,a.particles.opacity.value,{x:h?h.pos_x:Math.random()*a.canvas.w,y:h?h.pos_y:Math.random()*a.canvas.h})); 231if(g==f-1){if(!a.particles.move.enable){a.fn.particlesDraw() 232}a.tmp.pushing=false 233}}}; 234a.fn.modes.removeParticles=function(f){a.particles.array.splice(0,f); 235if(!a.particles.move.enable){a.fn.particlesDraw() 236}}; 237a.fn.modes.bubbleParticle=function(g){if(a.interactivity.events.onhover.enable&&isInArray("bubble",a.interactivity.events.onhover.mode)){var q=g.x-a.interactivity.mouse.pos_x,h=g.y-a.interactivity.mouse.pos_y,j=Math.sqrt(q*q+h*h),k=1-j/a.interactivity.modes.bubble.distance; 238function n(){g.opacity_bubble=g.opacity; 239g.radius_bubble=g.radius 240}if(j<=a.interactivity.modes.bubble.distance){if(k>=0&&a.interactivity.status=="mousemove"){if(a.interactivity.modes.bubble.size!=a.particles.size.value){if(a.interactivity.modes.bubble.size>a.particles.size.value){var o=g.radius+(a.interactivity.modes.bubble.size*k); 241if(o>=0){g.radius_bubble=o 242}}else{var l=g.radius-a.interactivity.modes.bubble.size,o=g.radius-(l*k); 243if(o>0){g.radius_bubble=o 244}else{g.radius_bubble=0 245}}}if(a.interactivity.modes.bubble.opacity!=a.particles.opacity.value){if(a.interactivity.modes.bubble.opacity>a.particles.opacity.value){var i=a.interactivity.modes.bubble.opacity*k; 246if(i>g.opacity&&i<=a.interactivity.modes.bubble.opacity){g.opacity_bubble=i 247}}else{var i=g.opacity-(a.particles.opacity.value-a.interactivity.modes.bubble.opacity)*k; 248if(i<g.opacity&&i>=a.interactivity.modes.bubble.opacity){g.opacity_bubble=i 249}}}}}else{n() 250}if(a.interactivity.status=="mouseleave"){n() 251}}else{if(a.interactivity.events.onclick.enable&&isInArray("bubble",a.interactivity.events.onclick.mode)){if(a.tmp.bubble_clicking){var q=g.x-a.interactivity.mouse.click_pos_x,h=g.y-a.interactivity.mouse.click_pos_y,j=Math.sqrt(q*q+h*h),m=(new Date().getTime()-a.interactivity.mouse.click_time)/1000; 252if(m>a.interactivity.modes.bubble.duration){a.tmp.bubble_duration_end=true 253}if(m>a.interactivity.modes.bubble.duration*2){a.tmp.bubble_clicking=false; 254a.tmp.bubble_duration_end=false 255}}function f(t,u,s,x,p){if(t!=u){if(!a.tmp.bubble_duration_end){if(j<=a.interactivity.modes.bubble.distance){if(s!=undefined){var r=s 256}else{var r=x 257}if(r!=t){var w=x-(m*(x-t)/a.interactivity.modes.bubble.duration); 258if(p=="size"){g.radius_bubble=w 259}if(p=="opacity"){g.opacity_bubble=w 260}}}else{if(p=="size"){g.radius_bubble=undefined 261}if(p=="opacity"){g.opacity_bubble=undefined 262}}}else{if(s!=undefined){var y=x-(m*(x-t)/a.interactivity.modes.bubble.duration),v=t-y; 263w=t+v; 264if(p=="size"){g.radius_bubble=w 265}if(p=="opacity"){g.opacity_bubble=w 266}}}}}if(a.tmp.bubble_clicking){f(a.interactivity.modes.bubble.size,a.particles.size.value,g.radius_bubble,g.radius,"size"); 267f(a.interactivity.modes.bubble.opacity,a.particles.opacity.value,g.opacity_bubble,g.opacity,"opacity") 268}}}}; 269a.fn.modes.repulseParticle=function(h){if(a.interactivity.events.onhover.enable&&isInArray("repulse",a.interactivity.events.onhover.mode)&&a.interactivity.status=="mousemove"){var t=h.x-a.interactivity.mouse.pos_x,l=h.y-a.interactivity.mouse.pos_y,o=Math.sqrt(t*t+l*l); 270var m={x:t/o,y:l/o},i=a.interactivity.modes.repulse.distance,j=100,k=clamp((1/i)*(-1*
270Math.pow(o/i,2)+1)*i*j,0,50); 271var q={x:h.x+m.x*k,y:h.y+m.y*k}; 272if(a.particles.move.out_mode=="bounce"){if(q.x-h.radius>0&&q.x+h.radius<a.canvas.w){h.x=q.x 273}if(q.y-h.radius>0&&q.y+h.radius<a.canvas.h){h.y=q.y 274}}else{h.x=q.x; 275h.y=q.y 276}}else{if(a.interactivity.events.onclick.enable&&isInArray("repulse",a.interactivity.events.onclick.mode)){if(!a.tmp.repulse_finish){a.tmp.repulse_count++; 277if(a.tmp.repulse_count==a.particles.array.length){a.tmp.repulse_finish=true 278}}if(a.tmp.repulse_clicking){var i=Math.pow(a.interactivity.modes.repulse.distance/6,3); 279var s=a.interactivity.mouse.click_pos_x-h.x,r=a.interactivity.mouse.click_pos_y-h.y,n=s*s+r*r; 280var g=-i/n*1; 281function f(){var p=Math.atan2(r,s); 282h.vx=g*Math.cos(p); 283h.vy=g*Math.sin(p); 284if(a.particles.move.out_mode=="bounce"){var u={x:h.x+h.vx,y:h.y+h.vy}; 285if(u.x+h.radius>a.canvas.w){h.vx=-h.vx 286}else{if(u.x-h.radius<0){h.vx=-h.vx 287}}if(u.y+h.radius>a.canvas.h){h.vy=-h.vy 288}else{if(u.y-h.radius<0){h.vy=-h.vy 289}}}}if(n<=i){f() 290}}else{if(a.tmp.repulse_clicking==false){h.vx=h.vx_i; 291h.vy=h.vy_i 292}}}}}; 293a.fn.modes.grabParticle=function(k){if(a.interactivity.events.onhover.enable&&a.interactivity.status=="mousemove"){var g=k.x-a.interactivity.mouse.pos_x,i=k.y-a.interactivity.mouse.pos_y,j=Math.sqrt(g*g+i*i); 294if(j<=a.interactivity.modes.grab.distance){var l=a.interactivity.modes.grab.line_linked.opacity-(j/(1/a.interactivity.modes.grab.line_linked.opacity))/a.interactivity.modes.grab.distance; 295if(l>0){var f=a.particles.line_linked.color_rgb_line; 296if(a.particles.line_linked.color.indexOf("rgba")>-1){var h=b(a.particles.line_linked.color); 297a.canvas.ctx.strokeStyle="rgba("+h.r+","+h.g+","+h.b+","+h.alpha+")" 298}else{a.canvas.ctx.strokeStyle="rgba("+f.r+","+f.g+","+f.b+","+l+")" 299}a.canvas.ctx.lineWidth=a.particles.line_linked.width; 300a.canvas.ctx.beginPath(); 301a.canvas.ctx.moveTo(k.x,k.y); 302a.canvas.ctx.lineTo(a.interactivity.mouse.pos_x,a.interactivity.mouse.pos_y); 303a.canvas.ctx.stroke(); 304a.canvas.ctx.closePath() 305}}}}; 306a.fn.vendors.eventsListeners=function(){if(a.interactivity.detect_on=="window"){a.interactivity.el=window 307}else{a.interactivity.el=a.canvas.el 308}if(a.interactivity.events.onhover.enable||a.interactivity.events.onclick.enable){a.interactivity.el.addEventListener("mousemove",function(h){if(a.interactivity.el==window){var g=h.clientX,f=h.clientY 309}else{var g=h.offsetX||h.clientX,f=h.offsetY||h.clientY 310}a.interactivity.mouse.pos_x=g; 311a.interactivity.mouse.pos_y=f; 312if(a.tmp.retina){a.interactivity.mouse.pos_x*=a.canvas.pxratio; 313a.interactivity.mouse.pos_y*=a.canvas.pxratio 314}a.interactivity.status="mousemove" 315}); 316a.interactivity.el.addEventListener("mouseleave",function(f){a.interactivity.mouse.pos_x=null; 317a.interactivity.mouse.pos_y=null; 318a.interactivity.status="mouseleave" 319}) 320}if(a.interactivity.events.onclick.enable){a.interactivity.el.addEventListener("click",function(){a.interactivity.mouse.click_pos_x=a.interactivity.mouse.pos_x; 321a.interactivity.mouse.click_pos_y=a.interactivity.mouse.pos_y; 322a.interactivity.mouse.click_time=new Date().getTime(); 323if(a.interactivity.events.onclick.enable){switch(a.interactivity.events.onclick.mode){case"push":if(a.particles.move.enable){a.fn.modes.pushParticles(a.interactivity.modes.push.particles_nb,a.interactivity.mouse) 324}else{if(a.interactivity.modes.push.particles_nb==1){a.fn.modes.pushParticles(a.interactivity.modes.push.particles_nb,a.interactivity.mouse) 325}else{if(a.interactivity.modes.push.particles_nb>1){a.fn.modes.pushParticles(a.interactivity.modes.push.particles_nb) 326}}}break; 327case"remove":a.fn.modes.removeParticles(a.interactivity.modes.remove.particles_nb); 328break; 329case"bubble":a.tmp.bubble_clicking=true; 330break; 331case"repulse":a.tmp.repulse_clicking=true; 332a.tmp.repulse_count=0; 333a.tmp.repulse_finish=false; 334setTimeout(function(){a.tmp.repulse_clicking=false 335},a.interactivity.modes.repulse.duration*1000); 336break 337}}}) 338}}; 339a.fn.vendors.densityAutoParticles=function(){if(a.particles.number.density.enable){var h=a.canvas.el.width*a.canvas.el.height/1000; 340if(a.tmp.retina){h=h/(a.canvas.pxratio*2) 341}var g=h*a.particles.number.value/a.particles.number.density.value_area; 342var f=a.particles.array.length-g; 343if(f<0){a.fn.modes.pushParticles(Math.abs(f)) 344}else{a.fn.modes.removeParticles(f) 345}}}; 346a.fn.vendors.checkOverlap=function(m,f){for(var j=0; 347j<a.particles.array.length; 348j++){var k=a.particles.array[j]; 349var h=m.x-k.x,g=m.y-k.y,l=Math.sqrt(h*h+g*g); 350if(l<=m.radius+k.radius){m.x=f?f.x:Math.random()*a.canvas.w; 351m.y=f?f.y:Math.random()*a.canvas.h; 352a.fn.vendors.checkOverlap(m) 353}}}; 354a.fn.vendors.createSvgImg=function(k){var m=a.tmp.source_svg,j=/#([0-9A-F]{3,6})/gi,f=m.replace(j,function(o,s,q,n){if(k.color.rgb){var p="rgba("+k.color.rgb.r+","+k.color.rgb.g+","+k.color.rgb.b+","+k.opacity+")" 355}else{var p="hsla("+k.color.hsl.h+","+k.color.hsl.s+"%,"+k.color.hsl.l+"%,"+k.opacity+")" 356}return p 357}); 358var h=new Blob([f],{type:"image/svg+xml;charset=utf-8"}),l=window.URL||window.webkitURL||window,i=l.createObjectURL(h); 359var g=new Image(); 360g.addEventListener("load",function(){k.img.obj=g; 361k.img.loaded=true; 362l.revokeObjectURL(i); 363a.tmp.count_svg++ 364}); 365g.src=i 366}; 367a.fn.vendors.destroypJS=function(){cancelAnimationFrame(a.fn.drawAnimFrame); 368c.remove(); 369pJSDom=null 370}; 371a.fn.vendors.drawShape=function(o,l,j,q,p,f){var m=p*f; 372var k=p/f; 373var h=(180*(k-2))/k; 374var n=Math.PI-Math.PI*h/180; 375o.save(); 376o.beginPath(); 377o.translate(l,j); 378o.moveTo(0,0); 379for(var g=0; 380g<m; 381g++){o.lineTo(q,0); 382o.translate(q,0); 383o.rotate(n) 384}o.fill();
385o.restore() 386}; 387a.fn.vendors.exportImg=function(){window.open(a.canvas.el.toDataURL("image/png"),"_blank") 388}; 389a.fn.vendors.loadImg=function(g){a.tmp.img_error=undefined; 390if(a.particles.shape.image.src!=""){if(g=="svg"){var h=new XMLHttpRequest(); 391h.open("GET",a.particles.shape.image.src); 392h.onreadystatechange=function(i){if(h.readyState==4){if(h.status==200){a.tmp.source_svg=i.currentTarget.response; 393a.fn.vendors.checkBeforeDraw() 394}else{console.log("Error pJS - Image not found"); 395a.tmp.img_error=true 396}}}; 397h.send() 398}else{var f=new Image(); 399f.addEventListener("load",function(){a.tmp.img_obj=f; 400a.fn.vendors.checkBeforeDraw() 401}); 402f.src=a.particles.shape.image.src 403}}else{console.log("Error pJS - No image.src"); 404a.tmp.img_error=true 405}}; 406a.fn.vendors.draw=function(){if(a.particles.shape.type=="image"){if(a.tmp.img_type=="svg"){if(a.tmp.count_svg>=a.particles.number.value){a.fn.particlesDraw(); 407if(!a.particles.move.enable){cancelRequestAnimFrame(a.fn.drawAnimFrame) 408}else{a.fn.drawAnimFrame=requestAnimFrame(a.fn.vendors.draw) 409}}else{if(!a.tmp.img_error){a.fn.drawAnimFrame=requestAnimFrame(a.fn.vendors.draw) 410}}}else{if(a.tmp.img_obj!=undefined){a.fn.particlesDraw(); 411if(!a.particles.move.enable){cancelRequestAnimFrame(a.fn.drawAnimFrame) 412}else{a.fn.drawAnimFrame=requestAnimFrame(a.fn.vendors.draw) 413}}else{if(!a.tmp.img_error){a.fn.drawAnimFrame=requestAnimFrame(a.fn.vendors.draw) 414}}}}else{a.fn.particlesDraw(); 415if(!a.particles.move.enable){cancelRequestAnimFrame(a.fn.drawAnimFrame) 416}else{a.fn.drawAnimFrame=requestAnimFrame(a.fn.vendors.draw) 417}}}; 418a.fn.vendors.checkBeforeDraw=function(){if(a.particles.shape.type=="image"){if(a.tmp.img_type=="svg"&&a.tmp.source_svg==undefined){a.tmp.checkAnimFrame=requestAnimFrame(check) 419}else{cancelRequestAnimFrame(a.tmp.checkAnimFrame); 420if(!a.tmp.img_error){a.fn.vendors.init(); 421a.fn.vendors.draw() 422}}}else{a.fn.vendors.init(); 423a.fn.vendors.draw() 424}}; 425a.fn.vendors.init=function(){a.fn.retinaInit(); 426a.fn.canvasInit(); 427a.fn.canvasSize(); 428a.fn.canvasPaint(); 429a.fn.particlesCreate(); 430a.fn.vendors.densityAutoParticles(); 431a.particles.line_linked.color_rgb_line=hexToRgb(a.particles.line_linked.color) 432}; 433a.fn.vendors.start=function(){if(isInArray("image",a.particles.shape.type)){a.tmp.img_type=a.particles.shape.image.src.substr(a.particles.shape.image.src.length-3); 434a.fn.vendors.loadImg(a.tmp.img_type) 435}else{a.fn.vendors.checkBeforeDraw() 436}}; 437a.fn.vendors.eventsListeners(); 438a.fn.vendors.start() 439}; 440Object.deepExtend=function(a,c){for(var b in c){if(c[b]&&c[b].constructor&&c[b].constructor===Object){a[b]=a[b]||{}; 441arguments.callee(a[b],c[b]) 442}else{a[b]=c[b] 443}}return a 444}; 445window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1000/60) 446} 447})(); 448window.cancelRequestAnimFrame=(function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout 449})(); 450function hexToRgb(c){var b=/^#?([a-f\d])([a-f\d])([a-f\d])$/i; 451c=c.replace(b,function(e,h,f,d){return h+h+f+f+d+d 452}); 453var a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c); 454return a?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null 455}function clamp(c,b,a){return Math.min(Math.max(c,b),a) 456}function isInArray(a,b){return b.indexOf(a)>-1 457}window.pJSDom=[]; 458window.particlesJS=function(f,e){if(typeof(f)!="string"){e=f; 459f="particles-js" 460}if(!f){f="particles-js" 461}var c=document.getElementById(f),g="particles-js-canvas-el",b=c.getElementsByClassName(g); 462if(b.length){while(b.length>0){c.removeChild(b[0]) 463}}var d=document.createElement("canvas"); 464d.className=g; 465d.style.width="100%"; 466d.style.height="100%"; 467var a=document.getElementById(f).appendChild(d); 468if(a!=null){setTimeout(function(){pJSDom.push(new pJS(f,e)) 469},1000) 470}}; 471window.particlesJS.load=function(c,a,d){var b=new XMLHttpRequest(); 472b.open("GET",a); 473b.onreadystatechange=function(e){if(b.readyState==4){if(b.status==200){var f=JSON.parse(e.currentTarget.response); 474window.particlesJS(c,f); 475if(d){d() 476}}
476else{console.log("Error pJS - XMLHttpRequest status: "+b.status); 477console.log("Error pJS - File config not found") 478}}}; 479b.send() 480};
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.