1!function(){try{var t="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{};t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[(new t.Error).stack]=function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];if(null!=a)for(var r in a)a.hasOwnProperty(r)&&(t[r]=a[r])}return t}({},t._sentryModuleMetadata[(new t.Error).stack],{"_sentryBundlerPluginAppKey:note-front-custom-domain":!0});var e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="2777b34c-b97c-4f89-be0b-eb6bf7a2fdb9",t._sentryDebugIdIdentifier="sentry-dbid-2777b34c-b97c-4f89-be0b-eb6bf7a2fdb9")}catch(t){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[437],{70437:(t,e,a)=>{a.d(e,{diagram:()=>g});var r=a(90352),o=a(99537),l=a(99502),i=a(64314),s=a(20943),n=a(7836),c=i.UI.packet,d=class{constructor(){this.packet=[],this.setAccTitle=i.SV,this.getAccTitle=i.iN,this.setDiagramTitle=i.ke,this.getDiagramTitle=i.ab,this.getAccDescription=i.m7,this.setAccDescription=i.EI}static{(0,s.K2)(this,"PacketDB")}getConfig(){let t=(0,l.$t)({...c,...(0,i.zj)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,i.IU)(),this.packet=[]}},b=(0,s.K2)((t,e)=>{(0,o.S)(t,e);let a=-1,r=[],l=1,{bitsPerRow:i}=e.getConfig();for(let{start:o,end:n,bits:c,label:d}of t.blocks){if(void 0!==o&&void 0!==n&&n<o)throw Error(`Packet block ${o} - ${n}
1 is invalid. End must be greater than start.`);if((o??=a+1)!==a+1)throw Error(`Packet block ${o} - ${n??o} is not contiguous. It should start from ${a+1}.`);if(0===c)throw Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(n??=o+(c??1)-1,c??=n-o+1,a=n,s.Rm.debug(`Packet block ${o} - ${a} with label ${d}`);r.length<=i+1&&e.getPacket().length<1e4;){let[t,a]=p({start:o,end:n,bits:c,label:d},l,i);if(r.push(t),t.end+1===l*i&&(e.pushWord(r),r=[],l++),!a)break;({start:o,end:n,bits:c,label:d}=a)}}e.pushWord(r)},"populate"),p=(0,s.K2)((t,e,a)=>{if(void 0===t.start)throw Error("start should have been set during first phase");if(void 0===t.end)throw Error("end should have been set during first phase");if(t.start>t.end)throw Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let r=e*a-1,o=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:o,end:t.end,label:t.label,bits:t.end-o}]},"getNextFittingBlock"),h={parser:{yy:void 0},parse:(0,s.K2)(async t=>{let e=await (0,n.qg)("packet",t),a=h.parser?.yy;if(!(a instanceof d))throw Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.Rm.debug(e),b(e,a)},"parse")},k=(0,s.K2)((t,e,a,o)=>{let l=o.db,s=l.getConfig(),{rowHeight:n,paddingY:c,bitWidth:d,bitsPerRow:b}=s,p=l.getPacket(),h=l.getDiagramTitle(),k=n+c,u=k*(p.length+1)-(h?0:n),g=d*b+2,y=(0,r.D)(e);for(let[t,e]of(y.attr("viewBox",`0 0 ${g} ${u}`),(0,i.a$)(y,u,g,s.useMaxWidth),p.entries()))f(y,e,t,s);y.append("text").text(h).attr("x",g/2).attr("y",u-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),f=(0,s.K2)((t,e,a,{rowHeight:r,paddingX:o,paddingY:l,bitWidth:i,bitsPerRow:s,showBits:n})=>{let c=t.append("g"),d=a*(r+l)+l;for(let t of e){let e=t.start%s*i+1,a=(t.end-t.start+1)*i-o;if(c.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",e+a/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!n)continue;let l=t.end===t.start,b=d-2;c.append("text").attr("x",e+(l?a/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",l?"middle":"start").text(t.start),l||c.append("text").attr("x",e+a).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}},"drawWord"),u={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},g={parser:h,get db(){return new d},renderer:{draw:k},styles:(0,s.K2)(({packet:t}={})=>{let e=(0,l.$t)(u,t);return` 2 .packetByte { 3 font-size: ${e.byteFontSize}; 4 } 5 .packetByte.start { 6 fill: ${e.startByteColor}; 7 } 8 .packetByte.end { 9 fill: ${e.endByteColor}; 10 } 11 .packetLabel { 12 fill: ${e.labelColor}; 13 font-size: ${e.labelFontSize}; 14 } 15 .packetTitle { 16 fill: ${e.titleColor}; 17 font-size: ${e.titleFontSize}; 18 } 19 .packetBlock { 20 stroke: ${e.blockStrokeColor}; 21 stroke-width: ${e.blockStrokeWidth}; 22 fill: ${e.blockFillColor}; 23 } 24 `},"styles")}},99537:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(20943).K2)(r,"populateCommonDb")}}]);
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.