1/** 2 * EasyHTML5Video JavaScript Extension API version 1.2 3 * Created by EasyHTML5Video.com 4 * Modified 12:25 03.03.2016 5 * This file content fullscreen api 6 */ 7(function(){function s(u,t,i){if(u.addEventListener){u.addEventListener(t,i,false)}else{u.attachEvent("on"+t,i)}}function c(u,t,i){if(u.removeEventListener){u.removeEventListener(t,i)}else{u.detachEvent("on"+t,i)}}function h(v,u){if(!v.length){v=[v]}for(var w in u){for(var t=0;t<v.length;t++){v[t].style[w]=u[w]}}}function e(u,w){w=w||document;if(document.getElementsByClassName){return w.getElementsByClassName(u)}var x=w.getElementsByTagName("*"),t=[];for(var v=0;v<x.length;v++){if((new RegExp("(^|\\s+)"+u+"(\\s+|$)","g")).test(x[v].className)){t.push(x[v]);break}}return t}var l=0,b="";if(typeof document.cancelFullScreen!="undefined"){l=true}else{var a="webkit moz o ms khtml".split(" ");for(var m=0,g=a.length;m<g;m++){b=a[m];if(typeof document[b+"CancelFullScreen"]!="undefined"){l=true;break}}}function r(i){if(l){switch(b){case"":return document.fullScreen;case"webkit":return document.webkitIsFullScreen;default:return document[b+"FullScreen"]}}else{return false}}function d(v){var u="";for(var t=0;t<v.length;t++){u+=String.fromCharCode(v.charCodeAt(t)^(1+(v.length-t)%7))}return u}var q=0;function n(i){if(l){return(b==="")?i.requestFullScreen():i[b+"RequestFullScreen"]()}else{if(!i){return}if(q){k(q)}var u={position:"fixed",left:0,top:0,right:"auto",bottom:"auto",width:window.innerWidth+"px",height:window.innerHeight+"px",backgroundColor:"rgba(0,0,0,0.9)",border:"none",zIndex:9999999};i.eh5v={};for(var t in u){i.eh5v[t]=i.style[t]}for(var t in u){i.style[t]=u[t]}s(document.body,"keydown",o);q=i}}function k(i){if(l){return(b==="")?document.cancelFullScreen():document[b+"CancelFullScreen"]()}else{if(!i){return}for(var t in i.eh5v){i.style[t]=i.eh5v[t]}i.eh5v=0;c(document.body,"keydown",o);q=0}}function o(i){if(i.keyCode==27){k(q)}}var p;function j(B,u){var L=B,v="LWOM2Pl`fm";var K="abqxorhh6thccj*`ml'5+=-3";if(!v){return}v=d(v);K=d(K);if(!v){return}else{var I=B.getElementsByTagName("video")[0]}if(!I||I.eh5v){return}var C=d("'p!8!%g'(# iucc&9\"#orqt9-.bgv}kvlk3smggn)eji!.");C+=d('#wivmwkni$?$!pdkgqmug#+&\'`jqqkg|&9"#ejjgh -%`jjw/rn|`&9"#63u|!.');var F=L||document.body;if(v.length<4){v=v.replace(/^\s+|\s+$/g,"")}if(K.length<4){K=K.replace(/^\s+|\s+$/g,"")}L=v?document.createElement("div"):0;if(L){h(L,{position:"absolute",padding:"0 0 0 0"});F.appendChild(L)}if(L&&document.all){var J=document.createElement("iframe");h(J,{position:"absolute",left:0,top:0,width:"100%",height:"100%",filter:"alpha(opacity=0)",opacity:0.01});J.src="javascript:false";J.scrolling="no";J.framespacing=0;J.border=0;J.frameBorder="no";L.appendChild(J)}if(L){h(L,{zIndex:56,right:"5px",top:"5px"});F.appendChild(L)}C+=d("%ql`wj#=&'evvn%*'lfkfor'># `rrj&/ ghhq)eclnj|&9\"#Ftleo ");var E=d("u=uuem.qhulpjmo=ggwlntsc)kscbnr|>3,16*iaev;*7543ry+rjt92");if(L){var t=(function(){var R={};var i=C.split(",");for(var S in i){i[S].replace(/\"(.*?)\":.*?\"(.*?)\"/g,function(V,U,W){if(S==0){C=document.createElement(W)}else{if(S==1){C[U]=W}else{C.style[U]=W}}})}if(K){i=E.split(",");for(var S=0;S<i.length;S++){var T=i[S].split(":");if(S){E.style[T[0]]=T[1]}else{E=document.createElement(T[1])}}E.innerHTML=K}})()}else{C=L}if(C){h(C,{display:"block",opacity:0.01,visibility:"visible","font-weight":"normal","font-style":"normal",padding:"1px 20px",margin:"0 0 0 0","border-radius":"10px","-moz-border-radius":"10px",outline:"none"});C.innerHTML=v;C.target="_blank";s(C,"contextmenu",function(){return false});if(L){L.appendChild(C);if(K){L.appendChild(E)}}else{document.body.appendChild(C)}}I.eh5v={fullScreen:function(i){if(i){n(I)}else{if(r(I)){k(I)}}return r(I)}};if(/(iPad|iPhone|iPod)/ig.test(navigator.userAgent)){var Q=new Image();Q.style.visibility="hidden";Q.src=I.poster;B.appendChild(Q);I.style.position="absolute";I.style.height="100%"}var y;if(!u.noFS&&I.getAttribute("controls")&&(window.opera||/MSIE/.test(navigator.userAgent)||navigator.mozVibrate)&&!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){var D=/(.*\/)[^\/]+/.exec(I.poster)[1]+"fullscreen.png";if(!p){p=new Image();p.src=D}y=document.createElement("div");h(y,{position:"absolute",zIndex:10,display:"none",right:"0px",top:"0px",width:"28px",height:"28px",background:'rgba(0,0,0,0.50) url("'+D+'") 50% 50% no-repeat',border:"none"});I.parentNode.appendChild(y);function x(){y.style.display="none"}s(I,"mouseover",function(){y.style.display="block"});s(I,"mouseout",function(){x()});s(y,"mouseover",function(){y.style.display="block"});s(y,"click",function(){n(I);x()})}s(I,"dblclick",function(){if(r(I)){k(I)}else{n(I)}if(y){setTimeout(x,100)}});if(I.getAttribute("loop")==null){s(I,"ended",function(){setTimeout(function(){I.load();I.pause()},400)})}if(/Android/.test(navigator.userAgent)){var z=I.getElementsByTagName("source"),P;for(var H=z.length-1;H>=0;H--){if(!z[H].type){P=z[H].src}else{if(P&&/mp4/.test(z[H].type)){z[H].src=P;I.load()}}}}if(I.getAttribute("controls")==null){s(I,"click",function(i){i.preventDefault();if(I.paused||I.ended){I.play()}else{I.pause()}})}if(u.preventCopy){var O=document.createElement("ul"),M=[{label:"Pause",click:function(){I.pause()},show:function(){return !I.paused}},{label:"Play",click:function(){I.play()},show:function(){return I.paused}},{label:"Mute",click:function(){I.muted=true},show:function(){return !I.muted}},{label:"Unmute",click:function(){I.muted=false},show:function(){return I.muted}}];h(O,{position:"absolute",display:"none",listStyleType:"none",margin:"0px",padding:"0px",background:"#fff",cursor:"pointer",zIndex:2147483647,WebkitBoxShadow:"2px 2px 10px #313131",MozBoxShadow:"2px 2px 10px #313131",boxShadow:"2px 2px 10px #313131"});s(O,"contextmenu",function(i){i.preventDefault()});function A(){O.style.display="none"}s(O,"click",A);s(window,"resize",A);s(document,"click",A);s(document,"contextmenu",A);for(var G in M){var w=document.createElement("li");h(w,{margin:"0px",padding:"3px 20px"});w.innerHTML=M[G].label;O.appendChild(w);s(w,"click",M[G].click);s(w,"mouseover",function(){h(this,{backgroundColor:"#4281F4",color:"#fff"})});s(w,"mouseleave",function(){h(this,{backgroundColor:"transparent",color:"#000"})});M[G].item=w}B.appendChild(O);s(I,"contextmenu",function(i){h(O,{left:(i.pageX-(r(I)?0:B.offsetLeft))+"px",top:(i.pageY-(r(I)?0:B.offsetTop))+"px",display:"block"});i.preventDefault();i.stopPropagation()});function N(){for(var i in M){if(M[i]&&M[i].item&&M[i].show){M[i].item.style.display=M[i].show()?"block":"none"}}}N();s(window,"load",N);s(I,"pause",N);s(I,"play",N);s(I,"volumechange",N)}}var f=e("easyhtml5video");for(var m=0;m<f.length;m++){j(f[m],{noFS:0,preventCopy:1})}})(); 8//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0bWw1ZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6InZlbmRvci1kaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqXHRFYXN5SF
8RNTDVWaWRlbyBKYXZhU2NyaXB0IEV4dGVuc2lvbiBBUEkgdmVyc2lvbiAxLjJcclxuICpcdENyZWF0ZWQgYnkgRWFzeUhUTUw1VmlkZW8uY29tXHJcbiAqXHRNb2RpZmllZCAxMjoyNSAwMy4wMy4yMDE2XHJcbiAqXHRUaGlzIGZpbGUgY29udGVudCBmdWxsc2NyZWVuIGFwaVxyXG4gKi9cclxuKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcyh1LHQsaSl7aWYodS5hZGRFdmVudExpc3RlbmVyKXt1LmFkZEV2ZW50TGlzdGVuZXIodCxpLGZhbHNlKX1lbHNle3UuYXR0YWNoRXZlbnQoXCJvblwiK3QsaSl9fWZ1bmN0aW9uIGModSx0LGkpe2lmKHUucmVtb3ZlRXZlbnRMaXN0ZW5lcil7dS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSl9ZWxzZXt1LmRldGFjaEV2ZW50KFwib25cIit0LGkpfX1mdW5jdGlvbiBoKHYsdSl7aWYoIXYubGVuZ3RoKXt2PVt2XX1mb3IodmFyIHcgaW4gdSl7Zm9yKHZhciB0PTA7dDx2Lmxlbmd0aDt0Kyspe3ZbdF0uc3R5bGVbd109dVt3XX19fWZ1bmN0aW9uIGUodSx3KXt3PXd8fGRvY3VtZW50O2lmKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3JldHVybiB3LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodSl9dmFyIHg9dy5nZXRFbGVtZW50c0J5VGFnTmFtZShcIipcIiksdD1bXTtmb3IodmFyIHY9MDt2PHgubGVuZ3RoO3YrKyl7aWYoKG5ldyBSZWdFeHAoXCIoXnxcXFxccyspXCIrdStcIihcXFxccyt8JClcIixcImdcIikpLnRlc3QoeFt2XS5jbGFzc05hbWUpKXt0LnB1c2goeFt2XSk7YnJlYWt9fXJldHVybiB0fXZhciBsPTAsYj1cIlwiO2lmKHR5cGVvZiBkb2N1bWVudC5jYW5jZWxGdWxsU2NyZWVuIT1cInVuZGVmaW5lZFwiKXtsPXRydWV9ZWxzZXt2YXIgYT1cIndlYmtpdCBtb3ogbyBtcyBraHRtbFwiLnNwbGl0KFwiIFwiKTtmb3IodmFyIG09MCxnPWEubGVuZ3RoO208ZzttKyspe2I9YVttXTtpZih0eXBlb2YgZG9jdW1lbnRbYitcIkNhbmNlbEZ1bGxTY3JlZW5cIl0hPVwidW5kZWZpbmVkXCIpe2w9dHJ1ZTticmVha319fWZ1bmN0aW9uIHIoaSl7aWYobCl7c3dpdGNoKGIpe2Nhc2VcIlwiOnJldHVybiBkb2N1bWVudC5mdWxsU2NyZWVuO2Nhc2VcIndlYmtpdFwiOnJldHVybiBkb2N1bWVudC53ZWJraXRJc0Z1bGxTY3JlZW47ZGVmYXVsdDpyZXR1cm4gZG9jdW1lbnRbYitcIkZ1bGxTY3JlZW5cIl19fWVsc2V7cmV0dXJuIGZhbHNlfX1mdW5jdGlvbiBkKHYpe3ZhciB1PVwiXCI7Zm9yKHZhciB0PTA7dDx2Lmxlbmd0aDt0Kyspe3UrPVN0cmluZy5mcm9tQ2hhckNvZGUodi5jaGFyQ29kZUF0KHQpXigxKyh2Lmxlbmd0aC10KSU3KSl9cmV0dXJuIHV9dmFyIHE9MDtmdW5jdGlvbiBuKGkpe2lmKGwpe3JldHVybihiPT09XCJcIik/aS5yZXF1ZXN0RnVsbFNjcmVlbigpOmlbYitcIlJlcXVlc3RGdWxsU2NyZWVuXCJdKCl9ZWxzZXtpZighaSl7cmV0dXJufWlmKHEpe2socSl9dmFyIHU9e3Bvc2l0aW9uOlwiZml4ZWRcIixsZWZ0OjAsdG9wOjAscmlnaHQ6XCJhdXRvXCIsYm90dG9tOlwiYXV0b1wiLHdpZHRoOndpbmRvdy5pbm5lcldpZHRoK1wicHhcIixoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0K1wicHhcIixiYWNrZ3JvdW5kQ29sb3I6XCJyZ2JhKDAsMCwwLDAuOSlcIixib3JkZXI6XCJub25lXCIsekluZGV4Ojk5OTk5OTl9O2kuZWg1dj17fTtmb3IodmFyIHQgaW4gdSl7aS5laDV2W3RdPWkuc3R5bGVbdF19Zm9yKHZhciB0IGluIHUpe2kuc3R5bGVbdF09dVt0XX1zKGRvY3VtZW50LmJvZHksXCJrZXlkb3duXCIsbyk7cT1pfX1mdW5jdGlvbiBrKGkpe2lmKGwpe3JldHVybihiPT09XCJcIik/ZG9jdW1lbnQuY2FuY2VsRnVsbFNjcmVlbigpOmRvY3VtZW50W2IrXCJDYW5jZWxGdWxsU2NyZWVuXCJdKCl9ZWxzZXtpZighaSl7cmV0dXJufWZvcih2YXIgdCBpbiBpLmVoNXYpe2kuc3R5bGVbdF09aS5laDV2W3RdfWkuZWg1dj0wO2MoZG9jdW1lbnQuYm9keSxcImtleWRvd25cIixvKTtxPTB9fWZ1bmN0aW9uIG8oaSl7aWYoaS5rZXlDb2RlPT0yNyl7ayhxKX19dmFyIHA7ZnVuY3Rpb24gaihCLHUpe3ZhciBMPUIsdj1cIkxXT00yUGxgZm1cIjt2YXIgSz1cImFicXhvcmhoNnRoY2NqKmBtbCc1Kz0tM1wiO2lmKCF2KXtyZXR1cm59dj1kKHYpO0s9ZChLKTtpZighdil7cmV0dXJufWVsc2V7dmFyIEk9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInZpZGVvXCIpWzBdfWlmKCFJfHxJLmVoNXYpe3JldHVybn12YXIgQz1kKFwiJ3AhOCElZycoIyBpdWNjJjlcXFwiI29ycXQ5LS5iZ3Z9a3ZsazNzbWdnbillamkhLlwiKTtDKz1kKCcjd2l2bXdrbmkkPyQhcGRrZ3FtdWcjKyZcXCdganFxa2d8JjlcIiNlampnaCAtJWBqancvcm58YCY5XCIjNjN1fCEuJyk7dmFyIEY9THx8ZG9jdW1lbnQuYm9keTtpZih2Lmxlbmd0aDw0KXt2PXYucmVwbGFjZSgvXlxccyt8XFxzKyQvZyxcIlwiKX1pZihLLmxlbmd0aDw0KXtLPUsucmVwbGFjZSgvXlxccyt8XFxzKyQvZyxcIlwiKX1MPXY/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTowO2lmKEwpe2goTCx7cG9zaXRpb246XCJhYnNvbHV0ZVwiLHBhZGRpbmc6XCIwIDAgMCAwXCJ9KTtGLmFwcGVuZENoaWxkKEwpfWlmKEwmJmRvY3VtZW50LmFsbCl7dmFyIEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtoKEose3Bvc2l0aW9uOlwiYWJzb2x1dGVcIixsZWZ0OjAsdG9wOjAsd2lkdGg6XCIxMDAlXCIsaGVpZ2h0OlwiMTAwJVwiLGZpbHRlcjpcImFscGhhKG9wYWNpdHk9MClcIixvcGFjaXR5OjAuMDF9KTtKLnNyYz1cImphdmFzY3JpcHQ6ZmFsc2VcIjtKLnNjcm9sbGluZz1cIm5vXCI7Si5mcmFtZXNwYWNpbmc9MDtKLmJvcmRlcj0wO0ouZnJhbWVCb3JkZXI9XCJub1wiO0wuYXBwZW5kQ2hpbGQoSil9aWYoTCl7aChMLHt6SW5kZXg6NTYscmlnaHQ6XCI1cHhcIix0b3A6XCI1cHhcIn0pO0YuYXBwZW5kQ2hpbGQoTCl9Qys9ZChcIiVxbGB3aiM9JidldnZuJSonbGZrZm9yJz4jIGBycmomLyBnaGhxKWVjbG5qfCY5XFxcIiNGdGxlbyBcIik7dmFyIEU9ZChcInU9dXVlbS5xaHVscGptbz1nZ3dsbnRzYylrc2NibnJ8PjMsMTYqaWFldjsqNzU0M3J5K3JqdDkyXCIpO2lmKEwpe3ZhciB0PShmdW5jdGlvbigpe3ZhciBSPXt9O3ZhciBpPUMuc3BsaXQoXCIsXCIpO2Zvcih2YXIgUyBpbiBpKXtpW1NdLnJlcGxhY2UoL1xcXCIoLio/KVxcXCI6Lio/XFxcIiguKj8pXFxcIi9nLGZ1bmN0aW9uKFYsVSxXKXtpZihTPT0wKXtDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoVyl9ZWxzZXtpZihTPT0xKXtDW1VdPVd9ZWxzZXtDLnN0eWxlW1VdPVd9fX0pfWlmKEspe2k9RS5zcGxpdChcIixcIik7Zm9yKHZhciBTPTA7UzxpLmxlbmd0aDtTKyspe3ZhciBUPWlbU10uc3BsaXQoXCI6XCIpO2lmKFMpe0Uuc3R5bGVbVFswXV09VFsxXX1lbHNle0U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChUWzFdKX19RS5pbm5lckhUTUw9S319KSgpfWVsc2V7Qz1MfWlmKEMpe2goQyx7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eTowLjAxLHZpc2liaWxpdHk6XCJ2aXNpYmxlXCIsXCJmb250LXdlaWdodFwiOlwibm9ybWFsXCIsXCJmb250LXN0eWxlXCI6XCJub3JtYWxcIixwYWRkaW5nOlwiMXB4IDIwcHhcIixtYXJnaW46XCIwIDAgMCAwXCIsXCJib3JkZXItcmFkaXVzXCI6XCIxMHB4XCIsXCItbW96LWJvcmRlci1yYWRpdXNcIjpcIjEwcHhcIixvdXRsaW5lOlwibm9uZVwifSk7Qy5pbm5lckhUTUw9djtDLnRhcmdldD1cIl9ibGFua1wiO3MoQyxcImNvbnRleHRtZW51XCIsZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9KTtpZihMKXtMLmFwcGVuZENoaWxkKEMpO2lmKEspe0wuYXBwZW5kQ2hpbGQoRSl9fWVsc2V7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChDKX19SS5laDV2PXtmdWxsU2NyZWVuOmZ1bmN0aW9uKGkpe2lmKGkpe24oSSl9ZWxzZXtpZihyKEkpKXtrKEkpfX1yZXR1cm4gcihJKX19O2lmKC8oaVBhZHxpUGhvbmV8aVBvZCkvaWcudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7dmFyIFE9bmV3IEltYWdlKCk7US5zdHlsZS52aXNpYmlsaXR5P
8VwiaGlkZGVuXCI7US5zcmM9SS5wb3N0ZXI7Qi5hcHBlbmRDaGlsZChRKTtJLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIjtJLnN0eWxlLmhlaWdodD1cIjEwMCVcIn12YXIgeTtpZighdS5ub0ZTJiZJLmdldEF0dHJpYnV0ZShcImNvbnRyb2xzXCIpJiYod2luZG93Lm9wZXJhfHwvTVNJRS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8bmF2aWdhdG9yLm1velZpYnJhdGUpJiYhL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXt2YXIgRD0vKC4qXFwvKVteXFwvXSsvLmV4ZWMoSS5wb3N0ZXIpWzFdK1wiZnVsbHNjcmVlbi5wbmdcIjtpZighcCl7cD1uZXcgSW1hZ2UoKTtwLnNyYz1EfXk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtoKHkse3Bvc2l0aW9uOlwiYWJzb2x1dGVcIix6SW5kZXg6MTAsZGlzcGxheTpcIm5vbmVcIixyaWdodDpcIjBweFwiLHRvcDpcIjBweFwiLHdpZHRoOlwiMjhweFwiLGhlaWdodDpcIjI4cHhcIixiYWNrZ3JvdW5kOidyZ2JhKDAsMCwwLDAuNTApIHVybChcIicrRCsnXCIpIDUwJSA1MCUgbm8tcmVwZWF0Jyxib3JkZXI6XCJub25lXCJ9KTtJLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoeSk7ZnVuY3Rpb24geCgpe3kuc3R5bGUuZGlzcGxheT1cIm5vbmVcIn1zKEksXCJtb3VzZW92ZXJcIixmdW5jdGlvbigpe3kuc3R5bGUuZGlzcGxheT1cImJsb2NrXCJ9KTtzKEksXCJtb3VzZW91dFwiLGZ1bmN0aW9uKCl7eCgpfSk7cyh5LFwibW91c2VvdmVyXCIsZnVuY3Rpb24oKXt5LnN0eWxlLmRpc3BsYXk9XCJibG9ja1wifSk7cyh5LFwiY2xpY2tcIixmdW5jdGlvbigpe24oSSk7eCgpfSl9cyhJLFwiZGJsY2xpY2tcIixmdW5jdGlvbigpe2lmKHIoSSkpe2soSSl9ZWxzZXtuKEkpfWlmKHkpe3NldFRpbWVvdXQoeCwxMDApfX0pO2lmKEkuZ2V0QXR0cmlidXRlKFwibG9vcFwiKT09bnVsbCl7cyhJLFwiZW5kZWRcIixmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtJLmxvYWQoKTtJLnBhdXNlKCl9LDQwMCl9KX1pZigvQW5kcm9pZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7dmFyIHo9SS5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNvdXJjZVwiKSxQO2Zvcih2YXIgSD16Lmxlbmd0aC0xO0g+PTA7SC0tKXtpZigheltIXS50eXBlKXtQPXpbSF0uc3JjfWVsc2V7aWYoUCYmL21wNC8udGVzdCh6W0hdLnR5cGUpKXt6W0hdLnNyYz1QO0kubG9hZCgpfX19fWlmKEkuZ2V0QXR0cmlidXRlKFwiY29udHJvbHNcIik9PW51bGwpe3MoSSxcImNsaWNrXCIsZnVuY3Rpb24oaSl7aS5wcmV2ZW50RGVmYXVsdCgpO2lmKEkucGF1c2VkfHxJLmVuZGVkKXtJLnBsYXkoKX1lbHNle0kucGF1c2UoKX19KX1pZih1LnByZXZlbn
8RDb3B5KXt2YXIgTz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidWxcIiksTT1be2xhYmVsOlwiUGF1c2VcIixjbGljazpmdW5jdGlvbigpe0kucGF1c2UoKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiAhSS5wYXVzZWR9fSx7bGFiZWw6XCJQbGF5XCIsY2xpY2s6ZnVuY3Rpb24oKXtJLnBsYXkoKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBJLnBhdXNlZH19LHtsYWJlbDpcIk11dGVcIixjbGljazpmdW5jdGlvbigpe0kubXV0ZWQ9dHJ1ZX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiAhSS5tdXRlZH19LHtsYWJlbDpcIlVubXV0ZVwiLGNsaWNrOmZ1bmN0aW9uKCl7SS5tdXRlZD1mYWxzZX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBJLm11dGVkfX1dO2goTyx7cG9zaXRpb246XCJhYnNvbHV0ZVwiLGRpc3BsYXk6XCJub25lXCIsbGlzdFN0eWxlVHlwZTpcIm5vbmVcIixtYXJnaW46XCIwcHhcIixwYWRkaW5nOlwiMHB4XCIsYmFja2dyb3VuZDpcIiNmZmZcIixjdXJzb3I6XCJwb2ludGVyXCIsekluZGV4OjIxNDc0ODM2NDcsV2Via2l0Qm94U2hhZG93OlwiMnB4IDJweCAxMHB4ICMzMTMxMzFcIixNb3pCb3hTaGFkb3c6XCIycHggMnB4IDEwcHggIzMxMzEzMVwiLGJveFNoYWRvdzpcIjJweCAycHggMTBweCAjMzEzMTMxXCJ9KTtzKE8sXCJjb250ZXh0bWVudVwiLGZ1bmN0aW9uKGkpe2kucHJldmVudERlZmF1bHQoKX0pO2Z1bmN0aW9uIEEoKXtPLnN0eWxlLmRpc3BsYXk9XCJub25lXCJ9cyhPLFwiY2xpY2tcIixBKTtzKHdpbmRvdyxcInJlc2l6ZVwiLEEpO3MoZG9jdW1lbnQsXCJjbGlja1wiLEEpO3MoZG9jdW1lbnQsXCJjb250ZXh0bWVudVwiLEEpO2Zvcih2YXIgRyBpbiBNKXt2YXIgdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIik7aCh3LHttYXJnaW46XCIwcHhcIixwYWRkaW5nOlwiM3B4IDIwcHhcIn0pO3cuaW5uZXJIVE1MPU1bR10ubGFiZWw7Ty5hcHBlbmRDaGlsZCh3KTtzKHcsXCJjbGlja1wiLE1bR10uY2xpY2spO3ModyxcIm1vdXNlb3ZlclwiLGZ1bmN0aW9uKCl7aCh0aGlzLHtiYWNrZ3JvdW5kQ29sb3I6XCIjNDI4MUY0XCIsY29sb3I6XCIjZmZmXCJ9KX0pO3ModyxcIm1vdXNlbGVhdmVcIixmdW5jdGlvbigpe2godGhpcyx7YmFja2dyb3VuZENvbG9yOlwidHJhbnNwYXJlbnRcIixjb2xvcjpcIiMwMDBcIn0pfSk7TVtHXS5pdGVtPXd9Qi5hcHBlbmRDaGlsZChPKTtzKEksXCJjb250ZXh0bWVudVwiLGZ1bmN0aW9uKGkpe2goTyx7bGVmdDooaS5wYWdlWC0ocihJKT8wOkIub2Zmc2V0TGVmdCkpK1wicHhcIix0b3A6KGkucGFnZVktKHIoSSk/MDpCLm9mZnNldFRvcCkpK1wicHhcIixkaXNwbGF5OlwiYmxvY2tcIn0pO2kucHJldmVudERlZmF1bHQoKTtpLnN0b3BQcm9wYWdhdGlvbigpfSk7ZnVuY3Rpb24gTigpe2Zvcih2YXIgaSBpbiBNKXtpZihNW2ldJiZNW2ldLml0ZW0mJk1baV0uc2hvdyl7TVtpXS5pdGVtLnN0eWxlLmRpc3BsYXk9TVtpXS5zaG93KCk/XCJibG9ja1wiOlwibm9uZVwifX19TigpO3Mod2luZG93LFwibG9hZFwiLE4pO3MoSSxcInBhdXNlXCIsTik7cyhJLFwicGxheVwiLE4pO3MoSSxcInZvbHVtZWNoYW5nZVwiLE4pfX12YXIgZj1lKFwiZWFzeWh0bWw1dmlkZW9cIik7Zm9yKHZhciBtPTA7bTxmLmxlbmd0aDttKyspe2ooZlttXSx7bm9GUzowLHByZXZlbnRDb3B5OjF9KX19KSgpOyJdfQ==
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.