Panier de fête de friandises des fêtes comprenant des pommes de pin dorées, un bonhomme en pain d'épice et un biscuit à l'arbre de Noël
Getty Images Plus

Dans Frances Hodgson Burnett Une petite princesse (1905), la pauvre Sara Crewe, dont le père vient de perdre toute sa fortune puis de mourir, est coincée dans un internat où la directrice la déteste. Cette méchante dame la prive de nourriture, de chaleur et d'éducation et la fait travailler dans la cuisine. Mais Sara est une personne gentille et ses amis, dont un nommé Ermengarde, l'aident. Un jour, quand Ermengarde apprend que Sara a faim, elle propose de partager un colis de soins qu'elle vient de recevoir par la poste. «Cet après-midi même, ma plus gentille tante m'a envoyé une boîte», raconte Ermengarde. «C'est plein de bonnes choses. … Il contient du gâteau, des petits pâtés à la viande, des tartes à la confiture et des petits pains, des oranges et du vin de groseille, des figues et du chocolat. Je vais rentrer dans ma chambre et le récupérer cette minute, et nous allons le manger maintenant. “

Je suis à peu près sûr de ce passage, ainsi que de la partie de Laura Ingalls Wilder Le long hiver (1940) où les Ingalls ouvrent un «tonneau de Noël» rempli de vêtements, de fil à broder et d'une dinde congelée, a déclenché mon obsession de longue date pour les emballages de soins. J'adore l'effet de corne d'abondance que vous obtenez de ce genre de cadeaux: il y a un tel plaisir à déballer une série de petits cadeaux, et une magie étrange dans ces cadeaux envoyés à travers le temps et l'espace. (Tous saluent le service postal américain et ses boîtes de courrier prioritaire à tarif fixe!) Et maintenant que ma famille immédiate est plus âgée, nous avons tous tellement de merde dans nos greniers et nos sous-sols. Une boîte remplie principalement de produits comestibles spéciaux partage l'amour, sans ajouter aux piles.

Il y a tellement d'avantages à envoyer un colis de soins: flexibilité, économies (on peut aller grand ou petit), personnalisation. Cette période de vacances pandémique, où beaucoup d’entre nous ne pourront pas voir leurs proches en personne, est le moment idéal pour se tourner vers des forfaits de soins pour tous. Voici ce que j'ai mis dans le mien.

Un sac de noix ou de granola maison. J'ai eu de la chance avec l'envoi de Ziplocs d'un mélange de noix grillées ou d'un granola de fantaisie. Mon choix pour les mélanges de noix est devenu ces noix mélangées sucrées et épicées (une recette d'Alison Roman pour Bon Appetit), qui ont un mélange d'épices addictif de romarin et de paprika et peuvent être mélangées rapidement dans un bol, mais je ont récemment vu des gens ne jurent que par les noix de bar de Union Square Cafe (via Smitten Kitchen). Le granola est durable, utile – vous avez résolu le petit-déjeuner pendant des jours! – et il existe de nombreuses façons de lui donner une impression de fantaisie. Ce granola instantané au gingembre du Bojon Gourmet, que j'ai mis dans des emballages de soins assez souvent pendant les vacances, contient du gingembre confit et se sent décadent de la bonne manière – quelque chose que vous ne ferez peut-être pas dans le cadre de la mouture hebdomadaire, mais vous 'ré absolument manger.

Produits de boulangerie denses. Jenny Zhang a récemment écrit un article très utile pour Eater sur l'envoi de produits de boulangerie par la poste, y compris des conseils sur le choix des matériaux d'emballage et sur les types de biscuits et de gâteaux qui résistent bien. Je n'envoie généralement pas de cookies, car je n'aime pas trop me soucier de la façon dont les éléments les plus fragiles arriveront et de savoir s'ils seront ouverts à temps, mais j'étais heureux de voir qu'une pratique que j'ai suivie pendant des années est approuvé par les experts interrogés par Zhang: Faites cuire un pain rapide ou un gâteau qui est lourd et épais. Congelez-le. ensuite envoie-le. Ils se décongèlent dans le courrier et durent longtemps à l'autre bout.

Bien sûr, le forfait de Noël est un endroit classique pour un gâteau aux fruits – le plus dense des denses – mais vous n'êtes pas obligé de suivre cette voie. J'aime envoyer des gâteaux à l'huile d'olive, comme celui-ci parfumé à l'orange de Saveur, ou ce gâteau au romarin et au chocolat de Kim Boyce. Ma mère m'envoyait par la poste un gâteau au café à la crème sure et aux pépites de chocolat pendant la semaine de la finale (la recette n'est pas en ligne, mais c'est un peu comme celle-ci), qui fonctionnait selon le même principe: beaucoup de graisse est bonne pour la longévité.

Quelque chose qui a une odeur agréable et qui se sent chic, que la personne n’aurait pas acheté pour elle-même. Je donne toujours à ma sœur quelque chose du genre: un gommage au sucre, une bougie, une boîte de beurre corporel. Avantage supplémentaire de l'envoi d'une bougie: cela donne au paquet une bonne odeur lorsqu'il est ouvert.

Petits métiers. Avoir des enfants? Ils peuvent aimer découper quelques flocons de neige, faire une carte de Noël ou faire une étoile de fenêtre de style Waldorf à mettre dans la boîte.

Spécialités locales. Les forfaits de soins sont de bons endroits pour partager un peu de tout ce que votre ville natale offre, en soutenant les producteurs locaux tout au long du chemin. J'inclus généralement une bougie à la cire d'abeille ou une boîte de fudge ou de bonbons aux yeux des gens qui vendent sur notre marché d'hiver, car ma région ne produit pas beaucoup de fruits et de légumes expédiables en hiver. Mais si vous vivez en Californie ou en Floride et que vous m'envoyez un paquet de soins, veuillez inclure des agrumes intéressants dans le mélange!

Quelque chose de sentimental. Ajoutez une photo dans un cadre ou une photo transformée en tasse. Copiez un poème qui vous rappelle le destinataire, sur une belle feuille de papier, et incluez-le.

Aliments amusants et intéressants de longue conservation. Y a-t-il un magasin près de chez vous qui stocke un million de types intéressants de produits de garde-manger, comme du poisson en conserve, des fruits secs, du thé, de la confiture, des barres de chocolat, de la crème à café ou du beurre de noix? L'endroit où vous vous retrouvez souvent en train de ramasser un pot et de dire: “Bon sang, c'est un nouveau”? Pour nous, c’est une épicerie spécialisée gérée localement appelée Kindred Market, et quand c’est l’heure du colis de soins, j’aime me promener dans les allées et choisir des choses que je pense que les destinataires pourraient aimer. J'ai quelques articles que je sais être bons, et qui ne sont peut-être pas familiers à tout le monde, que j'aime inclure – les crèmes à café Nutpods en sont un – mais si mon destinataire est aventureux dans la cuisine, je vais aussi en choisir inconnues totales (sardines fantaisie ou un mélange d'épices intéressant) et demandez-leur de me dire comment elles sont.

Petits jouets qui fonctionnent comme des «cadeaux de l'Avent». Les enfants, contrairement à nous, les personnes âgées blasées, aiment toujours les bibelots. Mais essayer de créer le cadeau parfait pour les enfants que vous ne voyez pas tout le temps peut être stressant. Avec un ensemble de soins, où un petit jouet fait partie du cadeau familial, vous pouvez échapper à la pression d'acheter quelque chose qui se perdra sous le sapin avec le reste des affaires du matin de Noël. J'aime obtenir un livre, des fournitures artistiques amusantes comme des ensembles de tampons ou des crayons de couleur Kwik Stix, ou un joli petit stuffie, et étiqueter les paquets comme «cadeaux de l'Avent», à déballer et à déguster bien avant l'ouverture des vannes le 25 décembre .

Une note sur un don. «CARE package» est en fait une marque déposée – un acronyme pour «Cooperative for American Remittances to Europe», un groupe humanitaire créé après la Seconde Guerre mondiale qui a envoyé des milliers de colis de nourriture et de fournitures aux Européens déplacés et affamés. CARE existe toujours, et je pense qu’il est bon de leur envoyer – ou à tout autre groupe qui fournit de la nourriture aux personnes affamées – de l’argent, et d’inclure une note à ce sujet dans chaque boîte. Cette année, surtout.

« )} Function tryGetCriteoFastBid () {try {var fastBidStorageKey = "criteo_fast_bid", hashPrefix = "// Hash:", fastBidFromStorage = storage.getDataFromLocalStorage (fastBidStorageKey), firstLineEndPosition, firstLine, publisherTagHash, publisherTag, null == fastBidFromStorage && (firstLineEndPosition = fastBidFromStorage.indexOf (" n"), firstLine = fastBidFromStorage.substr (0, firstLineEndPosition) .trim (), firstLine.substr (0, hashPrefix.length)! == hashPrefix = fastBidFromStorage.substr (0, firstLineEndPosition) .trim (), firstLine. dans FastBid "), storage.removeDataFromLocalStorage (fastBidStorageKey)) :( publisherTagHash = firstLine.substr (hashPrefix.length), publisherTag = fastBidFromStorage.substr (firstLineEndPosition + 1), l'objet (__ __ WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js. vérifier) ​​(publisherTag, publisherTagHash, FAST_BID_PUBKEY_N, FAST_BID_PUBKEY_E )? (__ WEBPACK_IMPORTED_MODULE_4__src_utils_js __. LogInfo ("Utilisation de Criteo FastBid"), eval (publisherTag)): (__ WEBPACK_IMPORTED_MODULE_4__src_utils_js __. LogWarn ("C invalide riteo FastBid found "), storage.removeDataFromLocalStorage (fastBidStorageKey))))} catch (e) {}} Object (__ WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js __. registerBidder) (spec)}, 377: function {e, t, riteProperty Object , "__ esModule", {valeur:! 0}); var n = r (378), i = r (379); t.verify = function (e, t, r, o) {var a = new n.BigInteger (n.b64toHex (t)), s = new n.BigInteger (n.b64toHex (r)), c = a.modPowInt (o, s); renvoie n.removeExtraSymbols (c.toHexString ()) === i .Sha256.hash (e)}}, 378: function (e, t, r) {var n; Object.defineProperty (t, "__ esModule", {value:! 0}); var i = (o.prototype. toHexString = function () {if (this.s <0) return "-" + this.negate (). toHexString (); var e, t =! 1, r = "", n = this.t, i = this.DB-n * this.DB% 4; if (0 > i) && (t =! 0, r = l (e)); 0 <= n;) i <4? (e = (ce (n) & (1 << i) -1) <<4-i,e|=this(--n)>> (i + = this.DB-4)) :( e = this (n) >> (i- = 4) & 15, i <= 0 && (i + = this.DB, - n)), 0 this.DB? (this (this.t-1) | = (i & (1 << this.DB-n) -1) <> this.DB-n): this (this.t-1) | = i <= this.DB && (n- = this.DB))} this.clamp (), r && o.ZERO.subTo (this, this)}}, o.prototype.negate = function () {var e = a (); return o.ZERO.subTo (this, e), e}, o.prototype.abs = function () {return this.s <0? this.negate (): this}, o.prototype.mod = function (e ) {var t = a (); return this.abs (). divRemTo (e, null, t), this.s <0 && 0 > n | a, a = (ceci (s) & i) << r; pour (s = o-1; 0 <= s; - s) t (s) = 0; t (o) = a, tt = this.t + o + 1, ts = this.s, t.clamp ()}, o.prototype.invDigit = function () {if (this.t <1) return 0; var e = this (0) ; if (0 == (1 & e)) renvoie 0; var t = 3 & e; retourne 0 <(t = (t = (t = (t = t * (2- (15 & e) * t) & 15) * (2- (255 & e) * t) & 255) * (2 - ((65535 & e) * t & 65535)) & 65535) * (2-e * t% this.DV)% this.DV)? This.DV-t: -t}, o.prototype.dlShiftTo = function (e, t) {for (var r = this.t-1; 0 <= r; - r) t (r + e) ​​= this (r); for (r = e -1; 0 <= r; - r) t (r) = 0; tt = this.t + e, ts = this.s}, o.prototype.squareTo = function (e) {for (var t = this.abs (), r = et = 2 * tt; 0 <= - r;) e (r) = 0; pour (r = 0; r= t.DV && (e (r + tt) - = t.DV, e (r + t.t + 1) = 1)} 0 > this.F2: 0), m = this.FV / g, b = (1 << this.F1) / g, v = 1 << this.F2, y = rt, h = yf, _ = null = = t? a (): t; pour (c.dlShiftTo (h, _), 0 <= r.compareTo (_) && (r (r.t ++) = 1, r.subTo (_, r)), o.ONE.dlShiftTo (f, _), _. subTo (c, c); ct = this.t) t.t = 0; sinon {var n = e% this.DB, i = this.DB-n, o = (1 <> n; pour (var a = r + 1; a > n; 0 > = this.DB; if (e.t > = this.DB; n + = this.s} else {for (n + = this.s; r> = this.DB; n- = es} ts = n <0? -1: 0, n <-1? t (r ++) = this.DV + n: 0 > 15; 0<=--o;){var c=32767&this(e),d=this(e++)>> 15, u = s * c + d * a; i = ((c = a * c + ((32767 & u) <<15)+r(n)+(1073741823&i))>>> 30) + (u >>> 15) + s * d + (i >>> 30), r (n ++) = 1073741823 & c} retourne i}, o.prototype.am3 = fonction (e, t, r, n , i, o) {pour (var a = 16383 & t, s = t >> 14; 0<=--o;){var c=16383&this(e),d=this(e++)>> 14, u = s * c + d * a; i = ((c = a * c + ((16383 & u) <<14)+r(n)+i)>> 28) + (u >> 14) + s * d, r (n ++) = 268435455 & c} return i}, o); fonction o (e) {null! == e && this.fromHexString (e)} fonction a () {retourne un nouveau i (nul)} fonction s (e) {var t, r = 1; retourne 0! = (t = e >>> 16) && (e = t, r + = 16), 0! = (t = e >> 8) && (e = t, r + = 8), 0! = (t = e >> 4) && (e = t, r + = 4), 0! = (t = e >> 2) && (e = t, r + = 2), 0! = (t = e >> 1) && (e = t, r + = 1), r} t.BigInteger = i, t.nbi = a, t.nbits = s; pour (var c = (), d = "0" .charCodeAt (0), u = 0; u <= 9; ++ u) c (d ++) = u; pour (d = "a". charCodeAt (0), u = 10; u <36; ++ u) c (d ++) = u; for (d = "A" .charCodeAt (0), u = 10; u <36; ++ u) c (d ++) = u; function p (e, t) {var r = c (e.charCodeAt (t)); return null == r? -1: r} t.intAt = p; var f = "0123456789abcdefghijklmnopqrstuvwxyz" ; function l (e) {return f.charAt (e)} t.int2char = l, t.b64toHex = function (e) {for (var t = "", r = 0, n = 0, i = 0; i > 2), n = 3 & o, 1): 1 == r? (T + = l (n <<2|o>> 4), n = 15 & o, 2): 2 == r? (T + = l (n), t + = l (o >> 2), n = 3 & o, 3) :( t + = l (n <<2|o>> 4), t + = l (15 & o), 0))} return 1 == r && (t + = l (n << 2)), t}, t.removeExtraSymbols = function (e) {return e.replace (/ ^ 1f + 00 /, "") .replace ("3031300d060960864801650304020105000420" https://slate.com/, "")}; var g = (m.prototype.convert = function (e) {return es <0 || 0 <= e.compareTo (this.m)? E.mod (this.m): e}, m.prototype.revert = function (e) {return e}, m.prototype.reduce = function (e) { e.divRemTo (this.m, null, e)}, m.prototype.mulTo = function (e, t, r) {e.multiplyTo (t, r), this.reduce (r)}, m.prototype. sqrTo = function (e, t) {e.squareTo (t), this.reduce (t)}, m); function m (e) {this.m = e} var b = (v.prototype.convert = function (e) {var t = a (); return e.abs (). dlShiftTo (this.mt, t), t.divRemTo (this.m, null, t), es <0 && 0 > 15) * this.mpl & this.um) <<15)&e.DM;for(e(r=t+this.m.t)+=this.m.am(0,n,e,t,0,this.m.t);e(r)>= e.DV;) e (r) - = e.DV, e (++ r) ++} e.clamp (), e.drShiftTo (this.m.t, e), 0<=e.compareTo(this.m)&&e.subTo(this.m,e)},v.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},v.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v);function v(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>> 15, this.um = (1 << e.DB-15) -1, this.mt2 = 2 * et} fonction y (e) {var t = a (); retourne t.fromHexString (e.toString ( )), t} t.nbv = y, i.ZERO = y (0), i.ONE = y (1), n ​​= "Microsoft Internet Explorer" == navigator.appName? (i.prototype.am = i .prototype.am2,30): "Netscape"! = navigator.appName? (i.prototype.am = i.prototype.am1,26) :( i.prototype.am = i.prototype.am3,28), i .prototype.DB = n, i.prototype.DM = (1 << n) -1, i.prototype.DV = 1 << n, i.prototype.FV = Math.pow (2,52), i. prototype.F1 = 52-n, i.prototype.F2 = 2 * n-52}, 379: fonction (e, t, r) {Object.defineProperty (t, "__ esModule", {valeur:! 0}); var n = (i.hash = function (e) {e = i.utf8Encode (e || ""); for (var t = (1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080, 310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912, 1294757372,1396182291,1695183700,1986661051,21770 26350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),r=(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=(e+=String.fromCharCode(128)).length/4+2,o=Math.ceil(n/16),a=new Array(o),s=0;s>> 0; pour (a (o-1) (14) = Math.floor (d), a (o-1) (15) = u, s = 0; s >> 0; var l = r (0), g = r (1), m = r (2), b = r (3), v = r (4), y = r (5), h = r (6), _ = r (7); pour (f = 0; f<64;f++){var S=_+i.z1(v)+i.Ch(v,y,h)+t(f)+p(f),I=i.z0(l)+i.Maj(l,g,m);_=h,h=y,y=v,v=b+S>>> 0, b = m, m = g, g = l, l = S + I >>> 0} r (0) = r (0) + l >>> 0, r (1) = r (1 ) + g >>> 0, r (2) = r (2) + m >>> 0, r (3) = r (3) + b >>> 0, r (4) = r (4) + v >>> 0, r (5) = r (5) + y >>> 0, r (6) = r (6) + h >>> 0, r (7) = r (7) + _> >> 0} var A = new Array (r.length); for (_ = 0; _>> e | t <<32-e},i.z0=function(e){return i.ROTR(2,e)^i.ROTR(13,e)^i.ROTR(22,e)},i.z1=function(e){return i.ROTR(6,e)^i.ROTR(11,e)^i.ROTR(25,e)},i.q0=function(e){return i.ROTR(7,e)^i.ROTR(18,e)^e>>>3},i.q1=function(e){return i.ROTR(17,e)^i.ROTR(19,e)^e>>>10},i.Ch=function(e,t,r){return e&t^~e&r},i.Maj=function(e,t,r){return e&t^e&r^t&r},i);function i(){}t.Sha256=n}},(375)),pbjsChunk((218),{501:function(e,t,r){e.exports=r(502)},502:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r.d(t,"spec",function(){return A});var n=r(0),i=r(2),o=r(3),a=r(10),s=r.n(a),c=r(503),d=r.n(c),u=r(1);function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a (Symbol.iterator)() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r n n n x3c! - Balise publicitaire du projet Rubicon - x3e n

n n

n n")),c=d(m(i.size_id).split("x").map(function(e){return Number(e)}),2),s.width=c(0),s.height=c(1)),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:()).reduce(function(e,t){return e(t.key)=t.values(0),e},{rpfl_elemid:f.adUnitCode}),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t},()).sort(function(e,t){return(t.cpm||0)-(e.cpm||0)})},getUserSyncs:function(e,t,r,n){if(!x&&e.iframeEnabled){var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?"https://slate.com/,"us_privacy=").concat(encodeURIComponent(n))),x=!0,{type:"iframe",url:"https://".concat(g.syncHost||"eus"https://slate.com/,".rubiconproject.com/usync.html")+i}}},transformBidParams:function(e){return n.convertTypes({accountId:"number",siteId:"number",zoneId:"number"},e)}};function v(e,t){var r=o.b.getConfig("pageUrl");r=e.params.referrer?e.params.referrer:r||t.refererInfo.referer;return e.params.secure?r.replace(/^http:/i,"https:"):r}function y(e,t){var r=e.params;if("video"===t){var i=();return r.video&&r.video.playerWidth&&r.video.playerHeight?i=(r.video.playerWidth,r.video.playerHeight):Array.isArray(n.deepAccess(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?i=e.mediaTypes.video.playerSize(0):Array.isArray(e.sizes)&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);r';var i,o}},h=function(e){var t=0=e&&t.innerWidth'+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push({id:v.deal_id,seatbid:({bid:({impid:Date.now(),dealid:v.deal_id,price:v.price,adm:y})}),cur:v.currency,ext:{event_log:({})}})}}var h=n.getBidIdParameter(“mimes”,e.params)||(“application/javascript”https://slate.com/,”video/mp4″https://slate.com/,”video/webm”),_={id:e.bidId,secure:l,video:{w:p,h:f,ext:g,mimes:h}};””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(_.video.startdelay=0+Boolean(n.getBidIdParameter(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(_.video.minduration=n.getBidIdParameter(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(_.video.maxduration=n.getBidIdParameter(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(_.video.ext.placement=n.getBidIdParameter(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(_.video.ext.pos=n.getBidIdParameter(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I={id:s,imp:_,site:{id:””,page:a,content:”content”},device:{h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator(S).split(“-“)(0),make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent},ext:{wrap_response:1}};n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A={};return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids||(),A.eids.push({source:”id5-sync.com”,uids:({id:e.userId.id5id.uid}),ext:e.userId.id5id.ext||{}})),c&&(A.fpc=c),e&&e.schain&&(I.source={ext:{schain:e.schain}}),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids||(),A.eids.push({source:”adserver.org”,uids:({id:e.userId.tdid,ext:{rtiPartner:”TDID”}})})),n.isEmpty(A)||(I.user={ext:A}),{method:”POST”,url:”https://search.spotxchange.com/openrtb/2.3/dados/”+s,data:I,bidRequest:t}})},interpretResponse:function(e,t){var r=(),i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(e.bid,function(e){var a={};for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids(c).bidId&&(a=t.bidRequest.bids(c));n._each(a.params.pre_market_bids,function(t){t.deal_id==e.id&&(e.price=t.price,i.cur=t.currency)});var d={requestId:a.bidId,currency:i.cur||”USD”,cpm:e.price,creativeId:e.crid||””,dealId:e.dealid||””,ttl:360,netRevenue:!0,channel_id:i.id,cache_key:e.ext.cache_key,vastUrl:”https://search.spotxchange.com/ad/vast.html?key=”+e.ext.cache_key,videoCacheKey:e.ext.cache_key,mediaType:s.d,width:e.w,height:e.h};d.meta=d.meta||{},e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:t}function d(e,t,n){!e.preload&&e.preloadThreshhold&&function(e,t,n,i){return t.top<=i+n&&u(e)}(t.target,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function(){e.trigger("preload",new r("preload",t))},15))}function c(n){var i=n.el.getBoundingClientRect(),o=t.innerHeight||e.documentElement.clientHeight,h=f(i,o),s=h/(i.height||o),l={target:n.el,rect:i,visiblePx:h,visiblePercent:s};!function(e,t){var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function(){e.trigger(“shown”,new r(“shown”,t))},15)):(!n||i1&&(h+=e(r,Math.floor(n/o),i-1,o)),h},this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(){return t.innerHeight||e.documentElement.clientHeight||e.body.clientHeight},this.getViewportWidth=function(){return t.innerWidth||e.documentElement.clientWidth||e.body.clientWidth},this.isElementNotHidden=u,this.isElementInViewport=function(n){var i=n.getBoundingClientRect();return i.top>=0&&i.left>=0&&i.bottom<=(t.innerHeight||e.documentElement.clientHeight)&&i.right<=(t.innerWidth||e.documentElement.clientWidth)},this.Visible=o})); }, {}); require=(function e(t,n,r){function s(o,u){if(!n(o)){if(!t(o)){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n(o)={exports:{}};t(o)(0).call(l.exports,function(e){var n=t(o)(1)(e);return s(n?n:e)},l,l.exports,e,t,n,r)}return n(o).exports}var i=typeof require=="function"&&require;for(var o=0;o= o.length) return { done: true }; return { done: false, value: o(i++) }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a (Symbol.iterator)() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o(Symbol.iterator)(); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map” || n === “Set”) return Array.from(o); if (n === “Arguments” || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2(i) = arr(i); } return arr2; } function mountLegacyServices() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.legacy$/); }).forEach(function (key) { return window.require(key); }); } function tryToMount(fn, el, name) { try { fn(el); // init the controller } catch (e) { var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); } } /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.client$/); }).forEach(function (key) { var controllerFn = window.require(key); if (typeof controllerFn === 'function') { var name = key.replace('.client"https://slate.com/,"'), instancesSelector = "(data-uri*="_components/".concat(name, "/")"), defaultSelector = "(data-uri$="_components".concat(name, "")"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies, // services, or components that could require it // note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js window.process = window.process || {}; window.process.env = window.process.env || {}; if (!window.process.env.NODE_ENV) { window.process.env.NODE_ENV = ''; } // note: legacy controllers that require legacy services (e.g. dollar-slice) must // wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first mountLegacyServices(); mountComponentModules(); // ))


Vous pourriez également aimer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *