[{"data":1,"prerenderedAt":982},["ShallowReactive",2],{"tip-topic-nuxt":3,"tips-index-nuxt":22},{"id":4,"title":5,"body":6,"description":13,"extension":14,"icon":15,"meta":16,"navigation":17,"order":11,"path":18,"seo":19,"stem":20,"__hash__":21},"tipTopics\u002Ftips\u002Fnuxt\u002Findex.md","Nuxt",{"type":7,"value":8,"toc":9},"minimark",[],{"title":10,"searchDepth":11,"depth":11,"links":12},"",2,[],"Practical Nuxt patterns from production projects: print layouts, PDF pages and other details the framework docs skip.","md",null,{},true,"\u002Ftips\u002Fnuxt",{"title":5,"description":13},"tips\u002Fnuxt\u002Findex","0jWOh6U_WEaGSaHUMHqpZHvFZltZ6FcxoSkRQbjfCSU",[23],{"id":24,"title":25,"body":26,"category":969,"date":970,"description":971,"extension":14,"meta":972,"navigation":17,"order":125,"path":973,"readingTime":354,"seo":974,"stem":976,"tags":977,"__hash__":981},"tips\u002Ftips\u002Fnuxt\u002Fprint-perfect-pdf-pages-in-nuxt.md","Print-Perfect PDF Pages in Nuxt",{"type":7,"value":27,"toc":958},[28,37,40,45,48,51,84,91,98,102,111,114,161,164,187,190,209,213,216,358,361,367,371,374,413,416,526,532,536,546,618,623,630,634,637,725,736,748,755,759,762,777,783,814,817,827,865,869,872,920,923,930,934,937,940,946,949,954],[29,30,31,32,36],"p",{},"I needed my CV as a web page and as a PDF. The obvious approach — one page, a ",[33,34,35],"code",{},"@media print"," block — produced a genuinely bad PDF.",[29,38,39],{},"The fix was to stop trying. Two routes, two layouts, one data source. It is a better pattern than it sounds, and the reasons are worth spelling out.",[41,42,44],"h2",{"id":43},"why-print-styles-on-a-screen-page-fail","Why print styles on a screen page fail",[29,46,47],{},"The screen page was built for a dark theme at 1200px+ with generous section padding. Print needs white paper at 210mm with tight spacing. Overriding one into the other means fighting every decision the screen layout made.",[29,49,50],{},"Concretely, from the version I threw away:",[52,53,54,65,71,74,81],"ul",{},[55,56,57,58,61,62],"li",{},"Section padding of ",[33,59,60],{},"py-16"," had to be crushed to ",[33,63,64],{},"0.55rem",[55,66,67,70],{},[33,68,69],{},"max-w-5xl"," kept content boxed inside the paper margin, wasting width",[55,72,73],{},"Every dark-theme colour needed an explicit light override",[55,75,76,77,80],{},"A ",[33,78,79],{},"ring-4"," in the theme background painted dark squares on white paper",[55,82,83],{},"The fixed header was still in flow, and the hero's header offset came with it",[29,85,86,87,90],{},"Each fix is an ",[33,88,89],{},"!important"," fighting a utility class. The result was fragile — every screen tweak risked the PDF, invisibly, because nobody looks at print preview after a CSS change.",[29,92,93,94,97],{},"The killer was subtler. I had written ",[33,95,96],{},"section { break-inside: avoid }",", intending \"don't split a job entry\". Applied to a section, it means \"don't split this entire section\", so the whole experience block tried to fit on one page and pagination fell apart.",[41,99,101],{"id":100},"the-pattern-that-works","The pattern that works",[103,104,109],"pre",{"className":105,"code":107,"language":108},[106],"language-text","app\u002Fdata\u002Fcv.ts                → single source of truth\napp\u002Fpages\u002Fcv\u002Findex.vue        → screen page, site theme\napp\u002Fpages\u002Fcv\u002Fprint.vue        → A4 document\napp\u002Flayouts\u002Fprint.vue         → \u003Cslot \u002F> and nothing else\n","text",[33,110,107],{"__ignoreMap":10},[29,112,113],{},"The blank layout is the important bit:",[103,115,119],{"className":116,"code":117,"language":118,"meta":10,"style":10},"language-vue shiki shiki-themes github-light github-dark","\u003Ctemplate>\n \u003Cslot \u002F>\n\u003C\u002Ftemplate>\n","vue",[33,120,121,137,151],{"__ignoreMap":10},[122,123,126,130,134],"span",{"class":124,"line":125},"line",1,[122,127,129],{"class":128},"sVt8B","\u003C",[122,131,133],{"class":132},"s9eBZ","template",[122,135,136],{"class":128},">\n",[122,138,139,142,145,149],{"class":124,"line":11},[122,140,141],{"class":128}," \u003C",[122,143,144],{"class":132},"slot",[122,146,148],{"class":147},"s7hpK"," \u002F",[122,150,136],{"class":128},[122,152,154,157,159],{"class":124,"line":153},3,[122,155,156],{"class":128},"\u003C\u002F",[122,158,133],{"class":132},[122,160,136],{"class":128},[29,162,163],{},"No header, no footer, no navigation. Nothing to hide, so nothing to fight. Then in the page:",[103,165,169],{"className":166,"code":167,"language":168,"meta":10,"style":10},"language-js shiki shiki-themes github-light github-dark","definePageMeta({ layout: 'print' })\n","js",[33,170,171],{"__ignoreMap":10},[122,172,173,177,180,184],{"class":124,"line":125},[122,174,176],{"class":175},"sScJk","definePageMeta",[122,178,179],{"class":128},"({ layout: ",[122,181,183],{"class":182},"sZZnC","'print'",[122,185,186],{"class":128}," })\n",[29,188,189],{},"Both pages import the same data module, so content cannot drift. Update a job description once, both surfaces change.",[29,191,192,193,196,197,200,201,204,205,208],{},"One routing gotcha: ",[33,194,195],{},"pages\u002Fcv.vue"," and ",[33,198,199],{},"pages\u002Fcv\u002Fprint.vue"," cannot coexist — the first becomes a parent route needing ",[33,202,203],{},"\u003CNuxtPage \u002F>",". Move it to ",[33,206,207],{},"pages\u002Fcv\u002Findex.vue",".",[41,210,212],{"id":211},"render-the-paper-on-screen","Render the paper on screen",[29,214,215],{},"The technique that makes this pleasant: draw the actual sheet in the browser.",[103,217,221],{"className":218,"code":219,"language":220,"meta":10,"style":10},"language-css shiki shiki-themes github-light github-dark",".page {\n display: flex;\n width: 210mm;\n height: 297mm;\n margin: 0 auto;\n background: #fff;\n box-shadow: 0 8px 40px rgba(0, 0, 0, 0.35);\n}\n","css",[33,222,223,231,246,262,277,293,306,352],{"__ignoreMap":10},[122,224,225,228],{"class":124,"line":125},[122,226,227],{"class":175},".page",[122,229,230],{"class":128}," {\n",[122,232,233,237,240,243],{"class":124,"line":11},[122,234,236],{"class":235},"sj4cs"," display",[122,238,239],{"class":128},": ",[122,241,242],{"class":235},"flex",[122,244,245],{"class":128},";\n",[122,247,248,251,253,256,260],{"class":124,"line":153},[122,249,250],{"class":235}," width",[122,252,239],{"class":128},[122,254,255],{"class":235},"210",[122,257,259],{"class":258},"szBVR","mm",[122,261,245],{"class":128},[122,263,265,268,270,273,275],{"class":124,"line":264},4,[122,266,267],{"class":235}," height",[122,269,239],{"class":128},[122,271,272],{"class":235},"297",[122,274,259],{"class":258},[122,276,245],{"class":128},[122,278,280,283,285,288,291],{"class":124,"line":279},5,[122,281,282],{"class":235}," margin",[122,284,239],{"class":128},[122,286,287],{"class":235},"0",[122,289,290],{"class":235}," auto",[122,292,245],{"class":128},[122,294,296,299,301,304],{"class":124,"line":295},6,[122,297,298],{"class":235}," background",[122,300,239],{"class":128},[122,302,303],{"class":235},"#fff",[122,305,245],{"class":128},[122,307,309,312,314,316,319,322,325,327,330,333,335,338,340,342,344,346,349],{"class":124,"line":308},7,[122,310,311],{"class":235}," box-shadow",[122,313,239],{"class":128},[122,315,287],{"class":235},[122,317,318],{"class":235}," 8",[122,320,321],{"class":258},"px",[122,323,324],{"class":235}," 40",[122,326,321],{"class":258},[122,328,329],{"class":235}," rgba",[122,331,332],{"class":128},"(",[122,334,287],{"class":235},[122,336,337],{"class":128},", ",[122,339,287],{"class":235},[122,341,337],{"class":128},[122,343,287],{"class":235},[122,345,337],{"class":128},[122,347,348],{"class":235},"0.35",[122,350,351],{"class":128},");\n",[122,353,355],{"class":124,"line":354},8,[122,356,357],{"class":128},"}\n",[29,359,360],{},"A white A4 rectangle on a grey backdrop. Now what you see while developing is what comes out of the printer — no opening print preview after every change, and overflow is visible because content spills past the white edge.",[29,362,363,364,366],{},"CSS understands ",[33,365,259],{},". Use it. Reasoning in millimetres against a known paper size is far easier than translating pixels.",[41,368,370],{"id":369},"zero-page-margin-padding-inside","Zero page margin, padding inside",[29,372,373],{},"Counter-intuitive, but for anything with a full-height sidebar:",[103,375,377],{"className":218,"code":376,"language":220,"meta":10,"style":10},"@page {\n size: A4 portrait;\n margin: 0;\n}\n",[33,378,379,386,399,409],{"__ignoreMap":10},[122,380,381,384],{"class":124,"line":125},[122,382,383],{"class":258},"@page",[122,385,230],{"class":128},[122,387,388,391,394,397],{"class":124,"line":11},[122,389,390],{"class":235}," size",[122,392,393],{"class":128},": A4 ",[122,395,396],{"class":235},"portrait",[122,398,245],{"class":128},[122,400,401,403,405,407],{"class":124,"line":153},[122,402,282],{"class":235},[122,404,239],{"class":128},[122,406,287],{"class":235},[122,408,245],{"class":128},[122,410,411],{"class":124,"line":264},[122,412,357],{"class":128},[29,414,415],{},"Then pad inside the sheet:",[103,417,419],{"className":218,"code":418,"language":220,"meta":10,"style":10},".side { width: 58mm; padding: 12mm 6mm 12mm 12mm; border-right: 0.75px solid #b9bec3; }\n.main { flex: 1; padding: 12mm 12mm 12mm 7mm; }\n",[33,420,421,487],{"__ignoreMap":10},[122,422,423,426,429,432,434,437,439,442,445,447,450,452,455,457,460,462,464,466,468,471,473,476,478,481,484],{"class":124,"line":125},[122,424,425],{"class":175},".side",[122,427,428],{"class":128}," { ",[122,430,431],{"class":235},"width",[122,433,239],{"class":128},[122,435,436],{"class":235},"58",[122,438,259],{"class":258},[122,440,441],{"class":128},"; ",[122,443,444],{"class":235},"padding",[122,446,239],{"class":128},[122,448,449],{"class":235},"12",[122,451,259],{"class":258},[122,453,454],{"class":235}," 6",[122,456,259],{"class":258},[122,458,459],{"class":235}," 12",[122,461,259],{"class":258},[122,463,459],{"class":235},[122,465,259],{"class":258},[122,467,441],{"class":128},[122,469,470],{"class":235},"border-right",[122,472,239],{"class":128},[122,474,475],{"class":235},"0.75",[122,477,321],{"class":258},[122,479,480],{"class":235}," solid",[122,482,483],{"class":235}," #b9bec3",[122,485,486],{"class":128},"; }\n",[122,488,489,492,494,496,498,501,503,505,507,509,511,513,515,517,519,522,524],{"class":124,"line":11},[122,490,491],{"class":175},".main",[122,493,428],{"class":128},[122,495,242],{"class":235},[122,497,239],{"class":128},[122,499,500],{"class":235},"1",[122,502,441],{"class":128},[122,504,444],{"class":235},[122,506,239],{"class":128},[122,508,449],{"class":235},[122,510,259],{"class":258},[122,512,459],{"class":235},[122,514,259],{"class":258},[122,516,459],{"class":235},[122,518,259],{"class":258},[122,520,521],{"class":235}," 7",[122,523,259],{"class":258},[122,525,486],{"class":128},[29,527,528,529,531],{},"With ",[33,530,383],{}," margins, the sidebar rule stops at the margin edge and floats in the middle of the page. With zero margin and internal padding, it runs the full height as intended.",[41,533,535],{"id":534},"absolute-units-always","Absolute units, always",[29,537,538,539,542,543,545],{},"The site scales type in ",[33,540,541],{},"rem",". On the print page, everything is ",[33,544,321],{},":",[103,547,549],{"className":218,"code":548,"language":220,"meta":10,"style":10},".cv-shell { font-size: 9px; line-height: 1.34; }\n.name     { font-size: 23px; }\n.job-dates{ font-size: 8.4px; }\n",[33,550,551,580,599],{"__ignoreMap":10},[122,552,553,556,558,561,563,566,568,570,573,575,578],{"class":124,"line":125},[122,554,555],{"class":175},".cv-shell",[122,557,428],{"class":128},[122,559,560],{"class":235},"font-size",[122,562,239],{"class":128},[122,564,565],{"class":235},"9",[122,567,321],{"class":258},[122,569,441],{"class":128},[122,571,572],{"class":235},"line-height",[122,574,239],{"class":128},[122,576,577],{"class":235},"1.34",[122,579,486],{"class":128},[122,581,582,585,588,590,592,595,597],{"class":124,"line":11},[122,583,584],{"class":175},".name",[122,586,587],{"class":128},"     { ",[122,589,560],{"class":235},[122,591,239],{"class":128},[122,593,594],{"class":235},"23",[122,596,321],{"class":258},[122,598,486],{"class":128},[122,600,601,604,607,609,611,614,616],{"class":124,"line":153},[122,602,603],{"class":175},".job-dates",[122,605,606],{"class":128},"{ ",[122,608,560],{"class":235},[122,610,239],{"class":128},[122,612,613],{"class":235},"8.4",[122,615,321],{"class":258},[122,617,486],{"class":128},[29,619,620,622],{},[33,621,541],{}," resolves against the root font size, which is a global you do not control from a page. If anything changes it, your careful layout reflows and you find out when someone prints. Absolute units are immune.",[29,624,625,626,629],{},"Sub-pixel sizes like ",[33,627,628],{},"8.4px"," are fine — print renders at much higher DPI than screen, so fractional sizes resolve cleanly.",[41,631,633],{"id":632},"page-breaks","Page breaks",[29,635,636],{},"Three properties, in order of usefulness:",[103,638,640],{"className":218,"code":639,"language":220,"meta":10,"style":10},".job    { break-inside: avoid; page-break-inside: avoid; }\nh2      { break-after: avoid;  page-break-after: avoid; }\np, li   { orphans: 2; widows: 2; }\n",[33,641,642,669,695],{"__ignoreMap":10},[122,643,644,647,650,653,655,658,660,663,665,667],{"class":124,"line":125},[122,645,646],{"class":175},".job",[122,648,649],{"class":128},"    { ",[122,651,652],{"class":235},"break-inside",[122,654,239],{"class":128},[122,656,657],{"class":235},"avoid",[122,659,441],{"class":128},[122,661,662],{"class":235},"page-break-inside",[122,664,239],{"class":128},[122,666,657],{"class":235},[122,668,486],{"class":128},[122,670,671,673,676,679,681,683,686,689,691,693],{"class":124,"line":11},[122,672,41],{"class":132},[122,674,675],{"class":128},"      { ",[122,677,678],{"class":235},"break-after",[122,680,239],{"class":128},[122,682,657],{"class":235},[122,684,685],{"class":128},";  ",[122,687,688],{"class":235},"page-break-after",[122,690,239],{"class":128},[122,692,657],{"class":235},[122,694,486],{"class":128},[122,696,697,699,701,703,706,709,711,714,716,719,721,723],{"class":124,"line":153},[122,698,29],{"class":132},[122,700,337],{"class":128},[122,702,55],{"class":132},[122,704,705],{"class":128},"   { ",[122,707,708],{"class":235},"orphans",[122,710,239],{"class":128},[122,712,713],{"class":235},"2",[122,715,441],{"class":128},[122,717,718],{"class":235},"widows",[122,720,239],{"class":128},[122,722,713],{"class":235},[122,724,486],{"class":128},[29,726,727,730,731,735],{},[33,728,729],{},"break-inside: avoid"," on the ",[732,733,734],"em",{},"right element"," is the whole game. Put it on a job entry and a job never splits. Put it on the section and you get the pagination disaster above. Scope it to the smallest unit that should stay together.",[29,737,738,741,742,744,745,747],{},[33,739,740],{},"break-after: avoid"," on headings stops a heading stranded at the bottom of a page. ",[33,743,708],{},"\u002F",[33,746,718],{}," prevent single lines separated from their paragraph.",[29,749,750,751,754],{},"Keep the ",[33,752,753],{},"page-break-*"," aliases alongside the modern properties. Support is good but not universal, and they cost nothing.",[41,756,758],{"id":757},"the-dark-theme-traps","The dark-theme traps",[29,760,761],{},"Three that cost me time.",[29,763,764,768,769,772,773,776],{},[765,766,767],"strong",{},"Global heading colours."," The site sets ",[33,770,771],{},"h1 { color: #e8e8e3 }"," — near-white, correct for dark screens. My print page styled ",[33,774,775],{},"h1"," size and weight but not colour, so the global won and the name printed nearly invisible on white. Any global element styling reaches your print page. Set colour explicitly on every heading.",[29,778,779,782],{},[765,780,781],{},"Backgrounds do not print."," Browsers skip background colours by default. A filled sidebar with light text becomes white on white:",[103,784,786],{"className":218,"code":785,"language":220,"meta":10,"style":10},"body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n",[33,787,788],{"__ignoreMap":10},[122,789,790,793,795,798,800,803,805,808,810,812],{"class":124,"line":125},[122,791,792],{"class":132},"body",[122,794,428],{"class":128},[122,796,797],{"class":235},"-webkit-print-color-adjust",[122,799,239],{"class":128},[122,801,802],{"class":235},"exact",[122,804,441],{"class":128},[122,806,807],{"class":235},"print-color-adjust",[122,809,239],{"class":128},[122,811,802],{"class":235},[122,813,486],{"class":128},[29,815,816],{},"This forces them, but the user can still override in the print dialog. Which is why I ended up with a hairline rule instead of a filled sidebar — a border always prints, a background is a request.",[29,818,819,822,823,826],{},[765,820,821],{},"Theme rings and shadows."," ",[33,824,825],{},"ring-4 ring-v3-bg"," puts a dark halo around an element, invisible on a dark background and an obvious grey box on paper. Strip decoration:",[103,828,830],{"className":218,"code":829,"language":220,"meta":10,"style":10},".cv-shell * { box-shadow: none !important; text-shadow: none !important; }\n",[33,831,832],{"__ignoreMap":10},[122,833,834,836,839,841,844,846,849,852,854,857,859,861,863],{"class":124,"line":125},[122,835,555],{"class":175},[122,837,838],{"class":132}," *",[122,840,428],{"class":128},[122,842,843],{"class":235},"box-shadow",[122,845,239],{"class":128},[122,847,848],{"class":235},"none",[122,850,851],{"class":258}," !important",[122,853,441],{"class":128},[122,855,856],{"class":235},"text-shadow",[122,858,239],{"class":128},[122,860,848],{"class":235},[122,862,851],{"class":258},[122,864,486],{"class":128},[41,866,868],{"id":867},"guaranteeing-one-page","Guaranteeing one page",[29,870,871],{},"If it must be one page:",[103,873,875],{"className":218,"code":874,"language":220,"meta":10,"style":10},"@media print {\n .page { height: 296mm; overflow: hidden; }\n}\n",[33,876,877,887,916],{"__ignoreMap":10},[122,878,879,882,885],{"class":124,"line":125},[122,880,881],{"class":258},"@media",[122,883,884],{"class":235}," print",[122,886,230],{"class":128},[122,888,889,892,894,897,899,902,904,906,909,911,914],{"class":124,"line":11},[122,890,891],{"class":175}," .page",[122,893,428],{"class":128},[122,895,896],{"class":235},"height",[122,898,239],{"class":128},[122,900,901],{"class":235},"296",[122,903,259],{"class":258},[122,905,441],{"class":128},[122,907,908],{"class":235},"overflow",[122,910,239],{"class":128},[122,912,913],{"class":235},"hidden",[122,915,486],{"class":128},[122,917,918],{"class":124,"line":153},[122,919,357],{"class":128},[29,921,922],{},"296 rather than 297 guards against sub-pixel rounding pushing a blank second page.",[29,924,925,926,929],{},"Be clear about the trade: this ",[732,927,928],{},"clips",", it does not shrink. Content past the limit silently disappears. I keep the screen version unclipped so overflow is visible while editing — the white sheet is the ruler.",[41,931,933],{"id":932},"should-you-do-this","Should you do this?",[29,935,936],{},"If a PDF is a real deliverable — a CV, an invoice, a report, a quote — yes. A dedicated page is less work than maintaining print overrides on a screen layout, and the result is better.",[29,938,939],{},"If you just want Ctrl+P to produce something acceptable, a modest print stylesheet on the screen page is fine. Hide navigation, force light colours, set sensible page breaks, stop.",[29,941,942,943,945],{},"The mistake is the middle: trying to make one page excellent at both. That is where the ",[33,944,89],{}," chains live.",[947,948],"hr",{},[29,950,951],{},[732,952,953],{},"Next, and last: loops, background jobs and scheduled agents — automating the work that runs while you are not watching.",[955,956,957],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":10,"searchDepth":11,"depth":11,"links":959},[960,961,962,963,964,965,966,967,968],{"id":43,"depth":11,"text":44},{"id":100,"depth":11,"text":101},{"id":211,"depth":11,"text":212},{"id":369,"depth":11,"text":370},{"id":534,"depth":11,"text":535},{"id":632,"depth":11,"text":633},{"id":757,"depth":11,"text":758},{"id":867,"depth":11,"text":868},{"id":932,"depth":11,"text":933},"In practice","2026-08-08","Bolting print styles onto a screen page produces bad PDFs. Building a separate A4 page produces good ones. The techniques, and the traps a dark theme sets for you.",{},"\u002Ftips\u002Fnuxt\u002Fprint-perfect-pdf-pages-in-nuxt",{"title":25,"description":975},"How to build a dedicated A4 print page in Nuxt instead of fighting print stylesheets, including page-break control and dark-theme pitfalls.","tips\u002Fnuxt\u002Fprint-perfect-pdf-pages-in-nuxt",[978,220,979,980],"nuxt","print stylesheets","web development","8vohk_ZueVT6aAK1EOCa2wBM0h6TftbA2PaNVxhQ0h8",1790722070347]