PageSourceSearch

https://www.zameen.com/assets/newProjects.9d2cb40ce2d28cf9.js

js zameen.com collected 2026-09-24 09:27:51 UTC 18,754 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkmustang=self.webpackChunkmustang||[]).push([[2785],{78553:(e,t,r)=>{r.r(t),r.d(t,{default:()=>E});var n=r(1291),a=r(63696),l=r(40134),i=r(73411),c=r(22051),o=r(98018),u=r(10748),s=r(71633),f=r.n(s),m=r(19089),d=r(64127),y=r(39005);let p={container:"_265591fd",empty:"_0c3f6f6b"},v={card:"_69a49cd1",imageContainer:"edb1ad0c",product:"_35c0e113",image:"cf4bd172",infoContainer:"_3b6cac5c",item:"a2443366",priceUnit:"_15c2b678",icon:"_1c723cd2",info:"a96f915c",price:"d273232d",title:"_63ce58c3",location:"_997b48f5",types:"d98dd823",area:"a44b4f10",typesValue:"b36271e7",typesMeasurement:"bce536ad"};function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}let h=function(){var e,t=function(e){if(Array.isArray(e))return e}(e=(0,y.A)())||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{for(l=(r=r.call(e)).next;!(o=(n=l.call(r)).done)&&(c.push(n.value),2!==c.length);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,2)||function(e,t){if(e){if("string"==typeof e)return g(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,2)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r=t[0],n=t[1];return r&&!(null!=n&&n.length)?null:r?a.createElement("div",{className:p.container},n.filter(function(e){var t;return null===(t=e.images)||void 0===t?void 0:t.length}).map(function(e){return a.createElement(d.A,b({styles:v,key:e.id,collapseTypes:!0},e))})):a.createElement("div",{className:f()(p.section,p.empty)},a.createElement(m.A,null))},A={container:"b3f0418f",headerContainer:"ec2744e2",headerText:"bb28a7b4",viewAllContainer:"a98cb9f5",viewAll:"_39a5e265",viewAllIcon:"a0b3c917"},E=function(){var e=(0,l.useSelector)(c.zi),t=(0,u.A)().trackViewAllProjects;return a.createElement("div",{"aria-label":"New Projects",className:A.container},a.createElement("span",{className:A.headerContainer},a.createElement("h2",{className:A.headerText},a.createElement(n.x6,{id:"rStG47"})),a.createElement("a",{className:A.viewAllContainer,href:(0,i.K4)("/new-projects/",e),onClick:t},a.createElement("span",{className:A.viewAll},a.createElement(n.x6,{id:"N6Pxr9"})),a.createElement(o.A,{className:A.viewAllIcon}))),a.createElement(h,null))}},64127:(e,t,r)=>{r.d(t,{A:()=>g});var n=r(1291),a=r(63696),l=r(10748),i=r(96117),c=r(84698),o=r.n(c),u=r(31706),s=r.n(u),f=r(31565),m=r(16738),d=r(22051);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}let p=function(e){var t,r=e.type,n=e.styles,l=(0,d.s9)(),i=a.useMemo(function(){return r.split(",").map(function(e){return e.trim()}).filter(Boolean)},[r]),c=a.useMemo(function(){return i.map(function(e,t){var r=t+1;return r===i.length?i.join(", "):"".concat(i.slice(0,r).join(", "),", ").concat(l._({id:"RuXuwk",values:{0:i.length-r}}))})},[i,l]),o=a.useRef(null),u=a.useRef([]),s=function(e){if(Array.isArray(e))return e}(t=a.useState(c[c.length-1]))||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{for(l=(r=r.call(e)).next;!(o=(n=l.call(r)).done)&&(c.push(n.value),2!==c.length);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(t,2)||function(e,t){if(e){if("string"==typeof e)return y(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,2)}}
1(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=s[0],m=s[1],p=a.useCallback(function(){var e,t=o.current;if(t){var r=t.clientWidth;r&&m(null!==(e=c[u.current.reduce(function(e,t,n){return t&&t.offsetWidth<=r?n:e},0)])&&void 0!==e?e:c[0])}},[c]);return(a.useLayoutEffect(function(){p()},[p]),a.useEffect(function(){if("undefined"!=typeof ResizeObserver&&o.current){var e=new ResizeObserver(function(){return p()});return e.observe(o.current),function(){return e.disconnect()}}},[p]),i.length)?a.createElement("span",{className:n.typesValue,ref:o},f,a.createElement("span",{className:n.typesMeasurement,"aria-hidden":!0},c.map(function(e,t){return a.createElement("span",{key:t,ref:function(e){u.current[t]=e}},e)}))):null},v={card:"_11196947",imageContainer:"_11afdae7",product:"cfa923ed",image:"_3bfcf6ac",infoContainer:"_29a163b0",item:"_654d3bff",priceUnit:"_192ff243",icon:"_1faf4368",price:"_3a7b9721",title:"a479b39d",location:"e8772e77",types:"_5c0311cf",area:"_0356bfae"};var b=function(e){return e.min&&e.max?e.min===e.max?a.createElement("span",null,e.min):a.createElement("span",null,a.createElement(n.x6,{id:"Yp8yB4",values:{0:e.min,1:e.max}})):e.min?a.createElement("span",null,a.createElement(n.x6,{id:"hGDVDa",values:{0:e.min}})):a.createElement("span",null,a.createElement(n.x6,{id:"6A8Mts",values:{0:e.max}}))};let g=a.forwardRef(function(e,t){var r=e.slug,c=e.title,u=e.url,d=e.images,y=e.price,g=e.type,h=e.area,A=e.product,E=e.extendedLocation,w=e.collapseTypes,j=e.styles,S=void 0===j?v:j,C=(0,l.A)().trackNewProject;return a.createElement("a",{className:S.card,ref:t,href:u,onClick:function(){return C(r)},"aria-label":"View new project"},a.createElement("div",{className:S.imageContainer},a.createElement("img",{alt:c,src:d[0].url,className:S.image}),a.createElement("div",{className:S.product},a.createElement(f.A,{property:{product:A},design:m.fi.ROUNDED}))),a.createElement("div",{className:S.infoContainer},a.createElement("div",{className:S.price,"aria-label":"Price"},y.min||y.max?a.createElement(a.Fragment,null,a.createElement("span",{className:S.priceUnit},a.createElement(i.A,null)),a.createElement(b,y)):a.createElement("span",null,a.createElement(n.x6,{id:"aWG99p"}))),a.createElement("span",{className:S.title,"aria-label":"Title"},c),a.createElement("span",{className:S.location,"aria-label":"Location"},E),a.createElement("span",{className:S.types,"aria-label":"Types"},a.createElement("svg",{className:S.icon},a.createElement("use",{xlinkHref:"".concat(s(),"#propertyTypes")})),w?a.createElement(p,{type:g,styles:S}):a.createElement("span",null,g)),a.createElement("span",{className:S.area,"aria-label":"Area"},(h.min||h.max)&&a.createElement(a.Fragment,null,a.createElement("svg",{className:S.icon},a.createElement("use",{xlinkHref:"".concat(o(),"#areaMeasurements")})),a.createElement(b,h)))))})},64910:(e,t,r)=>{r.r(t),r.d(t,{default:()=>j});var n=r(1291),a=r(63696),l=r(40134),i=r(26147),c=r(73411),o=r(22051),u=r(10748),s=r(98018),f=r(9191),m=r.n(f),d=r(19089),y=r(82568),p=r(64127),v=r(39005);let b={container:"_0568df67",empty:"bc43f2f4"},g={container:"_5edc886f",entriesContainer:"f99069bc",rightArrow:"cd32650a",leftArrow:"_71aebcf8"};function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}let E=function(){var e,t=function(e){if(Array.isArray(e))return e}(e=(0,v.A)())||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{for(l=(r=r.call(e)).next;!(o=(n=l.call(r)).done)&&(c.push(n.value),2!==c.length);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,2)||function(e,t){if(e){if("string"==typeof e)return A(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A(e,2)}}
1(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r=t[0],n=t[1];return r&&!(null!=n&&n.length)?null:r?a.createElement("div",{className:b.container},a.createElement(y.A,{styles:g,scrollDistance:303},n.filter(function(e){var t;return null===(t=e.images)||void 0===t?void 0:t.length}).map(function(e){return a.createElement(p.A,h({key:e.id},e))}))):a.createElement("div",{className:b.empty},a.createElement(d.A,null))},w={sectionContainer:"_7e60556b",headerContainer:"a63f16db",headerText:"bcabb915",trendingContainer:"_7db4a2a0",trendingIcon:"_9aa238d0",viewAllContainer:"_579739b2",viewAll:"_50f2ee71",viewAllIcon:"d902272b"},j=function(){var e=(0,l.useSelector)(o.zi),t=(0,u.A)().trackViewAllProjects;return a.createElement(i.A,{label:"New Projects",containerClassName:w.sectionContainer},a.createElement("div",{className:w.headerContainer},a.createElement("h3",{className:w.headerText},a.createElement(n.x6,{id:"rStG47"})),a.createElement("span",{className:w.trendingContainer},a.createElement("img",{src:m(),alt:"Trending icon",className:w.trendingIcon}),a.createElement(n.x6,{id:"4/iCqx"})),a.createElement("a",{className:w.viewAllContainer,href:(0,c.K4)("/new-projects/",e),onClick:t},a.createElement("span",{className:w.viewAll},a.createElement(n.x6,{id:"N6Pxr9"})),a.createElement(s.A,{className:w.viewAllIcon}))),a.createElement(E,null))}},39005:(e,t,r)=>{r.d(t,{A:()=>P});var n=r(63696),a=r(40134),l=r(9298),i=r(9680),c=r.n(i),o=r(24319),u=r.n(o),s=r(54673),f=r(30256),m=r(38979),d=r(74921),y=r(85403),p=r(41755),v=r(22051),b=r(80232),g=r(80332),h=r(83701),A=r(24885),E=r(28180);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var j=(0,A.createSelector)(function(e){return[e.newProjects.loaded,e.newProjects.data||E.A]},function(e){var t=function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{for(l=(r=r.call(e)).next;!(o=(n=l.call(r)).done)&&(c.push(n.value),2!==c.length);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,2)||function(e,t){if(e){if("string"==typeof e)return w(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w(e,2)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return[t[0],t[1]]});function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach(function(t){var n,a;n=t,a=r[t],(n=function(e){var t=function(e,t){if("object"!==S(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==S(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===S(t)?t:String(t)}(n))in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var _=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";return((0,v.x7)(e.locale)?t.reverse():t).join(r)},x=function(e,t,r,n,a){var l,i=g.A.Area.textToAbbreviation(e.area.unit),o=null===(l=b.A.get(i))||void 0===l?void 0:l.get(a),f=o?a:i,m=p.A.roundingFunction(f),d=o&&i!==f?o:function(e){return e},y=e.type.replace(/,/g,", "),v="string"==typeof e.title?e.title:e.title(t),h=_(t,[v,e.city],", "),A=c()(u()(e.area,["unit"]),function(e){return e?"".concat(m(d(e))," ").concat(p.A.abbreviation(t,f)):null}),E=c()(u()(e.price,["unit"]),function(a){var l=(0,s.A)(r.toLocalPrice(a,e.price.unit),t,n,r.formatLocalPriceValue,r.roundFunction,null,1833===e.id);return"0"===l?null:l}),w=_(t,[e.city,e.location],", ");return N(N({},e),{},{type:y,title:h,area:A,price:E,extendedLocation:w})};let P=function(){var e,t=(0,v.s9)(),r=(0,a.useDispatch)(),i=(0,f.A)(),c=(0,a.useSelector)(y.bh)||p.A.SQFT,o=(0,a.useSelector)(d.R),u=(0,a.useSelector)(l.getFilterCollection).getFilterValue(m.A.city.attribute).externalID,s=function(e){if(Array.isArray(e))return e}(e=(0,a.useSelector)(j))||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{for(l=(r=r.call(e)).next;!(o=(n=l.call(r)).done)&&(c.push(n.value),2!==c.length);o=!0);}catch(e){u=!0,a=e}
1finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,2)||function(e,t){if(e){if("string"==typeof e)return C(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return C(e,2)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=s[0],g=s[1];return n.useEffect(function(){r((0,h.P)({externalID:u}))},[u,r]),[b,g.map(function(e){return x(e,t,i,o,c)})]}},82568:(e,t,r)=>{r.d(t,{A:()=>f});var n=r(63696),a=r(40134),l=r(4618),i=r(37486),c=r.n(i);let o={container:"_7011309d",entriesContainer:"aeaf586f",rightArrow:"ac3178e3",leftArrow:"_182c7bc7"};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,i,c=[],o=!0,u=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(c.push(n.value),c.length!==t);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}let f=function(e){var t=u(n.useState(!1),2),r=t[0],i=t[1],s=u(n.useState(!1),2),f=s[0],m=s[1],d=n.useRef([]),y=n.useRef([]),p=n.useRef(null),v=(0,a.useSelector)(l.Fl),b=e.styles||o,g=function(){var e,t,n,a,l=null==p?void 0:null===(e=p.current)||void 0===e?void 0:e.lastElementChild,c=null==l?void 0:l.getBoundingClientRect(),o=null===(t=p.current)||void 0===t?void 0:t.getBoundingClientRect(),u=(null===(n=p.current)||void 0===n?void 0:n.scrollLeft)===0;a=!!c&&!!c.right&&!!c.left&&!!o&&!!o.right&&!!o.left&&(v?c.right>=0&&c.left>=o.left:c.left>=0&&c.right<=o.right),f||u?f&&u&&m(!1):m(!0),r||a?r&&a&&i(!1):i(!0)},h=n.useCallback(function(e){var t,r=p.current,n=null==r?void 0:r.getBoundingClientRect(),a=(null==n?void 0:n.left)||0,l=null==e?void 0:e.getBoundingClientRect(),i=null==l?void 0:l.left;n&&l&&y.current.length!==d.current.length&&(null===(t=y.current)||void 0===t||t.push(i-a))},[]),A=e.scrollDistance,E=function(e){for(var t=p.current,r=null==t?void 0:t.getBoundingClientRect(),n=(null==r?void 0:r.left)||0,a=0,l=[],i=0;i<(null===(u=d.current)||void 0===u?void 0:u.length);i++){var c,o,u,s,f=null===(s=d.current)||void 0===s?void 0:s[i],m=null==f?void 0:f.getBoundingClientRect(),b=(null==m?void 0:m.left)-n||0;!v&&1===e||v&&-1===e?b>=0&&b<=2*A&&l.push(i):b<=0&&b>=-2*A&&l.push(i)}var g=-1;g=!v&&1===e||v&&-1===e?v?null==l?void 0:l[0]:null==l?void 0:l[l.length-1]:v?null==l?void 0:l[l.length-1]:null==l?void 0:l[0],a=null===(c=y.current)||void 0===c?void 0:c[g],null===(o=p.current)||void 0===o||o.scrollTo({left:a,behavior:"smooth"})};return n.createElement("div",{className:b.container},f&&n.createElement("img",{src:c(),alt:"Left Arrow Icon",className:b.leftArrow,onClick:function(){E(-1)}}),n.createElement("div",{className:b.entriesContainer,ref:function(e){!p.current&&e&&(p.current=e,g())},onScroll:g},n.Children.map(e.children,function(e,t){return n.cloneElement(e,{ref:function(e){d.current[t]=e,h(e)}})})),r&&n.createElement("img",{src:c(),alt:"Right Arrow Icon",className:b.rightArrow,onClick:function(){E(1)}}))}},10748:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(63696),a=r(40134),l=r(28903),i=r(4618),c=r(24079),o=r(5167),u=r(75299),s=r(693),f=r(38646),m=r(73185);let d=function(){var e=(0,a.useSelector)(i.zi),t=(0,a.useSelector)(l.BV);return{trackNewProject:n.useCallback(function(r){(0,f.A)(s.A.CLICK_PROJECT,{language:e,user_id:(0,c.A)(t),page_type:u.A.HOME,view_section:m.A.NEW_PROJECTS,name:"Project Slug",value:r})},[t,e]),trackViewAllProjects:n.useCallback(function(){(0,f.A)(s.A.VIEW_ALL,{language:e,user_id:(0,c.A)(t),event_unique_id:(0,o.A)(),page_type:u.A.HOME,view_section:m.A.NEW_PROJECTS})},[t,e])}}}}]);
2//# sourceMappingURL=newProjects.0b3c9838de9f655f.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.