.list__list-item--last-child {} chrome --force-fieldtrials=ResourcePriorities/Everything_11111_1_1_10 JS / CSS > Style > Composite JS / CSS > Style > Layout > Paint > Composite JS / CSS > Style > Paint > Composite rs=AA2YrTu-siM1wvYCyA6mtW_mTQ_Y6UdyuA:1 BROTLI_CLI_C = \ c/tools/brotli.c BROTLI_COMMON_C = \ c/common/dictionary.c BROTLI_COMMON_H = \ c/common/constants.h \ c/common/dictionary.h \ c/common/version.h BROTLI_DEC_C = \ c/dec/bit_reader.c \ c/dec/decode.c \ c/dec/huffman.c \ c/dec/state.c BROTLI_DEC_H = \ c/dec/bit_reader.h \ c/dec/context.h \ c/dec/huffman.h \ c/dec/port.h \ c/dec/prefix.h \ c/dec/state.h \ c/dec/transform.h BROTLI_ENC_C = \ c/enc/backward_references.c \ c/enc/backward_references_hq.c \ c/enc/bit_cost.c \ c/enc/block_splitter.c \ c/enc/brotli_bit_stream.c \ c/enc/cluster.c \ c/enc/compress_fragment.c \ c/enc/compress_fragment_two_pass.c \ c/enc/dictionary_hash.c \ c/enc/encode.c \ c/enc/entropy_encode.c \ c/enc/histogram.c \ c/enc/literal_cost.c \ c/enc/memory.c \ c/enc/metablock.c \ c/enc/static_dict.c \ c/enc/utf8_util.c BROTLI_ENC_H = \ c/enc/backward_references.h \ c/enc/backward_references_hq.h \ c/enc/backward_references_inc.h \ c/enc/bit_cost.h \ c/enc/bit_cost_inc.h \ c/enc/block_encoder_inc.h \ c/enc/block_splitter.h \ c/enc/block_splitter_inc.h \ c/enc/brotli_bit_stream.h \ c/enc/cluster.h \ c/enc/cluster_inc.h \ c/enc/command.h \ c/enc/compress_fragment.h \ c/enc/compress_fragment_two_pass.h \ c/enc/context.h \ c/enc/dictionary_hash.h \ c/enc/entropy_encode.h \ c/enc/entropy_encode_static.h \ c/enc/fast_log.h \ c/enc/find_match_length.h \ c/enc/hash_forgetful_chain_inc.h \ c/enc/hash.h \ c/enc/hash_longest_match64_inc.h \ c/enc/hash_longest_match_inc.h \ c/enc/hash_longest_match_quickly_inc.h \ c/enc/hash_to_binary_tree_inc.h \ c/enc/histogram.h \ c/enc/histogram_inc.h \ c/enc/literal_cost.h \ c/enc/memory.h \ c/enc/metablock.h \ c/enc/metablock_inc.h \ c/enc/port.h \ c/enc/prefix.h \ c/enc/quality.h \ c/enc/ringbuffer.h \ c/enc/static_dict.h \ c/enc/static_dict_lut.h \ c/enc/utf8_util.h \ c/enc/write_bits.h BROTLI_INCLUDE = \ c/include/brotli/decode.h \ c/include/brotli/encode.h \ c/include/brotli/port.h \ c/include/brotli/types.h function wait(ms) { return new Promise(r => setTimeout(r, ms)).then(() => "Yay"); } // do some work in background. setInterval(() => 42, 200); async function test() { debugger; const hello = "world"; const response = await fetch('index.html'); const tmp = await wait(1000); console.log(tmp); return hello; } async function runTest() { let result = await test(); console.log(result); } if (this.state.sortBy === "model") { json = simpleSort(json, "model", this.state.sortOrder); } else if (this.state.sortBy === "type") { json = simpleSort(json, "type", this.state.sortOrder); } else { json = simpleSort(json, "manufacturer", this.state.sortOrder); } self.addEventListener('install', function(event) { // Perform install steps }); var CACHE_NAME = 'my-site-cache-v1'; var urlsToCache = [ '/', '/styles/main.css', '/script/main.js' ]; self.addEventListener('install', function(event) { // Perform install steps event.waitUntil( caches.open(CACHE_NAME) .then(function(cache) { console.log('Opened cache'); return cache.addAll(urlsToCache); }) ); }); self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request) .then(function(response) { // Cache hit - return response if (response) { return response; } return fetch(event.request); } ) ); }); self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request) .then(function(response) { // Cache hit - return response if (response) { return response; } // IMPORTANT: Clone the request. A request is a stream and // can only be consumed once. Since we are consuming this // once by cache and once by the browser for fetch, we need // to clone the response. var fetchRequest = event.request.clone(); return fetch(fetchRequest).then( function(response) { // Check if we received a valid response if(!response || response.status !== 200 || response.type !== 'basic') { return response; } // IMPORTANT: Clone the response. A response is a stream // and because we want the browser to consume the response // as well as the cache consuming the response, we need // to clone it so we have two streams. var responseToCache = response.clone(); caches.open(CACHE_NAME) .then(function(cache) { cache.put(event.request, responseToCache); }); return response; } ); }) self.addEventListener('activate', function(event) { var cacheWhitelist = ['pages-cache-v1', 'blog-posts-cache-v1']; event.waitUntil( caches.keys().then(function(cacheNames) { return Promise.all( cacheNames.map(function(cacheName) { if (cacheWhitelist.indexOf(cacheName) === -1) { return caches.delete(cacheName); } }) ); }) ); }); fetch(url, { credentials: 'include' }) cache.addAll(urlsToPrefetch.map(function(urlToPrefetch) { return new Request(urlToPrefetch, { mode: 'no-cors' }); })).then(function() { console.log('All resources have been fetched and cached.'); }); const plugin = { visitor: { ImportDeclaration(decl) { /* ... */ } } } const {code} = babel.transform(inputCode, {plugins: [plugin]}); async function buildDependencyTree(file) { let code = await readFile(file); code = code.toString('utf-8'); // `dep` will collect all dependencies of `file` let dep = []; const plugin = { visitor: { ImportDeclaration(decl) { const importedFile = decl.node.source.value; // Recursion: Push an array of the dependency’s dependencies onto the list dep.push((async function() { return await buildDependencyTree(`./app/${importedFile}`); })()); // Push the dependency itself onto the list dep.push(importedFile); } } } // Run the plugin babel.transform(code, {plugins: [plugin]}); // Wait for all promises to resolve and then flatten the array return flatten(await Promise.all(dep)); } function findCommonDeps(depTrees) { const depSet = new Set(); // Flatten depTrees.forEach(depTree => { depTree.forEach(dep => depSet.add(dep)); }); // Filter return Array.from(depSet) .filter(dep => depTrees.every(depTree => depTree.includes(dep))); } async function bundle(oldCode) { // `newCode` will be filled with code fragments that eventually form the bundle. let newCode = []; const plugin = { visitor: { ImportDeclaration(decl) { const importedFile = decl.node.source.value; newCode.push((async function() { // Bundle the imported file and add it to the output. return await bundle(await readFile(`./app/${importedFile}`)); })()); // Remove the import declaration from the AST. decl.remove(); } } }; // Save the stringified, transformed AST. This code is the same as `oldCode` // but without any import statements. const {code} = babel.transform(oldCode, {plugins: [plugin]}); newCode.push(code); // `newCode` contains all the bundled dependencies as well as the // import-less version of the code itself. Concatenate to generate the code // for the bundle. return flatten(await Promise.all(newCode)).join('\n'); } async function rewrite(section, sharedBundle) { let oldCode = await readFile(`./app/static/${section}.js`); oldCode = oldCode.toString('utf-8'); const plugin = { visitor: { ImportDeclaration(decl) { const importedFile = decl.node.source.value; // If this import statement imports a file that is in the shared bundle, remove it. if(sharedBundle.includes(importedFile)) decl.remove(); } } }; let {code} = babel.transform(oldCode, {plugins: [plugin]}); // Prepend an import statement for the shared bundle. code = `import '/static/_shared.js';\n${code}`; await writeFile(`./app/static/_${section}.js`, code); } $ gzip -9 fichier.txt bash <(curl -f -L -sS https://ngxpagespeed.com/install) \ --nginx-version latest
  1. shopping
  2. Promotion Ideas
  3. Gifts Ideas
    1. > for /R . %I in (*.jpg) do ( cwebp.exe %I -o %~fnI.webp ) POST /output/2xnsp7jn34e5.jpg HTTP/1.1 Host: api.tinify.com Authorization: Basic bVwGRPj1Q3YxCpbpdjbcRRPMvRVrSgQ6 Content-Type: application/json { "resize": { "method": "fit", "width": 150, "height": 100 } } HTTP/1.1 200 OK Compression-Count: 2 Content-Type: image/jpeg Image-Width: 150 Image-Height: 85 Content-Length: 12594 Billboard-music-awards First-electronic-computer department-store dresses-to-wear-to-a-wedding new-iphone-2019 romantic-women's-lace-dress passionate-clothes-shops fashion-bedroom-furniture-sets take-a-look-at stock-up cheap-home-decor-stores dining-room-sets fall-clothes-for-women chemical-peel cheap-gaming-pc gifts-for-girlfriend mens-watches best-laptops-for-sale best-smartphone wedding-guest-dresses pillow-top-mattress petite-dresses mobile-games dress-code beauty-salon cheap-trips gaming-computer buy-watch cheap-flights Velvet-dress Wrap-dress Makeup-case Skirts-for-men Cooling-system Beach-clothes Curry-shoes Safety-razor Bedroom-sets Iphone-cases Flare-dress Gown Lindex-dresses-uk Sisley-clothing-uk Cocoon-dress-uk Swat-shirt Dream-dress-old-bridge New-clothes-in-dream Dream-of-dressing-up Dream-queen-dresses Love-yours-clothing-uk Sandwich-clothing-uk Oasis-bardot-dress Clothes-in-dream New-look-dress New-look-uk-attire The-new-look-dress New-year-look-shoes​ Ladies-new-look-nails Nye-looks-clothes A-new-look-man Google-new-look-dress Spice-new-look-wear New-look-cosmetics-site New-look-online-outfits New-look-southside-beach New-look-shirley-dress New-look-kingswood-town New-look-kendal-apparel New-look-wilton-hair-shop New-look-tartan-skirt-lady New-look-pink-top-wigs New-look-m-wear New-look-brookfield-place Rochelle-for-new-look-tours New-look-springhill-excursion New-look-going-out-dress Cooper-st-plus-dress Ladies-street-fighter-dress-up All-saints-wool-dress-shop Alpaca-wool-dress-style Long-black-wool-dress-store Nice-black-wool-midi-dress Red-ikart-dress-online Long-frock-and-jacket Coat-dress-2018-off Lilac-trouser-suit-brand Mens-panjabi-dress-pant Lacha-salwar-dress-up Movie-date-outfit-line Men-casual-date-outfit Best-brunch-date-outfit Cute-casual-date-outfits Cute-movie-date-outfits-cheap First-date-outfit-summer-2020 Casual-first-date-outfit-for-her Top-casual-date-outfit-on-beaches Free-hip-dip-outfits Girls-tea-dress-size-22 Neat-casual-dress Mom-neat-casual-dress Young-sexy-dress-shop Home-sexi-hot-dress Sm-woman-dress-off Lady-vintage-london-dresses Top-bellalady-dress New-holi-dress-ideas-2020 Pubg-special-phone-site April-phone-deals-list Mobile-hot-deals-brands Sexy-maroon-tuxedo-suit Men's-dinner-suit-shirt Skin-sun-safe Muji-toner-moisture-cream Sensitive-chest-skin