1class MasonryGrid{constructor(masonry){if(!masonry)return;this.masonry=masonry;this.msnryInstance=null;this.init();window.addEventListener("resize",()=>this.handleResize())} 2init(){if(window.innerWidth<768){this.destroy();return} 3this.masonry.classList.remove("mmd-row");this.masonry.querySelectorAll(".mmd-col").forEach(col=>{col.classList.remove("mmd-col");col.classList.add("mmd-masonry-col")});if(!this.msnryInstance){this.msnryInstance=new Masonry(this.masonry,{itemSelector:".mmd-masonry-col",gutter:this.getGutterFromClass(),horizontalOrder:!0,})}} 4destroy(){if(this.msnryInstance){this.msnryInstance.destroy();this.msnryInstance=null}} 5handleResize(){if(window.innerWidth<768){this.destroy()}else{this.init()}} 6getGutterFromClass(){const gutterMap={sm:8,md:24,lg:46};const match=[...this.masonry.classList].find(cls=>cls.startsWith("masonry-gutter-"));if(!match)return gutterMap.sm;const suffix=match.replace("masonry-gutter-","");if(gutterMap[suffix])return gutterMap[suffix];const numericValue=parseInt(suffix,10);return isNaN(numericValue)?gutterMap.sm:numericValue}} 7document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".mmd-masonry").forEach(bento=>{new MasonryGrid(bento)})})
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.