PageSourceSearch

https://video.envysion.com/ui/assets/index-0661c815.js

js envysion.com collected 2026-10-02 15:01:19 UTC 18,087 bytes, 2 lines download raw bytes

1import{U,V as K,j as t,ay as E,a as e,aI as g,T as He,K as Ce,ah as B,aA as we,r as a,fk as J,fl as Xe,N as F,cE as Ye,fm as Fe,cb as Z,dQ as Qe,bz as Je,ec as Ze}from"./index-06f33dcd.js";import{E as er}from"./index-75f0264c.js";import"./video.es-b77e0994.js";import"./keepAlive-d9d8c803.js";import"./index-3c052462.js";import"./index-be42eea8.js";import"./dateUtil-1940b7f1.js";import"./humanize-duration-3bd29b55.js";import"./FolderOutlined-9931068d.js";import"./index-f0204097.js";import"./_baseDifference-7fe88353.js";import"./intersection-f6a13b53.js";import"./Groups-a5860ee7.js";import"./DataGrid-8a8715f6.js";import"./omitBy-0dc11387.js";import"./isNil-082244eb.js";var ee={},rr=K;Object.defineProperty(ee,"__esModule",{value:!0});var Me=ee.default=void 0,tr=rr(U()),je=t,ar=(0,tr.default)([(0,je.jsx)("path",{d:"m21.41 11.41-8.83-8.83c-.37-.37-.88-.58-1.41-.58H4c-1.1 0-2 .9-2 2v7.17c0 .53.21 1.04.59 1.41l8.83 8.83c.78.78 2.05.78 2.83 0l7.17-7.17c.78-.78.78-2.04-.01-2.83zM12.83 20 4 11.17V4h7.17L20 12.83 12.83 20z"},"0"),(0,je.jsx)("circle",{cx:"6.5",cy:"6.5",r:"1.5"},"1")],"SellOutlined");Me=ee.default=ar;var re={},nr=K;Object.defineProperty(re,"__esModule",{value:!0});var Te=re.default=void 0,sr=nr(U()),or=t,ir=(0,sr.default)((0,or.jsx)("path",{d:"M18.3 5.71a.9959.9959 0 0 0-1.41 0L12 10.59 7.11 5.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"}),"CloseRounded");Te=re.default=ir;var te={},cr=K;Object.defineProperty(te,"__esModule",{value:!0});var Be=te.default=void 0,lr=cr(U()),dr=t,ur=(0,lr.default)((0,dr.jsx)("path",{d:"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.91-3c-.49 0-.9.36-.98.85C16.52 14.2 14.47 16 12 16s-4.52-1.8-4.93-4.15c-.08-.49-.49-.85-.98-.85-.61 0-1.09.54-1 1.14.49 3 2.89 5.35 5.91 5.78V20c0 .55.45 1 1 1s1-.45 1-1v-2.08c3.02-.43 5.42-2.78 5.91-5.78.1-.6-.39-1.14-1-1.14z"}),"MicRounded");Be=te.default=ur;var ae={},pr=K;Object.defineProperty(ae,"__esModule",{value:!0});var Oe=ae.default=void 0,mr=pr(U()),fr=t,gr=(0,mr.default)((0,fr.jsx)("path",{d:"M8 6h8c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2H8c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2z"}),"StopRounded");Oe=ae.default=gr;var ne={},hr=K;Object.defineProperty(ne,"__esModule",{value:!0});var _e=ne.default=void 0,br=hr(U()),xr=t,vr=(0,br.default)((0,xr.jsx)("path",{d:"M12 5.99 19.53 19H4.47L12 5.99M2.74 18c-.77 1.33.19 3 1.73 3h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18zM11 11v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zm0 5h2v2h-2z"}),"WarningAmberRounded");_e=ne.default=vr;const yr=E("#fff",.24),Rr=E("#fff",.78),Ir=E("#000",.68),ke={color:"common.white",border:1,borderColor:yr},Cr=[12,16,22,30,20,36,20,30,22,16,12],jr={"@keyframes speaker-wave":{"0%, 100%":{opacity:.25,transform:"scaleY(0.55)"},"50%":{opacity:1,transform:"scaleY(1)"}}},kr={width:3,borderRadius:999,backgroundColor:"primary.light",opacity:1,mb:2,animation:"speaker-wave 900ms ease-in-out infinite"},se=({message:i,onCancel:b,onClick:R,status:l})=>{const u=l==="unavailable",d=l==="uploading",n=l==="recording",o=u||d;let f="success.main",s="success.dark";u?(f=E("#9ca3af",.88),s=E("#9ca3af",.92)):n&&(f="primary.main",s="primary.dark");const p={...ke,width:60,height:60,backgroundColor:f,boxShadow:8,"&:hover":{backgroundColor:s},"&.Mui-disabled":{color:Rr,backgroundColor:f}},m={...ke,width:48,height:48,backgroundColor:Ir,boxShadow:6,"&:hover":{backgroundColor:"error.dark"}};let v=t.jsx(Be,{});return d?v=t.jsx(we,{size:24,thickness:5,color:"inherit"}):u?v=t.jsx(_e,{}):n&&(v=t.jsx(Oe,{})),t.jsxs(g,{sx:{position:"absolute",left:"50%",bottom:"10%",transform:"translateX(-50%)",zIndex:3,display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[t.jsx(g,{sx:{position:"relative",width:152,height:40,display:"flex",alignItems:"center",justifyContent:"center"},children:n&&t.jsx(g,{"aria-hidden":!0,sx:{...jr,display:"flex",alignItems:"center",gap:.45,width:"100%",justifyContent:"space-between"},children:Cr.map((x,A)=>t.jsx(g,{sx:{...kr,height:x,animationDelay:`${(A+1)*60}ms`}},`${x}-${A+1}`))})}),t.jsxs(g,{children:[n&&t.jsx(g,{sx:{position:"absolute",transform:"translateX(-150%)",bottom:35,zIndex:3,alignItems:"center"},children:t.jsx(He,{title:"Cancel and discard this recording.",children:t.jsx(Ce,{"aria-label":"Cancel recording",onClick:b,sx:m,children:t.jsx(Te,{fontSize:"small"})})})}),t.jsx(Ce,{"aria-label":n?"Stop recording":"Start recording",disabled:o,onClick:R,sx:p,children:v})]}),t.jsx(B,{sx:{maxWidth:220,textAlign:"center",color:"primary.contrastText",textShadow:"1px 1px 2px rgb(0, 0, 0)"},variant:"subtitle2",children:i})]})};
1se.propTypes={message:e.string,onCancel:e.func,onClick:e.func,status:e.oneOf(["idle","recording","uploading","unavailable"])};se.defaultProps={message:"",onCancel:()=>{},onClick:()=>{},status:"idle"};const h=Object.freeze({idle:"idle",recording:"recording",uploading:"uploading",unavailable:"unavailable"}),Sr=6e4,wr=["audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/webm","audio/mp4"],Mr=i=>{const R=[[i.city,i.region].filter(Boolean).join(", "),i.postalCode].filter(Boolean).join(" ");return[i.street1,i.street2,R].filter(Boolean)},Tr=()=>{var i;return globalThis.window!==void 0&&globalThis.navigator!==void 0&&globalThis.isSecureContext&&globalThis.MediaRecorder!==void 0&&typeof((i=globalThis.navigator.mediaDevices)==null?void 0:i.getUserMedia)=="function"},Br=()=>globalThis.window===void 0||globalThis.MediaRecorder===void 0||typeof globalThis.MediaRecorder.isTypeSupported!="function"?"":wr.find(i=>globalThis.MediaRecorder.isTypeSupported(i))||"",Or=i=>i.includes("ogg")?"audio.ogg":i.includes("mp4")?"audio.mp4":"audio.webm",_r=(i,b)=>{const R=i.reduce((l,u)=>{const d=b[u];if(!d)return l;const n=l[d.applianceId]||[];return n.push(d),l[d.applianceId]=n,l},{});return Object.values(R).sort((l,u)=>{var o,f;const d=l.filter(s=>s.isOnline).length,n=u.filter(s=>s.isOnline).length;return d!==n?n-d:l.length!==u.length?u.length-l.length:(((o=l[0])==null?void 0:o.applianceName)||"").localeCompare(((f=u[0])==null?void 0:f.applianceName)||"")})[0]},qr=(i,b,R)=>{const l=J(i,"id"),u=J(b,"id"),d=R.reduce((n,o)=>{const f=String(o.tag.id),s=String(o.object.id),p=n[f]||{id:f,name:o.tag.text,cameraIds:[],speakerIds:[]};return o.object.type==="camera"&&l[s]&&p.cameraIds.push(s),o.object.type==="speaker"&&u[s]&&p.speakerIds.push(s),n[f]=p,n},{});return Object.values(d).map(n=>{const o=[...new Set(n.speakerIds)].reduce((s,p)=>{const m=u[p],v=String(m.applianceId),x=s[v]||[];return x.push(p),s[v]=x,s},{}),f=[...new Set(n.cameraIds)].filter(s=>{var m;const p=String(l[s].applianceId);return(m=o[p])==null?void 0:m.length});return{...n,cameraIds:f,speakerIdsByAppliance:o}}).filter(n=>n.cameraIds.length>0).sort((n,o)=>n.cameraIds.length!==o.cameraIds.length?o.cameraIds.length-n.cameraIds.length:n.name.localeCompare(o.name))},Se=({cameraIds:i,camerasById:b,selectedApplianceId:R,speakerIdsByAppliance:l})=>{var s,p;const u=i.map(m=>b[m]).filter(Boolean),d=String(R),n=u.filter(m=>String(m.applianceId)===d),o=R&&n.length&&((s=l[d])!=null&&s.length)?n:_r(i,b)||[];return{applianceId:(p=o[0])==null?void 0:p.applianceId,cameraIds:o.map(m=>String(m.id))}},oe=({alt:i,applianceId:b,src:R,thumbnailChannels:l})=>{const[u,d]=a.useState(),[n,o]=a.useState(!0),f=b&&l.length?`${Qe(b)}/aapi/dvr/thumbnail?channel=${l.join(",")}&resolution=426x240&start=now`:R.replace(/^\/api\/v3(?=\/)/,"");return a.useEffect(()=>{const s=new AbortController;let p;return d(void 0),o(!0),Je.get(f,{responseType:"blob",signal:s.signal}).then(({data:m})=>{p=URL.createObjectURL(m),d(p),o(!1)}).catch(()=>{s.signal.aborted||(d(Z),o(!1))}),()=>{s.abort(),p&&URL.revokeObjectURL(p)}},[f]),n?t.jsx(g,{sx:{alignItems:"center",backgroundColor:"action.hover",display:"flex",height:"100%",justifyContent:"center",width:"100%"},children:t.jsx(we,{size:24})}):t.jsx(g,{component:"img",alt:i,loading:"lazy",onError:()=>d(Z),src:u,sx:{display:"block",height:"100%",width:"100%"}})};oe.propTypes={alt:e.string.isRequired,applianceId:e.oneOfType([e.string,e.number]),src:e.string.isRequired,thumbnailChannels:e.arrayOf(e.oneOfType([e.string,e.number]))};oe.defaultProps={applianceId:void 0,thumbnailChannels:[]};const qe=({cameras:i,currentUser:b,disableCameraSelection:R,duration:l,logger:u,objectTags:d,playerSettings:n,site:o,siteId:f,snackbar:s,speakers:p,startTime:m})=>{var xe,ve,ye;const v=a.useRef(),x=a.useRef(),A=a.useRef(),G=a.useRef([]),P=a.useRef(!1),V=a.useRef(),O=a.useRef(),ie=a.useRef(!0),W=a.useRef(!1),_=a.useMemo(()=>J(i,"id"),[i]),M=a.useMemo(()=>qr(i,p,d),[i,d,p]),ce=a.useMemo(()=>{var r,c;return Se({cameraIds:((r=M[0])==null?void 0:r.cameraIds)||[],camerasById:_,speakerIdsByAppliance:((c=M[0])==null?void 0:c.speakerIdsByAppliance)||{}}).cameraIds},[_,M]),[le,$e]=a.useState([]),[de,Ae]=a.useState((xe=M[0])==null?void 0:xe.id),ue=a.useMemo(()=>new Set(M.flatMap(r=>r.cameraIds)),[M]),T=a.useMemo(()=>{const r=le.filter(c=>ue.has(c));return r.length?r:ce},[ue,ce,le]),y=a.useMemo(()=>T.map(r=>
1_[r]).filter(Boolean),[_,T])[0],pe=y==null?void 0:y.applianceId,Pe=T.join(","),ze=((ve=m==null?void 0:m.toISO)==null?void 0:ve.call(m))||"live",De=`${f}:${Pe}:${ze}:${l??"live"}`,Le=a.useMemo(()=>Mr(o),[o]),z=a.useMemo(()=>M.map(r=>{const c=Se({cameraIds:r.cameraIds,camerasById:_,selectedApplianceId:pe,speakerIdsByAppliance:r.speakerIdsByAppliance}),k=r.cameraIds.map(I=>_[I]).filter(I=>I&&I.applianceId===c.applianceId);return{...r,selection:c,thumbnailCameras:k}}).filter(r=>r.selection.cameraIds.length>0),[M,_,pe]),q=a.useMemo(()=>z.find(r=>{const c=r.selection.cameraIds;return r.id===de&&c.length===T.length&&c.every((k,I)=>k===T[I])}),[T,z,de]),H=a.useMemo(()=>Object.entries((q==null?void 0:q.speakerIdsByAppliance)||{}).map(([r,c])=>({applianceId:r,speakerIds:c})),[q]),[D,w]=a.useState(h.idle),[me,S]=a.useState(""),fe=a.useCallback(()=>!v.current||typeof v.current.muted!="function"?!0:v.current.muted(),[]),X=a.useCallback(r=>{!v.current||typeof v.current.muted!="function"||v.current.muted(r)},[]),Q=a.useCallback(()=>{W.current&&(X(ie.current),W.current=!1)},[X]),L=a.useCallback(()=>{var r;(r=A.current)==null||r.getTracks().forEach(c=>c.stop()),A.current=void 0},[]),j=a.useCallback(()=>{V.current&&(clearTimeout(V.current),V.current=void 0)},[]);a.useEffect(()=>()=>{j();const r=x.current;r&&(r.ondataavailable=null,r.onstop=null,r.state!=="inactive"&&r.stop()),L()},[j,L]);const $=a.useMemo(()=>y?H.length?Tr()?"":"Microphone recording requires HTTPS and a supported browser.":"No speaker output is configured.":"Select a camera to enable talk.",[H,y]),N=D===h.idle&&$?h.unavailable:D,Ne=a.useMemo(()=>N===h.recording?"Recording. Press stop to send.":N===h.uploading?me||"Preparing the recorded message...":N===h.unavailable?$:"Press to record.",[N,$,me]),Ee=a.useMemo(()=>({...n,controlBar:{...n==null?void 0:n.controlBar,fullscreenToggle:!1}}),[n]),Ue=a.useCallback(r=>{r.selection.cameraIds.length&&(Ae(r.id),$e(r.selection.cameraIds))},[]),ge=a.useCallback(()=>{const r=x.current;(r==null?void 0:r.state)==="recording"&&(j(),P.current=!1,S("Preparing the recorded message..."),w(h.uploading),r.stop())},[j]),Ke=a.useCallback(()=>{const r=x.current;(r==null?void 0:r.state)==="recording"&&(j(),P.current=!0,r.stop())},[j]),he=a.useCallback(()=>{const r=x.current;(r==null?void 0:r.state)==="recording"&&(j(),P.current=!0,s.error("Recording time exceeded 1 minute. Voice clip has been discarded."),r.stop())},[j,s]),be=a.useCallback(async()=>{if($||!(y!=null&&y.applianceId))return;const r=Br();try{ie.current=fe(),W.current=!1,S("Requesting microphone access..."),w(h.uploading);const c=await navigator.mediaDevices.getUserMedia({audio:{autoGainControl:!1,echoCancellation:!1,noiseSuppression:!1}}),k=r?new globalThis.MediaRecorder(c,{mimeType:r}):new globalThis.MediaRecorder(c);A.current=c,x.current=k,G.current=[],P.current=!1,O.current=H,X(!0),W.current=!0,k.ondataavailable=I=>{var C;(C=I.data)!=null&&C.size&&G.current.push(I.data)},k.onstop=async()=>{const I=P.current,C=O.current,Re=k.mimeType||r||"audio/webm",Ve=Or(Re),Ie=new Blob(G.current,{type:Re});if(j(),G.current=[],P.current=!1,L(),Q(),I){x.current=void 0,O.current=void 0,S(""),w(h.idle);return}if(!Ie.size){x.current=void 0,O.current=void 0,S(""),w(h.idle),s.error("No audio was captured. Try recording the message again.");return}if(!(C!=null&&C.length)){x.current=void 0,O.current=void 0,S(""),w(h.idle),u.error("Missing speaker clip upload targets",{speakerTargets:C}),s.error("Unable to determine the speaker target for this recording.");return}try{S("Sending the recorded message..."),await Promise.all(C.map(({applianceId:Y,speakerIds:We})=>Xe({applianceId:Y,speakerIds:We,audio:Ie,fileName:Ve}))),S(""),w(h.idle),s.success("Recorded message sent to the associated speakers.")}catch(Y){u.error("Failed to upload speaker clip",{speakerTargets:C},Y),S(""),w(h.idle),s.error(Y.message||"Unable to send the recorded message to the associated speakers.")}finally{x.current=void 0,O.current=void 0}},k.start(),V.current=setTimeout(he,Sr),S(""),w(h.recording)}catch(c){u.error("Unable to start speaker recording",{},c),j(),L(),Q(),x.current=void 0,O.current=void 0,S(""),w(h.idle),s.error((c==null?void 0:c.name)==="NotAllowedError"?"Microphone access was denied.":"Unable to access the microphone for talk-down.")}},[fe,u,y,X,s,H,j,he,Q,L,$]),Ge=a.useCallback(()=>
1{if(D===h.recording){ge();return}D===h.uploading||$||be()},[be,ge,D,$]);return t.jsx(g,{sx:{display:"flex",flexDirection:"column",gap:2,width:"100%"},children:t.jsxs(F,{elevation:0,variant:"outlined",sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},alignItems:"stretch",gap:2,width:"100%"},children:[t.jsx(g,{sx:{flex:"1 1 auto",minWidth:0,width:"100%"},children:t.jsx(F,{elevation:0,variant:"outlined",sx:{position:"relative",overflow:"hidden",borderRadius:2,boxShadow:4},children:t.jsx(g,{sx:{height:{xs:"40vh",sm:"99vh"}},children:T.length?t.jsxs(g,{sx:{position:"relative",height:"100%"},children:[t.jsx(er,{audioChannel:(y==null?void 0:y.applianceSensorNum)??(y==null?void 0:y.channel),currentUser:b,duration:l,playerRef:v,playbackCameraIds:T,rateControlMode:(ye=b.settings)==null?void 0:ye.rateControlMode,selectableCameras:R?[]:i,settings:Ee,startTime:m,timezoneName:o.timezoneName,userActions:{click:!1},liveOnly:!Ye(b,Ze)},De),t.jsx(se,{message:Ne,onCancel:Ke,onClick:Ge,status:N})]}):t.jsx(g,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"common.white",px:2,textAlign:"center"},children:t.jsx(B,{variant:"h6",children:"No cameras are available for this site."})})})})}),t.jsxs(g,{sx:{display:"flex",flexDirection:"column",flex:{xs:"1 1 auto",xl:"0 0 320px"},gap:2,maxHeight:{xs:"none",sm:"99vh"},overflowY:"auto",overflowX:"hidden",width:{xs:"100%",sm:320},mr:2},children:[t.jsxs(F,{variant:"outlined",sx:{p:2,borderRadius:2},children:[t.jsx(B,{color:"text.secondary",variant:"overline",children:"Location"}),t.jsx(B,{variant:"h5",children:o.name}),Le.map(r=>t.jsx(B,{variant:"body2",children:r},r)),o.phone&&t.jsx(B,{variant:"body2",children:o.phone})]}),!!z.length&&t.jsx(g,{sx:{display:"flex",flexDirection:"column",gap:1.5,pr:z.length>1&&2},children:z.map(r=>{var I;const c=r.id===(q==null?void 0:q.id),k=r.thumbnailCameras.map(C=>C.applianceSensorNum??C.channel).filter(C=>C!=null);return t.jsx(Fe,{onClick:()=>Ue(r),sx:{width:"100%"},children:t.jsxs(F,{variant:"outlined",sx:{backgroundColor:c&&"primary.lightest",borderColor:c?"primary.main":"divider",borderWidth:c?"2px":"",borderRadius:2,transition:"border-color 0.2s ease, box-shadow 0.2s ease",width:"100%","&:hover":{borderColor:"primary.main"}},children:[t.jsxs(g,{sx:{alignItems:"center",borderBottom:"1px solid",borderColor:"divider",display:"flex",gap:1,justifyContent:"space-between",px:1.5,py:1},children:[t.jsxs(g,{sx:{alignItems:"center",display:"flex",gap:1,minWidth:0},children:[t.jsx(Me,{fontSize:"small",sx:{color:c?"primary.main":"action.active"}}),t.jsx(B,{noWrap:!0,variant:"subtitle2",children:r.name})]}),t.jsxs(B,{color:"text.secondary",variant:"caption",children:[r.selection.cameraIds.length," camera",r.selection.cameraIds.length===1?"":"s"]})]}),t.jsx(g,{sx:{aspectRatio:"16 / 9",backgroundColor:"divider",overflow:"hidden"},children:t.jsx(oe,{alt:`${r.name} camera thumbnails`,applianceId:r.selection.applianceId,src:((I=r.thumbnailCameras[0])==null?void 0:I.img)||Z,thumbnailChannels:k})})]})},r.id)})})]})]})})};qe.propTypes={cameras:e.arrayOf(e.shape({applianceId:e.oneOfType([e.string,e.number]),applianceName:e.string,applianceSensorNum:e.oneOfType([e.string,e.number]),channel:e.oneOfType([e.string,e.number]),id:e.oneOfType([e.string,e.number]).isRequired,img:e.string,isOnline:e.bool,name:e.string.isRequired})),currentUser:e.shape({settings:e.shape({cameraLayoutMax:e.number,rateControlMode:e.string})}).isRequired,disableCameraSelection:e.bool,duration:e.number,logger:e.shape({error:e.func.isRequired}).isRequired,objectTags:e.arrayOf(e.shape({object:e.shape({id:e.oneOfType([e.string,e.number]).isRequired,type:e.string.isRequired}).isRequired,tag:e.shape({id:e.oneOfType([e.string,e.number]).isRequired,text:e.string.isRequired}).isRequired})),playerSettings:e.shape({controlBar:e.shape({})}),snackbar:e.shape({error:e.func.isRequired,success:e.func.isRequired}).isRequired,site:e.shape({city:e.string,id:e.oneOfType([e.string,e.number]).isRequired,name:e.string.isRequired,phone:e.string,postalCode:e.string,region:e.string,street1:e.string,street2:e.string,timezoneName:e.string}).isRequired,siteId:e.string.isRequired,speakers:e.arrayOf(e.shape({applianceId:e.oneOfType([e.string,e.number]).isRequired,id:e.oneOfType([e.string,e.number]).isRequired,name:e.string})),startTime:e.shape({toISO:e.func})};qe.defaultProps={cameras:[],disableCameraSelection:!1,duration:void 0,objectTags:[],playerSettings:void 0,speakers:[],startTime:void 0};export{qe as default};
2//# sourceMappingURL=index-0661c815.js.map

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.